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: 22 lipca 2026 18:16
  • Data zakończenia: 22 lipca 2026 18:34

Egzamin niezdany

Wynik: 15/40 punktów (37,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

Grafik chce przekształcić bez utraty jakości obraz formatu JPEG w format PNG w ten sposób, żeby wszędzie tam, gdzie w pierwotnym obrazie jest kolor biały, w obrazie docelowym była przezroczystość. Aby to zrobić, powinien

A. zmniejszyć rozdzielczość obrazu.
B. dodać kanał alfa.
C. przekształcić obraz w odcienie szarości.
D. zaimportować obraz do edytora grafiki wektorowej.
Prawidłowa odpowiedź wynika z samej idei przezroczystości w grafice rastrowej. Żeby w PNG jakikolwiek piksel mógł być przezroczysty, obraz musi mieć kanał alfa, czyli dodatkową składową opisującą stopień przeźroczystości (opacity) dla każdego piksela. Standardowe RGB ma trzy kanały: R (czerwony), G (zielony), B (niebieski). Format PNG bardzo często używa wariantu RGBA, gdzie A (alpha) definiuje, na ile piksel jest widoczny: 0 oznacza całkowitą przezroczystość, 255 (albo 1.0 przy wartościach zmiennoprzecinkowych) pełną nieprzezroczystość. Dopiero po dodaniu kanału alfa można w programie graficznym zaznaczyć wszystkie białe obszary i ustawić im wartość alfa na 0. To właśnie realizuje wymaganie: „tam gdzie biały – ma być przezroczystość”. Z mojego doświadczenia w pracy z grafiką na potrzeby WWW, typowy workflow wygląda tak: otwierasz JPEG w edytorze rastrowym (np. GIMP, Photoshop, Krita), konwertujesz obraz do trybu z kanałem alfa (w Photoshopie: „Layer > New > Layer from Background” i „Add Layer Mask” albo „Add Alpha Channel” w GIMP-ie), następnie za pomocą narzędzia zaznaczania koloru (Magic Wand / Select by Color) wybierasz białe fragmenty i je usuwasz lub zmniejszasz im krycie. Dopiero potem zapisujesz jako PNG, który natywnie wspiera przezroczystość zgodnie ze specyfikacją formatu. Ważne też, że przy takim przekształceniu nie zwiększasz strat kompresji, bo PNG jest formatem bezstratnym. Straty są już w JPEG-u i ich się nie cofnie, ale samo przejście do PNG z kanałem alfa nie pogorszy jakości bardziej. W praktyce to jest standardowa procedura przygotowania ikon, logotypów i elementów UI na strony WWW, gdzie tło strony „prześwituje” przez przezroczyste fragmenty grafiki.

Pytanie 2

Aby uzyskać dane z tabeli pracownicy wyłącznie dla osób, które osiągnęły 26 lat, należy zastosować zapytanie

A. SELECT * FROM wiek WHERE pracownicy > '25'
B. SELECT * FROM pracownicy WHERE wiek > '25'
C. SELECT * FROM pracownicy OR wiek > '25'
D. SELECT * FROM pracownicy AND wiek > '25'
Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > '25';'. To zapytanie jest zgodne z zasadami SQL i pozwala na wyświetlenie wszystkich rekordów z tabeli 'pracownicy', które spełniają określony warunek dotyczący wieku. Używając klauzuli WHERE, precyzyjnie filtrujemy wyniki i zwracamy tylko tych pracowników, którzy mają więcej niż 25 lat. Warto pamiętać, że w SQL operator '>' jest wykorzystywany do porównywania wartości, a w tym przypadku pozwala nam na wybranie pracowników, którzy ukończyli 26 lat. Przy projektowaniu zapytań SQL, kluczowe jest stosowanie odpowiednich warunków filtrujących, aby ograniczyć zwracane dane do tych istotnych dla analiz. Przykładowo, analiza wieku pracowników w kontekście przyznawania dodatków lub przeprowadzania szkoleń może opierać się na takich zapytaniach. W praktyce, ważne jest także wykorzystanie indeksów w bazach danych, aby zwiększyć wydajność zapytań, zwłaszcza w dużych zbiorach danych.

Pytanie 3

Która funkcja PHP zamieni wyraz „kota” na „mysz” w napisie „ala ma kota”?

A.
replace("ala ma kota", "kota", "mysz");
B.
replace("kota", "mysz", "ala ma kota");
C.
str_replace("ala ma kota", "kota", "mysz");
D.
str_replace("kota", "mysz", "ala ma kota");
Pozostałe wywołania są błędne. Funkcja replace() (bez str_) w PHP NIE istnieje, więc dwa pierwsze warianty od razu odpadają. Wariant str_replace("ala ma kota", "kota", "mysz") używa właściwej funkcji, ale w złej kolejności - jako pierwszy podaje cały tekst zamiast szukanego fragmentu. Poprawne jest str_replace("kota", "mysz", "ala ma kota").

Pytanie 4

Aby przekształcić obraz z formatu JPEG na PNG tak, by biały kolor stał się przezroczysty, należy w pierwszej kolejności:

A. zmniejszyć rozdzielczość obrazu
B. zaimportować obraz do edytora grafiki wektorowej
C. dodać do obrazu kanał alfa
D. wymazać gumką wszystkie białe miejsca
Pozostałe czynności nie prowadzą do przezroczystości. Import do edytora grafiki wektorowej nie ma sensu - zdjęcie z JPEG jest rastrowe, a sama zmiana programu nie nada mu przezroczystych obszarów. Zmniejszenie rozdzielczości wpływa tylko na liczbę pikseli i jakość, nie na przezroczystość. Wycieranie gumką białych miejsc działa, dopiero gdy obraz ma już kanał alfa - inaczej zamiast przezroczystości pojawi się kolor tła. Aby biały kolor mógł stać się przezroczysty, najpierw trzeba dodać kanał alfa, dlatego to ta odpowiedź jest poprawna.

Pytanie 5

Jakiego elementu HTML brakuje, aby walidator HTML zgłosił ostrzeżenie lub błąd?

A. <title>
B. co najmniej jednego <h1>
C. <meta name="author" content="....">
D. <link>
Elementy <link>, <meta name="author" content="...."> oraz przynajmniej jedno <h1> mają swoje specyficzne zastosowania, ale ich brak nie powoduje błędów walidacyjnych w kontekście standardów HTML. Element <link> jest używany do odniesienia się do zewnętrznych zasobów, takich jak style CSS, lecz jego nieobecność nie wpłynie na walidację samego dokumentu HTML. Użytkownicy często mylą tę sytuację, zakładając, że każdy element w sekcji <head> jest obligatoryjny, co nie jest prawdą. Z kolei <meta name="author"> dostarcza informacje o autorze strony, ale nie jest to element wymagany do poprawnej walidacji. W kontekście SEO, jego brak może ograniczyć kontekstualizację strony, ale nie prowadzi do błędów walidacyjnych. Element <h1> jest ważny z punktu widzenia struktury treści, gdyż określa główny nagłówek strony, jednak nie jest bezwzględnie konieczny do walidacji HTML. Często można spotkać błędne przekonanie, że wszystkie te elementy muszą być obecne, co jest mylne. W rzeczywistości HTML pozwala na różne konfiguracje dokumentów, a istotne jest, aby przestrzegać podstawowych zasad dotyczących struktury i semantyki, co nie zawsze oznacza posiadanie każdego elementu w sekcji <head>.

Pytanie 6

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: right; }
B. nav { float: right; } section { float: right; }
C. aside {float: left; }
D. nav { float: left; } aside { float: left; }
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie.

