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: 19 maja 2025 15:07
  • Data zakończenia: 19 maja 2025 15:08

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Grafik pragnie przekształcić obraz JPG na format PNG bez utraty jakości, tak aby wszędzie tam, gdzie w oryginalnym obrazie występuje kolor biały, w docelowej wersji była przezroczystość. W tym celu powinien

A. zaimportować obraz do edytora grafiki wektorowej
B. przekształcić obraz w odcienie szarości
C. dodać kanał alfa
D. obniżyć rozdzielczość obrazu
Dodanie kanału alfa do obrazu jest kluczowym krokiem, aby przekształcić JPEG w PNG z zachowaniem przezroczystości. Format PNG obsługuje kanał alfa, który może przechowywać informacje o przezroczystości każdego piksela, co oznacza, że można zdefiniować, które części obrazu są w pełni widoczne, a które są całkowicie przezroczyste. W praktyce, po dodaniu kanału alfa, można użyć narzędzi edycyjnych, aby ustawić białe obszary na przezroczyste. Na przykład w programie GIMP lub Adobe Photoshop, można użyć narzędzia 'Magiczne różdżka' do zaznaczenia białego tła, a następnie usunąć je, co zamieni białe piksele na przezroczystość. Istotne jest, aby pamiętać, że JPEG nie wspiera przezroczystości, dlatego przekształcenie do formatu PNG jest niezbędne. Dobrą praktyką jest zawsze pracować na kopii oryginalnego obrazu, aby móc wrócić do źródłowego pliku, jeśli zajdzie taka potrzeba.

Pytanie 2

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

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

Pytanie 3

W języku PHP nie można wykonać

A. Obsługiwania danych z formularzy
B. Tworzenia dynamicznej treści strony
C. Dynamicznej zmiany treści strony HTML w przeglądarce
D. Operacji na danych zgromadzonych w bazie danych
Przetwarzanie danych formularzy, przetwarzanie danych zgromadzonych w bazie danych oraz generowanie dynamicznej zawartości strony to wszystkie operacje, które PHP wykonuje na serwerze. Przetwarzanie danych formularzy jest jednym z podstawowych zastosowań PHP; skrypty PHP odbierają dane wysłane przez użytkowników, wykonują na nich różne operacje, takie jak walidacja czy zabezpieczenie, a następnie mogą zapisywać je w bazie danych lub wykorzystywać do generowania odpowiedzi. Korzystając z PHP, programiści mogą łączyć się z bazami danych, takimi jak MySQL, aby przetwarzać duże ilości danych. To pozwala na dynamiczne generowanie treści na stronie w odpowiedzi na zapytania użytkowników, co czyni aplikacje bardziej interaktywnymi. Generowanie dynamicznej zawartości oznacza, że na podstawie danych wejściowych PHP może tworzyć różnorodne widoki, które są dostosowane do potrzeb użytkowników. Często jednak zapomina się, że przetwarzanie tych danych i generowanie odpowiedzi odbywa się jedynie na etapie serwera, co ogranicza jego zdolność do reagowania na zmiany w czasie rzeczywistym na stronie bez ponownego załadowania. To prowadzi do mylnego wrażenia, że PHP może również zmieniać zawartość strony w przeglądarce, co nie jest prawdą. Do osiągnięcia takich efektów konieczne jest wykorzystanie języków skryptowych działających po stronie klienta, takich jak JavaScript, które są odpowiedzialne za interakcję z DOM i dynamiczne modyfikowanie treści wyświetlanej użytkownikowi.

Pytanie 4

Aby stworzyć tabelę, należy wykorzystać polecenie

A. INSERT INTO
B. CREATE TABLE
C. CREATE DATABASE
D. ALTER TABLE
Polecenie CREATE TABLE to naprawdę ważna sprawa, jeśli chodzi o budowanie struktury bazy danych w systemach DBMS. Dzięki niemu możemy stworzyć nową tabelę w bazie, nadając jej różne nazwy i typy danych dla kolumn. Na przykład, można użyć takiego zapisu: CREATE TABLE pracownicy (id INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50), data_zatrudnienia DATE); W efekcie mamy tabelę 'pracownicy' z czterema kolumnami, a 'id' to nasz klucz główny. W praktyce, poprawne stworzenie tabeli to podstawa dalszej pracy z danymi, więc warto się postarać, żeby schematy baz danych były dobrze zaprojektowane, w zgodzie z zasadami normalizacji. To zmniejsza zbędne powtarzanie danych i sprawia, że potem łatwiej nimi zarządzać. Pamiętaj, żeby przed użyciem CREATE TABLE dobrze zaplanować strukturę bazy danych, bo to pomoże w wydajności i elastyczności aplikacji. Fajnie jest też dodać różne ograniczenia, jak klucze obce, żeby mieć pewność, że nasze dane są w porządku.

Pytanie 5

Z tabel Artykuly oraz Autorzy należy wyodrębnić tylko nazwiska autorów oraz tytuły ich artykułów, które uzyskały ocenę 5. Odpowiednia kwerenda do pozyskania tych informacji ma postać

Ilustracja do pytania
A. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;
B. SELECT nazwisko, tytul FROM autorzy, artykuly WHERE ocena == 5;
C. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = artykuly.id;
D. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź SELECT nazwisko tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5; jest poprawna ponieważ precyzyjnie wykorzystuje konstrukcję SQL do połączenia tabel Autorzy i Artykuly. JOIN łączy te tabele na podstawie klucza obcego autorzy_id w tabeli Artykuly który odpowiada kluczowi głównemu id w tabeli Autorzy. To pozwala na uzyskanie pełnej informacji o autorach i ich artykułach. Klauzula WHERE ocena = 5 filtruje wyniki i zwraca jedynie te które mają ocenę równą 5. Jest to standardowe podejście w SQL do pobierania danych na podstawie określonych kryteriów co jest bardzo efektywne w zarządzaniu dużymi zbiorami danych. Praktyczne zastosowanie tego typu kwerend obejmuje na przykład systemy rekomendacji artykułów gdzie tylko dobrze ocenione treści są pokazywane użytkownikom. Stosowanie takich kwerend zgodnie z najlepszymi praktykami pozwala na utrzymanie wydajności bazy danych oraz na zapewnienie integralności danych co jest kluczowe w profesjonalnym zarządzaniu bazami danych.

Pytanie 6

Jakie wyrażenie logiczne w języku PHP weryfikuje, czy zmienna1 znajduje się w przedziale jednostronnie domkniętym <-5, 10)?

A. $zmienna1 >= -5 || $zmienna1 < 10
B. $zmienna1 >= -5 && $zmienna1 < 10
C. $zmienna1 <= -5 && $zmienna1 < 10
D. $zmienna1 <= -5 || $zmienna1 < 10

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wyrażenie logiczne $zmienna1 >= -5 && $zmienna1 < 10 jest poprawne, ponieważ precyzyjnie określa przedział jednostronnie domknięty <-5, 10). W tym przypadku, aby zmienna1 należała do tego przedziału, musi być większa lub równa -5 oraz jednocześnie mniejsza od 10. To oznacza, że -5 jest włączone do przedziału, podczas gdy 10 już nie. W praktycznym użyciu tego wyrażenia, można je zastosować np. w walidacji danych wejściowych w formularzach, gdzie wartość powinna mieścić się w określonym zakresie. Dobre praktyki programistyczne sugerują, aby zawsze jasno określać zakresy wartości, aby unikać błędów logicznych, co jest szczególnie istotne w obszarze programowania warunkowego. Dodatkowo, proponowane wyrażenie jest również zgodne z zasadami czytelności kodu, ułatwiając jego późniejsze zrozumienie przez innych programistów.

Pytanie 7

Jaką wartość przyjmie zmienna a po wykonaniu poniższej sekwencji komend w PHP?

$a = 1;
$a++;
$a += 10;
--$a;

A. 11
B. 12
C. 1
D. 10

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zmienna a początkowo jest ustawiona na wartość 1. Instrukcja $a++ to postinkrementacja co oznacza że pierwotna wartość zmiennej a jest użyta w bieżącym wyrażeniu a dopiero potem zwiększana. Po wykonaniu tej instrukcji a staje się 2. Następnie $a += 10 zwiększa wartość o 10 co daje nam 12. Ostatecznie instrukcja --$a to predekrementacja co oznacza że zmniejsza wartość przed użyciem w wyrażeniu. W efekcie końcowym a wynosi 11. W praktyce zrozumienie różnic między inkrementacją a dekrementacją jest kluczowe dla efektywnego kodowania zwłaszcza przy operacjach na licznikach w pętlach. Dobre praktyki w programowaniu zalecają świadome stosowanie post- i preinkrementacji oraz zrozumienie jak te operacje wpływają na logikę programu. Umiejętność przewidywania efektów tych operacji jest jedną z podstawowych kompetencji programistycznych która znacząco wpływa na jakość i niezawodność tworzonego oprogramowania. Warto także zwrócić uwagę na zachowanie tych operatorów w różnych językach programowania ponieważ mimo pewnych podobieństw zachowanie może się różnić

