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: 27 maja 2026 16:09
  • Data zakończenia: 27 maja 2026 16:28

Egzamin niezdany

Wynik: 19/40 punktów (47,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Instrukcja w SQL ALTER TABLE USA ... ma na celu

A. skasowanie tabeli USA
B. zmianę tabeli USA
C. stworzenie nowej tabeli USA
D. przypisanie nowej wersji tabeli USA
Polecenie ALTER TABLE w SQL to coś, co pozwala na zmiany w tabelach bazy danych. Możesz dzięki niemu dodawać nowe kolumny, usuwać je czy modyfikować, a nawet dodawać różne klucze lub indeksy. Na przykład, jeżeli chcesz dodać nową kolumnę w tabeli USA, użyjesz tego polecenia: ALTER TABLE USA ADD COLUMN NowaKolumna VARCHAR(255); Warto też wiedzieć, że ALTER TABLE jest częścią SQL DDL, czyli języka definiującego strukturę bazy danych. Dobrą praktyką jest robienie kopii zapasowych przed wprowadzaniem jakichkolwiek zmian, bo niechciane zmiany mogą prowadzić do utraty danych. Z tego, co mnie nauczyli, ważne jest też, by modyfikacje były przemyślane i przetestowane, zwłaszcza w kontekście zasad ACID (Atomicity, Consistency, Isolation, Durability). Bazy danych, jak MySQL czy PostgreSQL, mają różne sposoby na ułatwienie pracy z ALTER TABLE, co czyni je bardzo przydatnymi w codziennym zarządzaniu danymi.

Pytanie 2

Aby obraz umieszczony za pomocą kodu HTML mógł być rozpoznawany przez programy wspierające osoby niewidome, konieczne jest określenie atrybutu

A. border
B. src
C. alt
D. sizes
Atrybut 'alt' (alternatywny tekst) jest kluczowym elementem w kontekście dostępności stron internetowych, szczególnie dla osób niewidzących. Jego głównym celem jest dostarczenie opisowej informacji o obrazie, który nie może być bezpośrednio widziany. W przypadku obrazów, które nie są widoczne z różnych powodów (np. uszkodzenie pliku, brak połączenia internetowego lub korzystanie z czytników ekranu), tekst alternatywny pomaga zrozumieć kontekst i znaczenie danego obrazu. Przykład zastosowania: dla obrazka przedstawiającego logo firmy, można użyć atrybutu alt w następujący sposób: <img src='logo.png' alt='Logo firmy XYZ'>. W ten sposób, jeśli obrazek nie załadowałby się, użytkownik korzystający z czytnika ekranu otrzyma informację o tym, co ten obraz przedstawia. Definiowanie atrybutu 'alt' jest zgodne z wytycznymi WCAG (Web Content Accessibility Guidelines), które zalecają, aby wszystkie obrazki, które pełnią funkcję informacyjną, były opisane w taki sposób, aby zapewnić pełny dostęp do treści wszystkim użytkownikom. W praktyce takie podejście nie tylko poprawia dostępność, ale również pozytywnie wpływa na SEO, ponieważ wyszukiwarki również analizują ten atrybut.

Pytanie 3

Tabela Pracownicy zawiera informacje o zatrudnionych w różnych działach, co jest określone przez pole liczbowe dzial. Z uwagi na to, że zazwyczaj wykonuje się kwerendy jedynie dla działu równego 2, można uprościć zapytania do tej tabeli, tworząc wirtualną tabelę o nazwie Prac_dzial2 przy użyciu zapytania

A. VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2
B. VIEW Prac_dzial2 SELECT FROM Pracownicy WHERE dzial=2
C. CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2
D. CREATE VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2
Pozostałe odpowiedzi są błędne z różnych powodów. Przede wszystkim, brak słowa kluczowego 'AS' w odpowiedziach, które twierdzą, że mają na celu stworzenie widoku, skutkuje nieprawidłową składnią. W SQL, podczas definiowania widoku, kluczowe jest użycie 'AS' po nazwie widoku, aby określić, że następujące zapytanie jest definicją źródła danych tego widoku. Ponadto, użycie słowa kluczowego 'VIEW' bez 'CREATE' jest niepoprawne, ponieważ struktura SQL wymaga, aby przed utworzeniem widoku zawsze były używane polecenia 'CREATE VIEW'. Również pominięcie 'SELECT *' w kontekście tworzenia widoku ogranicza elastyczność, ponieważ pozwala na wybranie tylko niektórych kolumn z tabeli, co nie jest zgodne z wymaganiami przedstawionymi w pytaniu. Zrozumienie tych zasad jest kluczowe, aby uniknąć typowych pułapek w pracy z SQL, a także pozwala na tworzenie bardziej złożonych i wydajnych strukturyzacji danych. Użycie nieprawidłowej składni może prowadzić do błędów wykonania, co w praktyce może skutkować zamieszaniem i wydłużonym czasem reakcji na wyciąganie danych. Dlatego kluczowe jest przestrzeganie standardów i dobrych praktyk w pisaniu zapytań SQL.

Pytanie 4

Aby włączyć zewnętrzny skrypt JavaScript zatytułowany skrypt.js, należy umieścić w kodzie HTML

A. <link rel="script" href="skrypt.js" />
B. <script> skrypt.js </script>
C. <script src="skrypt.js"></script>
D. <link rel="JavaScript" type="js" href="skrypt.js" />
Wiele z niepoprawnych odpowiedzi opiera się na nieporozumieniach co do właściwej składni używania JavaScript w dokumentach HTML. Odpowiedź <link rel="JavaScript" type="js" href="skrypt.js" /> jest błędna, ponieważ element <link> jest stosowany głównie do łączenia stylów CSS, a nie skryptów JavaScript. Atrybuty rel i type w tym kontekście nie mają zastosowania, co prowadzi do niepoprawnego załączenia skryptu. Kolejny przykład, <link rel="script" href="skrypt.js" />, również jest niewłaściwy, ponieważ nie istnieje atrybut rel o nazwie "script" w kontekście tagu <link>. Użycie atrybutu rel w kontekście skryptów nie jest zgodne z żadnym standardem HTML. Z kolei odpowiedź <script> skrypt.js </script> jest błędna, ponieważ nie używa atrybutu src, co oznacza, że przeglądarka nie będzie wiedziała, gdzie znaleźć plik skrypt.js. To podejście jest zatem nieefektywne i nieintuicyjne. Właściwe podejście do dołączania skryptów JavaScript polega na używaniu tagu <script> z atrybutem src, co jest zgodne z najlepszymi praktykami i standardami branżowymi. Takie zrozumienie składni HTML i JavaScript jest kluczowe dla każdego dewelopera webowego, aby zapewnić właściwą integrację i funkcjonalność stron internetowych.

Pytanie 5

W wyniku przedstawionego polecenia w tabeli zostanie ```ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;```

A. zmieniony typ kolumny nazwa2 na DOUBLE
B. zmieniona kolumna z nazwa1 na nazwa2
C. dodana kolumna nazwa2 o typie zmiennoprzecinkowym
D. dodana kolumna nazwa2 z wymuszoną wartością DOUBLE
Analizując pozostałe odpowiedzi, można zauważyć, że nie odzwierciedlają one poprawności działania zapytania SQL. Pierwsza odpowiedź sugeruje zmianę nazwy kolumny, co jest błędnym podejściem, ponieważ użycie klauzuli "ADD" wyraźnie wskazuje na dodanie nowej kolumny, a nie na modyfikację istniejącej. Zmiana nazwy kolumny wymagałaby użycia zapytania "ALTER TABLE ... RENAME COLUMN...", co jest zupełnie inną operacją. Drugie stwierdzenie koncentruje się na zmianie wartości kolumny "nazwa2" na typ DOUBLE, co jest niepoprawne, gdyż zapytanie nie zmienia wartości, a dodaje nową kolumnę. Ostatnia odpowiedź wskazuje na dodanie kolumny z wartością domyślną, co również jest błędne, gdyż w zapytaniu nie określono wartości domyślnej dla nowej kolumny. W rzeczywistości, przy dodawaniu kolumny można również ustawić wartość domyślną, ale nie jest to wymagane. Typowe błędy w myśleniu prowadzące do takich wniosków często wynikają z niepełnego zrozumienia składni SQL i funkcji poszczególnych poleceń. Dlatego istotne jest, aby przed przystąpieniem do modyfikacji struktury bazy danych dobrze zaznajomić się z dokumentacją i zasadami działania systemu zarządzania bazą danych, z którego się korzysta.

Pytanie 6

Istnieje tabela programisci z polami: id, nick, ilosc_kodu, ocena. Wartość w polu ilosc_kodu przedstawia liczbę linii kodu, które dany programista stworzył w określonym miesiącu. Aby obliczyć całkowitą liczbę linii kodu napisanych przez wszystkich programistów, należy zastosować następujące polecenie

A. SELECT SUM(ocena) FROM ilosc_kodu;
B. SELECT COUNT(programisci) FROM ilosc_kodu;
C. SELECT MAX(ilosc_kodu) FROM programisci;
D. SELECT SUM(ilosc_kodu) FROM programisci;
Pierwsza z błędnych odpowiedzi, "SELECT COUNT(programisci) FROM ilosc_kodu;" zawiera fundamentalny błąd, gdyż funkcja COUNT() nie jest odpowiednia, gdy chcemy zsumować wartości liczby linii kodu. Funkcja COUNT() zlicza wiersze, ale nie sumuje wartości w kolumnach. Użycie jej w tym kontekście prowadzi do nieprawidłowych wyników i jest sprzeczne z zamiarem analizy danych. Z kolei odpowiedź "SELECT SUM(ocena) FROM ilosc_kodu;" łączy nieadekwatne elementy; pole "ocena" nie ma związku z analizowaną sumą linii kodu, co skutkuje brakiem sensu w kontekście zapytania. Warto zauważyć, że w SQL każda kolumna musi być właściwie zdefiniowana w kontekście używanych funkcji, a mieszanie danych z różnych pól bez logicznego uzasadnienia to typowy błąd myślowy. Ostatnia odpowiedź, "SELECT MAX(ilosc_kodu) FROM programisci;" także nie spełnia wymagań, ponieważ funkcja MAX() zwraca maksymalną wartość, a nie sumę. W praktyce, takie błędy mogą prowadzić do mylnych wniosków na temat produktywności zespołu, szczególnie gdy zapytania są używane do podejmowania decyzji biznesowych. Kluczowe jest, aby zrozumieć semantykę każdej funkcji SQL oraz zastosować je w odpowiednich kontekstach, co jest istotne dla skutecznej analizy danych w każdej organizacji.

Pytanie 7

Jakie wyrażenie logiczne powinno zostać użyte w języku JavaScript, aby przeprowadzić operacje wyłącznie na dowolnych liczbach ujemnych z zakresu jednostronnie domkniętego <-200, -100)?

