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: 13 maja 2025 11:11
  • Data zakończenia: 13 maja 2025 11:14

Egzamin niezdany

Wynik: 11/40 punktów (27,5%)

Wymagane minimum: 20 punktów (50%)

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

W języku PHP funkcja trim służy do

A. porównywania dwóch tekstów i wyświetlania ich wspólnej części
B. usuwania białych znaków lub innych określonych w parametrze znaków z obu końców tekstu
C. redukcji tekstu o liczbę znaków określoną w parametrze
D. podawania długości tekstu
Funkcja trim w języku PHP ma na celu usuwanie białych znaków oraz innych znaków, które są określone w jej parametrach, z obu końców napisu. To niezwykle przydatne narzędzie w programowaniu, szczególnie podczas przetwarzania danych wejściowych, gdzie użytkownicy mogą nieświadomie dodawać zbędne spacje, tabulatory lub nowe linie. Na przykład, gdy przetwarzamy dane formularzy, może się zdarzyć, że użytkownik wprowadzi swoje imię z dodatkowymi spacjami na początku lub końcu. Użycie trim pozwala na zapewnienie, że dane będą miały odpowiednią formę przed dalszym przetwarzaniem, co jest kluczowe w kontekście walidacji i normalizacji danych. Dodatkowo, funkcja ta wspiera podawanie własnych znaków do usunięcia, co czyni ją bardzo elastycznym narzędziem w codziennym programowaniu. Używanie trim jako standardowej praktyki przy obróbce danych tekstowych jest rekomendowane przez wielu ekspertów, ponieważ zwiększa to jakość i spójność przetwarzanych informacji.

Pytanie 2

W systemach bazodanowych, aby przedstawić dane, które spełniają określone kryteria, należy stworzyć

A. relację
B. raport
C. formularz
D. makropolecenie
Raport w kontekście baz danych to coś, co naprawdę pomaga w uporządkowanej prezentacji danych. Dzięki niemu możemy pokazać informacje w taki sposób, żeby było to zrozumiałe i zgodne z tym, czego potrzebujemy. Raporty to świetne narzędzie do zbierania danych, ich analizy i wizualizacji, co jest bardzo ważne w biznesie. Na przykład, można za ich pomocą stworzyć zestawienie sprzedaży za dany okres, porównać finanse różnych działów firmy albo sprawdzić, jak skuteczne były kampanie marketingowe. W praktyce często korzysta się z takich raportów w programach jak Microsoft Access, gdzie można wybrać źródło danych, odpowiednie pola i ustawić filtry. To wszystko po to, żeby stworzyć dokument, który jasno przedstawia wyniki analizy. Warto pamiętać, że tworzenie raportów powinno opierać się na dobrych zasadach, takich jak czytelność i estetyka, a także dostosowanie do potrzeb użytkownika, bo to naprawdę się liczy, jeśli chodzi o UX.

Pytanie 3

Jakie kolory wchodzą w skład modelu barw CMYK?

A. cyjan, magenta, żółty i karmazyn
B. czerwony, zielony, niebieski oraz kanał alfa
C. cyjan, magenta, żółty i czarny
D. czerwony, zielony oraz niebieski
Czerwony, zielony i niebieski to kolory, które są składowymi modelu RGB (Red, Green, Blue), który jest stosowany głównie w kontekście wyświetlaczy elektronicznych, takich jak monitory i telewizory. W modelu RGB kolory są generowane przez dodawanie światła, co różni się od modelu CMYK, w którym kolory są uzyskiwane przez subtraktywne mieszanie barw. W kontekście druku, użycie RGB może prowadzić do nieprzewidywalnych rezultatów, gdyż kolory na ekranie nie zawsze odpowiadają tym, które pojawią się na wydruku. Często następuje konieczność konwersji kolorów z RGB na CMYK, aby uzyskać właściwe odwzorowanie kolorów. Cyjan, magenta, żółty i karmazyn to kombinacja kolorów, która nie jest standardowym zestawem składowych w modelu barw. Karmazyn, jako kolor pochodny, nie jest uznawany za podstawowy składnik modelu CMYK, a zamiast tego jest blisko związany z magentą, co może wprowadzać w błąd. Z kolei pojęcie kanału alfa odnosi się do przezroczystości w obrazach rastrowych, co jest związane z modelem kolorów RGBA, a nie z CMYK. Kanał alfa jest istotny w kontekście edycji grafiki komputerowej, ale nie ma zastosowania w tradycyjnych procesach druku, gdzie priorytetem jest odwzorowanie kolorów w formacie CMYK.

Pytanie 4

W zaprezentowanym schemacie bazy danych o nazwie biblioteka, składniki: czytelnik, wypożyczenie oraz książka są

Ilustracja do pytania
A. atrybutami
B. polami
C. encjami
D. krotkami
W kontekście modelowania danych w relacyjnych bazach danych istotne jest rozróżnienie między encjami a innymi pojęciami. Pola w bazach danych zazwyczaj odnoszą się do pojedynczych jednostek danych w obrębie kolumn tabeli reprezentujących atrybuty encji. Atrybuty to cechy opisujące encje takie jak imię czy nazwisko w przypadku encji czytelnik. Natomiast krotki często określają pojedynczy rekord czyli wiersz w tabeli który jest instancją encji. Błędne jest przypisywanie czytelnik wypozyczenie i ksiazka do kategorii pól ponieważ w modelowaniu danych pola są najmniejszymi jednostkami danych które nie reprezentują obiektów realnego świata lecz ich właściwości. Podobnie błędem jest klasyfikowanie ich jako atrybuty ponieważ atrybuty opisują encje a nie są nimi. Traktowanie tych elementów jako krotek również jest nieprawidłowe gdyż krotki to konkretne instancje danych a nie typy obiektów które chcemy modelować. Typowy błąd myślowy polega na myleniu poziomu abstrakcji czyli traktowaniu encji które są wysokopoziomowymi konceptami jak atrybuty czy krotki które są bardziej szczegółowymi jednostkami w strukturze danych. Zrozumienie tych różnic jest kluczowe dla efektywnego projektowania i implementacji baz danych oraz uniknięcia problemów związanych z redundancją czy nieefektywnością w przetwarzaniu informacji

Pytanie 5

Wskaż stwierdzenie, które nie jest prawdziwe dla następującej definicji funkcji w języku C++?

void zamien( float &x, float &y){
    float tmp;
    tmp = x;
    x = y;
    y = tmp;
}

A. Funkcja posiada dwa parametry.
B. Funkcja zwraca wartość.
C. Funkcja nie zwraca wartości.
D. Funkcja odwołuje się do parametrów przez referencję.
Niestety, wybrałeś odpowiedź, która nie jest właściwa. Poprawna odpowiedź w tym przypadku to 'Funkcja zwraca wartość', co jest nieprawdziwe dla podanej definicji funkcji w C++. Mówimy tutaj o funkcji typu 'void', która z zasady nie zwraca nic. Typ 'void' oznacza, że nie mamy zwracanego typu. Poza tym, stwierdzenia, że funkcja nie ma parametrów czy nie odnosi się do nich przez referencję, też są błędne. W rzeczywistości, funkcja ma dwa parametry typu float, które są przekazywane przez referencję. To naprawdę istotne, bo pomaga w modyfikacji wartości zmiennych, które przekazujemy do funkcji. Zrozumienie tego jest ważne w C++, żeby lepiej zarządzać pamięcią i danymi.

Pytanie 6

Jaką rolę pełni funkcja PHP o nazwie mysql_select_db()?

A. pobrać dane z bazy danych na podstawie zapytania
B. określić bazę, z której będą pobierane dane
C. określić tabelę, z której będą pobierane informacje
D. nawiązać połączenie bazy danych z serwerem SQL
Istnieje kilka powszechnych nieporozumień dotyczących funkcji mysql_select_db(), które mogą prowadzić do błędnych wniosków. Niewłaściwe jest myślenie, że ta funkcja służy do określenia tabeli, z której będą pobierane dane. W rzeczywistości, mysql_select_db() nie odnosi się bezpośrednio do tabel; zamiast tego, definiuje bazę, w której te tabele się znajdują. Kolejnym błędem jest przekonanie, że mysql_select_db() odpowiada za połączenie bazy danych z serwerem SQL. To zadanie należy do mysql_connect(), która tworzy połączenie z serwerem. Istnieje również mylne założenie, że funkcja ta pobiera dane z bazy danych. W rzeczywistości, pobieranie danych odbywa się za pomocą osobnych zapytań SQL, które są wykonywane po wcześniejszym wybraniu odpowiedniej bazy danych. Takie nieporozumienia mogą prowadzić do błędów w kodzie, gdzie programista usiłuje używać mysql_select_db() do operacji, które nie są jej przeznaczone. Niezrozumienie roli bazy danych i tabel w kontekście SQL oraz funkcji PHP może skutkować nieefektywnym kodem oraz problemami z jego debugowaniem. Ważne jest, aby mieć jasność co do roli różnych funkcji w interakcji z bazą danych, co pozwala na bardziej efektywne i bezpieczne programowanie.