W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie.

Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 7

W kodzie HTML zdefiniowano formularz, który wysyła dane do pliku formularz.php. Po naciśnięciu przycisku typu submit przeglądarka przechodzi do poniższego adresu:

../formularz.php?imie=Anna&nazwisko=Kowalska
Na podstawie podanego adresu można stwierdzić, że dane do pliku formularz.php zostały przesłane metodą:
A. COOKIE
B. SESSION
C. GET
D. POST
Wybrana przez ciebie odpowiedź jest nieprawidłowa. Wybrałeś metodę POST, COOKIE lub SESSION jako sposób przesyłania danych do pliku formularz.php, ale na podstawie widocznego adresu URL, który zawiera parametry przekazane po znaku zapytania (?), odpowiedź jest GET. Metoda POST jest również popularna w przesyłaniu danych, ale różni się od GET tym, że dane są przesyłane w ciele żądania, nie są widoczne w pasku adresu. COOKIE to mechanizm, który pozwala na przechowywanie danych na stronie klienta, nie jest to metoda przesyłania danych do serwera. SESSION to technika, która pozwala na przechowywanie informacji po stronie serwera, która jest powiązana z konkretnym użytkownikiem za pomocą identyfikatora sesji. Żadna z tych technik (POST, COOKIE, SESSION) nie powoduje, że parametry są widoczne w adresie URL, co jest charakterystyczne dla metody GET.

Pytanie 8

Jakie uprawnienia są wymagane do tworzenia i przywracania kopii zapasowej w MS SQL Server?

A. administratora systemu
B. zwykłego użytkownika (Users)
C. użytkownika zabezpieczeń
D. użytkownika lokalnego
Pozostałe konta mają zbyt wąski zakres. Konto zwykłego użytkownika (Users) służy do pracy na danych w granicach nadanych praw i nie obejmuje zarządzania kopiami. „Użytkownik zabezpieczeń” i „użytkownik lokalny” to także konta ograniczone, niewystarczające do tej operacji. Backup i restore wymagają uprawnień administratora systemu.

Pytanie 9

Jak nazywa się program, który wykonuje instrukcje zawarte w kodzie źródłowym bez wcześniejszego generowania programu wynikowego?

A. interpreter
B. kompilator
C. konwerter kodu
D. konwerter języka
Pozostałe odpowiedzi nie pasują do opisu. Kompilator działa odwrotnie - najpierw tłumaczy cały kod źródłowy na program wynikowy (np. plik .exe lub kod pośredni), który dopiero potem się uruchamia; nie wykonuje instrukcji „na żywo”. „Konwerter kodu” i „konwerter języka” nie są standardowymi nazwami narzędzi uruchamiających program - kojarzą się raczej z tłumaczeniem między formatami czy językami, a nie z wykonywaniem instrukcji. Kod źródłowy bez generowania programu wynikowego wykonuje interpreter, dlatego ta odpowiedź jest poprawna.

Pytanie 10

W języku PHP, podczas pracy z bazą danych MySQL, aby zakończyć sesję z bazą, powinno się użyć

A. mysqli_close()
B. mysqli_exit( )
C. mysqli_rollback()
D. mysqli_commit()
Odpowiedź 'mysqli_close()' jest poprawna, ponieważ ta funkcja służy do zamykania połączenia z bazą danych MySQL w PHP. Po zakończeniu operacji na bazie danych ważne jest, aby zwolnić zasoby, zwłaszcza w aplikacjach, które mogą otwierać wiele połączeń. Funkcja ta nie przyjmuje żadnych argumentów i jest niezwykle istotna, aby uniknąć wycieków pamięci oraz zapewnić, że wszystkie zasoby są odpowiednio zarządzane. Przykładowo, po zakończeniu wykonywania skryptu, który pobiera dane z bazy, można użyć mysqli_close($connection), gdzie $connection jest wcześniej utworzonym połączeniem. Zgodnie z najlepszymi praktykami programistycznymi, powinno się zamykać połączenia w momencie, gdy nie są już potrzebne. Należy również pamiętać, że pozostawienie otwartego połączenia może prowadzić do ograniczenia liczby dostępnych połączeń w serwerze MySQL, co w dłuższej perspektywie może wpływać na wydajność aplikacji.

Pytanie 11

W poniższym zapisie CSS kolor zielony zostanie zastosowany do

h2
{
    background-color: green;
}
A. czcionki wszystkich nagłówków na stronie
B. tła tekstu nagłówka drugiego poziomu
C. tła całej witryny
D. czcionki nagłówka drugiego poziomu
Zapis CSS h2 { background-color: green; } oznacza, że każdemu elementowi nagłówka drugiego stopnia przypisany zostanie zielony kolor tła. W CSS selektor h2 odnosi się bezpośrednio do wszystkich elementów HTML o tagu <h2>. Właściwość background-color służy do definiowania koloru tła elementu, nie wpływając na kolor czcionki samego nagłówka. W praktyce takie podejście pozwala na wyraźne wyróżnienie nagłówków na tle innych elementów strony, co może być kluczowe dla poprawy czytelności. Przyjęte w kodzie standardy zapewniają zgodność z najnowszymi wytycznymi W3C, pozwalając na efektywne zarządzanie stylami w projekcie. Wiedza o tym jak stylizować nagłówki za pomocą background-color jest fundamentalna dla każdego web developera, umożliwiając tworzenie atrakcyjnych i czytelnych interfejsów użytkownika w sposób zgodny z zasadami responsywnego projektowania. Ponadto, stosowanie takich stylizacji wspiera semantyczne podejście do strukturyzacji treści, co jest ważne dla optymalizacji SEO.

Pytanie 12

Kod PHP z fragmentem

if(empty($_POST["name"])){ $nameErr = "Name is required"; }
służy do obsługi
A. formularza
B. sesji
C. bazy danych
D. ciasteczek
Fragment kodu nie dotyczy sesji, ponieważ sesje w PHP są zarządzane poprzez funkcje takie jak session_start() oraz zmienne superglobalne $_SESSION, które przechowują dane użytkownika w trakcie sesji. Odpowiedź sugerująca, że kod ten odnosi się do ciasteczek, jest również błędna, ponieważ ciasteczka są zarządzane przez nagłówki HTTP i funkcje takie jak setcookie(), a nie przez bezpośrednie sprawdzanie zawartości formularza. Co więcej, fragment kodu nie ma związku z bazą danych; interakcja z bazą danych w PHP zazwyczaj odbywa się poprzez funkcje takie jak mysqli_query() lub PDO. Typowym błędem myślowym w wskazywaniu na sesje czy ciasteczka jest mylenie kontekstu, w jakim dane są przetwarzane. W tym przypadku, kod koncentruje się wyłącznie na walidacji danych z formularza, a pominięcie tego aspektu prowadzi do nieprawidłowych konkluzji. Poprawne zrozumienie roli walidacji formularzy jest kluczowe dla zapewnienia, że aplikacja działa zgodnie z oczekiwaniami użytkownika oraz zachowuje wysokie standardy bezpieczeństwa.

Pytanie 13

Który z elementów HTML jest elementem blokowym?