A. (liczba <= -200) && (liczba < -100)
B. (liczba <= -200) || (liczba > -100)
C. (liczba >= -200) || (liczba > -100)
D. (liczba >= -200) && (liczba < -100)
Poprawna odpowiedź, (liczba >= -200) && (liczba < -100), jest zgodna z wymaganym zakresem liczb ujemnych. Wyrażenie to sprawdza, czy wartość zmiennej 'liczba' jest większa lub równa -200, a jednocześnie mniejsza niż -100. Oznacza to, że przyjmuje wszystkie liczby z przedziału, w tym -200, ale nie uwzględnia -100. To podejście jest zgodne z praktykami programowania, gdzie istotne jest dokładne definiowanie zakresów. W JavaScript stosowanie operatorów logicznych, takich jak &&, umożliwia precyzyjne warunkowanie wykonania kodu, co jest niezbędne do sprawnego zarządzania błędami oraz zwiększa czytelność kodu. Przykładowo, w kontekście walidacji danych, takie wyrażenie można wykorzystać do filtrowania nieprawidłowych wartości przed ich przetwarzaniem. Umożliwia to lepsze zarządzanie danymi oraz zapobiega błędom w aplikacjach. Zastosowanie tego wyrażenia w praktyce pokazuje, jak ważne jest precyzyjne formułowanie warunków, co jest kluczowym elementem skutecznego programowania.

Pytanie 8

Jakie znaki <header>, <article>, <section>, <footer> są typowe dla tego języka?

A. HTML 5
B. HTML 4.01 Transitional
C. XHTML 1.1
D. HTML 4.01 Strict
Znaczniki <header>, <article>, <section>, <footer> są częścią specyfikacji HTML5, która wprowadziła bardziej semantyczne podejście do strukturyzacji dokumentów webowych. Te elementy umożliwiają programistom tworzenie bardziej przejrzystych i zrozumiałych dokumentów, zarówno dla ludzi, jak i dla maszyn. Na przykład, znacznik <header> definiuje nagłówek strony lub sekcji, <article> służy do oznaczania samodzielnych treści, które mogą być niezależnie dystrybuowane, <section> grupuje powiązane tematycznie elementy, a <footer> zawiera informacje o końcu strony lub sekcji. Użycie tych znaczników ma kluczowe znaczenie dla SEO, ponieważ wyszukiwarki mogą lepiej zrozumieć strukturę treści na stronie. Dodatkowo, zastosowanie tych elementów wspiera dostępność, ułatwiając nawigację osobom korzystającym z czytników ekranu. W praktyce, stosując te znaczniki, programiści tworzą bardziej uporządkowane i zrozumiałe strony, co jest zgodne z najlepszymi praktykami w branży.

Pytanie 9

Który z przedstawionych kodów HTML sformatuje tekst według wzoru?
(uwaga: słowo "stacji" jest zapisane większą czcionką niż reszta słów w tej linii)

Lokomotywa

Stoi na stacji lokomotywa ...

A.
<h1>Lokomotywa</h1>
<p>Stoi na <big>stacji lokomotywa ...</p>

B.
<h1>Lokomotywa</h1>
<p>Stoi na <big>stacji</big> lokomotywa ...</p>

C.
<h1>Lokomotywa</p>
<p>Stoi na <big>stacji</big> lokomotywa ...</p>

D.
<p><small>Lokomotywa</small></p>
<p>Stoi na <big>stacji<big> lokomotywa ...</p>
A. C.
B. B.
C. D.
D. A.
Brawo! Wybrałeś prawidłową odpowiedź, która jest kodem HTML formatującym słowo 'stacji' większą czcionką niż reszta tekstu. Wykorzystuje ona znacznik <big>, który jest wyjątkowo przydatny w sytuacjach, gdy chcemy podkreślić pewną część tekstu i sprawić, że będzie ona wyglądać na większą niż reszta. Jest to praktyka często stosowana na stronach internetowych, by przyciągnąć uwagę użytkownika do konkretnych informacji. Pamiętaj jednak, że znacznik <big> jest przestarzały i nie jest zalecany do stosowania w nowoczesnym kodowaniu HTML. Zamiast tego, w dzisiejszych czasach lepiej jest używać CSS do zmiany rozmiaru czcionki. Niemniej jednak, znajomość różnych znaczników HTML, w tym <big>, jest nadal ważna, zwłaszcza do zrozumienia i utrzymania starszych stron internetowych.

Pytanie 10

Zadanie "drzewo kontekstowe" w edytorze WYSIWYG Adobe Dreamweaver jest przeznaczone do

