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: 30 kwietnia 2026 22:59
  • Data zakończenia: 30 kwietnia 2026 22:59

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Jaką klauzulę należy użyć w instrukcji CREATE TABLE w SQL, żeby pole rekordu nie mogło być puste?

A. CHECK
B. NOT NULL
C. NULL
D. DEFAULT

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klauzula NOT NULL w poleceniu CREATE TABLE języka SQL służy do zapewnienia, że dane w danym polu rekordu nie mogą być puste. To oznacza, że podczas wstawiania nowych rekordów do tabeli, każde pole, które zostało zdefiniowane z tą klauzulą, musi zawierać wartość. Na przykład, jeśli mamy tabelę pracowników, w której kolumna 'nazwisko' jest zdefiniowana jako NOT NULL, to każde dodanie nowego pracownika do tej tabeli musi zawierać wartość w kolumnie 'nazwisko'. W praktyce jest to bardzo ważne, ponieważ pozwala na utrzymanie integralności danych i zapobiega sytuacjom, w których kluczowe informacje mogłyby zostać pominięte. Użycie NOT NULL jest zgodne z dobrymi praktykami projektowania baz danych, które podkreślają znaczenie pełnych i kompletnych danych. Zastosowanie tej klauzuli zwiększa jakość danych oraz ułatwia późniejsze operacje na tabeli, takie jak zapytania czy raporty.

Pytanie 2

Jakie znaczniki <header>, <article>, <section>, <footer> są typowe dla języka

A. style="margin-bottom: 0cm;">XHTML 1.1
B. style="margin-bottom: 0cm;">HTML 5
C. style="margin-bottom: 0cm;">HTML 4.01 Strict
D. HTML 4.01 Transitional

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Znaczniki <header>, <article>, <section> oraz <footer> są częścią standardu HTML5, który wprowadza nowe semantyczne elementy, mające na celu poprawę struktury dokumentów HTML. Element <header> używany jest do definiowania nagłówków sekcji lub całej strony, co ułatwia nawigację i zrozumienie układu treści. <article> natomiast służy do oznaczania samodzielnych jednostek treści, które mogą być niezależnie dystrybuowane lub zrozumiane. <section> dzieli dokument na tematyczne sekcje, a <footer> zazwyczaj zawiera informacje o autorze, prawach autorskich czy linki do powiązanych materiałów. Stosowanie tych elementów zgodnie z ich przeznaczeniem sprzyja lepszej dostępności oraz optymalizacji SEO, ponieważ wyszukiwarki mogą lepiej interpretować strukturę strony. Przykładem zastosowania może być blog, w którym każdy post jest oznaczony jako <article>, co pozwala systemom wyszukiwania na łatwiejsze indeksowanie poszczególnych wpisów. Warto pamiętać, że HTML5 wspiera także inne aspekty nowoczesnego web designu, takie jak media, formularze i API, co czyni go standardem przyszłości.

Pytanie 3

Przygotowano fragment kodu PHP z zadeklarowaną zmienną tablicową. Jaki wynik zostanie wyświetlony jako imię po wykonaniu tego kodu?

$imiona = array('Anna', 'Tomasz', 'Krzysztof', 'Aleksandra');
echo $imiona[2];
A. Anna
B. Tomasz
C. Aleksandra
D. Krzysztof

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź Krzysztofa jest całkiem trafna, bo w PHP zaczynamy liczenie od zera. Czyli mamy pierwszy element na pozycji 0, drugi na 1, a trzeci na 2. W tym przypadku zmienna imiona to tablica z czterema elementami: 'Anna', 'Tomasz', 'Krzysztof' oraz 'Aleksandra'. Gdy używamy echo $imiona[2], to tak naprawdę sięgamy po trzeci element, czyli 'Krzysztofa'. Zasada indeksowania od zera jest właściwie standardem w wielu językach programowania, jak C, JavaScript czy Python. Dzięki temu PHP staje się bardziej spójne z innymi językami. To pozwala lepiej zarządzać danymi w kodzie, bo każdy element ma swój unikalny indeks. Ważne jest, żeby to zapamiętać, bo dzięki temu można unikać błędów, które wynikają z niewłaściwego dostępu do elementów tablic. No i lepiej wiedzieć, że wykraczający indeks może prowadzić do różnych problemów, więc warto zrozumieć to zagadnienie.

Pytanie 4

W aplikacjach webowych tablice asocjacyjne to struktury, w których

A. w każdej komórce tablicy znajduje się inna tablica
B. posiadają co najmniej dwa wymiary
C. elementy tablicy zawsze są indeksowane od 0
D. indeks ma postać łańcucha znakowego

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Tablice asocjacyjne, znane również jako słowniki lub mapy, to struktury danych, które umożliwiają przechowywanie par klucz-wartość. Kluczami w tych tablicach mogą być łańcuchy tekstowe, co umożliwia łatwy i szybki dostęp do wartości, które są powiązane z danym kluczem. W przeciwieństwie do typowych tablic, gdzie elementy są indeksowane za pomocą liczb całkowitych, tablice asocjacyjne pozwalają na bardziej złożoną organizację danych, co czyni je szczególnie przydatnymi w aplikacjach internetowych. Przykładem zastosowania tablic asocjacyjnych jest przechowywanie danych użytkowników, gdzie unikalnym identyfikatorem (np. identyfikatorem użytkownika) może być łańcuch tekstowy, a wartością – zestaw informacji o użytkowniku, takich jak imię, nazwisko, adres e-mail itp. W językach programowania takich jak JavaScript, Python, czy PHP, tablice asocjacyjne są wbudowanymi strukturami danych, co sprawia, że ich implementacja i użycie są bardzo proste i intuicyjne. Odniesienie do standardów, takich jak ECMAScript dla JavaScript, potwierdza uniwersalność i znaczenie tablic asocjacyjnych w nowoczesnym programowaniu.

Pytanie 5

Wskaź na właściwą sekwencję tworzenia aplikacji?

A. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, testowanie, wdrażanie
B. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, wdrażanie, testowanie
C. Specyfikacja wymagań, analiza potrzeb klienta, tworzenie, wdrażanie, testowanie
D. Tworzenie, analiza potrzeb klienta, specyfikacja wymagań, wdrażanie, testowanie

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa kolejność tworzenia aplikacji zaczyna się od analizy wymagań klienta, co jest kluczowym etapem, pozwalającym zrozumieć oczekiwania oraz potrzeby użytkowników. Następnie, na podstawie zebranych informacji, sporządzana jest specyfikacja wymagań, która dokładnie opisuje, jakie funkcjonalności i cechy powinna posiadać aplikacja. To dokument, który stanowi fundament dla dalszych prac programistycznych. W kolejnej fazie następuje etap tworzenia, w którym programiści przekształcają specyfikację w kod, implementując wszystkie wymagane funkcje. Po zakończeniu kodowania, aplikacja przechodzi testy, które mają na celu wykrycie błędów oraz weryfikację zgodności z wymaganiami. W końcowej fazie, po przeprowadzeniu testów i eliminacji ewentualnych problemów, aplikacja jest wdrażana, co oznacza jej udostępnienie użytkownikom. Cały proces powinien być zgodny z najlepszymi praktykami oraz standardami, takimi jak Agile czy Scrum, które kładą duży nacisk na iteracyjny rozwój oraz stałą komunikację z klientem, co zwiększa szansę na sukces projektu.

