Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 16 kwietnia 2025 16:42
  • Data zakończenia: 16 kwietnia 2025 16:56

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

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

Informacje o ciasteczkach są przechowywane w tablicy

A. $_POST
B. $_SERVER
C. $_COOKIE
D. $_GET
Odpowiedź $_COOKIE jest prawidłowa, ponieważ to właśnie ten superglobalny zbiór w PHP przechowuje dane ciasteczek w postaci tablicy asocjacyjnej. Ciasteczka są małymi plikami danych, które są przechowywane na komputerze użytkownika przez przeglądarkę internetową. Umożliwiają one stronom internetowym przechowywanie informacji na temat sesji użytkownika, preferencji lub stanu logowania. W praktyce, aby uzyskać wartość konkretnego ciasteczka, można użyć składni $_COOKIE['nazwa_ciasteczka']. Na przykład, jeśli mamy ciasteczko o nazwie 'user', możemy uzyskać jego wartość przez $_COOKIE['user']. Warto pamiętać, że ciasteczka są limitowane do 4KB danych oraz mają różne daty wygaśnięcia, co czyni je elastycznym narzędziem do zarządzania sesjami i preferencjami użytkowników w aplikacjach webowych. Dobre praktyki mówią, aby nie przechowywać w ciasteczkach informacji wrażliwych, a zamiast tego stosować mechanizmy szyfrowania, aby zwiększyć bezpieczeństwo przechowywanych danych.

Pytanie 2

$x = mysql_query('SELECT * FROM mieszkanci'); if (!$x) echo "??????????????????????????????"; W podanym kodzie PHP, w miejscu znaków zapytania powinien wyświetlić się komunikat:

A. Zapytania zakończono sukcesem
B. Nieprawidłowa nazwa bazy danych
C. Złe hasło do bazy danych
D. Błąd w trakcie przetwarzania zapytania
Wybór niepoprawnej odpowiedzi na pytanie dotyczące komunikatu o błędzie może prowadzić do nieporozumień w kontekście działania kodu PHP. Odpowiedź wskazująca na 'Zapytania przetworzono pomyślnie' jest błędna, ponieważ jeśli mysql_query zwraca false, oznacza to, że zapytanie nie zostało wykonane poprawnie, a więc nie może być mowy o jego pomyślnym przetworzeniu. Jeżeli chodzi o 'Nieprawidłowa nazwa bazy', to również nie jest to prawidłowe stwierdzenie, ponieważ problem może wystąpić z innymi przyczynami, takimi jak błędna składnia zapytania. W przypadku, gdy nazwa bazy jest nieprawidłowa, zazwyczaj pojawia się inny rodzaj błędu. Wreszcie, 'Nieprawidłowe hasło do bazy danych' to kolejna niepoprawna odpowiedź; błąd autoryzacji związany z hasłem do bazy danych zazwyczaj skutkuje problemem z połączeniem, co nie jest bezpośrednio związane z zapytaniem SQL. Dlatego ważne jest, aby rozumieć, że problemy z połączeniem i błędy w zapytaniach SQL są różnymi kwestiami, które wymagają różnych podejść do diagnozowania oraz rozwiązywania.

Pytanie 3

Używając komendy BACKUP LOG w MS SQL Server, można

A. zrealizować pełną kopię zapasową
B. odczytać komunikaty generowane podczas tworzenia kopii
C. zalogować się do kopii zapasowej
D. wykonać kopię zapasową dziennika transakcyjnego
Polecenie BACKUP LOG w MS SQL Server służy do wykonywania kopii zapasowej dziennika transakcyjnego, co jest kluczowe dla zapewnienia integralności danych w bazach danych transakcyjnych. Dziennik transakcyjny rejestruje wszystkie zmiany dokonane w bazie, co pozwala na odtworzenie stanu bazy na dany moment oraz na przywrócenie bazy do stanu sprzed awarii. Wykonując kopię zapasową dziennika transakcyjnego, użytkownicy mogą minimalizować ryzyko utraty danych, ponieważ pozwala to na przywrócenie bazy do najnowszego stanu przed wystąpieniem awarii. W praktyce, regularne tworzenie takich kopii jest częścią polityki backupu, która powinna być dostosowana do potrzeb organizacji oraz do intensywności operacji na bazie danych. Ustalając harmonogram kopii zapasowych, należy także brać pod uwagę obciążenie bazy danych oraz wymagania dotyczące RPO (Recovery Point Objective) i RTO (Recovery Time Objective). Według najlepszych praktyk, zaleca się wykonywanie kopii zapasowych dziennika transakcyjnego przynajmniej co kilka godzin, a w środowisku o wysokiej dostępności – nawet co kilka minut.

Pytanie 4

Jakie z wymienionych par znaczników HTML działają w ten sam sposób na stronie internetowej, jeżeli żadne style CSS nie zostały określone?