A. określenia kaskadowych arkuszy stylów powiązanych z witryną
B. pokazania interaktywnego drzewa struktury HTML dla treści statycznych i dynamicznych
C. tworzenia szablonu strony internetowej
D. formatowania treści za pomocą dostępnych znaczników
Funkcja 'drzewo kontekstowe' w edytorze WYSIWYG Adobe Dreamweaver jest kluczowym narzędziem, które umożliwia wizualizację struktury dokumentu HTML w formie interaktywnego drzewa. Dzięki temu użytkownicy mogą łatwo zobaczyć hierarchię elementów, co znacząco ułatwia nawigację oraz edycję zawartości zarówno statycznej, jak i dynamicznej. Przykład praktycznego zastosowania tej funkcji to sytuacja, w której programista pracuje nad złożonym projektem, zawierającym wiele sekcji i podsekcji. Dzięki drzewu kontekstowemu może szybko zlokalizować i edytować konkretne elementy, co przyspiesza proces tworzenia stron. Ponadto, funkcja ta wspiera dobre praktyki, takie jak utrzymanie czystości kodu oraz jego struktury, co jest zgodne z wytycznymi W3C dotyczącymi pisania HTML. Umożliwia to także lepsze zrozumienie i zarządzanie kodem, co jest nieocenione w większych projektach z zespołami developerskimi.

Pytanie 11

W języku SQL, aby z tabeli Uczniowie wyodrębnić rekordy dotyczące wyłącznie uczennic o imieniu "Aleksandra", które przyszły na świat po roku "1998", należy sformułować zapytanie

A. SELECT * FROM Uczniowie WHERE imie="Aleksandra" AND rok_urodzenia < "1998"
B. SELECT * FROM Uczniowie WHERE imie="Aleksandra" OR rok_urodzenia > "1998"
C. SELECT * FROM Uczniowie WHERE imie ="Aleksandra" OR rok_urodzenia < "1998"
D. SELECT * FROM Uczniowie WHERE imie="Aleksandra" AND rok_urodzenia > "1998"

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Ta odpowiedź jest prawidłowa, ponieważ wykorzystuje operator logiczny AND, aby jednocześnie spełnić dwa kryteria: imię uczennicy musi być równe 'Aleksandra', a rok urodzenia musi być większy niż 1998. Użycie AND zapewnia, że tylko te rekordy, które spełniają obydwa warunki, zostaną zwrócone, co jest zgodne z wymaganiami zadania. W praktyce, takie zapytanie mogłoby być użyte w systemie edukacyjnym do generowania raportów dla nauczycieli, aby zidentyfikować i analizować uczennice o konkretnych cechach. Stosowanie operatora AND jest zgodne z dobrymi praktykami w SQL, które preferują precyzyjne określenie warunków w zapytaniach. Warto również zauważyć, że w bazach danych, zapewnienie poprawności danych i odpowiednich filtrów na poziomie zapytań jest kluczowe, aby uniknąć błędnych analiz oraz zapewnić, że wyciągane informacje są rzetelne i użyteczne w kontekście podejmowania decyzji.

Pytanie 12

Po awarii serwera bazy danych, aby jak najszybciej przywrócić pełne działanie bazy, konieczne jest wykorzystanie

A. najświeższej wersji instalacyjnej serwera
B. kompletnej listy użytkowników serwera
C. aktualnej wersji kopii zapasowej
D. opisu struktur danych w tabelach
Próbując zrozumieć, dlaczego inne odpowiedzi są nieprawidłowe, warto zwrócić uwagę na ich naturę. Użycie najnowszej wersji instalacyjnej serwera nie jest wystarczające w przypadku awarii bazy danych. Instalacja serwera bez danych może prowadzić do całkowitej utraty informacji. Serwer z aktualną wersją oprogramowania nie przywróci funkcjonalności, jeśli nie posiadamy danych. Ponadto, pełna lista użytkowników serwera, mimo że istotna dla zarządzania dostępem, nie ma żadnego wpływu na proces przywracania danych. Jest to często mylnie rozumiane jako kluczowy element procesu, jednak bez danych, konta użytkowników nie są użyteczne. Opis struktur danych w tabelach, chociaż ważny dla zrozumienia architektury bazy, również nie pomoże w przywróceniu danych. W rzeczywistości, bez odpowiednich danych do wypełnienia tych struktur, nie można uzyskać działającego systemu. W praktyce, brak strategii kopii zapasowych prowadzi do sytuacji, w której odzyskiwanie danych staje się niezwykle trudne lub wręcz niemożliwe. Ostatecznie, kluczowym błędem myślowym jest przekonanie, że same informacje o strukturze systemu lub użytkownikach mogą zastąpić rzeczywiste dane. Dlatego ważne jest, aby każdy z administratorów baz danych zrozumiał znaczenie regularnego tworzenia kopii zapasowych i ich testowania, aby skutecznie radzić sobie z potencjalnymi awariami.

Pytanie 13

Co się stanie po kliknięciu w link z HTML zawierający znak #?

<a href="#dane">
A. Otworzy się nowa karta w przeglądarce zatytułowana dane
B. Zostanie uruchomiony skrypt o nazwie dane
C. Zostanie wybrany względny adres URL o nazwie dane
D. Strona przeskoczy do elementu o identyfikatorze równym dane
W składni HTML znak # w atrybucie href w odsyłaczu oznacza, że odnośnik prowadzi do elementu o określonym identyfikatorze id na tej samej stronie. Jest to funkcjonalność zwana nawigacją wewnętrzną lub kotwiczeniem. Po kliknięciu takiego linku przeglądarka automatycznie przewija stronę do elementu o id równym wartości po znaku #. W praktyce jest to bardzo użyteczny mechanizm, zwłaszcza w długich dokumentach lub stronach typu one-page, gdzie można tworzyć spis treści z odnośnikami prowadzącymi do poszczególnych sekcji. Przykładem użycia może być link do formularza na dole strony, który pozwala użytkownikowi szybko dotrzeć do ważnych informacji. Zgodnie z dobrymi praktykami należy zawsze upewnić się, że id jest unikalne w kontekście całej strony, co zapobiega nieoczekiwanym zachowaniom podczas nawigacji. Jest to zgodne ze standardami W3C, które promują semantyczne i dostępne struktury stron internetowych, co wpływa pozytywnie na doświadczenie użytkownika i dostępność stron dla osób z niepełnosprawnościami.

Pytanie 14

Po wykonaniu poniższego kodu JavaScript, który operuje na wcześniej przygotowanej tablicy liczby, w zmiennej wynik znajduje się suma

var wynik = 0;
for (i = 0; i < 100; i++)
  if (liczby[i] % 2 == 0)
    wynik += liczby[i];
A. wszystkich elementów tablicy
B. parzystych elementów tablicy
C. dodatnich elementów tablicy
D. nieparzystych elementów tablicy
Kod analizuje tablicę liczby i sumuje wyłącznie te elementy, które są parzyste. Nie można zatem mówić o sumowaniu nieparzystych czy wszystkich elementów tablicy. Warunek liczby[i] % 2 == 0 jednoznacznie wskazuje na sumowanie wyłącznie parzystych wartości – reszta z dzielenia przez 2 równa 0 jednoznacznie identyfikuje liczbę jako parzystą. W kontekście sumowania wszystkich elementów, kod nie spełnia tej funkcji, gdyż wykorzystuje warunek ograniczający sumowanie do parzystych liczb. Rozważania o sumowaniu wszystkich elementów lub tylko dodatnich nie znajdują uzasadnienia w analizowanym kodzie. Częstym błędem może być mylenie operacji logicznych i warunkowych w pętli, co prowadzi do niepoprawnych interpretacji zadania. W praktyce, prawidłowe zrozumienie i zastosowanie operatorów warunkowych, takich jak modulo, jest niezbędne w programowaniu, szczególnie przy operacjach na tablicach i dużych zestawach danych. Warunki, jak ten zastosowany w kodzie, umożliwiają precyzyjne filtrowanie danych, co jest kluczowe w wielu aplikacjach, w tym w analizie danych czy automatyzacji procesów. Zrozumienie tych mechanizmów jest fundamentalne dla programisty, zarówno w kontekście wydajności, jak i poprawności działania algorytmów.