Pytanie 6

Tabele Osoby i Adresy są połączone relacją jeden do wielu. Jakie zapytanie SQL należy zapisać, aby korzystając z tej relacji, prawidłowo wyświetlić nazwiska oraz przyporządkowane im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id = Adresy.id;
B. SELECT nazwisko, Miasto FROM Osoby, Adresy;
C. SELECT nazwisko, Miasto FROM Osoby.Adresy_id = Adresy.id FROM Osoby, Adresy;
D. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id = Adresy.id;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź opiera się na instrukcji SELECT z użyciem JOIN, co jest bardzo ważne przy pracy z relacyjnymi bazami danych. W tym przypadku, zapytanie SELECT jest używane do wyboru dwóch kolumn - 'nazwisko' i 'Miasto' - z połączonych tabel 'Osoby' i 'Adresy'. Wykorzystuje się tutaj złączenie (JOIN), które jest kluczowym konceptem w SQL umożliwiającym łączenie danych z różnych tabel w jednym zapytaniu. Odpowiednia składnia JOIN wymaga określenia dwóch tabel do połączenia oraz warunku łączenia, który w tym przypadku jest 'Osoby.Adresy_id = Adresy.id'. Ten warunek oznacza, że rekordy z obu tabel będą połączone, gdy wartość kolumny 'Adresy_id' w tabeli 'Osoby' będzie równa wartości kolumny 'id' w tabeli 'Adresy'. Jest to typowe użycie klucza obcego ('Adresy_id') do odwołania się do klucza głównego w innej tabeli ('id' w tabeli 'Adresy'). To jest dobry przykład pokazujący, jak praktycznie wykorzystuje się relacje pomiędzy tabelami w SQL.

Pytanie 7

Typowym programem przeznaczonym do edycji grafiki wektorowej jest

A. Inkscape.
B. Brasero.
C. Paint.
D. Audacity.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie wskazany program to Inkscape, bo jest to typowy, specjalistyczny edytor grafiki wektorowej. Grafika wektorowa opiera się na obiektach takich jak linie, krzywe Béziera, wielokąty, tekst, które są opisane matematycznie (współrzędne, promienie, kąty), a nie na siatce pikseli. Dzięki temu projekty można skalować praktycznie dowolnie bez utraty jakości, co jest absolutnym standardem przy projektowaniu logotypów, ikon, infografik, schematów technicznych czy elementów interfejsu użytkownika. Inkscape obsługuje format SVG, który jest otwartym standardem W3C i jest powszechnie stosowany w projektach webowych, także w responsywnych interfejsach. W praktyce, używając Inkscape, można tworzyć np. logo firmy, które później bez problemu osadzisz na stronie WWW, w materiałach do druku, na banerach, a nawet w aplikacji mobilnej, bez martwienia się o rozmazanie czy pikselizację. Program oferuje warstwy, style, grupowanie obiektów, precyzyjne wyrównywanie, siatki i prowadnice, co jest zgodne z dobrymi praktykami pracy z grafiką: porządek w projekcie, praca na oddzielnych warstwach, używanie krzywych zamiast „ręcznego” rysowania byle jakich kształtów. Moim zdaniem, znajomość Inkscape albo innego edytora wektorowego (np. Adobe Illustrator, CorelDRAW) to dzisiaj podstawowa umiejętność dla kogoś, kto myśli poważnie o grafice komputerowej czy front-endzie. Wiele firm wręcz wymaga, żeby materiały były dostarczane właśnie w formacie wektorowym, bo wtedy łatwiej je modyfikować, dopasowywać kolorystykę do brandingu i eksportować do różnych formatów (PNG, PDF, EPS) w zależności od potrzeb. Inkscape pozwala też na pracę z krzywymi, maskami, gradientami czy efektami filtrów, co daje bardzo duże możliwości przy zachowaniu zalet wektorów.

Pytanie 8

Jak przy użyciu języka PHP można zapisać w ciasteczku wartość z zmiennej dane na okres jednego dnia?

A. setcookie("dane",$dane,time()+(3600*24))
B. setcookie("dane","dane",0)
C. setcookie("dane",$dane,0)
D. setcookie("dane",$dane,time())

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź setcookie("dane", $dane, time() + (3600 * 24)); jest prawidłowa, ponieważ wykorzystuje funkcję setcookie, która pozwala na ustawienie ciasteczka w PHP. W pierwszym argumencie podajemy nazwę ciasteczka, w drugim jego wartość, a w trzecim czasie wygaśnięcia, który jest określony jako aktualny czas (time()) plus 24 godziny w sekundach (3600 sekund w godzinie razy 24). Takie podejście zapewnia, że ciasteczko będzie dostępne przez jeden dzień, co jest zgodne z dobrymi praktykami w zakresie zarządzania stanem użytkownika. Ciasteczka są powszechnie stosowane w aplikacjach webowych do przechowywania danych użytkownika pomiędzy sesjami, co zwiększa komfort korzystania z serwisów. Przykładem może być zapisanie preferencji użytkownika lub informacji o sesji. Warto pamiętać, że przed użyciem setcookie nie może być wysłany żaden HTML, więc ta funkcja powinna być wywoływana przed jakimkolwiek innym kodem, który generuje wyjście.

Pytanie 9

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 producent WHERE typ="RAM" OR producent="Kingston" ORDER BY podzespoly ASC
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 podzespoly WHERE typ="RAM" OR producent="Kingston" ORDER BY cena DESC

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybór tej odpowiedzi jest prawidłowy, ponieważ kwerenda wykorzystuje poprawną składnię SQL do wyboru modeli pamięci RAM od producenta Kingston. Klauzula WHERE filtruje rekordy, aby uwzględnić tylko te, które mają typ 'RAM' oraz producenta 'Kingston', co jest kluczowe dla uzyskania właściwych wyników. Użycie operatora AND w tym kontekście zapewnia, że obie te cechy muszą być spełnione, co jest zgodne z zamiarem wyświetlenia wszystkich modeli pamięci RAM tego producenta. Dodatkowo, klauzula ORDER BY cena ASC sortuje wyniki w kolejności rosnącej według ceny, co jest wymagane do poprawnego przedstawienia danych od najtańszej do najdroższej pamięci. Takie podejście jest zgodne z dobrymi praktykami SQL, gdzie precyzyjne filtrowanie danych i porządkowanie wyników są kluczowe dla efektywności i dokładności zapytań. W praktyce, takie kwerendy mogą być używane w aplikacjach do zarządzania produktami czy bazach danych e-commerce, aby pomóc użytkownikom w szybkim odnajdywaniu pożądanych produktów w oparciu o konkretne kryteria.

Pytanie 10

Zamieszczony kod w języku PHP