Pytanie 8

Jakie jest właściwe określenie stylu CSS dla przycisku typu submit z czarnym tłem, bez ramki oraz z marginesami wewnętrznymi równymi 5 px?

input[type=submit] {
    background-color: #000000;
    border: none;
    padding: 5px;
} A
input[type=submit] {
    background-color: #ffffff;
    border: none;
    padding: 5px;
} B
input=submit {
    background-color: #000000;
    border: none;
    margin: 5px;
} C
input=submit {
    background-color: #000000;
    border: 0px;
    margin: 5px;
} D

A. B
B. D
C. A
D. C

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź A jest na pewno właściwa, bo definiuje styl CSS dla przycisku input o typie submit. Ustawienie background-color na #000000 to kluczowa sprawa, bo w pytaniu wymagano czarnego tła. Dodatkowo użycie selektora input[type=submit] jest naprawdę dobrym pomysłem, bo precyzyjnie wskazuje ten konkretny element formularza. Warto też zauważyć, że border: none; usuwa obramowanie, co zgadza się z wymaganiami. Padding: 5px; dodaje trochę miejsca wewnątrz przycisku, więc tekst nie przylega do krawędzi. Stylowanie przycisków typu submit jest istotne w projektowaniu, bo wpływa na estetykę i funkcjonalność. Nie zapominaj, że CSS daje możliwość naprawdę fajnego dostosowywania wyglądu, co pozwala na stworzenie atrakcyjnych i łatwych w obsłudze elementów. Dobrze jest stosować selektory z wysoką specyficznością i unikać przesadnego używania !important, bo to może skomplikować sprawy związane z kaskadą stylów. Na przykład zmienne CSS mogą pomóc uporządkować kolory w większych projektach, co jest przydatne.

Pytanie 9

Która z reguł dotyczących sekcji w HTML jest właściwa?