Pytanie 15

Jakie skutki przyniesie zastosowanie przedstawionego formatowania CSS dla nagłówka trzeciego stopnia?

<style> h3 { background-color: grey; } </style> ... <h3 style="background-color: orange;"> Rozdział 1.2.2. </h3>
A. tło będzie szare
B. kolor tekstu będzie szary
C. kolor tekstu będzie pomarańczowy
D. tło będzie pomarańczowe
W tym przykładzie pokazano dwa różne sposoby stylizacji za pomocą CSS: styl wbudowany i styl zewnętrzny. Styl wbudowany ma wyższy priorytet, bo jest przypisany bezpośrednio do elementu HTML, a to oznacza, że w nagłówku trzeciego stopnia kolor tła będzie pomarańczowy. To ma sens, bo czasem musimy przeskoczyć ogólne reguły stylizacji, żeby wprowadzić jakieś szczególne zmiany. Używanie stylów wbudowanych może być jednak ryzykowne, bo jak się ich nagromadzi, to ciężko się potem w tym połapać. Dlatego lepiej korzystać z zewnętrznych stylów – są bardziej uporządkowane i pozwalają na łatwe powtarzanie kodu CSS. Ważne jest też, żeby nie łączyć HTML z CSS w sposób, który wprowadza zamęt, bo to ułatwia życie i sprawia, że kod jest bardziej zrozumiały. Wiedza na temat priorytetów w CSS jest kluczowa dla każdego, kto chce dobrze projektować strony i mieć wszystko ładnie poukładane.

Pytanie 16

Jak przeglądarka zaprezentuje kod HTML formularza?

<form>
stanowisko: <input type="text"><br>
obowiązki:<br>
<input type="checkbox" name="obowiazek1" value="1" disabled checked>
sporządzanie dokumentacji<br>
<input type="checkbox" name="obowiazek2" value="2" checked>
pisanie kodu<br>
<input type="checkbox" name="obowiazek3" value="3">
testy oprogramowania<br>
</form>
Ilustracja do pytania
A. D
B. B
C. C
D. A

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź to D ponieważ kod HTML formularza definiuje trzy pola wyboru typu checkbox z różnymi atrybutami wpływającymi na ich stan początkowy. Pierwsze pole wyboru dotyczące sporządzania dokumentacji posiada atrybuty disabled i checked co oznacza że będzie zaznaczone ale nieaktywne dla użytkownika. Oznacza to że użytkownik nie może zmienić jego stanu w przeglądarce. Drugie pole dotyczące pisania kodu ma tylko atrybut checked co oznacza że będzie zaznaczone i dostępne do edycji. Trzecie pole dotyczące testów oprogramowania nie posiada żadnego z tych atrybutów więc będzie domyślnie niezaznaczone i edytowalne. To zachowanie jest zgodne ze standardami HTML i dobrymi praktykami kodowania gdzie atrybuty kontrolują interakcje użytkownika z formularzami. Wiedza ta jest kluczowa dla projektantów stron internetowych aby zapewnić prawidłowe działanie formularzy i poprawne doświadczenie użytkownika. Formularze są podstawowym elementem interakcji z użytkownikiem dlatego zrozumienie ich działania jest niezbędne w tworzeniu funkcjonalnych i intuicyjnych interfejsów użytkownika.

Pytanie 17

Wybierz prawidłowy sposób umieszczania komentarzy w kodzie źródłowym HTML

A. <!-- informacje komentarza -->
B. /* informacje komentarza */
C. -- informacje komentarza --
D. "" informacje komentarza ""
Poprawny komentarz w HTML musi być zapisany dokładnie w formie: <!-- treść komentarza -->. To jest jedyny format zgodny ze specyfikacją HTML (HTML5, ale też starsze wersje). Przeglądarka traktuje wszystko, co znajduje się między ciągiem znaków <!-- a -->, jako komentarz, czyli tego nie wyświetla użytkownikowi i nie interpretuje jako kod. Dzięki temu można w kodzie zostawiać sobie uwagi, opisy sekcji, tymczasowo coś „wyłączyć” albo oznaczyć fragment do późniejszej edycji. W praktyce stosuje się np.: <!-- Nawigacja główna strony --> albo <!-- TODO: dodać link do panelu logowania -->. Moim zdaniem komentarze są szczególnie ważne w większych projektach, bo po miesiącu naprawdę trudno pamiętać, po co była jakaś dziwna konstrukcja w HTML. Warto też wiedzieć, że w HTML nie stosujemy ani //, ani /* */ jak w JavaScript czy CSS. To są inne języki, inne reguły. Jeżeli wstawisz coś w stylu <!-- <p>Tekst</p> -->, to cały ten akapit jest ignorowany przez przeglądarkę, co jest wygodne przy testowaniu. Dobra praktyka jest też taka, żeby nie przesadzać z ilością komentarzy, ale tam gdzie struktura jest mniej oczywista (np. zagnieżdżone divy, rozbudowane formularze), lepiej dodać krótki, konkretny opis. W projektach komercyjnych często używa się komentarzy do oznaczania sekcji layoutu, np. <!-- HEADER START -->, <!-- FOOTER END -->, co ułatwia pracę całemu zespołowi. W skrócie: tylko zapis z nawiasami ostrymi i myślnikami, czyli <!-- ... -->, jest w HTML prawidłowy i rozpoznawany jako komentarz.

Pytanie 18

Jakiego typu danych w bazie MySQL należy używać, aby zapisać datę oraz czas w jednym polu?

A. YEAR
B. BOOLEAN
C. DATE
D. TIMESTAMP
Typ danych TIMESTAMP w MySQL jest idealnym wyborem do przechowywania zarówno daty, jak i czasu w jednym polu, co czyni go bardzo funkcjonalnym w kontekście aplikacji wymagających ścisłej kontroli nad czasem zdarzeń. TIMESTAMP przechowuje datę i czas jako liczbę sekund, które upłynęły od 1 stycznia 1970 roku, co pozwala na łatwe manipulowanie danymi związanymi z czasem, jak obliczanie różnic między datami czy sortowanie po czasie. Przykładowo, w aplikacjach takich jak systemy rezerwacji, gdzie istotne jest nie tylko kiedy coś zostało zarezerwowane, ale również czas rezerwacji, użycie TIMESTAMP umożliwia efektywne zarządzanie danymi. Dodatkowo, TIMESTAMP automatycznie aktualizuje się, gdy rekord jest zmieniany, co jest niezwykle przydatne w kontekście audytów i monitorowania historii zmian w danych. Warto również zauważyć, że TIMESTAMP w MySQL obsługuje strefy czasowe, co czyni go bardziej uniwersalnym w międzynarodowych zastosowaniach. W standardach branżowych dobre praktyki wskazują na używanie TIMESTAMP dla operacji wymagających ścisłej synchronizacji czasowej oraz tam, gdzie istotna jest informacja o czasie zdarzenia.

Pytanie 19

W poniższym kodzie PHP wykonano operację na bazie danych. Której funkcji należy użyć, aby pobrać liczbę zmienionych w tabeli wierszy?

$zapytanie="UPDATE kadra SET stanowisko='Programista' WHERE id < 10";
mysqli_query($db, $zapytanie);
A. mysqli_field_count()
B. mysqli_use_result()
C. mysqli_affected_rows()
D. mysqli_num_rows()
Wybrana odpowiedź jest niestety niepoprawna. Może to wynikać z niezrozumienia różnych funkcji dostępnych w języku PHP do manipulowania danymi w bazach danych MySQL. Funkcja mysqli_field_count() zwraca liczbę pól w wyniku zapytania SELECT, a nie liczbę zmienionych wierszy. Z kolei mysqli_use_result() inicjuje pobieranie wyników zapytania wysłanego do serwera MySQL i nie zwraca informacji o liczbie zmienionych wierszy. Natomiast funkcja mysqli_num_rows() zwraca liczbę wierszy w wyniku zapytania SELECT, a nie liczbę zmienionych wierszy. Do tego celu służy jedynie funkcja mysqli_affected_rows(), która zwraca liczbę wierszy zmienionych, dodanych lub usuniętych przez ostatnie wywołanie funkcji mysqli_query() na serwerze MySQL. Pamiętaj więc, że wybór odpowiedniej funkcji zależy od kontekstu i rodzaju operacji wykonanej na bazie danych.