Ilustracja do pytania
A. jest niepoprawny, nieznany operator =>
B. określa tablicę z sześcioma wartościami
C. definiuje tablicę z trzema wartościami
D. jest błędny, indeksami tablicy mogą być wyłącznie liczby całkowite

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kod przedstawiony w pytaniu to przykład definiowania tablicy asocjacyjnej w języku PHP. Tablica asocjacyjna to struktura danych, która pozwala na przechowywanie wartości związanych z kluczami, które nie muszą być liczbami. W tym przypadku kluczami są łańcuchy znaków: 'imie', 'nazwisko' oraz 'wiek'. Każdy klucz ma przypisaną wartość: 'Anna', 'Nowak' oraz 21. Zatem tablica ta rzeczywiście zawiera trzy pary klucz-wartość. Operator '=>' jest używany w PHP do przypisywania wartości kluczom w tablicach asocjacyjnych. Jest to poprawna składnia i bardzo popularny sposób reprezentowania danych, zwłaszcza w kontekście baz danych i przetwarzania formularzy, gdzie każda wartość ma swoje unikalne znaczenie i klucz. W praktyce tablice asocjacyjne są używane do przechowywania danych, które nie mają charakteru sekwencyjnego, ale są raczej zestawem właściwości lub atrybutów obiektu. Stosowanie tablic asocjacyjnych z odpowiednimi kluczami wspiera czytelność kodu i ułatwia jego zarządzanie zwłaszcza w większych projektach gdzie zrozumienie struktury danych odgrywa kluczową rolę.

Pytanie 11

Użycie standardu ISO-8859-2 ma na celu zapewnienie prawidłowego wyświetlania

A. polskich znaków, takich jak: ś, ć, ń, ó, ą
B. symboli matematycznych
C. specjalnych znaków przeznaczonych dla języka kodu strony
D. znaków zarezerwowanych dla języka opisu strony

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kodowanie w standardzie ISO-8859-2 jest kluczowe dla poprawnego wyświetlania liter charakterystycznych dla języków używających alfabetu łacińskiego, w tym polskiego. Standard ten obejmuje szereg znaków, które nie są dostępne w standardzie ASCII, umożliwiając wyświetlanie polskich liter, takich jak: ś, ć, ń, ó, ą. Użycie ISO-8859-2 w aplikacjach, na stronach internetowych oraz w bazach danych pozwala na zachowanie poprawności tekstów w języku polskim. Na przykład, jeśli strona internetowa nie korzysta z odpowiedniego kodowania, polskie litery mogą być wyświetlane jako błędne znaki, co negatywnie wpływa na czytelność i zrozumiałość treści. Dobrą praktyką jest stosowanie UTF-8 jako bardziej uniwersalnego rozwiązania, które obsługuje większą liczbę znaków z różnych języków, ale ISO-8859-2 wciąż pełni istotną rolę w wielu istniejących systemach. Warto również zaznaczyć, że poprawne kodowanie powinno być zawsze określone w nagłówku HTML lub w ustawieniach bazy danych, aby zapewnić odpowiednią interpretację zawartości przez przeglądarki oraz aplikacje.

Pytanie 12

Jakie z wyrażeń 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)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wyrażenie (zm1 > 6) && (zm1 <= 203) jest poprawne, ponieważ warunek ten precyzyjnie sprawdza, czy zmienna zm1 znajduje się w przedziale otwartym (6, 203]. Oznacza to, że zm1 musi być większe od 6 i jednocześnie mniejsze lub równe 203. Taki zapis jest zgodny z typowym podejściem używanym w programowaniu, gdzie ważna jest precyzyjna kontrola wartości zmiennych. W praktyce, takie wyrażenie może być zastosowane w sytuacjach, gdzie potrzebujemy przefiltrować dane, na przykład przy walidacji danych wejściowych w formularzach lub przy definiowaniu zakresu wartości w algorytmach operujących na liczbach. Używanie operatorów logicznych w ten sposób jest zgodne z najlepszymi praktykami programowania, gdzie ważne jest nie tylko uzyskanie oczekiwanego wyniku, ale również czytelność i zrozumiałość kodu. Przykładowo, jeżeli mamy do czynienia z systemem zarządzania użytkownikami, można sprawdzać wiek użytkownika, aby upewnić się, że spełnia określone wymagania wiekowe, jednocześnie unikając sytuacji, w których użytkownicy mogą być nieuprawnieni do korzystania z systemu.

Pytanie 13

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

Brak odpowiedzi na to pytanie.

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

W CSS, aby stylizować tekst przy użyciu przekreślenia, podkreślenia dolnego lub górnego, należy użyć atrybutu

A. text-decoration
B. text-indent
C. text-align
D. text-transform

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Atrybut text-decoration w CSS jest kluczowy do formatowania tekstu, umożliwiając zastosowanie efektów takich jak przekreślenie, podkreślenie dolne oraz górne. Można go użyć w prosty sposób, na przykład: 'text-decoration: underline;' dodaje podkreślenie do tekstu, natomiast 'text-decoration: line-through;' umożliwia przekreślenie. Dzięki tym efektom, projektanci stron mogą skutecznie komunikować różne stany tekstu, takie jak usunięte lub nieaktualne informacje. Standardy CSS, określone przez W3C, zalecają użycie text-decoration w kontekście dostępności, co poprawia czytelność i umożliwia lepsze zrozumienie treści przez użytkowników. Warto pamiętać, że text-decoration posiada również wartość 'none', co pozwala na usunięcie wszelkich dekoracji z tekstu. Dzięki temu deweloperzy mogą z łatwością dostosować wygląd tekstu zgodnie z wymaganiami projektu, co stanowi dobrą praktykę w responsywnym web designie.

Pytanie 15

Jakie mechanizmy przydzielania zabezpieczeń, umożliwiające wykonywanie działań na bazie danych, są związane z tematyką zarządzania kontami, użytkownikami oraz ich uprawnieniami?

A. Z zasadami
B. Z właściwościami
C. Z przywilejami obiektowymi
D. Z przywilejami systemowymi

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zarządzanie kontami, użytkownikami i uprawnieniami w kontekście baz danych opiera się na przywilejach systemowych, które umożliwiają kontrolowanie dostępu do zasobów i operacji w systemie bazodanowym. Przywileje systemowe są definiowane jako zestaw uprawnień przypisanych do użytkowników lub ról, które decydują o tym, jakie operacje mogą być wykonywane na poziomie systemu, takie jak tworzenie, modyfikowanie i usuwanie baz danych oraz zarządzanie danymi. Przykłady przywilejów systemowych obejmują 'CREATE USER', 'DROP USER' czy 'GRANT ALL PRIVILEGES', które pozwalają na pełne zarządzanie użytkownikami oraz ich uprawnieniami. Standardy takie jak SQL92 czy ISO/IEC 9075 określają zasady dotyczące definiowania i stosowania przywilejów w systemach zarządzania bazami danych, co sprawia, że są one kluczowe dla zapewnienia bezpieczeństwa oraz integralności danych. Właściwe zarządzanie tymi przywilejami jest niezbędne do minimalizacji ryzyka nieautoryzowanego dostępu oraz do ochrony wrażliwych informacji przed potencjalnymi zagrożeniami.

Pytanie 16

Zaproponowana baza danych składa się z trzech tabel oraz dwóch relacji. Żeby uzyskać listę wszystkich lekarzy przypisanych do danego pacjenta, konieczne jest porównanie kluczy

