Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 16 kwietnia 2026 08:21
  • Data zakończenia: 16 kwietnia 2026 08:30

Egzamin zdany!

Wynik: 31/40 punktów (77,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

W relacyjnych systemach baz danych, gdy dwie tabele są powiązane przez ich klucze główne, mamy do czynienia z relacją

A. n..n
B. 1..1
C. 1..n
D. n..1
W relacyjnych bazach danych, relacja 1..1 oznacza, że każdemu rekordowi w pierwszej tabeli odpowiada dokładnie jeden rekord w drugiej tabeli, a odwrotnie. Gdy tabele są połączone kluczem głównym, zapewnia to unikalność powiązań między nimi. Przykładami takich relacji mogą być tabele 'Pracownicy' i 'Konta', gdzie każdy pracownik ma jedno konto, a każde konto należy do jednego pracownika. Relacja 1..1 jest typowa w sytuacjach, gdy jedna tabela zawiera szczegółowe informacje o obiektach reprezentowanych w drugiej tabeli. Z perspektywy projektowania baz danych, stosowanie relacji 1..1 pomaga w minimalizowaniu redundancji danych oraz zwiększa spójność informacji. Praktyczne podejście do projektowania bazy danych sugeruje, aby relacje 1..1 były wykorzystywane tam, gdzie konieczne jest zapewnienie jednoznacznego powiązania danych, co wspiera integralność danych zgodnie z normami ACID (Atomicity, Consistency, Isolation, Durability).

Pytanie 2

Jakie parametry powinny być ustawione w funkcji biblioteki mysqli, aby umożliwić połączenie z serwerem oraz bazą danych?

mysqli_connect($a, $b, $c, $d) or die('Brak połączenia z serwerem MySQL.');
A. adres serwera - $c, nazwa bazy danych - $d, login - $a, hasło - $b
B. adres serwera - $a, nazwa bazy danych - $b, login - $c, hasło - $d
C. adres serwera - $a, nazwa bazy danych - $d, login - $b, hasło - $c
D. adres serwera - $c, nazwa bazy danych - $d, login - $b, hasło - $a
Odpowiedź jest poprawna, ponieważ w funkcji biblioteki mysqli_connect, która służy do nawiązywania połączenia z serwerem MySQL, argumenty mają określoną strukturę. Pierwszym argumentem ($a) jest adres serwera, na którym działa usługa MySQL. Może to być adres IP, np. '127.0.0.1', lub nazwa hosta, np. 'localhost'. Drugim argumentem ($b) jest login, czyli nazwa użytkownika, który ma dostęp do bazy danych. Trzecim argumentem ($c) jest hasło do konta użytkownika, natomiast czwartym argumentem ($d) jest nazwa bazy danych, z którą chcemy się połączyć. Przykładowe użycie tej funkcji może wyglądać następująco: $conn = mysqli_connect('localhost', 'root', 'password', 'my_database');. Prawidłowe ustawienie tych zmiennych zapewnia udane połączenie z serwerem i dostęp do danych. W standardach programowania PHP ważne jest również odpowiednie zarządzanie błędami, co zapewnia użycie 'or die()' w kodzie, aby informować o problemach z połączeniem. To podejście pozwala na szybką diagnostykę problemów w środowisku produkcyjnym.

Pytanie 3

O obiekcie przedstawionym w JavaScript można powiedzieć, że posiada

var obiekt1 = {
    x: 0,
    y: 0,
    wsp: function() { [...] }
}
A. trzema właściwościami
B. dwoma właściwościami oraz jedną metodą
C. trzema metodami
D. dwoma metodami oraz jedną właściwością
Obiekt w języku JavaScript, taki jak przedstawiony na obrazku, składa się z par klucz-wartość zwanych właściwościami. W tym przypadku mamy dwie właściwości x i y, które są przypisane wartości 0. Właściwości te przechowują dane i mogą być dowolnego typu, jak liczby, ciągi znaków czy inne obiekty. Trzecim elementem obiektu jest wsp, który jest przypisany funkcji, co czyni go metodą obiektu. Metoda w JavaScript jest funkcją przypisaną jako wartość właściwości, która może być wywoływana na obiekcie. Tego rodzaju struktura pozwala na efektywne organizowanie kodu i jest często stosowana w programowaniu obiektowym w JavaScript. Dzięki metodom można dynamicznie manipulować danymi wewnątrz obiektu. Takie podejście jest zgodne z zasadami hermetyzacji, które są częścią paradygmatu programowania obiektowego, zwiększając czytelność i utrzymanie kodu. W praktyce, znajomość właściwości i metod obiektów JavaScript jest kluczowa dla tworzenia dynamicznych i interaktywnych aplikacji webowych.

Pytanie 4

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

if ((!isNaN(x)) && (x > 0))
A. wszelką dodatnią wartość liczbową
B. pusty ciąg znaków
C. nie-liczbową wartość
D. wszelką całkowitą wartość liczbową
Warunek zapisany w JavaScript if (!isNaN(x) && x>0) jest prawdziwy, gdy zmienna x przechowuje dowolną dodatnią wartość liczbową Takie podejście jest zgodne z dobrymi praktykami programistycznymi ponieważ umożliwia skuteczne sprawdzenie czy wartość jest zarówno liczbowa jak i dodatnia Funkcja isNaN(x) zwraca true gdy x nie jest liczbą co powoduje że !isNaN(x) zwraca true tylko wtedy gdy x jest liczbą Następnie dodatkowy warunek x>0 sprawdza czy liczba jest większa od zera co oznacza że jest dodatnia Takie warunki są często używane w aplikacjach webowych do walidacji danych użytkownika Na przykład podczas wprowadzania kwoty transakcji system może używać podobnego warunku aby upewnić się że użytkownik nie wprowadza ujemnych wartości co mogłoby prowadzić do błędów logicznych w aplikacji Używanie takich warunków wspiera bezpieczeństwo i poprawność kodu co jest kluczowe w profesjonalnym środowisku programistycznym Dodatkowo takie podejście jest zgodne z zasadą przewidywalności działania kodu co jest istotne dla zapewnienia jego łatwej utrzymywalności i czytelności dla innych programistów

Pytanie 5

Który z frameworków stworzono dla języka skryptowego PHP?

A. Spring
B. ASP.NET
C. Symfony
D. Angular
Symfony jest jednym z najpopularniejszych frameworków PHP, który został zaprojektowany w celu ułatwienia tworzenia aplikacji webowych. Oferuje zestaw narzędzi i komponentów, które wspierają rozwój poprzez ułatwienie organizacji kodu, co jest zgodne z zasadami programowania obiektowego. W praktyce, Symfony pozwala na szybkie prototypowanie aplikacji oraz wspiera długoterminowy rozwój dzięki modularności i łatwości w utrzymaniu. Framework ten stosuje wzorzec architektoniczny MVC (Model-View-Controller), co pozwala na oddzielanie logiki aplikacji od warstwy prezentacji, co jest zgodne z najlepszymi praktykami w branży. Symfony posiada bogaty ekosystem, w tym zestaw komponentów, które mogą być używane niezależnie od całego frameworka. Przykłady zastosowania Symfony obejmują tworzenie złożonych systemów zarządzania treścią (CMS), e-commerce, oraz aplikacji opartej na REST API. Jego wsparcie dla testów automatycznych oraz rozbudowanej dokumentacji czyni go idealnym wyborem dla projektów wymagających wysokiej jakości kodu oraz efektywności w rozwoju.

Pytanie 6

Polecenie serwera MySQL postaci

REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost'
sprawi, że użytkownikowi tKowal zostaną
A. odebrane uprawnienia usuwania i modyfikowania danych w tabeli pracownicy
B. przydzielone uprawnienia do usuwania i aktualizowania danych w tabeli pracownicy
C. odebrane uprawnienia usuwania i dodawania rekordów w tabeli pracownicy
D. przydzielone uprawnienia do wszelkiej zmiany struktury tabeli pracownicy
Polecenie REVOKE w systemie zarządzania bazą danych MySQL jest używane do odebrania przydzielonych wcześniej uprawnień użytkownikowi lub grupie użytkowników. W przypadku instrukcji REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost', użytkownik 'tKowal' traci prawa do usuwania (DELETE) oraz aktualizowania (UPDATE) danych w tabeli 'pracownicy'. Przykładowo, jeśli wcześniej użytkownik 'tKowal' miał możliwość usuwania rekordów pracowników i modyfikacji ich danych, po wykonaniu tej instrukcji te uprawnienia zostaną odebrane. Ważne jest, aby zrozumieć, że REVOKE nie wpływa na inne uprawnienia, które użytkownik mógł posiadać, a jego działanie jest ograniczone do wymienionych operacji w kontekście konkretnej tabeli. W MySQL istnieje także możliwość przydzielania uprawnień za pomocą komendy GRANT, co stanowi odwrotność do REVOKE. Dokumentacja MySQL szczegółowo opisuje te mechanizmy, a ich właściwe użycie jest istotne dla bezpieczeństwa i administracji bazami danych. Aby lepiej zrozumieć praktyczne zastosowanie tych komend, można zapoznać się z przykładami na oficjalnej stronie MySQL, które ilustrują, jak zarządzać uprawnieniami użytkowników w różnych scenariuszach.

Pytanie 7

Zarządzanie procesem przekształcania kodu źródłowego stworzonego przez programistę na kod maszynowy, który jest zrozumiały dla komputera, nosi nazwę

A. analizowanie
B. rozpoczynanie
C. kompilowanie
D. wdrażanie
Kompilowanie to proces, w którym kod źródłowy, napisany w języku programowania wysokiego poziomu, jest przekształcany na kod maszynowy, który może być zrozumiany i wykonany przez komputer. Działa to na zasadzie analizy składniowej i semantycznej kodu źródłowego, a następnie generowania odpowiednich instrukcji dla procesora. Przykładem narzędzi, które realizują ten proces, są kompilatory, takie jak GCC dla języka C czy javac dla języka Java. Kompilowanie ma kluczowe znaczenie w programowaniu, ponieważ pozwala na optymalizację kodu, co zwiększa wydajność aplikacji. Dobre praktyki wskazują, że kompilowanie powinno być częścią cyklu programowania, a regularne kompilowanie kodu pomaga w szybszym wykrywaniu błędów oraz zapewnia, że kod jest zawsze zgodny z wymaganiami projektowymi. Warto również zaznaczyć, że proces kompilacji może obejmować różne etapy, takie jak prekompilacja, generacja kodu pośredniego oraz linkowanie, co czyni go złożonym i wieloetapowym działaniem.

Pytanie 8

Baza danych księgarni ma tabelę ksiazki z polami: id, idAutor, tytul, ileSprzedanych oraz tabelę autorzy z polami: id, imie, nazwisko. Jak utworzyć raport dotyczący sprzedanych książek, który zawiera tytuły oraz nazwiska autorów?

A. utworzyć dwie oddzielne kwerendy: pierwszą, która wyszuka tytuły książek, a drugą, która pobierze nazwiska autorów
B. Zdefiniować relację 1..n między tabelami ksiazki i autorzy, a następnie stworzyć kwerendę łączącą obie tabele
C. Ustalić relację 1..1 pomiędzy tabelami ksiazki i autorzy, a następnie stworzyć kwerendę łączącą obie tabele
D. stworzyć kwerendę, która wyszukuje tytuły książek
Podejścia polegające na tworzeniu dwóch osobnych kwerend lub definiowaniu relacji 1..1 są błędne z kilku powodów. Rekomendacja dotycząca tworzenia dwóch osobnych kwerend, z jedną dla tytułów książek i drugą dla nazwisk autorów, prowadzi do nieefektywności. Umożliwia to jedynie pobranie fragmentarycznych danych, które następnie trzeba łączyć w aplikacji lub manualnie, co zwiększa ryzyko błędów i wymaga dodatkowego wysiłku. Kwerendy są wydajniejsze w połączeniu, a ich wykonanie jest szybsze i bardziej zorganizowane. Z kolei definicja relacji 1..1 pomija fakt, że jeden autor może napisać wiele książek, co nie oddaje rzeczywistej struktury danych. Takie podejście prowadzi do niepoprawnego modelowania danych, które uniemożliwia efektywne zarządzanie informacjami o książkach i ich autorach. W praktyce, prawidłowe zdefiniowanie relacji w bazie danych jest kluczowe dla integracji danych oraz ich przyszłego wykorzystania, a także dla zapewnienia integralności referencyjnej. Dlatego też, ważne jest, aby zrozumieć zasady rządzące relacjami między tabelami oraz umiejętnie stosować złączenia w kwerendach.

Pytanie 9

Po uruchomieniu poniższego kodu PHP na ekranie ukaże się bieżąca data w formacie:

echo date("Y-m");
A. rok oraz miesiąc
B. dzień oraz rok
C. tylko rok
D. dzień, miesiąc, rok
Odpowiedź "rok i miesiąc" jest prawidłowa, ponieważ funkcja date() w PHP, kiedy wykorzystujemy format "Y-m", zwraca datę w formacie roku, np. 2023, oraz miesiąca w postaci dwucyfrowej, np. 09 dla września. Warto zrozumieć, że format "Y" generuje czterocyfrowy rok, natomiast "m" generuje dwucyfrowy miesiąc. To podejście jest często wykorzystywane w aplikacjach webowych do prezentacji dat w sposób zrozumiały dla użytkowników, a także do grupowania danych według miesięcy w bazach danych. Przykładowo, w systemach raportowania finansowego, często wykorzystuje się ten format do agregacji danych sprzedażowych według miesięcy, co ułatwia analizę wyników. Użycie odpowiednich standardów w formacie daty wspomaga utrzymanie spójności i czytelności danych w różnych systemach informatycznych.

Pytanie 10

Aby stworzyć relację jeden do wielu, w tabeli po stronie wiele, co należy zdefiniować?

A. klucz sztuczny odnoszący się do kluczy podstawowych obu tabel
B. klucz obcy wskazujący na klucz podstawowy tabeli po stronie jeden
C. klucz obcy wskazujący na klucz obcy tabeli po stronie jeden
D. klucz podstawowy wskazujący na klucz podstawowy tabeli po stronie jeden
W relacji jeden do wielu, klucz obcy w tabeli po stronie wiele jest kluczowym elementem, który wskazuje na klucz podstawowy tabeli po stronie jeden. Dzięki temu możliwe jest powiązanie wielu rekordów w tabeli 'wiele' z jednym rekordem w tabeli 'jeden', co jest fundamentalnym aspektem modelowania relacyjnych baz danych. Klucz obcy zapewnia integralność referencyjną, co oznacza, że każda wartość klucza obcego w tabeli 'wiele' musi odpowiadać istniejącemu kluczowi podstawowemu w tabeli 'jeden'. Przykładem może być sytuacja, w której mamy tabelę 'Klienci' i tabelę 'Zamówienia'. W tabeli 'Zamówienia' klucz obcy 'ID_Klienta' wskazuje na 'ID' w tabeli 'Klienci', co pozwala na przypisanie wielu zamówień do jednego klienta. Zgodnie z dobrymi praktykami branżowymi, klucze obce powinny być odpowiednio zindeksowane, co pozwala na szybsze zapytania oraz efektywniejsze przetwarzanie danych.

Pytanie 11

Która z list jest interpretacją pokazanego kodu?

Ilustracja do pytania
A. Odpowiedź B
B. Odpowiedź C
C. Odpowiedź D
D. Odpowiedź A
Odpowiedź C jest prawidłowa, ponieważ odpowiada strukturze listy zagnieżdżonej w HTML. W kodzie źródłowym użyto listy uporządkowanej <ol>, co oznacza, że elementy listy będą numerowane. Każdy element <li> w tej liście może zawierać dodatkowe listy nieuporządkowane <ul>, które są oznaczane jako lista punktowana. W przypadku kodu przedstawionego na rysunku mamy dwie główne pozycje 'muzyka' i 'filmy' zawarte w liście uporządkowanej, stąd 1. muzyka i 2. filmy. Pod pozycjami 'muzyka' i 'filmy' znajdują się listy zagnieżdżone nieuporządkowane, zawierające wpisy 'Wpis1', 'Wpis2', 'Wpis3' i 'Wpis4'. Dobre praktyki w projektowaniu stron sugerują użycie list zagnieżdżonych do klarownego przedstawienia hierarchii informacji. Wykorzystanie list uporządkowanych i nieuporządkowanych jest standardem w semantycznym HTML, co wpływa na dostępność stron internetowych oraz ich zgodność z różnymi urządzeniami i technologiami wspomagającymi. Taka struktura ułatwia również nawigację wśród treści dla użytkowników i algorytmów indeksujących wyszukiwarek internetowych.

Pytanie 12

Jaki jest cel funkcji napisanej w PHP?

$zapytanie = mysql_query("SELECT * FROM napisy");
A. zmianę hasła do bazy danych
B. nawiązanie połączenia z bazą danych
C. ochronę bazy danych
D. uzyskanie danych z bazy 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 13

Jaki selektor stylizuje akapity tekstu z klasą tekst oraz element blokowy z identyfikatorem obrazki?

A. p.tekst + div#obrazki
B. p#tekst + div.obrazki
C. p#tekst, div.obrazki
D. p.tekst, div#obrazki
Poprawna odpowiedź to 'p.tekst, div#obrazki', ponieważ selektor 'p.tekst' odnosi się do wszystkich elementów <p>, które mają klasę 'tekst'. To podejście jest zgodne z zasadami CSS, gdzie '.' oznacza klasę. Z kolei 'div#obrazki' to selektor, który odnosi się do elementu <div> o ID 'obrazki'. W tym przypadku '#' jest używane do wskazania unikalnego identyfikatora. Dzięki temu możemy dostosować style do konkretnych elementów w HTML. Przykład zastosowania: jeżeli chcemy, aby akapity z klasą 'tekst' miały określony kolor tła oraz aby element <div> z ID 'obrazki' był wyśrodkowany na stronie, możemy napisać odpowiednie reguły CSS, które zastosują te style tylko do wskazanych elementów. Praktyka ta zwiększa przejrzystość kodu oraz ułatwia jego późniejsze zarządzanie. Zastosowanie odpowiednich selektorów zgodnych z zasadami CSS to klucz do efektywnego stylizowania stron internetowych oraz dobrych praktyk w zakresie tworzenia responsywnych interfejsów użytkownika.

Pytanie 14

Delegacja domeny to

A. utrata okresu ważności domeny z możliwością odnowienia jej.
B. zmiana nazwy domeny.
C. zmiana rejestratora domeny.
D. umieszczenie informacji o zewnętrznych serwerach, które obsługują stronę.
Prawidłowo – delegacja domeny to właśnie umieszczenie informacji o zewnętrznych serwerach nazw (DNS), które obsługują daną domenę. W praktyce oznacza to, że w panelu rejestratora domeny wskazujesz adresy serwerów DNS (np. ns1.hosting.pl, ns2.hosting.pl), a od tego momentu to one odpowiadają za tłumaczenie nazwy domeny na adresy IP serwerów WWW, poczty itd. Moim zdaniem to jedno z kluczowych pojęć w administracji usługami internetowymi, bo bez poprawnej delegacji domena „nie istnieje” w praktycznym użyciu. Delegacja nie zmienia samej nazwy domeny, nie przenosi jej do innego rejestratora, tylko mówi światu: „tej domeny szukaj na tych konkretnych serwerach DNS”. W dobrych praktykach branżowych używa się co najmniej dwóch serwerów DNS, najlepiej w różnych lokalizacjach, żeby zwiększyć niezawodność. W panelu hostingodawcy zwykle konfigurujesz rekordy DNS (A, AAAA, CNAME, MX, TXT itd.), a w panelu rejestratora tylko delegujesz domenę na te serwery. Przykład z życia: kupujesz domenę w firmie A, a hosting masz w firmie B. Wtedy w firmie A ustawiasz delegację na serwery DNS firmy B. Dzięki temu ruch do Twojej domeny trafia na właściwy serwer WWW. W dużych projektach często deleguje się domenę na profesjonalne usługi DNS (np. Cloudflare), żeby zyskać dodatkowe funkcje jak CDN, ochrona przed DDoS czy łatwe zarządzanie rekordami. To wszystko dalej opiera się na tym samym mechanizmie – poprawnej delegacji domeny w rejestrze.

Pytanie 15

Jaką formę przybierze data po wykonaniu poniższego kodu PHP?

<?php
echo date('l, dS F Y');
?>
A. Monday, 10th July 2017
B. Monday, 10th July 17
C. 10, Monday July 2017
D. Monday, 10 July 2017
W tym przykładzie funkcja date() w PHP przyjmuje ciąg znaków 'l dS F Y' jako parametr formatowania, co determinuje sposób wyświetlenia daty. Znak 'l' reprezentuje pełną nazwę dnia tygodnia, co w przypadku poniedziałku da 'Monday'. 'd' to dwucyfrowa reprezentacja dnia miesiąca, dodając 'S' uzyskujemy jego wersję z angielskim sufiksem porządkowym, np. '10th', co jest zgodne z odpowiedzią. 'F' reprezentuje pełną nazwę miesiąca, czyli 'July', a 'Y' to pełny rok, czyli '2017'. Kombinacja tych formatów pozwala na uzyskanie czytelnej i zgodnej ze standardami reprezentacji daty w języku angielskim, co jest często wykorzystywane w międzynarodowych projektach webowych. Takie formatowanie jest nie tylko intuicyjne dla użytkowników, ale także zgodne z dobrymi praktykami w zakresie czytelności i użyteczności w aplikacjach internetowych. PHP umożliwia elastyczne formatowanie dat, co jest bardzo przydatne w kontekście globalnych aplikacji wymagających różnych lokalizacji.

Pytanie 16

Na ilustracji zaprezentowano koncepcję układu bloków strony internetowej. Przyjmując, że bloki są realizowane za pomocą znaczników sekcji, a szerokość jest określona tylko dla bloków 2, 3 oraz 4, ich stylowanie powinno uwzględniać właściwość

Ilustracja do pytania
A. clear: both dla bloku 5 i float: left jedynie dla bloków 2, 3 oraz 4
B. clear: both dla wszystkich bloków
C. float: left dla wszystkich bloków
D. float: left jedynie dla bloków 3 i 4 oraz clear: both dla bloku 2
Stosowanie float: left dla wszystkich bloków jest nieprawidłowe, ponieważ prowadziłoby do nieprzewidywalnego zachowania bloków 1 i 5, które powinny być pełnej szerokości strony. Użycie float: left dla bloku 1 oznaczałoby, że jego miejsce w układzie zależałoby od szerokości i pozycji innych pływających elementów. Podobnie blok 5 potrzebuje wyraźnej separacji od pływających elementów powyżej, co osiągamy dzięki clear: both. Użycie clear: both dla wszystkich bloków odwołuje się do nieprawidłowej koncepcji, ponieważ blokowałoby to pływanie, co jest kluczowe dla tworzenia układów wielokolumnowych. Clear: both zmusza element do rozpoczęcia pod pływającymi elementami, co oznacza, że bloki 2, 3 i 4 nie mogłyby być ustawione obok siebie, co nie spełnia wymagań projektu. Rozważenie float: left jedynie dla bloków 3 i 4 i clear: both dla bloku 2 zaburzyłoby logiczny ciąg layoutu ze względu na fizyczne blokowanie się bloków, co wywołałoby niepożądane przesunięcia i brak przewidywalności w wyświetlaniu. Zastosowanie float w celu tworzenia układów kolumnowych wymaga precyzyjnego zarządzania pływającymi elementami, a niepoprawne użycie właściwości clear może prowadzić do problemów z dostępnością i użytecznością strony. Dlatego właściwe zrozumienie tych koncepcji jest kluczowe w tworzeniu efektywnych i responsywnych projektów internetowych, zgodnych z oczekiwaniami użytkowników oraz standardami branżowymi.

Pytanie 17

W systemie PHP złożono zapytanie SELECT do bazy przy pomocy funkcji mysqli_query. Jaką funkcję powinien wykorzystać użytkownik, aby ustalić liczbę rekordów, które zwróciło to zapytanie?

A. mysqli_query
B. mysqli_fetch_row
C. mysqli_connect
D. mysqli_num_rows
Funkcja mysqli_num_rows jest kluczowa w kontekście pracy z wynikami zapytań SQL w PHP. Umożliwia ona określenie liczby wierszy zwróconych przez kwerendę SELECT, co jest istotne, gdy chcemy dynamicznie dostosować zachowanie aplikacji na podstawie zrealizowanych zapytań. Przykładowo, po wykonaniu zapytania, można użyć mysqli_query do zrealizowania kwerendy, a następnie mysqli_num_rows do sprawdzenia, ile rekordów zostało zwróconych. Dzięki temu, programista może zdecydować, czy kontynuować przetwarzanie danych, czy też wyświetlić użytkownikowi komunikat o braku wyników. Jest to zgodne z dobrymi praktykami, ponieważ pozwala na wydajniejsze zarządzanie danymi oraz poprawia użytkowanie aplikacji. Użycie tej funkcji jest szczególnie ważne w aplikacjach, gdzie interakcja z użytkownikami jest kluczowa, a ich odpowiednie informowanie o statusie operacji bazodanowych może znacząco poprawić doświadczenie użytkownika.

Pytanie 18

Ustanowienie klucza obcego jest konieczne do stworzenia

A. transakcji
B. klucza podstawowego
C. relacji 1..1
D. relacji 1..n
Klucz obcy (foreign key) to jeden z podstawowych elementów baz danych, który służy do definiowania relacji między tabelami. Jego główną funkcją jest zapewnienie integralności referencyjnej, co oznacza, że wartość klucza obcego w jednej tabeli musi odpowiadać wartości klucza podstawowego w innej tabeli. Definiując klucz obcy, tworzymy relację 1..n, co oznacza, że jeden rekord w tabeli rodzica (tabela z kluczem podstawowym) może być powiązany z wieloma rekordami w tabeli dziecka (tabela z kluczem obcym). Przykładem może być tabela klientów i tabela zamówień, gdzie jeden klient może mieć wiele zamówień. W praktyce, klucz obcy jest często używany w systemach zarządzania bazą danych, takich jak MySQL, PostgreSQL czy Oracle, zgodnie z normami SQL, które definiują relacje między tabelami. Właściwe wykorzystanie kluczy obcych jest kluczowe dla prawidłowego modelowania baz danych oraz zapewnienia spójności danych podczas operacji takich jak aktualizacja czy usuwanie rekordów.

Pytanie 19

W kodzie HTML kolor biały można reprezentować przy użyciu wartości

A. #255255
B. rgb(255, 255, 255)
C. rgb (FF, FF, FF)
D. #000000
Odpowiedź rgb(255, 255, 255) jest prawidłowa, ponieważ jest to standardowy sposób definiowania koloru białego w modelu RGB w kodzie HTML i CSS. Wartości RGB oznaczają Red, Green, Blue, a każdy składnik koloru (czerwony, zielony, niebieski) jest reprezentowany przez liczbę w zakresie od 0 do 255. W przypadku koloru białego wszystkie składniki są maksymalne, co przekłada się na pełne naświetlenie wszystkich trzech kolorów. W praktyce, użycie funkcji rgb() jest preferowane w sytuacjach, gdy chcemy dynamicznie modyfikować kolory za pomocą skryptów lub w CSS, co pozwala na lepszą kontrolę nad efektami wizualnymi. Na przykład, możemy łatwo zmieniać przezroczystość koloru, zmieniając wartości przez dodanie czwartego parametru, co jest zgodne z nowoczesnymi standardami CSS. Używanie wartości RGB jest również zgodne z zasadami dostępności oraz ułatwia pracę osobom z daltonizmem, ponieważ pozwala na łatwiejsze zrozumienie i manipulację kolorami.

Pytanie 20

Który efekt został zaprezentowany na filmie?

A. Zmiana jasności zdjęć.
B. Zwiększenie ostrości zdjęcia.
C. Zmniejszenie kontrastu zdjęcia.
D. Przenikanie zdjęć.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 21

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

A. znaków zarezerwowanych dla języka opisu strony
B. symboli matematycznych
C. specjalnych znaków przeznaczonych dla języka kodu strony
D. polskich znaków, takich jak: ś, ć, ń, ó, ą
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 22

Po wykonaniu przedstawionego poniżej polecenia SQL użytkownik Ela będzie mógł

GRANT SELECT, INSERT, UPDATE, DELETE ON baza1.tab1 TO 'Ela'@'localhost';
A. wykonywania wszystkich operacji na strukturze danych
B. jedynie dodawania i edytowania danych
C. wykonywania wszelkich działań na danych
D. jedynie tworzenia i zmiany struktury tabel
Polecenie SQL GRANT SELECT INSERT UPDATE DELETE ON baza1.tab1 TO 'Ela'@'localhost' przyznaje użytkownikowi Ela pełny dostęp do danych w tabeli tab1 w bazie danych baza1. Oznacza to możliwość wykonywania wszystkich operacji związanych z zarządzaniem danymi w tej tabeli. Komenda GRANT jest używana do nadawania uprawnień użytkownikom bazy danych. W tym przypadku uprawnienia obejmują SELECT do odczytu danych INSERT do dodawania nowych rekordów UPDATE do modyfikacji istniejących danych oraz DELETE do usuwania rekordów. Uprawnienia te pokrywają pełne spektrum operacji związanych z manipulacją danymi co jest kluczowe w sytuacjach gdzie użytkownik musi mieć elastyczność w zarządzaniu zawartością tabeli. Dobrymi praktykami jest ograniczanie nadawania takich szerokich uprawnień tylko wtedy gdy jest to absolutnie konieczne w celu minimalizacji ryzyka nieautoryzowanej manipulacji danymi. Rozumienie i zarządzanie uprawnieniami użytkowników jest kluczowym elementem bezpieczeństwa bazy danych ponieważ pozwala na kontrolę dostępu i zapewnienie integralności danych. Tak szeroki dostęp jak w tym przypadku powinien być przyznawany z rozwagą i jedynie zaufanym użytkownikom w środowiskach produkcyjnych gdzie dane są szczególnie wrażliwe.

Pytanie 23

Aby przekształcić obraz w formacie PNG tak, by jego tło stało się przezroczyste, wymagane jest

A. odpowiednie przycięcie.
B. dodanie kanału alfa.
C. ulepszenie nasycenia kolorów.
D. zapisanie go w formacie BMP.
Dodanie kanału alfa do obrazu w formacie PNG jest kluczowe dla uzyskania przezroczystego tła. Kanał alfa to dodatkowa warstwa informacji w obrazie, która definiuje przezroczystość każdego piksela. Dzięki niemu, obrazy PNG mogą przechowywać informacje o tym, które części obrazu są całkowicie przezroczyste, częściowo przezroczyste lub całkowicie nieprzezroczyste. To oznacza, że stosując kanał alfa, możemy tworzyć złożone efekty wizualne, takie jak cienie czy gradienty, które są nieosiągalne w formatach nieobsługujących przezroczystości, jak JPEG. W praktyce, dodanie kanału alfa można zrealizować w programach graficznych, takich jak Adobe Photoshop czy GIMP, za pomocą opcji 'Dodaj kanał alfa' w menu warstw. Umożliwia to edytowanie tła obrazu, eliminację niepożądanych elementów oraz integrację z różnymi tłem w dokumentach i stronach internetowych, co jest szczególnie istotne w projektowaniu graficznym i web designie. Zatem, znajomość obsługi kanału alfa oraz umiejętność pracy z formatem PNG są niezbędne dla profesjonalnych grafików w nowoczesnym środowisku projektowym.

Pytanie 24

Błędy w interpretacji kodu PHP są rejestrowane

A. w oknie edytora, w którym tworzony jest kod PHP
B. w logu, o ile odpowiedni parametr jest ustawiony w pliku php.ini
C. w dzienniku zdarzeń systemu Windows
D. pomijane przez przeglądarkę oraz interpreter PHP
Błędy interpretacji kodu PHP są kluczowym zagadnieniem w procesie programowania w tym języku. Gdy wystąpi błąd, jego zapisanie w logu jest niezwykle istotne dla późniejszej analizy i debugowania. W celu umożliwienia takiej funkcjonalności, programista musi odpowiednio skonfigurować plik php.ini, który jest centralnym plikiem konfiguracyjnym dla PHP. Ustawienia związane z logowaniem błędów obejmują dyrektywy takie jak 'error_reporting', 'log_errors' oraz 'error_log'. Na przykład, aby włączyć logowanie błędów, należy ustawić 'log_errors' na 'On', a 'error_log' wskazuje lokalizację pliku, w którym błędy będą zapisywane. Przykładowo, ustawienie 'error_log = /var/log/php_errors.log' spowoduje, że wszystkie błędy będą trafiały do wskazanego pliku. To podejście jest zgodne z zaleceniami najlepszych praktyk w programowaniu, które wskazują na konieczność monitorowania i analizy błędów w aplikacjach. Takie logowanie może obejmować zarówno błędy krytyczne, jak i ostrzeżenia, co pozwala na lepszą kontrolę nad działaniem aplikacji i szybsze lokalizowanie problemów.

Pytanie 25

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

A. zinterpretowany po stronie serwera
B. skomponowany po stronie klienta
C. skomponowany po stronie serwera
D. zinterpretowany po stronie klienta
Żeby zobaczyć, jak działa skrypt w PHP, musi on być obrobiony przez serwer. PHP to język, który kręci się na serwerze, więc to serwer przetwarza ten kod, a nie nasza przeglądarka. Jak użytkownik wysyła coś do serwera, ten bierze skrypt PHP, robi swoje magiczne sztuczki, generuje HTML i przesyła gotową stronę do przeglądarki. Na przykład, weźmy jakąś stronę, która zaciąga informacje z bazy danych właśnie dzięki PHP. Skrypt łączy się z bazą, robi zapytanie i zwraca wyniki w HTML. Są też różne standardy, jak RFC 2616 dla HTTP, które mówią o tym, jak ważne jest przetwarzanie po stronie serwera przy wysyłaniu żądań i odpowiedzi. Dzięki temu, mamy dynamiczne treści, które są na bieżąco generowane z danych zapisanych na serwerze. Tak więc, PHP to kluczowy element w wielu nowoczesnych aplikacjach internetowych, i nie da się bez niego żyć w tym świecie programowania.

Pytanie 26

Jakie technologie są konieczne do uruchomienia systemu CMS Joomla!?

A. PHP oraz MySQL
B. Apache, PHP i MySQL
C. IIS, PERL i MySQL
D. Apache oraz PHP
Joomla! jest systemem zarządzania treścią, który wymaga specyficznych technologii do prawidłowego działania. Do uruchomienia Joomla! niezbędne jest środowisko, które obejmuje serwer WWW Apache, język skryptowy PHP oraz bazę danych MySQL. Apache jest najpopularniejszym serwerem WWW, który obsługuje wiele funkcji, takich jak obsługa dynamicznych treści oraz zarządzanie dużymi ilościami ruchu. PHP jest językiem skryptowym, który pozwala na interakcję z bazą danych oraz generowanie treści w czasie rzeczywistym, co jest kluczowe dla działania CMS-a. MySQL natomiast jest systemem zarządzania bazą danych, który przechowuje wszystkie dane dotyczące witryny, takie jak artykuły, ustawienia i użytkownicy. Przykładem zastosowania tych technologii może być stworzenie strony internetowej dla lokalnej organizacji non-profit, gdzie Joomla! umożliwia łatwe zarządzanie treścią przez osoby nieposiadające zaawansowanej wiedzy technicznej. Dobre praktyki w branży zalecają stosowanie najnowszych wersji tych technologii, aby zapewnić bezpieczeństwo oraz wydajność witryny.

Pytanie 27

W języku C do przedstawiania liczb zmiennoprzecinkowych używa się typu

A. double
B. int
C. char
D. bool
Typ `double` w języku C jest przeznaczony do reprezentacji liczb zmiennoprzecinkowych, co oznacza, że może on przechowywać zarówno liczby całkowite, jak i liczby z częścią dziesiętną. Jest on bardziej precyzyjny niż typ `float`, ponieważ zapewnia większy zakres wartości oraz dokładność, co jest kluczowe w zastosowaniach inżynieryjnych, naukowych oraz w obliczeniach finansowych. Przykładowo, w obliczeniach, które wymagają reprezentacji wartości takich jak 3.14159 (pi) lub 0.1, typ `double` pozwala na uniknięcie wielu problemów związanych z zaokrągleniami i precyzją. Standard C99 definiuje rozmiar dla typu `double` jako przynajmniej 64 bity, co oznacza, że może on przechowywać liczby o bardzo dużych lub bardzo małych wartościach, co jest istotne w kontekście obliczeń numerycznych. W praktyce programiści często używają `double` do obliczeń naukowych, a także w grafice komputerowej, gdzie precyzyjne ustalenie położenia punktów w przestrzeni jest niezbędne.

Pytanie 28

W dokumentacji CMS WordPress znajduje się zdanie:
"Enable comments for this post"
Co oznacza to zdanie?

A. Włącz możliwość dodawania komentarzy do wpisu.
B. Włącz edycję wpisu.
C. Włącz publikację wpisu.
D. Włącz formatowanie wpisu.
Poprawnie – komunikat „Enable comments for this post” w WordPressie oznacza dokładnie włączenie możliwości dodawania komentarzy do konkretnego wpisu. W praktyce jest to po prostu przełącznik, który decyduje, czy pod danym postem będzie widoczny formularz komentowania i lista komentarzy użytkowników. Z mojego doświadczenia to jedna z podstawowych opcji zarządzania interakcją z czytelnikami w systemach CMS. WordPress ma wbudowany system komentarzy i dla każdego wpisu z osobna można zdecydować, czy chcesz dopuścić dyskusję, czy raczej ma to być „statyczna” treść bez opinii użytkowników. Włączenie komentarzy nie wpływa na możliwość edycji, publikacji ani formatowania treści – to zupełnie osobne funkcje. Edycja odbywa się w edytorze blokowym lub klasycznym, publikacja jest kontrolowana przyciskiem „Opublikuj” / „Zaktualizuj”, a formatowanie dotyczy układu tekstu, nagłówków, obrazków, list itd. Włączanie komentarzy to raczej kwestia konfiguracji modułu dyskusji. W dobrych praktykach administracji WordPressa zaleca się świadome zarządzanie komentarzami: włączać je tam, gdzie istotna jest interakcja (np. blog, poradniki, aktualności), a wyłączać na stronach typu regulamin, polityka prywatności czy strony czysto informacyjne. W ustawieniach dyskusji można też ustawić moderację, wymóg zatwierdzania komentarzy, filtrowanie spamu czy ograniczenia dla niezalogowanych. W poważniejszych serwisach często łączy się natywne komentarze WordPressa z dodatkowymi wtyczkami (np. antyspam, integracja z social media), ale podstawowy przełącznik zawsze oznacza to samo: czy ten konkretny wpis ma mieć aktywną sekcję komentarzy, czy nie.

Pytanie 29

Aby wykonać usunięcie tabeli, należy użyć kwerendy

A. TRUNCATE TABLE
B. DROP TABLE
C. UNIQUE
D. DELETE
Poprawna odpowiedź to DROP TABLE, ponieważ jest to standardowa komenda SQL używana do całkowitego usunięcia tabeli z bazy danych. Użycie tej komendy powoduje nie tylko usunięcie samej struktury tabeli, ale również wszystkich danych, które były w niej przechowywane. Przykładowo, jeśli mamy tabelę 'Użytkownicy' i chcemy ją usunąć, piszemy: DROP TABLE Użytkownicy; Należy jednak pamiętać, że po wykonaniu tej operacji nie można odzyskać ani tabeli, ani jej danych, dlatego ważne jest, aby przed takim krokiem wykonać odpowiednie kopie zapasowe lub upewnić się, że dane są już zbędne. W kontekście dobrych praktyk, przed usunięciem tabeli warto przeanalizować wpływ na inne obiekty bazy danych, takie jak klucze obce, które mogą być związane z usuwaną tabelą. Istotne jest również zrozumienie, że DROP TABLE nie można użyć, jeśli w tabeli istnieją aktywne ograniczenia lub jeśli jest ona częścią jakiejś transakcji. W takiej sytuacji, czynności te należy zrealizować w odpowiedniej kolejności, aby uniknąć błędów.

Pytanie 30

Którego związku selektorów CSS należy użyć w miejscu znaków zapytania, aby zdefiniowany styl został zastosowany tylko do tekstu „paragrafie”?

<!DOCTYPE html>
<html>
  <head>
    <style>
      ???{letter-spacing: 10px; color: red;}
    </style>
  </head>
  <body>
    <p>Styl <b>tekstu</b> w pierwszym <i>paragrafie</i></p>
  </body>
</html>
A. i + b
B. b i
C. b > i
D. b + i
W tym zadaniu kluczowe jest zrozumienie, jak działają różne rodzaje selektorów powiązanych w CSS i jak odwzorowują one strukturę DOM. W kodzie HTML mamy element <p>, a w nim kolejno <b>tekstu</b> oraz zaraz po nim <i>paragrafie</i>. Oba są rodzeństwem, mają tego samego rodzica i występują w konkretnej kolejności. To, którą odpowiedź się wybierze, zależy od poprawnego odczytania tej relacji. Zapis „b i” to selektor potomka (descendant selector). Oznacza on: wybierz każdy element <i>, który znajduje się gdziekolwiek wewnątrz elementu <b>, na dowolnym poziomie zagnieżdżenia. W naszym przykładzie <i> nie jest wewnątrz <b>, tylko obok niego, więc taki selektor nic nie znajdzie. To jest dość typowe nieporozumienie: wiele osób myli „potomka” z „rodzeństwem”. Potomek to element zagnieżdżony, a nie kolejny po. Z kolei „b > i” to selektor dziecka (child selector). Jest jeszcze bardziej restrykcyjny – wybiera tylko te elementy <i>, które są bezpośrednimi dziećmi <b>. Czyli <i> musi być natychmiast wewnątrz <b>, bez żadnego pośredniego poziomu. W naszym kodzie znowu ten warunek nie jest spełniony, bo <i> nie jest dzieckiem <b>, tylko jego sąsiadem w tym samym paragrafie. To pokazuje, że zarówno selektor potomka, jak i dziecka są tu po prostu złym typem relacji. Odpowiedź „i + b” odwraca właściwy kierunek. Selektor sąsiedniego rodzeństwa z operatorem „+” działa zawsze w przód: po lewej stronie jest element, który występuje jako pierwszy, po prawej ten, który ma zostać wybrany. „i + b” oznacza więc: wybierz <b>, który stoi bezpośrednio po <i>. W naszym HTML jest odwrotnie – najpierw <b>, potem <i>. To częsty błąd myślowy: ktoś kojarzy poprawny typ selektora („+”), ale nie zwraca uwagi na kolejność elementów. Podsumowując, wszystkie błędne odpowiedzi ignorują prawdziwą relację strukturalną między <b> i <i>. Albo zakładają zagnieżdżenie tam, gdzie go nie ma, albo mylą kierunek selektora sąsiedniego. Dobra praktyka przy pracy z CSS to zawsze patrzenie na drzewo DOM jak na strukturę rodzic–dziecko–rodzeństwo i dobieranie selektora dokładnie do tej relacji. Dzięki temu styl trafia w jeden, konkretny element, zamiast działać przypadkowo lub wcale.

Pytanie 31

Kwerenda umożliwiająca wprowadzenie zmian w wielu rekordach lub przeniesienie ich za pomocą jednej operacji nosi nazwę kwerendy

A. funkcjonalnej
B. wybierającej
C. krzyżowej
D. parametrycznej
Kwerenda parametryczna to rodzaj kwerendy, która umożliwia użytkownikowi wprowadzenie parametrów w celu wykonania zapytania. Choć parametry mogą być wykorzystywane do modyfikacji danych, nie są one odpowiednie do wprowadzania masowych zmian, ponieważ wymagają interakcji użytkownika w celu ustalenia wartości parametrów. Z kolei kwerenda wybierająca, której celem jest pobieranie danych z bazy, nie wprowadza ani nie modyfikuje informacji, a jedynie prezentuje dane zgodnie z określonymi kryteriami. To sprawia, że nie można jej używać do wprowadzania zmian w rekordach. Kwerenda krzyżowa natomiast, która jest wykorzystywana do analizy danych w formie tabel przestawnych, również nie działa w kontekście masowych aktualizacji lub przeniesień rekordów. Zamiast tego, kwerendy krzyżowe agregują dane w celu analizy, co sprawia, że są one skuteczne do raportowania, ale nie do operacji modyfikujących bazę danych. Wszystkie te trzy typy kwerend mają swoje specyficzne zastosowania, lecz w kontekście pytania, to kwerenda funkcjonalna jest jedynym odpowiednim narzędziem do wprowadzania zmian w wielu rekordach jednocześnie.

Pytanie 32

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. wyliczyć średnią arytmetyczną cen wszystkich usług
D. określić najwyższą cenę usług
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 33

Dla tablicy n-elementowej o nazwie t[n], algorytm, zapisany w formie kroków, ma za zadanie obliczenie sumy

Ilustracja do pytania
A. co drugiego elementu tablicy
B. sumy wszystkich elementów tablicy
C. sumy tych elementów tablicy, których wartości są nieparzyste
D. n-elementów tablicy
Błędne odpowiedzi, jakie podałeś, wynikają tak naprawdę z niezrozumienia algorytmu. Po pierwsze, suma wszystkich elementów tablicy wymagałaby przechodzenia przez każdy element bez przeskoków, więc musielibyśmy zwiększać indeks i o 1 w każdym kroku, a to odbiega od tego, co robi ten algorytm. Jakbyśmy chcieli sumować elementy nieparzyste, to musielibyśmy dodać warunek, który sprawdza, czy dany element jest parzysty, zanim go dodamy do wyniku. W ogóle nie ma takiego mechanizmu w tym algorytmie. Suma n-elementów tablicy jest błędna, bo algorytm pomija co drugi element, więc nie może być taką odpowiedzią. Typowe błędy, które się pojawiają w takich zadaniach, to niepełne rozumienie działania pętli i tego, jak aktualizowany jest indeks. Tego rodzaju myślenie może prowadzić do błędnych wniosków na temat tego, które elementy są brane pod uwagę. W praktyce ważne jest, żeby na spokojnie analizować, jak działają warunki iteracyjne i jakie mają konsekwencje dla przetwarzanych danych, bo to kluczowe przy projektowaniu algorytmów i ich wdrażaniu w różnych realnych sytuacjach, gdzie efektywność ma ogromne znaczenie.

Pytanie 34

Jakie polecenie należy zastosować, aby w trakcie tworzenia tabeli dodać klucz obcy obejmujący wiele kolumn?

A. CONSTRAINT fk_osoba_uczen FOREIGN KEY ON (nazwisko, imie) REFERENCES osoby (nazwisko,imie)
B. CONSTRAINT(nazwisko,imie) FOREIGN KEY REFERENCES osoby (nazwisko, imie)
C. CONSTRAINT(nazwisko,imie) FOREIGN REFERENCES KEY osoby (nazwisko, imie)
D. CONSTRAINT fk_osoba_uczen FOREIGN KEY (nazwisko, imie) REFERENCES osoby (nazwisko,imie)
Wszystkie odpowiedzi inne niż 'CONSTRAINT fk_osoba_uczen FOREIGN KEY (nazwisko, imie) REFERENCES osoby (nazwisko,imie)' zawierają błędy, które mogą prowadzić do nieprawidłowego definiowania klucza obcego. Pierwsza odpowiedź niepoprawnie używa terminu 'FOREIGN REFERENCES KEY', co jest błędną konstrukcją, ponieważ nie istnieje taki termin w standardzie SQL. Poprawnym terminem jest 'FOREIGN KEY', który jasno wskazuje na rolę kolumn w kontekście relacji między tabelami. Dwie kolejne odpowiedzi błędnie zdefiniowały składnię definicji klucza obcego, używając niepoprawnych konstrukcji, takich jak 'ON' czy niewłaściwego umiejscowienia nazwy ograniczenia. Klucz obcy powinien być zdefiniowany w kontekście kolumn, które są nim objęte, a także powinien odnosić się do kolumn w innej tabeli, co w tych przypadkach nie zostało zrobione prawidłowo. Typowe błędy myślowe prowadzące do takich wniosków obejmują mylenie terminów i składni SQL, co może wynikać z braku znajomości standardów SQL lub po prostu z nieuwagi. Ważne jest, aby osoby pracujące z bazami danych dokładnie znały zasady składni oraz funkcje, jakie pełnią różne elementy definicji tabel i relacji, aby unikać takich błędów i zapewniać integralność danych.

Pytanie 35

Rezultatem działania zamieszczonej pętli napisanej w języku PHP jest wypisanie następujących liczb

Ilustracja do pytania
A. od 10 do 1
B. od 1 do 10
C. od 10 do 2
D. od 2 do 10
Pętla for w języku PHP umożliwia iteracyjne wykonywanie kodu w określonym zakresie wartości. W analizowanym przypadku pętla rozpoczyna się od wartości $i = 10, a kończy się, gdy $i jest większe lub równe 1, co oznacza że pętla iteruje w kierunku malejącym. Wybranie odpowiedzi od 10 do 2 lub od 1 do 10 świadczy o braku zrozumienia działania warunku i kroku iteracyjnego. W pętli z dekrementacją, jak $i--, zmniejszamy wartość zmiennej w każdej iteracji. Niezrozumienie tego mechanizmu często prowadzi do błędnych odpowiedzi. W przypadku innych wyborów odpowiedzi można wnioskować że warunek zakończenia pętli został błędnie zinterpretowany, co wskazuje na brak uwagi przy analizie kodu. Typowym błędem w takich przypadkach jest założenie że pętla działała jak typowa iteracja w przód, co nie jest prawdą w tym kontekście. Dla programistów ważne jest zrozumienie, jak każda część pętli wpływa na wykonanie programu, co pozwala unikać problemów w kodzie związanych z nieoczekiwanym zakończeniem pętli lub błędnym wykonywaniem iteracji. Takie zrozumienie jest kluczowe w tworzeniu efektywnych i niezawodnych aplikacji.

Pytanie 36

Rozmycie Gaussa, wygładzanie oraz szum RGB to funkcje wykorzystywane w programach do obróbki

A. ścieżki dźwiękowej
B. dźwięku w formacie MIDI
C. grafiki wektorowej
D. grafiki rastrowej
Rozmycie Gaussa, wygładzanie i szum RGB to techniki stosowane w grafice rastrowej, która opiera się na bitmapach. Rozmycie Gaussa jest szczególnie użyteczne w przypadku usuwania szumów i wygładzania obrazów, co poprawia ich estetykę oraz jakość, a także umożliwia bardziej naturalne przejścia tonalne. Na przykład, fotografowie korzystają z rozmycia Gaussa przy edycji zdjęć, aby zmiękczyć ostre krawędzie i stworzyć efekt bokeh. Szum RGB odnosi się do różnych typów zakłóceń, które mogą występować w obrazach rastrowych i które można zredukować za pomocą odpowiednich filtrów. Wygładzanie, z kolei, może być stosowane w grafice komputerowej do poprawy jakości renderingu oraz eliminacji niepożądanych efektów aliasingu. W branży graficznej dobrą praktyką jest stosowanie tych technik w sposób przemyślany, aby uzyskać najlepszą jakość wizualną, zgodnie z zasadami profesjonalnej edycji obrazu, jak również przy poszanowaniu standardów kolorystycznych i rozdzielczości dostosowanej do różnych platform wyjściowych.

Pytanie 37

Na ilustracji przedstawiono konfigurację serwera Apache dla środowiska XAMPP. Pod jakim lokalnym adresem jest on dostępny?

Ilustracja do pytania
A. 192.168.0.1:3306
B. htdocs
C. 127.0.0.1:70
D. localhost:80
W tym zadaniu kluczowe jest zrozumienie różnicy między katalogiem serwera, adresem IP, nazwą hosta i numerem portu. W XAMPP-ie Apache udostępnia pliki z katalogu „htdocs”, ale ten katalog nie jest adresem, pod który łączy się przeglądarka. To tylko folder w systemie plików, fizyczna lokalizacja plików strony. Adres, którego używamy w pasku URL, zawsze składa się z protokołu (np. http), nazwy hosta lub adresu IP oraz opcjonalnie numeru portu. Dlatego wpisanie samego „htdocs” w przeglądarce nie ma sensu – to nie jest ani host, ani protokół. Częsty błąd polega na myleniu ścieżki na dysku z adresem URL. Kolejna pułapka to założenie, że Apache w XAMPP zawsze działa na domyślnym porcie 80, więc „localhost:80” będzie na pewno poprawny. W teorii HTTP faktycznie używa domyślnie portu 80, ale w praktyce w środowisku deweloperskim bardzo często port jest zmieniany, np. gdy port 80 jest zajęty przez inny proces. Na zrzucie ekranu w kolumnie „Port(s)” wyraźnie widać, że Apache nasłuchuje na porcie 70, więc użycie „localhost:80” wskazywałoby na inny port niż rzeczywiście skonfigurowany. To powoduje brak połączenia lub połączenie z zupełnie inną usługą. Podobnie adres „127.0.0.1:70” jest poprawną kombinacją hosta lokalnego i właściwego portu, ale przykład „127.0.0.1:70” w zadaniu jest właśnie tą właściwą odpowiedzią, a nie jej modyfikacją z innym portem. Z kolei „192.168.0.1:3306” to już zupełnie inna bajka: adres z puli prywatnej sieci LAN i port 3306, który standardowo jest używany przez serwer MySQL, a nie przez serwer WWW Apache. Taki adres może wskazywać na bazę danych, do której łączy się aplikacja, ale nie jest to adres, pod który użytkownik wchodzi w przeglądarce, żeby zobaczyć stronę. Typowy błąd myślowy polega tutaj na mieszaniu pojęć: katalogu dokumentów, portu HTTP, portu MySQL oraz lokalnego adresu IP. Dobra praktyka jest taka, żeby zawsze patrzeć w panelu XAMPP konkretnie na kolumnę „Port(s)” przy module Apache i na tej podstawie budować URL, np. http://127.0.0.1:port lub http://localhost:port. Dzięki temu unikasz zgadywania i szybko wychwytujesz, czy problem leży w złym porcie, czy gdzie indziej.

Pytanie 38

Jaki wynik wyświetli poniższy fragment kodu JavaScript?

x='Powodzenia na egzaminie';
z=x.substring(3,9);
y=z.substring(2,4);
document.write(y);
A. ze
B. wodzenia
C. owodzeni
D. wo
W przedstawionym kodzie JavaScript użyto funkcji substring aby wyodrębnić fragmenty tekstu z ciągu znaków. Początkowa zmienna x zawiera tekst Powodzenia na egzaminie. Pierwsza funkcja x.substring(3,9) zwraca fragment tekstu zaczynający się od indeksu 3 do 8 włącznie co daje fragment wodzen. Wartość ta jest przypisana do zmiennej z. Następnie funkcja z.substring(2,4) wyodrębnia fragment zaczynający się od indeksu 2 do 3 włącznie z tego nowego ciągu wodzen co daje rezultat ze. Wynik ten zostanie wypisany na ekranie przez document.write(y). Praktyczne zastosowanie metody substring polega na manipulacji tekstem co jest powszechne w web development np. do parsowania danych tekstowych lub przygotowania tekstu do wyświetlenia. Dobre praktyki obejmują użycie substring do przetwarzania danych wejściowych np. w formularzach czy przekształcanie danych użytkownika. Ważne jest zrozumienie indeksowania od zera oraz poprawne określenie zakresu aby uniknąć błędów logicznych w kodzie. W kontekście substringu warto pamiętać że drugi parametr jest ekskluzywny co oznacza że nie jest uwzględniany w wyniku. Takie detale są kluczowe dla programistów aby efektywnie zarządzać danymi tekstowymi w różnorodnych zastosowaniach.

Pytanie 39

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

Ilustracja do pytania
A. wyjustowane, pisane małymi literami, a odstępy między literami ustalone na 10 px
B. wyśrodkowane, pisane małymi literami, a odstępy między liniami ustalone na 10 px
C. wyjustowane, pisane wielkimi literami, a odstępy między liniami ustalone na 10 px
D. wyśrodkowane, pisane wielkimi literami, a odstępy między literami ustalone na 10 px
Analizując niepoprawne odpowiedzi kluczowe jest zrozumienie podstawowych właściwości CSS które zostały źle zinterpretowane. Po pierwsze właściwość text-align: center jest błędnie zrozumiana w kontekście odpowiedzi mówiących o wyjustowaniu. Wyjustowanie czyli wyrównanie tekstu zarówno do lewego jak i prawego marginesu wymagałoby użycia wartości justify co było nieprawidłowo domniemane. Kolejnym nieporozumieniem jest zastosowanie właściwości text-transform: uppercase która jednoznacznie oznacza zmianę liter na wielkie litery. Błędne odpowiedzi sugerujące pisanie małymi literami ignorują to bezpośrednie działanie transformacji tekstowej. Odstępy między literami a odstępy między liniami to dwie różne właściwości które w CSS są zarządzane za pomocą letter-spacing i line-height. Odpowiedzi wskazują na nieprawidłowe zrozumienie tych terminów co sugeruje brak rozróżnienia między przestrzenią wokół liter a wysokością linii tekstu. Zrozumienie różnic między tymi właściwościami jest kluczowe dla efektywnego stosowania CSS w praktyce projektowej gdzie precyzja i dokładność w stylizacji są niezbędne aby osiągnąć zamierzony efekt wizualny i funkcjonalny. Błędne interpretacje wynikają często z niewłaściwego zaznajomienia się z terminologią CSS co prowadzi do mylących założeń w projektowaniu stron internetowych

Pytanie 40

Wykonano następującą kwerendę na tabeli Pracownicy:

SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;

Na tabeli Pracownicy, której wiersze zostały pokazane na obrazie, wykonano przedstawioną kwerendę SELECT. Które dane zostaną wybrane?

idimienazwiskostanowisko
1AnnaKowalska1
2MonikaNowak2
3EwelinaNowakowska2
4AnnaPrzybylska3
5MariaKowal3
6EwaNowacka4
A. Tylko Anna.
B. Anna, Maria, Ewa.
C. Monika, Ewelina, Maria.
D. Tylko Maria.
Gratulacje, udzielona odpowiedź jest prawidłowa! Wykonana kwerenda SQL 'SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;' zwraca imiona pracowników, którzy albo mają nazwisko 'Kowal', albo zajmują stanowisko o numerze większym niż 2. W kontekście przedstawionej tabeli pracowników, taka kwerenda zwróci nam poprawną odpowiedź 'Anna, Maria, Ewa'. To dlatego, że Anna pracuje na stanowisku 3, co jest większe niż 2, Maria ma nazwisko 'Kowal', a Ewa pracuje na stanowisku 4, które jest również większe niż 2. SQL jako język zapytań pozwala na efektywne zarządzanie danymi, niezależnie od skomplikowania zapytania. W praktyce, gdy mamy do czynienia z dużym zbiorem danych, takie zapytania pomagają w szybkim filtrowaniu i dostępie do potrzebnych informacji. Dobrym standardem jest wymyślanie i testowanie zapytań SQL w celu zrozumienia, jakie dane zostaną zwrócone, zanim zapytanie zostanie użyte w prawdziwej aplikacji lub systemie.