Pytanie 20

Warunek zapisany w JavaScript jest prawdziwy, gdy zmienna x przechowuje:

if ((!isNaN(x)) && (x > 0))
A. napis.
B. dowolną całkowitą wartość liczbową.
C. pusty napis.
D. dowolną dodatnią wartość liczbową.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie wyłapałeś, że ten warunek jest prawdziwy tylko wtedy, gdy x przechowuje dodatnią wartość liczbową. Rozbijmy to na części. Funkcja isNaN(x) w JavaScript sprawdza, czy przekazany argument „nie jest liczbą” (NaN = Not a Number). Zapis z wykrzyknikiem: !isNaN(x) oznacza więc „x jest liczbą lub da się go zinterpretować jako liczbę”. Druga część warunku: (x > 0) wymusza, żeby ta wartość była większa od zera, czyli dodatnia. Operator && (AND logiczne) powoduje, że oba warunki muszą być spełnione jednocześnie. W efekcie if wykona się tylko wtedy, gdy x reprezentuje dodatnią liczbę (np. 1, 3.14, 100, 0.0001). Co ważne, w JavaScript !isNaN("5") też będzie prawdą, bo łańcuch "5" zostanie zrzutowany do liczby, więc w praktyce ten warunek przepuści zarówno typ number, jak i tekst, który da się przekonwertować na liczbę dodatnią. W realnych projektach taką konstrukcję stosuje się np. przy walidacji pól formularza: sprawdzamy, czy użytkownik podał sensowną wartość liczbową (np. cena, ilość sztuk, wiek) i czy nie jest ona ujemna albo zerowa. Z mojego doświadczenia lepiej jednak korzystać z Number.isNaN() i jawnie rzutować dane (np. const value = Number(x)), bo klasyczne isNaN ma parę „dziwnych” zachowań wynikających z automatycznych konwersji typów w JS. Mimo to logika w tym zadaniu jest typowa i zgodna z dobrymi praktykami: najpierw walidacja typu/wartości, potem dopiero dalsza logika biznesowa.

Pytanie 21

Aby przyznać użytkownikowi prawa do tabel w bazie danych, powinno się użyć polecenia

A. GRANT
B. SELECT
C. CREATE
D. REVOKE
Polecenie SELECT jest używane do pobierania danych z tabel w bazie danych, ale nie ma zastosowania w kontekście nadawania uprawnień. Chociaż wybór danych jest kluczowym aspektem pracy z bazą danych, nie można użyć SELECT do przyznawania użytkownikom dostępu do tych danych. Nieporozumienie dotyczące tego polecenia często wynika z mylnego przekonania, że użytkownik ma możliwość zarządzania uprawnieniami za pomocą standardowych operacji zapytań. Podobnie, polecenie CREATE służy do tworzenia nowych obiektów bazy danych, takich jak tabele, widoki czy procedury, jednak nie ma ono nic wspólnego z przydzielaniem uprawnień. Użytkownicy mogą mylić te operacje, ponieważ obie są częścią typowych zadań związanych z administracją bazą danych, ale w rzeczywistości pełnią różne funkcje. Oprócz tego, polecenie REVOKE, chociaż jest związane z uprawnieniami, służy do ich odbierania, a nie nadawania. Użytkownik, który decyduje się na jego użycie, musi być świadomy, że może to wpływać na dostęp do danych i funkcjonalność systemu. Zrozumienie różnicy między tymi poleceniami jest kluczowe dla skutecznego zarządzania bezpieczeństwem i dostępem do danych w bazie, co jest niezbędne w każdym dobrze zarządzanym środowisku IT.

Pytanie 22

W programowaniu obiektowym proces, dzięki któremu klasa podrzędna może wykorzystywać metody z klasy nadrzędnej, określa się mianem

A. wirtualizacją
B. polimorfizmem
C. dziedziczeniem
D. hermetyzacją
Polimorfizm, hermetyzacja i wirtualizacja to pojęcia związane z programowaniem obiektowym, ale nie odnoszą się do mechanizmu współdzielenia pól i metod klasy. Polimorfizm to koncepcja, która pozwala obiektom różnych klas być traktowanymi jako obiekty jednej klasy bazowej. Umożliwia to pisanie bardziej elastycznego kodu, który może pracować z różnymi typami obiektów. Na przykład, jeśli mamy metodę, która przyjmuje jako argument obiekt klasy 'Pojazd', możemy przekazać zarówno obiekt 'Samochód', jak i 'Motocykl', a metoda zadziała poprawnie w obu przypadkach. Hermetyzacja to natomiast technika ograniczania dostępu do wewnętrznych danych klasy, co pozwala na ochronę stanu obiektu przed nieautoryzowanymi modyfikacjami. Oznacza to, że pola klasy są często oznaczane jako prywatne, a dostęp do nich uzyskuje się za pomocą metod publicznych. Wirtualizacja odnosi się do technik umożliwiających tworzenie wirtualnych instancji, co jest bardziej związane z wirtualizacją systemów operacyjnych niż z dziedziczeniem w OOP. Typowe błędy myślowe mogą wynikać z mylenia tych pojęć z dziedziczeniem, co często zdarza się osobom, które dopiero zaczynają swoją przygodę z programowaniem obiektowym. Kluczowe jest zrozumienie, że każda z tych koncepcji ma swoje unikatowe zastosowanie i nie można ich stosować zamiennie bez utraty sensu i poprawności kodu.

Pytanie 23

Jakie zadanie wykonuje funkcja agregująca AVG w poniższym zapytaniu?

SELECT AVG(cena) FROM uslugi;
A. wyznaczyć największą cenę za usługi
B. sprawdzić, ile usług znajduje się w tabeli
C. obliczyć średnią arytmetyczną cen wszystkich usług
D. zsumować ceny wszystkich usług

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Dobra robota z odpowiedzią! Funkcja AVG w SQL służy do obliczania średniej z wartości w danej kolumnie, tutaj mamy kolumnę 'cena' w tabeli 'uslugi'. Korzystając z AVG, możesz łatwo dowiedzieć się, jaki jest średni koszt usług, co jest mega pomocne w analizowaniu wydatków. Moim zdaniem, średnia arytmetyczna ma spore znaczenie w raportach finansowych, przy podejmowaniu decyzji w biznesie i śledzeniu trendów rynkowych. Fajnie jest też wiedzieć, że ta funkcja ignoruje wartości NULL, co sprawia, że wyniki są bardziej wiarygodne, kiedy nie wszystkie usługi mają podane ceny. Warto pamiętać, że najlepiej używać funkcji agregujących z klauzulami GROUP BY, żeby móc dokładniej analizować, na przykład średnie ceny w różnych kategoriach usług.

Pytanie 24

Selektor CSS a:link {color:red} użyty w kaskadowych arkuszach stylów określa