Ilustracja do pytania
A. Lekarze.id = Pacjenci.Recepty_id
B. Lekarze.id = Pacjenci.id
C. Lekarze.id = Pacjenci.Lekarze_id
D. Lekarze.id = Recepty.id

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź polega na właściwym zrozumieniu relacji między tabelami Lekarze a Pacjenci w bazie danych. Aby wyświetlić wszystkich lekarzy przypisanych do konkretnego pacjenta konieczne jest użycie klucza obcego Lekarze_id w tabeli Pacjenci. Relacja ta jest kluczowa gdyż każda wizyta pacjenta jest przypisana konkretnemu lekarzowi dzięki temu kluczowi. W praktycznych zastosowaniach relacje takie są niezbędne do efektywnego zarządzania danymi w systemach zdrowotnych umożliwiając szybkie uzyskanie informacji o lekarzach opiekujących się pacjentem. Standardy baz danych zakładają użycie kluczy obcych w celu utrzymania integralności danych. Jest to zgodne z zasadą normalizacji polegającą na eliminacji redundancji i zapewnieniu spójności danych. W kontekście projektowania baz danych dobre praktyki wymagają jasno zdefiniowanych relacji co pozwala na łatwiejsze skalowanie i zarządzanie systemem. Zrozumienie i poprawne zastosowanie tej wiedzy umożliwia tworzenie wydajnych i elastycznych struktur danych.

Pytanie 17

Który program komputerowy zamienia kod źródłowy, stworzony w danym języku programowania, na język zrozumiały dla komputera?

A. Środowisko programistyczne
B. Debugger
C. Kompilator
D. Edytor kodu źródłowego

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kompilator to program komputerowy, który przekształca kod źródłowy, napisany w konkretnym języku programowania, na język maszynowy, czyli zrozumiały dla procesora komputera. Proces ten polega na analizie kodu źródłowego, optymalizacji go oraz generowaniu odpowiedniego kodu maszynowego, który może być bezpośrednio wykonany przez komputer. Kompilatory są kluczowymi narzędziami w tworzeniu oprogramowania, ponieważ umożliwiają programistom pisanie kodu w bardziej zrozumiałych i wysokopoziomowych językach, takich jak C++, Java czy Python, które zostają następnie przekształcone w wydajny kod maszynowy. Przykłady popularnych kompilatorów to GCC dla języka C/C++, javac dla Javy oraz Clang, który jest nowoczesnym kompilatorem dla C, C++ i Objective-C. Warto również wspomnieć o standardach, takich jak ANSI C, które definiują zasady pisania kodu w języku C, a kompilatory implementują te zasady, aby zapewnić zgodność i przenośność kodu między różnymi systemami operacyjnymi i platformami sprzętowymi. Kompilatory mogą również oferować dodatkowe funkcje, takie jak analiza statyczna kodu czy generowanie dokumentacji, co czyni je nieocenionym narzędziem w każdym nowoczesnym środowisku programistycznym.

Pytanie 18

Domyślny użytkownik, który posiada pełne uprawnienia do zarządzania bazą danych w systemie MySQL, to

A. mysqld
B. admin
C. root
D. sysadmin

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to „root”, ponieważ w domyślnej instalacji MySQL to właśnie użytkownik root ma pełne, administracyjne uprawnienia do całego serwera baz danych. Jest to odpowiednik konta administratora systemu operacyjnego, ale w kontekście samego MySQL. Użytkownik root może tworzyć i usuwać bazy danych, zakładać nowych użytkowników, nadawać i odbierać im uprawnienia, wykonywać kopie zapasowe, przywracać dane, a także zmieniać konfigurację na poziomie serwera SQL. Z mojego doświadczenia wynika, że w środowiskach produkcyjnych raczej unika się codziennej pracy na koncie root, mimo że technicznie jest to możliwe. Zgodnie z dobrymi praktykami bezpieczeństwa tworzy się osobne konta z ograniczonymi uprawnieniami, np. użytkownika, który ma dostęp tylko do jednej konkretnej bazy i tylko do odczytu albo do odczytu i zapisu. Konto root zostawia się wyłącznie do zadań administracyjnych, takich jak migracje, zmiana schematu bazy, naprawa tabel czy zarządzanie użytkownikami. W praktyce, podczas pierwszej instalacji MySQL albo MariaDB, instalator prosi o ustawienie hasła dla użytkownika root – i to hasło powinno być mocne, unikalne i dobrze zabezpieczone. W środowiskach serwerowych często dodatkowo ogranicza się możliwość logowania rootem z zewnątrz, np. tylko z localhost, aby utrudnić ewentualne ataki z sieci. Warto też pamiętać, że w MySQL użytkownik identyfikowany jest nie tylko nazwą, ale też hostem, więc „root@localhost” to inny użytkownik niż „root@%”. W pracy zawodowej spotyka się też sytuację, że root ma wyłączone logowanie hasłem i używa się uwierzytelniania systemowego lub pluginów, ale to już bardziej zaawansowane scenariusze. Kluczowe jest to, że root jest kontem nadrzędnym, z pełnią praw, i trzeba z nim obchodzić się ostrożnie, bo jedno nieuważne polecenie może usunąć całą bazę produkcyjną.

Pytanie 19

Jakie oprogramowanie do zarządzania treścią umożliwia proste tworzenie oraz aktualizację witryny internetowej?

A. CSS
B. SQL
C. PHP
D. CMS

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Systemy zarządzania treścią, znane jako CMS (Content Management System), są narzędziami stworzonymi specjalnie do łatwego tworzenia, edycji oraz zarządzania treściami na stronach internetowych. Dzięki CMS użytkownicy, nawet ci bez zaawansowanej wiedzy technicznej, mogą z łatwością aktualizować swoje witryny, dodawać nowe artykuły, zdjęcia oraz inne multimedia. Przykładami popularnych systemów CMS są WordPress, Joomla, czy Drupal. Te platformy oferują szeroką gamę wtyczek oraz szablonów, co pozwala na dostosowanie wyglądu i funkcjonalności strony do indywidualnych potrzeb. Standardy branżowe, takie jak WCAG dla dostępności czy SEO dla optymalizacji pod kątem wyszukiwarek, są również wspierane przez wiele systemów CMS, co czyni je idealnym rozwiązaniem dla osób chcących prowadzić profesjonalne serwisy internetowe. Zastosowanie CMS-u znacząco przyspiesza proces tworzenia stron oraz umożliwia ich łatwe dostosowywanie do zmieniających się potrzeb rynku.

Pytanie 20

W HTML-u, aby umieścić animację FLASH (z rozszerzeniem .swf) na stronie www, powinno się wykorzystać znacznik

A. <object>
B. <img>
C. <video>
D. <audio>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
No to wiesz, że znacznik <object> to najlepszy sposób na osadzanie multimediów na stronie, zwłaszcza animacji FLASH (.swf). Działa to tak, że możemy włączyć różne treści zewnętrzne do HTML, co jest super do integracji różnych plików, jak wideo czy dźwięki. Patrz na ten przykład: <object data='animacja.swf' width='600' height='400'> <param name='autoplay' value='true'> <param name='loop' value='true'> </object>. Zauważ, że <object> może mieć różne atrybuty, które pomagają w kontrolowaniu jak to wszystko się wyświetla, jak 'width', 'height' i inne parametry odtwarzania. Jednak, biorąc pod uwagę dzisiejsze standardy, FLASH jest trochę na wylocie przez problemy z bezpieczeństwem i wsparciem przeglądarek. Lepiej więc, zamiast tego, patrzeć w stronę HTML5 i JavaScript do tworzenia animacji. Można używać animacji CSS3 lub różnych bibliotek JS, które dają dużo więcej możliwości i lepsze wsparcie na urządzeniach mobilnych.

Pytanie 21

Jaką cechę wyróżnia format PNG?