Pytanie 7

Którego elementu nie powinno się umieszczać w nagłówku pliku HTML?

A.
B.

C.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. <link></span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Odpowiedź <h2> jest poprawna, ponieważ ten znacznik rzeczywiście może być używany w nagłówku dokumentu HTML. Znaczniki nagłówków, takie jak <h1>, <h2>, <h3>, itd., są kluczowe dla strukturyzowania treści w HTML, ponieważ definiują hierarchię informacji na stronie. Zgodnie z najlepszymi praktykami SEO, właściwe użycie znaczników nagłówków nie tylko poprawia czytelność dla użytkowników, ale także umożliwia wyszukiwarkom lepsze zrozumienie struktury treści. Warto jednak zauważyć, że w nagłówku dokumentu HTML, który znajduje się w sekcji <head>, należy umieszczać jedynie metadane takie jak <title> oraz <meta>. Znaczniki nagłówków są przeznaczone do użycia w sekcji <body>, co podkreśla ich rolę w organizacji zawartości wizualnej. W praktyce, poprawne użycie znaczników nagłówków przyczynia się do lepszej nawigacji i dostępności treści dla użytkowników z różnymi potrzebami, w tym dla osób korzystających z technologii asystujących. Zastosowanie odpowiednich znaczników nagłówków może także wpłynąć na czas ładowania strony oraz jej ogólną wydajność. </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="konstruktor-w-jezyku-php-jest-metoda-o-nazwie-0d5fb2c3" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Jak nazywa się metoda tworząca obiekt w języku PHP?</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. __construct</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. __new</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. __open</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</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Odpowiedzi, które nie są poprawne, nie odnoszą się do właściwego sposobu definiowania konstruktorów w PHP. Wyrażenie __new sugeruje mechanizm związany z tworzeniem instancji obiektów, jednak nie jest ono używane jako konstruktor. W PHP __new jest używane w kontekście wzorców projektowych, ale nie jest to metoda konstrukcyjna, lecz metodą statyczną związaną z prototypowaniem obiektów, co wykracza poza standardowy sposób inicjalizacji obiektów. Z kolei __open oraz __create nie są metodami rozpoznawanymi przez PHP jako mające jakiekolwiek znaczenie w kontekście konstruktorów. __open mogłoby sugerować otwarcie zasobu, co nie ma związku z inicjalizacją obiektu klasy, a __create jest nieodpowiednim terminem, gdyż PHP nie definiuje żadnej metody o takiej nazwie. Użycie tych nazw w kontekście konstruktorów wprowadza zamieszanie i może prowadzić do błędów w kodzie oraz nieporozumień dotyczących działania obiektów. Właściwe użycie __construct jako konstruktorów w PHP jest kluczowe dla zapewnienia prawidłowego działania aplikacji, a niewłaściwe nazewnictwo może prowadzić do problemów technicznych i ograniczeń funkcjonalnych. </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="w-jezyku-php-w-wyniku-dziaania-fragmentu-kodu-w-z-c7117d21" 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 po wykonaniu poniższego fragmentu kodu w zmiennej o nazwie Nowy_Napis zostanie zapisany<table border="1"> <tr> <td> <pre><code>$Napis = "ZaWszE SpRaWdZ swoj KoD"; $Nowy_Napis = strtolower($Napis);</code></pre> </td> </tr> </table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>A. zAwSZe sPrAwDz SWOJ kOd</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. ZAWSZE SPRAWDZ SWOJ KOD</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. zawsze sprawdz swoj kod</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. ZaWszE</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óre nie są poprawne, opiera się na niewłaściwym zrozumieniu działania funkcji strtolower(). Niektóre z odpowiedzi sugerują, że tekst wynikowy pozostaje w różnych formach, jednak każda z nich nie odzwierciedla efektu działania tej funkcji. Odpowiedź 'ZAWSZE SPRAWDZ SWOJ KOD' wskazuje, że wszystkie litery powinny pozostać w oryginalnej wielkości, co jest niezgodne z działaniem strtolower(). Inna odpowiedź, 'ZaWszE', sugeruje, że funkcja mogłaby tylko częściowo zmieniać wielkości liter, co jest również błędne, ponieważ funkcja ta konwertuje cały łańcuch do małych liter. Z kolei 'zAwSZe sPrAwDz SWOJ kOd' pokazuje, że użytkownik myli działanie strtolower() z innymi operacjami przekształcającymi tekst. Ważne jest, aby zrozumieć, że strtolower() nie wprowadza żadnych warunków ani nie zachowuje oryginalnej struktury tekstu, a jego celem jest zapewnienie jednolitości w zapisie tekstu. W związku z tym, aby uzyskać prawidłowy wynik, kluczowe jest zrozumienie zasady działania tej funkcji i jej zastosowania w kontekście przetwarzania 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 10</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="ktory-rodzaj-komunikatu-jest-zawsze-przekazywany-t-c1721318" 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>Jaki typ komunikatu jest zawsze przesyłany wyłącznie w kierunku w dół, to jest od kierownika do pracownika?</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. Uwagi dotyczące polityki organizacji.</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. Zgłaszanie.</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. Powierzenie zadania.</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. Poszukiwanie rozwiązań.</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> W przypadku raportowania, komunikacja ta jest często obustronna, co oznacza, że może zachodzić nie tylko w dół, ale również w górę - pracownicy raportują swoje wyniki i postępy do przełożonych, co może prowadzić do interakcji i wymiany informacji. Poszukiwanie rozwiązań z kolei jest procesem bardziej współpracy, który angażuje zarówno przełożonych, jak i podwładnych w poszukiwanie najlepszych sposobów działania. Taki sposób komunikacji oparty jest na wymianie pomysłów oraz twórczym myśleniu, co nie jest ograniczone tylko do jednego kierunku. Uwagi o polityce organizacji również mogą być przekazywane w różny sposób - mogą to być zarówno polecenia z góry, jak i sugestie z dołu, co pozwala na bardziej demokratyczne podejście do zarządzania. Typowe błędy myślowe prowadzące do takich niepoprawnych wniosków często opierają się na założeniu, że wszystkie komunikaty mają jednolitą naturę. W rzeczywistości, skuteczna komunikacja w organizacji wymaga uwzględnienia kontekstu, celu oraz odbiorcy. Dlatego zrozumienie różnorodności komunikatów i sposobów ich przekazywania jest kluczowe dla skutecznego zarządzania i efektywnej współpracy w zespole. </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="ktory-zestaw-pojec-definiuje-interfejs-uzytkownik-6614e4be" 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>Jaki zestaw terminów określa interfejs użytkownika witryny internetowej?</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. Szkic strony, diagram witryny, diagram przepływu informacji</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. Przyciski, menu, interakcja użytkownika z aplikacją</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. Obróbka danych, system zarządzania treścią, projektowanie informacji</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. Przesyłanie zapytań do bazy, skrypty PHP</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Pierwszy zestaw pojęć, obejmujący wysyłanie kwerend do bazy oraz skrypty PHP, odnosi się do technologii backendowych, które nie są bezpośrednio związane z interfejsem użytkownika. Wysyłanie kwerend do bazy danych to proces, w którym aplikacja zyskuje dostęp do informacji przechowywanych w bazie, co jest kluczowe dla funkcjonalności strony, ale nie definiuje, jak użytkownik będzie korzystał z tej strony. Również skrypty PHP, będące językiem programowania po stronie serwera, odpowiadają za logikę aplikacji, a nie za wizualizację i interakcję z użytkownikiem. Kolejny zestaw pojęć, składający się ze szkicu strony, diagramu witryny oraz diagramu przepływu informacji, dotyczy planowania i architektury informacji, co jest niezbędne w procesie projektowania, ale nie odnosi się bezpośrednio do komponentów interfejsu użytkownika. Te narzędzia pomagają zrozumieć strukturę i organizację treści, ale same w sobie nie definiują sposobu, w jaki użytkownik będzie wchodził w interakcję z danym systemem. Ostatni zestaw pojęć, obejmujący przetwarzanie informacji, system zarządzania treścią i projektowanie informacji, również nie odnosi się bezpośrednio do interfejsu. Przetwarzanie informacji to proces dotyczący obróbki danych, a system zarządzania treścią skupia się na tworzeniu i publikowaniu treści, co, mimo że jest istotne, nie definiuje fizycznych elementów interfejsu, które są niezbędne do interakcji z użytkownikiem. Wszystkie te odpowiedzi pomijają kluczowy aspekt UI, jakim jest bezpośrednia interakcja z użytkownikiem. </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="w-znaczniku-meta-w-miejsce-kropek-nalezy-wpisacp-1189f447" 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 znaczniku meta w miejsce kropek należy wpisać<table border="1"> <tr> <td> <pre><code><meta name="description" content="…"></code></pre> </td> </tr> </table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. język dokumentu.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. informację o dostosowaniu do urządzeń mobilnych.</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. streszczenie treści strony.</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. nazwę edytora.</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Mówiąc, że w znaczniku meta w polu 'content' trzeba umieścić nazwę edytora, to trochę nie na miejscu. Opis strony powinien odnosić się do tego, co właściwie na niej jest, a nie do narzędzia, którym została zrobiona. Tak samo mówienie o definicji języka dokumentu w tym miejscu jest błędne, bo powinno się to robić z atrybutem 'lang' w znaczniku <html>. Wstawianie informacji o wersji mobilnej do pola 'content' znacznika meta też wprowadza w błąd, bo takie rzeczy zazwyczaj są podawane przez odpowiednie style CSS i znacznik <meta name='viewport'>. Często użytkownicy mogą się mylić, myśląc że te informacje można zamieścić w opisie, co jest nieprawda. Każda z tych odpowiedzi pokazuje, że nie do końca rozumiesz, jak działają znaczniki meta i jaka jest ich rola przy tworzeniu stron. Ważne jest, żeby znać gdzie i jak używać różnych atrybutów, bo to wpływa na SEO i na to, jak strona wygląda w wynikach wyszukiwania oraz jakie wartościowe informacje dostarczasz użytkownikom. </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="jaki-rezultat-zostanie-wyswietlony-po-wykonaniu-pr-b23348a4" 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>Jaki rezultat zostanie wyświetlony po wykonaniu przedstawionego kodu HTML? <!-- Kod w ramce --> <table style="border: 2px solid black; border-collapse: collapse;"> <tr> <td style="border: 1px solid black; padding: 10px; font-family: monospace;"> <pre><code><ol>     <li>punkt</li>     <li>punkt         <ul>             <li>punkt</li>             <li>punkt</li>         </ul>     </li>     <li>punkt</li> </ol> <ol type="A" start="4">     <li>punkt</li> </ol></code></pre> </td></tr></table> <!-- Efekty wyświetlania --> <div style="display:flex; gap:40px; font-family:Arial, sans-serif;"> <!-- Efekt A --> <div> <p>1. punkt</p> <p>2. punkt</p> <ul style="list-style-type: circle; margin-top: -10px;"> <li>punkt</li> <li>punkt</li> </ul> <p>3. punkt</p> <p>4. punkt</p> <p><strong>A.</strong></p> </div> <!-- Efekt B --> <div> <p>1. punkt</p> <p>2. punkt</p> <ul style="list-style-type: disc; margin-top: -10px;"> <li>punkt</li> <li>punkt</li> </ul> <p>3. punkt</p> <p>4. punkt</p> <p><strong>B.</strong></p> </div> <!-- Efekt C --> <div> <p>1. punkt</p> <p>2. punkt</p> <ul style="list-style-type: disc; margin-top: -10px;"> <li>punkt</li> <li>punkt</li> </ul> <p>3. punkt</p> <p>D. punkt</p> <p><strong>C.</strong></p> </div> <!-- Efekt D --> <div> <p>1. punkt</p> <p>2. punkt</p> <ul style="list-style-type: circle; margin-top: -10px;"> <li>punkt</li> <li>punkt</li> </ul> <p>3. punkt</p> <p>D. punkt</p> <p><strong>D.</strong></p> </div> </div></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. C.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. A.</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. B.</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. D.</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Niestety, twoja odpowiedź nie była poprawna. Może wynikać to z braku zrozumienia struktury i semantyki kodu HTML, szczególnie w kontekście list uporządkowanych (``) i nieuporządkowanych (``). Kod HTML w pytaniu składa się z dwóch uporządkowanych list, z których pierwsza zawiera trzy elementy. Drugi element pierwszej listy zawiera zagnieżdżoną nieuporządkowaną listę z dwoma elementami. Warto zaznaczyć, że elementy listy nieuporządkowanej są zazwyczaj wyświetlane z kropkami. Druga lista uporządkowana zaczyna numerację od litery 'D', co jest zgodne z poprawną odpowiedzią. Typowym błędem jest niezauważenie zagnieżdżonych list lub niepoprawne zrozumienie funkcji atrybutu start w liście uporządkowanej. W praktyce, zrozumienie struktury i semantyki tagów HTML jest kluczowe dla tworzenia efektywnych i użytecznych stron internetowych. Proponuję, abyś ponownie przeanalizował kod HTML, skupiając się na strukturze list i zrozumieniu atrybutów stosowanych w tagach list. </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="przedstawiony-kod-zrodowy-ma-za-zadanie-wyswietl-4fa260d8" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Kod źródłowy przedstawiony poniżej ma na celu wyświetlenie</p> <figure class="figure mt-3"> <img src="/images/11155.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. wylosowanych liczb z zakresu od 1 do 99</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. ciągu liczb od 1 do 100</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. losowych liczb od 0 do 100, aż do wylosowania wartości 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. liczb wprowadzonych z klawiatury, aż do momentu wprowadzenia wartości 0</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Kod źródłowy przedstawiony w pytaniu inicjuje losowanie liczb w przedziale od 0 do 100 i wyświetla je na ekranie aż do momentu wylosowania liczby 0. Taki sposób działania jest możliwy dzięki zastosowaniu pętli while która wykonuje się dopóki warunek w niej zawarty jest spełniony. W tym przypadku warunek ten to różność zmiennej liczba od zera. Funkcja rand(0 100) generuje losowe liczby całkowite z zadanego przedziału. W momencie wylosowania wartości 0 pętla przestaje się wykonywać co skutkuje zakończeniem procesu wyświetlania liczb na ekranie. Tego typu pętle są często używane w programowaniu do tworzenia losowych zdarzeń np. w grach komputerowych gdzie potrzebne jest dynamiczne generowanie wartości. Warto zwrócić uwagę na to że funkcja rand jest standardową funkcją w wielu językach programowania pozwalającą na generowanie losowych liczb co jest przydatne w testowaniu algorytmów w różnych warunkach. Praktyka ta wspomaga proces nauki i doskonalenia umiejętności programistycznych dzięki możliwości symulacji losowych scenariuszy. </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="instrukcja-break-w-przedstawionym-kodzie-php-spraw-19117452" 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>Instrukcja break w przedstawionym kodzie PHP sprawi, że <table border="1"> <tr> <td> <pre><code>for($i = 1; $i <= 3; $i++) { for($j = 1; $j <= 3; $j++) { echo "Iteracja: ($i, $j)"; if($i == 2 and $j == 2) break; } }</code></pre> </td> </tr> </table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. wewnętrzna pętla dokończy działanie dla $j = 3, a następnie program zostanie przerwany.</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. działanie wewnętrznej pętli zostanie zakończone po iteracji (2, 2) i będzie kontynuowane dla $i = 3.</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. działanie obu pętli zostanie zakończone po iteracji (2, 2).</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. iteracja (2, 2) zostanie przerwana i nastąpi po niej iteracja (2, 3).</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Niektóre z błędnych odpowiedzi sugerują, że instrukcja 'break' w PHP kończy wykonywanie wszystkich pętli czy też kończy działanie wewnętrznej pętli, ale dopiero po zakończeniu iteracji dla $j = 3. Te podejścia są nieprawidłowe z kilku powodów. Po pierwsze, instrukcja 'break' bez dodatkowego argumentu zawsze kończy najbliższą pętlę, nie wszystkie. Po drugie, 'break' natychmiast przerywa działanie pętli, nie czeka aż skończą się inne iteracje. Te błędne założenia mogą wynikać z niezrozumienia działania instrukcji 'break' i pętli w PHP. Pamiętaj, że instrukcje sterujące, takie jak 'break', są kluczowymi elementami języków programowania i ich prawidłowe zrozumienie jest niezbędne do efektywnego kodowania. W PHP, 'break' jest często używana do optymalizacji kodu, umożliwiając programiście zakończenie pętli, w momencie gdy dalsze iteracje nie wpłyną na wynik końcowy. </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="znaczniki-html-strong-oraz-em-suzace-do-podkr-bdf613c1" 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>Znaczniki HTML <strong> oraz <em>, które mają na celu podkreślenie istotności tekstu, pod względem formatowania odpowiadają znacznikom</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. <b> oraz <u></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. <b> oraz <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>C. <i> oraz <mark></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. <u> oraz <sup></span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Znaczniki HTML <strong> oraz <em> mają kluczowe znaczenie w kontekście semantyki i formatowania tekstu w dokumentach HTML. Znacznik <strong> wskazuje na tekst o zwiększonej ważności, co jest zgodne z jego domyślnym formatowaniem, które w większości przeglądarek wyświetla tekst pogrubiony. Z kolei znacznik <em> sugeruje tekst, który powinien być akcentowany w odpowiedni sposób, a jego domyślne formatowanie to kursywa. W związku z tym, ich odpowiednikami pod względem formatowania są znaczniki <b> oraz <i>. Znacznik <b> służy do pogrubienia tekstu, ale nie niesie ze sobą żadnej dodatkowej semantyki, natomiast <i> używany jest do kursywy bez wskazania na ważność. W praktyce, należy używać <strong> i <em> tam, gdzie semantyka jest kluczowa dla zrozumienia treści, a dodatkowe znaczenie przekłada się na lepsze pozycjonowanie w wyszukiwarkach oraz dostępność dla osób korzystających z technologii asystujących. Ważne jest, by przestrzegać dobrych praktyk webowych i stosować znaczniki semantyczne, co pozwoli na efektywne przekazywanie informacji zarówno użytkownikom, jak i robotom indeksującym. </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="ktory-jezyk-skryptowy-ogolnego-przeznaczenia-nalez-54e16891" 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 języka skryptowego ogólnego zastosowania powinno się użyć do tworzenia aplikacji internetowych, które są zintegrowane z HTML i działają na serwerze?</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. PHP</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. 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. JavaScript</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. Perl</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> JavaScript, choć jest niezwykle popularnym językiem skryptowym używanym do tworzenia interaktywnych elementów na stronach internetowych, działa głównie po stronie klienta, co oznacza, że kod jest wykonywany w przeglądarce użytkownika, a nie na serwerze. To ogranicza możliwość bezpośredniej interakcji z bazą danych lub przetwarzania danych na serwerze. Użycie Javy jako języka skryptowego w aplikacjach webowych również napotyka ograniczenia, ponieważ jest to język o większej złożoności i przeznaczeniu systemowym, a nie specjalnie dostosowany do dynamicznych treści w sieci. W przypadku Perla, choć jest to język o dużych możliwościach, jego popularność w tworzeniu aplikacji WWW znacznie zmalała na rzecz bardziej nowoczesnych rozwiązań, jak PHP lub Python. C# również nie jest idealnym wyborem dla aplikacji WWW, które mają być zagnieżdżane w HTML, ponieważ jest językiem głównie stosowanym w ekosystemie Microsoftu i .NET, który wymaga dodatkowej konfiguracji serwera. To prowadzi do nieefektywności, jeśli chodzi o szybkość i łatwość wdrażania. Wybór niewłaściwego języka do danego zadania, takiego jak tworzenie aplikacji WWW, może skutkować poważnymi komplikacjami, w tym większym czasem ładowania, trudnościami w integracji oraz mniejszą elastycznością w rozwoju aplikacji. Dlatego tak ważne jest zrozumienie specyfiki i zastosowania różnych języków skryptowych w kontekście budowy aplikacji webowych. </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-naprawic-baze-danych-w-mysql-nalezy-uzyc-pol-bc19af14" 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 polecenie należy zastosować, aby naprawić bazę danych w MySQL?</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. CHANGE</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. UPDATE</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. FIX</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. REPAIR</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 FIX jako metody naprawy bazy danych w MySQL jest błędny, ponieważ to polecenie nie istnieje w składni MySQL. Użytkownicy mogą czasami mylić terminologię w kontekście innych systemów baz danych, jednak w MySQL nie ma komendy o nazwie FIX, co czyni ją nieodpowiednią w tym przypadku. Oprócz tego, UPDATE to polecenie służące do modyfikacji istniejących danych w tabelach, a nie do naprawy struktury bazy danych. Funkcja ta umożliwia użytkownikom aktualizację wartości w określonych kolumnach, ale nie ma związku z naprawą uszkodzonych tabel czy indeksów. Z kolei CHANGE, choć może być używane w kontekście zmiany struktury tabeli, również nie odnosi się do aspektu naprawy bazy danych. To polecenie jest używane w zmienianiu typu kolumny lub jej nazwy i nie ma zastosowania w kontekście naprawy błędów w tabelach. Dlatego, aby poprawnie naprawić bazę danych w MySQL, jedyną właściwą metodą pozostaje użycie polecenia REPAIR. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 19</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="aby-utworzyc-relacje-jeden-do-wielu-w-tabeli-po-s-b6641848" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Aby stworzyć relację jeden do wielu, w tabeli po stronie wiele, co należy zdefiniować?</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. klucz podstawowy wskazujący na klucz podstawowy tabeli po stronie jeden</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. klucz obcy wskazujący na klucz podstawowy tabeli po stronie jeden</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. klucz obcy wskazujący na klucz obcy tabeli po stronie jeden</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. klucz sztuczny odnoszący się do kluczy podstawowych obu tabel</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> W relacji jeden do wielu, klucz obcy w tabeli po stronie wiele jest kluczowym elementem, który wskazuje na klucz podstawowy tabeli po stronie jeden. Dzięki temu możliwe jest powiązanie wielu rekordów w tabeli 'wiele' z jednym rekordem w tabeli 'jeden', co jest fundamentalnym aspektem modelowania relacyjnych baz danych. Klucz obcy zapewnia integralność referencyjną, co oznacza, że każda wartość klucza obcego w tabeli 'wiele' musi odpowiadać istniejącemu kluczowi podstawowemu w tabeli 'jeden'. Przykładem może być sytuacja, w której mamy tabelę 'Klienci' i tabelę 'Zamówienia'. W tabeli 'Zamówienia' klucz obcy 'ID_Klienta' wskazuje na 'ID' w tabeli 'Klienci', co pozwala na przypisanie wielu zamówień do jednego klienta. Zgodnie z dobrymi praktykami branżowymi, klucze obce powinny być odpowiednio zindeksowane, co pozwala na szybsze zapytania oraz efektywniejsze przetwarzanie danych. </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="model-barw-oparty-na-3-parametrach-odcien-nasyc-046ad270" 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>Model kolorów oparty na trzech parametrach: hue, saturation i brightness to</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. HSV</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. RGB</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. CMYK</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. CMY</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> RGB to model barw oparty na trzech kolorach podstawowych: czerwonym, zielonym i niebieskim. W tym modelu kolory są tworzone przez mieszanie tych trzech barw w różnych proporcjach, a nie przez kontrolowanie odcienia, nasycenia i jasności. RGB jest często stosowany w urządzeniach wyświetlających, takich jak monitory i telewizory, a jego wartości są wyrażane w skali od 0 do 255. CMY i CMYK to modele barw, które są stosowane głównie w druku. Model CMY, który składa się z cyjanu, magenty i żółtego, jest odwrotnością RGB, ponieważ używa kolorów subtraktywnych. CMYK, dodający czarny do CMY, jest zaprojektowany specjalnie do uzyskania głębszych tonów i lepszej reprodukcji kolorów w druku. W przeciwieństwie do modelu HSV, zarówno RGB, CMY, jak i CMYK nie uwzględniają łatwego zarządzania odcieniem, nasyceniem i jasnością w sposób, który jest intuicyjny dla użytkownika, co czyni je mniej użytecznymi w kontekście aplikacji graficznych i multimedialnych. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 21</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-jezyku-html-aby-zdefiniowac-sowa-kluczowe-stron-8cb583e1" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W języku HTML, aby określić słowa kluczowe dla danej strony, należy zastosować zapis</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. <meta name = "description" content = "psy, koty, gryzonie"></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. <meta name = "keywords" content = "psy, koty, gryzonie"></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. <meta keywords = "psy, koty, gryzonie"></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. <meta name = "keywords" = "psy, koty, gryzonie"></span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Odpowiedzi, które nie spełniają standardów HTML, mogą prowadzić do nieporozumień i utraty efektywności w kontekście SEO. Przykładowo, zapis <meta name = "keywords" = "psy, koty, gryzonie"> jest niepoprawny z kilku powodów. Po pierwsze, atrybut 'name' i 'content' muszą być oddzielone spacją, a nie znakiem równości. Poprawna struktura wymaga, aby 'name' był atrybutem wskazującym na rodzaj metadanych, a 'content' dostarczał ich wartość. Kolejna odpowiedź, <meta name = "description" content = "psy, koty, gryzonie">, jest nieprawidłowa, ponieważ odnosi się do opisu strony, a nie słów kluczowych. Opis jest ważnym elementem, ale to nie on definiuje słowa kluczowe, które są stosowane do kategoryzacji treści. Z kolei zapis <meta keywords = "psy, koty, gryzonie"> pomija kluczowy atrybut 'name', co sprawia, że jest to niezgodne z zasadami HTML. Kluczową kwestią jest również to, że wiele wyszukiwarek, takich jak Google, zrezygnowało z brania pod uwagę metatagu 'keywords' w swoich algorytmach rankingowych, co sprawia, że jego stosowanie jest mniej efektywne. Użytkownicy powinni zrozumieć, że stosowanie poprawnych metatagów jest nie tylko kwestią formalną, ale również wpływa na sposób, w jaki ich strona jest postrzegana i indeksowana przez różne wyszukiwarki. </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="algorytm-wyszukiwania-elementu-w-nieposortowanej-t-c900dd00" 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ą złożoność obliczeniową posiada algorytm znajdowania elementu w nieposortowanej jednowymiarowej tablicy?</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. stałą, O(1)</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. liniową, O(n)</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. kwadratową, O(n2)</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. silnia, O(n!)</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Algorytm wyszukiwania w nieposortowanej tablicy jednowymiarowej charakteryzuje się złożonością obliczeniową O(n), co oznacza, że w najgorszym przypadku będzie wymagał przeszukania każdego elementu tablicy, aby znaleźć poszukiwany element. Przykładem takiego algorytmu jest wyszukiwanie liniowe, które polega na iteracyjnym przeszukiwaniu każdego elementu od początku do końca tablicy, aż zostanie znaleziony żądany element lub zostanie osiągnięty koniec tablicy. W praktyce, algorytmy o złożoności O(n) są często stosowane w sytuacjach, gdy mamy do czynienia z danymi, które nie są posortowane, a szybkie wyszukiwanie nie jest możliwe bez wcześniejszego sortowania. W kontekście standardów branżowych, dobrze jest wiedzieć, że w systemach, w których wydajność jest kluczowa, stosuje się różnorodne techniki optymalizacji, takie jak przetwarzanie równoległe czy użycie struktur danych, które pozwalają na szybsze wyszukiwanie. Warto również zauważyć, że złożoność O(n) jest akceptowalna dla małych i średnich zbiorów danych, jednak w przypadku dużych tablic może prowadzić do zauważalnych opóźnień, dlatego w takich przypadkach warto rozważyć inne algorytmy, które mogą przyspieszyć ten proces, jak np. haszowanie. </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="wskaz-prawidowa-kolejnosc-tworzenia-bazy-danych-e3587850" 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>Podaj właściwą sekwencję przy tworzeniu bazy 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. Zdefiniowanie celu, normalizacja, utworzenie tabel, stworzenie relacji</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. Zdefiniowanie celu, normalizacja, utworzenie relacji, stworzenie tabel</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. Zdefiniowanie celu, utworzenie relacji, stworzenie tabel, normalizacja</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. Zdefiniowanie celu, stworzenie tabel, utworzenie relacji, normalizacja</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 często pomijają kluczowe kroki lub nieprawidłowo je kolejkują. Ważne jest, aby zrozumieć, że określenie celu przed rozpoczęciem jakiejkolwiek pracy nad bazą danych jest fundamentem, na którym opiera się cały proces projektowania. Pominienie tego kroku, jak w przypadku odpowiedzi, która sugeruje rozpoczęcie od stworzenia tabel, prowadzi do stworzenia struktury, która może nie odpowiadać rzeczywistym potrzebom użytkowników. Z kolei utworzenie relacji przed normalizacją może skutkować nieefektywnymi powiązaniami między danymi, co w dłuższej perspektywie prowadzi do problemów z integralnością danych. W praktyce, normalizacja powinna być przeprowadzana po utworzeniu relacji, aby można było odpowiednio zoptymalizować strukturę bazy. Często spotykanym błędem jest także mylenie etapy projektowania bazy danych z jej implementacją, co skutkuje brakiem klarowności w dalszych pracach. Kluczowe jest, aby każdy etap był przemyślany i oparty na solidnych podstawach analitycznych, co pozwala na uniknięcie problemów w przyszłości związanych z wydajnością i skalowalnością bazy 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 24</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="aby-utworzyc-tabele-nalezy-sie-posuzyc-poleceni-77af82f3" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Aby stworzyć tabelę, należy wykorzystać 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-1 border-secondary "> <div class="flex-grow-1"> <span>A. CREATE DATABASE</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. INSERT INTO</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. ALTER TABLE</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. CREATE TABLE</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Polecenie CREATE TABLE to naprawdę ważna sprawa, jeśli chodzi o budowanie struktury bazy danych w systemach DBMS. Dzięki niemu możemy stworzyć nową tabelę w bazie, nadając jej różne nazwy i typy danych dla kolumn. Na przykład, można użyć takiego zapisu: CREATE TABLE pracownicy (id INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50), data_zatrudnienia DATE); W efekcie mamy tabelę 'pracownicy' z czterema kolumnami, a 'id' to nasz klucz główny. W praktyce, poprawne stworzenie tabeli to podstawa dalszej pracy z danymi, więc warto się postarać, żeby schematy baz danych były dobrze zaprojektowane, w zgodzie z zasadami normalizacji. To zmniejsza zbędne powtarzanie danych i sprawia, że potem łatwiej nimi zarządzać. Pamiętaj, żeby przed użyciem CREATE TABLE dobrze zaplanować strukturę bazy danych, bo to pomoże w wydajności i elastyczności aplikacji. Fajnie jest też dodać różne ograniczenia, jak klucze obce, żeby mieć pewność, że nasze dane są w porządku. </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="odpowiednikiem-encji-w-relacyjnej-bazie-danych-jes-a319464b" 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>Czym w relacyjnej bazie danych jest odpowiednik encji?</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. wiersz</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. tabela</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. atrybut</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. kolumna</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Tabela w relacyjnej bazie danych to coś jak podstawowy budulec, który reprezentuje encję, czyli po prostu zestaw danych związanych z jakimś tematem. Każda tabela ma wiersze i kolumny. Wiersze są jak indywidualne rekordy, a kolumny to różne atrybuty, które mówią nam coś o tych rekordach. Weźmy na przykład tabelę 'Klienci' – tam znajdziesz kolumny jak 'ID', 'Imię', 'Nazwisko' i 'Adres'. Dzięki tabelom relacyjne bazy danych są w stanie spełniać normy ACID, czyli zapewniają atomowość, spójność, izolację i trwałość, co jest mega ważne dla integralności danych. Z praktyki wiem, że warto nauczyć się, jak definiować tabele, żeby skutecznie przechowywać i zarządzać danymi, bo to ma duży wpływ na to, jak szybko działają zapytania. Dlatego zrozumienie struktury tabeli i jej roli w bazach danych jest kluczowe dla każdego, kto się tym zajmuje. </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="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 bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>A. BLOB</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. LONGTEXT</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. 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>D. DOUBLE</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Typ ENUM jest używany do definiowania kolumn w bazach danych, które zawierają ograniczony zestaw wartości, przy czym każda wartość jest traktowana jako tekst. Zastosowanie ENUM nie jest odpowiednie dla danych multimedialnych, które wymagają przechowywania dużych bloków danych binarnych, ponieważ ENUM nie obsługuje danych binarnych i może przechowywać jedynie dane tekstowe. Typ DOUBLE to liczba zmiennoprzecinkowa, która również nie nadaje się do przechowywania danych multimedialnych, gdyż służy do reprezentacji wartości numerycznych z podwójną precyzją, co ogranicza jego zastosowanie do obliczeń matematycznych. LONGTEXT jest typem tekstowym, który pozwala na przechowywanie długich ciągów tekstowych, jednak w przypadku multimediów, gdzie dane są w formie binarnej, nie jest to odpowiednie rozwiązanie. Sugerowanie stosowania LONGTEXT w kontekście danych multimedialnych może prowadzić do błędów wydajnościowych oraz problemów z zarządzaniem danymi, ponieważ silnik bazy danych nie jest zoptymalizowany do obsługiwania takich danych w tym formacie. Dlatego ważne jest, aby przy wyborze typów danych w bazach danych kierować się ich przeznaczeniem oraz specyfiką przechowywanych informacji, aby uniknąć nieefektywności i problemów z wydajnością. </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="zapytanie-z-klauzula-join-stosuje-sie-aby-cbd773b6" 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 jest zastosowanie zapytania z klauzulą JOIN?</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. uzyskać wynik tylko z jednej tabeli</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. pozyskać dane z dwóch tabel, które są ze sobą powiązane</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. wywołać funkcję agregują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. określić klucz obcy dla tabeli</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Zrozumienie błędnych odpowiedzi na to pytanie wymaga analizy kilku koncepcji, które są często mylone w kontekście relacyjnych baz danych. Wywoływanie funkcji agregujących, jak SUM czy AVG, ma na celu przetwarzanie danych w obrębie jednej tabeli, co nie jest bezpośrednio związane z mechanizmem łączenia tabel. Klauzula JOIN nie jest używana do wywoływania funkcji agregujących, lecz do łączenia danych z wielu tabel. Z kolei definiowanie klucza obcego jest procesem strukturalnym, który zapewnia integralność relacji między tabelami, ale nie służy do pozyskiwania danych z tych tabel. W przypadku trzeciej odpowiedzi, uzyskanie wyników jedynie z jednej tabeli jest sprzeczne z ideą klauzuli JOIN, która ma na celu eksplorację relacji między tabelami. Błędy myślenia, które prowadzą do nieprawidłowych wniosków, często polegają na braku zrozumienia podstawowych zasad projektowania baz danych i ich normalizacji. W praktyce, efektywne korzystanie z JOIN pozwala na uzyskiwanie zaawansowanych analiz, jak na przykład raporty sprzedaży, które łączą różne źródła danych. Wiedza na temat właściwego użycia klauzul i relacji w bazach danych jest kluczowa dla każdego, kto dąży do skutecznego zarządzania 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 28</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-jezyku-css-aby-formatowac-tekst-poprzez-podkre-fe2be442" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W CSS, aby stylizować tekst przez dodanie podkreślenia dolnego lub górnego, należy użyć atrybutu</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. text-transform</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. text-decoration</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. text-indent</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. text-align</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Atrybut text-align jest używany do określenia wyrównania tekstu w elemencie. Może przyjmować wartości takie jak left, right, center oraz justify, co oznacza odpowiednio wyrównanie do lewej, prawej, wyśrodkowane oraz justyfikowane. Chociaż jest to kluczowy element stylizacji tekstu, nie ma związku z dodawaniem efektów dekoracyjnych, takich jak podkreślenie. Z kolei text-indent służy do wprowadzenia wcięcia na początku linii tekstu, co jest szczególnie przydatne w przypadku akapitów. Efekt ten nie ma żadnego związku z dekorowaniem tekstu, a jedynie z jego rozmieszczeniem na stronie. Tekst może być wcięty, ale bez efektów dekoracyjnych, co czyni ten atrybut nieodpowiednim do podkreślania. Text-transform, z drugiej strony, jest używany do zmiany wielkości liter w tekście. Umożliwia konwersję tekstu na wersaliki, małe litery lub typowe wielkości, ale nie pozwala na dodanie żadnych efektów graficznych, jak podkreślenie czy nadkreślenie. W związku z tym, wszystkie wymienione atrybuty nie są właściwe do formatowania tekstu poprzez podkreślenie, ponieważ koncentrują się na wyrównaniu, wcięciu lub transformacji tekstu, a nie na jego dekorowaniu. </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="wybierz-poprawna-definicje-funkcji-w-jezyku-javasc-8bd48bf2" 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ż prawidłową definicję funkcji w języku JavaScript?</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. nazwa_funkcji(argumenty) {instrukcje;}</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. new nazwa_funkcji(argumenty) {instrukcje;}</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. typ_funkcji nazwa_funkcji(argumenty) {instrukcje;}</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. function nazwa_funkcji(argumenty) {instrukcje;}</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 innej definicji funkcji w JavaScript, takiej jak 'typ_funkcji nazwa_funkcji(argumenty) {instrukcje;}' czy 'new nazwa_funkcji(argumenty) {instrukcje;}' jest niepoprawny z kilku kluczowych powodów. Przede wszystkim, użycie 'typ_funkcji' sugeruje, że funkcja ma być zdefiniowana w oparciu o z góry określony typ, co jest niezgodne z dynamiczną naturą JavaScript, gdzie typ danych jest określany w czasie wykonywania, a nie w czasie kompilacji. Ponadto, zapis 'new nazwa_funkcji(argumenty) {instrukcje;}' odnosi się do tworzenia instancji obiektów za pomocą konstruktora, a nie do definiowania funkcji, co wprowadza zamieszanie. Typowe błędy myślowe mogą wynikać z mylenia pojęć funkcji i obiektów, co prowadzi do nieporozumień co do roli funkcji w tym języku. Warto również zwrócić uwagę, że konwencja używania słowa kluczowego 'function' pomaga w zachowaniu spójności i czytelności kodu, co jest istotne w kontekście współpracy w zespołach programistycznych oraz utrzymania jakości kodu. W końcu, znajomość standardowej składni deklaracji funkcji w JavaScript jest niezbędna do efektywnego programowania w tym języku oraz zrozumienia jego podstawowych zasad działania. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 30</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="polecenie-jezyka-sql-w-postaci-alter-table-mias-1e5d5818" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Polecenie w języku SQL w formie ALTER TABLE 'miasta' ADD 'kod' text?</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. w tabeli miasta modyfikuje nazwę kolumny kod na text</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. dodaje do tabeli dwie kolumny o nazwach: kod i text</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. wprowadza do tabeli nową kolumnę o nazwie kod typu text</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. zmienia nazwę tabeli miasta na kod</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Wszystkie pozostałe odpowiedzi są błędne z kilku powodów. Pierwsza z nich sugeruje, że polecenie zmienia nazwę tabeli 'miasta' na 'kod', co jest nieprawdziwe. W SQL, aby zmienić nazwę tabeli, używa się polecenia RENAME TABLE lub ALTER TABLE z odpowiednimi argumentami, a nie polecenia ADD, które służy wyłącznie do dodawania nowych kolumn. Kolejna fałszywa odpowiedź stwierdza, że dodaje dwie kolumny o nazwach 'kod' i 'text'. W rzeczywistości polecenie ALTER TABLE dodaje tylko jedną kolumnę, co jest wyraźnie widoczne w zapytaniu. W przypadku, gdybyśmy chcieli dodać więcej niż jedną kolumnę, musielibyśmy użyć oddzielnych poleceń ADD dla każdej kolumny lub zdefiniować je razem w pojedynczym poleceniu, co również nie ma miejsca w tym przykładzie. Ostatnia niepoprawna odpowiedź sugeruje, że w tabeli 'miasta' następuje zmiana nazwy kolumny 'kod' na 'text'. Tego rodzaju operacja wymagałaby użycia polecenia RENAME COLUMN, a nie ADD. Polecenie ADD nie zmienia istniejących kolumn, lecz dodaje nowe, co jest fundamentalnym zrozumieniem działania komendy ALTER TABLE. Dlatego wszystkie te odpowiedzi są technicznie błędne i nie oddają rzeczywistego działania zapytania SQL. </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="aby-zmodyfikowac-strukture-tabeli-w-bazie-mysql-na-64ff6bcc" 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 zmienić strukturę tabeli w bazie danych MySQL, należy użyć komendy</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. UPDATE</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. INSERT INTO</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. ALTER TABLE</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. GRANT</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Odpowiedź 'ALTER TABLE' jest poprawna, gdyż to polecenie w MySQL służy do modyfikacji struktury istniejącej tabeli. Dzięki niemu możemy dodawać nowe kolumny, zmieniać typy danych kolumn, usuwać kolumny, a także zmieniać właściwości tabeli, takie jak klucze główne czy unikalne. Przykład zastosowania polecenia ALTER TABLE to dodanie kolumny do tabeli: 'ALTER TABLE pracownicy ADD COLUMN wiek INT;' co skutkuje dodaniem kolumny 'wiek' o typie INT do tabeli 'pracownicy'. Zgodnie z najlepszymi praktykami, przed wykonaniem takich operacji warto wykonać kopię zapasową bazy danych, aby uniknąć utraty danych w przypadku nieprawidłowego wykonania polecenia. Używanie ALTER TABLE jest kluczowe podczas rozwoju aplikacji, gdyż często zachodzi potrzeba dostosowania struktury bazy danych do zmieniających się wymagań 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 32</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="funkcja-agregujaca-avg-uzyta-w-zapytaniu-ma-za-zad-b4bb8cd3" 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 zadanie wykonuje funkcja agregująca AVG w poniższym zapytaniu? SELECT AVG(cena) FROM uslugi;</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. obliczyć średnią arytmetyczną cen wszystkich usług</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. wyznaczyć największą cenę za usługi</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. zsumować ceny wszystkich usług</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. sprawdzić, ile usług znajduje się w tabeli</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 AVG sumuje koszty wszystkich usług, to niezbyt trafne stwierdzenie. Prawda jest taka, że AVG nie sumuje, tylko liczy średnią. Do zsumowania wartości powinieneś użyć funkcji SUM, która podaje całkowity koszt. Również myślenie, że AVG pokazuje najwyższą cenę, jest mylne - do tego mamy funkcję MAX, która wyciąga największą wartość. Podobnie, pomysł, że AVG zlicza ilość usług, nie jest poprawny, bo do tego służy funkcja COUNT, która zlicza tylko niepuste wartości. Widać, że można się pogubić w tych funkcjach. Ważne, żeby wiedzieć, co każda z nich robi, zanim zaczniemy analizować dane. Funkcje AVG, SUM, MAX i COUNT mają różne zadania, i zrozumienie ich zastosowania to klucz do skutecznej analizy danych w bazach. </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="warunek-zapisany-jezykiem-php-wypisze-liczbe-gdy-f1c30f9a" 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>Warunek zapisany w PHP wyświetli liczbę, jeśli</p> <figure class="figure mt-3"> <img src="/images/6835.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. wynik dzielenia liczby przez 2 wynosi 0</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. jest ona parzysta</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. jest ona dodatnia</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. jest ona liczbą pierwszą</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Warunek zapisany w języku PHP używa operatora modulo (%) do sprawdzenia, czy dana liczba jest parzysta. Operator modulo zwraca resztę z dzielenia liczby przez inną liczbę co w przypadku parzystości oznacza że reszta z dzielenia liczby przez 2 wynosi 0. W praktyce wykorzystuje się to do sprawdzenia czy liczba jest podzielna przez 2 bez reszty co jest definicją liczby parzystej. W kodowaniu warunki te są przydatne w algorytmach które wymagają działania na liczbach parzystych lub nieparzystych jak np. filtrowanie danych czy sortowanie. Dobre praktyki programistyczne sugerują wykorzystywanie tego typu operacji w przypadku gdy istnieje potrzeba optymalizacji warunków logicznych w kodzie. Umiejętność rozpoznawania i implementacji takich wzorców kodowania jest kluczowa dla pisania efektywnego i czytelnego kodu. Dzięki temu łatwiej można zarządzać dużymi zbiorami danych i operować na nich w sposób zautomatyzowany co jest podstawą w dzisiejszych aplikacjach webowych. </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="programem-do-edycji-dzwieku-jest-7a0a2c59" 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 oprogramowanie służy do obróbki dźwięku?</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. Audacity</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. Brasero</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. Winamp</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. RealPlayer</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 Brasero, Winampa czy RealPlayera jako programów do edycji dźwięku jest błędny, ponieważ każdy z nich pełni inną funkcję, która nie obejmuje zaawansowanej edycji audio. Brasero to program do nagrywania płyt, który umożliwia użytkownikom tworzenie obrazów dysków oraz nagrywanie danych na nośnikach optycznych. Jego głównym celem jest zarządzanie danymi, a nie edytowanie dźwięku, co czyni go nieodpowiednim w kontekście tego pytania. Winamp, z kolei, był popularnym odtwarzaczem multimedialnym, który skoncentrował się na odtwarzaniu plików audio i wideo, a jego funkcje ograniczały się do podstawowej obsługi dźwięku, bez zaawansowanych możliwości obróbczych. RealPlayer również skupia się głównie na odtwarzaniu materiałów wideo i audio, a jego funkcje edycyjne są bardzo ograniczone, co sprawia, że nie jest to narzędzie odpowiednie do poważnej edycji dźwięku. Użytkownicy mogą mylić te aplikacje z programami do edycji dźwięku z uwagi na ich popularność, jednak kluczowe jest zrozumienie różnicy między odtwarzaniem a edytowaniem audio. Właściwe podejście do wyboru narzędzi audio wymaga znajomości specyfikacji i zastosowania danego programu, co jest fundamentem w branży audio oraz w świecie produkcji dźwięku. </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="polecenie-sql-ktore-usuwa-baze-danych-o-nazwie-f-721fec4c" 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 jest polecenie SQL, które pozwala na usunięcie bazy danych o nazwie firma?</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. ALTER firma DROP DATABASE;</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. DROP DATABASE firma;</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. ALTER firma DROP;</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. DROP firma;</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Polecenia 'DROP firma;', 'ALTER firma DROP;' oraz 'ALTER firma DROP DATABASE;' są nieprawidłowe z różnych powodów, które dotyczą zarówno składni SQL, jak i logiki związanej z zarządzaniem bazami danych. Pierwsze polecenie, 'DROP firma;', jest błędne, ponieważ brakuje w nim specyfikacji, że operacja dotyczy bazy danych. 'DROP' to ogólne polecenie, które wymaga podania pełnej struktury, takiej jak 'DATABASE', aby określić, co dokładnie ma zostać usunięte. W przypadku drugiego polecenia, 'ALTER firma DROP;', występuje niepoprawne użycie słowa kluczowego 'ALTER', które służy do modyfikacji istniejących obiektów w bazie danych, a nie do ich usuwania. 'DROP' i 'ALTER' pełnią różne funkcje i nie mogą być stosowane zamiennie. Ponadto, trzecie polecenie 'ALTER firma DROP DATABASE;' jest błędne, ponieważ nie można modyfikować bazy danych w taki sposób, aby ją usunąć; usunięcie wymaga użycia polecenia 'DROP DATABASE', które wykonuje tę operację w sposób bezpośredni. W praktyce, powszechnym błędem jest mylenie funkcji poleceń DDL i DML, co prowadzi do niepoprawnych prób modyfikacji i usuwania obiektów w bazach danych. Kluczową zasadą w zarządzaniu bazami danych jest dobra znajomość składni SQL oraz zrozumienie, jakie operacje są dostępne dla różnych typów obiektów, co pozwala na unikanie takich pułapek w przyszłości. </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="baza-danych-zawiera-dane-multimedialne-co-wiaze-s-c2ea90f6" 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>System baz danych gromadzi multimedia, co wiąże się z przechowywaniem znacznych ilości danych binarnych. Jakiego typu danych należy użyć w tym przypadku?</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. BLOB</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. LONGTEXT</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. 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>D. ENUM</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 typów danych, takich jak ENUM, DOUBLE czy LONGTEXT, do przechowywania danych multimedialnych jest nieodpowiedni z kilku powodów. ENUM jest typem danych służącym do przechowywania z góry zdefiniowanych wartości, co oznacza, że jego zastosowanie ogranicza się do małych zestawów danych, takich jak kategorie czy statusy, a nie do dużych, binarnych plików multimedialnych. Przykładowo, jeśli chcielibyśmy przechować obraz jako ENUM, napotkalibyśmy na problem z rozmiarem oraz elastycznością tego rozwiązania, co w praktyce byłoby nieefektywne. DOUBLE z kolei jest typem służącym do przechowywania liczb zmiennoprzecinkowych, co również nie ma zastosowania w kontekście danych binarnych, takich jak multimedia. Użycie DOUBLE do przechowywania plików audio czy wideo byłoby błędne, ponieważ nie jest on przystosowany do przechowywania danych binarnych, a jedynie do reprezentacji wartości numerycznych. LONGTEXT, mimo że może pomieścić dużą ilość danych tekstowych, również nie jest odpowiedni do przechowywania danych binarnych. Jest to typ przeznaczony do długich łańcuchów znaków, co nie pasuje do formatu plików multimedialnych, które wymagają innego podejścia. Użycie niewłaściwych typów danych w bazach danych może prowadzić do problemów z wydajnością, a także do trudności w zarządzaniu danymi. Dlatego ważne jest, aby dobrze rozumieć różnice między typami danych i ich zastosowaniem w praktyce, aby zapewnić optymalne przechowywanie i zarządzanie danymi w aplikacjach. </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="ktory-zapis-tworzacy-tablice-w-javascript-jest-nie-96d53d59" 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 sposób na utworzenie tablicy w JavaScript jest niepoprawny pod względem składniowym?</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. var liczby = new Array[1, 2, 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. var liczby = [1, 2, 3];</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. var liczby = [3];</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. var liczby = new Array(1, 2, 3);</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Wybranie odpowiedzi, która mówi, że inne zapisy są poprawne, to nie najlepszy wybór. Na początku, niepoprawne jest użycie nawiasów kwadratowych zamiast okrągłych w wywołaniu konstruktora 'Array'. Zapis 'var liczby = new Array[1, 2, 3];' jest po prostu błędny. Zamiast tego powinieneś napisać 'var liczby = new Array(1, 2, 3);'. Co więcej, zapis 'var liczby = [3];' jest jak najbardziej w porządku - tworzy tablicę z jednym elementem, co czasami jest przydatne. A 'var liczby = [1, 2, 3];' to klasyka, bo używa literałów tablicowych, które są łatwiejsze w odbiorze. Pamiętaj, że stosowanie literałów jest zalecane, bo są prostsze i bardziej przejrzyste. Warto zrozumieć różnicę między nawiasami, bo to może ułatwić życie, zwłaszcza przy pisaniu 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 38</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="ktory-zestaw-pojec-suzy-do-definicji-interfejsu-u-f8690c09" 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 pojęcia są wykorzystywane do opisu interfejsu użytkownika serwisu internetowego?</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. Przyciski, menu, interakcja użytkownika z aplikacją</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. Przetwarzanie danych, system zarządzania treścią, projektowanie informacji</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. Szkic strony, mapa witryny, diagram przepływu informacji</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. Wysyłanie zapytań do bazy, skrypty PHP</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ązanej z "Szkicem strony, diagramem witryny, diagramem przepływu informacji" wskazuje na pewne nieporozumienie dotyczące definicji interfejsu użytkownika. Szkice i diagramy są narzędziami służącymi do planowania i wizualizacji struktury i funkcji strony internetowej, ale same w sobie nie definiują, co stanowi interfejs użytkownika. Te pojęcia dotyczą bardziej fazy projektowania i architektury informacji, co jest istotne, ale nie odnosi się do interakcji z użytkownikiem. Podobnie, odpowiedzi związane z "wysyłaniem kwerend do bazy" oraz "skryptami PHP" również nie definiują interfejsu użytkownika. Te elementy dotyczą backendu, czyli serwera i logiki aplikacji, które są oddzielone od bezpośredniego doświadczenia użytkownika. Często pojawia się mylne założenie, że wszystkie aspekty technologii webowej są ze sobą powiązane, jednak istotne jest rozróżnienie pomiędzy frontendem a backendem. Właściwe zrozumienie tych ról jest kluczowe dla efektywnego projektowania stron internetowych, gdzie interfejs użytkownika odgrywa fundamentalną rolę w osiąganiu zamierzonych celów użytkownika i organizacji. Właściwa separacja tych koncepcji jest istotna dla efektywności procesu projektowania i tworzenia stron 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 39</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="witryna-internetowa-wysya-dane-poufne-za-pomoca-f-c049b334" 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ą metodę przesyłania należy wykorzystać, by zapewnić największe bezpieczeństwo danych zaszyfrowanych w formularzu, które są wysyłane do kodu PHP?</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. Metoda POST, za pomocą protokołu HTTPS</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. Metoda GET, za pomocą protokołu HTTPS</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. Metoda POST, za pomocą protokołu HTTP</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. Metoda GET, za pomocą protokołu HTTP</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> No niestety, wybór metody GET i protokołu HTTP to jak skakanie z przepaści, jeśli chodzi o bezpieczeństwo. Metoda GET wrzuca dane do adresu URL, co jest totalnie kiepskie, bo potem wszystko można łatwo zobaczyć w historii przeglądarki czy logach serwera. To oznacza, że ktoś może przechwycić dane, które są przesyłane, jak hasła czy inne wrażliwe informacje. A korzystanie z samego HTTP bez szyfrowania jest jeszcze gorsze. Oznacza, że nasze dane są jakoś tam przesyłane, ale nikt się nimi nie przejmuje, co otwiera drogę do ataków typu Man-in-the-Middle. Wiele aplikacji myśli, że jak coś leci w URL to jest w miarę bezpieczne, a to nieprawda. Musimy zawsze stawiać na HTTPS, żeby naprawdę chronić nasze dane. W dzisiejszych czasach, gdzie ataki w sieci są na porządku dziennym, warto być ostrożnym, bo RODO też robi swoje. Dlatego lepiej unikać GET i HTTP, kiedy chodzi o przesyłanie poufnych 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 40</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="jaka-wartosc-zostanie-wypisana-na-standardowym-wyj-03bd5d84" 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ść wydrukuje na standardowe wyjście poniższy fragment kodu C++? <table style="border: 2px solid black; border-collapse: collapse;"> <tr> <td style="border: 1px solid black; padding: 10px; font-family: monospace;"> int obliczenia( int x ) {<br> x %= 3;<br> x++;<br> return x;<br> }<br><br> int main() {<br> std::cout<<obliczenia(32);<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. 0</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. 32</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. 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>D. 2</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Rozważając dostępne odpowiedzi musimy przeanalizować dlaczego niektóre z nich są błędne w kontekście działania fragmentu programu. Zaczynając od odpowiedzi 0 warto zauważyć że reszta z dzielenia 32 przez 3 nie wynosi 0 co oznacza że operacja x %= 3 nie da w wyniku zera. Wartość 0 mogłaby być wynikiem tylko wtedy gdyby liczba 32 była podzielna przez 3 co nie jest prawdą w tym przypadku. Przechodząc dalej odpowiedź 32 sugeruje że operacje wewnątrz funkcji nie zmieniają wartości x co jest błędnym założeniem. Operacja x %= 3 zmienia wartość x na 2 a następnie x++ zmienia ją na 3. Dlatego wynik nie może być 32 ponieważ funkcja jawnie modyfikuje wartość wejściową. W kontekście odpowiedzi 2 operacje w funkcji mogą rzeczywiście prowadzić do wyniku 2 jeśli pominie się krok inkrementacji. Jednakże analiza kodu pokazuje że po operacji modulo wartość x wynosi 2 a następny krok to x++ który zwiększa tę wartość do 3. W rezultacie żadna z tych odpowiedzi nie uwzględnia pełnego przepływu operacji w funkcji co prowadzi do nieprawidłowych wniosków. Analizując ten problem można zauważyć jak ważne jest dokładne śledzenie przepływu danych w programie oraz zrozumienie wpływu każdej operacji na ostateczny wynik co jest kompetencją kluczową w profesjonalnym programowaniu. </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> <!-- Popular Qualifications --> <div class="col-lg-4 footer-section"> <h2 class="h5">Losowe kwalifikacje</h2> <div class="row"> <div class="col-6"> <a href="/technik-mechanik/MEC.08/" class="footer-link"> <span>MEC.08</span> <small class="text-muted">(96)</small> </a> </div> <div class="col-6"> <a href="/technik-programista/INF.03/" class="footer-link"> <span>INF.03</span> <small class="text-muted">(2 426)</small> </a> </div> <div class="col-6"> <a href="/technik-rolnik/ROL.04/" class="footer-link"> <span>ROL.04</span> <small class="text-muted">(1 076)</small> </a> </div> <div class="col-6"> <a href="/technik-organizacji-turystyki/HGT.08/" class="footer-link"> <span>HGT.08</span> <small class="text-muted">(316)</small> </a> </div> <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-zywienia-i-usug-gastronomicznych/HGT.02/" class="footer-link"> <span>HGT.02</span> <small class="text-muted">(1 475)</small> </a> </div> <div class="col-6"> <a href="/technik-papiernictwa/DRM.06/" class="footer-link"> <span>DRM.06</span> <small class="text-muted">(65)</small> </a> </div> <div class="col-6"> <a href="/technik-hotelarstwa/HGT.06/" class="footer-link"> <span>HGT.06</span> <small class="text-muted">(1 409)</small> </a> </div> <div class="col-6"> <a href="/technik-technologii-zywnosci/SPC.04/" class="footer-link"> <span>SPC.04</span> <small class="text-muted">(293)</small> </a> </div> <div class="col-6"> <a href="/technik-mechanik/MEC.09/" class="footer-link"> <span>MEC.09</span> <small class="text-muted">(446)</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>