A. klasę
B. pseudoklasę
C. pseudoelement
D. identyfikator

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź, którą wybrałeś, to pseudoklasa. W CSS jest to typowa sprawa, bo selektor a:link to właśnie przykład użycia pseudoklas. Dzięki nim możesz stylizować różne elementy na podstawie ich stanu lub tego, jak się zachowują w dokumencie. Na przykład, selektor a:link definiuje styl dla linków, które jeszcze nie zostały odwiedzone - więc jeśli ktoś kliknął na link, zmienia się jego wygląd. Używając pseudoklas, możesz znacznie poprawić estetykę stron i sprawić, że będą bardziej przyjazne dla użytkowników. Pomyśl o takich pseudoklasach jak :hover, co zmienia styl, gdy najedziemy kursorem, albo :active, która wprowadza zmiany podczas klikania. To naprawdę dobra technika, żeby nadać stronom fajny, dynamiczny charakter. Rozumienie pseudoklas to istotna sprawa w web designie, a to, co się zgadza z tym, co mówi W3C, to dodatkowy atut.

Pytanie 25

W języku HTML, aby ustawić tytuł dokumentu na "Moja strona", który będzie widoczny na karcie przeglądarki internetowej, należy użyć zapisu

A. <meta name="title" content="Moja strona">
B. <title>Moja strona</title>
C. <head>Moja strona</head>
D. <meta title="Moja strona">
Odpowiedź <title>Moja strona</title> jest poprawna, ponieważ element <title> jest standardowym sposobem definiowania tytułu dokumentu HTML, który jest wyświetlany na pasku tytułowym przeglądarki. Zgodnie z normą HTML, element ten powinien być umieszczony wewnątrz sekcji <head> dokumentu. Przykładowa struktura dokumentu HTML z tytułem wygląda następująco: <html><head><title>Moja strona</title></head><body></body></html>. Tytuł jest istotny nie tylko dla użytkowników, ale również dla wyszukiwarek internetowych, ponieważ wpływa na SEO (Search Engine Optimization). Dobrze dobrany tytuł może zwiększyć klikalność linków w wynikach wyszukiwania. Dodatkowo, element <title> jest ważnym aspektem dostępności, ponieważ osoby korzystające z technologii asystujących polegają na nim, aby zrozumieć zawartość strony. W kontekście dobrych praktyk warto pamiętać, że tytuł powinien być krótki, zwięzły i adekwatny do treści strony. Warto również unikać duplikatów tytułów na różnych stronach tej samej witryny, co może prowadzić do chaosu w nawigacji i negatywnie wpływać na doświadczenia użytkowników oraz SEO.

Pytanie 26

Tabela o nazwie naprawy posiada kolumny klient oraz czyNaprawione. W celu usunięcia rekordów, w których wartość pola czyNaprawione wynosi prawda, należy użyć komendy

A. DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;
B. DELETE FROM naprawy;
C. DELETE naprawy WHERE czyNaprawione = TRUE;
D. DELETE FROM naprawy WHERE czyNaprawione = TRUE;
Odpowiedź "DELETE FROM naprawy WHERE czyNaprawione = TRUE;" jest poprawna, ponieważ wykorzystuje właściwą składnię SQL do usunięcia rekordów z tabeli. Komenda DELETE jest używana do usuwania danych z bazy danych, a klauzula WHERE precyzuje, które rekordy mają być usunięte na podstawie określonych warunków. W tym przypadku, usuwane są tylko te rekordy, które mają wartość TRUE w polu czyNaprawione. Zastosowanie klauzuli WHERE jest kluczowe, ponieważ umożliwia precyzyjne wybranie danych do usunięcia, co zapobiega przypadkowemu skasowaniu wszystkich rekordów w tabeli. W praktyce, taką komendę można wykorzystać w różnych aplikacjach związanych z zarządzaniem danymi, np. w systemach informatycznych do obsługi klienta, gdzie zachodzi potrzeba bieżącego zarządzania statusami napraw. Dobre praktyki w programowaniu baz danych nakazują zawsze stosować klauzulę WHERE przy usuwaniu danych, aby uniknąć niezamierzonych skutków. Warto również przetestować zapytania w środowisku testowym przed ich zastosowaniem w produkcji, co zwiększa bezpieczeństwo operacji na danych.

Pytanie 27

W języku CSS zdefiniowano styl. Sformatowana stylem sekcja będzie zawierała obramowanie o szerokości

div { border: solid 2px blue;
    margin: 20px;             }
A. 20 px oraz marginesy wewnątrz tego obramowania.
B. 2 px oraz marginesy na zewnątrz tego obramowania.
C. 2 px oraz marginesy wewnątrz tego obramowania.
D. 20 px oraz marginesy na zewnątrz tego obramowania.
Gratulacje, twoja odpowiedź jest poprawna! W CSS obramowanie (border) i margines (margin) są dwoma różnymi typami przestrzeni, które możemy zdefiniować wokół elementu. W tym pytaniu dokładnie określono styl obramowania jako linię ciągłą o szerokości 2 piksele. W praktyce jest to cienka linia otaczająca element na stronie. Z kolei margines zdefiniowany jako 20 pikseli to przestrzeń między obramowaniem a następnym elementem. Jest to zgodne ze standardami CSS, które mówią, że marginesy znajdują się zawsze na zewnątrz obramowania. To dlaczego '2 px oraz marginesy na zewnątrz tego obramowania' jest poprawną odpowiedzią. W praktyce, kontrolowanie obramowania i marginesów pozwala nam na precyzyjne ułożenie elementów na stronie, co jest kluczowym aspektem tworzenia responsywnych, atrakcyjnych stron internetowych.

Pytanie 28

Która z poniższych definicji funkcji w języku C++ przyjmuje argument typu rzeczywistego i zwraca wynik typu całkowitego?

A. float fun1(void a);
B. float fun1(int a);
C. int fun1(float a);
D. void fun1(int a);

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'int fun1(float a);' jest jak najbardziej trafna. Zauważ, że ta deklaracja ma parametr typu float, czyli rzeczywisty, a do tego zwraca wartość typu całkowitego (int). W C++ funkcje mogą mieć różne typy parametrów, a typ zwracanej wartości to coś, co warto podkreślić, bo mówi nam, co dostaniemy po wywołaniu tej funkcji. Takie podejście jest super przydatne, gdy musimy pracować z danymi zmiennoprzecinkowymi i chcemy uzyskać liczbę całkowitą. Przykładowo, wyobraź sobie funkcję, która przelicza liczbę rzeczywistą na zaokrągloną całkowitą za pomocą 'static_cast<int>()'. Zgoda co do typów jest kluczowa w programowaniu, a dobra praktyka to jedno – zawsze lepiej jasno określać typy danych, co w efekcie zwiększa czytelność i niezawodność kodu, a potem też łatwiej się w nim poruszać.

Pytanie 29

W tabeli o nazwie pracownicy zdefiniowano klucz główny w typie INTEGER z atrybutami NOT NULL oraz AUTO_INCREMENT. Dodatkowo zdefiniowane zostały pola imie oraz nazwisko. W przypadku wykonania podanej kwerendy SQL, która dodaje dane i pomija pole klucza, w bazie danych MySQL nastąpi

INSERT INTO pracownicy (imie, nazwisko)
VALUES ('Anna', 'Nowak');
A. zignorowanie polecenia, tabela nie ulegnie zmianie
B. błąd związany z niewłaściwą liczbą pól
C. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
D. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W przypadku tabeli z kluczem głównym typu INTEGER z atrybutem AUTO_INCREMENT, kiedy wprowadzamy nowy rekord i pomijamy pole klucza głównego, baza danych MySQL sama automatycznie przydziela kolejną wartość liczbową dla tego pola. AUTO_INCREMENT to mechanizm, który zapewnia, że każdemu nowemu rekordowi przypisana jest unikalna wartość klucza głównego, zaczynając od wartości początkowej, zwykle 1, i zwiększając ją o 1 z każdym nowym rekordem. Jest to niezwykle użyteczne w sytuacjach, gdy zależy nam na unikalności wartości kluczy głównych, co zapewnia integralność danych i unika konieczności ręcznego określania wartości klucza przy każdym nowym wpisie. Takie podejście jest zgodne ze standardami dobrych praktyk, ponieważ minimalizuje ryzyko błędów związanych z duplikacją danych. Przykładowo, jeśli do tabeli pracownicy dodajemy rekord z danymi pracownika, nie musimy się martwić o wartość identyfikatora, co znacznie upraszcza proces zarządzania danymi. Mechanizm AUTO_INCREMENT jest zatem kluczowy w kontekście zarządzania bazami danych, zapewniając automatyzację i integralność danych.

