Odpowiedzi, które sugerują, że zawartość znacznika
nie jest widoczna w przeglądarce czy że nie ma znaczenia dla zawartości strony, są po prostu błędne. Zapis <title> to kluczowy element w HTML, który informuje użytkownika o tematyce strony, ale też wpływa na to, jak jest postrzegana przez wyszukiwarki. Tytuł nie jest w treści strony, a w nagłówku karty przeglądarki oraz w wynikach wyszukiwania. Ignorowanie tytułu to częsty błąd w myśleniu o SEO i projektowaniu stron. Można też usłyszeć, że <title> jest opcjonalny, co jest nieprawdą, bo brak tego elementu może sprawić, że użytkownicy i roboty wyszukiwarek będą mieli problem z identyfikacją strony. Tytuł musi być w kodzie HTML, żeby zwiększyć użyteczność i dostępność strony. Warto też pamiętać, że <title> nie jest tylko dla robotów, ale przede wszystkim ma pomóc użytkownikom zrozumieć, co mogą znaleźć 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 9</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="ktore-oprogramowanie-nie-jest-systemem-zarzadzania-64fe7bc5" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Jakie oprogramowanie NIE JEST systemem do zarządzania treścią (CMS)?</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. Mambo</span> </div> </div> </div> <div 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. WordPress</span> </div> </div> </div> <div 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. Joomla</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. Apache</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Apache to serwer HTTP, który jest wykorzystywany do hostowania stron internetowych. Nie jest to system zarządzania treścią (CMS), ponieważ jego głównym zadaniem jest obsługa żądań HTTP i dostarczanie plików do przeglądarek internetowych. Systemy zarządzania treścią, takie jak Joomla, WordPress czy Mambo, to aplikacje, które umożliwiają użytkownikom łatwe tworzenie, edytowanie i zarządzanie treściami na stronach internetowych bez konieczności posiadania zaawansowanej wiedzy technicznej. Przykładem zastosowania Apache może być hostowanie strony internetowej stworzonej w jednym z wymienionych CMS, gdzie Apache dostarcza zasoby, a CMS zarządza treścią i logiką aplikacji. Dobrą praktyką w branży jest oddzielanie warstwy serwera od warstwy aplikacji, co pozwala na lepszą skalowalność i utrzymanie, a także na łatwiejszą aktualizację i zarządzanie bezpieczeństwem. </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="program-filezilla-moze-posuzyc-do-50f6bd65" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Do czego można wykorzystać program FileZilla?</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. do interpretacji kodu 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. do weryfikacji strony internetowej</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. do publikowania strony internetowej</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. do testowania prędkości ładowania strony</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> FileZilla to dosyć popularny program, który służy do przesyłania plików za pomocą FTP. W dużym skrócie, jest to narzędzie, które umożliwia publikację stron internetowych. Dzięki niemu można łatwo wrzucać różne pliki, takie jak HTML, CSS czy JavaScript, na serwer. Jego obsługa jest naprawdę prosta – można tworzyć foldery, przenosić, kopiować czy usuwać pliki, co jest bardzo ważne, kiedy zarządza się stroną. Na przykład, jeżeli projektujesz stronę na swoim komputerze i chcesz, żeby była dostępna w Internecie, wystarczy, że skonfigurujesz połączenie FTP w FileZilla, wpiszesz dane logowania do serwera i przeciągniesz pliki do odpowiedniego folderu. Używanie FTP do publikacji to standard w branży, bo jest to bezpieczny i skuteczny sposób na zarządzanie swoimi stronami. </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="prealter-table-artykuly-modify-cena-float-pre-e9754866" 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>Kwerenda ALTER TABLE artykuly MODIFY cena float ma na celu wykonanie modyfikacji w tabeli artykuly?</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. zmienić typ na float dla kolumny cena</span> </div> </div> </div> <div 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. zmienić nazwę kolumny cena na float</span> </div> </div> </div> <div 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. wprowadzić kolumnę cena o typie float, o ile jeszcze nie istnieje</span> </div> </div> </div> <div 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. usunąć kolumnę cena, która jest typu float</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Kwerenda ALTER TABLE artykuly MODIFY cena float ma na celu zmianę typu kolumny 'cena' w tabeli 'artykuly' na typ float. Typ float jest używany do przechowywania liczb zmiennoprzecinkowych, co jest szczególnie przydatne w przypadku cen, które mogą mieć ułamkowe wartości. Przykładem zastosowania tej kwerendy może być sytuacja, w której początkowo kolumna 'cena' była zdefiniowana jako typ integer, co ograniczałoby możliwość przechowywania wartości takich jak 19.99. Zmiana typu na float pozwala na większą precyzję, co jest zgodne z najlepszymi praktykami w zarządzaniu danymi finansowymi. Ważne jest, aby przed zmianą typu kolumny upewnić się, że wszystkie istniejące dane są zgodne z nowym typem, aby uniknąć błędów konwersji. Ostatecznie, korzystając z tego polecenia, dbamy o integralność danych oraz ich prawidłowe reprezentowanie, co jest kluczowe w każdej aplikacji związanej z zarządzaniem 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 12</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-zaznaczonym-przykadzie-pseudoklasa-hover-spraw-a5ad87e8" 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 podanym przykładzie pseudoklasa hover spowoduje, że styl pogrubiony zostanie zastosowany</p> <figure class="figure mt-3"> <img src="/images/11125.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. dla wszystkich odwiedzonych odnośników</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. dla wszystkich nieodwiedzonych odnośników</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>C. odnośnikowi, gdy kursor myszy na nim spocznie</span> </div> </div> </div> <div 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. dla każdego odnośnika bez względu na jego aktualny stan</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Pseudoklasa hover w CSS jest stosowana do definiowania stylu elementu, gdy użytkownik umieszcza nad nim kursor myszy. W kontekście odnośników, stosowanie pseudoklasy hover pozwala na dynamiczne dostosowywanie ich wyglądu, co jest kluczowe dla poprawy interaktywności i użyteczności stron internetowych. W przykładzie a:hover { font-weight: bold; } styl pogrubiony zostanie zastosowany do odnośnika, gdy użytkownik najedzie na niego kursorem myszy. Jest to częsta praktyka w projektowaniu stron, która pomaga użytkownikom łatwiej identyfikować aktywne elementy nawigacyjne. Standardy sieciowe, takie jak W3C, rekomendują stosowanie takich interakcji w celu poprawy doświadczenia użytkownika. Praktyczne zastosowanie pseudoklasy hover jest szerokie, od prostych efektów wizualnych, po skomplikowane animacje i przejścia. Ważne jest jednak, aby pamiętać o zapewnieniu alternatywnych metod interakcji dla użytkowników korzystających z urządzeń dotykowych, gdzie hover nie jest obsługiwany. Zrozumienie i właściwe stosowanie pseudoklas w CSS jest podstawą tworzenia nowoczesnych i dostępnych interfejsów użytkownika. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 13</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-przedstawionym-fragmencie-kwerendy-jezyka-sql-k-2f6fe62d" 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 podanym fragmencie zapytania w języku SQL, komenda SELECT jest używana do zwrócenia SELECT COUNT(wartosc) FROM …</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. summy w kolumnie wartosc</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. ilości wierszy</span> </div> </div> </div> <div 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. średniej w kolumnie wartosc</span> </div> </div> </div> <div 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. średniej wartości z tabeli</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> No, trochę jest tu pomyłka. Ludzie często mylą to zapytanie SELECT COUNT(wartosc) z sumowaniem wartości, co nie jest do końca poprawne. Funkcja COUNT nie sumuje wartości, ona tylko liczy, ile jest niepustych wierszy. Więc jeżeli ktoś twierdzi, że to daje średnią, to wprowadza w błąd – średnią liczymy z pomocą funkcji AVG, a nie COUNT. W kolumnie 'wartosc' mogą być różne liczby, a suma wartości nie ma wiele wspólnego z tym, ile jest wierszy. Dobrze jest pamiętać, że średnia to coś innego niż liczba wierszy, co jest ważne do zrozumienia, jak działają zapytania w SQL. Jeśli ktoś myli te funkcje, to może się zgubić w analizie danych. Więc ogólnie mówiąc, warto wiedzieć, czym różnią się COUNT, AVG i inne funkcje agregujące, bo to kluczowe do ogarnięcia pracy z bazami 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 14</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="efekt-przedstawiony-na-obrazie-wykonany-za-pomoca-5def1f82" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Informacja o ograniczonym dostępie dla pytań premium --> <div class="alert alert-info"> <p class="mb-0"> <i class="fas fa-lock me-2"></i> To pytanie jest dostępne tylko dla zalogowanych użytkowników. <a href="/login/?next=/egzamin/588ac45a-a8a7-4117-9ed4-0db0640e1a30/wyniki/" class="alert-link">Zaloguj się</a> lub <a href="/register/student/" class="alert-link">utwórz konto</a> aby zobaczyć pełną treść pytania. </p> </div> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Ukryte odpowiedzi dla premium pytań --> <div class="text-muted fst-italic"> <p>Odpowiedzi dostępne po zalogowaniu.</p> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Ukryty feedback dla premium pytań --> <div class="text-muted fst-italic"> <p>Wyjaśnienie dostępne po zalogowaniu.</p> </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="tabele-klienci-i-zgloszenia-sa-powiazane-relacja-012503b9" 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>Tabele Klienci oraz Zgloszenia są związane relacją jeden do wielu. Jakie polecenie należy wydać, aby uzyskać tylko opis zgłoszenia oraz odpowiadające mu nazwisko klienta dla zgłoszenia numer 5?</p> <figure class="figure mt-3"> <img src="/images/6934.png" class="figure-img img-fluid rounded" alt="Ilustracja do pytania" itemprop="image"> </figure> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>A. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci WHERE Klienci.id = 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. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Zgloszenia.id = 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. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Klienci.id = 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. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.id WHERE Zgloszenia.id = 5</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> W przypadku nieprawidłowych odpowiedzi często występuje błędne rozumienie relacji i składni SQL. W pierwszym przykładzie, klauzula WHERE Klienci.id = 5 próbuje filtrować według identyfikatora klienta zamiast zgłoszenia, co nie jest zgodne z celem zapytania. Taki zapis prowadzi do niepoprawnych wyników, ponieważ zamiarem jest uzyskanie danych dla konkretnego zgłoszenia, a nie wszystkich zgłoszeń danego klienta. Innym częstym błędem jest pominięcie klauzuli ON w zapytaniu, co widać w trzeciej odpowiedzi. Bez określenia warunku łączenia, SQL nie ma informacji, jak powiązać rekordy z dwóch tabel, co może skutkować błędem lub zwróceniem niepoprawnych danych. W czwartym przypadku, klauzula ON jest błędnie skonstruowana, używając Klienci.id = Zgloszenia.id, co nie odpowiada relacji klucz główny-klucz obcy. Takie błędy wynikają z niezrozumienia struktury bazy danych i jej modeli relacyjnych. W praktyce, takie niepoprawne zapytania mogą prowadzić do błędnych wniosków, utraty integralności danych i problemów z wydajnością systemu. Aby tego uniknąć, istotne jest zrozumienie logicznej struktury bazy danych oraz poprawne stosowanie składni SQL, co jest kluczowe w pracy z relacyjnymi bazami danych. W profesjonalnym środowisku, testowanie i walidacja zapytań pomogą zidentyfikować i poprawić takie błędy przed wdrożeniem w produkcji. </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="na-obrazie-przedstawiono-projekt-ukadu-blokow-wit-02404835" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Informacja o ograniczonym dostępie dla pytań premium --> <div class="alert alert-info"> <p class="mb-0"> <i class="fas fa-lock me-2"></i> To pytanie jest dostępne tylko dla zalogowanych użytkowników. <a href="/login/?next=/egzamin/588ac45a-a8a7-4117-9ed4-0db0640e1a30/wyniki/" class="alert-link">Zaloguj się</a> lub <a href="/register/student/" class="alert-link">utwórz konto</a> aby zobaczyć pełną treść pytania. </p> </div> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Ukryte odpowiedzi dla premium pytań --> <div class="text-muted fst-italic"> <p>Odpowiedzi dostępne po zalogowaniu.</p> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Ukryty feedback dla premium pytań --> <div class="text-muted fst-italic"> <p>Wyjaśnienie dostępne po zalogowaniu.</p> </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="funkcja-javascript-powinna-byc-wywoywana-za-kazd-d70a3803" 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 zdarzenie należy wykorzystać, aby funkcja JavaScript była aktywowana za każdym razem, gdy użytkownik wprowadza jakikolwiek znak w polu tekstowym?</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. onclick</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. onkeydown</span> </div> </div> </div> <div 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. onmouseout</span> </div> </div> </div> <div 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. onload</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Odpowiedzi onload, onclick oraz onmouseout nie są odpowiednie do zadania, ponieważ każde z tych zdarzeń ma inne zastosowanie i nie odpowiada wymaganiom związanym z rejestrowaniem wprowadzania tekstu przez użytkownika. Zdarzenie 'onload' jest wywoływane, gdy strona internetowa lub element zasobu (np. obraz) jest w pełni załadowany. Jest to idealne do inicjalizacji skryptów lub stylów, ale nie reaguje na interakcje użytkownika w czasie rzeczywistym. 'onclick' dotyczy sytuacji, gdy użytkownik klika element, co nie jest wystarczające do uchwycenia zmian dokonywanych w polu edycji podczas pisania. W związku z tym, nie będzie skuteczne w kontekście, gdy chcemy wykrywać każdy naciśnięty klawisz. Z kolei 'onmouseout' jest wywoływane, gdy kursor myszy opuszcza dany element na stronie. Użycie tego zdarzenia mogłoby prowadzić do nieprzewidywalnych efektów i nie miałoby żadnego znaczenia w kontekście wprowadzania tekstu przez użytkownika. Z tego powodu, aby prawidłowo zareagować na wprowadzanie danych, zastosowanie 'onkeydown' jest zdecydowanie najbardziej odpowiednie. </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="testujac-skrypt-javascript-mozna-wyswietlac-w-kons-27e7318e" 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>Podczas testowania skryptu JavaScript można w konsoli wyświetlać obecnie przechowywane wartości zmiennych przy użyciu 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-1 border-secondary "> <div class="flex-grow-1"> <span>A. console.warn()</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. console.log()</span> </div> </div> </div> <div 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. console.count()</span> </div> </div> </div> <div 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. console.error()</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Funkcja console.log() jest najczęściej używaną metodą do wyświetlania informacji w konsoli JavaScript. Umożliwia ona programistom monitorowanie wartości zmiennych w czasie rzeczywistym, co jest niezwykle pomocne podczas debugowania aplikacji. Używając console.log(), można łatwo wprowadzić komunikaty do konsoli, co pozwala na śledzenie zachowań aplikacji oraz identyfikację potencjalnych problemów. Przykładowo, jeśli mamy zmienną 'x' i chcemy zobaczyć jej wartość, wystarczy wpisać console.log(x). Dobre praktyki inżynierii oprogramowania sugerują, aby używać tego narzędzia do logowania istotnych informacji, w tym danych wejściowych oraz wyników operacji, co ułatwia późniejszą analizę i utrzymanie kodu. Ponadto, console.log() jest częścią standardu Web API, co potwierdza jego znaczenie i powszechność w branży. Warto też pamiętać, że nadmierne logowanie może prowadzić do zagracenia konsoli, dlatego kluczowe jest stosowanie tej funkcji w umiarkowany sposób, szczególnie w środowisku produkcyjnym. </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="podaj-wynik-dziaania-programu-zapisanego-w-jezyku-ab845377" 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ędzie wynik działania programu napisanego w JavaScript, umieszczonego w ramce, kiedy wprowadzisz wartość 5? <table style="border: 2px solid black; border-collapse: collapse;"> <tr> <td style="border: 1px solid black; padding: 10px; font-family: monospace;"> <span style="color: blue;">var</span> n, i;<br> <span style="color: blue;">var</span> a = <span style="color: brown;">1</span>;<br><br> n = prompt(<span style="color: brown;">"Podaj n:"</span>, <span style="color: brown;">""</span>);<br><br> <span style="color: blue;">for</span> (i=n; i>=<span style="color: orange;">2</span>; i--)<br> a*=i;<br><br> document.<span style="color: blue;">write</span>(<span style="color: brown;">"Wynik "</span>,a); </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. 60</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. 120</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. 125</span> </div> </div> </div> <div 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. 625</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 wynikają z niezrozumienia działania pętli i operatora *= w języku JavaScript. Program implementuje algorytm obliczający silnię, co oznacza wielokrotne mnożenie kolejnych liczb całkowitych malejących aż do wartości 2. Niezrozumienie, że silnia n to iloczyn n*(n-1)*(n-2)*...*2, prowadzi do błędnych odpowiedzi. Początkowa wartość zmiennej a ustawiona na 1 jest kluczowa, ponieważ działa jako neutralny element mnożenia. Każda iteracja pętli zmniejsza wartość i, a *= i oznacza, że a jest mnożone przez bieżącą wartość i, co jest często źle interpretowane jako dodawanie lub niedokładne mnożenie. To typowy błąd przy próbie szybkiego zrozumienia kodu bez analizy krok po kroku. Kolejnym częstym błędem jest złe zrozumienie zakresu działania pętli for, która w tym przypadku działa od wartości n aż do 2 włącznie, co jest istotne, bo mnożenie przez 1 nie zmienia wyniku, ale jest częścią klasycznej definicji silni. Dla danych wejściowych 5, poprawnym wynikiem jest 5*4*3*2*1, co daje 120, a inne wartości jak 125, 60 czy 625 wskazują na błędne założenia lub niepełne zrozumienie mechanizmu działania pętli i mnożenia w kontekście silni. </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="po-wydaniu-polecenia-sql-uzytkownik-ela-bedzie-mog-5b9efd55" 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>Po zrealizowaniu polecenia SQL użytkownik Ela zyska możliwość wykorzystania poniższych uprawnień: ```GRANT SELECT, INSERT, UPDATE, DELETE ON baza1.tab1 TO 'Ela'@'localhost';```</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. przeprowadzać wszystkie operacje na danych</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. realizować wszystkie działania na strukturze danych</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. tylko tworzyć i zmieniać strukturę 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>D. tylko dodawać oraz zmieniać dane</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Wybór odpowiedzi, która sugeruje, że użytkownik może jedynie dodawać i modyfikować dane, jest mylny, ponieważ nie uwzględnia uprawnienia SELECT, które jest również częścią przyznanych uprawnień. Ograniczając interpretację do dodawania i modyfikowania danych, można zignorować kluczowy aspekt bazy danych – możliwość ich przeglądania. Ponadto, twierdzenie, że użytkownik może jedynie tworzyć i modyfikować strukturę tabel, jest nieadekwatne, ponieważ polecenie GRANT nie dotyczy uprawnień do zmiany struktury bazy danych, takich jak dodawanie nowych tabel czy kolumn. Takie operacje są regulowane przez inne uprawnienia, które muszą być również przyznane. W sytuacji, gdy mówimy o operacjach na strukturze danych, należy uwzględnić, że uprawnienia GRANT dotyczą jedynie pracy z danymi przechowywanymi w tabelach, a nie z ich strukturalnymi aspektami. Pojęcie 'wszystkie operacje na strukturze danych' może wprowadzać w błąd, ponieważ nie odnosi się do przyznanych uprawnień, które nie obejmują na przykład tworzenia nowych tabel lub zmiany ich definicji. Dlatego ważne jest, aby dokładnie zrozumieć różnicę między uprawnieniami do operacji na danych a uprawnieniami do zarządzania strukturą bazy danych. Kluczowym błędem jest zatem niedostrzeganie znaczenia uprawnienia SELECT oraz niewłaściwe rozumienie zakresu przyznawanych uprawnień w kontekście 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 21</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="jaka-wartosc-zwroci-funkcja-zoo-zdefiniowana-w-jez-9ba3a52a" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Jaką wartość zwróci funkcja zoo zdefiniowana w języku C++, wywołana z aktualnym parametrem 3.55 <table style="border: 2px solid black; border-collapse: collapse; margin-bottom: 20px;"> <tr> <td style="border: 1px solid black; padding: 10px; font-family: monospace;"> int zao(float x){<br> return (x + 0.5);<br> } </td> </tr> </table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-2 bg-danger bg-opacity-10 border-danger text-danger "> <div class="flex-grow-1"> <span>A. 4.05</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. 3.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>C. 4</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. 3</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Niestety, wybrana odpowiedź jest niepoprawna. Możliwe, że zapomniano o specyficznych zasadach konwersji typów danych w języku C++. W języku tym, jeśli mamy do czynienia z wartościami zmiennoprzecinkowymi (float) i konwertujemy je do wartości całkowitych (int), część ułamkowa jest zawsze odrzucana. Nie ma tutaj zaokrąglenia do najbliższej liczby całkowitej. Dlatego, nawet jeśli wynik działania wewnątrz funkcji wynosi 4.05, po konwersji do typu int, zostaje z tego tylko 4. To jest typowy błąd, który może prowadzić do nieoczekiwanych wyników, szczególnie w programach, gdzie precyzja obliczeń jest kluczowa. Pamiętaj zawsze o tej specyfice języka C++ i dokładnie określaj typy danych, z którymi pracujesz. </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="dana-jest-tabela-ksiazki-z-polami-tytu-autor-t-a72c936d" 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>Podana jest tabela książki z kolumnami: tytuł, autor (w formie tekstowej), cena (w formie liczbowej). Jaką kwerendę SELECT należy wykorzystać, aby otrzymać tylko tytuły, których cena jest niższa niż 50 zł?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. SELECT tytul FROM ksiazki WHERE cena > '50 zł';</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. SELECT * FROM ksiazki WHERE cena < 50;</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. SELECT ksiazki FROM tytul WHERE cena < '50 zł';</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. SELECT tytul FROM ksiazki WHERE cena < 50;</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Odpowiedź "SELECT tytul FROM ksiazki WHERE cena < 50;" jest prawidłowa, ponieważ wykorzystuje składnię SQL, która pozwala na wybranie konkretnych pól z tabeli. W tym przypadku przy pomocy klauzuli SELECT określamy, że interesują nas tylko tytuły książek, a klauzula WHERE filtruje wyniki, zwracając jedynie te rekordy, w których cena jest niższa niż 50 zł. To podejście jest zgodne z najlepszymi praktykami, ponieważ zamiast używać operatora *, który zwraca wszystkie kolumny, wskazujemy dokładnie, jakie dane są nam potrzebne. Dzięki temu kwerenda jest bardziej wydajna i przejrzysta. Przykładowo, w przypadku dużych zbiorów danych, ograniczenie wyników do konkretnego pola może znacząco poprawić czas wykonania zapytania oraz zmniejszyć obciążenie serwera. Ponadto, zapis ceny jako liczby, a nie tekstu (np. '50 zł'), umożliwia prawidłowe porównanie wartości numerycznych, co jest kluczowe w tego typu zapytaniach. W praktyce wykorzystanie tego rodzaju zapytań jest niezbędne, aby efektywnie zarządzać danymi i uzyskiwać precyzyjne wyniki w bazach danych. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 23</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="aby-zbadac-rozkad-ilosciowy-poszczegolnych-kolor-7123d583" 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 przeanalizować rozkład ilościowy różnych kolorów na zdjęciu, jaka metoda powinna być zastosowana?</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. rozmycia Gaussa</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. balansu kolorów</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. histogramu</span> </div> </div> </div> <div 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. desaturacji</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Desaturacja odnosi się do procesu usuwania nasycenia kolorów w obrazie, co prowadzi do uzyskania odcieni szarości. Chociaż desaturacja może być użyteczna w kontekście konwersji kolorowych zdjęć do czarno-białych, nie dostarcza informacji o rozkładzie ilościowym poszczególnych kolorów. Balans kolorów to technika, która pozwala na korekcję kolorów w obrazie, aby uzyskać bardziej naturalne odcienie. Proces ten polega na dostosowaniu proporcji kolorów podstawowych w zdjęciu, ale również nie umożliwia analizy jego rozkładu kolorów, co czyni go nieodpowiednim narzędziem w tym kontekście. Rozmycie Gaussa jest techniką stosowaną w obróbce obrazów do wygładzania i redukcji szumów, jednak w żaden sposób nie analizuje rozkładu kolorów w obrazie. Zamiast tego, rozmycie zmienia strukturę obrazu poprzez ułatwienie mieszania kolorów, co utrudnia, a nawet uniemożliwia uzyskanie informacji o ilości poszczególnych kolorów. Wszystkie te techniki, chociaż użyteczne w innych aspektach edycji zdjęć, nie są odpowiednie do oceny rozkładu kolorów, co czyni histogram jedynym właściwym wyborem w tym przypadku. </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="dom-dostarcza-metod-i-wasnosci-ktore-w-jezyku-ja-b120e74a" 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>DOM oferuje metody i właściwości, które w języku JavaScript umożliwiają</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. pobieranie oraz modyfikowanie elementów strony widocznej w przeglądarce</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. manipulowanie łańcuchami zadeklarowanymi w kodzie</span> </div> </div> </div> <div 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. przesyłanie danych formularza bezpośrednio do bazy danych</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. przeprowadzanie operacji na zmiennych przechowujących liczby</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Zarówno wysyłanie danych formularza bezpośrednio do bazy danych, jak i manipulowanie zadeklarowanymi w kodzie łańcuchami są podejściami, które mogą być mylące w kontekście funkcji DOM. Przede wszystkim, DOM nie jest odpowiedzialny za interakcję z bazami danych. Wysyłanie danych formularza do bazy danych odbywa się zazwyczaj poprzez technologię backendową, taką jak PHP, Node.js czy Python, która przetwarza dane po stronie serwera. Użytkownik nie może bezpośrednio łączyć się z bazą danych z poziomu przeglądarki, co jest kluczowym aspektem bezpieczeństwa aplikacji internetowych. Ponadto, manipulacja łańcuchami w kontekście DOM również nie jest jego funkcją. DOM jest skoncentrowany na reprezentacji strukturalnej dokumentu, a nie na operacjach na danych. Takie operacje powinny być realizowane w kontekście zmiennych JavaScript, a nie za pośrednictwem DOM. Zrozumienie różnicy między tymi technologiami jest fundamentalne, aby uniknąć nieporozumień w programowaniu oraz zapewnić poprawne funkcjonowanie aplikacji. Typowe błędy myślowe obejmują mylenie pojęć związanych z front-endem i back-endem, co może prowadzić do błędnych wniosków na temat architektury aplikacji. Kluczowe jest, aby programiści zdawali sobie sprawę, że każdy komponent aplikacji ma swoje specyficzne zadania i odpowiedzialności. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 25</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="czestotliwosc-probkowania-ma-wpyw-na-c1d93b86" 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 częstość próbkowania wpływa 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. amplitudę fali dźwiękowej utworu</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. jakość cyfrowego dźwięku</span> </div> </div> </div> <div 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. jakość analogowego dźwięku</span> </div> </div> </div> <div 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. skalę głośności zapisywanego utworu</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Częstotliwość próbkowania, wyrażana w hercach (Hz), odnosi się do liczby próbek dźwięku zbieranych na sekundę w procesie cyfryzacji sygnału audio. Im wyższa częstotliwość próbkowania, tym więcej szczegółów dźwiękowych jest uchwyconych, co bezpośrednio wpływa na jakość cyfrowego dźwięku. Standardowe częstotliwości próbkowania to 44,1 kHz, stosowane w płytach CD, oraz 48 kHz, powszechnie używane w filmach. Wyższe częstotliwości, jak 96 kHz czy 192 kHz, są stosowane w profesjonalnych studiach nagraniowych, gdzie jakość audio jest kluczowa. W praktyce, zwiększona częstotliwość próbkowania umożliwia lepsze odwzorowanie wysokich tonów oraz bardziej precyzyjne oddanie niuansów dźwięku, co jest istotne w produkcji muzycznej. Warto jednak zauważyć, że zbyt wysoka częstotliwość próbkowania może prowadzić do nadmiernego obciążenia systemu oraz zwiększenia rozmiaru plików audio, co wymaga równowagi między jakością a wydajnością. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 26</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="po-wykonaniu-kodu-php-zostanie-wyswietlona-aktualn-2006fc54" 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>Po wykonaniu kodu PHP zostanie wyświetlona obecna data, zawierająca jedynie <table style="border: 2px solid black; border-collapse: collapse;"><tr><td style="border: 1px solid black; padding: 10px; font-family: monospace;">echo date("Y");</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. dzień oraz miesiąc</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. rok</span> </div> </div> </div> <div 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. dzień</span> </div> </div> </div> <div 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. miesiąc i rok</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Funkcja date w PHP jest super przydatna, bo pozwala na ładne formatowanie daty i godziny. Jak podasz argument Y, to dostaniesz czterocyfrowy rok, co jest zgodne z ISO 8601. To ważne, bo w różnych systemach, jak bazy danych czy księgowość, musisz mieć jasność, który rok jest właściwy. W PHP sporo osób korzysta z tej funkcji, żeby dynamicznie wyciągać datę – to świetne, zwłaszcza gdy tworzysz raporty czy logujesz różne zdarzenia w aplikacjach webowych. Warto też pamiętać, że date Y to tylko jedna z wielu opcji, jakie masz w PHP. Programiści mają dużą swobodę w dobieraniu formatu daty, co daje im możliwość dostosowania wszystkiego do potrzeb projektu. A dobrze sformatowane daty są nie tylko zgodne ze standardami, ale też ułatwiają życie użytkownikom końcowym, bo są jasne i jednoznaczne. </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="co-bedzie-wynikiem-po-wywoaniu-przedstawionego-sk-1585aaf8" 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 będzie rezultat po uruchomieniu podanego skryptu? ```php class Owoc { function __construct() { echo "test1"; } function __destruct() { echo "test2"; } } $gruszka = new Owoc(); ```</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. Pojawią się oba teksty: „test1” i „test2”</span> </div> </div> </div> <div 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. Nie pojawi się żaden tekst</span> </div> </div> </div> <div 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. Pojawi się wyłącznie tekst „test2”</span> </div> </div> </div> <div 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. Pojawi się jedynie tekst „test1”</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Dobra robota! Odpowiedź, którą wybrałeś, jest właściwa. Jak tworzysz obiekt klasy Owoc, to naprawdę wywołujesz metodę __construct(), która zajmuje się tym, żeby obiekt był gotowy do działania. W tym przypadku, gdy to się dzieje, na ekranie pojawia się 'test1'. Ale warto też pamiętać, że kiedy skrypt kończy swoje działanie albo obiekt jest usuwany, wtedy uruchamia się metoda __destruct(), która wypisuje 'test2'. Więc kiedy tworzysz obiekt $gruszka, to na konsoli najpierw zobaczysz 'test1', a później, po zakończeniu działania skryptu, jak np. przeładowujesz stronę, dostaniesz 'test2'. To całkiem fajnie pokazuje, jak ważne jest zrozumienie, jak działają obiekty w PHP i co się z nimi dzieje przez cały czas. Wiesz, że znajomość tych mechanizmów to klucz do sukcesu, szczególnie w większych projektach, gdzie zarządzanie różnymi zasobami ma znaczenie dla wydajności. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 28</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-jezyku-javascript-zdefiniowano-obiekt-aby-dalej-a66c9576" 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 JavaScript utworzono obiekt. Jak zmienić wartość właściwości x tego obiektu w dalszej części kodu? <table style="border: 2px solid black; border-collapse: collapse;"><tr><td style="border: 1px solid black; padding: 10px; font-family: monospace;">var obiekt1 = {<br> x: 0,<br> y: 0,<br> wsp: function() { … }<br>}</td></tr></table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. wsp.x = …</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. obiekt1.x = …</span> </div> </div> </div> <div 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. obiekt1::x = …</span> </div> </div> </div> <div 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 = …</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> JavaScript to fajny język, który pozwala na pracę z obiektami, a właściwie to obiekty są jego podstawą. Chodzi o to, że można w nich przechowywać różne dane w formie par klucz-wartość. Gdy chcesz zmienić jakąś właściwość obiektu, używasz notacji kropkowej. To z pozoru proste, ale bardzo praktyczne. Po prostu wpisujesz nazwę obiektu, kropkę i nazwę właściwości, którą chcesz edytować. Na przykład mamy obiekt o nazwie obiekt1 i właściwość x. Żeby zmienić wartość x, piszesz obiekt1.x, a potem przypisujesz nową wartość. To wszystko jest zgodne z zasadami ECMAScript, które mówią, jak powinno się pracować z obiektami w JavaScript. Takie podejście jest nie tylko jasne, ale również umożliwia szybkie wskazanie, co dokładnie zmieniasz. W praktyce fajnie jest pokazać to na przykładzie, jak np. chcesz zaktualizować imię użytkownika w obiekcie, to robisz coś takiego: user.name = 'Jan'. </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="jak-nazywa-sie-edytor-wspomagajacy-tworzenie-stro-ee106ef9" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Jak nazywa się edytor, który wspiera proces tworzenia stron internetowych i którego działanie można opisać w polskim tłumaczeniu jako "otrzymujesz to, co widzisz"?</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. WEB STUDIO</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. WYSIWYG</span> </div> </div> </div> <div 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. IDE</span> </div> </div> </div> <div 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. VISUAL EDITOR</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> IDE, czyli zintegrowane środowisko programistyczne, to narzędzie, które wspomaga programistów w pisaniu kodu, debugowaniu i kompilacji aplikacji. IDE oferuje zaawansowane funkcje, takie jak podpowiedzi składni, integracja z systemami kontroli wersji oraz narzędzia do analizy kodu, jednak nie jest to narzędzie WYSIWYG. Głównym celem IDE jest ułatwienie pracy programistom, a nie wizualne projektowanie stron internetowych. WEB STUDIO to termin ogólny, który może odnosić się do różnych platform i narzędzi do tworzenia stron internetowych, ale nie jest on powszechnie uznawany za standardowy termin w branży. Nie ma on jednoznacznego znaczenia i nie wskazuje na edytor WYSIWYG, co wprowadza w błąd. VISUAL EDITOR, mimo że brzmi podobnie, także nie jest konkretnym terminem odnoszącym się do edytora WYSIWYG. Może być używany w różnych kontekstach, aby opisać edytory wizualne, jednak nie ma takiej samej rozpoznawalności jak termin WYSIWYG, co prowadzi do nieporozumień. W podsumowaniu, IDE, WEB STUDIO oraz VISUAL EDITOR nie oddają w pełni funkcji edytora WYSIWYG, który jest dedykowany do kreacji stron internetowych w sposób wizualny. </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="fragment-kodu-w-jezyku-php-wypisze-4eeede25" 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>Poniższy fragment kodu w PHP wyświetli <table style="border: 2px solid black; border-collapse: collapse; margin-bottom: 20px;"> <tr> <td style="border: 1px solid black; padding: 10px; font-family: monospace;"> $n = 'adres@host.pl';<br> $dl = strlen($n);<br> $i = 0;<br> while($i < $dl && $n[$i] != '@')<br> {<br> echo $n[$i];<br> $i++;<br> } </td> </tr> </table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. samą nazwę domeny, czyli "host.pl"</span> </div> </div> </div> <div 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 konta z symbolem @, czyli "adres@"</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. tylko nazwę konta, czyli "adres"</span> </div> </div> </div> <div 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. cały adres e-mail, czyli "adres@host.pl"</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Powyższy fragment kodu w języku PHP ma za zadanie wyodrębnić i wypisać nazwę konta z adresu e-mail. Kod definiuje ciąg znaków zawierający pełny adres e-mail i używa pętli while do iteracji przez każdy znak tego ciągu aż do napotkania znaku '@'. Pętla while działa, dopóki indeks i jest mniejszy niż długość ciągu $n oraz bieżący znak $n[$i] nie jest '@'. W każdej iteracji echo wypisuje bieżący znak, a zmienna i jest inkrementowana. Dzięki temu kod wypisuje wszystkie znaki przed '@', co w tym przypadku jest nazwą konta 'adres'. Takie podejście jest powszechnie stosowane w podstawowym przetwarzaniu tekstu, gdzie potrzebna jest iteracja przez ciąg znaków. W praktyce, w aplikacjach webowych, takie operacje są często wykonywane na danych wejściowych użytkownika, aby wyodrębnić specyficzne części danych, takie jak nazwa użytkownika z e-maila. Jest to również zgodne z zasadami przetwarzania stringów w PHP, gdzie manipulacja tekstem odbywa się z wykorzystaniem indeksów i pętli. </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="witryna-internetowa-ma-miec-przedstawiona-struktu-b4aee47b" 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>Witryna internetowa powinna mieć zaprezentowaną strukturę bloków. Aby osiągnąć ten układ, należy przypisać sekcjom odpowiednie właściwości w następujący sposób:</p> <figure class="figure mt-3"> <img src="/images/11286.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. float wyłącznie dla bloku 5; clear dla bloku 2</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. float tylko dla bloku 2; clear dla bloków: 3, 4</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. float tylko dla bloków: 2, 3, 4; clear dla bloku 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. float tylko dla bloków: 3, 4; clear dla bloku 5</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Żeby osiągnąć układ, który widzisz w pytaniu, musisz dobrze zrozumieć, jak działają właściwości CSS float i clear. Właściwość float umożliwia przesunięcie elementów w lewo lub w prawo w stosunku do ich kontenera oraz innych elementów. To jest przydatne do tworzenia układów kolumnowych. W tym przypadku bloki 2, 3 i 4 muszą być przesunięte w prawo, żeby ułożyły się obok siebie na poziomie. Blok 2 jest największy i pełni rolę ramki dla pozostałych bloków. Użycie float dla tych bloków daje oczekiwany efekt. Jednak żeby blok 5 znalazł się pod całą strukturą, musisz zastosować clear dla bloku 5. Dzięki temu clear, blok 5 nie będzie otoczony przez inne elementy z float i znajdzie się poniżej. Z mojego doświadczenia, praktyczne wykorzystanie float i clear jest świetne, bo pozwala na tworzenie responsywnych układów bez potrzeby sięgania po bardziej skomplikowane metody jak flexbox czy grid. Choć float nie jest już tak powszechnie stosowany w profesjonalnych projektach, dobrze jest znać jego działanie i ograniczenia, żeby lepiej rozumieć ewolucję CSS oraz móc pracować z kodem, który jeszcze wykorzystuje te klasyczne metody. </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="poprzez-deklaracje-var-xtrue-w-jezyku-javiescr-42aec670" 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>Deklarując var x="true"; w języku JavaScript, jakiego typu zmienną się tworzy?</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. Logicznego</span> </div> </div> </div> <div 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. Liczbowego</span> </div> </div> </div> <div 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. Nieokreślonego (undefined)</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. String (ciąg znakó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ź 'String (ciąg znaków)' jest poprawna, ponieważ w języku JavaScript zmienna zadeklarowana za pomocą 'var x="true";' przechowuje wartość typu tekstowego. Wartość 'true' jest traktowana jako ciąg znaków, ponieważ jest umieszczona w cudzysłowie. JavaScript jest językiem dynamicznie typowanym, co oznacza, że typ zmiennej jest określany w momencie przypisania wartości. W praktyce, ciągi znaków są powszechnie używane w programowaniu webowym do reprezentacji danych, takich jak teksty, komunikaty, a także do przetwarzania informacji z formularzy. Dobre praktyki obejmują użycie cudzysłowów pojedynczych lub podwójnych do definiowania ciągów, a także unikanie mieszania typów, co może prowadzić do błędów. Ważne jest, aby zawsze być świadomym typu danych, z którymi pracujemy, aby uniknąć nieoczekiwanych wyników w kodzie. Zrozumienie, jak JavaScript interpretuje różne typy danych, jest kluczowe dla efektywnego programowania oraz debugowania 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 33</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="testy-wydajnosciowe-maja-na-celu-sprawdzenie-400f3051" 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>Celem testów wydajnościowych jest ocena</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. zdolności programu do funkcjonowania w sytuacjach, gdy sprzęt działa niepoprawnie</span> </div> </div> </div> <div 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. zdolności programu do funkcjonowania w sytuacjach, gdy system działa niepoprawnie</span> </div> </div> </div> <div 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. ciągu zdarzeń, w którym prawdopodobieństwo danego zdarzenia zależy tylko od wyniku zdarzenia wcześniejszego</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. stopnia, w jakim system lub moduł spełnia wymagania dotyczące wydajności</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Testy wydajnościowe są kluczowym elementem procesu zapewnienia jakości oprogramowania, mającym na celu ocenę zdolności systemu lub modułu do spełnienia określonych wymagań wydajnościowych. Ich głównym celem jest zmierzenie, jak system radzi sobie w warunkach obciążenia, a także w różnych scenariuszach użytkowania. W ramach testów wydajnościowych analizuje się takie parametry jak czas reakcji, przepustowość oraz zasoby zużywane przez aplikację. Praktycznym przykładem może być testowanie aplikacji internetowej w warunkach, gdy korzysta z niej wielu użytkowników jednocześnie, co pozwala ocenić, jak skaluje się system. W kontekście standardów, organizacje często odnoszą się do metodologii takich jak Performance Testing Framework, a także do narzędzi jak JMeter czy LoadRunner, które umożliwiają automatyzację procesu testowania. Testy te pomagają w identyfikacji wąskich gardeł, które mogą wpływać na wydajność, co przekłada się na lepsze doświadczenia użytkowników oraz minimalizację kosztów związanych z utrzymaniem systemu. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 34</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="za-pomoca-jezyka-php-nie-jest-mozliwe-85baa9eb" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W języku PHP nie można 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-success bg-opacity-10 border-success text-success "> <div class="flex-grow-1"> <span>A. Dynamicznej zmiany treści strony HTML w przeglądarce</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. Obsługiwania danych z formularzy</span> </div> </div> </div> <div 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. Operacji na danych zgromadzonych w bazie danych</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. Tworzenia dynamicznej treści strony</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Zmienianie dynamiczne zawartości strony HTML w przeglądarce nie jest możliwe za pomocą języka PHP, ponieważ PHP jest językiem skryptowym działającym po stronie serwera. Oznacza to, że PHP generuje kod HTML, który jest następnie przesyłany do przeglądarki, ale nie ma możliwości modyfikacji tego kodu po jego załadowaniu. Przykładowo, gdy użytkownik wypełnia formularz na stronie i przesyła dane, PHP może przetworzyć te dane na serwerze, ale wszelkie zmiany muszą być wysłane do przeglądarki jako nowa strona lub w odpowiedzi Ajax. W praktyce oznacza to, że dla dynamicznych interakcji na stronie, takich jak zmiana zawartości bez przeładowania, stosuje się JavaScript, który działa po stronie klienta i jest odpowiedzialny za manipulację DOM. W kontekście dobrych praktyk, warto pamiętać o rozdzieleniu logiki przetwarzania danych (PHP) i interakcji użytkownika (JavaScript), co prowadzi do bardziej modułowych i łatwych w utrzymaniu 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 35</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-jezyku-css-zdefiniowano-formatowanie-p-i-co-c3db6175" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W CSS zapisano stylizację ```css p > i {color: blue} ``` oznacza to, że kolorem niebieskim zostanie wyświetlony</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. wszystkie teksty nagłówków, niezależnie od formatowania</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. pochylony tekst akapitu</span> </div> </div> </div> <div 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. pogrubiony tekst akapitu</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. cały tekst akapitu, niezależnie od jego stylizacji</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Wszystkie inne odpowiedzi są niepoprawne z kilku powodów. Izolowanie tekstu paragrafu jako całości w odpowiedzi sugeruje, że cała zawartość elementu <p> byłaby stylizowana na niebiesko, co jest błędne, ponieważ selektor CSS wskazuje na tylko konkretne elementy wewnątrz <p>, a nie na całe jego wnętrze. Tekst kursywy, oznaczony przez <i>, to specyficzna część tekstu, która jest stylizowana, a nie cały tekst paragrafu. Pogrubiony tekst, oznaczony przez <b>, również pozostanie w swoim standardowym stylu, ponieważ nie jest objęty regułą CSS. Druga odpowiedź, dotycząca całego tekstu nagłówków, również jest niepoprawna, ponieważ nagłówki, takie jak <h1>, <h2> itd., nie są w ogóle związane z tym selektorem CSS, który odnosi się wyłącznie do paragraficznych elementów <p> i ich dzieci. Wreszcie, idea, że pogrubiony tekst paragrafu miałby być zmieniony na niebieski, również nie znajduje potwierdzenia w definicji selektora. Selektor CSS, jak w tym przypadku, działa na podstawie hierarchii i struktury dokumentu, a nie na ogólnym formacie tekstu. Wyjaśniając te kwestie, możemy zrozumieć, jak działa kaskadowe stylowanie i jak precyzyjne są selektory w CSS, co jest kluczowe dla efektywnego projektowania 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 36</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="programista-napisa-w-jezyku-c-petle-ktora-mia-fbdc92bf" 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>Programista stworzył pętlę w języku C++ mającą na celu obliczenie wartości 5! (5! = 1 * 2 * 3 * 4 * 5). Niestety, popełnił błąd logiczny polegający na tym, że <table style="border: 2px solid black; border-collapse: collapse;"><tr><td style="border: 1px solid black; padding: 10px; font-family: monospace;"><span style="color: blue;">int</span> a = <span style="color: red;">1</span>;<br><span style="color: blue;">for</span> (<span style="color: blue;">int</span> i = <span style="color: red;">1</span>; i < <span style="color: magenta;">5</span>; i++)<br>{<br> a = a * i;<br>}<br><span style="color: green;">cout</span> << a;</td></tr></table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>A. w drugim warunku pętli powinno być porównanie i < 6 zamiast i < 5</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. zmienna a powinna być ustawiona na 0 zamiast 1</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. parametr i pętli powinien być inicjowany wartością 0, a nie 1</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. parametr i pętli powinien być zmniejszany zamiast zwiększany</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Podczas analizy błędów w pętli for jednym z kluczowych aspektów jest poprawne inicjowanie i aktualizowanie zmiennych sterujących oraz warunków zakończenia pętli. W kontekście obliczania silni 5 trzeba zwrócić uwagę na to, że inicjowanie zmiennej a wartością 0 zamiast 1 spowodowałoby, że wszystkie mnożenia dadzą wynik 0, co jest fundamentalnym błędem w logice obliczeń silni. Zmienna powinna startować od wartości 1, aby mnożenie było poprawne. Zainicjowanie parametru i wartością 0 zamiast 1 również prowadziłoby do niepoprawnych rezultatów, ponieważ mnożyłoby przez 0 w pierwszej iteracji, co skutkowałoby, że cała silnia wynosiłaby 0. To typowy błąd związany z niewłaściwym zakresem iteracji. Natomiast zmiana w kierunku dekrementacji zamiast inkrementacji nie ma sensu w kontekście tego zadania, gdzie celem jest sekwencyjne przemnożenie przez kolejne liczby naturalne do 5. Takie podejście jest błędne, ponieważ nie odwzorowuje poprawnego algorytmu obliczania silni. Rozumienie poprawnych zakresów i logicznych schodków iteracji w pętlach to kluczowy element w zapobieganiu tego typu błędom i osiąganiu zamierzonych wyników w algorytmach obliczeniowych. Warto pamiętać, że dbanie o poprawność warunków iteracyjnych jest nieodzowne w praktyce programistycznej, aby zapewnić niezawodność i poprawność działania kodu w różnych scenariuszach testowych i produkcyjnych. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 37</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-ms-sql-server-polecenie-restore-database-suzy-b549894e" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W MS SQL Server komenda RESTORE DATABASE jest używana do</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. usunięcia bazy danych z serwera centralnego subskrybenta</span> </div> </div> </div> <div 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. rekonstrukcji bazy danych na podstawie danych buforowanych</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. zaktualizowania bazy danych z weryfikacją więzów integralności</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. przywrócenia bazy danych z kopii zapasowej</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-danger mb-0"> Odpowiedzi, które wskazują na inne funkcje polecenia RESTORE DATABASE, nie uwzględniają kluczowej roli, jaką odgrywa ono w odtwarzaniu bazy danych z kopii zapasowej. Przykładowo, odświeżenie bazy danych z kontrolą więzów integralności sugeruje, że polecenie to zajmuje się aktywnym zarządzaniem danymi i ich integralnością, co jest mylnym zrozumieniem jego funkcji. Kontrola integralności danych jest istotna, ale nie jest bezpośrednio związana z procesem przywracania bazy. Inna niepoprawna koncepcja odnosi się do przebudowywania bazy danych w oparciu o buforowane dane, co sugeruje, że można modyfikować strukturę bazy w oparciu o dane przechowywane w pamięci operacyjnej. Takie podejście jest błędne, ponieważ przywracanie bazy danych z kopii zapasowej ma na celu przywrócenie jej dokładnego stanu, a nie zmianę. Wreszcie, usunięcie bazy danych z serwera subskrybenta nie ma żadnego związku z poleceniem RESTORE DATABASE, które jest używane do odtwarzania, a nie usuwania. Te mylne interpretacje mogą prowadzić do poważnych błędów w zarządzaniu bazami danych, dlatego kluczowe jest, aby zrozumieć konkretne funkcje i zastosowania polecenia w kontekście administracji baz danych. </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 38</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="za-pomoca-ktorego-sowa-kluczowego-deklaruje-sie-z-0e6c8e52" 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 słowem kluczowym można zainicjować zmienną w JavaScript?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. instanceof</span> </div> </div> </div> <div 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. variable</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. var</span> </div> </div> </div> <div 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. new</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 JavaScript, deklaracja zmiennej przy użyciu słowa kluczowego 'var' jest jednym z podstawowych i fundamentalnych aspektów programowania. Słowo kluczowe 'var' umożliwia tworzenie zmiennych, które mogą przechowywać wartości zarówno typu prymitywnego, jak i obiektowego. Wartością dodaną użycia 'var' jest to, że zmienne zadeklarowane w ten sposób mają zasięg funkcji, co oznacza, że są dostępne w obrębie funkcji, w której zostały zadeklarowane, jak również w zasięgu globalnym, jeśli zostały zdefiniowane poza funkcją. Przykład użycia 'var': var liczba = 10; zmienna 'liczba' jest teraz dostępna w obrębie całej funkcji. Warto również zauważyć, że w nowszych standardach JavaScript, takich jak ECMAScript 6, wprowadzono dodatkowe słowa kluczowe takie jak 'let' i 'const', które oferują bardziej precyzyjny zasięg blokowy i zwiększają bezpieczeństwo kodu. 'Var' pozostaje jednak ważnym elementem do zrozumienia dla każdego programisty JavaScript, ponieważ jest fundamentem, na którym opiera się wiele starszych i nadal używanych skryptó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 39</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="ktorym-poleceniem-mozna-wyswietlic-konfiguracje-se-5daa87dc" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Jakie polecenie umożliwia pokazanie konfiguracji serwera PHP, w tym między innymi informacji o: wersji PHP, systemie operacyjnym serwera oraz wartościach przedefiniowanych zmiennych?</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. echo phpversion();</span> </div> </div> </div> <div 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. phpcredits();</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. phpinfo();</span> </div> </div> </div> <div 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. print_r(ini_get_all());</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Funkcja phpinfo() jest najczęściej używanym narzędziem w ekosystemie PHP do wyświetlania szczegółowych informacji dotyczących konfiguracji serwera PHP. Umożliwia uzyskanie dostępu do kluczowych danych, takich jak wersja PHP, informacje o systemie operacyjnym, wartości przedefiniowanych zmiennych, a także wiele innych ustawień konfiguracyjnych. Dzięki temu narzędziu deweloperzy mogą szybko zdiagnozować problemy związane z konfiguracją, a także zrozumieć, jakie moduły PHP są zainstalowane i aktywne. Przykładowo, uruchamiając skrypt z tą funkcją na stronie internetowej, automatycznie generowany jest szczegółowy raport w formie HTML, co ułatwia odczyt i zrozumienie. Standardy branżowe wskazują, że korzystanie z phpinfo() powinno być ograniczone do środowisk rozwijających, ponieważ ujawnia to wiele informacji o serwerze, co w kontekście bezpieczeństwa może stanowić ryzyko. W praktyce, dobrze jest również stosować funkcję w lokalnych środowiskach deweloperskich, by monitorować i weryfikować zmiany w konfiguracji serwera podczas pracy nad projektem. </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="baza-danych-zawiera-tabele-o-nazwie-pracownicy-o-6c8a5c58" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Baza danych zawiera tabelę pod nazwą pracownicy, która ma pola: nazwisko, imię, pensja oraz wiek. Jak brzmi składnia zapytania, aby obliczyć średnią pensję pracowników?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. select VAR(pensja) from nazwisko</span> </div> </div> </div> <div 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 AVG(nazwisko) into pensja</span> </div> </div> </div> <div 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 VAR(pracownicy) into pensja</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. select AVG(pensja) from pracownicy</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-success mb-0"> Aby obliczyć średnią pensję pracowników w tabeli 'pracownicy', używamy funkcji agregującej AVG, która zwraca średnią wartość dla podanego pola. W kontekście SQL, składnia polecenia 'select AVG(pensja) from pracownicy' jest poprawna, ponieważ wskazuje, że chcemy obliczyć średnią z kolumny 'pensja' w tabeli 'pracownicy'. Funkcje agregujące, takie jak AVG, SUM, COUNT, MIN i MAX, są fundamentalne w analizie danych, ponieważ umożliwiają zestawienie wyników w sposób zrozumiały i zwięzły. Przydatność funkcji AVG można zauważyć w praktyce, gdy potrzebujemy ocenić wynagrodzenia w firmie, co może wpłynąć na decyzje dotyczące polityki płacowej. Przykładowo, w przypadku tabeli z danymi o wynagrodzeniach, takie zapytanie zwraca pojedynczą wartość – średnią pensję, co pozwala na szybkie zrozumienie sytuacji finansowej firmy. Zgodnie z standardami SQL, polecenia muszą być formułowane w sposób, który jasno określa zarówno źródło danych, jak i sposób ich agregacji, co zostało spełnione w tej odpowiedzi. </div> </div> </article> <!-- Przyciski nawigacyjne --> <div class="d-grid gap-2 mt-4"> <div class="d-inline-block mb-2"> <a href="/egzamin/?profession=technik-programista&qualification=inf-03" class="btn btn-outline-primary"> <i class="fas fa-redo me-2"></i>Rozpocznij nowy egzamin </a> </div> <div class="d-inline-block"> <a href="/" class="btn btn-outline-secondary"> <i class="fas fa-home me-2"></i>Powrót do strony głównej </a> </div> </div> </div> </div> </div> </main> <!-- Footer --> <footer class="footer mt-auto py-4"> <div class="container"> <div class="row"> <!-- About Section --> <div class="col-lg-4 footer-section"> <h2 class="h5">O Egzaminach Zawodowych</h2> <p> Portal z kompleksową bazą pytań egzaminacyjnych dla uczniów szkół technicznych. Przygotuj się do egzaminu zawodowego z naszymi materiałami. </p> </div> <!-- Popular Qualifications --> <div class="col-lg-4 footer-section"> <h2 class="h5">Losowe kwalifikacje</h2> <div class="row"> <div class="col-6"> <a href="/technik-hotelarstwa/HGT.03/" class="footer-link"> <span>HGT.03</span> <small class="text-muted">(579)</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="/technik-archiwista/EKA.02/" class="footer-link"> <span>EKA.02</span> <small class="text-muted">(514)</small> </a> </div> <div class="col-6"> <a href="/technik-reklamy/PGF.07/" class="footer-link"> <span>PGF.07</span> <small class="text-muted">(137)</small> </a> </div> <div class="col-6"> <a href="/technik-transportu-drogowego/TDR.01/" class="footer-link"> <span>TDR.01</span> <small class="text-muted">(412)</small> </a> </div> <div class="col-6"> <a href="/technik-informatyk/INF.02/" class="footer-link"> <span>INF.02</span> <small class="text-muted">(3 414)</small> </a> </div> <div class="col-6"> <a href="/technik-usug-kelnerskich/HGT.01/" class="footer-link"> <span>HGT.01</span> <small class="text-muted">(268)</small> </a> </div> <div class="col-6"> <a href="/technik-technologii-zywnosci/SPC.03/" class="footer-link"> <span>SPC.03</span> <small class="text-muted">(225)</small> </a> </div> <div class="col-6"> <a href="/technik-budownictwa/BUD.08/" class="footer-link"> <span>BUD.08</span> <small class="text-muted">(142)</small> </a> </div> <div class="col-6"> <a href="/technik-wiertnik/GIW.12/" class="footer-link"> <span>GIW.12</span> <small class="text-muted">(140)</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>