A. możliwość reprezentacji grafiki wektorowej
B. kompresję bezstratną
C. niedostępność kanału alfa
D. możliwość obsługi animacji

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Format PNG (Portable Network Graphics) jest znany przede wszystkim z bezstratnej kompresji, co oznacza, że pliki zapisane w tym formacie zachowują pełną jakość oryginalnych obrazów, niezależnie od ich rozmiaru. Bezstratna kompresja w PNG polega na tym, że dane obrazów są redukowane w sposób, który nie prowadzi do utraty jakichkolwiek informacji, co czyni go idealnym wyborem dla grafik wymagających wysokiej jakości, takich jak logo, ilustracje czy zdjęcia z przezroczystością. Przy zapisywaniu obrazu w formacie PNG, algorytm kompresji analizuje dane pikseli i stosuje różne techniki, takie jak kodowanie LZ77 i filtracja, aby zmniejszyć rozmiar pliku bez degradacji jakości. Dzięki temu, użytkownicy mogą swobodnie edytować i ponownie zapisywać obrazy PNG bez obaw o pogorszenie jakości. Format ten obsługuje również kanał alfa, co pozwala na uzyskiwanie przezroczystości w obrazach, co jest niezwykle istotne w projektowaniu graficznym i web designie. PNG stał się standardem w branży, potwierdzonym przez organizację W3C oraz powszechnie używany w Internecie, zwłaszcza w kontekście grafiki na stronach internetowych.

Pytanie 22

W języku PHP do zmiennej a przypisano tekst, w którym słowo Kowalski pojawia się wielokrotnie. Aby jednym poleceniem zamienić wszystkie wystąpienia słowa Kowalski na słowo Nowak, trzeba użyć polecenia

A. $a = str_replace('Kowalski','Nowak',$a);
B. $a = str_replace('Nowak','Kowalski');
C. $a = str_replace('Nowak', 'Kowalski',$a);
D. $a = str_rep('Kowalski','Nowak',$a);

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest prawidłowa, ponieważ funkcja str_replace w PHP jest przeznaczona do zastępowania wszystkich wystąpień określonego ciągu znaków innym ciągiem w danym tekście. W tym przypadku, używając str_replace('Kowalski','Nowak',$a), zmieniamy każde wystąpienie słowa 'Kowalski' na 'Nowak' w zmiennej a. Działa to dla wszystkich instancji, co czyni to podejście bardzo efektywnym w przypadkach, gdy musimy dokonać masowych zmian w tekstach. Jest to dobra praktyka, aby używać str_replace do takich operacji, ponieważ jest to funkcja wbudowana, zoptymalizowana pod kątem wydajności i czytelności kodu. Warto również pamiętać, że pierwszym parametrem jest ciąg, który chcemy zastąpić, drugim jest ciąg, na który go zamieniamy, a trzecim jest tekst, w którym dokonujemy zmiany. Zastosowanie tej funkcji jest powszechne w wielu zastosowaniach, na przykład w systemach CMS, gdzie często zachodzi potrzeba masowej edycji treści.

Pytanie 23

Który kod HTML zapewni identyczny efekt formatowania jak na przedstawionym obrazku?

W tym paragrafie zobaczysz sposoby formatowania tekstu w HTML
A. <p>W tym <b>paragrafie <i>zobaczysz</i> sposoby formatowania</b> tekstu w HTML</p>
B. <p>W tym <i>paragrafie <b>zobaczysz</b> sposoby formatowania</i> tekstu w HTML</p>
C. <p>W tym <i>paragrafie </i><b>zobaczysz</b><i> sposoby formatowania</i> tekstu w HTML</p>
D. <p>W tym <i>paragrafie zobaczysz sposoby formatowania</i> tekstu w HTML</p>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź numer 2 jest poprawna, ponieważ używa odpowiednich znaczników HTML do formatowania tekstu. Znacznik <i> stosowany jest do oznaczania tekstu kursywą, a znacznik <b> do pogrubienia. W tym przypadku tekst 'paragrafie' i 'sposoby formatowania' są otoczone znacznikiem <i>, co zgodnie z HTML oznacza kursywę. Natomiast słowo 'zobaczysz' jest otoczone zarówno <b> jak i <i>, co skutkuje pogrubieniem i kursywą jednocześnie. Taka struktura jest zgodna z konwencją hierarchii znaczników, która mówi, że znaczniki mogą być zagnieżdżane, aby uzyskać różne efekty formatowania. HTML pozwala na takie zagnieżdżanie, co jest częścią elastyczności tego języka w prezentowaniu treści. Dobrą praktyką jest także zapewnienie dostępności, gdzie znaczniki semantyczne mają szczególne znaczenie. Wykorzystanie <b> i <i> zamiast odpowiednio <strong> i <em> jest bardziej stylistyczne niż semantyczne, co ma swoje uzasadnienie w kontekście projektowym, ale w nowoczesnych praktykach powinno się również rozważyć znaczenie semantyczne i używać <strong> i <em> dla lepszego zrozumienia przez czytniki ekranowe.

Pytanie 24

W celu zmiany struktury tabeli w systemie MySQL trzeba wykonać polecenie

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

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'ALTER TABLE' to strzał w dziesiątkę, bo to właśnie to polecenie w MySQL pozwala na zmiany w strukturze tabeli w bazach danych. Gdy używamy 'ALTER TABLE', możemy dodawać nowe kolumny, usuwać te, które już nie są potrzebne, albo zmieniać typ danych w kolumnach. Przykładowo, jeśli chcemy dodać kolumnę 'wiek' do tabeli 'pracownicy', używamy: ALTER TABLE pracownicy ADD COLUMN wiek INT;. A żeby usunąć kolumnę 'adres', wystarczy: ALTER TABLE pracownicy DROP COLUMN adres;. Pamiętaj przy tym, żeby zawsze sprawdzić, czy te zmiany nie będą miały negatywnego wpływu na dane oraz czy mamy odpowiednie uprawnienia. Osobiście uważam, że warto robić kopie zapasowe przed większymi zmianami, bo to może uratować skórę, gdy coś pójdzie nie tak. Dobry sposób na to, by być pewnym siebie w pracy z bazami danych, to dobrze poznać 'ALTER TABLE' i jego możliwości.

Pytanie 25

SELECT AVGcena) FROM usługi; Celem użycia funkcji agregującej AVG w tym zapytaniu jest

A. zliczyć ilość dostępnych usług w tabeli
B. zsumować wartości kosztów wszystkich usług
C. określić najwyższą cenę usług
D. wyliczyć średnią arytmetyczną cen wszystkich usług

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "obliczyć średnią arytmetyczną cen wszystkich usług" jest poprawna, ponieważ funkcja AVG (average) w SQL jest zaprojektowana do obliczania średniej wartości z zestawu danych w danej kolumnie. W podanym zapytaniu, AVG(cena) ma na celu zsumowanie wartości w kolumnie 'cena' dla wszystkich wierszy w tabeli 'usługi' oraz podzielenie tej sumy przez liczbę wierszy, które zawierają dane. W praktyce, średnia arytmetyczna jest niezwykle użyteczna w analizie danych, ponieważ pozwala na uzyskanie jednego, reprezentatywnego wyniku, który może być pomocny w podejmowaniu decyzji biznesowych. Na przykład, firma usługowa może użyć tej informacji do oceny swojej polityki cenowej, porównując średnią cenę swoich usług do średnich cen konkurencji. Zgodnie z najlepszymi praktykami w branży, stosowanie funkcji agregujących takich jak AVG powinno być integralną częścią procesów analizy danych, szczególnie w kontekście raportowania i oceny efektywności operacyjnej.