Pytanie 30

char str1[30] = 'Ala ma kota';
printf("%s", str1); 
Jakie jest źródło błędu w prezentowanym kodzie napisanym w języku C++?
A. Napis powinien być umieszczony w cudzysłowie.
B. Do funkcji printf przekazano za mało argumentów.
C. W funkcji printf nie można używać formatowania %s.
D. Napis powinien mieć dokładnie 30 znaków.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź wskazująca, że napis powinien być ujęty w cudzysłów jest poprawna, ponieważ w języku C/C++ napisy (łańcuchy znaków) muszą być ujęte w podwójne cudzysłowy, aby zostały prawidłowo zinterpretowane przez kompilator. W przedstawionym kodzie, zamiast użycia pojedynczych cudzysłowów, które są przeznaczone do definiowania pojedynczych znaków (char), należy użyć podwójnych, aby zdefiniować napis jako tablicę znaków. Takie podejście jest zgodne z standardami języka C i C++, gdzie łańcuchy znaków są implementowane jako tablice znaków zakończone znakiem null ('\0'). Przykładowo, poprawny sposób zapisu to: char str1[30] = "Ala ma kota";. Stosowanie odpowiednich cudzysłowów jest kluczowe w programowaniu, ponieważ może zapobiegać wielu błędom kompilacji oraz ułatwiać późniejszą edycję i zarządzanie kodem. Warto również pamiętać, że dobrym zwyczajem jest stosowanie tablic odpowiedniej wielkości, aby uniknąć nadpisywania pamięci, co może prowadzić do nieprzewidywalnych zachowań programu.

Pytanie 31

Aby ustawić tło na stronie www należy użyć polecenia