A. W sekcji można definiować szablon strony przy użyciu znaczników
B. W sekcji nie znajduje się sekcja
C. W sekcji nie można umieszczać kodu CSS, tylko odwołanie do pliku CSS
D. W sekcji mogą znajdować się znaczniki,, <link></span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> W sekcji <head> dokumentu HTML można umieścić kilka ważnych znaczników, takich jak <meta>, <title> i <link>. Tytuł strony, który znajdziesz w znaczniku <title>, będzie widoczny na karcie przeglądarki, a także pomoże wyszukiwarkom lepiej zrozumieć, o czym jest Twoja strona. Znaczniki <meta> to fajny sposób, żeby dodać różne metadane – jak opis strony czy słowa kluczowe, które mogą przydać się w SEO. A znacznik <link>? Ten odwołuje się do zewnętrznych plików, na przykład do arkuszy stylów CSS, co jest spoko, bo separuje strukturę dokumentu od jego wyglądu. Z mojego doświadczenia, dobre umiejscowienie tych znaczników w <head> nie tylko poprawia SEO, ale też ułatwia zarządzanie stylami. To naprawdę ważne, jeśli chcesz tworzyć nowoczesne i responsywne strony internetowe. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 10</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="jakie-elementy-wypisze-funkcja-wypisz2-stworzona-c5d16d7b" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Jakie wartości zwróci funkcja wypisz2) napisana w języku JavaScript?</p> <figure class="figure mt-3"> <img src="/images/11175.png" class="figure-img img-fluid rounded" alt="Ilustracja do pytania" itemprop="image"> </figure> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. 2 3 4 6</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. 3 4 6 8</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. 6</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>D. 3 4 6</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Funkcja wypisz w języku JavaScript jest zaprojektowana do iteracji zmiennej a sześciokrotnie zwiększając jej wartość o 1 w każdej iteracji. Wewnątrz pętli warunek if sprawdza czy aktualna wartość a jest podzielna przez 2 lub 3. Jeśli tak to wartość ta jest wypisywana. Rozpoczynając od wartości początkowej a i zwiększając ją o 1 w każdej iteracji pierwszą wartością spełniającą warunek podzielności przez 2 lub 3 jest 3. Następnie warunek spełniają wartości 4 6 i łącznie te liczby zostaną wypisane. Taki schemat działania jest typowy w sytuacjach gdy potrzebujemy filtrować lub selekcjonować dane na podstawie określonego kryterium co jest częstą praktyką w programowaniu i przetwarzaniu danych. Pisanie kodu w sposób czytelny i zrozumiały jak w tym przykładzie jest zgodne z dobrymi praktykami programistycznymi co ułatwia jego późniejszą obsługę i modyfikację. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 11</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="poprzez-deklaracje-bvar-xtrueb-w-jezyku-j-77b9b8f7" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Poprzez zdefiniowanie <b>var x="true";</b> w języku JavaScript powstaje zmienna należąca do typu</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. logicznym</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. nieokreślonego (undefined)</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>C. string (ciąg znaków)</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. liczbowym</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Deklaracja <b>var x="true";</b> w języku JavaScript tworzy zmienną typu string (ciąg znaków). Wartość "true" jest tekstem, a nie wartością logiczną. W JavaScript, zmienne są dynamicznie typowane, co oznacza, że ich typ może się zmieniać w zależności od wartości, którą przechowują. Przykładem zastosowania tego typu zmiennej może być przechowywanie danych użytkownika w aplikacjach webowych, gdzie często korzysta się z ciągów znaków do reprezentacji różnych informacji, takich jak nazwy użytkowników, hasła, czy inne dane tekstowe. Dobrymi praktykami w programowaniu w JavaScript jest unikanie pomylenia wartości logicznych z ciągami znaków, ponieważ mogą one prowadzić do trudnych do zdiagnozowania błędów. Warto również pamiętać, że w JavaScript stringi są otoczone pojedynczymi lub podwójnymi cudzysłowami, co pozwala na jednoznaczną identyfikację ich jako typów danych. Dobre zrozumienie typów danych w JavaScript jest kluczowe dla skutecznego programowania i zarządzania danymi. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 12</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="kodselect-imie-pesel-wiek-from-dane-where-wie-3aeb668b" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Kod```SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30)```wybiera</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. imiona, numery PESEL oraz wiek osób, które mają więcej niż 30 lat</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. imiona, numery PESEL oraz wiek osób mieszczących się w przedziale od 18 do 30 lat</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>C. imiona, numery PESEL oraz wiek osób w wieku dokładnie 18 lub 30 lat</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. imiona, nazwiska oraz numery PESEL osób, które mają mniej niż 18 lat</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Odpowiedź jest prawidłowa, ponieważ zapytanie SQL `SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30)` w sposób precyzyjny selekcjonuje dane tylko dla osób, których wiek wynosi dokładnie 18 lub 30 lat. Użycie operatora `IN` pozwala na wskazanie konkretnych wartości, które nas interesują, w tym przypadku są to dwa liczby: 18 i 30. Takie podejście jest zgodne z najlepszymi praktykami w tworzeniu zapytań SQL, gdyż umożliwia efektywne filtrowanie danych i minimalizowanie obciążenia bazy danych poprzez ograniczenie ilości przetwarzanych rekordów. W kontekście aplikacji, które wymagają analizy danych demograficznych, na przykład w systemach monitorujących wiek klientów, tego typu zapytania są niezwykle przydatne. Pozwalają na szybkie wyciąganie informacji potrzebnych do podejmowania decyzji, jak na przykład dostosowywanie ofert marketingowych do określonych grup wiekowych. Przykładowo, w instytucji finansowej analiza wieku klientów może być kluczowa w tworzeniu ofert produktów kredytowych skierowanych do osób młodych oraz do tych w średnim wieku, co pozwala na lepsze zrozumienie i zaspokojenie ich potrzeb. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 13</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="dla-dowolnego-zestawu-danych-do-zbudowania-warunk-9dda8ead" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Aby stworzyć warunek w zapytaniu wybierającym nazwiska wszystkich uczniów z klas początkowych (od pierwszej do trzeciej), można zastosować klauzulę</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. WHERE klasa IN (1, 3)</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. WHERE klasa < 3</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. WHERE klasa >= 1 OR klasa <= 3</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>D. WHERE klasa BETWEEN 1 AND 3</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Odpowiedź "WHERE klasa BETWEEN 1 AND 3" jest poprawna, ponieważ klauzula BETWEEN umożliwia precyzyjne określenie zakresu wartości w bazie danych. W tym przypadku, chcemy wybrać uczniów z klas 1, 2 i 3, co idealnie pasuje do zastosowania klauzuli BETWEEN. Oznacza to, że zapytanie zwróci wszystkie rekordy, gdzie wartość w kolumnie 'klasa' mieści się w przedziale od 1 do 3, włącznie. Przykładowe zapytanie SQL mogłoby wyglądać tak: SELECT nazwisko FROM uczniowie WHERE klasa BETWEEN 1 AND 3; To podejście jest zgodne z dobrymi praktykami, ponieważ jest czytelne, zrozumiałe i łatwe do modyfikacji. Dodatkowo, stosowanie klauzuli BETWEEN jest bardziej efektywne niż inne metody, takie jak użycie operatorów porównania, co może prowadzić do błędów, jeśli na przykład nie uwzględni się wartości granicznych. W standardach SQL klauzula BETWEEN jest powszechnie uznawana za najlepszy sposób na określenie zakresu wartości, co czyni ją kluczowym narzędziem w pracy z danymi w bazach danych. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 14</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-znaczniku-head-w-czesci-meta-strony-w-f6c7dafc" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W sekcji <head> (w elemencie <meta ... >) witryny www nie umieszcza się danych dotyczących</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>A. typu dokumentu</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. kodowania</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. automatycznego odświeżania</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. autora</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> W znaczniku <head> strony internetowej umieszczamy różne metadane, które wpływają na zachowanie strony oraz jej pozycjonowanie w wyszukiwarkach. Informacja o typie dokumentu jest określana w deklaracji DOCTYPE, a nie w sekcji <meta>. Typ dokumentu informuje przeglądarki, jakiego standardu HTML używa dana strona, co jest kluczowe dla prawidłowego renderowania zawartości. Z kolei w sekcji <meta> umieszczamy dane takie jak autor strony, kodowanie znaków, które informuje przeglądarkę o użytej technologii tekstowej, oraz meta tagi służące do automatycznego odświeżania strony. Przykładowo, używając meta tagu <meta http-equiv='refresh' content='30'>, możemy ustawić, aby strona odświeżała się co 30 sekund. Właściwe wykorzystanie sekcji <head> poprawia zarówno doświadczenia użytkowników, jak i SEO, dlatego znajomość tych elementów jest fundamentalna dla każdego twórcy stron internetowych. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 15</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="aby-wykonac-kod-zapisany-jezykiem-php-wystarczy-32a5cea7" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Do uruchomienia kodu napisanego w języku PHP konieczne jest posiadanie w systemie</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. przeglądarki internetowej</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. serwera WWW z bazą danych MySQL</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. serwera WWW, parsera PHP oraz bazy danych MySQL</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>D. serwera WWW z interpreterem PHP</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Aby wykonać kod zapisany w języku PHP, konieczne jest posiadanie serwera WWW z zainstalowanym interpreterem PHP. PHP (Hypertext Preprocessor) jest językiem skryptowym, który działa po stronie serwera, co oznacza, że kod PHP jest przetwarzany na serwerze zanim zostanie wysłany do przeglądarki użytkownika. Serwer WWW, taki jak Apache lub Nginx, musi być skonfigurowany do obsługi PHP, co zazwyczaj wymaga zainstalowania odpowiedniego modułu lub interpreter PHP. Przykładowo, w systemach Linux, PHP można zainstalować za pomocą menedżera pakietów, co umożliwia łatwe uruchamianie skryptów PHP. W przypadku prostych aplikacji webowych wystarczy zainstalować serwer WWW oraz PHP, aby rozpocząć pracę. Ważne jest również, aby pamiętać o różnicy między PHP a innymi językami, takimi jak JavaScript, który działa po stronie klienta. Standardy, takie jak PHP-FIG, określają, jak powinny być pisane i organizowane aplikacje w PHP, co ułatwia ich późniejsze rozwijanie i utrzymanie. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 16</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="interpreter-php-wygeneruje-bad-i-nie-wykona-kodu-0cf7fb99" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Interpreter PHP zgłosi błąd i nie zrealizuje kodu, jeśli programista</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>A. nie umieści średnika po wyrażeniu w instrukcji if, jeśli po nim występuje sekcja else</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. będzie pisał kod bez odpowiednich wcięć</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. pobierze wartość z formularza, w którym pole input nie zostało wypełnione</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. będzie definiował zmienne w obrębie warunku</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> W języku PHP, średnik jest traktowany jako znak końca instrukcji. W przypadku, gdy po wyrażeniu w instrukcji 'if' następuje sekcja 'else', programista musi upewnić się, że poprawnie zakończył instrukcję 'if' średnikiem. W przeciwnym razie, interpreter PHP nie będzie w stanie poprawnie zinterpretować kodu, co prowadzi do błędu składniowego. Przykład: 'if ($a > $b) echo 'a jest większe'; else echo 'b jest większe';' jest poprawny, ponieważ średnik znajduje się po instrukcji 'if'. Jednak, jeśli napiszemy 'if ($a > $b) echo 'a jest większe' else echo 'b jest większe';', to zaowocuje to błędem, ponieważ brak średnika prowadzi do niejednoznaczności w interpretacji. Standardy PHP wymagają, aby każda instrukcja była zakończona średnikiem, co jest kluczowym elementem składni tego języka. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 17</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="ktora-z-funkcji-sql-ustrongnie-pobierastrong-17ada59c" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Która z funkcji SQL <u><strong>nie wymaga</strong></u> żadnych argumentów?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. year</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>B. now</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. len</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. upper</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Funkcja SQL 'now()' jest jedną z funkcji, które nie wymagają argumentów, a jej głównym zadaniem jest zwracanie bieżącej daty i godziny systemowej w formacie odpowiednim dla bazy danych. Użycie tej funkcji jest niezwykle przydatne w kontekście rejestrowania momentu wykonania operacji w bazie danych, na przykład przy dodawaniu nowych rekordów do tabeli. Przykładowe zastosowanie tej funkcji można zobaczyć w poniższym zapytaniu SQL: 'INSERT INTO wydarzenia (nazwa, data_utworzenia) VALUES ('Nowe Wydarzenie', now());'. Takie podejście nie tylko automatyzuje proces rejestrowania czasu, ale także zapewnia spójność danych, eliminując ryzyko błędów związanych z ręcznym wprowadzaniem daty. W praktyce, stosowanie funkcji, które nie wymagają argumentów, jest często zgodne z zasadami dobrych praktyk programistycznych, które promują czytelność i prostotę kodu. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 18</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-jezyku-html-atrybut-shape-znacznika-area-okr-e3d2cacf" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W języku HTML, atrybut shape w znaczniku area, który definiuje typ obszaru, może mieć wartość</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. style="margin-bottom: 0cm;">rect, triangle, circle</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. rect, sąuare, circle</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>C. rect, poły, circle</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. style="margin-bottom: 0cm;">poły, square, circle</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Atrybut shape znacznika area w języku HTML jest kluczowy dla określenia kształtu interaktywnego obszaru na mapie obrazów. Przyjmuje on wartości, które definiują geometrię obszaru w kontekście mapy, a do najpopularniejszych z nich należą 'rect', 'circle' oraz 'poly'. Wartość 'rect' definiuje prostokątny obszar, gdzie użytkownik może kliknąć w dowolnym miejscu w obrębie prostokąta. 'Circle' z kolei pozwala na stworzenie okrągłego obszaru kliknięcia, definiując jego środek oraz promień. Z kolei 'poly' umożliwia zdefiniowanie wielokątnego obszaru poprzez podanie współrzędnych wierzchołków. Te wartości są zgodne z definicjami przedstawionymi w standardach W3C, które określają sposób, w jaki przeglądarki interpretują te atrybuty. Przykładowo, dla atrybutu shape='rect' można podać współrzędne lewego górnego i prawego dolnego narożnika prostokąta, co sprawia, że jest to użyteczne w implementacji interaktywnych map. Zrozumienie tych wartości jest istotne dla programistów webowych, którzy chcą tworzyć dostępne i interaktywne treści. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 19</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="aby-doaczyc-kaskadowy-arkusz-stylow-zapisany-w-z-9b960ac6" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Aby włączyć kaskadowy arkusz stylów zapisany w oddzielnym pliku, należy zastosować poniższy fragment kodu HTML</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. <meta charset="styl.css" /></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>B. <link rel="stylesheet" type="text/css" href= "styl.css" /></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. <div id="styl.css" relation="css" /></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. <option value="styl.css" type="text/css" /></span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Aby dołączyć kaskadowy arkusz stylów zapisany w zewnętrznym pliku, poprawnie używamy tagu <link>. Ten tag pozwala na powiązanie zewnętrznego pliku CSS z dokumentem HTML, co jest kluczowe dla zarządzania stylem witryny internetowej. W atrybucie 'rel' określamy, że jest to arkusz stylów ('stylesheet'), a w atrybucie 'type' informujemy przeglądarkę, że plik jest typu 'text/css'. Atrybut 'href' wskazuje lokalizację pliku CSS. To podejście jest zgodne z zaleceniami W3C, co zapewnia kompatybilność z różnymi przeglądarkami. Przykładowe użycie wygląda następująco: <link rel='stylesheet' type='text/css' href='styl.css'>. Dzięki temu możemy oddzielić strukturę dokumentu HTML od jego stylizacji, co ułatwia zarządzanie kodem oraz poprawia efektywność ładowania stron. Praktyczne zastosowanie tego rozwiązania pozwala na łatwe wprowadzanie globalnych zmian w stylach, co jest szczególnie przydatne w dużych projektach, gdzie wiele stron korzysta z tego samego pliku CSS. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 20</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="wskaz-poprawne-stwierdzenie-dotyczace-przedstawio-d75e650c" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Wskaż właściwe twierdzenie odnoszące się do zaprezentowanego kodu HTML.</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. Plik animacja.mp4 powinien mieć rozdzielczość 640x480 pikseli, aby był odtwarzany.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>B. Kod może nie działać w przeglądarkach, które nie obsługują HTML5.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. Użytkownik nie będzie miał możliwości kontrolowania odtwarzania wideo.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. Lokalizacja pliku jest nieprawidłowa, brak w niej ścieżki bezwzględnej.</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Kod HTML przedstawiony w pytaniu wykorzystuje znacznik <video>, który jest elementem HTML5 pozwalającym na osadzanie filmów w dokumentach internetowych. W kontekście poprawnej odpowiedzi, kluczowym jest zrozumienie, że przeglądarki muszą obsługiwać HTML5, aby mogły w pełni funkcjonować z tym kodem. W przypadku starszych przeglądarek, które nie wspierają HTML5, element <video> może nie być wyświetlany lub nie będzie działał prawidłowo. Dlatego istotne jest, aby deweloperzy testowali swoje aplikacje w różnych środowiskach oraz aby korzystali z odpowiednich polyfilli dla starszych przeglądarek, które mogą poprawić ich funkcjonalność. Przykładowo, użycie biblioteki JavaScript takiej jak Video.js może pomóc w zapewnieniu wsparcia dla elementów wideo w szerszym zakresie przeglądarek. Dbałość o kompatybilność z różnymi wersjami przeglądarek to nie tylko kwestia estetyki, ale również użyteczności i dostępności aplikacji internetowych. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 21</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-jezyku-php-zastosowano-funkcje-is_int-ktore-z-dfb9ef65" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W języku PHP użyto funkcji is_int). Które z wymienionych wywołań tej funkcji zwróci wartość TRUE?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. is_int("135")</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. is_int(13.5)</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. is_int(NULL)</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>D. is_int(135)</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Wybór is_int(135) jako poprawnej odpowiedzi jest uzasadniony, ponieważ funkcja is_int w języku PHP służy do sprawdzania, czy zmienna jest typu całkowitego (integer). W tym przypadku 135 jest liczbą całkowitą, co oznacza, że funkcja zwróci wartość TRUE. Użycie is_int w praktyce jest przydatne, gdy chcemy upewnić się, że nasze dane wejściowe są odpowiedniego typu, co jest szczególnie ważne w aplikacjach, gdzie typ danych ma kluczowe znaczenie, na przykład w operacjach matematycznych czy przy interakcji z bazą danych. Dobrą praktyką jest zawsze walidowanie danych, aby uniknąć potencjalnych błędów i zapewnić stabilność aplikacji. Ponadto, w PHP typy są dynamiczne, co sprawia, że błędne typy danych mogą prowadzić do trudnych do zdiagnozowania błędów, dlatego stosowanie is_int może znacząco poprawić jakość kodu i jego bezpieczeństwo. Przykładowo, przed wykonaniem operacji arytmetycznych na wartościach przekazanych z formularza, warto sprawdzić, czy są one typu integer, aby zapobiec niepożądanym zachowaniom programu. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 22</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="z-jakimi-mechanizmami-nadawania-zabezpieczen-daja-bdd55261" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Jakie mechanizmy przydzielania zabezpieczeń, umożliwiające przeprowadzanie operacji na bazie danych, są powiązane z zagadnieniami dotyczącymi zarządzania kontami, użytkownikami oraz uprawnieniami?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>A. Z przywilejami systemowymi</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. Z atrybutami</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. Z regułami</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. Z przywilejami obiektowymi</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Przywileje systemowe odnoszą się do uprawnień, które są nadawane użytkownikom w kontekście zarządzania kontami i dostępem do zasobów w systemach baz danych. Te mechanizmy są kluczowe dla zapewnienia bezpieczeństwa oraz integralności danych. Przykładem przywilejów systemowych mogą być uprawnienia do tworzenia i usuwania innych kont użytkowników, a także do modyfikacji struktur danych, co jest fundamentalne w operacjach administracyjnych. W praktyce, administratorzy baz danych wykorzystują te przywileje do określenia, które konta mają dostęp do określonych funkcji systemu. W standardach takich jak SQL standard, zarządzanie uprawnieniami jest ściśle zdefiniowane, co pozwala na audyt i kontrolę dostępu. Aby stosować dobre praktyki, warto wdrożyć zasadę najmniejszych uprawnień, co oznacza, że użytkownicy powinni otrzymywać tylko te uprawnienia, które są niezbędne do wykonywania ich zadań. Dzięki temu minimalizujemy ryzyko nieautoryzowanego dostępu oraz potencjalnych naruszeń bezpieczeństwa. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 23</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="selektor-css-alink-colorred-zawarty-w-kaskado-37e14595" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Selektor CSS a:link {color:red} w arkuszach stylów nazywanych kaskadowymi określa</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. klasę.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>B. pseudoklasę.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. identyfikator.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. pseudoelement.</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Pseudoklasa CSS to specjalny rodzaj selektora, który pozwala na stylizację elementów na podstawie ich stanu lub kontekstu w dokumencie HTML. Zapis 'a:link' wskazuje, że stylizacja dotyczy linków, które jeszcze nie zostały odwiedzone przez użytkownika. Przykładowo, w tym przypadku 'color:red' ustawia kolor tekstu linku na czerwony. Użycie pseudoklas jest zgodne z dobrymi praktykami, ponieważ pozwala na tworzenie bardziej dynamicznych i responsywnych interfejsów użytkownika, poprawiając jednocześnie doświadczenia użytkowników. Warto również zaznaczyć, że w CSS istnieją inne pseudoklasy, takie jak ':hover' czy ':active', które umożliwiają stylizację elementów w różnych interakcjach z użytkownikiem. Dzięki nim możemy na przykład zmieniać kolor linku, gdy użytkownik na niego najedzie myszką, co zwiększa przejrzystość i użyteczność strony. Używanie pseudoklas jest nie tylko praktyczne, ale także zalecane w dokumentacji CSS, co przyczynia się do lepszego zarządzania i organizacji kodu. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 24</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="ktore-wyrazenie-logiczne-w-jezyku-php-sprawdza-cz-972938ef" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Jakie wyrażenie logiczne w języku PHP weryfikuje, czy zmienna1 znajduje się w jednostronnie domkniętym przedziale <-5, 10)?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>A. $zmienna1 >= -5 && $zmienna1 < 10</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. $zmienna1 <= -5 && $zmienna1 < 10</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. $zmienna1 >= -5 || $zmienna1 < 10</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. $zmienna1 <= -5 || $zmienna1 < 10</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Odpowiedź $zmienna1 >= -5 && $zmienna1 < 10 jest poprawna, ponieważ odpowiada definicji jednostronnie domkniętego przedziału, który obejmuje wartość -5 oraz wszystkie wartości większe, ale nie obejmuje wartości 10. Operator && (AND) jest używany do jednoczesnego sprawdzania dwóch warunków: pierwszy warunek ($zmienna1 >= -5) zapewnia, że zmienna jest większa lub równa -5, a drugi warunek ($zmienna1 < 10) sprawdza, czy zmienna jest mniejsza niż 10. W praktyce, taki zapis jest istotny w aplikacjach, gdzie ograniczamy zakres wartości dla zmiennych, na przykład w formularzach walidacji danych wejściowych. Dzięki temu możemy uniknąć błędów, które mogą wystąpić w przypadku niepoprawnych danych. Ponadto, stosowanie operatorów logicznych w PHP jest zgodne z najlepszymi praktykami programowania, jak na przykład dbałość o czytelność kodu oraz jego łatwość w utrzymaniu. Warto także pamiętać o testowaniu skrajnych wartości, aby upewnić się, że nasze warunki działają zgodnie z oczekiwaniami. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 25</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="przedstawiony-fragment-kodu-php-ma-za-zadanie-umie-61169bc1" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Zamieszczony fragment kodu PHP ma na celu wprowadzenie danych z zmiennych $a, $b, $c do bazy danych w tabeli dane. Tabela dane składa się z czterech pól, z których pierwsze jest autoinkrementowanym kluczem głównym. Które z poniższych poleceń powinno być przypisane do zmiennej $zapytanie?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. INSERT INTO dane VALUES ('$a', '$b', '$c');</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. SELECT '$a', '$b', '$c' FROM dane;</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>C. INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. SELECT NULL, '$a', '$b', '$c' FROM dane;</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Właściwe polecenie to 'INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');'. Użycie NULL w pierwszym polu pozwala na automatyczne ustawienie wartości klucza głównego, co jest zgodne z zasadą autoinkrementacji w bazach danych. Wartości zmiennych $a, $b i $c są wstawiane do kolejnych pól tabeli, co jest standardową praktyką w przypadku dodawania nowych rekordów do bazy danych. Dobrą praktyką jest również stosowanie przygotowanych zapytań, aby zminimalizować ryzyko ataków typu SQL injection. Można to osiągnąć za pomocą funkcji mysqli_prepare, co zwiększa bezpieczeństwo aplikacji. W kontekście standardów branżowych, PostgreSQL oraz MySQL stosują podobne zasady dotyczące wstawiania danych, co czyni tę wiedzę uniwersalną dla różnych systemów zarządzania bazami danych. Warto również zrozumieć, że wstawianie danych bezpośrednio przy użyciu zmiennych bez walidacji może prowadzić do błędów, dlatego zaleca się ich odpowiednie przetwarzanie przed wykonaniem zapytania. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 26</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="aby-wyswietlic-rekordy-z-tabeli-pracownicy-tylko-d-8af5654c" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Aby uzyskać dane z tabeli pracownicy wyłącznie dla osób, które osiągnęły 26 lat, należy zastosować zapytanie</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. SELECT * FROM pracownicy OR wiek > '25'</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. SELECT * FROM wiek WHERE pracownicy > '25'</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>C. SELECT * FROM pracownicy WHERE wiek > '25'</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. SELECT * FROM pracownicy AND wiek > '25'</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > '25';'. To zapytanie jest zgodne z zasadami SQL i pozwala na wyświetlenie wszystkich rekordów z tabeli 'pracownicy', które spełniają określony warunek dotyczący wieku. Używając klauzuli WHERE, precyzyjnie filtrujemy wyniki i zwracamy tylko tych pracowników, którzy mają więcej niż 25 lat. Warto pamiętać, że w SQL operator '>' jest wykorzystywany do porównywania wartości, a w tym przypadku pozwala nam na wybranie pracowników, którzy ukończyli 26 lat. Przy projektowaniu zapytań SQL, kluczowe jest stosowanie odpowiednich warunków filtrujących, aby ograniczyć zwracane dane do tych istotnych dla analiz. Przykładowo, analiza wieku pracowników w kontekście przyznawania dodatków lub przeprowadzania szkoleń może opierać się na takich zapytaniach. W praktyce, ważne jest także wykorzystanie indeksów w bazach danych, aby zwiększyć wydajność zapytań, zwłaszcza w dużych zbiorach danych. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 27</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="dana-jest-tablica-n-elementowa-o-nazwie-tn-zadan-962cfc31" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Dana jest tablica n-elementowa o nazwie t[n] Zadaniem algorytmu zapisanego w postaci kroków jest wypisanie sumy <table style="border: 2px solid black; border-collapse: collapse; margin-bottom: 20px;"> <tr> <td style="border: 1px solid black; padding: 10px; font-family: monospace;"> K1: i = 0; wynik = 0;<br> K2: Dopóki i < n wykonuj K3 .. K4<br>     K3: wynik ← wynik + t[i]<br>     K4: i ← i + 2<br> K5: wypisz wynik </td> </tr> </table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. sumy wszystkich elementów tablicy.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. sumy tych elementów tablicy, których wartości są nieparzyste.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. n-elementów tablicy.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>D. co drugiego elementu tablicy.</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> 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. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 28</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="dana-jest-tabela-mieszkancy-aby-przetworzyc-wszys-55f3ac31" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W tabeli mieszkancy znajdują się różne dane. Aby przefiltrować jedynie mieszkańców, którzy mają przypisaną dzielnicę = 1, stworzono dla uproszczenia działania wirtualną tabelę (widok) poprzez zastosowanie kwerendy</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>A. CREATE VIEW mieszkancySrodmiescie AS SELECT * FROM mieszkancy WHERE dzielnica = 1</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. CREATE VIEW mieszkancy WHERE dzielnica = 1</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. CREATE VIEW mieszkancySrodmiescie AS SELECT * FROM mieszkancy</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. CREATE VIEW mieszkancy FROM mieszkancy WHERE dzielnica = 1</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Odpowiedź nr 4 jest na pewno w porządku, bo dobrze definiuje widok w SQL. Filtruje ona dane mieszkańców na podstawie konkretnego warunku. Użycie składni 'CREATE VIEW mieszkancySrodmiescie AS SELECT * FROM mieszkancy WHERE dzielnica = 1;' jest naprawdę zgodne z tym, co powinniśmy robić przy tworzeniu widoków w bazach danych. Widok to w zasadzie zapytanie, które pokazuje dane w specyficzny sposób, a w tym przypadku koncentruje się na mieszkańcach z konkretnej dzielnicy. Moim zdaniem, definiując widoki, warto pamiętać, że prostsze zapytania mogą znacznie poprawić czytelność i ułatwić pracę z kodem. Widoki są naprawdę przydatnym narzędziem do organizacji i segregacji danych, zwłaszcza w dużych systemach, gdzie filtrowanie i agregacja mają duże znaczenie. Na przykład, jeśli chciałbyś zobaczyć mieszkańców tylko z jednej dzielnicy, wystarczy, że użyjesz widoku i napiszesz 'SELECT * FROM mieszkancySrodmiescie'. Dobrze też wiedzieć, że widoki nie tylko filtrują, ale mogą też pomagać w prezentacji bardziej skomplikowanych zestawów danych, co czyni je uniwersalnym narzędziem w analizie i raportowaniu danych. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 29</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-jezyku-css-wciecie-pierwszej-linii-akapitu-na-30-0afc8d1b" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W CSS, aby ustawić wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć następującego zapisu</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. p { line-height: 30px; }</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. p { line-indent: 30px; }</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. p { text-spacing: 30px; }</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>D. p { text-indent: 30px; }</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Odpowiedź p { text-indent: 30px; } jest poprawna, ponieważ właściwość text-indent w CSS służy do definiowania wcięcia pierwszej linii tekstu w elemencie blokowym, takim jak akapit (p). Umożliwia to nadanie tekstowi estetycznego wyglądu oraz zwiększenie czytelności, szczególnie w dłuższych blokach tekstu. Wartość 30px oznacza, że pierwsza linia akapitu zostanie przesunięta o 30 pikseli w prawo względem pozostałych linii. Przykładowo, jeśli mamy długi akapit z tekstem, zastosowanie wcięcia może pomóc w wyodrębnieniu go wizualnie, co sprzyja lepszemu zrozumieniu zawartości przez użytkowników. Warto także dodać, że standardy CSS są regularnie aktualizowane, a stosowanie dobrych praktyk, takich jak odpowiednie formatowanie tekstu, ma kluczowe znaczenie w projektowaniu responsywnych i przyjaznych dla użytkownika stron internetowych. Wykorzystanie text-indent jest jedną z technik, które przyczyniają się do poprawy UX (User Experience). </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 30</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="polecenie-w-jezyku-sql-grant-all-privileges-on-kl-0e58432b" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Polecenie w SQL GRANT ALL PRIVILEGES ON klienci TO pracownik ma na celu</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>A. nadać wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. przyznać grupie klienci uprawnienia do tabeli pracownik</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. przenieść uprawnienia z grupy klienci na użytkownika pracownik</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. cofnąć wszystkie uprawnienia pracownika do tabeli klienci</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Polecenie GRANT ALL PRIVILEGES ON klienci TO pracownik w języku SQL jest używane do nadawania wszystkich dostępnych uprawnień na określonej tabeli, w tym przypadku na tabeli klienci, użytkownikowi o nazwie pracownik. Dzięki temu, otrzymuje on pełną kontrolę nad danymi w tej tabeli, co obejmuje możliwość dodawania, modyfikowania oraz usuwania rekordów, a także zarządzania strukturą tabeli. Jako przykład, jeśli pracownik potrzebuje wprowadzać nowe informacje o klientach, usuwanie zbędnych danych lub edytowanie istniejących rekordów, nadanie mu wszystkich uprawnień jest kluczowe. Standardy SQL definiują sposób zarządzania uprawnieniami i pozwalają administratorom na precyzyjne kontrolowanie dostępu do danych. W praktyce, aby skorzystać z tego polecenia, użytkownik musi mieć odpowiednie uprawnienia do nadawania uprawnień innym użytkownikom. Warto również pamiętać o zasadzie najmniejszych uprawnień, która sugeruje, że użytkownik powinien otrzymać tylko te uprawnienia, które są niezbędne do wykonania jego zadań, co zwiększa bezpieczeństwo bazy danych. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 31</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="na-tabeli-muzyka-przedstawionej-na-rysunku-zosta-e9fafa42" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Na tabeli muzyka, przedstawionej na rysunku, zostało wykonane następujące zapytanie SQL. Jaki wynik zwróci ta kwerenda? <table border="1"> <tr> <td> <pre><code>SELECT wykonawca FROM `muzyka` WHERE wykonawca LIKE 'C%w';</code></pre> </td> </tr> </table> <table border="1" cellpadding="5" cellspacing="0"> <tr style="background-color: #e0e0e0;"> <th>ID</th> <th>tytul_plyty</th> <th>wykonawca</th> <th>rok_nagrania</th> <th>opis</th> </tr> <tr style="background-color: #ffffff;"> <td>1</td> <td>Czas jak rzeka</td> <td>Czeslaw Niemen</td> <td>2005</td> <td>Przyjdz W Taka Noc itd.</td> </tr> <tr style="background-color: #f2f2f2;"> <td>2</td> <td>Ikona</td> <td>Stan Borys</td> <td>2014</td> <td></td> </tr> <tr style="background-color: #ffffff;"> <td>3</td> <td>Aerolit</td> <td>Czeslaw Niemen</td> <td>2017</td> <td>Winylowa reedycja płyty „Aerolit”.</td> </tr> <tr style="background-color: #f2f2f2;"> <td>4</td> <td>Journey</td> <td>Mikolaj Czechowski</td> <td>2013</td> <td></td> </tr> </table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. Czeslaw, Czechowski</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. Czeslaw</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. Czeslaw, Niemen</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>D. pusty wynik</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Dobrze, wybrałeś prawidłową odpowiedź. Zapytanie SQL, które widzimy w tym pytaniu, zostało sformułowane w taki sposób, że wyszukuje ono wszystkich wykonawców (kolumna 'wykonawca' w tabeli 'muzyka'), których nazwy zaczynają się na literę 'C' i kończą na literę 'w'. Składnia LIKE 'C%w' w warunku WHERE zapytania SQL jest używane do dopasowania wzorca, gdzie '%' oznacza dowolny ciąg znaków, a 'C' i 'w' to konkretne litery na początku i końcu nazwy. Jednak w tabeli 'muzyka' nie ma żadnego wykonawcy, który spełniałby ten warunek. Dlatego wynik zapytania jest pusty. Jest to dobra praktyka, aby zrozumieć, jak używać operatora LIKE w zapytaniach SQL, ponieważ pozwala na elastyczne wyszukiwanie danych w bazie danych. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 32</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="captcha-to-technika-zabezpieczen-na-stronach-www-227c9211" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>CAPTCHA to metoda zabezpieczeń stosowana na stronach WWW, która umożliwia</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>A. potwierdzenie, że informacje z formularza są przesyłane przez człowieka</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. automatyczne wypełnienie formularza logowania danymi użytkownika</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. przyspieszenie logowania do aplikacji internetowej</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. ominięcie procesu autoryzacji w aplikacji internetowej</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> CAPTCHA, czyli Completely Automated Public Turing test to tell Computers and Humans Apart, to technika zabezpieczeń powszechnie stosowana na stronach internetowych, której celem jest rozróżnienie użytkowników ludzkich od automatycznych programów (botów). Mechanizm ten działa poprzez prezentację wyzwań, które są trudne do rozwiązania przez maszyny, ale relatywnie proste dla ludzi. Przykłady obejmują rozpoznawanie tekstu zniekształconego w obrazach, wybieranie obrazków pasujących do podanych kategorii, czy rozwiązywanie prostych zagadek logicznych. CAPTCHA jest bardzo istotnym narzędziem w ochronie przed spamem, atakami typu brute-force oraz innymi formami nadużyć, które mogą zagrażać bezpieczeństwu aplikacji internetowych. Zastosowanie CAPTCHA stało się standardem w branży IT i jest szeroko wspierane przez organizacje, takie jak Google, które opracowały popularny reCAPTCHA, integrujący technologię uczenia maszynowego do dalszego poprawienia skuteczności i użyteczności testów. Wdrożenie CAPTCHA w formularzach rejestracyjnych czy logowania znacząco zwiększa poziom bezpieczeństwa, jednocześnie zmniejszając ryzyko nadużyć oraz ochroniając dane użytkowników. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 33</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="aby-wyaczyc-dzwiek-dla-wyswietlanego-w-przegladar-b0b495c1" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Który atrybut należy dodać do znacznika <video>, aby wyciszyć dźwięk odtwarzanego w przeglądarce filmu? <table style="border: 2px solid black; border-collapse: collapse;"> <tr> <td style="border: 1px solid black; padding: 10px; font-family: monospace;"> <video> <source src="film.mp4" type="video/mp4"> </video> </td> </tr> </table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>A. muted</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. autoplay</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. loop</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. controls</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Twoja odpowiedź jest poprawna. Atrybut 'muted' jest używany w znaczniku <video>, aby wyłączyć dźwięk dla filmu wyświetlanego w przeglądarce. Jest to sposób na sterowanie dźwiękiem bez konieczności korzystania z dodatkowych elementów kontrolujących odtwarzanie filmu. Jest to bardzo przydatne, gdy chcemy, aby film był odtwarzany w tle bez zakłócania użytkownika dźwiękiem, co jest często stosowane na stronach internetowych. Ważne jest to, że to atrybut 'muted' jest odpowiedzialny za początkowy stan dźwięku filmu, a nie za to, czy użytkownik będzie mógł go później włączyć. Dodatkowo, dobrą praktyką jest pozostawienie użytkownikowi możliwości sterowania dźwiękiem, nawet jeśli jest on domyślnie wyłączony, co można osiągnąć dodając atrybut 'controls'. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 34</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="ktory-znacznik-nalezy-do-znacznikow-definiujacych-140fc80c" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Który z poniższych znaczników jest używany do definiowania list w HTML?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. <th></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. <tr></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>C. <ul></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. <td></span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> <ul> jest znacznikami HTML, które definiuje nieuporządkowaną listę. Użycie tego znacznika pozwala na przedstawienie elementów listy w formie graficznej, gdzie każdy element jest oznaczony punktem. Jest to podstawowy element w HTML, który jest zgodny z wytycznymi W3C i szeroko stosowany w tworzeniu responsywnych i estetycznych interfejsów użytkownika. Przykładowe zastosowanie <ul> może obejmować listy składników, funkcji, czy też elementów menu na stronie internetowej. Stosując <ul>, można także użyć znacznika <li>, aby określić poszczególne elementy listy, co zwiększa czytelność i strukturalizację treści. Znajomość i umiejętność stosowania tych znaczników jest kluczowa dla każdego web developera, aby tworzyć dostępne i zrozumiałe dla użytkowników interfejsy, a także wspierać praktyki SEO poprzez odpowiednią organizację treści. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 35</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="jak-nazywa-sie-metoda-doaczania-arkusza-stylow-do-0a7df611" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Jak nazywa się metoda dodawania arkusza stylów do dokumentu HTML zastosowana w poniższym kodzie?<table style="border: 2px solid black; border-collapse: collapse;"> <tr> <td style="border: 1px solid black; padding: 10px; font-family: monospace;"> <p style="color: red;">tekst paragrafu</p> </td> </tr> </table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>A. Styl wpisany, lokalny</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. Styl wewnętrzny</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. Styl alternatywny, zewnętrzny</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. Styl zewnętrzny</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Styl wpisany, lokalny, to metoda definiowania stylów bezpośrednio w elemencie HTML, co jest dokładnie tym, co widzimy w przedstawionym kodzie. W tym przypadku atrybut "style" jest użyty, aby ustawić kolor tekstu na czerwony dla konkretnego paragrafu. Ta metoda jest przydatna, gdy potrzebujemy szybko wprowadzić zmiany w stylu pojedynczego elementu bez konieczności edytowania zewnętrznych arkuszy stylów. Z perspektywy standardów webowych, lokalne style mogą wprowadzać poważne problemy z utrzymaniem kodu, gdy stosowane w nadmiarze, ponieważ kody CSS mogą stać się trudne do zarządzania, a konsystencja stylów może być zagrożona. Z tego powodu, dla bardziej rozbudowanych projektów, rekomenduje się korzystanie z arkuszy stylów zewnętrznych lub wewnętrznych, które zapewniają lepszą organizację kodu oraz ułatwiają zarządzanie stylami na większą skalę. Dobrą praktyką jest również korzystanie z klas CSS, co pozwala na ponowne wykorzystanie stylów w różnych częściach dokumentu, eliminując duplikacje. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 36</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-jezyku-php-tablice-asocjacyjne-to-tablice-w-kto-e4319d95" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W PHP tablice asocjacyjne to struktury, w których</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. są co najmniej dwa wymiary</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>B. indeks może być dowolnym ciągiem znaków</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. w każdej pozycji tablicy znajduje się inna tablica</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. elementy tablicy są zawsze numerowane od zera</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Tablice asocjacyjne w języku PHP są strukturami danych, które łączą unikalne klucze (indeksy) z wartościami. Klucze mogą być dowolnymi napisami, co oznacza, że programista ma dużą swobodę w definiowaniu, jak będą wyglądały indeksy. Na przykład, można używać nazw użytkowników jako kluczy, co pozwala na łatwe odwoływanie się do powiązanych danych. Przykład zastosowania tablic asocjacyjnych to przechowywanie informacji o użytkownikach w formacie: $użytkownicy = array('jan' => 'Jan Kowalski', 'ania' => 'Anna Nowak'). W praktyce, tablice asocjacyjne są niezwykle użyteczne, gdyż pozwalają na bardziej intuicyjny dostęp do danych, a także umożliwiają organizowanie danych w sposób, który jest zrozumiały dla programisty oraz osób współpracujących z kodem. Dobrą praktyką jest stosowanie nazw kluczy, które jednoznacznie opisują przechowywane dane, co zwiększa czytelność i ułatwia późniejsze modyfikacje w kodzie. Warto również dodać, że tablice asocjacyjne w PHP są implementowane jako hashe, co zapewnia szybki dostęp do wartości na podstawie kluczy. To czyni je efektywnym narzędziem w codziennej pracy programisty, szczególnie przy pracy z dużymi zbiorami danych. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 37</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-jezyku-php-chcac-wyswietlic-ciag-n-znakow-nal-82007e8c" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Jaka funkcja w PHP pozwala na wyświetlenie ciągu n znaków @? <table style="border: 2px solid black; border-collapse: collapse;"><tr><td style="border: 1px solid black; padding: 10px; font-family: monospace;"><!-- Tutaj umieść odwzorowaną zawartość obrazka --><pre style="margin: 0;">function znaki($znak,$i++){<br> for($i=0;$i<$n;$i++)<br> print($znak);<br>}<br>znaki(@,$n);</pre>A<hr><pre style="margin: 0;">function znaki($i){<br> for($i=0;$i<$n;$i++)<br> print("@");<br>}<br>znaki($i);</pre>B<hr><pre style="margin: 0;">function znaki($znak,$i++){<br> for($i=0;$i<$n;$i++)<br> print($znak);<br>}<br>znaki($n);</pre>C<hr><pre style="margin: 0;">function znaki($znak,$n){<br> for($i=0;$i<$n;$i++)<br> print($znak);<br>}<br>znaki("@",$n);</pre>D</td></tr></table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. B</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. A</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>C. D</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. C</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Odpowiedź D jest prawidłowa ponieważ pokazuje właściwe zastosowanie funkcji w języku PHP aby wyświetlić ciąg n znaków @. W tej funkcji znaki podajemy dwa parametry: pierwszy określa znak do wyświetlenia w tym przypadku @ drugi liczbę powtórzeń czyli n. Funkcja wykorzystuje pętlę for aby iteracyjnie wyświetlać zadany znak dopóki licznik iteracji nie osiągnie wartości n. Przekazanie @ jako pierwszego argumentu i n jako drugiego umożliwia elastyczne i dynamiczne generowanie ciągów o żądanej długości co jest zgodne z dobrymi praktykami w programowaniu PHP. Taki sposób pisania kodu sprzyja czytelności i łatwości utrzymania co jest kluczowe w większych projektach gdzie często wymagana jest elastyczność i możliwość ponownego użycia kodu. Ponadto funkcja ta ilustruje podstawowe zasady programowania obiektowego takie jak enkapsulacja i modularność dzięki czemu kod jest łatwiejszy do zrozumienia i modyfikacji gdy zachodzi taka potrzeba. Pamiętaj że w praktycznych zastosowaniach warto używać funkcji bibliotecznych jak str_repeat które oferują podobną funkcjonalność z większą optymalizacją. Takie podejście zapewnia nie tylko poprawność działania ale także optymalizację wydajności co jest istotne szczególnie w aplikacjach o dużym obciążeniu i skali. Poprawne użycie odpowiednich funkcji i struktur danych jest kluczem do utrzymania wysokiej jakości kodu w projektach PHP. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 38</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="ile-iteracji-bedzie-miaa-petla-zapisana-w-jezyku-2dd2efed" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Ile razy zostanie wykonany blok pętli napisanej w PHP, przy założeniu, że zmienna sterująca nie jest modyfikowana podczas działania pętli? <table style="border: 2px solid black; border-collapse: collapse;"><tr><td style="border: 1px solid black; padding: 10px; font-family: monospace;"><span style="color: blue;">for</span>(<span style="color: purple;">$i=0</span>; <span style="color: orange;">$i <=10</span>; <span style="color: purple;">$i+=2</span>) { <br>        . . . . . . <br> }</td></tr></table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>A. 6</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. 10</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. 5</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. 0</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Poprawna odpowiedź to 6 ponieważ pętla for w PHP rozpoczyna się od wartości początkowej zmiennej sterującej i inkrementuje ją zgodnie z określonym krokiem aż do momentu spełnienia warunku końcowego Przy początkowej wartości zmiennej i równej 0 i warunku i<=10 oraz kroku i+=2 pętla wykonuje się dla wartości i równych 0 2 4 6 8 i 10 co daje 6 iteracji W takich przypadkach ważne jest aby zrozumieć jak działają podstawowe elementy składni pętli for oraz jakie jest znaczenie warunku końcowego i kroku iteracji W praktyce taki sposób iteracji jest użyteczny w sytuacjach gdzie przetwarzamy dane w określonych odstępach Warto również zwrócić uwagę że dobra praktyka programistyczna zakłada czytelność kodu i stosowanie jasnych komentarzy zwłaszcza gdy pętla ma bardziej złożoną logikę Dzięki temu kod jest łatwiejszy do zrozumienia i utrzymania przez innych programistów co jest kluczowe w pracy zespołowej oraz długoterminowym rozwijaniu projektu </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 39</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="co-mozna-powiedziec-o-przedstawionym-zapisie-jezyk-e27649c4" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Co można powiedzieć o przedstawionym zapisie języka HTML 5? <table border="1"> <tr> <td> <pre><code><title>Strona o psach</title></code></pre> </td> </tr> </table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. Zostanie zapisany w treści strony, na samej górze.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. Jest opcjonalny dla języka HTML 5 i nie musi wystąpić w dokumencie.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>C. Pojawi się na karcie dokumentu w przeglądarce.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. Jest jedynie informacją dla robotów wyszukiwarek i nie jest wyświetlany przez przeglądarkę.</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Brawo, Twoja odpowiedź jest prawidłowa! Znacznikiw języku HTML 5 służy do określenia tytułu strony internetowej, który jest wyświetlany na karcie przeglądarki. Nie jest to opcjonalna informacja - każda strona powinna mieć tytuł dla lepszej identyfikacji i optymalizacji SEO (Search Engine Optimization). Tytuł strony jest jednym z kluczowych elementów dla SEO, ponieważ wyszukiwarki internetowe, takie jak Google, często wykorzystują tytuł strony jako główny link w wynikach wyszukiwania. Tytuł strony jest również ważny z punktu widzenia użytkownika - dobrze sformułowany tytuł może przyciągnąć uwagę potencjalnego odbiorcy i zachęcić go do odwiedzenia strony. Warto zauważyć, że tytuł nie jest wyświetlany bezpośrednio na stronie, ale na pasku tytułu przeglądarki lub na karcie strony. To ważne rozróżnienie pomaga zrozumieć, dlaczego niektóre elementy są widoczne dla użytkownika, a inne nie. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 40</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-jezyku-sql-przedstawiony-warunek-jest-rownowazny-581be0cf" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W języku SQL przedstawiony warunek jest równoważny warunkowi <table border="1"> <tr> <td> <pre><code>liczba >= 10 AND liczba <= 100</code></pre> </td> </tr> </table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. liczba LIKE '10%'</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. NOT (liczba < 10 AND liczba > 100)</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. liczba IN (10, 100)</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>D. liczba BETWEEN 10 AND 100</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> 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. </div> </div> </div> </article> <!-- Przyciski nawigacyjne --> <div class="d-grid gap-2 mt-4"> <div class="d-inline-block mb-2"> <a href="/egzamin/?profession=technik-informatyk&qualification=inf-03" class="btn btn-outline-primary"> <i class="fas fa-redo me-2"></i>Rozpocznij nowy egzamin </a> </div> <div class="d-inline-block"> <a href="/" class="btn btn-outline-secondary"> <i class="fas fa-home me-2"></i>Powrót do strony głównej </a> </div> </div> </div> </div> </div> </main> <!-- Footer --> <footer class="footer mt-auto py-4"> <div class="container"> <div class="row"> <!-- About Section --> <div class="col-lg-4 footer-section"> <h2 class="h5">O Egzaminach Zawodowych</h2> <p> Portal z kompleksową bazą pytań egzaminacyjnych dla uczniów szkół technicznych. Przygotuj się do egzaminu zawodowego z naszymi materiałami. </p> </div> <!-- Popular Qualifications --> <div class="col-lg-4 footer-section"> <h2 class="h5">Losowe kwalifikacje</h2> <div class="row"> <div class="col-6"> <a href="/technik-urzadzen-i-systemow-energetyki-odnawialnej/ELE.10/" class="footer-link"> <span>ELE.10</span> <small class="text-muted">(493)</small> </a> </div> <div class="col-6"> <a href="/technik-mechanik/MEC.08/" class="footer-link"> <span>MEC.08</span> <small class="text-muted">(96)</small> </a> </div> <div class="col-6"> <a href="/technik-administracji/EKA.01/" class="footer-link"> <span>EKA.01</span> <small class="text-muted">(1 256)</small> </a> </div> <div class="col-6"> <a href="/technik-hodowca-koni/ROL.07/" class="footer-link"> <span>ROL.07</span> <small class="text-muted">(183)</small> </a> </div> <div class="col-6"> <a href="/technik-ochrony-srodowiska/CHM.05/" class="footer-link"> <span>CHM.05</span> <small class="text-muted">(934)</small> </a> </div> <div class="col-6"> <a href="/technik-informatyk/INF.02/" class="footer-link"> <span>INF.02</span> <small class="text-muted">(3 414)</small> </a> </div> <div class="col-6"> <a href="/technik-optyk/MEP.02/" class="footer-link"> <span>MEP.02</span> <small class="text-muted">(221)</small> </a> </div> <div class="col-6"> <a href="/technik-robot-wykonczeniowych-w-budownictwie/BUD.11/" class="footer-link"> <span>BUD.11</span> <small class="text-muted">(1 302)</small> </a> </div> <div class="col-6"> <a href="/technik-realizacji-nagran/AUD.09/" class="footer-link"> <span>AUD.09</span> <small class="text-muted">(456)</small> </a> </div> <div class="col-6"> <a href="/technik-robot-wykonczeniowych-w-budownictwie/BUD.25/" class="footer-link"> <span>BUD.25</span> <small class="text-muted">(943)</small> </a> </div> </div> </div> <!-- Additional Info --> <div class="col-lg-4 footer-section"> <h2 class="h5">O portalu</h2> <p> Baza pytań do egzaminów zawodowych dla uczniów szkół technicznych i branżowych. Materiały zgodne z wymaganiami CKE. </p> </div> </div> <!-- Copyright & Links --> <hr class="footer-divider"> <div class="row align-items-center"> <div class="col-md-8 text-center text-md-start"> <p class="mb-0">© 2025 <a href="https://brylka.net" class="footer-link" aria-label="brylka.net">brylka.net</a> | <a href="/about-me/" class="footer-link" aria-label="O mnie i zawodowe.edu.pl">Bartosz Bryniarski</a></p> </div> <div class="col-md-4 text-center text-md-end"> <!-- <a href="/sitemap.xml" class="footer-link" aria-label="Mapa strony"> <i class="fas fa-sitemap" aria-hidden="true"></i> <span>Mapa strony</span> </a> --> </div> </div> </div> </footer> <!-- Back to top button --> <button id="backToTop" class="btn btn-outline-primary back-to-top" aria-label="Przewiń do góry strony" style="display: none;"> <i class="fas fa-arrow-up" aria-hidden="true"></i> </button> <!-- Cookie Banner --> <div id="cookieConsent" class="position-fixed start-0 bottom-0 py-3 shadow rounded-end" style="display: none; z-index: 1050; max-width: 50%; background-color: rgba(248, 249, 250, 0.95);"> <div class="container-fluid px-4"> <div class="d-flex flex-column gap-2"> <div> <i class="fas fa-cookie-bite me-2 text-secondary" aria-hidden="true"></i> <span class="small"> Strona wykorzystuje pliki cookies do poprawy doświadczenia użytkownika oraz analizy ruchu. <a href="#" class="footer-link" id="cookieDetails" data-bs-toggle="modal" data-bs-target="#cookieModal"> Szczegóły </a> </span> </div> <div class="d-flex gap-2 justify-content-end"> <button id="cookieAccept" class="btn btn-outline-primary btn-sm">Akceptuję</button> <button id="cookieReject" class="btn btn-outline-secondary btn-sm">Odrzuć</button> </div> </div> </div> </div> <!-- Modal z informacjami o cookies --> <div class="modal fade" id="cookieModal" tabindex="-1" aria-labelledby="cookieModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h2 class="modal-title fs-5" id="cookieModalLabel">Polityka plików cookies</h2> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Zamknij"></button> </div> <div class="modal-body"> <h6 class="fw-bold">Czym są pliki cookies?</h6> <p> Cookies to małe pliki tekstowe, które są zapisywane na urządzeniu użytkownika podczas przeglądania stron internetowych. Służą one do zapamiętywania preferencji, śledzenia zachowań użytkowników oraz poprawy funkcjonalności serwisu. </p> <h6 class="fw-bold mt-4">Jakie cookies wykorzystujemy?</h6> <ul class="list-unstyled ps-3"> <li><i class="fas fa-check-circle text-success me-2"></i><strong>Niezbędne cookies</strong> - konieczne do prawidłowego działania strony</li> <li><i class="fas fa-check-circle text-success me-2"></i><strong>Funkcjonalne cookies</strong> - umożliwiające zapamiętanie wybranych ustawień (np. wybrany motyw)</li> <li><i class="fas fa-check-circle text-success me-2"></i><strong>Analityczne cookies</strong> - pozwalające zbierać informacje o sposobie korzystania ze strony</li> </ul> <h6 class="fw-bold mt-4">Jak długo przechowujemy cookies?</h6> <p> Pliki cookies wykorzystywane w naszym serwisie mogą być sesyjne (usuwane po zamknięciu przeglądarki) lub stałe (pozostają na urządzeniu przez określony czas). </p> <h6 class="fw-bold mt-4">Jak zarządzać cookies?</h6> <p> Możesz zarządzać ustawieniami plików cookies w swojej przeglądarce internetowej. Większość przeglądarek domyślnie dopuszcza przechowywanie plików cookies, ale możliwe jest również całkowite zablokowanie tych plików lub usunięcie wybranych z nich. </p> </div> <div class="modal-footer"> <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Zamknij</button> <button type="button" class="btn btn-outline-primary" id="acceptCookiesModal">Akceptuję wszystkie</button> </div> </div> </div> </div> <!-- JavaScript --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" defer></script> <script src="/static/exams/js/code.js" defer></script> <script src="/static/exams/js/report_modal.js" defer></script> <script> document.addEventListener('DOMContentLoaded', function() { // Dodaj obsługę motywów dla banera cookie function updateCookieBannerTheme() { const cookieBanner = document.getElementById('cookieConsent'); const currentTheme = document.body.getAttribute('data-theme'); if (!cookieBanner) return; // Ustaw domyślny jasny styl cookieBanner.style.backgroundColor = 'rgba(248, 249, 250, 0.95)'; cookieBanner.style.color = '#212529'; cookieBanner.classList.remove('border-top', 'border-white'); // Zastosuj style zgodnie z motywem if (currentTheme === 'dark') { cookieBanner.style.backgroundColor = 'rgba(52, 58, 64, 0.95)'; cookieBanner.style.color = '#fff'; } else if (currentTheme === 'high-contrast') { cookieBanner.style.backgroundColor = '#000'; cookieBanner.style.color = '#fff'; cookieBanner.classList.add('border-top', 'border-white'); } } // Sprawdź, czy użytkownik już dokonał wyboru if (!localStorage.getItem('cookieConsent')) { // Jeśli nie, pokaż banner const cookieBanner = document.getElementById('cookieConsent'); if (cookieBanner) { cookieBanner.style.display = 'block'; updateCookieBannerTheme(); // Dostosuj szerokość na małych ekranach function adjustWidth() { if (window.innerWidth < 768) { cookieBanner.style.maxWidth = '100%'; } else { cookieBanner.style.maxWidth = '50%'; } } // Wywołaj przy ładowaniu i przy zmianie rozmiaru okna adjustWidth(); window.addEventListener('resize', adjustWidth); } } // Obsługa zmiany motywu const themeButtons = document.querySelectorAll('.theme-btn'); themeButtons.forEach(btn => { btn.addEventListener('click', function() { setTimeout(updateCookieBannerTheme, 50); }); }); // Obsługa przycisku akceptacji document.getElementById('cookieAccept')?.addEventListener('click', function() { localStorage.setItem('cookieConsent', 'accepted'); document.getElementById('cookieConsent').style.display = 'none'; }); // Obsługa przycisku odrzucenia document.getElementById('cookieReject')?.addEventListener('click', function() { localStorage.setItem('cookieConsent', 'rejected'); document.getElementById('cookieConsent').style.display = 'none'; }); // Obsługa przycisku akceptacji w modalu document.getElementById('acceptCookiesModal')?.addEventListener('click', function() { localStorage.setItem('cookieConsent', 'accepted'); document.getElementById('cookieConsent').style.display = 'none'; // Zamknij modal var cookieModal = bootstrap.Modal.getInstance(document.getElementById('cookieModal')); cookieModal?.hide(); }); }); </script> <!-- Toast messages initialization --> <script> document.addEventListener('DOMContentLoaded', function() { const copyButton = document.getElementById('copy-link-button'); if (copyButton) { copyButton.addEventListener('click', function() { const input = document.getElementById('share-link-input'); input.select(); document.execCommand('copy'); // Zmień tekst przycisku na potwierdzenie const originalText = this.innerHTML; this.innerHTML = '<i class="fas fa-check me-1"></i> Skopiowano!'; // Przywróć oryginalny tekst po 2 sekundach setTimeout(() => { this.innerHTML = originalText; }, 2000); }); } }); </script> </body> </html>