Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 10 czerwca 2025 12:12
  • Data zakończenia: 10 czerwca 2025 12:41

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Z którego z pól klasy ```class Dane { public $a; private $b; protected $c; }``` będzie można uzyskać dostęp z zewnątrz przy użyciu obiektu stworzonego jako instancja tej klasy?

A. Do pola $c.
B. Do pola $b.
C. Do wszystkich pól.
D. Do pola $a.
Odpowiedź 'Do pola $a' jest prawidłowa, ponieważ pole $a jest zdefiniowane jako publiczne, co oznacza, że jest dostępne z zewnątrz dla instancji klasy oraz dla kodu, który jest poza tą klasą. W praktyce, gdy tworzysz obiekt klasy Dane, możesz łatwo uzyskać dostęp do tego pola, na przykład za pomocą $obiekt->a. Zastosowanie publicznych pól jest typowe, gdy chcesz, aby dane były szeroko dostępne, na przykład w interfejsach API lub podczas tworzenia prostych klas modelujących dane. W przypadku pól prywatnych oraz chronionych, dostęp do nich jest ograniczony. Pole $b jest prywatne, co oznacza, że może być używane tylko wewnątrz tej samej klasy, a pole $c, będące chronionym, może być używane przez klasę i jej podklasy, ale nie przez kod zewnętrzny. Warto zaznaczyć, że dobre praktyki programowania obiektowego sugerują ograniczanie dostępu do pól, co sprzyja enkapsulacji i ochronie integralności danych, a publiczne pola należy stosować z ostrożnością, aby nie naruszyć zasad projektowania systemów oprogramowania.

Pytanie 2

Aby wykonać usunięcie wszystkich wpisów z tabeli, należy użyć kwerendy

A. ALTER COLUMN
B. CREATE COLUMN
C. TRUNCATE TABLE
D. INSERT INTO
Odpowiedź 'TRUNCATE TABLE' jest prawidłowa, ponieważ jest to polecenie w języku SQL służące do usuwania wszystkich rekordów z tabeli w sposób efektywny i bezpieczny. W przeciwieństwie do polecenia 'DELETE', które również usuwa rekordy, 'TRUNCATE TABLE' działa znacznie szybciej, ponieważ nie rejestruje każdego usunięcia w dzienniku transakcji, co zmniejsza obciążenie systemu. Przykład zastosowania: jeśli mamy tabelę 'Pracownicy' i chcemy usunąć wszystkie dane przed jej ponownym załadowaniem, możemy użyć kwerendy 'TRUNCATE TABLE Pracownicy;'. Warto zauważyć, że 'TRUNCATE TABLE' nie tylko usuwa dane, ale również resetuje wszelkie automatyczne inkrementacje kluczy podstawowych w tabeli. Stosując to polecenie, zachowujemy integralność danych oraz optymalizujemy czas operacji, co jest zgodne z najlepszymi praktykami w zarządzaniu bazami danych.

Pytanie 3

Podczas tworzenia formularza konieczne jest dodanie kontrolki, która odnosi się do kontrolki w innym formularzu. Jakie działania w bazie danych Access są w tym przypadku możliwe?

A. możliwe o ile dotyczą danych liczbowych.
B. możliwe poprzez określenie ścieżki do kontrolki w atrybucie „Źródło kontrolki”.
C. niemożliwe.
D. niemożliwe we wszystkich trybach z wyjątkiem trybu projektowania.
Wiesz co, nie zgadza się z prawdą to, że nie możesz umieścić kontrolki, która odnosi się do innej w innym formularzu. Microsoft Access naprawdę ma sporo możliwości w tym zakresie. Często ludzie myślą, że mogą odnosić się tylko do danych liczbowych w innych formularzach, co jest błędnym założeniem. Access obsługuje wszelkie rodzaje danych – teksty, daty, logiczne. I nie ma takiej zasady, że odwołania są niemożliwe w trybie innym niż projektowy. W rzeczywistości Access potrafi dynamicznie aktualizować źródła danych, co jest ważne w zarządzaniu informacjami. Właściwość „Źródło kontrolki” jest elastyczna, co pozwala na wyciąganie danych z różnych źródeł, a to jest kluczowe w optymalizacji baz danych. Niektórzy błędnie myślą, że formularze muszą być sztywno zbudowane, a tak naprawdę powinny być elastyczne, żeby móc dostosować się do potrzeb użytkowników.

Pytanie 4

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

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

Pytanie 5

W trakcie walidacji dokumentu HTML5 napotkano komunikat o treści: "Error: Element head is missing a required instance of child element title". Co to oznacza w kontekście dokumentu?