A. <body bgcolor=""></body>
B. <bgcolor=""></bgcolor>
C. <body background=""></body>
D. <background=""></background>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby ustawić tło na stronie internetowej, należy użyć atrybutu bgcolor w znaczniku <body>. Jest to starożytna metoda definiowania koloru tła, która jest zgodna z wcześniejszymi standardami HTML. Atrybut bgcolor przyjmuje wartość w postaci koloru w formie nazwy, hexadecymalnej lub RGB. Na przykład, <body bgcolor='#FF5733'></body> ustawi pomarańczowe tło. Pomimo że ta metoda działa, w dzisiejszych czasach zaleca się korzystanie z CSS, co umożliwia bardziej zaawansowane i elastyczne style. Zamiast polegać na atrybucie HTML, można zastosować regułę CSS: body { background-color: #FF5733; }. Użycie CSS nie tylko poprawia organizację kodu, ale także zwiększa dostępność i responsywność strony. Dlatego, chociaż atrybut bgcolor jest poprawny, warto skupić się na nowoczesnych metodach stylizacji, które są zgodne z aktualnymi standardami W3C i są bardziej przyszłościowe.

Pytanie 32

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

A. const
B. #INCLUDE
C. static
D. #const
Wybór innych odpowiedzi wskazuje na pewne nieporozumienia dotyczące podstaw języka C. Użycie słowa kluczowego 'static' nie jest związane z deklarowaniem stałych, lecz określa zasięg oraz czas życia zmiennych. Zmienna zadeklarowana jako 'static' zachowuje swoją wartość pomiędzy wywołaniami funkcji, co jest zupełnie inną koncepcją niż ochrona wartości przed modyfikacją. Z kolei '#const' to niepoprawna składnia, ponieważ w języku C nie istnieje taki preprocesor. Preprocesory, takie jak '#define', są używane do definiowania makr, ale nie do deklarowania stałych. Przykładowo, '#define PI 3.14' tworzy makro, które jest zastępowane w kodzie, ale nie zapewnia typowania zmiennych, co może prowadzić do trudnych do zdiagnozowania błędów. Ostatnia odpowiedź, '#INCLUDE', odnosi się do preprocesora, który jest używany do włączania plików nagłówkowych, a nie do definiowania stałych. Często mylone jest podejście do użycia preprocesorów z możliwością deklarowania stałych, co może prowadzić do nieefektywnego zarządzania kodem i trudności w jego zrozumieniu. Kluczowe jest rozróżnienie tych koncepcji, aby uniknąć typowych błędów myślowych i zapewnić, że kod będzie zarówno funkcjonalny, jak i łatwy do utrzymania.

Pytanie 33

Która z funkcji SQL nie wymaga podania argumentów?

A. year
B. now
C. upper
D. len
Funkcja SQL now() jest funkcją, która nie wymaga żadnych argumentów, a jej głównym celem jest zwrócenie bieżącej daty i godziny w formacie odpowiednim dla systemu zarządzania bazą danych. Funkcja ta jest często używana w aplikacjach, które wymagają dynamicznego śledzenia czasu, takich jak rejestrowanie daty i godziny wstawiania danych do tabel. W standardzie SQL, funkcje tego rodzaju są kluczowe dla operacji związanych z czasem. Na przykład, używając zapytania SELECT now(); zwracana jest bieżąca data i godzina. Funkcja ta jest szczególnie przydatna w kontekście transakcji oraz w kontrolowaniu stanu danych w bazie. W wielu popularnych systemach zarządzania bazą danych, takich jak MySQL czy PostgreSQL, now() jest szeroko wykorzystywana do synchronizacji operacji bazodanowych z aktualnym czasem. Warto zaznaczyć, że funkcja ta nie przyjmuje żadnych parametrów, co odróżnia ją od innych funkcji, które wymagają przynajmniej jednego argumentu. Dlatego now() jest idealnym przykładem funkcji, która działa autonomicznie i zwraca wartość bez potrzeby podawania dodatkowych informacji.

Pytanie 34

W HTML, aby dodać obrazek z tekstem przylegającym, umiejscowionym na środku obrazka, trzeba użyć znacznika

A. <img src="/obrazek.png" alt="obraz1" hspace="30px">tekst
B. <img src="/obrazek.png" alt="obraz4">tekst
C. <img src="/obrazek.png" alt="obraz3" height="50%">tekst
D. <img src="/obrazek.png" alt="obraz2" align="middle">tekst
Aby wstawić obrazek z tekstem przyległym w HTML, należy skorzystać ze znacznika <img> z atrybutem align ustawionym na 'middle'. Atrybut align jest przestarzały w HTML5, ale nadal może być używany w kontekście tekstów przylegających do obrazków. Ustawiając 'middle', obrazek będzie wyśrodkowany w pionie względem linii tekstu, co pozwala na estetyczne umiejscowienie obrazu w odniesieniu do towarzyszącego mu tekstu. Dobrym przykładem jest zastosowanie <img src='/obrazek.png' alt='obraz2' align='middle'>tekst, co sprawia, że obrazek staje się integralną częścią tekstu, a nie tylko jego dodatkiem. W kontekście standardów, warto zauważyć, że HTML5 zaleca stosowanie CSS do pozycjonowania, dlatego bardziej współczesnym podejściem byłoby użycie stylów CSS, np. 'vertical-align: middle'. Można to osiągnąć poprzez dodanie klasy do obrazka oraz odpowiedniego stylu CSS. Chociaż align jest przestarzały, jego rozumienie jest istotne dla osób przystosowujących starsze strony do nowych standardów.

Pytanie 35

Jakie zadanie wykonuje funkcja napisana w JavaScript?

function fun1(a,b)
{
    if ( a % 2 != 0 ) a++;
    for(n=a; n<=b; n+=2)
        document.write(n);
}
A. wypisanie liczb parzystych w przedziale od a do b
B. zwrócenie parzystych wartości liczb od a do b
C. wypisanie wszystkich liczb w zakresie od a do b
D. sprawdzenie, czy liczba a jest liczbą nieparzystą; jeśli tak, to jej wypisanie
Analiza niepoprawnych odpowiedzi wymaga zrozumienia, dlaczego poszczególne opcje nie pasują do działania funkcji fun1. W pierwszym przypadku, opcja dotycząca sprawdzania, czy liczba a jest nieparzysta i jej wypisywania, nie jest zgodna z logiką funkcji. Chociaż funkcja sprawdza, czy a jest nieparzysta, to nie wypisuje jej, lecz zmienia ją na parzystą, co wskazuje, że jej celem nie jest wypisywanie liczby a, ale przygotowanie jej do dalszej iteracji. Wypisanie wszystkich liczb z przedziału od a do b również nie jest prawidłowe, ponieważ funkcja nie iteruje po wszystkich liczbach, lecz wyłącznie po liczbach parzystych. Warto zauważyć, że funkcja pomija wszystkie liczby nieparzyste, co wyklucza tę opcję. Kolejna możliwa odpowiedź sugeruje zwracanie wartości parzystych liczb od a do b, jednak funkcja nie wykorzystuje żadnej procedury zwracania wartości, a jej konstrukcja wskazuje na bezpośrednie wypisywanie wyników, co wyklucza tę możliwość. Typowy błąd myślowy to niepoprawne rozumienie działania pętli for oraz operacji wypisywania danych w kontekście przeglądarki internetowej, co jest istotne z punktu widzenia dynamicznych aplikacji webowych. Zrozumienie, jak działa operator modulo i jego rola w wyznaczaniu parzystości liczb, jest kluczowe dla poprawnego interpretowania takich fragmentów kodu. Wskazane jest również, aby programiści byli świadomi różnicy między wypisywaniem a zwracaniem wyników, co często prowadzi do nieporozumień w kontekście funkcji i metod w JavaScript i innych językach programowania.

Pytanie 36

Jakie słowo kluczowe w językach z grupy C powinno być wykorzystane do nadania alternatywnej nazwy już istniejącemu typowi danych?

A. enum
B. union
C. typedef
D. switch
Użycie słów kluczowych takich jak 'enum', 'union' czy 'switch' w kontekście nadawania alternatywnych nazw dla typów danych w języku C prowadzi do nieporozumień i błędnych praktyk programistycznych. Enum to typ, który definiuje zbiór stałych nazwanych, co pozwala na lepsze zarządzanie zestawem wartości. Na przykład, zamiast używać liczby do reprezentacji dni tygodnia, możemy użyć 'enum { MONDAY, TUESDAY, WEDNESDAY };', co poprawia czytelność, ale nie pozwala na nadanie aliasu dla złożonego typu. Union z kolei to typ, który pozwala na przechowywanie różnych typów w tym samym miejscu w pamięci, co również nie jest odpowiednie do przypisania nazwy dla istniejącego typu. Switch jest konstrukcją sterującą, a nie typem danych, używaną do wykonywania różnych fragmentów kodu w zależności od wartości zmiennej. Użycie tych konstrukcji w miejsce typedef może prowadzić do nieczytelności kodu i błędnych założeń dotyczących typów danych. Kluczowe jest rozumienie, że każdy z tych elementów ma swoje specyficzne zastosowanie, a ich pomylenie z typedef jest typowym błędem myślowym. Właściwe użycie typedef jest fundamentalnym aspektem dobrego programowania w C, ponieważ pozwala na definiowanie bardziej złożonych struktur danych w sposób, który jest zarówno zrozumiały, jak i łatwy do utrzymania.

Pytanie 37

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr { background-color: Pink; }
B. tr:active { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. td, th { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 38

Każde informacje, które odnoszą się do innych informacji, określane są jako

A. markup language.
B. metadata.
C. databus.
D. metalanguage.
Odpowiedź 'metadata' jest poprawna, ponieważ termin ten odnosi się do danych, które dostarczają informacji o innych danych. Metadata może zawierać różnorodne informacje, takie jak autor, data utworzenia, format pliku czy nawet kontekst użycia danych. Przykłady zastosowania metadanych obejmują biblioteki cyfrowe, gdzie metadata opisuje książki lub artykuły, umożliwiając ich łatwe wyszukiwanie. Standardy takie jak Dublin Core czy ISO 19115 definiują, jakie elementy powinny być uwzględnione w metadanych dla różnych typów zasobów. Dzięki dobrym praktykom w zakresie metadanych, organizacje mogą poprawić zarządzanie danymi, ułatwić ich wymianę oraz zapewnić, że użytkownicy będą mogli łatwo odnaleźć i wykorzystać odpowiednie informacje. W dobie Big Data i analityki danych, znaczenie metadanych rośnie, ponieważ umożliwiają one efektywne przetwarzanie i analizę dużych zbiorów informacji, wspierając decyzje biznesowe oraz innowacje technologiczne.

Pytanie 39

Wskaż, który paragraf jest sformatowany przy użyciu podanego stylu CSS:

p {
    font-family: serif;
    background-color: Teal;
    color: white;
    font-style: italic;
}
Ilustracja do pytania
A. Paragraf 1
B. Paragraf 3
C. Paragraf 2
D. Paragraf 4
Paragraf 4 jest prawidłowo sformatowany zgodnie z przedstawionym stylem CSS. W stylu tym zastosowano cztery właściwości: font-family o wartości serif co sugeruje użycie czcionki o kroju szeryfowym background-color ustawiony na Teal co ustawia tło na ciemnozielony kolor color ustawiony na White co oznacza że tekst powinien być biały oraz font-style ustawiony na italic co powoduje że tekst jest pochylony. Paragraf 4 spełnia te kryteria jest napisany czcionką szeryfową ma ciemnozielone tło biały tekst i jest kursywą. Zastosowanie takich stylów jest częste w projektowaniu stron internetowych gdzie ważne jest czytelne i estetyczne przedstawienie informacji. Używanie odpowiednich stylów CSS pozwala na lepszą organizację wizualną treści co jest kluczowe w tworzeniu interfejsów przyjaznych dla użytkownika. Stylowanie w CSS wspiera standardy takie jak CSS3 które wprowadzają nowe właściwości i ulepszenia umożliwiające bardziej zaawansowane i wydajne metody formatowania.

Pytanie 40

Które zapytanie SQL wybiera nazwiska z tabeli klient, które mają co najmniej jedną literę i zaczynają się na literę Z?

A. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z_%'
B. SELECT nazwisko FROM klient WHERE nazwisko='Z_?'
C. SELECT nazwisko FROM klient WHERE nazwisko='Z?'
D. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z%'
Odpowiedź SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z%'; jest poprawna, ponieważ wykorzystuje operator LIKE, który jest standardowym narzędziem w SQL do wyszukiwania wzorców w danych tekstowych. Znak procenta (%) w tym kontekście oznacza, że może wystąpić dowolna liczba znaków po literze Z, co jest zgodne z wymaganiem, aby nazwiska były co najmniej jednoliterowe. W praktyce, takie zapytanie umożliwia efektywne wyszukiwanie danych w bazach, co jest kluczowe w kontekście aplikacji zarządzających danymi klientów. Dobre praktyki w projektowaniu baz danych zalecają stosowanie operatora LIKE do filtrowania wyników, co pozwala na zwiększenie przejrzystości i wydajności. W przypadku wyszukiwania nazwisk, można również użyć indeksów, aby przyspieszyć wykonanie zapytań, co jest ważne w kontekście dużych zbiorów danych, gdzie czas odpowiedzi aplikacji może mieć istotne znaczenie dla użytkowników końcowych. Używanie LIKE w połączeniu z odpowiednimi znakami wieloznacznymi jest więc kluczowym elementem efektywnego zarządzania danymi.