A. <span>
B. <p>
C. <strong>
D. <img>
Pozostałe elementy są liniowe (inline) - układają się w obrębie wiersza, nie wymuszając nowej linii. <img> wstawia obraz „w tekst”, więc domyślnie zachowuje się jak element liniowy. <span> to pojemnik inline, używany do wydzielenia fragmentu w obrębie wiersza (np. do ostylowania słowa). <strong> pogrubia fragment tekstu, również nie przerywając wiersza. Pełną szerokość i nowy wiersz zajmuje element blokowy <p>, dlatego ta odpowiedź jest poprawna.

Pytanie 14

Dodanie do tabeli Produkty kolumny data_produkcji zostanie wykonane kwerendą SQL

A. ALTER TABLE Produkty DROP COLUMN data_produkcji DATE;
B. ALTER TABLE Produkty DROP data_produkcji DATE;
C. ALTER TABLE Produkty ADD DATE data_produkcji;
D. ALTER TABLE Produkty ADD data_produkcji DATE;
W poleceniu dotyczącym modyfikacji struktury tabeli bardzo łatwo pomylić składnię, zwłaszcza gdy w grę wchodzą słowa kluczowe ADD, DROP i typy danych. Podstawowa zasada jest taka: jeśli chcemy dodać nową kolumnę, używamy słowa kluczowego `ADD` wraz z nazwą kolumny i jej typem danych. Jeśli chcemy coś usuwać, korzystamy z `DROP` (czasem z dopiskiem `COLUMN`, zależnie od dialektu SQL). Mieszanie tych operacji albo zmiana kolejności elementów sprawia, że zapytanie staje się niepoprawne składniowo albo semantycznie.
Częsty błąd polega na tym, że ktoś próbuje użyć `DROP` tam, gdzie w treści zadania wyraźnie jest mowa o dodaniu kolumny. `DROP` służy do usuwania kolumn lub całych tabel, a nie do ich tworzenia. Jeżeli w instrukcji pojawia się `DROP data_produkcji DATE`, to po pierwsze logika jest odwrotna do wymaganej (bo usuwamy, zamiast dodawać), a po drugie większość systemów nie akceptuje podawania typu danych przy usuwaniu kolumny. W standardowych implementacjach SQL wystarczy `ALTER TABLE Produkty DROP COLUMN data_produkcji;` bez żadnego `DATE` na końcu. Dodawanie typu przy DROP jest po prostu niezgodne ze składnią.
Inny typ nieporozumienia polega na pomyleniu kolejności typu danych i nazwy kolumny. W definicji kolumny po słowie kluczowym `ADD` najpierw podajemy nazwę kolumny, a dopiero potem typ, czyli `ADD nazwa_kolumny TYP`. Konstrukcja w stylu `ADD DATE data_produkcji` wygląda, jakby ktoś traktował `DATE` jak nazwę kolumny, a `data_produkcji` jak typ. Jest to niezgodne zarówno ze składnią SQL, jak i z intuicją czytania definicji tabeli. Z mojego doświadczenia wynika, że ten błąd wynika z przenoszenia nawyków z języków programowania, gdzie czasem typ pisze się przed nazwą zmiennej (np. w C czy Javie), ale w SQL jest odwrotnie.
Dobra praktyka jest taka, żeby zapamiętać prosty wzór: przy dodawaniu kolumny zawsze używamy schematu `ALTER TABLE <tabela> ADD <kolumna> <typ>;`. Bez żadnych dodatkowych słów kluczowych w środku, bez mieszania DROP, bez odwracania kolejności. Warto też mieć w głowie, że przy DROP w większości dialektów nie podajemy typu, tylko samą nazwę kolumny, czasem z dopiskiem `COLUMN`. Takie drobne szczegóły często decydują, czy skrypt migracji bazy zadziała poprawnie, czy wysypie się na błędzie składni, dlatego dobrze jest wyrobić sobie nawyk dokładnego czytania treści zadania i rozumienia, czy w danym momencie coś dodajemy, czy usuwamy.

Pytanie 15

Jakie będzie efektem zastosowanego formatowania CSS dla nagłówka trzeciego stopnia

<style> h3 { background-color: grey; } </style>

<h3 style="background-color: orange;">Rozdział 1.2.2.</h3>

A. kolor tekstu będzie pomarańczowy
B. kolor tekstu będzie szary
C. tło nagłówka będzie pomarańczowe
D. tło nagłówka będzie w odcieniu szarości
Wybranie odpowiedzi, że tło będzie szare, to nie jest dobry wybór. W kodzie, który widzimy w pytaniu, styl w sekcji <style> ma niższy priorytet od tego, co jest ustawione w atrybucie style dla elementu <h3>. I nawet jeśli w sekcji <style> tło nagłówka jest szare, to inline style z wartością background-color równą "orange" ma pierwszeństwo. Często pojawia się błąd myślenia, że style muszą być stosowane w jakiejś określonej kolejności, a tak naprawdę CSS działa na zasadzie kaskady. Co do kolorów czcionek, w tym przypadku nie było konkretnego ustawienia, więc będzie korzystać z domyślnej wartości przeglądarki lub jakiegoś innego stylu, jeśli taki istnieje. Żeby uniknąć takich zamieszania, warto zawsze zwracać uwagę na zasady kaskadowości i priorytety stylów, bo to pomoże lepiej zrozumieć, jak zmiany wpływają na to, co widzimy na stronie.

Pytanie 16

W trakcie weryfikacji stron internetowych nie uwzględnia się

A. zgodności z różnymi przeglądarkami
B. błędów w składni kodu
C. źródła pochodzenia narzędzi edytorskich
D. działania hiperłączy
Walidacja stron internetowych to proces, który ma na celu zapewnienie, że HTML, CSS oraz inne elementy technologii webowych są zgodne ze standardami określonymi przez W3C (World Wide Web Consortium). W kontekście walidacji nie bada się źródła pochodzenia narzędzi edytorskich, ponieważ te narzędzia, takie jak edytory tekstu czy IDE (Integrated Development Environment), są jedynie medium do tworzenia kodu, a nie jego treści. Z perspektywy walidacji, kluczowe jest, aby kod był syntaktycznie poprawny oraz spełniał standardy interoperability, takie jak HTML5 czy CSS3. Przykładem walidacji może być użycie narzędzi takich jak W3C Validator, które analizują kod strony i wskazują błędy składniowe, problemy z dostępnością oraz niezgodności z różnymi przeglądarkami. Dzięki walidacji, developers mogą zapewnić, że ich strony będą działały poprawnie na różnych urządzeniach i przeglądarkach, co wpływa na lepsze doświadczenia użytkowników. Walidacja jest zatem kluczowym krokiem w procesie tworzenia stron internetowych, zapewniającym ich jakość i zgodność ze światowymi standardami.

Pytanie 17

W systemie baz danych stworzono tabelę Mieszkancy zawierającą informacje. Aby usunąć tę tabelę wraz z danymi, należy użyć komendy