A. nie zdefiniowano wymaganego atrybutu title w znaczniku.
B. elementnie został poprawnie zamknięty przez.
C. nie zdefiniowano elementuw sekcji <head> 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>D. element <title> nie jest konieczny.</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Wskazanie, że element <title> nie jest wymagany, jest niezgodne z obowiązującymi standardami HTML5, które jednoznacznie nakładają obowiązek jego obecności w sekcji <head>. Uzyskanie poprawnego HTML-a wymaga zrozumienia struktury dokumentu i obowiązkowych elementów, które muszą być zawarte. Twierdzenie, że element <title> nie został zamknięty przez, sugeruje zamieszanie z pojęciem prawidłowego składania tagów. W przypadku HTML, błędy składniowe muszą być zawsze korygowane, jednak obecność elementujest kluczowa niezależnie od sposobu jego zamknięcia. Stwierdzenie, że nie zdefiniowano obowiązkowego atrybutu title w znaczniku <img> jest całkowicie mylące, ponieważ atrybut title w znaczniku <img> nie ma związku z tytułem strony i jego brak nie powoduje błędu w walidacji HTML. Zamiast tego, powinno się skupić na tym, że atrybut title w znaczniku <img> jest opcjonalny, ale jego zawartość może poprawić dostępność, co jest istotne w kontekście zgodności z WCAG. Dlatego kluczowe jest zrozumienie roli i funkcji poszczególnych elementów w HTML oraz unikanie mylnych interpretacji ich znaczenia. </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 6</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="zamieszczony-kod-html-formularza-zostanie-wyswietl-99a450e0" 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 kod HTML formularza zostanie wyświetlony przez przeglądarkę w sposób: <!-- Górna ramka z kodem HTML --> <table style="border: 2px solid black; border-collapse: collapse; margin-bottom: 20px;"> <tr> <td style="border: 1px solid black; padding: 10px; font-family: monospace;"> <form><br> stanowisko: <input type="text"><br><br> obowiązki: <br><br> <input type="checkbox" name="obowiazek1" value="1" disabled checked>sporządzanie dokumentacji<br><br> <input type="checkbox" name="obowiazek2" value="2" checked>pisanie kodu<br><br> <input type="checkbox" name="obowiazek3" value="3">testy oprogramowania<br><br> </form> </td> </tr> </table> <!-- Przykład A --> <p><strong>A.</strong></p> <form> stanowisko: <input type="text" style="width: 100px;"> obowiązki: <input type="checkbox" name="obowiazek1" value="1" disabled checked>sporządzanie dokumentacji <br> <input type="checkbox" name="obowiazek2" value="2" checked>pisanie kodu <br> <input type="checkbox" name="obowiazek3" value="3">testy oprogramowania </form> <!-- Przykład B --> <p><strong>B.</strong></p> <form> stanowisko: <input type="text" style="width: 100px;"><br> obowiązki:<br> <input type="checkbox" name="obowiazek1" value="1" disabled checked>sporządzanie dokumentacji<br> <input type="checkbox" name="obowiazek2" value="2">pisanie kodu<br> <input type="checkbox" name="obowiazek3" value="3" checked>testy oprogramowania </form> <!-- Przykład C --> <p><strong>C.</strong></p> <form> stanowisko: <input type="text" style="width: 100px;"><br> obowiązki:<br> <input type="checkbox" name="obowiazek1" value="1">sporządzanie dokumentacji<br> <input type="checkbox" name="obowiazek2" value="2" checked>pisanie kodu<br> <input type="checkbox" name="obowiazek3" value="3">testy oprogramowania </form> <!-- Przykład D --> <p><strong>D.</strong></p> <form> stanowisko: <input type="text" style="width: 100px;"><br> obowiązki:<br> <input type="checkbox" name="obowiazek1" value="1" disabled checked>sporządzanie dokumentacji<br> <input type="checkbox" name="obowiazek2" value="2" checked>pisanie kodu<br> <input type="checkbox" name="obowiazek3" value="3">testy oprogramowania </form></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. A.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>B. 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>C. 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. B.</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Gratulacje, wybrałeś poprawną odpowiedź! W zamieszczonym kodzie HTML formularza mamy do czynienia z trzema elementami input typu 'checkbox'. Pierwszy z nich ma atrybuty 'disabled' oraz 'checked', co oznacza, że jest to pole wyboru nieaktywne, ale zaznaczone. Jest to często stosowane w praktyce, na przykład, aby pokazać użytkownikowi, że niektóre opcje są już wstępnie wybrane i nie mogą zostać zmienione. Dwa kolejne elementy input są aktywne i zaznaczone (posiadają atrybut 'checked'). Atrybut 'checked' oznacza, że pole wyboru jest domyślnie zaznaczone, co jest przydatne w sytuacjach, gdy formularz zawiera preferowane lub najczęściej wybierane opcje. W odpowiedzi D., ta struktura jest prawidłowo odzwierciedlona - pierwsze pole wyboru jest nieaktywne (wyświetlone na szaro) i zaznaczone, a dwa kolejne są aktywne i zaznaczone. To jest zgodne z dobrymi praktykami branżowymi i standardami HTML. </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 7</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-formularzu-dane-z-pola-spaninputspan-o-typi-580a611c" 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 formularzu wartość z pola <span>input</span> o typie <span>number</span> została przypisana do zmiennej <span>a</span>, a następnie przetworzona w skrypcie JavaScript w sposób poniższy<p><span>var x = parseInt(a); </span></p><p>Jakiego typu jest zmienna x?</p></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. napisowego.</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. NaN</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>C. liczbowe, całkowite.</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. zmiennoprzecinkowego.</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Odpowiedź "liczbowego, całkowitego" jest poprawna, ponieważ funkcja <span>parseInt()</span> w JavaScript konwertuje argument na liczbę całkowitą. Kiedy zmienna <span>a</span> zawiera wartość z pola <span>input</span> o typie <span>number</span>, to ta wartość jest już reprezentacją liczby, co oznacza, że <span>parseInt()</span> przyjmuje ją jako argument i zwraca wartość liczbową całkowitą. Przykładowo, jeżeli użytkownik wprowadzi 42, to <span>parseInt(42)</span> zwróci 42 jako liczbę całkowitą. Dobrą praktyką jest używanie <span>parseInt()</span> z drugim argumentem, który określa system liczbowy (np. <span>parseInt(a, 10)</span>), co zapobiega niejednoznaczności w interpretacji liczby. Warto również pamiętać, że w przypadku, gdy wartość wprowadzona do <span>a</span> nie jest liczbą całkowitą, <span>parseInt()</span> nadal zwróci liczbę całkowitą, obcinając część dziesiętną (np. <span>parseInt(4.9)</span> zwróci 4). Dlatego w kontekście powyższego pytania, zmienna <span>x</span> przyjmuje typ liczbowy, całkowity. </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 8</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="ktore-wartosci-beda-kolejno-wypisane-w-wyniku-dzia-210c8767" 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 zostaną wyświetlone kolejno w wyniku wykonania podanego skryptu? <table style="border: 2px solid black; border-collapse: collapse; margin-bottom: 20px;"> <tr> <td style="border: 1px solid black; padding: 10px; font-family: monospace;"> <script language = "JavaScript"><br> var x = 1;<br> var y;<br> ++y;<br> document.write(++x);<br> document.write(" ");<br> document.write(x--);<br> document.write(" ");<br> document.write(x);<br> </script> </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-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>A. 2 1 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. 1 2 2</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. 2 2 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>D. 1 2 1</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Skrypt operuje na zmiennej x używając zarówno preinkrementacji jak i postdekrementacji co może być mylące jeśli nie jest się zaznajomionym z ich działaniem. W przypadku preinkrementacji ++x wartość zmiennej x jest najpierw zwiększana zanim zostanie wykorzystana w dalszym wyrażeniu. To jest kluczowe ponieważ oznacza że już przy pierwszym wypisaniu wartość x to 2 co jest często błędnie interpretowane jako 1 jeśli nie uwzględni się preinkrementacji. Z kolei postdekrementacja x-- oznacza że obecna wartość zmiennej jest używana zanim zostanie ona zmniejszona. To często jest źródłem błędów logicznych gdyż programista może oczekiwać że wartość zmiennej została już zaktualizowana. W efekcie druga wartość jest również 2 ponieważ dekrementacja następuje po użyciu wartości w wyrażeniu a dopiero trzecia instrukcja wypisuje wynik dekrementacji czyli 1. Zrozumienie tych mechanizmów jest kluczowe w kontekście pisania wydajnego i poprawnego kodu zwłaszcza w językach takich jak JavaScript gdzie operacje na zmiennych są powszechne. Warto zatem zwrócić uwagę na różnicę między pre- a post- operacjami aby uniknąć potencjalnych błędów w logice aplikacji i lepiej zarządzać przepływem danych w programach. Dobre praktyki programistyczne zalecają również konsystencję w korzystaniu z tych operatorów co pomaga w utrzymaniu czytelności i zrozumiałości kodu przez współpracowników i samego autora post factum. Tego rodzaju błędy należą do typowych wśród początkujących programistów i podkreślają znaczenie dokładnego testowania i dokumentowania kodu dla zapewnienia jego niezawodności i poprawności działania w różnorodnych kontekstach środowiskowych i użytkowych. Weryfikacja takich operacji w trakcie testów jednostkowych pozwala na wcześniejsze wykrycie i korektę błędów logicznych co jest zgodne z najlepszymi praktykami w inżynierii oprogramowania. Przy tym podejściu zmniejsza się również ryzyko nieoczekiwanych zachowań aplikacji w środowiskach produkcyjnych co może mieć kluczowe znaczenie w przypadku aplikacji o krytycznym znaczeniu dla biznesu. </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 9</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="ile-razy-zostanie-wykonana-petla-zapisana-w-przed-094720dd" 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 wykonana pętla w zamieszczonym skrypcie PHP? <table style="border: 2px solid black; border-collapse: collapse;"><tr><td style="border: 1px solid black; padding: 10px; font-family: monospace;">$a = $x = 0;<br>do{<br>    $a++;<br>    $x = $x + $a;<br>}while($x != 21);</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. 7</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>B. 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>C. 0</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. 5</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Pętla do-while w PHP działa tak, że jej ciało jest zawsze wykonywane przynajmniej raz, a warunek sprawdzany jest na końcu. W przedstawionym skrypcie zmienne $a i $x są inicjalizowane wartością 0. Wewnątrz pętli zmienna $a jest inkrementowana o 1 w każdej iteracji, a $x zwiększane jest o wartość $a. Pętla powtarza się, dopóki zmienna $x nie osiągnie wartości 21. Aby zrozumieć, ile razy pętla się wykona, należy prześledzić zmiany wartości zmiennych. W pierwszej iteracji $a staje się 1 i $x wynosi 1. W kolejnych iteracjach $a przyjmuje wartości 2 3 4 5 6 a $x odpowiednio 3 6 10 15 21. Gdy $x osiąga 21 pętla kończy działanie. Oznacza to że pętla wykonuje się dokładnie 6 razy aż $x osiągnie wartość 21 co zgodnie z treścią pytania jest poprawną odpowiedzią. Takie podejście pozwala na efektywne kontrolowanie liczby iteracji przy dynamicznie zmieniających się warunkach a zasady działania pętli do-while są kluczowe w sytuacjach gdy wymagane jest przynajmniej jedno wykonanie bloku kodu co odróżnia ją od pętli while. </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="ktory-selektor-formatuje-akapity-tekstu-o-klasie-6ac16b6f" 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 selektor stosuje formatowanie dla akapitów tekstu z klasą tekst oraz dla elementu blokowego o ID obrazki?</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.tekst + div#obrazki</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>B. p.tekst, div#obrazki</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#tekst, div.obrazki</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. p#tekst + div.obrazki</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Odpowiedź 'p.tekst, div#obrazki' jest poprawna, ponieważ selektor 'p.tekst' odnosi się do elementów <p> z klasą 'tekst', a selektor 'div#obrazki' odnosi się do elementu <div> z identyfikatorem 'obrazki'. Oba selektory są zgodne z zasadami CSS, które pozwalają na stylizację elementów na podstawie ich klas i ID. Na przykład, jeśli chcemy zmienić kolor tekstu w akapitach oraz dodać ramkę do elementu div, możemy zastosować następujący kod: css p.tekst { color: blue; } div#obrazki { border: 1px solid black; } Praktyczne zastosowanie selektorów klas i ID w CSS pozwala na precyzyjne dostosowanie stylu poszczególnych elementów na stronie. Zgodność z najlepszymi praktykami oznacza, że stosujemy jednoznaczne i czytelne nazwy klas oraz ID, co ułatwia późniejszą konserwację kodu oraz współpracę z innymi deweloperami. Warto także pamiętać, że wyższej specyfiki selektory, takie jak ID, mają pierwszeństwo wobec klas, co może wpłynąć na końcowy wygląd elementów na stronie. </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="kolor-zapisany-kodem-heksadecymalnym-1510fe-w-ko-c0f7db24" 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ą wartość w formacie RGB będzie miała barwa oznaczona kodem heksadecymalnym: #1510FE?</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-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>A. rgb(15, 10, FE)</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. rgb(21, 16, 254)</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. rgb(21, 16, 255)</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. rgb(21, 16, FE)</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Wartości RGB w heksadecymalnym nie zawsze są oczywiste i często trzeba je przeliczać. Odpowiedzi rgb(15, 10, FE) i rgb(21, 16, 255) nie są do końca poprawne, bo źle zinterpretowano wartości z formatu hex. W pierwszym przypadku użyto dobrego formatu, ale liczby 15 i 10 zostały źle przeliczone na dziesiętny. '15' z hex to 21, '10' to 16, więc to jest ok, ale 'FE' powinno dać 254, a nie zostać jako 'FE' lub przeliczone na 255. W drugiej błędnej odpowiedzi, pamiętaj, że wartości RGB muszą się mieścić w przedziale 0-255, a przeliczenie 'FE' na 255 to duża pomyłka. Często się zdarza, że ludzie pomijają te obliczenia i przyjmują wartości hex bez konwersji, co powoduje zamieszanie w kolorach w projektach graficznych i aplikacjach. Zrozumienie przeliczenia heksadecymalnych wartości na RGB to klucz do tworzenia fajnych wizualizacji. </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="grafik-wykona-logo-strony-internetowej-to-czarn-4295ce95" 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>Projektant stworzył logo dla witryny internetowej. Jest to czarny symbol na przezroczystym tle. Aby zachować wszystkie cechy obrazu i umieścić go na stronie, projektant powinien zapisać obraz w formacie</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. BMP</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. JPEG</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. CDR</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>D. PNG</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Format PNG (Portable Network Graphics) jest idealnym rozwiązaniem dla grafiki internetowej, zwłaszcza gdy zależy nam na zachowaniu przezroczystości tła, co jest kluczowe w przypadku logotypów. PNG obsługuje kompresję bezstratną, co oznacza, że nie utracimy jakości obrazu przy zapisywaniu go. To szczególnie ważne w kontekście logo, które często musi być skalowane do różnych rozmiarów, a wszelkie zniekształcenia mogą wpłynąć na jego rozpoznawalność. Dodatkowo, format PNG pozwala na uzyskanie pełnej gamy kolorów, w tym przezroczystości w formacie RGBA. W praktyce oznacza to, że możesz umieścić czarny znak na dowolnym tle, a jego kształt zawsze zachowa wyrazistość oraz ostrość. Warto również zauważyć, że PNG jest wspierany przez wszystkie nowoczesne przeglądarki internetowe i systemy operacyjne, co czyni go wszechstronnym wyborem dla twórców stron internetowych. Standard PNG, opublikowany przez W3C, jest uznawany za jedno z najbardziej efektywnych rozwiązań dla grafiki w sieci. </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="dana-jest-tabela-spanprogramiscispan-o-polach-d8280625" 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>Istnieje tabela <span>programisci</span> z polami:<span> id, nick, ilosc_kodu, ocena</span>. Wartość w polu <span>ilosc_kodu</span> przedstawia liczbę linii kodu, które dany programista stworzył w określonym miesiącu. Aby obliczyć całkowitą liczbę linii kodu napisanych przez wszystkich programistów, należy zastosować następujące polecenie</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-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>A. SELECT COUNT(programisci) FROM ilosc_kodu;</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 SUM(ocena) FROM ilosc_kodu;</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 SUM(ilosc_kodu) FROM programisci;</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 MAX(ilosc_kodu) FROM programisci;</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Pierwsza z błędnych odpowiedzi, "SELECT COUNT(programisci) FROM ilosc_kodu;" zawiera fundamentalny błąd, gdyż funkcja COUNT() nie jest odpowiednia, gdy chcemy zsumować wartości liczby linii kodu. Funkcja COUNT() zlicza wiersze, ale nie sumuje wartości w kolumnach. Użycie jej w tym kontekście prowadzi do nieprawidłowych wyników i jest sprzeczne z zamiarem analizy danych. Z kolei odpowiedź "SELECT SUM(ocena) FROM ilosc_kodu;" łączy nieadekwatne elementy; pole "ocena" nie ma związku z analizowaną sumą linii kodu, co skutkuje brakiem sensu w kontekście zapytania. Warto zauważyć, że w SQL każda kolumna musi być właściwie zdefiniowana w kontekście używanych funkcji, a mieszanie danych z różnych pól bez logicznego uzasadnienia to typowy błąd myślowy. Ostatnia odpowiedź, "SELECT MAX(ilosc_kodu) FROM programisci;" także nie spełnia wymagań, ponieważ funkcja MAX() zwraca maksymalną wartość, a nie sumę. W praktyce, takie błędy mogą prowadzić do mylnych wniosków na temat produktywności zespołu, szczególnie gdy zapytania są używane do podejmowania decyzji biznesowych. Kluczowe jest, aby zrozumieć semantykę każdej funkcji SQL oraz zastosować je w odpowiednich kontekstach, co jest istotne dla skutecznej analizy danych w każdej organizacji. </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="jaka-wartosc-zwroci-funkcja-zoo-zdefiniowana-w-jez-9ba3a52a" 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ą wartość zwróci funkcja zoo zdefiniowana w języku C++, wywołana z aktualnym parametrem 3.55 <table style="border: 2px solid black; border-collapse: collapse; margin-bottom: 20px;"> <tr> <td style="border: 1px solid black; padding: 10px; font-family: monospace;"> int zao(float x){<br>     return (x + 0.5);<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 border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. 3.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>B. 3</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>C. 4</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. 4.05</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Dobra robota! Wybrałeś poprawną odpowiedź, która wynosi 4. W języku C++ typy zmiennoprzecinkowe (float) są konwertowane do typów całkowitych (int) poprzez odrzucenie części ułamkowej liczby. W tym przypadku, nawet jeśli wynik działania wewnątrz funkcji wynosi 4.05, po konwersji do typu int, zostaje z tego tylko 4. Jest to dobra praktyka, aby zawsze pamiętać o tym zachowaniu podczas pracy z różnymi typami danych w językach programowania, zwłaszcza jeśli precyzja jest istotna dla twojego kodu. Odrzucenie części ułamkowej może prowadzić do nieoczekiwanych wyników, jeśli nie jest to świadome działanie. Dlatego w języku C++ zaleca się zawsze jasne i precyzyjne określenie typu danych. </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="w-jezyku-sql-aby-zabezpieczyc-kwerende-create-us-dbf094bd" 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 SQL, aby uniemożliwić stworzenie konta przy wykonywaniu kwerendy CREATE USER, gdy konto już istnieje, można zastosować następującą składnię</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. CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>B. CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';</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 USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';</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 OR REPLACE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Odpowiedź 'CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' jest poprawna, ponieważ użycie klauzuli 'IF NOT EXISTS' pozwala na uniknięcie błędów w sytuacji, gdy konto użytkownika już istnieje w bazie danych. W praktyce oznacza to, że wykonanie tego polecenia nie spowoduje żadnej zmiany ani błędu, jeśli konto 'anna' jest już zdefiniowane, co jest szczególnie przydatne w skryptach automatyzujących tworzenie użytkowników. Dzięki temu można uniknąć powtarzania kodu sprawdzającego istnienie użytkownika przed jego utworzeniem. Zaleca się stosowanie tej formy w celu uproszczenia procesu zarządzania użytkownikami i zapewnienia, że skrypty wykonują się bez zakłóceń. W kontekście bezpieczeństwa, ważne jest używanie silnych haseł, jak w tym przykładzie, aby zabezpieczyć konta przed nieautoryzowanym dostępem. Warto także pamiętać o dobrych praktykach w zakresie nadawania uprawnień oraz regularnego przeglądania kont użytkowników, aby zapewnić, że wszystkie konta są wykorzystywane i zarządzane odpowiednio. </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="cecha-formatu-png-jest-25248439" 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ą cechę posiada format PNG?</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. brak wsparcia dla kanału alfa</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. wsparcie dla animacji</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>C. zapis grafiki wektorowej</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. bezstratna kompresja</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Wybór odpowiedzi związanych z obsługą animacji jest mylny, ponieważ format PNG nie obsługuje animacji w standardowy sposób. Choć istnieje rozszerzenie o nazwie APNG (Animated PNG), które pozwala na tworzenie prostych animacji, nie jest to powszechnie akceptowany standard, co czyni PNG głównie formatem statycznym. W kontekście braku obsługi kanału alfa, warto zauważyć, że format PNG został zaprojektowany z myślą o pełnej obsłudze przezroczystości, co jest kluczowe dla wielu zastosowań graficznych. Z kolei sugerowanie, że PNG reprezentuje grafikę wektorową, jest całkowicie błędne, ponieważ ten format jest przeznaczony do obrazów rastrowych, czyli opartych na pikselach, a nie wektorowych, które są definiowane matematycznie. Typowe błędy myślowe prowadzące do takich wniosków często wynikają z niepełnej znajomości standardów formatów graficznych lub mylenia różnych typów grafik. W branży graficznej ważne jest zrozumienie właściwości formatów używanych do różnych zastosowań, a wybór niewłaściwego formatu może prowadzić do utraty jakości lub funkcjonalności obrazów. </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="w-jezyku-php-komentarz-jednoliniowy-rozpoczyna-sie-08027d6d" 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 komentarz w jednej linii zaczyna się od znakó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. <! lub <?</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. // lub #</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>C. /* lub //</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. $ lub #</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Jak popatrzysz na inne odpowiedzi, to zauważysz kilka rzeczy, które są błędne. Ta odpowiedź, gdzie mówi się, że komentarz jednoliniowy w PHP zaczyna się od $ lub #, jest pomyłką, bo $ oznacza zmienne, a nie komentarze. Używanie # jako jedynego sposobu na komentarze jednoliniowe też jest ograniczone, bo nie jest powszechnie akceptowany na serwerach, gdzie raczej korzysta się z //. Inna błędna odpowiedź sugeruje użycie znaków /* lub //, ale /* to zaczęcie komentarza wieloliniowego, co nie pasuje do komentarzy jednoliniowych. Komentarze wieloliniowe, zaczynające się od /* i kończące na */, przydają się do większych fragmentów, ale nie dotyczą ogólnie tego, co jest w pytaniu. Użycie <! lub <? to też błąd, bo te znaki służą do definiowania nagłówków HTML lub otwierania skryptów PHP. Takie nieporozumienia w komentarzach mogą prowadzić do bałaganu w kodzie, co z kolei negatywnie wpływa na jego jakość i współpracę w zespole. Na koniec, dobre użycie komentarzy w PHP to kluczowa sprawa, bo pomaga w utrzymaniu przejrzystości i zrozumiałości kodu. </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="aby-zadeklarowac-pole-klasy-do-ktorego-maja-doste-d215b652" 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 zdefiniować pole w klasie, do którego dostęp mają wyłącznie metody tej klasy, a które nie jest dostępne dla klas dziedziczących, powinno się zastosować kwalifikator dostępu</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. prywatny.</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. publiczny.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>C. chroniony.</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. opublikowany.</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Wybór innych kwalifikatorów dostępu, takich jak 'public', 'protected' czy 'published', prowadzi do wprowadzenia istotnych luk w zakresie bezpieczeństwa i kontroli dostępu w strukturze klasy. Kiedy zmienimy pole na 'public', staje się ono dostępne w całej aplikacji, co może prowadzić do niekontrolowanych modyfikacji i błędów, gdy inne klasy zaczynają bezpośrednio modyfikować stan obiektu, co narusza zasady enkapsulacji. Umożliwienie dostępu do pól poprzez 'protected' pozwala klasom potomnym na modyfikowanie tych pól, co jest sprzeczne z zamiarem zabezpieczenia danych. Z kolei 'published' jest terminem używanym w niektórych językach programowania, ale jest to termin nieprecyzyjny i różnie interpretowany, co może wprowadzać zamieszanie. W oparciu o dobre praktyki programistyczne, kluczowym jest, aby zastanowić się nad dostępem do pól w kontekście całego projektu oraz zrozumieć, że niewłaściwe zarządzanie dostępem może prowadzić do nieprzewidzianych błędów, trudności w utrzymaniu kodu oraz naruszenia integralności danych. Dlatego tak ważne jest, aby zawsze wybierać odpowiedni kwalifikator dostępu, mając na uwadze zasady projektowania obiektowego i odpowiednią ochronę danych. </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="polecenie-w-jezyku-sql-alter-table-usa-ma-za-z-11a411c4" 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>Zadanie polecenia w języku SQL ALTER TABLE USA ... polega na</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. stworzeniu nowej tabeli USA</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>B. modyfikacji tabeli USA</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. usunięciu tabeli USA</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. zamianie starej tabeli USA</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Odpowiedź dotycząca modyfikacji tabeli USA za pomocą polecenia ALTER TABLE jest prawidłowa, ponieważ ALTER TABLE jest standardowym poleceniem SQL, które pozwala na wprowadzanie zmian w istniejącej tabeli. W praktyce możemy za jego pomocą dodawać nowe kolumny, modyfikować istniejące kolumny (np. zmieniając ich typ danych), lub usuwać kolumny, co jest kluczowe w procesie optymalizacji struktury bazy danych. Przykładem zastosowania tego polecenia może być dodanie kolumny 'wiek' do tabeli 'USA', co można osiągnąć poprzez wywołanie komendy: ALTER TABLE USA ADD wiek INT; Takie zmiany są częścią cyklu życia bazy danych, gdzie w odpowiedzi na nowe wymagania biznesowe lub techniczne dostosowujemy strukturę bazy. Warto przestrzegać dobrych praktyk, takich jak tworzenie kopii zapasowych przed wprowadzeniem zmian oraz testowanie modyfikacji w środowisku deweloperskim przed ich wdrożeniem na produkcji, co minimalizuje ryzyko utraty danych lub błędów w aplikacji. </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="w-jezyku-html-znacznik-strong-tekststrong-be-cd2a957c" 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>Znacznik <strong> tekst</strong> w HTML będzie ukazywany przez przeglądarkę w identyczny sposób, jak znacznik</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. <sub>tekst</sub></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. <h1>tekst</h1></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. <big>tekst</big></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>D. <b>tekst</b></span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Znacznik <strong> w języku HTML jest używany do oznaczania tekstu, który ma być wyświetlany w sposób wyróżniony, co sugeruje jego większe znaczenie, natomiast znacznik <b> jest używany tylko do pogrubienia tekstu, bez dodatkowego kontekstu semantycznego. Oba znaczniki są wizualnie identyczne w większości przeglądarek, co powoduje, że można je stosować zamiennie w niektórych przypadkach. Jednakże, zgodnie z najnowszymi standardami HTML, zaleca się używanie <strong> dla tekstu, który ma większe znaczenie, ponieważ to pomaga w SEO i dostępności. Na przykład, tekst umieszczony w znaczniku <strong> może być lepiej interpretowany przez technologie wspomagające, takie jak czytniki ekranu, co czyni go bardziej dostępnym dla osób z niepełnosprawnościami. Przykład użycia: <strong>ważne informacje</strong> w odróżnieniu od <b>ważne informacje</b>, gdzie znaczenie semantyczne jest pominięte. Dlatego, mimo że wizualnie nie widać różnicy, semantyka HTML jest kluczowym aspektem, który wpływa na sposób, w jaki treść jest interpretowana i przetwarzana przez różnorodne systemy. </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="ile-maksymalnie-nalezy-uzyc-znacznikow-td-w-tab-6fe72375" 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 maksymalnie znaczników <td> może być zastosowanych w tabeli, która ma trzy kolumny oraz trzy wiersze, nie zawierając przy tym złączeń komórek i wiersza nagłówkowego?</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. 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. 12</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-danger bg-opacity-10 border-danger text-danger "> <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. 9</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Wybór odpowiedzi, która wskazuje na inną liczbę znaczników <td> niż 9 może wynikać z nieporozumienia dotyczącego struktury tabeli. Na przykład odpowiedzi sugerujące 3, 6 lub 12 mogą wskazywać na błędną interpretację liczby komórek w tabeli. Odpowiedź 3 mogła wynikać z założenia, że chodzi o liczbę wierszy. W rzeczywistości każdy wiersz zawiera 3 komórki, co prowadzi do błędnego wniosku. Odpowiedź 6 mogła zostać wybrana przez kogoś, kto pomylił się i zinterpretował liczbę jako wierszy w tabeli, myśląc, że istnieje tylko jeden wiersz. Z kolei 12 sugeruje, że uczestnik mógł pomylić liczbę kolumn z liczbą komórek, co jest istotnym błędem koncepcyjnym. Przy tworzeniu tabel HTML ważne jest, aby pamiętać, że każdy wiersz w tabeli musi zawierać 3 komórki, co z kolei wpływa na całkowitą liczbę użytych znaczników <td>. Błędy te mogą prowadzić do nieefektywnego projektowania interfejsów, gdzie zrozumienie struktury danych w HTML jest kluczowe dla prawidłowego renderowania treści na stronach internetowych. </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="wskaz-stwierdzenie-ktore-jest-prawdziwe-dla-naste-ab2e6814" 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ż stwierdzenie, które jest prawdziwe dla następującej definicji stylu: <table style="border: 2px solid black; border-collapse: collapse; margin-bottom: 20px;"> <tr> <td style="border: 1px solid black; padding: 10px; font-family: monospace;"> <style type="text/css"><br> <!--<br>   p {color: blue; font-size: 14pt; font-style: italic}<br>   a { font-size: 16pt; text-transform: lowercase; }<br>   td.niebieski { color: blue }<br>   td.czerwony { color: red }<br> --><br> </style> </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. Jest to styl 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. Odnośnik będzie pisany czcionką 14 punktów.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>C. Zdefiniowano dwie klasy.</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. Akapit będzie transponowany na małe litery.</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Gratulacje, dobrze odpowiedziałeś. W załączonym kodzie CSS zdefiniowano dwie klasy, a mianowicie 'niebieski' i 'czerwony'. Klasy te są przypisane do elementów TD, co oznacza, że komórki tabeli mogą mieć kolor niebieski lub czerwony w zależności od przypisanej klasy. Klasy CSS są jednym z podstawowych sposobów formatowania elementów na stronie internetowej, które pozwalają na stylizowanie grup elementów na podstawie wspólnego identyfikatora klasy. Zamiast formatować każdy element HTML osobno, możemy jednorazowo zdefiniować styl dla klasy, a następnie przypisać tę klasę do dowolnej liczby elementów. To jest zgodne z dobrymi praktykami programowania DRY (Don't Repeat Yourself), co zwiększa czytelność i utrzymanie kodu. W kontekście pytania, każda komórka tabeli przypisana do klasy 'niebieski' lub 'czerwony' będzie miała odpowiednio niebieski lub czerwony kolor. </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="w-jezyku-php-float-reprezentuje-typ-219a13af" 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 typ float oznacza</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. całkowity</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>B. zmiennoprzecinkowy</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. łańcuchowy</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. logiczny</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Typ float w PHP to coś, co przydaje się do przechowywania liczb zmiennoprzecinkowych, a więc do liczb, które mają część dziesiętną. To naprawdę ważne, zwłaszcza jak robimy obliczenia związane z finansami czy nauką. Dzięki float możemy dokładnie przedstawić liczby rzeczywiste, co w programowaniu jest kluczowe. Te wartości są zgodne ze standardem IEEE 754, co oznacza, że można je przenosić między różnymi systemami i platformami bez problemów. Jeżeli chcesz np. obliczyć cenę z VAT-em albo policzyć coś w grze, to float jest najlepszym typem, bo pozwala na robienie precyzyjnych obliczeń z ułamkami. W PHP masz też funkcje jak round() czy number_format(), które pomagają w manipulacji tymi liczbami, co jest super przy prezentacji wyników, żeby ładnie wyglądały. </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="zgodnie-z-reguami-walidacji-html5-poprawnym-zapi-dcc2123e" 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>Według zasad walidacji HTML5, jakie jest prawidłowe użycie znacznika hr?</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. </hr?></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. </ hr /></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. <hr></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>D. </ hr></span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Wszystkie inne odpowiedzi dotyczące znacznika <hr> są błędne, i to z kilku powodów. Po pierwsze, odpowiedź </ hr> sugeruje, że <hr> potrzebuje zamknięcia, co nie jest zgodne z zasadami HTML5. Znaczniki samodzielne, jak <hr>, nie mają zamykających wersji, bo to właśnie ich urok. Następnie, </hr?> ma ten dziwny znak zapytania, co sprawia, że trudno to rozczytać. Tego typu znaki nie mogą być w nazwach znaczników, więc przeglądarki się w tym gubią. I jeszcze inna odpowiedź, </ hr />, wraca do starych wersji HTML, gdzie można było takie rzeczy robić, ale teraz to nie ma sensu. Niepoprawne znaczniki mogą sprawić, że strona będzie działać dziwnie, a to nie jest fajne dla użytkowników. Lepiej trzymać się aktualnych zasad, żeby wszystko działało jak należy. </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="baza-danych-zawiera-dane-multimedialne-co-wiaze-9437d35b" 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>Baza danych gromadzi dane multimedialne, co wiąże się z koniecznością przechowywania znacznych ilości danych binarnych. Jakiego typu należy użyć dla takich danych?</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. ENUM</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. DOUBLE</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. LONGTEXT</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>D. BLOB</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Typ BLOB (Binary Large Object) jest przeznaczony do przechowywania dużych ilości danych binarnych, takich jak obrazy, wideo czy dźwięki. W kontekście baz danych, BLOB umożliwia przechowywanie danych, które nie są łatwe do reprezentacji w postaci tekstowej. Dzięki zastosowaniu tego typu danych, można efektywnie zarządzać oraz przechowywać multimedia bez obawy o przekroczenie limitów rozmiarowych, które występują przy użyciu standardowych typów danych. Przykład praktycznego zastosowania BLOB można zobaczyć w systemach zarządzania treścią (CMS), gdzie obrazy i pliki wideo są przechowywane w bazie danych, co pozwala na ich łatwe wywoływanie i wyświetlanie na stronach internetowych. Warto zauważyć, że stosując BLOB, należy również brać pod uwagę najlepsze praktyki optymalizacji, takie jak przechowywanie samych plików na zewnętrznych serwerach i trzymanie jedynie ich referencji w bazie danych, co znacząco zwiększa wydajność systemu. </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="w-bazie-danych-mysql-dana-jest-tabela-programow-k-94bd768b" 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 bazie danych MySQL znajduje się tabela z programami komputerowymi, posiadająca kolumny: nazwa, producent, rokWydania. Jaką kwerendę SELECT należy zastosować, aby uzyskać listę wszystkich producentów, unikając powtórzeń?</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. SELECT DISTINCT producent FROM programy</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>B. SELECT producent FROM programy WHERE producent NOT DUPLICATE</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. SELECT UNIQUE producent FROM programy</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 producent FROM programy WHERE UNIQUE</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Wybór pierwszej odpowiedzi, która sugeruje użycie słowa kluczowego UNIQUE, jest błędny. W MySQL, UNIQUE nie jest słowem kluczowym stosowanym do eliminacji duplikatów w kwerendzie SELECT; zamiast tego jest używane w kontekście definiowania unikalnych kluczy w tabelach. Również, odpowiedź zawierająca WHERE UNIQUE jest niepoprawna, ponieważ kombinacja WHERE z UNIQUE jest syntaktycznie niepoprawna w SQL. WHERE służy do filtrowania wyników, ale UNIQUE nie jest używane w tej konstrukcji. Kolejną nieprawidłową odpowiedzią jest użycie WHERE producent NOT DUPLICATE; termin 'NOT DUPLICATE' jest również nieznany w kontekście SQL. Takie frazy nie są uznawane przez silnik baz danych MySQL. W praktyce, aby wykluczyć duplikaty, niezbędne jest zastosowanie słowa kluczowego DISTINCT, które jest standardowym podejściem i zapewnia prawidłowe wyniki. Ostatecznie, wszystkie te niepoprawne odpowiedzi wskazują na brak zrozumienia podstawowych zasad działania języka SQL oraz funkcji przeznaczonych do manipulacji danymi w bazach danych. </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-tabela-ksiazki-z-polami-tytul-autor-t-2c01587a" 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>Podano tabelę ksiazki z kolumnami: tytul, autor (w formacie tekstowym), cena (w formacie liczbowym). Aby zapytanie SELECT zwracało jedynie tytuły, dla których cena jest niższa niż 50zł, należy użyć:</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-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>A. SELECT tytul FROM ksiazki WHERE cena < 50</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 tytul FROM ksiazki WHERE cena > '50 zł'</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. SELECT * FROM ksiazki WHERE cena < 50</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 ksiazki FROM tytul WHERE cena < '50 zł'</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Odpowiedź 'SELECT tytul FROM ksiazki WHERE cena < 50;' jest poprawna, ponieważ precyzyjnie formułuje zapytanie w języku SQL, które ma na celu wyodrębnienie z tabeli 'ksiazki' tylko tych tytułów, których cena jest niższa niż 50. W tym przypadku użycie operatora porównania '<' skutkuje filtracją danych według określonego kryterium. Jest to zgodne z dobrą praktyką w programowaniu baz danych, ponieważ pozwala uzyskać potrzebne informacje w sposób efektywny i zrozumiały. Przykładem praktycznego zastosowania może być stworzenie raportu dla księgarni, która chce zobaczyć, które książki są w sprzedaży w przystępnej cenie. Zwracając tylko potrzebne kolumny (tytuł), minimalizujesz ilość przesyłanych danych, co jest ważne w kontekście wydajności i szybkości działania aplikacji korzystających z bazy danych. Dodatkowo, unikanie podawania ceny w formacie tekstowym (np. '50 zł') jest zgodne z zasadami dobrego projektowania baz danych, które zalecają stosowanie odpowiednich typów danych, co w tym przypadku oznacza liczbę bez jednostki walutowej. </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="przedstawiona-ikona-funkcji-edytora-grafiki-rastro-ebc990ee" 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>Ikona funkcji w edytorze grafiki rastrowej oznaczona jako „różdżka” pozwala na</p> <figure class="figure mt-3"> <img src="/images/6912.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. wybiórcze nakładanie koloru przy użyciu pędzla</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. wybranie konkretnego koloru i ustawienie go jako aktywnego</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>C. zaznaczenie obszaru w oparciu o kolor</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. ręczne zaznaczanie fragmentów poprzez przeciąganie kursora</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Funkcja różdżki, znana również jako magiczna różdżka, jest narzędziem powszechnie używanym w edytorach grafiki rastrowej, takich jak Adobe Photoshop czy GIMP. Narzędzie to pozwala użytkownikowi na szybkie zaznaczanie obszarów obrazu na podstawie podobieństwa kolorów. Działa poprzez analizę koloru piksela, na który kliknięto, i automatyczne zaznaczenie sąsiadujących pikseli o podobnych wartościach kolorystycznych. Użytkownik może dostosować czułość narzędzia, co jest określane jako tolerancja, aby precyzyjnie kontrolować zakres zaznaczenia. Ustawienie wyższej tolerancji pozwala na zaznaczenie większej liczby pikseli, które różnią się od koloru docelowego tylko nieznacznie, co jest przydatne przy bardziej złożonych obrazach. Ta funkcjonalność jest szczególnie przydatna podczas pracy z obrazami o jednolitym tle lub podczas edycji zdjęć, gdzie szybkie zaznaczenie obszaru pozwala na skuteczniejsze przeprowadzanie operacji, takich jak zmiana koloru, usuwanie czy kopiowanie wybranych elementów. W praktyce, magiczna różdżka stanowi kluczowy element w arsenale narzędzi grafika, umożliwiając efektywne zarządzanie i manipulowanie obrazem, co jest zgodne z najlepszymi praktykami w branży edycji graficznej. </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-ms-sql-server-predefiniowana-rola-o-nazwie-dbcre-dbbcfa22" 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 MS SQL Server rola predefiniowana o nazwie dbcreator umożliwia użytkownikowi</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-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>A. tworzenie, modyfikowanie, usuwanie oraz przywracanie bazy danych</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. zarządzanie plikami na dysku</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. zarządzanie bezpieczeństwem systemu</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. wykonywanie wszelkich operacji na serwerze i posiadanie praw do każdej bazy</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Rola dbcreator w MS SQL Server rzeczywiście pozwala użytkownikowi na tworzenie, modyfikowanie, usuwanie i odzyskiwanie baz danych. Użytkownicy, którzy mają przypisaną tę rolę, mogą łatwo zarządzać bazami danych w danym serwerze, co jest kluczowe w środowiskach, gdzie bazy danych muszą być regularnie aktualizowane lub tworzone od podstaw. Przykładowo, w przypadku rozwijania aplikacji biznesowej, programista może korzystać z tej roli do tworzenia nowych baz danych na potrzeby testów, co pozwala na szybkie wdrażanie oraz iterację w procesie rozwoju oprogramowania. W praktyce, przypisanie roli dbcreator powinno być stosowane z uwagą, aby ograniczyć do minimum dostęp do krytycznych operacji tylko dla zaufanych użytkowników. Dobre praktyki sugerują regularne przeglądanie i audyt przypisania ról oraz monitorowanie działań użytkowników, aby zapobiegać nieautoryzowanym zmianom w strukturze baz danych. </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="przedstawiona-instrukcja-warunkowa-zapisana-w-jezy-227307a8" 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>Dla jakiej wartości zmiennej x instrukcja warunkowa w JavaScript jest spełniona? <table style="border: 2px solid black; border-collapse: collapse;"><tr><td style="border: 1px solid black; padding: 10px; font-family: monospace;">if ((x < -5) || (x > 2))<br>    x++;</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-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>A. 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. -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. -4</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. 2</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> W danym przykładzie mamy do czynienia z instrukcją warunkową w języku JavaScript, która sprawdza, czy zmienna x spełnia jedno z dwóch warunków: x jest mniejsze od -5 lub x jest większe od 2. Operator logiczny OR (||) oznacza, że wystarczy spełnienie jednego z tych warunków, aby kod wewnętrzny został wykonany. Dla wartości x równej 3, warunek (x > 2) jest spełniony, ponieważ 3 jest większe od 2. W rezultacie instrukcja x++ zostanie wykonana, co oznacza inkrementację zmiennej x, czyli zwiększenie jej wartości o 1. Jest to przykład typowego zastosowania operatorów logicznych w programowaniu do kontroli przepływu programu. W praktyce umiejętność stosowania takich instrukcji jest kluczowa w tworzeniu kodu zdolnego do dynamicznej reakcji na różne warunki wejściowe. Ponadto, użycie operatora inkrementacji jest zgodne z najlepszymi praktykami w optymalizacji kodu, gdyż jest to szybki i efektywny sposób na modyfikację wartości liczbowych. </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="zmienne-typu-int-odnosza-sie-do-liczb-96e1373b" 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>Zmienne typu int odnoszą się do liczb całkowitych</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-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>A. całkowitych</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. w notacji stałoprzecinkowej</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. naturalnych</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. w notacji zmiennoprzecinkowej</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Zmienne typu int w języku programowania odnoszą się do wartości całkowitych, co oznacza, że mogą przechowywać liczby bez części dziesiętnych. W zależności od konkretnego języka programowania, zmienne int mogą mieć różne zakresy wartości, które są determinowane przez liczbę bitów przydzielanych do ich reprezentacji. Na przykład, w języku C++ typ int najczęściej zajmuje 4 bajty (32 bity), co pozwala na reprezentację liczb w zakresie od -2 147 483 648 do 2 147 483 647. Wartości całkowite są szeroko stosowane w programowaniu do zliczania, indeksowania, a także kiedy precyzja jest kluczowa, na przykład w obliczeniach matematycznych, gdzie ułamki i wartości zmiennoprzecinkowe byłyby nieodpowiednie. Ważne jest również uwzględnienie standardów, takich jak ISO C, które definiują sposób działania typów danych w danym języku. Dla programistów znajomość zmiennych int i ich zastosowań jest podstawą efektywnego pisania algorytmów i rozwiązań problemowych. </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="polecenie-wysyane-do-serwera-bazy-danych-polegaj-79acdf9b" 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>Komenda kierowana do serwera bazy danych, mająca na celu zbieranie, wyszukiwanie lub edytowanie danych w bazie, nazywana jest</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-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>A. kopią</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. kolumną</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. formularzem</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. kwerendą</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> W odpowiedziach, które nie są poprawne, pojawiają się koncepcje, które nie są związane z procesem pobierania i zarządzania danymi w bazach danych. Formularz, na przykład, to zazwyczaj interfejs użytkownika, który umożliwia wprowadzanie danych do systemu, ale nie jest samodzielnym poleceniem do zarządzania danymi. W praktyce, formularze są używane w aplikacjach frontendowych, aby zbierać dane od użytkowników, które następnie mogą być przesyłane do bazy danych, ale same w sobie nie są mechanizmem do wykonywania operacji na danych. Kolumna to pojęcie odnoszące się do struktury tabeli w bazie danych, wskazujące na konkretne pole, które przechowuje wartości zmiennej, natomiast nie jest odpowiedzią na pytanie o działania na danych. Kopia z kolei odnosi się do procesu duplikacji danych, co jest istotne w kontekście tworzenia kopii zapasowych, ale nie definiuje funkcji związanej z bezpośrednim dostępem do danych w bazie. Te nieporozumienia mogą prowadzić do błędnych wniosków o funkcjonalności baz danych. Zrozumienie, że kwerenda jest głównym narzędziem do interakcji z danymi, pozwala uniknąć zamieszania z innymi terminami, które pełnią różne role w zarządzaniu danymi. </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="wskaz-petle-ktora-w-jezyku-javascript-wyswietli-s-0a602069" 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ż konstrukcję pętli w języku JavaScript, która wyświetli sześć kolejnych liczb parzystych</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. for(i=2;i<12;i+=2) {document.write(i);}</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>B. for(i=2;i<=12;i++) {i=i+2; document.write(i);}</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. for(i=2;i<=12;i+=2) {document.write(i);}</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. for(i=2;i<12;i++) {i++; document.write(i);}</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Prawidłowe zrozumienie działania pętli for w JavaScript jest kluczowe dla tworzenia efektywnych skryptów. Odpowiedzi, które nie są poprawne, najczęściej wynikają z nieporozumień dotyczących sposobu działania inkrementacji oraz warunków zakończenia pętli. Przykładowo, konstrukcja for(i=2;i<12;i+=2) nie osiągnie ostatniej liczby parzystej 12, co skutkuje wyświetleniem jedynie 2, 4, 6, 8 i 10, a więc pięciu liczb parzystych. Zrozumienie granic pętli jest istotne, aby uzyskać oczekiwane rezultaty. Inne podejście, czyli for(i=2;i<12;i++) {i++; document.write(i);}, wprowadza dodatkowe zwiększenie zmiennej i wewnątrz pętli, co może prowadzić do nieoczekiwanych rezultatów - w tym przypadku, liczenie kończy się na 12, ale tylko wartości nieparzyste będą drukowane, czyli 3, 5, 7, 9, 11, co jest błędne w kontekście zadania. W kontekście innej odpowiedzi, for(i=2;i<=12;i++) {i=i+2; document.write(i);}, również nie działa zgodnie z zamierzeniem, ponieważ zaczyna od 2 i natychmiast zwiększa liczbę do 4, co prowadzi do pominięcia liczby 2 w wyniku końcowym. Dokładne zrozumienie działania pętli i jej konstrukcji jest kluczowe do uniknięcia takich błędów. W programowaniu ważne jest stosowanie jasnych i prostych konstrukcji, które są łatwe do zrozumienia, co pomaga nie tylko w pracy nad bieżącym projektem, ale również w późniejszej konserwacji oraz w pracy zespołowej. </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-z-wymienionych-znacznikow-jezyka-html-nie-j-fb09a05f" 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 podanych znaczników HTML nie jest używany do formatowania tekstu?</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-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>A. <div></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. <sub></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. <em></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. <strong></span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> <div> jest znacznikiem HTML, który służy do grupowania elementów na stronie, co ułatwia ich stylizację i manipulację w CSS oraz JavaScript. W przeciwieństwie do znaczników takich jak <em>, <sub> i <strong>, które mają konkretne zastosowania związane z formatowaniem tekstu, <div> pełni rolę kontenera, co czyni go bardziej uniwersalnym narzędziem do strukturyzacji treści. Przykładowo, można użyć <div> do utworzenia sekcji nagłówka, stopki lub bocznego panelu na stronie. Zgodnie z standardami W3C, <div> jest elementem blokowym, co oznacza, że zajmuje całą szerokość dostępną w swoim rodzicu. W praktyce, <div> pozwala na efektywne zarządzanie układem strony i jest często stosowany w połączeniu z CSS w celu uzyskania pożądanej prezentacji wizualnej. Przykład zastosowania: <div class='container'>...</div> może być użyty do zawarcia innych elementów jak <h1>, <p> czy <img>. Dzięki temu można łatwo manipulować stylem i zachowaniem tych elementów, co czyni <div> kluczowym narzędziem w nowoczesnym web designie. </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="petla-while-powinna-byc-wykonywana-tak-dugo-jak-bb579995" 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>Pętla while powinna działać tak długo, jak zmienna x ma wartości z przedziału obustronnie otwartego -2, 5). Zapis tego warunku w nagłówku pętli za pomocą języka PHP wygląda następująco</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. ($x == -2) && ($x < 5)</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. ($x > -2) && ($x < 5)</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>C. ($x < -2) || ($x > 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. ($x > -2) || ($x > 5)</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Niepoprawne odpowiedzi opierają się na błędnej interpretacji warunków, które powinny być zastosowane w pętli while. Pierwsza z błędnych opcji, ($x == -2) && ($x < 5), sugeruje, że pętla mogłaby działać tylko, gdy x jest równe -2 oraz mniejsze od 5. Oznacza to, że pętla w ogóle nie zostałaby wykonana, ponieważ -2 nie jest w przedziale otwartym. Z kolei ($x < -2) || ($x > 5) jest zupełnie odwrotnym warunkiem, który uruchamia pętlę, gdy x jest poza interesującym nas zakresem, co jest sprzeczne z założeniem. Ostatnia błędna opcja, ($x > -2) || ($x > 5), wskazuje na nieporozumienie, ponieważ pętla mogłaby być wykonywana nie tylko dla wartości mieszczących się w przedziale (-2, 5), ale również dla każdej wartości większej od 5, co nie jest zgodne z założeniem. Typowym błędem myślowym jest mylenie operatorów logicznych oraz ich zastosowań w warunkach, co prowadzi do niewłaściwych lub niespójnych wyników. W kontekście programowania, szczególnie ważne jest zrozumienie koncepcji otwartych i zamkniętych przedziałów oraz umiejętność ich poprawnego definiowania w warunkach logicznych, co ma kluczowe znaczenie w wielu algorytmach i strukturach kontrolnych. </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-bazie-danych-hurtowni-zdefiniowano-tabele-sprze-c736f8e1" 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 hurtowni utworzono tabelę sprzedaż, która zawiera pola: id, kontrahent, grupa_cenowa oraz obrot. Jakie polecenie należy wykorzystać, aby znaleźć tylko kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000 zł?</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-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>A. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 AND obrot>4000</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 kontrahent FROM sprzedaz WHERE grupa_cenowa=2 OR obrot>4000</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. SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa=2 AND obrot>4000</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 sprzedaz FROM kontrahent WHERE obrot>4000</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Aby skutecznie wyszukać kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000 zł, należy zastosować odpowiednie zapytanie SQL. W tym przypadku, kluczowe jest zrozumienie użycia klauzul WHERE, które filtrują wyniki na podstawie określonych warunków. Poprawne zapytanie to 'SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 AND obrot>4000;'. W tym zapytaniu wybieramy kolumnę kontrahent z tabeli sprzedaz, filtrując wyniki na podstawie dwóch warunków: przynależności do drugiej grupy cenowej oraz obrotu większego niż 4000 zł. Operator AND jest istotny, ponieważ oba warunki muszą być spełnione, aby dany rekord został zwrócony. Takie podejście jest zgodne z zasadami normalizacji baz danych, co pozwala na zachowanie integralności danych i efektywność zapytań. Przykładem może być sytuacja, w której w tabeli znajdują się kontrahenci o różnych grupach cenowych i obrotach; zastosowanie powyższego zapytania pozwoli nam na wyselekcjonowanie tylko tych kontrahentów, którzy spełniają oba kryteria, co jest niezwykle przydatne w analizie sprzedaży i podejmowaniu decyzji biznesowych. </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="na-potrzeby-strony-internetowej-przygotowano-grafi-c492c7d6" 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>Dla strony internetowej stworzono grafikę rysunek.jpg o wymiarach: szerokość 200 px, wysokość 100 px. Jak można wyświetlić tę grafikę jako miniaturę – pomniejszoną z zachowaniem proporcji, używając znacznika?</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. <img src="rysunek.png" style="width: 25px; height:25px;"></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. <img src="rysunek.png" style="width: 50px"></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>C. <img src="rysunek.png" style="width: 25px; height:50px;"></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. <img src="rysunek.png"></span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Pozostałe odpowiedzi niestety nie trzymają się zasady zachowania proporcji, jak zmniejszamy grafikę. W pierwszej opcji, <img src="rysunek.png" style="width: 25px; height:50px"> zestawione wartości szerokości i wysokości są krzywe, co powoduje zniekształcenie obrazu. Oryginalny rysunek ma proporcje 2:1, a tu wychodzi 1:2, co może wprowadzać ludzi w błąd. W trzeciej opcji, <img src="rysunek.png"> brak wskazania szerokości i wysokości sprawia, że obrazek wyświetla się w swoim pierwotnym rozmiarze, a to nie jest cel, bo chcemy mieć miniaturę. A ostatnia odpowiedź, <img src="rysunek.png" style="width: 25px; height:25px;"> ustala jednakowe wymiary, przez co wychodzi kwadratowa miniaturka, co nie zgadza się z oryginalnymi proporcjami. Generalnie, niepoprawne odpowiedzi mogą wynikać z braku zrozumienia, dlaczego dbanie o proporcje w grafikach jest takie ważne. To kluczowe zagadnienie w projektowaniu stron, bo dobre proporcje to podstawa estetyki i funkcjonalności wizualnych elementów na stronie. </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="w-jezyku-css-okreslono-formatowanie-znacznika-h1-w-e2cb0bb9" 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 CSS zdefiniowano style dla znacznika h1 zgodnie z podanym wzorem. Przy założeniu, że żadne inne style nie są zastosowane do znacznika h1, wskaż właściwy sposób stylizacji tego elementu</p> <figure class="figure mt-3"> <img src="/images/6585.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-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>A. 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>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>C. 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>D. D</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Błędne odpowiedzi wynikają z nieprawidłowego zrozumienia zastosowania specyficznych stylów CSS. Font-style: oblique; jest często mylony z kursywą, czyli font-style: italic;. Oblique to bardziej subtelna forma pochylenia tekstu, która w projektach graficznych może nadawać bardziej nowoczesny wygląd. Dlatego inne opcje, które mogłyby sugerować użycie zwykłej kursywy, są nieprawidłowe. Font-variant: small-caps; często jest mylony z całkowitymi kapitalikami, co może prowadzić do nieporozumienia w formacie tekstu. Small-caps zachowuje proporcje tekstu, przekształcając tylko małe litery, co może być użyteczne w projektach, gdzie estetyka i elegancja są kluczowe. Niewłaściwe zrozumienie tego stylu może prowadzić do błędnych założeń o wyglądzie tekstu. Text-align: right; jest często zapominane, ponieważ większość tekstów w Internecie jest wyrównywana do lewej. Dlatego projekty, które wymagają wyrównania do prawej mogą być błędnie postrzegane jako niestandardowe lub nieoczekiwane. Poprawne użycie text-align: right; może jednak być kluczowe w układzie stron, gdzie asymetria i nowoczesny design są pożądane. Te błędne koncepcje pokazują, jak ważne jest zrozumienie i prawidłowe stosowanie specyficznych stylów CSS, ponieważ mogą one znacząco wpłynąć na wygląd i użyteczność projektu. Właściwe rozróżnienie tych stylów jest kluczowe dla profesjonalnego projektowania stron internetowych, gdzie detale wizualne i funkcjonalne mają istotne znaczenie dla końcowego użytkownika. </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="ktorego-protokou-nalezy-uzyc-aby-przesac-pliki-aff97e35" 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>Jakiego protokołu trzeba użyć do przesyłania plików witryny internetowej na serwer hostingowy?</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. IRC</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. SMTP</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. HTTP</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>D. FTP</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Protokół FTP (File Transfer Protocol) jest standardowym sposobem przesyłania plików pomiędzy komputerami w sieci, co czyni go idealnym rozwiązaniem do przesyłania plików strony internetowej na serwer hostingowy. FTP pozwala na łatwe przesyłanie dużych plików, takich jak obrazy, skrypty i style, które są niezbędne do prawidłowego działania witryny. Użytkownicy mogą korzystać z różnych programów klienckich FTP, takich jak FileZilla lub WinSCP, które oferują intuicyjny interfejs graficzny umożliwiający przeciąganie i upuszczanie plików, co znacząco upraszcza cały proces. Z perspektywy bezpieczeństwa, zaleca się korzystanie z FTPS lub SFTP, które dodają warstwę szyfrowania, chroniąc przesyłane dane przed nieautoryzowanym dostępem. Przesyłanie plików za pomocą FTP jest również zgodne z najlepszymi praktykami branżowymi, które zalecają stosowanie dedykowanych protokołów do zarządzania plikami, aby zapewnić efektywność i bezpieczeństwo transferów. </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="jaka-szerokosc-strony-pozostawiono-na-jej-tresc-n-e3b49e09" 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ą szerokość zaplanowano dla treści strony, bazując na podanej definicji CSS? <table style="border: 2px solid black; border-collapse: collapse; margin-bottom: 20px;"> <tr> <td style="border: 1px solid black; padding: 10px; font-family: monospace;">body {<br>   border: 2px;<br>   height: 600px;<br>   width: 560px;<br>   box-sizing: border-box;<br>   margin: 0;<br>   padding: 0;<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 border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. 2 px</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>B. 560 px</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. 640 px</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. 600 px</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Gratulacje, udzieliłeś poprawnej odpowiedzi. W definicji CSS dla elementu body, szerokość ustawiono na 560 px. Właściwość box-sizing: border-box, gwarantuje, że szerokość ta obejmuje również obramowanie. Dlatego, w praktyce, szerokość strony pozostawiona na treść wynosi 560 px. Wartości te są bardzo ważne przy projektowaniu stron internetowych, szczególnie przy tworzeniu responsywnych layoutów, gdzie musimy precyzyjnie kontrolować szerokość i rozmieszczenie elementów. Pamiętaj, że wykorzystanie odpowiednich jednostek i precyzyjne definiowanie wymiarów jest kluczowe dla zachowania poprawnej struktury strony. Dobrym nawykiem jest również stosowanie właściwości box-sizing: border-box, która ułatwia kontrolę nad rozmiarem elementów, zwłaszcza przy komplikowanych układach strony. </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-programista&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> <!-- FRAGMENT CACHE: Random Qualifications --> <div class="col-lg-4 footer-section"> <h2 class="h5">Losowe kwalifikacje</h2> <div class="row"> <div class="col-6"> <a href="/technik-usug-fryzjerskich/FRK.03/" class="footer-link"> <span>FRK.03</span> <small class="text-muted">(534)</small> </a> </div> <div class="col-6"> <a href="/technik-teleinformatyk/INF.08/" class="footer-link"> <span>INF.08</span> <small class="text-muted">(1 129)</small> </a> </div> <div class="col-6"> <a href="/technik-fotografii-i-multimediow/AUD.05/" class="footer-link"> <span>AUD.05</span> <small class="text-muted">(758)</small> </a> </div> <div class="col-6"> <a href="/technik-transportu-drogowego/TDR.01/" class="footer-link"> <span>TDR.01</span> <small class="text-muted">(412)</small> </a> </div> <div class="col-6"> <a href="/technik-pojazdow-samochodowych/MOT.05/" class="footer-link"> <span>MOT.05</span> <small class="text-muted">(859)</small> </a> </div> <div class="col-6"> <a href="/technik-elektroenergetyk-transportu-szynowego/TKO.06/" class="footer-link"> <span>TKO.06</span> <small class="text-muted">(47)</small> </a> </div> <div class="col-6"> <a href="/technik-handlowiec/HAN.01/" class="footer-link"> <span>HAN.01</span> <small class="text-muted">(1 127)</small> </a> </div> <div class="col-6"> <a href="/technik-technologii-chemicznej/CHM.06/" class="footer-link"> <span>CHM.06</span> <small class="text-muted">(297)</small> </a> </div> <div class="col-6"> <a href="/technik-budownictwa/BUD.12/" class="footer-link"> <span>BUD.12</span> <small class="text-muted">(419)</small> </a> </div> <div class="col-6"> <a href="/technik-gornictwa-podziemnego/GIW.09/" class="footer-link"> <span>GIW.09</span> <small class="text-muted">(306)</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>