Pytanie 26

Jakie cechy powinien posiadać klucz główny?

A. Jest unikatowy, może mieć tylko wartości całkowite
B. Reprezentowany jest przez jedno pole tabeli, jego wartość nie może ulegać zmianie
C. Nie może przybierać wartości, reprezentowany jest przez dokładnie jedno pole tabeli
D. Jest unikatowy, nie może zawierać pustych wartości

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź wskazująca, że klucz główny jest unikatowy i nie może przyjmować pustych wartości jest absolutnie poprawna. Klucz główny w relacyjnych bazach danych pełni kluczową rolę w identyfikacji unikalnych rekordów w tabeli. Jego unikalność zapewnia, że każdy wiersz w tabeli można jednoznacznie zidentyfikować, co jest kluczowe dla utrzymania integralności danych. Na przykład, w tabeli użytkowników, identyfikator użytkownika (user_id) może pełnić rolę klucza głównego, co pozwala na łatwe wyszukiwanie i powiązanie danych z innymi tabelami, takimi jak zamówienia czy posty. Standardy takie jak ISO/IEC 9075 (SQL) podkreślają znaczenie kluczy głównych w projektowaniu baz danych. Dodatkowo, dobrym zwyczajem jest, aby kolumny będące kluczami głównymi były także oznaczone jako NOT NULL, co zapobiega wprowadzeniu pustych wartości, a tym samym zapewnia integralność danych. Zrozumienie tego konceptu jest niezbędne dla każdego, kto projektuje lub zarządza bazami danych, ponieważ błędy w definicji kluczy głównych mogą prowadzić do poważnych problemów z integralnością danych.

Pytanie 27

W tabeli mieszkancy znajdują się dane o osobach z całego kraju. Aby ustalić, ile unikalnych miast występuje w tej tabeli, trzeba zapisać kwerendę

A. SELECT COUNT(miasto) FROM mieszkancy DISTINCT;
B. SELECT DISTINCT miasto FROM mieszkancy;
C. SELECT COUNT(miasto) FROM mieszkancy;
D. SELECT COUNT(DISTINCT miasto) FROM mieszkancy;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybór odpowiedzi "SELECT COUNT(DISTINCT miasto) FROM mieszkancy;" jest naprawdę trafny. Używasz funkcji COUNT razem z DISTINCT, co pozwala na zliczenie tylko unikalnych miast w tabeli 'mieszkancy'. Funkcja COUNT liczy wszystkie wiersze, a DISTINCT usuwa duplikaty, dzięki czemu dostajemy dokładną liczbę miast. Fajnie jest to wykorzystać, gdy analizujesz dane demograficzne – wtedy wiesz, jakie masz rozkłady w różnych miastach. W bazach danych to standardowy sposób, bo dzięki temu unikasz powielania danych i masz lepsze analizy. Ważne jest też, żeby pamiętać o wydajności zapytań; połączenie DISTINCT z COUNT może być bardziej efektywne niż próba szukania duplikatów później. No i zasady normalizacji bazy danych? One rzeczywiście pomagają w tym, żeby dane były uporządkowane, co ułatwia ich przetwarzanie i analizowanie.

Pytanie 28

Jakiego typu danych w bazie MySQL należy używać, aby zapisać datę oraz czas w jednym polu?

A. BOOLEAN
B. TIMESTAMP
C. DATE
D. YEAR

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Typ danych TIMESTAMP w MySQL jest idealnym wyborem do przechowywania zarówno daty, jak i czasu w jednym polu, co czyni go bardzo funkcjonalnym w kontekście aplikacji wymagających ścisłej kontroli nad czasem zdarzeń. TIMESTAMP przechowuje datę i czas jako liczbę sekund, które upłynęły od 1 stycznia 1970 roku, co pozwala na łatwe manipulowanie danymi związanymi z czasem, jak obliczanie różnic między datami czy sortowanie po czasie. Przykładowo, w aplikacjach takich jak systemy rezerwacji, gdzie istotne jest nie tylko kiedy coś zostało zarezerwowane, ale również czas rezerwacji, użycie TIMESTAMP umożliwia efektywne zarządzanie danymi. Dodatkowo, TIMESTAMP automatycznie aktualizuje się, gdy rekord jest zmieniany, co jest niezwykle przydatne w kontekście audytów i monitorowania historii zmian w danych. Warto również zauważyć, że TIMESTAMP w MySQL obsługuje strefy czasowe, co czyni go bardziej uniwersalnym w międzynarodowych zastosowaniach. W standardach branżowych dobre praktyki wskazują na używanie TIMESTAMP dla operacji wymagających ścisłej synchronizacji czasowej oraz tam, gdzie istotna jest informacja o czasie zdarzenia.

Pytanie 29

W języku SQL przedstawiony warunek jest równoważny warunkowi

liczba >= 10 AND liczba <= 100
A. liczba LIKE '10%'
B. liczba IN (10, 100)
C. NOT (liczba < 10 AND liczba > 100)
D. liczba BETWEEN 10 AND 100

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Dobra robota! Twoja odpowiedź jest na pewno poprawna. Warunek 'liczba >= 10 AND liczba <= 100' w SQL oznacza, że musimy znaleźć liczbę, która jest większa lub równa 10 i mniejsza lub równa 100. Można to również zapisać jako 'liczba BETWEEN 10 AND 100', co po prostu definiuje zakres wartości od 10 do 100, łącznie z tymi granicami. Używanie operatorów takich jak BETWEEN jest naprawdę przydatne w SQL, bo ułatwia nam życie przy pisaniu zapytań i sprawia, że łatwiej jest zrozumieć, co ten kod właściwie robi. Fajnie umieć takie rzeczy, bo to naprawdę klucz do efektywnej pracy z bazami danych.

Pytanie 30

W przedstawionym kodzie JavaScript występuje błąd logiczny. Program, zamiast informować, czy liczby są równe, nie działa prawidłowo. Wskaż, która odpowiedź dotyczy tego błędu.

var x = 5;
var y = 3;
if (x = y)
  document.getElementById("demo").innerHTML = "zmienne są równe";
else
  document.getElementById("demo").innerHTML = "zmienne się różnią";
A. Zmienne zostały błędnie zadeklarowane
B. W instrukcji if znajduje się przypisanie zamiast operacji porównania
C. Przed instrukcją else nie powinno być średnika
D. Polecenia w sekcjach if i else powinny zostać zamienione miejscami

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W tym przypadku mamy do czynienia z częstym błędem w programowaniu, gdzie zamiast porównania użyto operatora przypisania. W języku JavaScript operator przypisania '=' służy do przypisywania wartości do zmiennej, natomiast do porównania dwóch wartości używa się operatora '==' dla równości lub '===' dla równości i sprawdzania typu. Użycie '=' w warunku if powoduje przypisanie wartości y do x, co zawsze zwróci true, jeśli y jest różne od zera. To prowadzi do nieoczekiwanych rezultatów w logice programu. Poprawnym zapisem w tym kontekście jest if (x == y). Warto pamiętać o dobrych praktykach, które zalecają używanie '===' zamiast '==' dla uzyskania lepszej precyzji i uniknięcia błędów spowodowanych niejawnych konwersji typów. To podejście minimalizuje ryzyko błędów logicznych i poprawia czytelność kodu. Regularne stosowanie takich dobrych praktyk zwiększa jakość kodu i ułatwia jego późniejszą konserwację oraz rozwój.