A. DELETE FROM Mieszkancy;
B. DROP TABLE Mieszkancy;
C. ALTER TABLE Mieszkancy;
D. TRUNCATE TABLE Mieszkancy;
Wybór polecenia 'DELETE FROM Mieszkancy;' jest nieodpowiedni w kontekście usuwania tabeli, ponieważ to polecenie służy do usuwania danych z istniejącej tabeli, a nie do usuwania samej tabeli. 'DELETE' jest używane, gdy chcemy usunąć niektóre lub wszystkie rekordy w tabeli, ale sama tabela pozostaje nienaruszona i jej struktura pozostaje w bazie danych. Często myli się te dwa polecenia, co może prowadzić do nieefektywnego zarządzania danymi, a także do nieporozumień przy projektowaniu baz danych. Z kolei 'ALTER TABLE Mieszkancy;' jest poleceniem służącym do zmiany struktury istniejącej tabeli, co również nie odpowiada na potrzebę usunięcia tabeli. Może to obejmować dodawanie lub usuwanie kolumn, co nie ma nic wspólnego z usuwaniem tabeli jako całości. Wreszcie, 'TRUNCATE TABLE Mieszkancy;' to polecenie, które usuwa wszystkie rekordy z tabeli, ale w przeciwieństwie do 'DROP TABLE', nie usuwa samej tabeli. Dlatego użycie 'TRUNCATE' może być mylące, ponieważ dane są usuwane, ale tabela i jej struktura pozostają w bazie danych. Błędne przekonanie, że 'DELETE' lub 'TRUNCATE' mogą zastąpić 'DROP', prowadzi do niezamierzonych konsekwencji w zarządzaniu danymi i architekturze bazy danych.

Pytanie 18

Jakie uprawnienia są konieczne do wykonania oraz przywrócenia kopii zapasowej bazy danych Microsoft SQL Server 2005 Express?

A. Użytkownik lokalny
B. Security users
C. Users
D. Administrator systemu
W kontekście zarządzania bazą danych Microsoft SQL Server, posiadanie niewłaściwych uprawnień może prowadzić do poważnych problemów z dostępnością i bezpieczeństwem danych. Odpowiedzi takie jak 'Users', 'Security users' oraz 'Użytkownik lokalny' wskazują na nieporozumienie dotyczące ról i uprawnień w systemie zarządzania bazami danych. Użytkownicy z uprawnieniami 'Users' mają ograniczone zdolności, które zazwyczaj obejmują jedynie wykonywanie zapytań i manipulację danymi w ramach istniejących struktur, ale nie pozwalają na zarządzanie operacjami administracyjnymi, takimi jak tworzenie kopii zapasowych. Rola 'Security users' jest subtelnym elementem zabezpieczeń i również nie przekłada się na możliwości administracyjne. Co więcej, 'Użytkownik lokalny' odnosi się do kont użytkowników w systemie operacyjnym i nie ma bezpośredniego związku z uprawnieniami w SQL Server. Typowym błędem myślowym jest utożsamianie ról systemowych z poziomem dostępu do operacji na poziomie bazy danych, co może prowadzić do nieefektywnego zarządzania kopiami zapasowymi. Ważne jest, aby zrozumieć, że tylko odpowiednio uprawniony administrator systemu jest w stanie zapewnić kompleksowe zarządzanie danymi, w tym ich bezpieczeństwem i integralnością.

Pytanie 19

Który System Zarządzania Bazą Danych jest standardowo używany w pakiecie XAMPP?

A. MariaDB
B. Oracle
C. PostgreSQL
D. Firebird
Pozostałe systemy nie wchodzą w skład XAMPP. Oracle Database to rozbudowany, komercyjny system bazodanowy stosowany w dużych firmach - instaluje się go osobno. Firebird to lekki, otwarty system, ale nie jest składnikiem XAMPP. PostgreSQL to popularny, zaawansowany system open source, również niezależny od tego pakietu. XAMPP standardowo dostarcza MariaDB (zgodną z MySQL), dlatego ta odpowiedź jest poprawna.

Pytanie 20

Jaką instrukcją można zastąpić poniższy kod JavaScript, pełniącą tę samą funkcję?

for (i = 0; i < 100; i += 10)
  document.write(i + ' ');
while (i < 10) {
  document.write(i + ' ');
  i += 10;
}

Kod 1.
while (i < 100) {
  document.write(i + ' ');
}

Kod 2.
i = 0;
while (i < 100) {
  document.write(i + ' ');
  i += 10;
}

Kod 3.
i = 0;
while (i < 10) {
  document.write(i + ' ');
  i++;
}

Kod 4.
A. Kod 1
B. Kod 3
C. Kod 4
D. Kod 2
Odpowiedzi inne niż Kod 3 są niepoprawne ponieważ nie odzwierciedlają poprawnie logiki oryginalnej pętli for. Kod 1 gdzie warunek jest i < 10 zamiast i < 100 będzie iterować zbyt mało razy ponieważ inkrementacja i odbywa się co 10 jednostek a warunek przerywający pętlę jest osiągnięty już po pierwszej iteracji co nie odpowiada strukturze pętli for. Kod 2 również używa błędnego warunku i < 100 ale brakuje w nim inicjalizacji zmiennej i co może prowadzić do błędów związanych z używaniem nieokreślonej zmiennej. W praktyce taki błąd jest często spotykany w przypadku gdy programista zapomina o zdefiniowaniu zmiennej przed rozpoczęciem pętli co prowadzi do nieprzewidywalnego działania kodu. Kod 4 także nie jest poprawny ponieważ w warunku while używa i < 10 co oznacza że pętla znów nie zostanie wykonana odpowiednią ilość razy. Ponadto inkrementacja i o 1 jednostkę zamiast o 10 znacznie zmienia ilość iteracji wymaganych do zakończenia pętli co nie jest zgodne z początkową pętlą for. Rozważając te błędne odpowiedzi warto zauważyć że precyzyjne określanie warunków i operacji w pętlach jest kluczowe dla ich prawidłowego działania co jest podstawą efektywnego programowania.

Pytanie 21

Dla dowolnego a z zakresu (0,99) celem funkcji napisanej w języku JavaScript jest
function fun(a)
 {
    for(n=a; n <=100; n++)
    document.write(n);
    return(n);
 }

A. wypisanie wartości zmiennej a i zwrócenie wartości zmiennej n
B. wypisanie liczb z zakresu a .. 100 oraz zwrócenie wartości zmiennej n
C. wypisanie liczb z zakresu a .. 99 oraz zwrócenie wartości 100
D. zwrócenie liczb z zakresu a .. 99
Funkcja napisana w JavaScript przewiduje iterację w celu wypisania liczb z przedziału ustalonego przez zmienną 'a' do 100. W kodzie zastosowano pętlę for, która zaczyna się od wartości a, a kończy na 100. Wartość zmiennej 'n' jest używana jako iterator, zaczynając od 'a' i zwiększając się o 1 w każdym obiegu pętli, aż osiągnie 100. Warto zauważyć, że funkcja wykorzystuje metodę 'document.write()', która służy do zapisywania danych na stronie internetowej. Po zakończeniu iteracji funkcja zwraca wartość zmiennej 'n', co w kontekście tego zadania oznacza, że zwróci ona wartość 101, ponieważ po ostatniej iteracji n przekroczy wartość 100. Przykład użycia tej funkcji w praktyce może obejmować generowanie dynamicznych treści na stronach internetowych, które wymagają wyświetlenia zakresu wartości liczbowych. Warto również dodać, że zgodnie z aktualnymi standardami JavaScript, kod mógłby być bardziej elegancko zapisany, wykorzystując np. funkcję 'console.log()' zamiast 'document.write()', co jest bardziej zalecane w nowoczesnym podejściu do programowania w JavaScript.

Pytanie 22

Czy przedstawione w języku CSS ustawienia czcionki będą dotyczyć dla