A. oraz
B.oraz</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. <b> oraz <big></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. <p> oraz <h2></span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Wybierając inne pary znaczników, można napotkać na kilka powszechnych nieporozumień dotyczących ich funkcji i zastosowania. Znacznik <meta> i <title> są znaczącymi elementami dokumentu HTML, ale pełnią całkowicie różne role. <meta> służy do dostarczania metainformacji o stronie, takich jak opis, słowa kluczowe czy informacje dotyczące kodowania, co jest kluczowe dla SEO i prezentacji strony w wyszukiwarkach. Z kolei <title> definiuje tytuł strony, który pojawia się na karcie przeglądarki oraz w wynikach wyszukiwania. Obie te pary znaczników nie mają wizualnego wpływu na treść wyświetlaną użytkownikowi, co sprawia, że są trudne do porównania w kontekście wizualnym. Z kolei <p> i <h2> to elementy używane do strukturyzowania treści; <p> definiuje akapit, a <h2> jest nagłówkiem drugiego poziomu. Użycie tych znaczników wpływa na hierarchię treści oraz czytelność strony. Różnice te są kluczowe w tworzeniu dostępnych i zrozumiałych dokumentów HTML. Wreszcie, <b> i <big>, mimo że oba zmieniają wygląd tekstu, nie mają podobnych zastosowań semantycznych. <big> służy do zwiększenia rozmiaru tekstu, co niekoniecznie wskazuje na jego znaczenie. Zrozumienie tych różnic jest kluczowe dla właściwego stosowania HTML i tworzenia stron, które są zgodne z dobrymi praktykami oraz standardami W3C. </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 5</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-zapytaniu-sql-umieszczonym-ponizej-znak-gwiazd-784d067c" 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 poniższym zapytaniu SQL, znak „*” wskazuje, że w wyniku tego zapytania zostaną zwrócone<table border="1"> <tr> <td> <pre><code>SELECT * FROM mieszkancy WHERE imie = 'Anna';</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. warunek dotyczący imienia zostanie pominięty</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. zostaną wyświetlone wszystkie kolumny tabeli mieszkańcy</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. zostanie pokazane pole zatytułowane „*” (gwiazdka)</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. wszystkie rekordy z tabeli mieszkańcy będą widoczne</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> W analizowanym zapytaniu SQL istotne jest zrozumienie roli symbolu '*' w kontekście wywołania zapytania. Zbytnie uproszczenie może prowadzić do nieporozumień, przy założeniu, że znaczenie gwiazdki jest bardziej skomplikowane niż tylko proste pobieranie danych. Odpowiedź sugerująca, że warunek 'imie = 'Anna'' zostanie zignorowany, jest nieprawidłowa, ponieważ w rzeczywistości to zapytanie filtruje dane, a symbol '*' jedynie wskazuje, że wszystkie kolumny powinny być zwrócone dla tych rekordów, które spełniają warunek. Z kolei stwierdzenie, że zostanie wyświetlone pole o nazwie '*', również jest mylące, ponieważ '*' nie jest nazwą kolumny, lecz specjalnym symbolem w SQL. Warto zauważyć, że z perspektywy wydajności, stosowanie '*' w dużych bazach danych może być nieefektywne. W praktyce lepiej jest określić konkretne kolumny, które są potrzebne, co może znacznie zwiększyć szybkość zapytań oraz zmniejszyć obciążenie serwera. Poprawne zrozumienie struktury danych oraz efektywne formułowanie zapytań SQL to kluczowe umiejętności w pracy z bazami danych, które pozwalają nie tylko na efektywne zarządzanie danymi, ale również na lepszą optymalizację procesów. Właściwe podejście do tworzenia zapytań SQL może znacznie podnieść jakość aplikacji bazodanowych. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 6</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="za-pomoca-ktorego-zapisu-zostanie-utworzony-w-doku-01bff5c9" 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>Jakim zapisem w dokumencie HTML można stworzyć element, który wyświetli obrazek kotek.jpg z tekstem alternatywnym "obrazek kotka"?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. <img href="kotek.jpg" alt="obrazek kotka"></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>B. <img src="kotek.jpg" alt="obrazek kotka"></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>C. <img src="kotek.jpg" title="obrazek kotka"></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. <img href="kotek.jpg" title="obrazek kotka"></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 zawierają błędy w zastosowaniu atrybutów HTML, które uniemożliwiają poprawne wyświetlanie obrazów. Odpowiedź wykorzystująca atrybut 'href' jest błędna, ponieważ nie służy on do określenia źródła dla obrazów. Atrybut 'href' jest używany w tagach linków (np. <a>) do wskazywania lokacji dokumentów do otwarcia. Zastosowanie 'title' jest również mylące, ponieważ nie jest to zalecany atrybut do opisania obrazów; jego zawartość wyświetla się jedynie jako podpowiedź po najechaniu kursorem, co nie jest wystarczające dla dostępności. W przypadku atrybutu 'alt' umieszczonego w nieprawidłowym kontekście, tekst alternatywny nie będzie wyświetlany poprawnie, co jest istotnym zaniedbaniem. Stosowanie 'alt' bez atrybutu 'src' nie ma sensu, ponieważ obraz nie zostanie w ogóle załadowany. Kluczowe jest zrozumienie, że każdy atrybut w HTML ma swoje specyficzne zastosowanie i błędne ich zestawienie prowadzi do niemożności poprawnego wyświetlenia zawartości. Z tego powodu, ważne jest, aby znać odpowiednie standardy i dobre praktyki w kodowaniu HTML, aby tworzyć poprawne, dostępne i funkcjonalne strony internetowe. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 7</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="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. 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>C. 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>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 8</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="aby-zdefiniowac-amanie-linii-tekstu-np-w-zmienn-374f4a00" 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 zrealizować łamanie linii w tekście, na przykład w zmiennej typu string, należy wykorzystać symbol</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. t</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. b</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. slash</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. n</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Użycie znaku slash, znaku "t" (tabulator) lub znaku "b" (backspace) w kontekście łamania linii tekstu jest nieprawidłowe, ponieważ każdy z tych znaków pełni inną rolę w programowaniu. Slash (/) jest używany w różnych kontekstach, na przykład w ścieżkach plików lub jako operator dzielenia, a nie do wprowadzania nowych linii. W wielu językach programowania nie ma on zastosowania w kontekście formatowania tekstu. Z kolei znak "t" (tabulator) stosuje się do wprowadzania odstępów w tekście, co nie jest tym samym co łamanie linii. Tabulacja ma na celu organizację danych w kolumnach i ułatwienie czytania, ale nie zmienia miejsca, w którym tekst się pojawia w nowej linii. Natomiast znak "b" (backspace) jest używany do usuwania znaków w tekstach, co również nie ma zastosowania w kontekście wstawiania nowych linii. Powszechnym błędem jest mylenie tych znaków z ich funkcjami, co prowadzi do nieefektywności w kodowaniu i problemów z formatowaniem tekstu. Zrozumienie właściwego zastosowania znaków kontrolnych jest kluczowe dla każdego programisty i ma fundamentalne znaczenie dla pisania czytelnego i funkcjonalnego 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 9</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="ktora-czynnosc-nalezy-wykonac-podczas-obrobki-zdj-28961887" 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ą operację należy przeprowadzić podczas edycji zdjęcia w programie graficznym, żeby białe tło zamienić na przezroczystość?</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. Zmienić saturację obrazu</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. Maksymalnie zmniejszyć jasność</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. Dodać kanał alfa</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. Skadrować obraz</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Dodanie kanału alfa to naprawdę ważna rzecz, jeśli chodzi o robienie przezroczystego tła w grafice rastrowej. Kanał alfa działa jak dodatkowa warstwa, która mówi komputerowi, które piksele mają być przezroczyste. Dzięki temu możemy ładnie wycinać tło, które nam nie pasuje, nie niszcząc całego obrazu. Na przykład, kiedy edytujesz zdjęcie w Photoshopie, żeby zmienić białe tło na przezroczystość, trzeba najpierw dodać ten kanał alfa. Potem można użyć narzędzia do zaznaczania, jak choćby Magic Wand, żeby wybrać to białe tło i je usunąć. W efekcie zostaje tylko obiekt na przezroczystym tle. W branży graficznej dodawanie kanału alfa i zabawa z przezroczystością to już standard. To pozwala na tworzenie naprawdę ładnych obrazów, które można potem wykorzystać w różnych miejscach, jak strony internetowe czy ulotki. Znajomość tego, jak działa kanał alfa, jest super ważna dla każdego grafika, który chce dobrze radzić sobie z obrazami w różnych formatach. </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-sposob-komentowania-w-jezyku-php-pozwala-na-c9ca63bf" 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>Jakim sposobem w języku PHP można zapisać komentarz zajmujący kilka linii?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>A. /* */</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. //</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. <!-- --></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. #</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> W języku PHP, sposób komentowania bloku komentarza w kilku liniach to użycie znaków /* i */. Taki sposób pozwala na umieszczenie dowolnej ilości tekstu w obrębie tych znaków, co jest niezwykle przydatne, gdy chcemy opisać bardziej złożoną funkcję lub fragment kodu. Na przykład, w czasie tworzenia dokumentacji kodu, często stosujemy bloki komentarzy do szczegółowego opisania działania funkcji, parametrów oraz zwracanych wartości. Dzięki temu każdy programista, który będzie pracował z naszym kodem w przyszłości, może szybko zrozumieć jego przeznaczenie. Dobrą praktyką jest również umieszczanie daty aktualizacji oraz informacji o autorze w takich blokach, co ułatwia zarządzanie projektem. Stosowanie bloków komentarzy jest zgodne z konwencjami programistycznymi, co zwiększa czytelność kodu i jego późniejszą konserwację. </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="w-jezyku-zapytan-sql-aby-dodac-do-tabeli-span-st-71465dc0" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W SQL, aby w tabeli <span style="font-family: courier new, courier, monospace;">Towar</span> dodać kolumnę <span style="font-family: courier new, courier, monospace;">rozmiar</span> typu znakowego z maksymalną długością 20 znaków, jakie polecenie należy wykonać?</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 TABLE Towar CREATE COLUMN rozmiar varchar(20)</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. ALTER TABLE Towar ADD rozmiar varchar(20)</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 Towar ALTER COLUMN rozmiar varchar(20)</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. ALTER TABLE Towar DROP COLUMN rozmiar varchar(20)</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Podane odpowiedzi nie są poprawne z kilku powodów. Odpowiedź sugerująca użycie 'DROP COLUMN' jest myląca, ponieważ to polecenie służy do usuwania istniejącej kolumny z tabeli, a nie dodawania nowej. Usunięcie kolumny bez zrozumienia konsekwencji może prowadzić do utraty danych, co podkreśla znaczenie przemyślenia operacji modyfikujących strukturę bazy danych. Inna odpowiedź, która proponuje 'CREATE COLUMN', jest nieprawidłowa, ponieważ nie jest uznawana za standardową składnię w SQL; nie istnieje polecenie 'CREATE COLUMN'. Zamiast tego, kolumny są dodawane za pomocą 'ADD' w kontekście ALTER TABLE. W przypadku 'ALTER COLUMN' - to polecenie odnosi się do zmiany właściwości już istniejącej kolumny, a nie do dodawania nowej. Dlatego mylenie tych pojęć prowadzi do nieprawidłowych wniosków. Zrozumienie tych różnic jest kluczowe dla poprawnego posługiwania się SQL. Niezrozumienie zasad modyfikacji struktury tabeli może skutkować nieefektywnym zarządzaniem bazą danych oraz błędami w aplikacjach korzystających z 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 12</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="do-optymalnej-realizacji-algorytmu-szukajacego-na-557059cd" 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 skutecznie zrealizować algorytm wyznaczający największą z trzech podanych liczb a, b oraz c, wystarczy użyć</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. dwóch tablic</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. pięciu zmiennych</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. jednej pętli</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. dwóch warunków</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Wybór odpowiedzi "dwa warunki" jest prawidłowy, ponieważ algorytm do znalezienia największej z trzech liczb – a, b i c – można zrealizować za pomocą zaledwie dwóch porównań. Na przykład, pierwszy warunek mógłby porównywać liczby a i b, aby ustalić, która z nich jest większa. Następnie, drugi warunek porównuje tę większą wartość z liczbą c. W rezultacie, w ciągu dwóch warunków jesteśmy w stanie zidentyfikować największą liczbę. Praktycznie, to podejście jest efektywne i minimalistyczne, co jest zgodne z zasadą KISS (Keep It Simple, Stupid), która jest istotna w inżynierii oprogramowania. Ograniczenie liczby operacji do niezbędnego minimum nie tylko ułatwia zrozumienie algorytmu, ale także poprawia jego wydajność. Takie podejście jest często stosowane w codziennej programistyce, a także w bardziej zaawansowanych algorytmach, gdzie minimalizacja złożoności obliczeniowej jest kluczowa dla wydajności aplikacji. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 13</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="ktora-z-wymienionych-zasad-nie-wpynie-korzystnie-4bbf4c73" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Która z poniższych zasad NIE WPŁYNIE pozytywnie na poprawę czytelności kodu?</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. Nazwy zmiennych powinny odzwierciedlać ich funkcję</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. Każda linia kodu powinna zawierać tylko jedną komendę</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. Warto dodawać komentarze w bardziej skomplikowanych fragmentach kodu</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. Kod powinien być tworzony bez wcięć oraz zbędnych enterów</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Odpowiedź, że kod powinien być napisany bez wcięć i zbędnych enterów, jest poprawna, ponieważ w rzeczywistości brak wcięć i odpowiedniego formatowania znacząco obniża czytelność kodu. Wcięcia są kluczowe w wielu językach programowania, takich jak Python, gdzie definiują one blok kodu. Dobrze sformatowany kod, który wykorzystuje wcięcia i puste linie, ułatwia zrozumienie struktury programu i jego logiki. Przykładowo, w kodzie Pythona, brak wcięć skutkuje błędami składniowymi. Standardy kodowania, takie jak PEP 8 dla Pythona, jasno wskazują, że stosowanie wcięć jest nie tylko zalecane, ale wręcz wymagane dla utrzymania przejrzystości. Dobrze sformatowany kod zwiększa również jego utrzymywalność, co jest kluczowe w pracy zespołowej, gdzie wiele osób może pracować nad tym samym projektem. W praktyce, programiści często korzystają z narzędzi automatyzujących formatowanie kodu, co dodatkowo podnosi jego jakość i czytelność. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 14</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-jezyku-html-znacznik-strongtekststrong-bedz-dff67f44" 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 HTML znacznik <strong>tekst</strong> będzie wyświetlany przez przeglądarkę w taki sam sposób jak znacznik</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>A. <sub>tekst</sub></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. <h1>tekst</h1></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>C. <b>tekst</b></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. <big>tekst</big></span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Znacznik <sub> służy do wyświetlania tekstu jako dolny indeks, co oznacza, że jego zastosowanie jest całkowicie inne niż w przypadku <strong> i <b>. Dolny indeks jest często używany w kontekście chemii lub matematyki, gdzie wyrażenia muszą być prezentowane w sposób zrozumiały dla specjalistów, co nie ma związku z semantyką wyróżnienia tekstu. Podobnie, <big> zmienia rozmiar tekstu, jednak nie nadaje mu żadnej dodatkowej wartości semantycznej. Użycie <big> w celu wyróżnienia tekstu jest nieefektywne, ponieważ nie przekazuje żadnej konkretnej informacji o znaczeniu tekstu. Znacznik <h1> oznacza nagłówek najwyższego poziomu, co jest całkowicie innym zastosowaniem niż w przypadku <strong>. Zastosowanie <h1> dla tekstu, który nie jest nagłówkiem, może wprowadzać w błąd zarówno użytkowników, jak i wyszukiwarki, co jest sprzeczne z zasadami SEO. Typowe błędy myślowe prowadzące do tych błędnych wyborów to nieodróżnianie semantyki od stylizacji wizualnej oraz brak zrozumienia, jak znaczniki HTML wpływają na dostępność i interpretację treści przez maszyny. Warto zaznaczyć, że stosowanie semantycznych znaczników HTML w odpowiedni sposób jest kluczowe dla tworzenia dostępnych i zrozumiałych 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 15</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="baza-danych-zawiera-tabele-ksiazki-o-polach-tytul-e78897c2" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W bazie danych istnieje tabela ksiazki, która posiada pola: tytul, id_autora, data_wypoz, id_czytelnika. Codziennie tworzony jest raport dotyczący książek wypożyczonych w danym dniu, który wyświetla jedynie tytuły książek. Która kwerenda SQL jest odpowiednia do generowania tego raportu?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>A. SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE()</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. SELECT tytul, data_wypoz FROM ksiazki WHERE data_wypoz = CURRDATENT_E()</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. SELECT tytul FROM ksiazki</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. SELECT * FROM ksiazki</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Ta odpowiedź jest prawidłowa, ponieważ wykorzystuje funkcję CURRENT_DATE(), która zwraca bieżącą datę systemową. Zapytanie SQL SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE(); umożliwia wybranie jedynie tych książek, które zostały wypożyczone w dniu, w którym raport jest generowany. To podejście jest zgodne z dobrymi praktykami w zakresie zarządzania danymi, ponieważ pozwala na efektywne filtrowanie danych bez zbędnych informacji. W kontekście bazy danych, operacje takie jak filtrowanie danych według daty są kluczowe dla tworzenia raportów, które są użyteczne i zrozumiałe dla użytkowników. Dzięki temu możemy na przykład generować codzienne zestawienia wypożyczeń książek, co jest szczególnie przydatne w bibliotekach oraz innych instytucjach zajmujących się wynajmem materiałów. Użycie odpowiednich funkcji w SQL jest nie tylko korzystne, ale również zwiększa efektywność procesów analitycznych oraz 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 16</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="dana-jest-tabela-oceny-o-polach-id-nazwisko-imie-6e08c252" 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>Wskazana jest tabela ocen zawierająca kolumny id, nazwisko, imię oraz ocena. Przykładowe zapytanie ilustruje</p> <figure class="figure mt-3"> <img src="/images/6526.png" class="figure-img img-fluid rounded" alt="Ilustracja do pytania" itemprop="image"> </figure> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>A. selekcję.</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. łączenie.</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. rekurencję.</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. sumę.</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Zapytanie SQL przedstawione w pytaniu jest przykładem selekcji ponieważ wykorzystuje klauzulę WHERE do filtrowania danych. Selekcja w kontekście baz danych oznacza wybieranie konkretnych wierszy z tabeli które spełniają określone kryteria. W tym przypadku kryterium to ocena większa niż 2. Takie podejście jest bardzo powszechne i użyteczne w analizie danych pozwalając na uzyskanie tylko istotnych informacji spośród dużych zbiorów danych. Klauzula WHERE jest jednym z podstawowych narzędzi SQL wykorzystywanym w praktycznie każdym systemie zarządzania bazami danych jak MySQL PostgreSQL czy Oracle. Umożliwia ona tworzenie elastycznych i złożonych zapytań które mogą zawierać różnorodne warunki logiczne takie jak porównania czy wyrażenia regularne. Dobre praktyki w zakresie projektowania baz danych zalecają używanie selekcji do ograniczania ilości przetwarzanych danych co zwiększa wydajność systemów. Zrozumienie mechanizmu selekcji jest kluczowe dla skutecznego zarządzania i optymalizacji baz danych szczególnie w projektach o dużej skali. </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="formatowanie-css-akapitu-okresla-styl-szarej-ramki-685b6786" 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>Formatowanie CSS dla akapitu określa styl szarej ramki z następującymi właściwościami: ```p { padding: 15px; border: 2px dotted gray; }```</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. linia ciągła; grubość 2 px; odległości pomiędzy tekstem a ramką 15 px</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>B. linia kropkowa; grubość 2 px; odległości pomiędzy tekstem a ramką 15 px</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. linia kreskowa; grubość 2 px; odległości poza ramką 15 px</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. linia ciągła; grubość 2 px; odległości poza ramką 15 px</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Odpowiedź ta jest prawidłowa, ponieważ w CSS stylizowanie elementu akapitu za pomocą podanego kodu definiuje ramkę o linii kropkowej, grubości 2 pikseli oraz paddingu wynoszącym 15 pikseli. Padding to przestrzeń wewnętrzna pomiędzy zawartością elementu a jego ramką, co oznacza, że tekst w akapicie będzie oddalony od krawędzi ramki o 15 pikseli. Styl ramki 'dotted' jest często używany w projektach webowych, aby stworzyć efekt wizualny, który jest mniej formalny, a zarazem estetyczny. Można go wykorzystać w kontekście wyróżniania ważnych informacji lub sekcji strony, co zwiększa czytelność i przyciąga uwagę użytkowników. Przykładem zastosowania może być sekcja z informacjami o promocjach, gdzie forma wizualna ma na celu przyciągnięcie wzroku. Używając standardów CSS, dobrego podejścia do UX (User Experience) oraz wytycznych W3C, projektanci stron internetowych mogą efektywnie komunikować intencje i priorytety poprzez stylowanie wizualne. </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="ktory-z-wymienionych-znacznikow-jezyka-html-nie-ie-0bf3e4bd" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Który z poniższych znaczników HTML nie służy do formatowania tekstu?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>A. <div></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. <em></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. <strong></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. <sub></span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Znacznik <div> jest używany w HTML do dzielenia dokumentu na sekcje, co czyni go elementem blokowym, który nie formatuje tekstu w sensie stylizacji, ale organizuje strukturę dokumentu. Użycie <div> jest zgodne z dobrymi praktykami tworzenia przejrzystych i semantycznych kodów HTML, co jest fundamentem w budowie responsywnych oraz dostępnych stron internetowych. Na przykład, <div> może być użyty do grupowania elementów w sekcję strony, co ułatwia ich stylizację za pomocą CSS. Można tworzyć klasy lub identyfikatory dla <div>, co pozwala na dalsze formatowanie i manipulację jego zawartością. Warto pamiętać, że stosowanie <div> jest kluczowe w kontekście nowoczesnych ram CSS, takich jak Flexbox czy Grid, które umożliwiają bardziej zaawansowane układanie elementów na stronie. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 19</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="prex-przedmiotnazwa-pre-przedstawiony-z-3a5c255f" 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>Zapis w języku JavaScript: x = przedmiot.nazwa(); wskazuje, że</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. nazwa jest polem w klasie przedmiot</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. nazwa stanowi właściwość obiektu przedmiot</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. zmienna x będzie przechowywać rezultat wykonywania metody nazwa</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. zmienna x będzie przechowywać rezultat działania funkcji przedmiot</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> W kontekście przedstawionego pytania, niepoprawne odpowiedzi sugerują nieporozumienia dotyczące struktury obiektów w JavaScript oraz różnicy pomiędzy metodami a właściwościami. W szczególności, wskazanie, że nazwa jest właściwością obiektu przedmiot, jest mylne, ponieważ w tej konstrukcji 'nazwa' nie jest statycznym atrybutem, lecz metodą, co implikuje, że jest funkcją, a nie prostą wartością. Istotne jest zrozumienie, że właściwości obiektów przechowują dane, ale metody wykonują operacje na tych danych. Dodatkowo, mylenie metody z polem klasy prowadzi do błędnego postrzegania obiektów. W JavaScript, metody są funkcjami przypisanymi do obiektów, podczas gdy pola klasy, nazywane właściwościami, są zupełnie innym bytem. Typowe błędy myślowe w tym kontekście obejmują również nieznajomość pojęcia kontekstu wykonania, który w JavaScript jest kluczowy dla zrozumienia, jak metody działają w odniesieniu do obiektów. Właściwe zrozumienie tych różnic jest fundamentalne dla efektywnego programowania obiektowego. Używanie obiektów w JavaScript powinno opierać się na jasnym rozróżnieniu pomiędzy ich właściwościami a funkcjami, co skutkuje bardziej zorganizowanym i zrozumiałym kodem. </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="ktory-kod-jest-alternatywny-do-kodu-zamieszczonego-2f3edc77" 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 fragment kodu stanowi zamiennik dla kodu umieszczonego w ramce?</p> <figure class="figure mt-3"> <img src="/images/6930.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. 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>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. 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. D</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Odpowiedzi B i D są nieprawidłowe ponieważ ignorują kluczową część logiki oryginalnego kodu mianowicie filtrację parzystych liczb. Odpowiedź B iteruje przez wszystkie liczby od 1 do 55 wypisując je wszystkie bez wyjątku co diametralnie odbiega od zamierzonego wyniku kodu źródłowego. Odpowiedź D jest identyczna z B z tym że format zapisu jest nieco odmienny nie ma to jednak wpływu na logikę działania co czyni ją również błędną. Odpowiedź C inicjuje pętlę od 2 i inkrementuje x o 2 co teoretycznie powinno zbliżyć się do rozwiązania jednak zakres iteracji kończy się na 56 co wykracza poza zadany limit 55 oraz wypisuje nieistniejącą w oryginalnej pętli dodatkową liczbę co jest błędne. Wybory te mogą wynikać z niewłaściwego zrozumienia zakresu pętli lub metody przeskakiwania wartości co jest częstym błędem przy interpretacji pętli iteracyjnych. Kluczowe jest zrozumienie jak zastosowana logika i zakres wpływają na wynik końcowy oraz jak można optymalnie odwzorować te zasady w alternatywnym kodzie. </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-kodzie-javascript-petla-zostanie-wykonana-a14c4f75" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Pętla w kodzie JavaScript zostanie uruchomiona</p> <figure class="figure mt-3"> <img src="/images/11111.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. 27 razy</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. 3 razy</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. 2 razy</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. 26 razy</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Pętla do-while w JavaScript wykonuje się co najmniej raz ze względu na swoją konstrukcję. W tym przypadku pętla zaczyna się od wartości x równej 1 i w każdej iteracji mnoży x przez 3. Zmienna i jest inkrementowana przy każdej iteracji, co zlicza liczbę wykonanych iteracji. Pętla kontynuuje aż do momentu, gdy x osiągnie wartość 27. Przebieg pętli wygląda następująco: początkowo x=1, po pierwszej iteracji x=3, po drugiej x=9, a po trzeciej x=27. Gdy x osiąga wartość 27, warunek pętli x!=27 przestaje być spełniony i pętla się kończy. Dlatego pętla wykonuje dokładnie 3 iteracje. Zrozumienie działania pętli do-while jest kluczowe, zwłaszcza w kontekście sytuacji, gdzie musimy zagwarantować, że blok kodu wykona się przynajmniej raz niezależnie od warunku na końcu. Tego typu pętle są często używane w aplikacjach wymagających walidacji danych wejściowych, gdzie przynajmniej jedna próba przetworzenia danych musi być wykonana. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 22</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="wskaz-poprawne-stwierdzenie-dotyczace-przedstawion-5646bc1b" 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łowe twierdzenie odnoszące się do zaprezentowanego kodu HTML. ```<video width="640" height="480" controls> <source src="animacja.mp4" type="video/mp4"> </video>```</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. Kod może nie działać w przeglądarkach, które nie wspierają HTML5</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. Plik animacja.mp4 powinien mieć rozdzielczość 640x480 pikseli, aby można go było odtworzyć</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. Ścieżka do pliku jest niepoprawna, nie zawiera pełnej ścieżki</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żytkownik nie będzie miał możliwości kontrolowania odtwarzania wideo</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Pierwsze stwierdzenie sugeruje, że plik animacja.mp4 musi mieć rozdzielczość 640x480 pikseli, co jest nieprawdziwe, ponieważ atrybuty width i height w znaczniku <video> nie narzucają wymagań rozdzielczości dla samego pliku wideo, lecz jedynie definiują rozmiar ramki odtwarzacza w przeglądarce. Jeśli plik ma inną rozdzielczość, przeglądarka odpowiednio go przeskaluje. Drugie stwierdzenie, że użytkownik nie będzie miał możliwości sterowania odtwarzaniem animacji, jest błędne, ponieważ atrybut controls w znaczniku <video> dokładnie to umożliwia, dostarczając przyciski do odtwarzania, pauzowania oraz regulacji głośności. Ostatnie stwierdzenie dotyczące lokalizacji pliku jest również mylne, ponieważ kod nie wymaga ścieżki bezwzględnej dla pliku animacja.mp4. W przypadku gdy plik znajduje się w tym samym katalogu co strona HTML, wystarczy podać jego nazwę. W przeciwnym razie można zastosować ścieżkę względną, co jest zgodne z dobrymi praktykami w zakresie organizacji plików na serwerze. Te nieporozumienia mogą prowadzić do mylnych wniosków, dlatego ważne jest zrozumienie zasad działania znaczników HTML oraz podstawowych koncepcji związanych z odtwarzaniem multimediów w sieci. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 23</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="ktora-z-zasad-tworzenia-czesci-head-jezyka-html-8e42d6e8" 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 zasady dotyczące tworzenia sekcji <head> w języku HTML są właściwe?</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 sekcji <head> znajduje się sekcja <body></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. W sekcji <head> nie wolno umieszczać kodu CSS, tylko odniesienie do pliku CSS</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. W sekcji <head> można ustalać szablon strony za pomocą znaczników <div></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. W sekcji <head> mogą się pojawić znaczniki <meta>, <title>, <link></span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Wybór odpowiedzi, że w części <head> mogą wystąpić znaczniki <meta>, <title>, <link> jest jak najbardziej poprawny. Część <head> dokumentu HTML jest kluczowa dla określenia właściwości oraz meta-informacji o stronie. Znacznik <meta> służy do przechowywania danych o stronie, takich jak opis, słowa kluczowe czy konfiguracja kodowania. Znacznik <title> definiuje tytuł strony, który jest wyświetlany na karcie przeglądarki oraz w wynikach wyszukiwania, co jest istotne dla SEO. Z kolei znacznik <link> pozwala na połączenie dokumentu HTML z zewnętrznymi arkuszami stylów CSS lub innymi zasobami. Stosowanie tych znaczników jest zgodne z obowiązującymi standardami W3C oraz najlepszymi praktykami w zakresie tworzenia stron internetowych. Dobrze zorganizowana sekcja <head> wpływa na efektywność i widoczność strony w wyszukiwarkach, a także na jej ogólną jakość. Przykładem użycia może być dodanie metadanych do strony internetowej, co pozwala na lepsze pozycjonowanie w wyszukiwarkach oraz ułatwia zarządzanie stylem poprzez odwołanie do pliku CSS. </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="po-wykonaniu-przedstawionego-kodu-php-w-zmiennej-a894c70e" 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 znaki będą przechowywane w zmiennej <i>$napis</i> po uruchomieniu poniższego kodu PHP? ```$napis = "Programowanie w PHP"; $napis = substr($napis, 3, 5);```</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. ogram</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. gramo</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. gr</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. og</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Wybrana odpowiedź jest niepoprawna, ponieważ nie uwzględnia prawidłowego działania funkcji substr w PHP. Ta funkcja wyodrębnia określoną liczbę znaków z ciągu, zaczynając od określonego indeksu. Tutaj funkcja substr wyodrębniła 5 znaków, zaczynając od czwartego znaku (indeks 3). Stąd poprawna odpowiedź to 'gramo', nie 'og', 'ogram' czy 'gr'. W przypadku odpowiedzi 'og', wydaje się, że nastąpiło błędne zrozumienie jak działa indeksowanie w PHP. Indeksy zaczynają się od zera, nie od jednego. Dlatego też czwarty znak ma indeks 3, a nie 4. W przypadku odpowiedzi 'ogram', prawdopodobnie zrozumiano, że substr wyodrębni całe słowo od indeksu 3, a nie tylko 5 znaków. Natomiast odpowiedź 'gr' sugeruje, że nie zrozumiano liczby znaków do wyodrębnienia. To jest typowy błąd, gdzie zakłada się, że funkcja substr wyodrębni tylko dwa następne znaki, a nie określoną liczbę znaków. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 25</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="petla-while-powinna-byc-wykonywana-tak-dugo-jak-bb579995" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Pętla while powinna działać tak długo, jak zmienna x ma wartości z przedziału obustronnie otwartego -2, 5). Zapis tego warunku w nagłówku pętli za pomocą języka PHP wygląda następująco</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>A. ($x < -2) || ($x > 5)</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>B. ($x > -2) && ($x < 5)</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. ($x == -2) && ($x < 5)</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. ($x > -2) || ($x > 5)</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Niepoprawne odpowiedzi opierają się na błędnej interpretacji warunków, które powinny być zastosowane w pętli while. Pierwsza z błędnych opcji, ($x == -2) && ($x < 5), sugeruje, że pętla mogłaby działać tylko, gdy x jest równe -2 oraz mniejsze od 5. Oznacza to, że pętla w ogóle nie zostałaby wykonana, ponieważ -2 nie jest w przedziale otwartym. Z kolei ($x < -2) || ($x > 5) jest zupełnie odwrotnym warunkiem, który uruchamia pętlę, gdy x jest poza interesującym nas zakresem, co jest sprzeczne z założeniem. Ostatnia błędna opcja, ($x > -2) || ($x > 5), wskazuje na nieporozumienie, ponieważ pętla mogłaby być wykonywana nie tylko dla wartości mieszczących się w przedziale (-2, 5), ale również dla każdej wartości większej od 5, co nie jest zgodne z założeniem. Typowym błędem myślowym jest mylenie operatorów logicznych oraz ich zastosowań w warunkach, co prowadzi do niewłaściwych lub niespójnych wyników. W kontekście programowania, szczególnie ważne jest zrozumienie koncepcji otwartych i zamkniętych przedziałów oraz umiejętność ich poprawnego definiowania w warunkach logicznych, co ma kluczowe znaczenie w wielu algorytmach i strukturach kontrolnych. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 26</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="var-str1-javascript-var-str2str1substri-9bde0aae" 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>Zademonstrowano fragment kodu JavaScript. Po jego uruchomieniu zmienna str2 otrzyma wartość. ```var str1 = "JavaScript"; var str2 = str1.substring(2, 6);```</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. avaScr</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. avaS</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. vaSc</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. vaScri</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> W przedstawionym fragmencie kodu JavaScript mamy do czynienia z metodą substring, która jest wykorzystywana do wyodrębnienia części łańcucha tekstowego. Wartością str1 jest 'JavaScript', a błędnie zapisany fragment 'str1.substring2,6)' wskazuje na próbę użycia metody substring, przy czym prawidłowy zapis to 'str1.substring(2, 6)'. Metoda substring przyjmuje dwa argumenty: indeks początkowy oraz indeks końcowy. W przypadku 'JavaScript', indeks 2 wskazuje na literę 'v', a indeks 6 na literę 'S'. Zatem metoda substring wyodrębni znaki od indeksu 2 do 5 (indeks 6 nie jest włączony), co daje wynik 'vaSc'. Warto również podkreślić, że metody pracy z łańcuchami tekstowymi są podstawą programowania w JavaScript, umożliwiając manipulację danymi tekstowymi i są zgodne z ECMAScript, co czyni je standardowymi dla tego języka. Dobrą praktyką jest zawsze zwracanie uwagi na poprawne użycie nawiasów oraz argumentów w metodach, co ma kluczowe znaczenie dla poprawności kodu. Przykład użycia: str1.substring(2, 6) zwróci 'vaSc', a str1.substring(0, 4) zwróci 'Java'. </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="przy-uzyciu-ktorego-znacznika-w-jezyku-html-nie-m-8754fc55" 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 znacznika w języku HTML nie można użyć do wstawienia grafiki dynamicznej na stronę?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>A. <strike></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. style="margin-bottom: 0cm;"><embed></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. <object></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. style="margin-bottom: 0cm;"><img></span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Odpowiedź <strike> jest poprawna, ponieważ ten znacznik w HTML nie jest przeznaczony do umieszczania grafiki dynamicznej. Element <strike> służy do styli tekstu, oznaczając, że tekst jest skreślony. Nie ma on właściwości ani zdolności renderowania mediów, takich jak obrazy czy animacje. W praktyce, w przypadku potrzeby dodania grafiki dynamicznej, zaleca się używanie znaczników takich jak <img> do statycznych obrazów, <embed> lub <object> do multimediów, które mogą obejmować wideo lub interaktywne elementy. Standardy HTML5 definiują, że elementy te powinny być wykorzystywane do wstawiania różnorodnych formatów medialnych, co zapewnia lepszą dostępność i zgodność z przeglądarkami. Zrozumienie odpowiednich zastosowań tych znaczników jest kluczowe dla tworzenia semantycznych i funkcjonalnych stron internetowych, co jest podstawą dobrych praktyk w web designie. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 28</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="wskaz-polecenie-aktualizujace-dane-w-tabeli-2a1ed32d" 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ż komendę, która dokonuje aktualizacji danych w tabeli?</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. ALTER</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. 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. SELECT</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-success mb-0"> Odpowiedź "UPDATE" jest jak najbardziej trafna. To takie podstawowe polecenie SQL, które pozwala na aktualizowanie już istniejących danych w tabeli. Możesz dzięki niemu zmienić jeden albo kilka wierszy w tabeli, w zależności od tego, jakie masz kryteria. Na przykład, jeśli mamy tabelę "pracownicy" i chcemy zwiększyć pensję programistów do 6000 zł, wystarczy użyć polecenia: `UPDATE pracownicy SET pensja = 6000 WHERE stanowisko = 'programista';`. To polecenie działa w taki sposób, że modyfikuje dane, ale przy tym dba o integralność, co jest bardzo ważne w pracy z bazami danych. Warto zawsze dodawać klauzulę WHERE, żeby zmiany dotyczyły tylko wybranych wierszy – to pomoże uniknąć sytuacji, w której przypadkiem zmienisz wszystko. Umiejętność korzystania z UPDATE jest naprawdę istotna, jeżeli chcesz efektywnie zarządzać swoimi 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 29</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="wartosc-pola-tabeli-peniacego-role-klucza-podsta-29a64a68" 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>Wartość kolumny w tabeli, która działa jako klucz podstawowy</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. jest wykorzystywana do szyfrowania treści tabeli</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. może mieć wartość pustą (NULL)</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 zawsze w formacie numerycznym</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. musi być unikalna</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Wartość pola tabeli pełniącego rolę klucza podstawowego musi być unikalna, ponieważ klucz podstawowy identyfikuje jednoznacznie każdy rekord w tabeli bazy danych. To oznacza, że żadna z wartości w tym polu nie może się powtarzać, co zapewnia integralność danych. Przykładem zastosowania klucza podstawowego jest identyfikator użytkownika (UserID) w tabeli z danymi użytkowników; każdy użytkownik ma przypisany unikalny identyfikator, co umożliwia jednoznaczną identyfikację jego danych. Standardy relacyjnych baz danych, takie jak SQL, nakładają te wymagania na klucze podstawowe, co jest kluczowe dla prawidłowego działania relacji między tabelami. Dobre praktyki w projektowaniu baz danych sugerują, aby klucze podstawowe były nie tylko unikalne, ale także stabilne (czyli nie zmieniały się w czasie), co ułatwia zarządzanie danymi i ich integrację w systemie. W przypadku naruszenia zasady unikalności klucza podstawowego mogą wystąpić problemy z integralnością referencyjną, co sprawia, że niemożliwe staje się prawidłowe powiązanie rekordów w różnych tabelach. </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="ktory-styl-css-pozwoli-zdefiniowac-wyrownanie-tek-ff09303b" 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 styl CSS umożliwi ustawienie tekstu do prawej strony?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. <p style="font: right">tekst</p></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. <p style="text-align: right">tekst</p></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. <p style="position: right">tekst</p></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. <p style="align: right">tekst</p></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 niewłaściwych stylów CSS do wyrównania tekstu może prowadzić do nieczytelnych lub źle ułożonych treści na stronie. W pierwszej z niepoprawnych odpowiedzi sugeruje się użycie 'font: right', co jest kompletnie błędne, ponieważ 'font' jest właściwością, która służy do definiowania stylu czcionki, rozmiaru i wagi tekstu, a nie do wyrównania go. Takie użycie 'font' nie przyniesie żadnego efektu wyrównania tekstu i jest błędne z punktu widzenia składni CSS. W drugiej odpowiedzi jednako błędnie użyto 'align: right'. Warto zauważyć, że 'align' to atrybut HTML, który nie jest obsługiwany w CSS. CSS nie uznaje 'align' jako właściwości, więc ta odpowiedź jest nieprawidłowa. Ostatnia z błędnych odpowiedzi, 'position: right', sugeruje, że właściwość 'position' może być użyta do wyrównania tekstu. W rzeczywistości, 'position' jest właściwością, która określa sposób rozmieszczania elementu na stronie, jak 'static', 'relative', 'absolute' lub 'fixed', a nie do wyrównania zawartości tekstowej. Dlatego żadna z wymienionych odpowiedzi nie spełnia wymogów prawidłowego wyrównania tekstu do prawej strony w CSS. </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="w-kodzie-html-przypisano-pewne-znaczniki-do-klasy-c1121fc0" 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 kodzie HTML przypisano pewne znaczniki do klasy o nazwie "nomargin". Jak można przeprowadzić operacje na tych znacznikach w języku JavaScript, korzystając z odpowiedniej funkcji?</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. getElementById("nomargin")</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. getElementsByTagName("nomargin")</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. getElement("nomargin")</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. getElementsByClassName("nomargin")</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Odpowiedzi, takie jak 'getElement("nomargin")', 'getElementById("nomargin")' oraz 'getElementsByTagName("nomargin")', są niewłaściwe z różnych powodów, które warto szczegółowo przeanalizować. Pierwsza opcja, 'getElement("nomargin")', nie istnieje w standardzie JavaScript, co może prowadzić do błędów w kodzie. Właściwe metody umożliwiające selekcję elementów to bardziej specyficzne funkcje, jak getElementById, która z kolei wymaga unikalnego identyfikatora, a nie klasy. Przykład 'getElementById("nomargin")' działałby tylko wtedy, gdy 'nomargin' byłby przypisany jako identyfikator (id) jednego, unikalnego elementu. Jednak w HTML nie zaleca się stosowania tej metody do selekcji klas, co stwarza kolejne problemy. Ostatnia odpowiedź, 'getElementsByTagName("nomargin")', jest również błędna, ponieważ ta metoda służy do selekcji elementów na podstawie ich tagów HTML, a nie klas. Ponadto, brak zrozumienia różnic między tymi metodami może prowadzić do istotnych błędów w kodzie, które będą skutkować błędnym działaniem aplikacji webowych. Kluczowe jest, aby przy pracy z DOM stosować odpowiednie metody zgodnie z ich przeznaczeniem, co podnosi jakość kodu oraz jego czytelność. </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="obraz-ktory-ma-byc-wyswietlony-na-stronie-powinie-0d2e2f81" 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>Grafika, która ma być pokazana na stronie, powinna mieć transparentne tło. Podaj format pliku graficznego, w którym należy go zapisać.</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. PNG</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. BMP</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. JPEG</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. CDR</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 formatów takich jak CDR, BMP czy JPEG do tworzenia obrazów z przezroczystym tłem nie jest zalecany z kilku powodów. Format CDR, będący natywnym formatem CorelDRAW, jest używany głównie w kontekście edycji wektorowej, a przezroczystość nie jest jego główną cechą. Pliki CDR są trudne do użycia w aplikacjach webowych i nie są szeroko wspierane przez przeglądarki, co ogranicza ich praktyczność w użytkowaniu. BMP (Bitmap) to format, który nie obsługuje przezroczystości; jest to format bezstratny, ale znacznie zwiększa rozmiar pliku, co może wpływać na wydajność ładowania strony internetowej. BMP jest rzadko używany w zastosowaniach webowych, ponieważ nie jest zoptymalizowany pod kątem sieci. Z kolei JPEG (Joint Photographic Experts Group) jest formatem stratnym, który nie obsługuje przezroczystości ani kanału alpha. Używanie JPEG do grafik z przezroczystym tłem prowadzi do niepożądanych efektów, jak białe prostokąty w miejscach, gdzie powinno być tło przezroczyste. Typowym błędem myślowym jest założenie, że wszystkie formaty graficzne mogą być używane zamiennie, podczas gdy każdy z nich ma swoje specyficzne zastosowania, ograniczenia i rekomendacje. Wybór niewłaściwego formatu może prowadzić do pogorszenia jakości wizualnej oraz spowolnienia działania 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 33</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-bazie-mysql-zdefiniowano-podczas-tworzenia-tabel-ac147db9" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W bazie danych MySQL przy tworzeniu tabeli zdefiniowano kolumnę id. Opcja AUTO_INCREMENT wskazuje, że ```id int NOT NULL AUTO_INCREMENT```</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. wartość kolumny id zostanie automatycznie przypisana przez system i będzie to przypadkowo wygenerowana liczba całkowita</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. kolumna id będzie mogła przyjmować wartości: NULL, 1, 2, 3, 4 i tak dalej</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. wartości tej kolumny będą automatycznie tworzone w trakcie dodawania nowego rekordu do bazy</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. możliwe jest wprowadzenie rekordu z dowolną wartością dla kolumny id</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Odpowiedź jest poprawna, ponieważ w MySQL, gdy pole jest zdefiniowane jako AUTO_INCREMENT, oznacza to, że wartości tego pola będą automatycznie generowane przez system podczas dodawania nowych rekordów. Mechanizm ten jest szczególnie przydatny w przypadku identyfikatorów, ponieważ zapewnia unikalne wartości bez konieczności ręcznego ich przypisywania. Na przykład, jeśli do tabeli dodamy nowy rekord, a ostatni zarejestrowany identyfikator wynosił 5, to nowy rekord będzie miał pole 'id' ustawione na 6. Dzięki temu proces dodawania rekordów jest znacznie uproszczony i zautomatyzowany. Warto zauważyć, że pole AUTO_INCREMENT zwykle powinno być zdefiniowane jako klucz główny (PRIMARY KEY), co dodatkowo zapewnia unikalność wpisów oraz ich szybkie wyszukiwanie. W kontekście standardów branżowych, korzystanie z AUTO_INCREMENT to praktyka, która zwiększa efektywność operacji na bazach danych, zwłaszcza w aplikacjach o dużym obciążeniu, gdzie wiele rekordów jest dodawanych jednocześnie. </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="podczas-obrobki-grafiki-rastrowej-w-programie-z-ob-dfe99ff9" 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 trakcie edycji grafiki rastrowej w oprogramowaniu obsługującym kanały, dodanie kanału alfa wskazuje na</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. wyostrzenie krawędzi obrazu</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. ustalenie prawidłowego balansu bieli</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. dodanie warstwy z przezroczystością</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. zwiększenie głębi ostrości obrazu</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Dodanie kanału alfa w obróbce grafiki rastrowej oznacza wprowadzenie warstwy odpowiedzialnej za przezroczystość obrazu. Kanał alfa rozszerza możliwości tradycyjnych obrazów, które składają się tylko z trzech podstawowych kanałów kolorystycznych: czerwonego, zielonego i niebieskiego (RGB). Dzięki kanałowi alfa, każdy piksel w obrazie może mieć przypisaną wartość przezroczystości, co pozwala na tworzenie efektów takich jak cienie, rozmycia, a także na precyzyjne maskowanie elementów w projekcie. Przykładem zastosowania kanału alfa może być tworzenie grafik do użycia w reklamach czy wideo, gdzie elementy muszą być płynnie nałożone na różnorodne tła. W profesjonalnym oprogramowaniu graficznym, takim jak Adobe Photoshop czy GIMP, dodanie kanału alfa jest standardową praktyką w procesie tworzenia i edycji obrazów. Ponadto, tworząc animacje czy interaktywne projekty multimedialne, kanał alfa pozwala na bardziej elastyczne zarządzanie przezroczystością poszczególnych warstw, co jest kluczowe dla finalnego efektu wizualnego. </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="przedstawiony-kod-zosta-zapisany-w-jezyku-javascr-73c62437" 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 przedstawiony poniżej został napisany w języku JavaScript. W zdefiniowanym obiekcie metoda to element o nazwie <br><pre style="font-family: monospace; padding: 10px; border: 2px solid #000; display: inline-block;"> var obj1 = { czescUlamkowa: 10, czescCalkowita: 20, oblicz: function () { ... } }</pre></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. czescCalkowita</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. czescUlamkowa</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. obj1</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. oblicz</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Odpowiedzi 'czescUlamkowa', 'obj1' oraz 'czescCalkowita' są niepoprawne, ponieważ nie są metodami w kontekście obiektu 'obj1'. 'czescUlamkowa' i 'czescCalkowita' to właściwości obiektu, które przechowują dane, ale nie wykonują żadnych operacji. W JavaScript, właściwości obiektów są parametrami, które mogą przechowywać wartości, jednak nie są to funkcje. Właściwości te mogą być wykorzystywane w metodach do przechowywania i manipulowania danymi, ale same w sobie nie wykonują żadnych obliczeń ani operacji. Odpowiedź 'obj1' odnosi się do samego obiektu, a nie do jego metod. W kontekście programowania obiektowego, obiekty są instancjami klas, które grupują ze sobą zarówno dane, jak i funkcjonalność, ale tylko metody można wywoływać w celu wykonania operacji. Typowym błędem myślowym jest mylenie pojęcia obiektu z pojęciem metody. Aby rozwiązać takie nieporozumienia, warto przyjąć podejście, w którym każda metoda jest rozumiana jako funkcjonalność obiektu, podczas gdy właściwości służą do przechowywania danych. Zrozumienie tej różnicy jest kluczowe, aby efektywnie korzystać z obiektowego modelu programowania w JavaScript. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 36</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-jezyku-javascript-aby-wydzielic-fragment-napisu-2cc0236a" 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 JavaScript, aby uzyskać podciąg tekstu pomiędzy wskazanymi indeksami, należy skorzystać z metody</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. trim()</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. slice()</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. concat()</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. replace()</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 metod do manipulacji napisami może wynikać z nieporozumienia dotyczącego ich funkcji. Metoda trim() służy do usuwania białych znaków z początku i końca napisu, co jest przydatne w kontekście walidacji danych wejściowych, ale nie pozwala na wydzielanie fragmentów napisu. Z kolei concat() jest zarezerwowana do łączenia dwóch lub więcej napisów w jeden, co również nie ma związku z wydzielaniem fragmentów. Użytkownicy często mylą concat() z slice(), błędnie sądząc, że obie metody operują na podobnych zasadach, gdyż obydwie dotyczą manipulacji napisami, jednak ich funkcjonalność jest całkowicie różna. Metoda replace() pozwala na zamianę określonych fragmentów tekstu na inne, co jest przydatne w kontekście przetwarzania danych, jednak również nie odpowiada na pytanie o wydzielanie segmentów. Typowe błędy w myśleniu na ten temat mogą wynikać z niepełnego zrozumienia celów tych metod oraz ich zastosowania w praktyce. Aby uniknąć takich nieporozumień, warto zwrócić uwagę na dokumentację JavaScript oraz praktykować ich zastosowanie w różnych scenariuszach, co z pewnością pomoże w zrozumieniu różnicy między tymi metodami. </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="za-pomoca-przedstawionego-zapytania-w-tabeli-zosta-4869285c" 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 będą skutki wykonania podanego zapytania w tabeli? <table style="border: 2px solid black; border-collapse: collapse;"><tr><td style="border: 1px solid black; padding: 10px; font-family: monospace;">ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;</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. zmiana nazwy kolumny z nazwa1 na nazwa2</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. dodanie kolumny nazwa2 z wartością domyślną typu DOUBLE</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. zmiana wartości kolumny nazwa2 na DOUBLE</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. dodanie kolumny nazwa2 typu zmiennoprzecinkowego</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Analiza błędnych odpowiedzi związanych z zapytaniem ALTER TABLE wymaga zrozumienia funkcji oraz ograniczeń tej komendy w SQL. Słowo kluczowe ADD wskazuje na intencję dodania nowego elementu do struktury tabeli co eliminuje możliwość zmiany istniejącej kolumny jak sugerują niektóre odpowiedzi. Typ DOUBLE jest używany do przechowywania danych zmiennoprzecinkowych lecz nie oznacza to że istniejąca kolumna może zmieniać się na ten typ poprzez użycie ADD co jest błędnym zrozumieniem funkcji SQL. Typowe błędy myślowe obejmują mylenie dodawania nowej kolumny ze zmianą istniejącej co można osiągnąć jedynie poprzez bezpośrednie użycie MODIFY w poleceniu ALTER TABLE. Również błędne jest założenie że dodawanie kolumny automatycznie ustali wartość domyślną co wymaga specjalnego określenia DEFAULT w zapytaniu aby wprowadzić takie ustawienie. Konsekwencją takiego błędnego rozumienia jest niepoprawna rozbudowa struktury danych co może prowadzić do problemów w aplikacjach wykorzystujących bazę danych. Prawidłowe rozumienie działania ALTER TABLE jest kluczowe w efektywnym zarządzaniu i rozwoju baz danych co zgodne jest z dobrymi praktykami w tej dziedzinie. Aby uniknąć tych błędów warto zapoznać się z dokumentacją i praktykami związanymi z obsługą SQL i wdrożyć systematyczne testowanie zmian strukturalnych przed ich implementacją w środowisku produkcyjnym co minimalizuje ryzyko błędów i ich wpływ na operacje biznesowe. Poprawne użycie ALTER TABLE wymaga także zaawansowanej znajomości typów danych i zasad spójności w bazach danych co jest istotnym elementem kompetencji każdego specjalisty IT zarządzającego danymi. W kontekście tego pytania ważne jest zrozumienie że kluczową operacją jest dodanie nowej kolumny a nie zmiana istniejącej struktury co wymaga innego podejścia i komend 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 38</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="ktory-zapis-w-jezyku-javascript-daje-jednakowy-rez-8057258f" 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 zapis w języku JavaScript daje taki sam wynik jak poniższy kod? <table style="border: 2px solid black; border-collapse: collapse; margin-bottom: 20px;"> <tr> <td style="border: 1px solid black; padding: 10px; font-family: monospace;">x = 0;<br>x += 10;</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. x = 10; x = x + 10</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>B. x = 0; x++; x = x + 9</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. x = 0; x--; x *= 9</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. x = 10; x = 0</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Analiza odpowiedzi prowadzi do zrozumienia, że w niektórych przypadkach programiści mogą mieć trudności z interpretacją operacji na zmiennych. W przypadku pierwszej z niepoprawnych odpowiedzi, x = 0; x--; x *= 9; prowadzi to do innej logiki. Po przypisaniu x = 0, użycie x-- zmienia wartość x na -1, a następnie mnożenie przez 9 skutkuje -9, co nie ma nic wspólnego z oczekiwaną wartością 10. To pokazuje, jak nieprawidłowe zrozumienie podstawowych operacji arytmetycznych może prowadzić do błędów. W drugiej niepoprawnej odpowiedzi, x = 10; x = x + 10; przypisanie 10 do x oraz dodanie 10 do x daje wartość 20, co również jest dalekie od oczekiwanego wyniku. Takie nieprawidłowe podejście do operacji przypisania i dodawania może być wynikiem niedostatecznej znajomości reguł działania operatorów w JavaScript. Wreszcie, ostatnia odpowiedź, x = 10; x = 0; jest sprzeczna sama w sobie, ponieważ po przypisaniu 10, nadpisanie wartości na 0 bez żadnej operacji arytmetycznej skutkuje wartością 0, co jest jeszcze bardziej mylące. Wnioskując, kluczowe jest zrozumienie, jak działają operatory w JavaScript oraz unikanie typowych pułapek wynikających z niepoprawnego łączenia przypisania i operacji arytmetycznych. Takie błędy mogą prowadzić do trudności w debugowaniu i utrzymaniu kodu, dlatego warto przestrzegać dobrych praktyk programistycznych oraz dokładnie analizować operacje na zmiennych. </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="waczenie-do-kodu-skryptu-zawartosci-pliku-egzami-8c25132e" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Aby włączyć do skryptu zawartość pliku egzamin.php z kodem PHP, należy użyć polecenia</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. fopen("egzamin.php");</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. fgets("egzamin.php");</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. include("egzamin.php");</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. getfile("egzamin.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 niepoprawnych odpowiedzi wynika z nieporozumienia w zakresie zastosowania właściwych funkcji PHP. fgets to funkcja służąca do odczytywania linii z pliku, co oznacza, że jej zastosowanie wymagałoby otwarcia pliku w trybie odczytu, a nie włączenia całej zawartości do skryptu. Dlatego użycie fgets('egzamin.php'); nie przynosi oczekiwanego efektu. fopen to funkcja, która otwiera plik, ale nie włącza jego zawartości do skryptu. W przypadku fopen('egzamin.php'); programista musiałby dodatkowo opracować logikę do odczytywania danych z pliku, co jest nieefektywne, gdy celem jest proste włączenie kodu. Getfile to nieistniejąca funkcja w PHP; nie ma takiej komendy, co sprawia, że odpowiedź ta jest błędna już na poziomie składni. PHP nie definiuje funkcji o nazwie getfile. W każdym z tych przypadków, zamiast włączać kod, te metody wymagają dodatkowych kroków lub są po prostu błędne, co sprawia, że nie mogą być użyte do realizacji celu, jakim jest dołączenie kodu PHP z pliku. </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="co-nalezy-zastosowac-w-organizacji-danych-aby-za-d90e1533" 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 rozwiązanie należy zastosować w przechowywaniu danych, aby przyspieszyć wykonywanie zapytań w bazie 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. Domyślne wartości.</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. Klucze podstawowe.</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. Zasady.</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. Indeksy.</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Reguły, wartości domyślne oraz klucze podstawowe nie mają bezpośredniego wpływu na przyspieszenie wykonywania zapytań w bazach danych. Reguły, chociaż mogą być użyteczne do definiowania logiki i ograniczeń w danych, nie przyspieszają procesu wyszukiwania informacji. Ich główną funkcją jest kontrola danych i automatyzacja pewnych działań w momencie wprowadzania lub aktualizacji danych. Vartości domyślne są z kolei używane do przypisywania określonych wartości do kolumn, gdy dane nie są podawane, jednak nie wpływają na wydajność zapytań. Klucze podstawowe służą do unikalnej identyfikacji rekordów w tabeli i zapewnienia integralności danych, ale nie przyspieszają one procesu wyszukiwania. W rzeczywistości klucze podstawowe są często indeksowane automatycznie przez DBMS, co może poprawić wydajność, ale same w sobie nie są rozwiązaniem optymalizacyjnym, jak indeksy. Dlatego, aby nasze zapytania były bardziej wydajne, kluczowe jest zastosowanie odpowiednich indeksów, a nie poleganie na regułach, wartościach domyślnych czy kluczach podstawowych. </div> </div> </article> <!-- Przyciski nawigacyjne --> <div class="d-grid gap-2 mt-4"> <div class="d-inline-block mb-2"> <a href="/egzamin/?profession=technik-informatyk&qualification=inf-03" class="btn btn-outline-primary"> <i class="fas fa-redo me-2"></i>Rozpocznij nowy egzamin </a> </div> <div class="d-inline-block"> <a href="/" class="btn btn-outline-secondary"> <i class="fas fa-home me-2"></i>Powrót do strony głównej </a> </div> </div> </div> </div> </div> </main> <!-- Footer --> <footer class="footer mt-auto py-4"> <div class="container"> <div class="row"> <!-- About Section --> <div class="col-lg-4 footer-section"> <h2 class="h5">O Egzaminach Zawodowych</h2> <p> Portal z kompleksową bazą pytań egzaminacyjnych dla uczniów szkół technicznych. Przygotuj się do egzaminu zawodowego z naszymi materiałami. </p> </div> <!-- Popular Qualifications --> <div class="col-lg-4 footer-section"> <h2 class="h5">Losowe kwalifikacje</h2> <div class="row"> <div class="col-6"> <a href="/technik-mechanik-okretowy/TWO.06/" class="footer-link"> <span>TWO.06</span> <small class="text-muted">(139)</small> </a> </div> <div class="col-6"> <a href="/technik-pojazdow-samochodowych/MOT.06/" class="footer-link"> <span>MOT.06</span> <small class="text-muted">(584)</small> </a> </div> <div class="col-6"> <a href="/technik-technologii-zywnosci/SPC.07/" class="footer-link"> <span>SPC.07</span> <small class="text-muted">(231)</small> </a> </div> <div class="col-6"> <a href="/technik-weterynarii/ROL.12/" class="footer-link"> <span>ROL.12</span> <small class="text-muted">(1 171)</small> </a> </div> <div class="col-6"> <a href="/opiekun-osoby-starszej/SPO.02/" class="footer-link"> <span>SPO.02</span> <small class="text-muted">(327)</small> </a> </div> <div class="col-6"> <a href="/technik-analityk/CHM.03/" class="footer-link"> <span>CHM.03</span> <small class="text-muted">(468)</small> </a> </div> <div class="col-6"> <a href="/technik-renowacji-elementow-architektury/BUD.24/" class="footer-link"> <span>BUD.24</span> <small class="text-muted">(149)</small> </a> </div> <div class="col-6"> <a href="/technik-turystyki-na-obszarach-wiejskich/HGT.09/" class="footer-link"> <span>HGT.09</span> <small class="text-muted">(363)</small> </a> </div> <div class="col-6"> <a href="/technik-geodeta/BUD.18/" class="footer-link"> <span>BUD.18</span> <small class="text-muted">(326)</small> </a> </div> <div class="col-6"> <a href="/tapicer/DRM.05/" class="footer-link"> <span>DRM.05</span> <small class="text-muted">(328)</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>