Pytanie 31

W katalogu www znajdują się podkatalogi html oraz styles, w których umieszczone są pliki o rozszerzeniu html oraz pliki z rozszerzeniem css. Aby dołączyć styl.css do pliku HTML, należy zastosować

A. <link rel="Stylesheet" type="text/css" href="/style/styl.css" />
B. <link rel="Stylesheet" type="text/css" href="styl.css" />
C. <link rel="Stylesheet" type="text/css" href="../style/styl.css" />
D. <link rel=" Stylesheet" type="text/css" href="www/style/styl. css" />

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to <link rel="Stylesheet" type="text/css" href="../style/styl.css" />. Użycie tej ścieżki względnej jest kluczowe, ponieważ wskazuje na lokalizację pliku styl.css w stosunku do pliku HTML, w którym jest osadzony. Folder 'www' zawiera podfoldery 'html' oraz 'style', a aby poprawnie zaadresować plik styl.css, który jest w folderze 'style', musimy wyjść z folderu 'html' (stąd '../') i następnie wejść do folderu 'style', gdzie znajduje się plik styl.css. W praktyce jest to zgodne z dobrą praktyką organizacji plików w projektach webowych, ponieważ ułatwia zarządzanie i lokalizowanie zasobów. Warto również zauważyć, że poprawne wskazanie ścieżki do plików CSS jest niezbędne dla prawidłowego renderowania stylów na stronie, co wpływa na jej wygląd i użytkowalność. Wszyscy deweloperzy front-end powinni być świadomi znaczenia dokładnego wskazywania ścieżek oraz stosować się do konwencji dotyczących organizacji struktur plików w projekcie.

Pytanie 32

W podanym kodzie JavaScript ponumerowano linie dla ułatwienia. W programie występuje błąd, ponieważ po wykonaniu żadna wiadomość nie jest wyświetlana. Aby usunąć ten błąd, należy

1. if (a < b)
2. document.write(a);
3. document.write(" jest mniejsze");
4. else
5. document.write(b);
6. document.write(" jest mniejsze");
A. w liniach 2 i 5 zmienne a i b umieścić w cudzysłowach
B. umieścić znaki $ przed nazwami zmiennych
C. dodać nawiasy klamrowe w sekcjach if oraz else
D. w liniach 3 i 6 zamienić znaki cudzysłowu na apostrof, np. ' jest mniejsze'

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wstawienie nawiasów klamrowych do sekcji 'if' oraz 'else' jest kluczowe dla prawidłowego działania kodu w JavaScript. Kiedy nie używamy nawiasów klamrowych, język domyślnie interpretuje tylko jedną linię jako część bloku 'if' lub 'else'. W sytuacji, gdy mamy więcej niż jedną operację do wykonania w ramach tego samego warunku, brak nawiasów prowadzi do błędów wykonania. Przykład: jeśli chcemy wyświetlić komunikat oraz wartość zmiennej 'a', musimy objąć te operacje nawiasami klamrowymi. Warto również pamiętać, że korzystanie z nawiasów klamrowych zwiększa czytelność kodu, co jest zgodne z najlepszymi praktykami programistycznymi. Stosowanie tej zasady pozwala unikać niejednoznaczności i potencjalnych błędów w logicznych blokach kodu. Dodatkowo, pomocne jest testowanie kodu w środowiskach, które wyłapują błędy syntaktyczne, co ułatwia wczesne wykrywanie problemów.

Pytanie 33

W kontekście CSS atrybut font-size może przyjmować wartości zgodnie z nazwami kluczowymi

A. jedynie big oraz small
B. z zestawu xx-small, x-small, small, medium, large, x-large, xx-large
C. wyłącznie small, medium, large
D. tylko small, smaller, large, larger

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W CSS mamy właściwość font-size, która przyjmuje różne wartości, takie jak xx-small, x-small, small, medium, large, x-large i xx-large. Te wszystkie opcje pozwalają na ładne i elastyczne projektowanie stron. Dzięki nim tekst będzie wyglądał dobrze na różnych urządzeniach i przeglądarkach. Na przykład, jak użyjesz 'large' dla nagłówka, to masz pewność, że będzie czytelny w każdej sytuacji. Warto też pamiętać, że korzystanie z jednostek względnych, jak em czy rem, w połączeniu z tymi słownikowymi to dobra praktyka, bo to ułatwi skalowanie i dostępność tekstu. Tak jak w tym przykładzie: h1 { font-size: large; }, gdzie nagłówek h1 będzie odpowiednio duży w porównaniu do reszty tekstu na stronie. Generalnie, te jednostki są zgodne z tym, co zaleca W3C, szczególnie jeśli chodzi o dostępność i responsywność stron internetowych.

Pytanie 34

W przedstawionym diagramie bazy danych biblioteka, elementy: czytelnik, wypozyczenie i ksiazka są

Ilustracja do pytania
A. atrybutami.
B. polami.
C. krotkami.
D. encjami.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W diagramie bazy danych pokazanym w pytaniu elementy „czytelnik”, „wypozyczenie” i „ksiazka” to klasyczne przykłady encji. Encja w modelu relacyjnym (a dokładniej w modelu ER – Entity-Relationship) oznacza pewien typ obiektu ze świata rzeczywistego, o którym chcemy przechowywać dane w bazie. W praktyce encja odpowiada tabeli w relacyjnej bazie danych: encja CZYTELNIK → tabela czytelnik, encja KSIĄŻKA → tabela ksiazka, encja WYPOŻYCZENIE → tabela wypozyczenie. Każda z tych encji ma swój klucz główny (np. czytelnik_id, ksiazka_id, wypozyczenie_id), czyli atrybut jednoznacznie identyfikujący rekord. To jest dokładnie to, co w dobrych praktykach projektowania baz danych (np. wg standardowych metodologii ERD używanych w SQL Server, MySQL Workbench czy Oracle Data Modeler) uważa się za podstawę poprawnego modelu danych. Moim zdaniem bardzo ważne jest rozróżnienie poziomów: encja to „typ obiektu” (tabela), atrybut to „cecha obiektu” (kolumna), a krotka/rekord to „konkretne wystąpienie obiektu” (pojedynczy wiersz). Na przykład: encja CZYTELNIK opisuje wszystkich możliwych czytelników biblioteki, atrybuty tej encji to imie, nazwisko, ulica itd., a jedna konkretna krotka w tabeli czytelnik opisuje jedną osobę, np. Jana Kowalskiego z ulicy Lipowej 5. W projektowaniu systemów bibliotecznych, systemów sprzedażowych, magazynowych czy w aplikacjach webowych z bazą danych zawsze zaczyna się właśnie od zidentyfikowania encji: klient, zamówienie, produkt, faktura itd. Dopiero potem dopisuje się atrybuty, ustala relacje (tak jak tu: czytelnik – wypożyczenie – książka) i definiuje klucze obce. To podejście jest zgodne z normalizacją i ogólnymi zasadami projektowania relacyjnych baz danych – pomaga uniknąć nadmiarowości danych i błędów logicznych w aplikacji.

Pytanie 35

Jaką wartość zwróci algorytm? ```Z = 0 N = 1 dopóki Z < 3: N = N * 2 + 1 Z = Z + 1 wypisz N```