* {
    font-family: Tahoma;
    color: Teal;
}
?
A. całego dokumentu HTML, jako domyślne formatowanie dla wszystkich elementów strony
B. znaczników z klasą przypisaną równą *
C. znaczników o id równym *
D. całego dokumentu HTML, niezależnie od późniejszych reguł CSS
Właściwość CSS zastosowana w podanym kodzie dotyczy wszystkich elementów HTML na stronie, ponieważ użycie selektora * oznacza, że formatowanie będzie miało zastosowanie do każdego elementu, niezależnie od jego typu. Oznacza to, że czcionka Tahoma oraz kolor Teal będą domyślnie stosowane do tekstu we wszystkich znacznikach HTML. Tego rodzaju podejście jest zgodne z dobrymi praktykami w projektowaniu stron, ponieważ pozwala na jednolite formatowanie bez konieczności stylizowania każdego elementu z osobna. Przykładem zastosowania może być stworzenie spójnego wyglądu strony, gdzie wszystkie nagłówki, akapity i inne teksty mają ten sam styl, co poprawia czytelność i estetykę. Dodatkowo, takie zastosowanie stylów jest efektywne, gdyż zmiana stylu w kontekście całej strony odbywa się poprzez edytowanie jednego miejsca w kodzie CSS, co oszczędza czas i zmniejsza ryzyko błędów.

Pytanie 23

W jaki sposób wykonanie podanej poniżej kwerendy SQL wpłynie na tabelę pracownicy?

ALTER TABLE pracownicy MODIFY plec char9);
A. Doda kolumnę plec ze znakowym typem danych o zmiennej długości 9.
B. Doda kolumnę plec ze znakowym typem danych o stałej długości 9.
C. Zmieni typ danych kolumny plec na znakowy o zmiennej długości 9.
D. Zmieni typ danych kolumny plec na znakowy o stałej długości 9.
Zmiana kolumny 'plec' poprzez dodanie nowej kolumny zamiast modyfikacji istniejącej jest błędna, ponieważ kwerenda SQL ALTER TABLE z modyfikacją nie dodaje nowej kolumny, lecz zmienia atrybuty już istniejącej. W przypadku dodania kolumny z typem znakowym o stałej długości, nie byłoby to możliwe bez użycia innego polecenia, takiego jak ADD COLUMN, co jest całkowicie inną operacją. Ponadto, zmiana na typ danych o zmiennej długości nie ma zastosowania w tej sytuacji, ponieważ char(9) zawsze rezerwuje 9 znaków, niezależnie od tego, ile znaków faktycznie jest zapisanych, co jest kluczową różnicą w porównaniu do varchar, który jest typem zmiennej długości. Ostatnia niepoprawna odpowiedź sugeruje, że kolumna mogłaby mieć typ znakowy o zmiennej długości, co nie jest zgodne z definicją char, gdyż ten typ danych zawsze zarezerwuje maksymalną długość zdefiniowaną przez użytkownika. W praktyce oznacza to, że przy użyciu char(9) każda wartość w kolumnie 'plec' będzie zawsze składać się z 9 znaków, a w przypadku krótszych wartości zostaną one wypełnione spacjami. Zrozumienie różnicy między typami danych oraz ich właściwą modyfikację jest kluczowe dla efektywnego zarządzania bazami danych.

Pytanie 24

W jakim bloku powinien być umieszczony warunek pętli?

Ilustracja do pytania
A. Opcja D
B. Opcja B
C. Opcja C
D. Opcja A
Wybór innego bloku niż romb dla warunku pętli jest niezgodny z ogólnie przyjętymi standardami w modelowaniu procesów Rysunek schematu blokowego powinien wyraźnie przedstawiać logikę algorytmu aby zwiększyć jego przejrzystość i zrozumienie przez innych programistów lub analityków Wybór prostokąta jako bloku warunku jak w przypadku opcji A jest błędny ponieważ prostokąt jest typowo używany do reprezentacji operacji przetwarzania czyli bloków kodu które wykonują instrukcje bez decyzyjności Wybór elipsy z opcji B także jest nieodpowiedni ponieważ elipsa służy do oznaczania początku i końca procesu w schematach blokowych nie do przedstawiania warunków decyzyjnych Blok D jest symbolem dla danych wejściowych lub wyjściowych co nie ma związku z kontrolą przepływu w pętli Stosowanie nieodpowiednich symboli dla warunków decyzyjnych może prowadzić do błędnego zrozumienia i interpretacji schematu co w konsekwencji może wpłynąć na błąd w implementacji algorytmu Dlatego ważne jest aby stosować się do uznanych standardów i dobrych praktyk w modelowaniu procesów co ułatwia współpracę i komunikację w zespołach projektowych

Pytanie 25

Wskaż, który zapis należy zastosować w celu wyświetlenia grafiki obrazek.png na stronie WWW w pliku plik.html.  

Ilustracja do pytania
A. <img src="/../katalog_2/katalog_B/obrazek.png">
B. <img src="/../katalog_1/katalog_B/obrazek.png">
C. <img src="obrazek.png">
D. <img src="../../katalog_2/katalog_B/obrazek.png">
Problem z niepoprawnymi odpowiedziami wynika z niezrozumienia, skąd dokładnie liczona jest ścieżka do pliku oraz jak działa nawigacja po katalogach w adresach względnych. Przeglądarka zawsze interpretuje wartość atrybutu src w <img> zaczynając od lokalizacji aktualnego dokumentu HTML, czyli w tym przypadku od katalogu katalog_1/katalog_A. Jeżeli wpiszemy po prostu nazwę pliku, bez żadnych katalogów, to przeglądarka szuka go w tym samym folderze co plik HTML. Zapis <img src="obrazek.png"> sugeruje więc, że obrazek.png leży obok plik.html w katalogu_A. Ponieważ w przedstawionej strukturze plik graficzny znajduje się zupełnie gdzie indziej, taka ścieżka po prostu nie może zadziałać.
Kolejny typ błędu to nieprawidłowe użycie sekwencji /../ na początku ścieżki. W kontekście URL-a ukośnik na początku oznacza ścieżkę absolutną liczoną od katalogu głównego serwera (tzw. root). Dodawanie zaraz po nim .. jest w praktyce bez sensu, bo nie możemy cofnąć się powyżej katalogu głównego. Takie konstrukcje typu "/../katalog_1/..." czy "/../katalog_2/..." nie odzwierciedlają realnej struktury katalogów widzianej przez serwer WWW. To częsty błąd: mieszanie myślenia systemu plików w eksploratorze z zasadami adresacji URL. W systemie operacyjnym czasem zobaczymy .. na początku ścieżki względnej, ale w URL po wiodącym slashu ścieżka jest już traktowana jako absolutna.
Prawidłowe podejście polega na świadomym liczeniu poziomów: pojedyncze .. cofa o jeden katalog w górę, podwójne ../../ o dwa, i dopiero potem dokładamy kolejne katalogi prowadzące do docelowego pliku. Warto też pamiętać, że w projektach webowych lepiej unikać "dziwnych" konstrukcji ze zbędnym /../, bo to utrudnia debugowanie i rodzi problemy przy przenoszeniu strony na inny serwer. Typowym błędem myślowym jest też założenie, że jak coś wygląda logicznie w drzewku folderów na ekranie, to tak samo zadziała w URL, bez dokładnego prześledzenia, od jakiego katalogu liczymy ścieżkę. Dlatego dobrą praktyką jest narysowanie sobie tej struktury i ręczne przejście krok po kroku: tu jest plik.html, tu jest obrazek.png, ile razy muszę się cofnąć .. i gdzie potem wejść, żeby dojść dokładnie do tego pliku.

