Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 1 maja 2026 22:56
  • Data zakończenia: 1 maja 2026 23:08

Egzamin zdany!

Wynik: 38/40 punktów (95,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

W MS SQL Server rola predefiniowana o nazwie dbcreator umożliwia użytkownikowi

A. wykonywanie wszelkich operacji na serwerze i posiadanie praw do każdej bazy
B. zarządzanie plikami na dysku
C. tworzenie, modyfikowanie, usuwanie oraz przywracanie bazy danych
D. zarządzanie bezpieczeństwem systemu
Rola dbcreator w MS SQL Server rzeczywiście pozwala użytkownikowi na tworzenie, modyfikowanie, usuwanie i odzyskiwanie baz danych. Użytkownicy, którzy mają przypisaną tę rolę, mogą łatwo zarządzać bazami danych w danym serwerze, co jest kluczowe w środowiskach, gdzie bazy danych muszą być regularnie aktualizowane lub tworzone od podstaw. Przykładowo, w przypadku rozwijania aplikacji biznesowej, programista może korzystać z tej roli do tworzenia nowych baz danych na potrzeby testów, co pozwala na szybkie wdrażanie oraz iterację w procesie rozwoju oprogramowania. W praktyce, przypisanie roli dbcreator powinno być stosowane z uwagą, aby ograniczyć do minimum dostęp do krytycznych operacji tylko dla zaufanych użytkowników. Dobre praktyki sugerują regularne przeglądanie i audyt przypisania ról oraz monitorowanie działań użytkowników, aby zapobiegać nieautoryzowanym zmianom w strukturze baz danych.

Pytanie 2

Określ złożoność obliczeniową algorytmu naiwnego (zwykłego) poszukiwania minimum w kolekcji liczb?

A. O(n)
B. O(n!)
C. O(n2)
D. O(n3)
Algorytm naiwnego (zwykłego) wyszukiwania minimum w zbiorze liczb charakteryzuje się złożonością obliczeniową O(n), co oznacza, że jego czas wykonania rośnie liniowo w zależności od liczby elementów w zbiorze. W praktyce oznacza to, że aby znaleźć najmniejszy element w zbiorze liczb, algorytm przeszukuje wszystkie elementy, porównując je ze sobą. W przypadku zbioru zawierającego n elementów, konieczne jest wykonanie n-1 porównań, co skutkuje liniową złożonością. Wyszukiwanie minimum jest użyteczne w wielu aplikacjach, takich jak analiza danych, gdzie może być wykorzystywane do szybkiego lokalizowania najniższej wartości w zestawie wyników. Dobrymi praktykami w tym zakresie są stosowanie tego algorytmu w sytuacjach, gdy zbiór danych jest relatywnie mały lub gdy zależy nam na prostocie i czytelności kodu. Złożoność O(n) jest optymalna dla tego typu operacji, ponieważ nie da się znaleźć minimum bez przeszukania każdego elementu przynajmniej raz, co potwierdza zasadę, że konieczne jest zbadanie wszystkich danych w celu uzyskania poprawnego wyniku.

Pytanie 3

Która metoda JavaScript służy do dodawania nowego elementu na końcu tablicy?

A. unshift()
B. push()
C. pop()
D. shift()
Metoda <code>push()</code> w JavaScript jest odpowiedzialna za dodawanie nowych elementów na końcu tablicy. Jest to jedna z podstawowych metod manipulujących tablicami i jest szeroko stosowana w różnych projektach webowych. Przykładowo, jeśli masz tablicę zawierającą listę produktów w koszyku zakupowym, możesz użyć <code>push()</code>, aby dodać nowy produkt do tej listy. Ta metoda nie tylko dodaje element, ale także zwraca nową długość tablicy, co jest przydatne, gdy chcesz wiedzieć, ile elementów obecnie zawiera tablica. Warto również zauważyć, że <code>push()</code> modyfikuje oryginalną tablicę, co oznacza, że jest to operacja destruktywna. Użycie tej metody jest zgodne z dobrymi praktykami, ponieważ jest ona szybka i efektywna, zwłaszcza gdy potrzebujesz dynamicznie zmieniać zawartość tablicy w trakcie działania aplikacji.

Pytanie 4

W systemie baz danych hurtowni utworzono tabelę sprzedaz z polami: id, kontrahent, grupa_cenowa, obrot. Jakie polecenie należy zastosować, aby znaleźć jedynie kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000zł?

A. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 AND obrot > 4000
B. SELECT sprzedaz FROM kontrahent WHERE obrot > 4000
C. SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa = 2 AND obrot > 4000
D. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 OR obrot > 4000
Poprawna odpowiedź to 'SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 AND obrot > 4000;'. To polecenie SQL precyzyjnie spełnia wymagania postawione w pytaniu, ponieważ korzysta z operatora AND do jednoczesnego filtrowania kontrahentów w drugiej grupie cenowej oraz tych, których obrót przekracza 4000 zł. W praktyce, takie zapytanie jest niezwykle użyteczne w analizie danych w hurtowniach, umożliwiając wyodrębnienie tylko tych kontrahentów, którzy spełniają oba warunki, co jest kluczowe w procesach selekcji kontrahentów do dalszych działań marketingowych czy analizy rentowności. Warto zauważyć, że dobrym nawykiem jest dokładne określenie, które pola chcemy wyświetlić, a w tym przypadku 'kontrahent' wskazuje na konkretne dane, które są istotne dla analizy. Dodatkowo, stosowanie odpowiednich warunków w zapytaniach SQL jest zgodne z najlepszymi praktykami w zakresie optymalizacji wydajności bazy danych, ponieważ pozwala na minimalizację ilości przetwarzanych danych oraz zwiększa przejrzystość wyników.

Pytanie 5

W MS SQL Server komenda RESTORE DATABASE jest używana do

A. rekonstrukcji bazy danych na podstawie danych buforowanych
B. zaktualizowania bazy danych z weryfikacją więzów integralności
C. usunięcia bazy danych z serwera centralnego subskrybenta
D. przywrócenia bazy danych z kopii zapasowej
Polecenie RESTORE DATABASE w MS SQL Server jest kluczowe dla procesu zarządzania danymi, gdyż umożliwia odtworzenie bazy danych z wcześniej wykonanej kopii bezpieczeństwa. To fundamentalne działanie zabezpiecza przed utratą danych i zapewnia ciągłość działania aplikacji. W praktyce, gdy następuje awaria systemu lub dane zostały usunięte przez pomyłkę, administratorzy baz danych korzystają z tego polecenia, aby przywrócić bazę do stanu sprzed zdarzenia. W kontekście dobrych praktyk branżowych, regularne tworzenie kopii zapasowych oraz ich właściwe zarządzanie są kluczowe. Warto także zaznaczyć, że przywracanie bazy danych może być realizowane z pełnych kopii, a także z kopii różnicowych i przyrostowych, co daje elastyczność w zarządzaniu danymi. Ponadto, w przypadku dużych baz danych, techniki takie jak 'Point-in-Time Recovery' pozwalają na przywrócenie bazy do precyzyjnego momentu, co jest nieocenione w sytuacjach kryzysowych.

Pytanie 6

W JavaScript zdarzenie onKeydown zostanie wywołane, gdy klawisz

A. myszki będzie wciśnięty
B. klawiatury będzie wciśnięty
C. myszki będzie zwolniony
D. klawiatury będzie zwolniony
Odpowiedź, że zdarzenie onKeydown jest wywoływane, gdy klawisz klawiatury został naciśnięty, jest prawidłowa, ponieważ onKeydown jest zdarzeniem, które reaguje na pierwszą interakcję użytkownika z klawiaturą. W praktyce oznacza to, że gdy użytkownik naciśnie dowolny klawisz na klawiaturze, np. literę, cyfrę lub klawisz funkcyjny, zdarzenie onKeydown zostanie wywołane. Jest to kluczowe w kontekście tworzenia interaktywnych aplikacji webowych, ponieważ pozwala programistom na obsługę wejścia użytkownika w czasie rzeczywistym. Na przykład, w aplikacji do edycji tekstu, można wykorzystać onKeydown do aktualizacji zawartości edytora na podstawie wprowadzanego tekstu, co zapewnia płynne doświadczenie użytkownika. Dobrym przykładem zastosowania tego zdarzenia jest również implementacja gier, w których ruchy postaci lub akcje są wykonywane w odpowiedzi na naciśnięcia klawiszy. W standardach W3C dotyczących dostępu i interakcji z użytkownikiem, zdarzenie onKeydown uwzględnia również kwestie dostępności, co jest istotne dla projektowania inkluzywnych aplikacji.

Pytanie 7

W CSS określono styl dla stopki. Jak można zastosować to formatowanie do bloku oznaczonego znacznikiem div?

#stopka { ... }
A. <div title = "stopka"> …
B. <div "stopka"> …
C. <div id = "stopka"> …
D. <div class = "stopka"> …
Poprawnie – zapis #stopka w CSS oznacza selektor identyfikatora (ID), więc w HTML musimy użyć atrybutu id="stopka" dokładnie z tą samą nazwą. W CSS znak # wskazuje, że styl jest przypisany do elementu o konkretnym identyfikatorze, a nie do klasy czy czegokolwiek innego. Dlatego jedynym prawidłowym sposobem podpięcia tego stylu do bloku div jest konstrukcja: <div id="stopka">…</div>. W praktyce wygląda to tak: CSS: #stopka { background-color: #333; color: white; padding: 20px; } HTML: <div id="stopka">To jest stopka strony</div> Przeglądarka łączy selektor #stopka z elementem, który ma id="stopka" i nakłada na niego zdefiniowane właściwości. Identyfikator powinien być unikalny w obrębie całego dokumentu HTML, co jest zgodne z zaleceniami W3C i ogólnie przyjętą dobrą praktyką. Do jednego ID odwołujemy się w CSS przez #, a w JavaScript przez document.getElementById("stopka"). Moim zdaniem warto zapamiętać prostą zasadę: # w CSS = id w HTML, kropka (.) w CSS = class w HTML. Gdy projektujesz layout strony, zwykle elementy typu nagłówek, stopka, główna nawigacja mają unikalne ID, bo występują raz na stronie. Natomiast powtarzalne elementy (np. kafelki z produktami) dostają klasy. Dzięki temu kod jest czytelniejszy, łatwiej się go utrzymuje i unikamy dziwnych konfliktów stylów. Dobrą praktyką jest też używanie opisowych nazw, np. id="stopka" zamiast skrótów typu id="s1", bo po miesiącu nikt nie pamięta, co to znaczyło.

Pytanie 8

Aby strona internetowa skutecznie dopasowywała się do urządzeń mobilnych, należy ustalić rozmiar czcionki

A. w pikselach
B. w procentach
C. tylko znacznikami big i small
D. w milimetrach
Wybór w procentach jako jednostki wielkości czcionki jest właściwy, ponieważ umożliwia elastyczne dostosowanie tekstu do różnych ekranów i rozdzielczości. Użycie procentów pozwala na skalowanie w oparciu o domyślną wielkość czcionki ustawioną w przeglądarce, co jest kluczowe dla responsywności witryny. Przykładowo, jeśli domyślna wielkość czcionki wynosi 16px, to ustawienie czcionki na 150% sprawi, że będzie miała 24px, co jest szczególnie przydatne na urządzeniach mobilnych, gdzie przestrzeń jest ograniczona, a czytelność ma kluczowe znaczenie. Dodatkowo, zastosowanie procentów jest zgodne z zasadami projektowania responsywnego, które skupiają się na dostosowywaniu elementów interfejsu użytkownika do różnych urządzeń. Warto również zauważyć, że techniki takie jak media queries w CSS mogą współpracować z procentami, co pozwala na jeszcze lepsze dopasowanie wielkości czcionki do konkretnej szerokości ekranu. Pamiętajmy, że stosowanie elastycznych jednostek, takich jak procenty, jest jedną z najlepszych praktyk w tworzeniu dostępnych i przyjaznych użytkownikowi interfejsów.

Pytanie 9

Aby wykonać kopię zapasową bazy danych w MySQL, jakie polecenie należy zastosować?

A. mysqlcheck
B. mysqlreplicate
C. mysqldump
D. mysqlslap
Polecenie mysqldump jest standardowym narzędziem w systemie MySQL, które służy do tworzenia kopii zapasowych baz danych. Umożliwia on eksportowanie danych oraz struktury wszystkich tabel w postaci pliku tekstowego, co sprawia, że jest niezwykle przydatny przy przeprowadzaniu migracji, aktualizacji lub przywracania danych. Przykładowe użycie mysqldump może wyglądać następująco: 'mysqldump -u użytkownik -p nazwa_bazy_danych > kopia_zapasowa.sql', co tworzy plik o nazwie 'kopia_zapasowa.sql' zawierający wszystkie dane i strukturę wskazanej bazy. Dobrą praktyką jest regularne tworzenie kopii zapasowych, szczególnie przed wprowadzeniem istotnych zmian w schemacie bazy danych lub podczas aktualizacji systemu. Ponadto, mysqldump umożliwia także eksportowanie danych w formacie CSV, co ułatwia ich dalszą analizę lub przeniesienie do innych systemów. Warto także pamiętać, że polecenie to oferuje różnorodne opcje, takie jak --single-transaction, które zapewniają spójność danych podczas tworzenia kopii zapasowej w bazach danych o dużym ruchu.

Pytanie 10

Aby skutecznie zrealizować algorytm znajdujący największą wartość spośród trzech podanych liczb a, b oraz c, wystarczy zastosować

A. dwa warunki
B. pięć zmiennych
C. jedną pętlę
D. dwie tablice
Aby znaleźć największą z trzech liczb a, b i c, stosując dwa warunki, można wykorzystać porównania. Pierwszym krokiem jest porównanie a i b, aby ustalić, która z tych liczb jest większa. Następnie porównujemy wynik z c. To podejście jest efektywne, ponieważ wymaga jedynie dwóch porównań (warunków) do określenia największej liczby z trzech. Taka metoda jest nie tylko prosta, ale również zgodna z dobrymi praktykami programowania, które stawiają na wydajność i czytelność kodu. Przykładowy kod w języku Python może wyglądać następująco: python max_value = a if b > max_value: max_value = b if c > max_value: max_value = c Warto zwrócić uwagę, że bardziej złożone metody, takie jak stosowanie pętli czy tablic, są niepotrzebne w tym przypadku i mogą wprowadzać niepotrzebną złożoność do kodu. W codziennym programowaniu dążymy do minimalizowania liczby operacji, aby zwiększyć wydajność, szczególnie w sytuacjach, gdy mamy ograniczone zasoby obliczeniowe. Ponadto, rozważając stosowanie algorytmów, które można łatwo zrozumieć, wspieramy przyszłą konserwację i rozwój oprogramowania.

Pytanie 11

W CSS zapisano stylizację ```css p > i {color: blue} ``` oznacza to, że kolorem niebieskim zostanie wyświetlony

A. cały tekst akapitu, niezależnie od jego stylizacji
B. pochylony tekst akapitu
C. wszystkie teksty nagłówków, niezależnie od formatowania
D. pogrubiony tekst akapitu
W definicji CSS `p > i {color: blue}`, mamy do czynienia z selektorem, który odnosi się do elementów typu <i> znajdujących się bezpośrednio wewnątrz elementu <p>. Oznacza to, że wszystkie elementy <i>, które są bezpośrednimi dziećmi elementu <p>, będą miały kolor tekstu ustawiony na niebieski. Element <i> w HTML jest często używany do oznaczania tekstu kursywą, co jest zgodne z semantyką dokumentu. Użycie koloru w tym kontekście podkreśla, że zmiana koloru dotyczy tylko tych fragmentów tekstu, które są specyficznie oznaczone jako kursywa. W praktyce, jeżeli mamy paragraf zawierający tekst oraz fragmenty w kursywie, to tylko te kursywne fragmenty będą przyjmować niebieski kolor. Przykładowo, w poniższym kodzie HTML: <p>To jest <i>kursywa</i> oraz <b>pogrubienie</b>.</p>, tylko słowo 'kursywa' będzie miało kolor niebieski. Zgodność z W3C i standardami CSS zapewnia, że taki zapis będzie działał na większości przeglądarek. Warto zwrócić uwagę na hierarchię selektorów, która pozwala na precyzyjne określenie, które elementy mają być stylizowane w określony sposób.

Pytanie 12

W tabeli mieszkancy znajdują się dane o osobach z całego kraju. Aby ustalić, ile unikalnych miast występuje w tej tabeli, trzeba zapisać kwerendę

A. SELECT COUNT(miasto) FROM mieszkancy;
B. SELECT COUNT(DISTINCT miasto) FROM mieszkancy;
C. SELECT DISTINCT miasto FROM mieszkancy;
D. SELECT COUNT(miasto) FROM mieszkancy DISTINCT;
Wybór odpowiedzi "SELECT COUNT(DISTINCT miasto) FROM mieszkancy;" jest naprawdę trafny. Używasz funkcji COUNT razem z DISTINCT, co pozwala na zliczenie tylko unikalnych miast w tabeli 'mieszkancy'. Funkcja COUNT liczy wszystkie wiersze, a DISTINCT usuwa duplikaty, dzięki czemu dostajemy dokładną liczbę miast. Fajnie jest to wykorzystać, gdy analizujesz dane demograficzne – wtedy wiesz, jakie masz rozkłady w różnych miastach. W bazach danych to standardowy sposób, bo dzięki temu unikasz powielania danych i masz lepsze analizy. Ważne jest też, żeby pamiętać o wydajności zapytań; połączenie DISTINCT z COUNT może być bardziej efektywne niż próba szukania duplikatów później. No i zasady normalizacji bazy danych? One rzeczywiście pomagają w tym, żeby dane były uporządkowane, co ułatwia ich przetwarzanie i analizowanie.

Pytanie 13

W języku skryptowym JavaScript operatory: || oraz && należą do grupy operatorów

A. bitowych.
B. przypisania.
C. logicznych.
D. arytmetycznych.
Operatory || oraz && w JavaScript to klasyczne operatory logiczne. Działają na wartościach, które można zinterpretować jako prawdę lub fałsz (tzw. wartości truthy i falsy) i zwracają wynik wyrażenia logicznego. && oznacza „i” logiczne – całe wyrażenie jest prawdziwe tylko wtedy, gdy oba operandy są traktowane jako prawdziwe. || oznacza „lub” logiczne – wystarczy, że jeden z operandów jest prawdziwy, żeby całe wyrażenie było uznane za prawdę. W praktyce bardzo często wykorzystuje się je w instrukcjach warunkowych, np.: if (isLoggedIn && isAdmin) { … } albo if (isMobile || isTablet) { … }. W JavaScript te operatory mają jeszcze jedną, moim zdaniem bardzo przydatną cechę: nie zwracają po prostu true/false, tylko konkretną wartość jednego z operandów. Na przykład: const name = userName || "Gość"; – jeśli userName jest wartością „falsy” (np. pusty string, null, undefined), to do name trafi "Gość". To jest tzw. krótkie spięcie (short-circuit evaluation): przy operatorze &&, jeśli pierwszy operand jest falsy, drugi nie jest już w ogóle obliczany; przy ||, jeśli pierwszy jest truthy, drugi też nie jest sprawdzany. W dobrych praktykach front-endu wykorzystuje się to do prostego ustawiania wartości domyślnych, zabezpieczania wywołań funkcji (np. callback && callback()) oraz budowania bardziej czytelnych warunków. Warto też pamiętać o różnicy między operatorami logicznymi (&&, ||, !) a porównania (===, !==), bo to są różne grupy operatorów, chociaż często używa się ich razem w tych samych warunkach. Z mojego doświadczenia, świadome używanie tych operatorów logicznych bardzo upraszcza kod i zmniejsza liczbę if-ów rozrzuconych po skryptach.

Pytanie 14

Która lista jest interpretacją przedstawionego kodu?

<ol>
    <li>muzyka
        <ul>
            <li>Wpis1</li>
            <li>Wpis2</li>
        </ul>
    </li>
    <li>filmy
        <ul>
            <li>Wpis3</li>
            <li>Wpis4</li>
        </ul>
    </li>
</ol>
A. Lista uporządkowana z dwoma składnikami, z których każdy ma wewnętrzną listę nieuporządkowaną.
B. Lista uporządkowana z podpunktami zapisanymi w formie numeracji dziesiętnej (np. 1.1, 1.2).
C. Lista uporządkowana z sześcioma następującymi elementami.
D. Lista nieuporządkowana zawierająca wszystkie składniki, jeden za drugim.
Przedstawiony kod HTML jest przykładem zagnieżdżonych list uporządkowanych i nieuporządkowanych. Na poziomie głównym użyto listy uporządkowanej oznaczonej tagiem <ol> która tworzy listę numerowaną. Listy zagnieżdżone opisane są za pomocą tagu <ul> co oznacza listy nieuporządkowane punktowane. Wewnętrzna struktura kodu pokazuje jak zagnieżdżać listy aby tworzyć hierarchiczne struktury które są często stosowane na stronach internetowych do organizowania treści. Taka organizacja danych jest szczególnie przydatna w przypadku tworzenia menu rozwijanych lub katalogów. Aby zrozumieć prawidłowość tej struktury należy zapoznać się z zasadą zagnieżdżania elementów w HTML gdzie jeden element może zawierać inne w celu tworzenia bardziej złożonych układów. Popularnymi zastosowaniami są również generowanie drzew katalogów oraz nawigacji w witrynach. Standardy HTML sugerują takie podejście do strukturyzacji danych aby były one semantycznie poprawne a zarazem łatwe do odczytania przez przeglądarki internetowe co zwiększa ich dostępność i użyteczność. Praktyka ta jest zgodna z dobrymi praktykami projektowania webowego gdzie zrozumiałość kodu oraz jego struktura są kluczowe dla dalszego rozwoju czy utrzymania aplikacji.

Pytanie 15

Określ złożoność obliczeniową algorytmu prostego (standardowego) wyszukiwania najmniejszej wartości w zestawie liczb?

A. O(n3 )
B. O(n!)
C. O(n)
D. O(n2 )
Algorytm naiwnego wyszukiwania minimum jest dość prosty, bo jego złożoność obliczeniowa to O(n). To znaczy, że im więcej mamy elementów w zbiorze, tym dłużej trwa jego działanie, ale w prosty sposób, czyli liniowo. W praktyce algorytm przeszukuje każdy element, porównując go z innymi, co jest dosyć klasyczne i używane w wielu podstawowych programach. Na przykład, gdy programujemy w Pythonie, możemy użyć pętli do przejścia przez listę, co sprawia, że łatwo to zrozumieć. W branży programistycznej często mówimy o tym w kontekście analizy złożoności obliczeniowej, co czyni go naprawdę istotnym tematem dla każdego programisty. Moim zdaniem, zrozumienie O(n) jest kluczowe, gdy chcemy optymalizować nasz kod i oceniać, jak nasze algorytmy radzą sobie z większymi zbiorami danych. To chyba jeden z podstawowych tematów w inżynierii oprogramowania i analizie danych.

Pytanie 16

Zapis w CSS `h2 {background-color: green;}` spowoduje, że kolor zielony będzie dotyczył

A. tła tekstu nagłówka drugiego poziomu
B. tła całej witryny
C. czcionki wszystkich nagłówków na stronie
D. czcionki nagłówków drugiego poziomu
Zapis CSS 'h2 {background-color: green;}' ustawia styl dla nagłówków drugiego stopnia. Dzięki właściwości 'background-color' tło nagłówka zrobi się zielone, co oznacza, że obszar za tekstem tego nagłówka będzie miał kolor zielony. Ważne, żeby pamiętać, że to działa tylko na tło samego nagłówka, a nie na całą stronę. Na przykład, jeśli w elemencie h2 jest tekst 'Witamy na naszej stronie', to tło tego nagłówka dostaje zielony kolor. To podejście jest zgodne z CSS, które pozwala na precyzyjne stylizowanie różnych elementów w dokumencie. Można też używać różnych trybów kolorów jak RGB, HEX czy HSL, co daje jeszcze większe możliwości w projektowaniu.

Pytanie 17

Jakie polecenie wydane w terminalu systemu operacyjnego, które zawiera w swojej składni opcję --repair, pozwala na naprawę bazy danych?

A. truncate
B. mysqlcheck
C. mysqldump
D. create
Odpowiedź "mysqlcheck" jest prawidłowa, ponieważ polecenie to jest częścią systemu zarządzania bazą danych MySQL i służy do sprawdzania oraz naprawy tabel w bazach danych. Użycie opcji <b>--repair</b> pozwala na automatyczne naprawienie uszkodzonych tabel, co jest kluczowe w przypadku wystąpienia błędów spowodowanych awarią systemu czy błędami w aplikacjach. Przykładowe użycie polecenia: "mysqlcheck --repair --databases nazwa_bazy". Warto podkreślić, że regularne sprawdzanie i naprawa tabel są elementami dobrych praktyk zarządzania bazą danych, które pomagają w utrzymaniu integralności danych i dostępności systemu. Oprócz opcji naprawy, mysqlcheck oferuje także inne funkcje, takie jak optymalizacja tabel, co przyczynia się do poprawy wydajności bazy. W przypadku dużych baz danych, efektywne zarządzanie i konserwacja są kluczowe dla zapewnienia wysokiej dostępności oraz niezawodności systemu. Używanie mysqlcheck zgodnie z dokumentacją MySQL pozwala na skuteczne zajmowanie się problemami, które mogą się pojawić.

Pytanie 18

Wskaż najefektywniejszą metodę wyczyszczenia wszystkich danych z tabeli adresy, nie wpływając na jej strukturę

A. TRUNCATE TABLE adresy;
B. DELETE * FROM adresy;
C. DROP TABLE adresy;
D. DELETE TABLE adresy;
TRUNCATE TABLE adresy; jest najszybszym sposobem na usunięcie wszystkich rekordów z tabeli bez usuwania jej struktury. Operacja TRUNCATE działa na poziomie strony, co oznacza, że nie przetwarza pojedynczych wierszy, jak ma to miejsce w przypadku DELETE. Dzięki temu, TRUNCATE jest znacznie wydajniejszy, szczególnie w przypadku dużych zbiorów danych. W praktyce, użycie TRUNCATE TABLE jest zalecane, gdy chcemy szybko oczyścić tabelę z danych, a następnie wprowadzić nowe rekordy. Warto jednak pamiętać, że TRUNCATE nie wywołuje kaskadowych usunięć w tabelach powiązanych z kluczami obcymi, co może być istotne w projektowaniu bazy danych. Użycie TRUNCATE może również przywrócić licznik identyfikatorów (np. AUTO_INCREMENT w MySQL) do wartości początkowej, co jest ważnym aspektem, jeśli zależy nam na tym, by nowe dane zaczynały się od określonej wartości. Praktyka wykorzystania TRUNCATE powinna być jednak stosowana ostrożnie, szczególnie w kontekście transakcji, ponieważ operacja ta nie jest odwracalna w przypadku dużych zbiorów danych, co skontrastować należy z DELETE, które można wykorzystać w ramach transakcji i przywrócić dane, jeśli zajdzie taka potrzeba. Dlatego, TRUNCATE TABLE jest zalecaną metodą w odpowiednich scenariuszach, ale jej użycie wymaga pełnego zrozumienia kontekstu bazy danych oraz powiązań między tabelami.

Pytanie 19

Które z poniższych zdań poprawnie opisuje utworzoną tabelę?

CREATE TABLE dane (kolumna INTEGER(3));
A. Kolumny tabeli dane są nazwane: kolumna1, kolumna2, kolumna3
B. Tabela o nazwie dane składa się z trzech kolumn typu całkowitego
C. Tabela o nazwie dane ma jedną kolumnę typu całkowitego
D. Tabela zawiera jedną kolumnę, która przechowuje trzyelementowe tablice
Instrukcja CREATE TABLE w podanym przykładzie tworzy tabelę o nazwie `dane` z jedną, jedyną kolumną o nazwie `kolumna` i typie `INTEGER(3)`. Kluczowe są tu dwie rzeczy: po pierwsze, nazwa tabeli (`dane`), po drugie, lista kolumn w nawiasie. W tej liście jest tylko jedna pozycja: nazwa kolumny i jej typ danych. W SQL każda definicja kolumny to osobny wpis, oddzielany przecinkiem. Skoro nie ma przecinka, to znaczy, że jest dokładnie jedna kolumna. Zapis `INTEGER(3)` nie oznacza trzech kolumn ani tablicy, tylko typ liczbowy całkowity z określoną „szerokością wyświetlania” (w MySQL) lub po prostu liczbę całkowitą – w wielu silnikach baz danych nawias jest wręcz ignorowany. W praktyce tę kolumnę możemy potem używać np. do przechowywania wieku, liczby sztuk towaru, numeru poziomu uprawnień itp. Przykładowo: `INSERT INTO dane (kolumna) VALUES (5);` wstawi rekord z wartością 5 w tej jednej kolumnie. Z mojego doświadczenia warto przy projektowaniu tabel zawsze jasno nazywać kolumny, tak żeby z samej nazwy wynikało, co przechowują, np. `wiek`, `ilosc_sztuk`, a nie ogólne `kolumna`. Dobrą praktyką jest też od razu dodanie klucza głównego, np. `id INT AUTO_INCREMENT PRIMARY KEY`, ale w tym zadaniu skupiamy się tylko na liczbie kolumn i ich typie. To pytanie dobrze pokazuje, że w SQL struktura tabeli wynika z liczby pozycji w nawiasie, a nie z liczby w nawiasie przy typie danych.

Pytanie 20

Który z elementów HTML stanowi blokowy znacznik?

A. span
B. strong
C. img
D. p
Znacznik <p> (paragraf) jest klasyfikowany jako element blokowy, co oznacza, że zajmuje całą szerokość dostępnego miejsca w swoim kontenerze i jest renderowany na nowej linii. Elementy blokowe są fundamentalne w układzie strony internetowej, ponieważ pozwalają na strukturalne grupowanie treści w sposób, który jest zrozumiały dla przeglądarek internetowych oraz dla użytkowników. Przykłady użycia elementu <p> obejmują tworzenie akapitów w artykułach, opisów produktów, czy innych dłuższych fragmentów tekstu. Dobre praktyki wskazują, że należy stosować <p> dla tekstu, który ma być wyświetlany jako samodzielny blok, co poprawia czytelność i dostępność treści. Ponadto, zgodnie z wytycznymi W3C, stosowanie znaczników blokowych, takich jak <p>, przyczynia się do lepszej struktury dokumentu HTML oraz ułatwia jego interpretację przez roboty wyszukiwarek, co jest kluczowe w kontekście SEO. Warto również zauważyć, że w CSS można łatwo stylizować znaczniki blokowe, co daje większą kontrolę nad wyglądem i układem strony.

Pytanie 21

Po wykonaniu przedstawionego kodu PHP, w zmiennej $napis zostaje zapisany ciąg znaków.

$napis = "Programowanie w PHP";
$napis = substr($napis, 3, 5);
A. gramo
B. gr
C. og
D. ogram
W przypadku analizy funkcji substr() kluczowe jest zrozumienie jak działają indeksy i jak funkcja operuje na ciągach znaków. Przyjmowanie błędnych założeń co do indeksowania jest częstym błędem wśród programistów zwłaszcza u początkujących. Indeksy w PHP zaczynają się od zera co oznacza że pierwszy znak ciągu ma indeks 0 drugi ma indeks 1 i tak dalej. W podanym kodzie użyta jest funkcja substr() z parametrami 3 i 5 co oznacza że zaczynamy od czwartego znaku i wycinamy pięć znaków. Niepoprawne odpowiedzi mogą wynikać z braku uwzględnienia indeksowania od zera lub błędnej interpretacji długości wycinka. Przy wyborze odpowiedzi 'og' czy 'ogram' można podejrzewać pomyłkę w zrozumieniu jak działa długość wycinka oraz gdzie dokładnie zaczyna się wycinanie. Może to wynikać z błędnego wyobrażenia jak indeksy przypisują się do liter w danym ciągu. Ważne jest aby dokładnie śledzić jak indeksy przyporządkowują się do liter co pozwala na bardziej precyzyjne operowanie na napisach. Funkcja substr() jest jedną z podstawowych w PHP i jej zrozumienie jest niezbędne do efektywnego manipulowania ciągami znaków. Przy pracy z danymi tekstowymi warto stosować dobre praktyki w zakresie czytelności kodu oraz odpowiedniego nazywania zmiennych co pozwala unikać nieporozumień i zwiększa czytelność kodu.

Pytanie 22

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. nav { float: left; } aside { float: left; }
B. nav { float: right; }
C. aside {float: left; }
D. nav { float: right; } section { float: right; }
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa float, a nie tylko samo skojarzenie, że „left to lewo, right to prawo”. Wiele osób myśli, że wystarczy ustawić jeden element na lewo, drugi na prawo i wszystko magicznie się poukłada. W praktyce przeglądarka trzyma się bardzo konkretnych reguł: najpierw liczy kolejność elementów w HTML, potem dopiero stosuje float i układa je możliwie jak najwyżej i jak najbliżej odpowiedniej krawędzi. Jeśli nada się float tylko dla aside albo tylko dla nav, to zmienia się ich pozycja, ale układ trzech bloków nie spełni warunku z zadania: aside i nav nie zamienią się miejscami z pozostawieniem section w środku. Przykładowo, samo float: left na aside niczego nie „zamieni”, bo element i tak pojawia się jako pierwszy w kodzie, więc będzie u góry, tylko że „przyklejony” do lewej. Z kolei ustawienie nav na prawą stronę bez odpowiedniego floatowania section prowadzi do sytuacji, gdzie section nadal zachowuje się jak normalny blok, zwykle ląduje pod elementami pływającymi albo obok nich w sposób mało przewidywalny dla początkującego. Częsty błąd myślowy polega też na tym, że ktoś próbuje wszystkim elementom dać float: left, licząc na to, że przeglądarka „ułoży je po swojemu”. Wtedy jednak wszystkie te bloki ustawiają się w jednym kierunku, w kolejności z HTML, więc nie ma mowy o świadomym „zamienianiu miejsc”. Brak zrozumienia, że float wyjmuje element z normalnego przepływu i wpływa na to, jak kolejne elementy zawijają się wokół niego, prowadzi właśnie do takich błędnych odpowiedzi. Z mojego doświadczenia lepiej jest najpierw narysować sobie prosty schemat: w jakiej kolejności idą znaczniki i które z nich mają pływać w prawo, a które zostać w naturalnym układzie. Dopiero wtedy dobiera się konkretne deklaracje CSS. Takie myślenie przydaje się nie tylko przy float, ale też przy nauce flexboxa czy grida, gdzie kolejność w DOM i własności układu też grają ogromną rolę.

Pytanie 23

Jakie funkcje należy najpierw wywołać, aby aplikacja PHP mogła nawiązać połączenie z bazą danych?

A. mysql_create_db
B. mysqli_connect
C. mysql_select_db
D. mysqli_close
Odpowiedź 'mysqli_connect' jest prawidłowa, ponieważ to właśnie ta funkcja jest pierwszym krokiem w nawiązywaniu połączenia z bazą danych w PHP. Funkcja ta przyjmuje parametry takie jak nazwa hosta, użytkownik, hasło oraz nazwa bazy danych, co pozwala na zbudowanie komunikacji między aplikacją a bazą danych. Dzięki temu, programista uzyskuje dostęp do danych przechowywanych w bazie, co jest kluczowe dla dynamicznych aplikacji webowych. Przykład użycia tej funkcji to: $link = mysqli_connect('localhost', 'username', 'password', 'database_name');. Warto pamiętać, że dobrym zwyczajem jest również sprawdzenie, czy połączenie zostało nawiązane poprawnie, co można zrobić za pomocą instrukcji if, aby uniknąć błędów w działaniu aplikacji. W kontekście najlepszych praktyk, ważne jest, aby unikać używania przestarzałych funkcji, takich jak mysql_connect, które nie obsługują nowoczesnych standardów bezpieczeństwa. Użycie mysqli_connect zapewnia większą funkcjonalność i bezpieczeństwo, a także jest zgodne z aktualnymi standardami programowania w PHP.

Pytanie 24

Do grupowania elementów w blok, można użyć znacznika

A. <p>
B. <span>
C. <div>
D. <param>
Poprawnie wskazany znacznik to <div>, bo właśnie on w HTML służy do ogólnego grupowania elementów w blok. <div> jest elementem blokowym (block-level), co oznacza, że domyślnie zajmuje całą dostępną szerokość i zaczyna się od nowej linii. Z punktu widzenia przeglądarki i CSS jest to taki „kontener”, do którego wrzucasz inne elementy, żeby sensownie ułożyć strukturę strony. Bardzo często używa się <div> do tworzenia sekcji layoutu: nagłówka strony, głównej zawartości, bocznego panelu, stopki. Przykładowo: <div class="container"> ... </div> pozwala Ci potem w CSS ostylować całą tę grupę jednym zestawem reguł, np. ustawić szerokość, marginesy, tło czy ramkę. W nowocześniejszych projektach <div> często łączy się z flexboxem albo gridem, np. <div class="grid"> jako główny kontener siatki. Z mojego doświadczenia <div> jest jednym z najczęściej używanych znaczników, ale warto pamiętać o semantyce: tam gdzie to możliwe, lepiej użyć <header>, <main>, <section>, <article>, <footer>. One też są blokowe, ale niosą dodatkowe znaczenie dla czytników ekranu i SEO. Gdy jednak potrzebujesz po prostu neutralnego kontenera blokowego, bez konkretnej semantyki, <div> jest dokładnie tym, czego szukasz i jest to zgodne z dobrymi praktykami opisanymi w specyfikacji HTML Living Standard.

Pytanie 25

$x = 0; while($x < 5) { echo "$x,"; $x++; } Wskaż instrukcję, która jest funkcjonalnie równoważna dla podanej pętli while w języku PHP.

Ilustracja do pytania
A. Instrukcja 2
B. Instrukcja 1
C. Instrukcja 4
D. Instrukcja 3
Instrukcja while w PHP jest pętlą, która kontroluje warunek przed każdą iteracją. W jej przypadku zmienna $x jest początkowo równa 0, a warunek $x < 5 powoduje, że blok kodu wewnątrz pętli wykonuje się dopóki $x jest mniejsze od 5. Za każdym razem, gdy kod wewnątrz pętli się wykonuje, echo wyświetla aktualną wartość zmiennej $x, a następnie $x jest inkrementowane o 1. Instrukcja for, która jest funkcjonalnie równoważna tej pętli while, to taka, która zaczyna się z $x równe 0, kończy na $x mniejszym od 5, i w każdym kroku zwiększa $x o 1, dokładnie tak jak instrukcja 3. Odpowiednia struktura pętli for daje możliwość precyzyjnego określenia wszystkich trzech elementów: inicjalizacji zmiennej, warunku kontynuacji oraz zmiany wartości zmiennej po każdej iteracji, co zapewnia pełną kontrolę nad przebiegiem pętli i transparentność kodu, realizując te same funkcjonalności co pętla while w bardziej kompaktowy sposób. Tego typu podejście jest szeroko stosowane w branży ze względu na swoją czytelność i efektywność, co czyni je zgodnym z dobrymi praktykami programistycznymi.

Pytanie 26

Kolor zdefiniowany kodem RGB o wartości rgb(128, 16, 8) w formacie szesnastkowym przyjmuje wartość

A. #FF0F80
B. #800F80
C. #FF1008
D. #801008
Odpowiedź #801008 jest poprawna, ponieważ kod RGB rgb(128, 16, 8) konwertuje się do formatu szesnastkowego, gdzie każdy z trzech składników (czerwony, zielony, niebieski) reprezentowany jest przez dwie cyfry szesnastkowe. Wartość czerwonego wynosi 128, co w systemie szesnastkowym odpowiada '80'. Wartość zielonego wynosi 16, co w szesnastkowym zapisie to '10'. Wartość niebieskiego wynosi 8, co w szesnastkowym zapisie to '08'. Łącząc te wartości, otrzymujemy #801008. Tego typu konwersja jest powszechnie stosowana w projektowaniu graficznym i web designie, gdzie RGB i jego odpowiedniki w systemie szesnastkowym są używane do definiowania kolorów w CSS. Używając standardów takich jak W3C, programiści mogą precyzyjnie określić kolory, co jest kluczowe dla estetyki i dostępności stron internetowych.

Pytanie 27

W języku HTML, aby uzyskać efekt podobny do tego w przykładzie, trzeba użyć konstrukcji

Ilustracja do pytania
A. <p><strike>Duży tekst</strike> zwykły tekst</p>
B. <p><strike>Duży tekst zwykły tekst</p>
C. <p><big>Duży tekst</p> zwykły tekst
D. <p><big>Duży tekst</big> zwykły tekst</p>
Odpowiedź jest prawidłowa, ponieważ w języku HTML, aby zwiększyć rozmiar czcionki dla części tekstu, można użyć znacznika <big>. Znacznik ten powoduje, że tekst wewnątrz jest wyświetlany w większym rozmiarze niż tekst otaczający. Jest to przydatne w sytuacjach, gdy chcemy wyróżnić część tekstu bez stosowania zaawansowanego stylu CSS. Chociaż <big> jest uznawany za przestarzały w nowoczesnym HTML, dla celów edukacyjnych i zgodności z starszymi dokumentami HTML wciąż może być stosowany. Praktyką zalecaną w aktualnych standardach jest używanie stylów CSS, np. poprzez przypisanie klasy lub bezpośrednie stylowanie in-line. Warto zaznaczyć, że stosowanie <big> nie jest zalecane w nowych projektach, ponieważ CSS oferuje większą elastyczność i kontrolę nad wyglądem tekstu. Niemniej jednak, znajomość takich znaczników jak <big> pomaga w zrozumieniu, jak rozwijał się HTML i jakie są różnice między starszymi a nowoczesnymi metodami formatowania tekstu.

Pytanie 28

Gaśnicę oznaczoną literą C stosuje się do gaszenia pożarów

Ilustracja do pytania
A. metali palnych.
B. tłuszczów i olejów kuchennych.
C. cieczy i ciał stałych.
D. gazów palnych.
Prawidłowo – litera C na oznaczeniu gaśnicy oznacza, że jest ona przeznaczona do gaszenia pożarów gazów palnych. W europejskiej klasyfikacji pożarów (PN-EN 2) klasa C obejmuje m.in. takie gazy jak propan, butan, metan, acetylen czy wodór. To są typowe gazy używane w instalacjach gazowych, butlach turystycznych, palnikach, piecach, a także w niektórych procesach technologicznych. W praktyce, przy pożarach klasy C stosuje się najczęściej gaśnice proszkowe lub rzadziej śniegowe (CO₂), ponieważ ich środek gaśniczy nie przewodzi prądu i nie reaguje niebezpiecznie z płonącym gazem. Kluczowa zasada: w przypadku wycieku i zapłonu gazu najpierw, o ile to możliwe, odcina się dopływ gazu (zawór, kurek główny), a dopiero potem dogasza płomień. Gaśnica C nie jest przeznaczona do chłodzenia rozgrzanych elementów konstrukcji, tylko do przerwania reakcji spalania w strefie płomienia. W gaśnicach oznaczonych C środek gaśniczy działa głównie poprzez mechanizm inhibicji łańcuchowej reakcji spalania i odcięcie dopływu tlenu do strefy spalania. Moim zdaniem warto zapamiętać prostą praktyczną rzecz: widzisz literę C – myśl o gazie z butli, instalacji gazowej, palniku. W branżowych szkoleniach BHP i PPOŻ zawsze podkreśla się, żeby nie używać wody do pożarów gazów, bo to jest kompletnie nieskuteczne, a czasem wręcz niebezpieczne. Dlatego dobra znajomość symboli A, B, C, D, F na gaśnicach to podstawa bezpiecznej pracy w każdym obiekcie technicznym, magazynie, warsztacie czy kotłowni.

Pytanie 29

Fragment kodu powyżej został napisany w języku JavaScript. Co należy umieścić w miejsce kropek, aby program przypisywał wartość 1 co trzeciemu elementowi w tablicy?

for (i = 0; i < T.length; ...)
{
    T[i] = 1;
}
A. i += 3
B. i =+ 3
C. i = 3
D. i ++ 3
Prawidłowa odpowiedź to i += 3 ponieważ w języku JavaScript operator += służy do zwiększania wartości zmiennej o zadany krok. W kontekście pętli for oznacza to że po każdej iteracji zmienna i zostanie zwiększona o 3 co pozwala na przypisanie wartości 1 co trzeciemu elementowi w tablicy. Jest to standardowa praktyka przy iteracji co kilka elementów w tablicy. Użycie += jest preferowane ze względu na jego zwięzłość i czytelność co jest zgodne z dobrymi praktykami programistycznymi. W przypadku tablicy T użycie poprawnego inkrementu i += 3 umożliwi przypisanie wartości tylko do tych elementów które są indeksowane przez wielokrotności liczby 3. Dzięki temu kod jest bardziej czytelny i zgodny z zasadami DRY (Don't Repeat Yourself) pozwalając na efektywne operacje na strukturach danych. Przykładowo jeśli mamy tablicę o długości 9 to po wykonaniu pętli elementy o indeksach 0 3 i 6 zostaną ustawione na wartość 1 co pozwala na efektywne zarządzanie pamięcią i czasem obliczeniowym. Tego typu konstrukcje są podstawą wielu algorytmów iteracyjnych.

Pytanie 30

Jakie dane zostaną wyświetlone po wykonaniu poniższych poleceń? bool gotowe=true; cout<<gotowe;

A. 0
B. 1
C. nie
D. tak
W wyniku wykonania przedstawionych instrukcji, zostanie wypisane "1". Wynika to z faktu, że zmienna typu bool w języku C++ jest reprezentowana jako liczba całkowita, gdzie wartość "true" jest interpretowana jako "1", a "false" jako "0". Kiedy wykonujemy instrukcję z użyciem cout, która jest standardowym strumieniem wyjściowym w C++, zmienna gotowe, która przechowuje wartość true, zostanie przekonwertowana na jej reprezentację liczbową, co skutkuje wypisaniem "1" na ekran. W praktyce, zrozumienie konwersji typów danych w C++ jest kluczowe dla programowania, zwłaszcza w kontekście obliczeń logicznych i kontroli przepływu programu. Standardy C++ określają zasady konwersji typów, co wpływa na optymalizację kodu oraz unikanie błędów w logice programowania, dlatego wiedza na ten temat jest niezbędna dla każdego programisty.

Pytanie 31

W SQL, aby dodać kolumnę rozmiar typu znakowego o maksymalnej długości 20 znaków do tabeli Towar, należy wykonać następujące polecenie

A. ALTER TABLE Towar CREATE COLUMN rozmiar varchar(20)
B. ALTER TABLE Towar DROP COLUMN rozmiar varchar(20)
C. ALTER TABLE Towar ADD rozmiar varchar(20)
D. ALTER TABLE Towar ALTER COLUMN rozmiar varchar(20)
Aby dodać nową kolumnę do istniejącej tabeli w bazie danych SQL, właściwe jest użycie polecenia ALTER TABLE z opcją ADD. W tym przypadku, aby dodać kolumnę 'rozmiar' typu varchar o maksymalnej długości 20 znaków do tabeli 'Towar', należy napisać: ALTER TABLE Towar ADD rozmiar varchar(20). Typ danych varchar (zmienny znak) jest często stosowany do przechowywania tekstu o zmiennej długości, co czyni go idealnym do przechowywania informacji takich jak rozmiary, nazwy czy opisy. Zachowanie maksymalnej długości kolumny do 20 znaków zapewnia, że żadne dane nie przekroczą ustalonego limitu, co z kolei może pomóc w utrzymaniu integralności danych. Dodatkowo, standard SQL definiuje ALTER TABLE jako polecenie do modyfikacji istniejących obiektów w bazie danych, co czyni go kluczowym narzędziem dla administratorów baz danych. Przykładowo, po dodaniu kolumny można zaktualizować istniejące rekordy, aby wprowadzić odpowiednie dane do nowej kolumny. Warto również zaznaczyć, że różne systemy zarządzania bazami danych (DBMS) mogą mieć swoje specyficzne rozszerzenia, ale powyższa składnia jest zgodna z SQL ANSI.

Pytanie 32

W SQL, aby usunąć wszystkie rekordy z tabeli, ale zachować jej strukturę, należy użyć polecenia:

A. DELETE FROM
B. REMOVE
C. TRUNCATE
D. DROP TABLE
W SQL, aby usunąć wszystkie rekordy z tabeli, ale zachować jej strukturę, używamy polecenia <code>DELETE FROM</code>. To polecenie jest częścią języka manipulacji danymi (DML) i pozwala na usunięcie danych bez usuwania samej tabeli. Warto zwrócić uwagę, że <code>DELETE FROM</code> może być użyte z klauzulą <code>WHERE</code>, aby usunąć tylko wybrane rekordy, ale bez tej klauzuli usunie wszystkie wiersze z tabeli. Zaletą tego podejścia jest to, że struktura tabeli, jej indeksy i inne atrybuty pozostają nienaruszone. Ponadto, polecenie <code>DELETE FROM</code> jest transakcyjne, co oznacza, że można je wycofać w ramach sesji transakcyjnej, co może być przydatne w przypadku błędów lub zmian w decyzji. Użycie tego polecenia jest zgodne z dobrymi praktykami zarządzania danymi, szczególnie w sytuacjach, gdy chcemy jedynie zresetować zawartość tabeli bez jej usuwania z bazy danych.

Pytanie 33

W skrypcie JavaScript operatory: ||, && wchodzą w skład grupy operatorów

A. przypisania
B. logicznymi
C. bitowych
D. arytmetycznych
Operatory || (OR) i && (AND) w języku JavaScript są klasyfikowane jako operatory logiczne. Służą one do wykonywania operacji na wartościach boolowskich, które mogą przyjmować jedynie dwie wartości: true (prawda) oraz false (fałsz). Operator && zwraca true, jeśli oba operandy są prawdziwe, w przeciwnym przypadku zwraca false. Przykładem jest wyrażenie: true && false, które zwraca false. Operator || zwraca true, jeśli przynajmniej jeden z operandów jest prawdziwy. Na przykład, wyrażenie: false || true, zwraca true. Operatory te są powszechnie wykorzystywane w warunkach kontrolnych, takich jak instrukcje if, pętle oraz w kombinacjach z innymi operatorami. Dodatkowo, JavaScript posługuje się tzw. 'krótkim circuiting', co oznacza, że w przypadku operatora &&, jeśli pierwszy operand jest false, to nie sprawdza drugiego, ponieważ wynik będzie na pewno false. W kontekście standardów, JavaScript przestrzega specyfikacji ECMAScript, która definiuje zasady działania tych operatorów. Zrozumienie operatorów logicznych jest kluczowe dla efektywnego programowania i tworzenia złożonych warunków.

Pytanie 34

Jaką konstrukcją w języku C++ jest double *x;?

A. Zmienna całkowita
B. Wskaźnik
C. Zmienna rzeczywista
D. Formalny argument typu rzeczywistego
Deklaracja 'double *x;' w języku C++ oznacza, że 'x' jest wskaźnikiem, który może wskazywać na zmienną typu podwójnej precyzji (double). Wskaźniki są kluczowym elementem programowania w C++, umożliwiającym efektywne zarządzanie pamięcią oraz dostęp do dynamicznych struktur danych, takich jak tablice czy listy. W praktyce, wskaźniki są często używane do przekazywania dużych struktur danych do funkcji bez konieczności kopiowania całych obiektów, co jest wydajniejsze. Oto przykład: jeśli mamy funkcję, która modyfikuje tablicę, możemy przekazać wskaźnik do tej tablicy jako argument, co pozwala na bezpośrednią modyfikację oryginalnych danych. Dobre praktyki dotyczące wskaźników obejmują również ich odpowiednie inicjalizowanie oraz zarządzanie pamięcią, aby uniknąć wycieków pamięci. C++ pozwala na użycie wskaźników w połączeniu z dynamiczną alokacją pamięci za pomocą operatora 'new', co daje programiście dużą elastyczność w zarządzaniu zasobami.

Pytanie 35

W języku C, aby zdefiniować stałą, należy zastosować

A. #INCLUDE
B. const
C. #CONST
D. static
W języku C, aby zadeklarować stałą, należy użyć słowa kluczowego 'const'. Użycie 'const' umożliwia programiście zdefiniowanie zmiennej, której wartość nie może być zmieniana w trakcie działania programu. To podejście jest zgodne z dobrymi praktykami programowania, ponieważ pozwala na większą kontrolę nad danymi i minimalizuje ryzyko przypadkowej modyfikacji istotnych wartości. Na przykład, jeżeli chcemy zdefiniować stałą wartość liczby pi, możemy użyć: 'const double PI = 3.14159;'. Taka deklaracja zapewnia, że PI pozostanie niezmienne w trakcie działania programu. Użycie 'const' jest również istotne w kontekście bezpieczeństwa kodu, ponieważ zmniejsza prawdopodobieństwo wystąpienia błędów związanych z modyfikacją wartości, które powinny pozostać stałe. Warto również zauważyć, że używanie stałych w programowaniu zwiększa czytelność kodu, ponieważ jasno wskazuje na zamiar programisty, że pewne wartości nie powinny być zmieniane. Dodatkowo, stałe mogą być używane w kontekście makr preprocesora, co wprowadza dodatkowe możliwości zdefiniowania stałych, które mogą być używane w całym kodzie przy zachowaniu zasad programowania defensywnego.

Pytanie 36

W skrypcie JavaScript operatory: ||, && zaliczane są do kategorii operatorów

A. bitowych
B. przypisania
C. logicznymi
D. arytmetycznych
Odpowiedź 'logicznym' jest poprawna, ponieważ w języku JavaScript operatory || (logiczne OR) i && (logiczne AND) są klasyfikowane jako operatory logiczne. Te operatory służą do wykonywania operacji na wartościach logicznych (prawda/fałsz). Użycie operatora && powoduje, że wyrażenie zwraca prawdę tylko wtedy, gdy oba operandy są prawdziwe. Z kolei operator || zwraca prawdę, jeśli przynajmniej jeden operand jest prawdziwy. Przykładem ich zastosowania może być warunkowe wykonywanie kodu, np. w instrukcjach if, gdzie możemy sprawdzić, czy spełnione są określone warunki. Standardowe praktyki programistyczne zalecają używanie tych operatorów do efektywnego zarządzania logiką programów, co zwiększa ich czytelność i umożliwia łatwiejszą konserwację. Ważne jest także zrozumienie, że operatory te wykonują krótką ocenę (short-circuit evaluation), co oznacza, że ​​nie obliczają drugiego operandu, jeśli pierwszy już decyduje o wyniku. Dzięki tym właściwościom, operatory logiczne są kluczowym elementem wszelkich aplikacji programistycznych, które potrzebują podejmować decyzje w oparciu o różne warunki.

Pytanie 37

Specjalna funkcja danej klasy stosowana w programowaniu obiektowym, która jest wywoływana automatycznie w momencie tworzenia obiektu, a jej głównym celem jest zazwyczaj inicjalizacja pól, to

A. obiekt
B. destruktor
C. konstruktor
D. specyfikator dostępu
Konstruktor jest specjalną metodą, która jest wywoływana automatycznie w momencie tworzenia obiektu danej klasy. Jego głównym zadaniem jest zainicjowanie pól obiektu, co jest kluczowe dla zapewnienia, że obiekt będzie w pełni gotowy do użycia zaraz po swoim utworzeniu. Konstruktor może przyjmować argumenty, co pozwala na elastyczne i dynamiczne przypisywanie wartości do pól obiektu. Na przykład, w języku Python konstruktor jest definiowany za pomocą metody __init__(), co pozwala na inicjowanie atrybutów obiektów. W praktyce, przy tworzeniu klasy 'Samochód', konstruktor może być użyty do przypisania wartości takich jak marka, model czy rok produkcji. Dobrym podejściem jest również implementacja konstruktorów z wartościami domyślnymi, co zwiększa uniwersalność i łatwość użycia klasy. Użycie konstruktorów jest zgodne z zasadami programowania obiektowego i wspomaga tworzenie bardziej modularnych i łatwiejszych w utrzymaniu aplikacji.

Pytanie 38

W HTML5 semantycznym znacznikiem, który służy do określenia dwóch sekcji widocznych po prawej stronie na rysunku, zawierających wiadomości oraz aktualności, jest

Ilustracja do pytania
A. &lt;main&gt;
B. &lt;nav&gt;
C. &lt;footer&gt;
D. &lt;article&gt;
Element <article> w HTML5 został stworzony właśnie do oznaczania niezależnych, samodzielnych treści, które mają sens nawet poza kontekstem strony – czyli takich, które można zamieścić np. w RSS, podlinkować czy udostępnić osobno. W praktyce oznacza to np. pojedyncze wpisy na blogu, wiadomości, ogłoszenia czy aktualności – dokładnie tak jak w tym zadaniu. Dzięki użyciu <article>, osoby korzystające z czytników ekranowych czy wyszukiwarek łatwiej rozpoznają strukturę strony, bo semantyka jest czytelna dla maszyn. Z mojego doświadczenia, stosowanie <article> dla wiadomości i aktualności jest też zgodne z dobrą praktyką tworzenia dostępnych stron – Google nawet sugeruje, by tak wyodrębniać własne, kompletne treści. To ma ogromne znaczenie przy pozycjonowaniu (SEO), bo roboty wyszukiwarek potrafią lepiej rozumieć, co jest główną treścią strony. Dodatkowo, używanie odpowiednich znaczników semantycznych poprawia współpracę z różnymi narzędziami, które analizują układ i zawartość strony, a także ułatwia późniejszą przebudowę lub rozwój projektu. Moim zdaniem, nadanie sekcjom z wiadomościami i aktualnościami znacznika <article> to podstawa nowoczesnego kodowania stron internetowych.

Pytanie 39

Przemiana kodu źródłowego wykonanego przez programistę w zrozumiały dla maszyny kod maszynowy to

A. wykonywanie
B. wdrażanie
C. analizowanie błędów
D. kompilowanie
Kompilowanie to kluczowy proces w inżynierii oprogramowania, który polega na przekształceniu kodu źródłowego napisanego w języku wysokiego poziomu (takim jak C++, Java czy Python) na kod maszynowy zrozumiały dla komputera. Proces ten jest krytyczny, ponieważ komputery nie są w stanie interpretować kodu źródłowego bezpośrednio. Kompilator przeprowadza analizę syntaktyczną i semantyczną kodu, optymalizuje go, a następnie generuje kod maszynowy. W praktyce, kompilacja pozwala na wykrycie błędów w kodzie przed jego uruchomieniem, co jest zgodne z najlepszymi praktykami programistycznymi. Kompilatory często oferują dodatkowe narzędzia, takie jak debugery, które umożliwiają programistom śledzenie błędów w kodzie. W kontekście dużych projektów, dobrym podejściem jest również wykorzystanie systemów CI/CD, które automatyzują proces kompilacji i testowania, co znacząco przyspiesza cykl rozwoju oprogramowania oraz zwiększa jego jakość.

Pytanie 40

W SQL, aby dodać nowy wiersz do bazy danych, należy użyć polecenia

A. INSERT INTO
B. CREATE ROW
C. CREATE INTO
D. SELECT ROW
Polecenie 'INSERT INTO' jest kluczowym elementem języka SQL, służącym do dodawania nowych wierszy danych do istniejącej tabeli w bazie danych. Użycie tego polecenia wymaga podania nazwy tabeli, do której chcemy wstawić dane, oraz listy wartości, które mają być dodane. Na przykład, polecenie 'INSERT INTO klienci (imie, nazwisko) VALUES ('Jan', 'Kowalski');' dodaje nowego klienta o imieniu Jan i nazwisku Kowalski do tabeli 'klienci'. Zgodnie z dobrymi praktykami, zawsze warto również uwzględnić obsługę błędów, aby upewnić się, że operacje na danych są bezpieczne i nie powodują naruszeń integralności bazy. Warto również pamiętać, że do jednego polecenia INSERT można dodać wiele wierszy równocześnie, na przykład: 'INSERT INTO klienci (imie, nazwisko) VALUES ('Ewa', 'Nowak'), ('Anna', 'Zielona');'. Użycie 'INSERT INTO' jest fundamentalne w pracy z bazami danych i stanowi podstawę dla bardziej zaawansowanych operacji, takich jak transakcje czy manipulacje danymi w relacyjnych bazach danych.