A. 5
B. 7
C. 15
D. 3

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Algorytm wykonuje pętlę dopóki wartość Z jest mniejsza niż 3. Na początku Z jest równe 0, a N jest równe 1. W każdej iteracji pętli N jest mnożone przez 2, a następnie do wartości N dodawana jest 1. W tym przypadku, po pierwszej iteracji, N = 1 * 2 + 1 = 3 oraz Z = 1. W drugiej iteracji N = 3 * 2 + 1 = 7 oraz Z = 2. W ostatniej iteracji N = 7 * 2 + 1 = 15 oraz Z = 3. Pętla kończy się, gdy Z osiąga wartość równą 3. Zatem ostateczna wartość N, która jest wypisywana, wynosi 15. Taki rodzaj algorytmu jest przykładam pętli iteracyjnej, która jest często stosowana w programowaniu do wykonywania powtarzalnych operacji. Umożliwia to efektywne przetwarzanie danych oraz automatyzację zadań. W praktyce, takie podejście mogą wykorzystywać inżynierowie oprogramowania do obliczeń matematycznych czy przetwarzania dużych zbiorów danych.

Pytanie 36

Funkcję session_start() w PHP należy zastosować przy realizacji

A. wielostronicowej strony, która wymaga dostępu do danych podczas przechodzenia pomiędzy stronami
B. ładowania danych z zewnętrznych plików
C. jakiejkolwiek strony internetowej, która obsługuje cookies
D. przetwarzania formularza

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja session_start() w języku PHP jest kluczowym elementem przy tworzeniu wielostronicowej witryny, która wymaga przechowywania i dostępu do danych pomiędzy różnymi stronami. Ta funkcja inicjalizuje sesję, co pozwala na przechowywanie danych użytkownika w zmiennych sesyjnych, które są dostępne na wszystkich stronach witryny. Przykładem zastosowania może być koszyk zakupowy w sklepie internetowym – użytkownik dodaje przedmioty do koszyka na jednej stronie, a na innej stronie (np. stronie podsumowania zamówienia) może z łatwością zobaczyć swoje wybory. Z perspektywy dobrych praktyk, użycie sesji zwiększa bezpieczeństwo danych, ponieważ nie są one przechowywane w cookies ani jako parametry URL, co zmniejsza ryzyko ich ujawnienia. Ponadto, sesje ułatwiają zarządzanie autoryzacją, ponieważ można łatwo sprawdzić, czy użytkownik jest zalogowany na dowolnej stronie witryny, co jest niezbędne w przypadku aplikacji wymagających logowania. Dlatego właściwe zastosowanie session_start() jest kluczowe dla interaktywności i użytkowalności rozbudowanych aplikacji webowych.

Pytanie 37

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:hover { background-color: Pink; }
B. tr { background-color: Pink; }
C. td, th { background-color: Pink; }
D. tr:active { background-color: Pink; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 38

Z uwagi na zaprezentowany styl CSS, plik rysunek.gif jest używany jako tło strony:

body {
    background-image: url("rysunek.gif");
    background-repeat: repeat-y;
}
A. zarówno w pionowym, jak i poziomym kierunku ze skalowaniem
B. w poziomym kierunku
C. w pionowym kierunku
D. zarówno w pionowym, jak i poziomym kierunku z kadrowaniem

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Styl CSS określa `background-repeat: repeat-y;`, co oznacza, że obraz tła będzie powtarzany w osi pionowej. Wartość `repeat-y` jest odpowiedzialna za powtarzanie obrazu tylko w pionie, podczas gdy `repeat-x` powtarza w poziomie. Jeśli chcemy, aby obraz powtarzał się w obu kierunkach, używamy `repeat`, co jest domyślną wartością właściwości `background-repeat`. W praktyce zastosowanie tego stylu jest przydatne, gdy chcemy utworzyć efekt pasków lub pionowych wzorów na stronie internetowej, które zmieniają się dynamicznie wraz z wysokością zawartości. Warto zwrócić uwagę, że poprawna implementacja powtarzania tła w pionie może być wykorzystana do oszczędnego zarządzania zasobami, zwłaszcza gdy obraz tła jest niewielki, co wpływa na szybkość ładowania strony. W kontekście standardów, takie podejście jest zgodne z zaleceniami W3C, które promują optymalizację zasobów i efektywne zarządzanie mediami na stronach www.

Pytanie 39

Dana jest tablica n-elementowa o nazwie t[n] Zadaniem algorytmu zapisanego w postaci kroków jest wypisanie sumy

K1: i = 0; wynik = 0;
K2: Dopóki i < n wykonuj K3 .. K4
    K3: wynik ← wynik + t[i]
    K4: i ← i + 2
K5: wypisz wynik
A. sumy tych elementów tablicy, których wartości są nieparzyste.
B. n-elementów tablicy.
C. co drugiego elementu tablicy.
D. sumy wszystkich elementów tablicy.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Super rozebrałeś na czynniki pierwsze ten algorytm! Twoja odpowiedź 'co drugiego elementu tablicy' jest jak najbardziej trafna. W pytaniu chodzi o to, że algorytm sumuje co drugi element tablicy, zaczynając od pierwszego, a ten indeks to 0. Zmienna 'i' służy do poruszania się po tablicy i w każdej iteracji zwiększa się o 2. Dzięki temu pętla przeskakuje co drugi element, a te nieparzyste ignoruje. To naprawdę przydatna technika w programowaniu, bo pozwala na określony dostęp do danych. Takie algorytmy wykorzystuje się np. przy analizie danych z czujników, gdzie ważne są tylko wartości zapisane w regularnych odstępach.

Pytanie 40

Działaniem podanego kodu PHP będzie wypełnienie tablicy

$tab = array();
for ($i = 0; $i < 10; $i++) {
    $tab[$i] = rand(-100, 100);
}
foreach ($tab as $x) {
    if ($x < 0) {
        echo "$x ";
    }
}
A. 100 losowymi wartościami, a następnie wypisanie wartości dodatnich
B. kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych
C. 10 losowymi wartościami, a następnie wypisanie wartości ujemnych
D. kolejnymi liczbami od 0 do 9 i ich wypisanie

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Przedstawiony kod PHP zawiera błąd składniowy oraz logiczny, jednak jego zamysł zakłada stworzenie tablicy, której elementy są losowymi liczbami całkowitymi z przedziału od -100 do 100, a następnie wypisanie tych, które są mniejsze od zera. W pierwszej linii kodu powinno być użyte 'array()' zamiast 'array', a w funkcji 'rand' powinny być nawiasy okrągłe dla argumentów, co daje 'rand(-100, 100)'. W pętli for, która iteruje dziesięć razy, wartości są przypisywane do tablicy. W drugiej części, w pętli foreach, sprawdzane są liczby i wypisywane są tylko te, które są ujemne, co oznacza, że wynik może zawierać jedynie wartości poniżej zera. Dlatego poprawna odpowiedź koncentruje się na tym, że tablica jest wypełniana losowymi liczbami całkowitymi, a następnie wypisywane są jedynie liczby ujemne, co jest kluczowym aspektem działania kodu. Przykład zastosowania funkcji rand w kontekście generowania losowych danych pokazuje, jak można wykorzystać tę funkcjonalność w praktycznych aplikacjach, takich jak gra losowa czy analiza danych.