Pytanie 26

Czym autoryzuje się załatwianie spraw urzędowych przez internet?

A. serią i numerem dowodu osobistego
B. numerem NIP
C. imieniem i nazwiskiem
D. profilem zaufanym
Sprawy urzędowe przez internet (np. na platformie ePUAP, mObywatel) autoryzuje się PROFILEM ZAUFANYM - bezpłatnym, potwierdzonym narzędziem tożsamości, które pełni rolę „podpisu” online. Dzięki niemu urząd ma pewność, kto składa wniosek. Zapamiętaj: profil zaufany = elektroniczne potwierdzenie tożsamości w e-administracji.

Pytanie 27

Wyrażenie JavaScript:

document.write(5==='5');
Co zostanie wyświetlone?
A. true
B. false
C. 0
D. 1
Odpowiedź 'false' jest jak najbardziej na miejscu, bo operator '===' w JavaScript sprawdza nie tylko wartość, ale i typ danych. Przykład 'document.write(5 === '5');' pokazuje, że porównujemy liczbę (5) z ciągiem znaków ('5'). To są różne typy, więc nie mogą być równe! Generalnie, lepiej używać '===' w programowaniu, bo to eliminuje niejasności, które mogą się pojawić przy '=='. Ten drugi lubi zamieniać typy, co czasami prowadzi do chaosu. Dobrze jest mieć na uwadze, że w obiektowym programowaniu ważne jest, by typy danych się zgadzały. Używając '===', mamy pewność, że unikniemy niechcianych błędów związanych z typami.

Pytanie 28

Aby wyszukać w tabeli Pracownicy tylko te nazwiska, które kończą się na literę "i", można zastosować kwerendę SQL

A. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i%"
B. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i%"
C. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i"
D. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i"
Fajnie, że wybrałeś tę kwerendę SQL: 'SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i";'. To jest naprawdę dobra robota, bo zastosowałeś operator LIKE w odpowiedni sposób. Wzorzec '%i' pozwala na wyszukiwanie nazwisk kończących się na literę 'i'. Ten symbol '%' to taki wildcard, który mówi SQL, żeby szukał czegokolwiek przed 'i', nawet niczego. To jest mega przydatne w codziennej pracy z bazami danych, bo często musimy wyciągać konkretne dane, żeby coś załatwić. Na przykład, jeśli chcemy stworzyć listę pracowników, którzy mają nazwiska kończące się na 'i', to ta kwerenda będzie strzałem w dziesiątkę. Pamiętaj, że dobrze jest testować swoje kwerendy na próbnych danych, żeby mieć pewność, że wyniki są takie, jakie chcemy.

Pytanie 29

<img src="/rysunek.png" alt="pejzaż"> Zapisany został kod HTML, który wstawia obrazek na stronę. Jeśli rysunek.png nie zostanie znaleziony, przeglądarka

A. w miejscu grafiki zasygnalizuje błąd wyświetlania strony
B. nie załaduje strony internetowej
C. wyświetli w miejscu grafiki tekst "pejzaż"
D. w miejscu grafiki pokaże tekst "rysunek.png"
Kiedy przeglądarka internetowa napotyka na kod HTML, który zawiera element graficzny, w takim przypadku, jeśli wskazany plik nie jest dostępny, następuje zachowanie określone przez atrybut 'alt'. W omawianym przykładzie, gdy przeglądarka nie może znaleźć pliku 'rysunek.png', wyświetli tekst alternatywny 'pejzaż'. Atrybut 'alt' jest niezwykle ważny z perspektywy dostępności oraz SEO, ponieważ pozwala na dostarczenie informacji o obrazie osobom, które nie mogą go zobaczyć, takim jak osoby niewidome korzystające z czytników ekranu. Z punktu widzenia standardów W3C, atrybut 'alt' jest zalecany dla każdego elementu <img>, aby poprawić użyteczność strony. W praktyce, dobrze skonstruowane opisy w atrybucie 'alt' mogą również wpłynąć pozytywnie na pozycjonowanie witryny w wyszukiwarkach, co czyni go kluczowym elementem podczas tworzenia treści na stronie internetowej. Z tego powodu umieszczanie informacyjnych i zrozumiałych opisów w tym atrybucie jest niezbędne nie tylko dla poprawy dostępności, ale także dla efektywnej optymalizacji SEO.

Pytanie 30

Tabele Osoby oraz Zainteresowania są połączone relacją jeden do wielu. Jakie zapytanie SQL należy użyć, aby w oparciu o tę relację poprawnie wyświetlić imiona i odpowiadające im hobby?

Ilustracja do pytania
A. SELECT imie, hobby FROM Osoby JOIN Zainteresowania ON Osoby.Zainteresowania_id = Zainteresowania.id;
B. SELECT imie, hobby FROM Osoby, Zainteresowania;
C. SELECT imie, hobby FROM Osoby, Zainteresowania WHERE Osoby.id = Zainteresowania.id;
D. SELECT imie, hobby FROM Osoby.Zainteresowania_id = Zainteresowania.id FROM Osoby, Zainteresowania;
Wiele osób mylnie uważa, że można łączyć tabele w SQL bez wyraźnego określenia relacji między nimi. Jednak takie podejście, jak w odpowiedzi numer 2 i 3, prowadzi do niepoprawnych wyników, ponieważ nie definiujemy, w jaki sposób dane z tych tabel mają być łączone. To może skutkować produkcją tzw. iloczynu kartezjańskiego, gdzie każda kolumna z pierwszej tabeli jest łączona z każdą kolumną z drugiej tabeli. W kontekście dużych baz danych takie podejście nie jest skalowalne i powoduje niepotrzebne obciążenie systemu. Odpowiedź numer 4 zakłada istnienie bezpośredniego połączenia między kolumną Osoby.id a Zainteresowania.id, co jest błędnym założeniem, gdyż w analizowanym przypadku tabele są połączone poprzez kolumny Osoby.Zainteresowania_id i Zainteresowania.id. Niepoprawne rozumienie struktury bazy danych prowadzi do błędnych przekonań o relacjach między danymi. Ważne jest, aby zawsze zwracać uwagę na klucze obce, które definiują rzeczywiste połączenia w modelu danych. Dokładne zrozumienie struktury i logiki relacyjnych baz danych jest kluczowe dla pisania efektywnych i poprawnych zapytań SQL. Umiejętność prawidłowego łączenia tabel stanowi fundament dla tworzenia zaawansowanych zapytań, które są niezbędne w profesjonalnym zarządzaniu bazami danych.

Pytanie 31

$n = '[email protected]'; $dl = strlen($n); $i = 0; while ($i < $dl && $n[$i] != '@') {     echo $n[$i];     $i++; } Fragment kodu w języku PHP wyświetli

A. nazwę konta z znakiem @, czyli 'adres@'
B. cały adres e-mail, czyli '[email protected]'
C. tylko nazwę domeny, czyli 'host.pl'
D. wyłącznie nazwę konta, czyli 'adres'
Analizując niepoprawne odpowiedzi, warto zwrócić uwagę na kilka kluczowych aspektów. W przypadku odpowiedzi, która wskazuje na wypisanie nazwy konta ze znakiem '@', należy zauważyć, że kod w rzeczywistości nie wlicza znaku '@' do wypisywanej wartości. Działanie pętli opiera się na warunku przerywającym, który kończy iterację przed napotkaniem '@', co oznacza, że nie może on znaleźć się w rezultacie. Z kolei wskazanie, że kod wypisze cały adres e-mail jest błędne, ponieważ pętla jest zaprojektowana tak, aby zakończyć działanie przed osiągnięciem znaku '@', więc taki wynik nie jest możliwy. Ostatnia niepoprawna odpowiedź, sugerująca, że kod wypisze samą nazwę domeny, jest również myląca. W kodzie nie ma logiki, która pozwalałaby na wyodrębnienie części po znaku '@'; zamiast tego pętla przerywa działanie, gdy osiągnie ten znak. Jest to kluczowe, aby zrozumieć, że kod nie ma mechanizmu do analizy lub rozdzielania adresu e-mail po znaku '@'. Wszystkie te odpowiedzi pokazują niezrozumienie, jak działają operacje na ciągach w PHP oraz logikę pętli, która w kontekście tego fragmentu kodu jest fundamentalna dla uzyskania prawidłowego wyniku.

Pytanie 32

tr:nth-child(even) {background-color: #F2F2F2;}
Zastosowane formatowanie selektora tr:nth-child(even) spowoduje:
A. wypełnienie szarym tłem nieparzystych wierszy tabeli.
B. oddzielenie wierszy nieparzystych od parzystych wierszem z szarym tłem.
C. wypełnienie wszystkich wierszy tabeli szarym tłem.
D. wypełnienie szarym tłem parzystych wierszy tabeli.
W tym zadaniu kluczowe jest zrozumienie, jak dokładnie działa funkcja nth-child() w CSS oraz co oznaczają słowa kluczowe even i odd. Wiele osób intuicyjnie myli te pojęcia i zakłada, że selektor zadziała trochę „magicznie”, np. tylko na wybrane elementy, albo że numeracja zaczyna się od zera. Tymczasem przeglądarka liczy dzieci danego elementu rodzica od 1 w górę, w kolejności ich występowania w drzewie DOM. Słowo kluczowe even oznacza wszystkie elementy o indeksach parzystych: 2, 4, 6, 8 itd. Dlatego tr:nth-child(even) nie może oznaczać wypełnienia nieparzystych wierszy tabeli – do tego służyłby selektor tr:nth-child(odd). Pomylenie even z odd to bardzo typowy błąd, zwłaszcza na początku nauki CSS, bo nazwy są krótkie i łatwo je skojarzyć odwrotnie, niż trzeba. Kolejne nieporozumienie to przekonanie, że nth-child(even) obejmuje wszystkie wiersze tabeli. Gdyby chodziło o wszystkie wiersze <tr>, wystarczyłby prosty selektor tr bez nth-child. Funkcja nth-child() zawsze wybiera tylko pewien podzbiór dzieci, zgodnie z podanym wzorem, więc mówienie, że styl z taką funkcją dotyczy wszystkich elementów, jest po prostu sprzeczne z definicją tej konstrukcji w specyfikacji CSS. Pojawia się też czasem myśl, że taka reguła ma jakiś „separujący” charakter, czyli że wstawia wizualny wiersz oddzielający nieparzyste i parzyste rekordy. CSS nie dodaje nowych elementów do DOM, on tylko styluje te, które już istnieją. tr:nth-child(even) nie tworzy żadnego dodatkowego wiersza, nie wstawia separatorów, po prostu zmienia tło wybranych istniejących wierszy, zgodnie z parzystością ich indeksu. W praktyce, jeśli chcemy mieć efekt wyraźnego rozdzielenia wierszy, używa się obramowań (border), cieni lub właśnie naprzemiennego kolorowania, ale zawsze w ramach istniejących <tr>. Dobrym nawykiem jest też pamiętanie, że nth-child() liczy wszystkie dzieci danego rodzica, więc jeśli w tabeli mamy thead, tbody i tfoot, to często stosuje się selektor tbody tr:nth-child(even), żeby uniknąć nieoczekiwanych przesunięć numeracji przez nagłówki. Zrozumienie tej zasady bardzo ułatwia późniejsze korzystanie z bardziej złożonych wzorów nth-child, jak np. 2n+1 czy 3n.

Pytanie 33

Jakie jest zastosowanie programu debugger?

A. tłumaczenia kodu napisanego w języku wyższego poziomu na język maszynowy
B. analizy wykonywanego programu w celu lokalizacji błędów
C. interpretacji kodu w wirtualnej maszynie Java
D. badania kodu źródłowego w celu znalezienia błędów składniowych
Interpretacja kodu w wirtualnej maszynie Java odnosi się do działania maszyny wirtualnej, która wykonuje kod bajtowy stworzony przez kompilatory języków programowania, takich jak Java. Chociaż maszyna wirtualna jest istotna w procesie uruchamiania aplikacji Java, nie jest to funkcjonalność debuggera, który ma na celu inną rolę. Podobnie, analiza kodu źródłowego w celu odnalezienia błędów składniowych to proces, który wykonuje kompilator przed uruchomieniem programu. Debugger nie zajmuje się analizą składni, lecz koncentruje się na wykrywaniu błędów podczas wykonywania kodu. Tłumaczenie kodu zapisanego w języku wyższego poziomu na język maszynowy jest zadaniem kompilatora, a nie debuggera. Debugger działa na poziomie wykonania programu, a nie na poziomie jego kompilacji, co jest kluczowym aspektem odróżniającym te dwie funkcjonalności. Poprawne zrozumienie ról kompilatora i debuggera jest niezbędne, aby uniknąć mylnych wniosków dotyczących procesów tworzenia i uruchamiania oprogramowania.

Pytanie 34

Jakiego języka można użyć do obsługi połączenia z bazą danych MySQL podczas tworzenia aplikacji internetowej?

A. PHP
B. HTML
C. XHTML
D. CSS
Trzy z tych odpowiedzi to języki opisu strony, a nie programowania działającego na serwerze. HTML i jego odmiana XHTML służą do zbudowania struktury dokumentu - określają nagłówki, akapity czy listy, ale niczego nie wykonują i nie potrafią połączyć się z bazą. CSS odpowiada za warstwę wizualną: kolory, czcionki, układ - również bez jakiegokolwiek dostępu do danych. Połączenie z bazą MySQL, wysyłanie zapytań i odbieranie wyników realizuje się w języku po stronie serwera, czyli w PHP, dlatego to on jest poprawną odpowiedzią.

Pytanie 35

Tabela naprawy ma kolumny klient i czyNaprawione. Jak usunąć rekordy, w których czyNaprawione jest prawdą?

A.
DELETE naprawy WHERE czyNaprawione = TRUE;
B.
DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;
C.
DELETE FROM naprawy WHERE czyNaprawione = TRUE;
D.
DELETE FROM naprawy;
DELETE FROM naprawy; bez WHERE usunęłoby WSZYSTKIE wiersze. DELETE naprawy WHERE ... pomija słowo FROM. DELETE klient FROM ... błędnie wskazuje kolumnę (DELETE usuwa całe wiersze). Poprawne jest DELETE FROM naprawy WHERE czyNaprawione = TRUE;.

Pytanie 36

Program napisany w języku PHP ma na celu wyliczenie średniej pozytywnych ocen ucznia w zakresie od 2 do 6. Warunek doboru ocen w pętli obliczającej średnią powinien zawierać wyrażenie logiczne

A. $ocena > 2 or $ocena < 6
B. $ocena >= 2 and $ocena <= 6
C. $ocena >= 2 or $ocena <= 6
D. $ocena > 2 and $ocena < 6
Wybrana odpowiedź jest poprawna, ponieważ warunek '$ocena >= 2 and $ocena <= 6' precyzyjnie definiuje zakres ocen, które mają być brane pod uwagę przy obliczaniu średniej. Użycie operatora 'and' zapewnia, że tylko oceny mieszczące się w przedziale od 2 do 6, włącznie z obydwoma krańcami, będą uwzględnione. Przykład praktyczny to sytuacja, w której programista chciałby zrealizować system oceny uczniów, w którym dopuszczalne oceny to 2, 3, 4, 5 i 6. Gdybyśmy użyli operatora 'or', program mógłby przyjąć oceny spoza tego zakresu, co prowadziłoby do nieprawidłowych obliczeń i fałszywych wniosków. W kontekście programowania w PHP, stosowanie poprawnych warunków logicznych jest kluczowe dla zapewnienia prawidłowego działania kodu. Dobrym przykładem zastosowania takiego warunku jest pętla, która iteruje przez zestaw ocen i sumuje je, aby na końcu obliczyć średnią. Stosując odpowiednie warunki, programista może być pewny, że obliczenia są realizowane na danych, które są zgodne z wymaganiami. Warto również zauważyć, że w kontekście dobrych praktyk programistycznych, jasne definiowanie warunków logicznych pozwala na łatwiejsze zrozumienie kodu przez innych programistów oraz ułatwia jego późniejsze utrzymanie.

Pytanie 37

Aby ustawić wewnętrzne marginesy dla elementu: margines górny 50px, dolny 40px, prawy 20px oraz lewy 30px, powinno się zastosować składnię CSS

A. padding: 50px, 20px, 40px, 30px;
B. padding: 20px, 40px, 30px, 50px;
C. padding: 40px, 30px, 50px, 20px;
D. padding: 50px, 40px, 20px, 30px;
Podane odpowiedzi niepoprawne wynikają z pomylenia kolejności, w jakiej wartości paddingu są interpretowane w CSS. Wartości paddingu są rozpoznawane w określonej sekwencji: najpierw górny, następnie prawy, dolny, a na końcu lewy. Dlatego, jeśli margines górny wynosi 50px, prawy 20px, dolny 40px i lewy 30px, to niektóre z przedstawionych opcji nie oddają tej kolejności. Użycie nieodpowiednich wartości skutkuje nieprzewidywalnym wyglądem elementów na stronie, co może prowadzić do problemów z układem oraz zaburzenia estetyki. W szczególności, niepoprawne zestawienie wartości może powodować, że odstępy będą nie tylko niewłaściwe, ale także mogą przyczynić się do trudności w interakcji użytkowników z elementami na stronie. Dodatkowo, błędy w stosowaniu paddingu mogą prowadzić do konfliktów z innymi stylami CSS, co jeszcze bardziej komplikuje proces projektowania. W praktyce, niepoprawne stosowanie kolejności wartości paddingu jest częstym błędem, który może być wynikiem braku zrozumienia konwencji CSS lub pośpiechu w implementacji. Kluczowe jest zrozumienie, że CSS jest oparty na ściśle określonych zasadach, a niewłaściwe stosowanie tych zasad może prowadzić do nieefektywnych rozwiązań projektowych.

Pytanie 38

Jak nazywa się mechanizm, dzięki któremu klasa pochodna przejmuje pola i metody klasy bazowej?

A. dziedziczeniem
B. wirtualizacją
C. polimorfizmem
D. hermetyzacją
Mechanizm, dzięki któremu klasa pochodna (potomna) przejmuje pola i metody klasy bazowej, nazywa się DZIEDZICZENIEM. Pozwala wielokrotnie wykorzystać i rozszerzać istniejący kod. Dlatego to dziedziczenie.

Pytanie 39

W instrukcji warunkowej w języku JavaScript należy zweryfikować sytuację, w której zmienne a i b są większe od zera, przy czym zmienna b nie przekracza wartości 100. Taki warunek powinien być zapisany w następujący sposób:

A. if (a > 0 && b > 0 && b < 100) ...
B. if (a > 0 && b > 0 || b > 100) ...
C. if (a>0 || b> 0 || b > 100) ...
D. if (a>0 || (b> 0 && b<100)) ...
Warunek zapisany jako 'if (a > 0 && b > 0 && b < 100)' jest prawidłowy, ponieważ spełnia wszystkie wymagane kryteria. Składnia tego wyrażenia logicznego wskazuje, że zarówno zmienna 'a' musi być większa od zera, jak i zmienna 'b' musi być większa od zera oraz mniejsza od 100. Użycie operatora '&&' (AND) oznacza, że wszystkie warunki muszą być spełnione, aby blok kodu wewnątrz instrukcji 'if' został wykonany. To jest zgodne z najlepszymi praktykami programowania, które zalecają, aby warunki były wyraźnie zdefiniowane i logicznie powiązane, aby uniknąć nieporozumień i błędów. W praktycznych zastosowaniach, jeśli chcemy np. przyznać użytkownikowi dostęp do systemu tylko wtedy, gdy spełnione są konkretne kryteria, takie podejście zapewnia, że nasze instrukcje są wykonywane tylko w odpowiednich okolicznościach. Dodatkowo, definiując precyzyjnie nasze warunki, zwiększamy czytelność kodu, co jest kluczowe w projektach zespołowych, gdzie wiele osób może pracować nad tym samym kodem.

Pytanie 40

Skrypt napisany w języku JavaScript wylicza cenę promocyjną dla swetrów w kolorach: zielonym i niebieskim (zmienna kolor) przy zakupach powyżej 200 zł (zmienna zakupy). Warunek do obliczeń powinien być sformułowany za pomocą wyrażenia logicznego?

A. zakupy > 200 || kolor == 'zielony' || kolor == 'niebieski'
B. zakupy > 200 || (kolor == 'zielony' && kolor == 'niebieski')
C. zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')
D. zakupy > 200 && kolor == 'zielony' && kolor == 'niebieski'
W analizowanych odpowiedziach istnieje kilka kluczowych błędów logicznych, które prowadzą do niepoprawnych wniosków. W pierwszym przypadku, użycie operatora alternatywy (||) w połączeniu z warunkiem o wartości zakupów nie spełnia wymagań zadania, ponieważ sugeruje, że promocja jest dostępna niezależnie od koloru, co jest sprzeczne z intencją zadania. To błędne podejście prowadzi do wniosku, że każdy zakup powyżej 200 zł, bez względu na kolor, kwalifikuje się do promocji, co jest niepoprawne. Kolejny błąd występuje w drugim podejściu, gdzie zastosowano koniunkcję (&&) dla obu kolorów. Takie sformułowanie wymagałoby, aby sweter był jednocześnie zielony i niebieski, co jest logicznie niemożliwe. Taka konstrukcja nie tylko jest nielogiczna, ale i niepraktyczna, ponieważ nie spełnia podstawowych zasad logiki boolowskiej. Ostatnia niepoprawna odpowiedź wprowadza dodatkową złożoność bez potrzeby, łącząc warunek o wartościach zakupów z wymaganiem o kolorze za pomocą operatora alternatywy (||), co również skutkuje błędnym wnioskiem. Poprawne wyrażenie powinno jasno uwzględniać, że kolor swetra musi być jednym z dwóch dozwolonych wariantów oraz że musi istnieć minimalna wartość zakupów, co jest kluczowe dla prawidłowego obliczenia ceny promocyjnej.