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: 20 lipca 2026 14:23
  • Data zakończenia: 20 lipca 2026 14:44

Egzamin zdany!

Wynik: 25/40 punktów (62,5%)

Wymagane minimum: 20 punktów (50%)

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

Ile razy zostanie wykonana pętla przedstawiona w kodzie PHP?

for($i = 0; $i < 25; $i += 5) { ...... }
A. 25
B. 0
C. 5
D. 26
Pętla for w PHP, zdefiniowana jako for($i = 0; $i < 25; $i += 5), będzie wykonywana do momentu, gdy warunek $i < 25 będzie spełniony. Początkowa wartość $i to 0, a w każdej iteracji zwiększamy $i o 5. Wartości $i w kolejnych iteracjach będą wynosiły: 0, 5, 10, 15, 20. Po piątej iteracji, gdy $i osiągnie wartość 25, warunek $i < 25 przestanie być spełniony, co zakończy działanie pętli. W sumie, pętla wykona się dokładnie pięć razy. Zrozumienie działania pętli for jest kluczowe w programowaniu, ponieważ pozwala na automatyzację wielu zadań, co jest niezbędne w tworzeniu efektywnych i zoptymalizowanych aplikacji. Przykłady zastosowania to iteracja przez elementy tablic, generowanie numerów identyfikacyjnych czy przetwarzanie danych w bazach.

Pytanie 2

Który efekt został zaprezentowany na filmie?

A. Zwiększenie ostrości zdjęcia.
B. Zmniejszenie kontrastu zdjęcia.
C. Przenikanie zdjęć.
D. Zmiana jasności zdjęć.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 3

Zakładając, że żadne style CSS nie zostały zdefiniowane, przedstawiony efekt zostanie uzyskany przy pomocy

Tytuł
    Znaczniki języka HTML
Autor
    Ewa Konieczna
Słowa kluczowe
    witryny internetowe, HTML

Kod 1.
<ul>
  <li>Tytuł</li>
  <li>Znaczniki języka HTML</li>
  <li>Autor</li>
  <li>Ewa Konieczna</li>
  <li>Słowa kluczowe</li>
  <li>witryny internetowe, HTML</li>
</ul>

Kod 2.
<dl>
  <dt>Tytuł</dt>
  <dd>Znaczniki języka HTML</dd>
  <dt>Autor</dt>
  <dd>Ewa Konieczna</dd>
  <dt>Słowa kluczowe</dt>
  <dd>witryny internetowe, HTML</dd>
</dl>

Kod 3.
<ol>
  <li>Tytuł</li>
  <dl>Znaczniki języka HTML</dl>
  <li>Autor</li>
  <dl>Ewa Konieczna</dl>
  <li>Słowa kluczowe</li>
  <dl>witryny internetowe, HTML</dl>
</ol>

Kod 4.
<table>
  <tr>Tytuł</tr>
  <td>Znaczniki języka HTML</td>
  <tr>Autor</tr>
  <td>Ewa Konieczna</td>
  <tr>Słowa kluczowe</tr>
  <td>witryny internetowe, HTML</td>
</table>
A. Kodu 4.
B. Kodu 2.
C. Kodu 3.
D. Kodu 1.
Gratulacje, Twoja odpowiedź jest poprawna. Wybrałeś 'Kod 2', który jest kodem HTML definiującym tabelę. To jest prawidłowe, ponieważ układ prezentowany na zdjęciu sugeruje użycie tabeli do wyświetlenia informacji. W HTML, tabele są definiowane za pomocą znacznika <table>, a wiersze i komórki za pomocą <tr> i <td> odpowiednio. W tym przypadku, każdy wiersz to osobny element tabeli - 'Tytuł', 'Znaczniki języka HTML', 'Autor', 'Słowa kluczowe' oraz 'Witryny internetowe, HTML' - i są one rozmieszczone w sposób sugerujący użycie tabeli. Jest to standardowy sposób na prezentowanie zestawów danych, które mają związek ze sobą. Dzięki temu, informacje są łatwiejsze do zrozumienia i analizy. Pamiętaj jednak, że tabele powinny być używane głównie do prezentacji danych, a nie do układu strony - do tego celu lepiej nadają się inne metody, takie jak Flexbox czy CSS Grid.

Pytanie 4

W języku HTML, aby uzyskać następujący efekt formatowania, należy zapisać kod:

pogrubiony pochylony lub w górnym indeksie

A. <b>pogrubiony <i>pochylony</i></b> lub w <sub>górnym indeksie</sub>
B. <i>pogrubiony <b>pochylony lub w </i><sup>górnym indeksie</sup>
C. <i>pogrubiony </i><b>pochylony</b> lub w <sub>górnym indeksie</sub>
D. <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>
Poprawna odpowiedź to: <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>. Ta odpowiedź prawidłowo wykorzystuje trzy kluczowe tagi HTML do formatowania tekstu: <b>, <i> i <sup>. Tag <b> służy do wyświetlania tekstu w pogrubionym formacie, co pozwala na podkreślenie istotnych fragmentów tekstu. Przykładem może być wyróżnienie tytułów, nagłówków lub kluczowych punktów w treści. Tag <i> jest używany do wyświetlania tekstu w formacie kursywy, co jest często używane do wyróżnienia tytułów książek, filmów, cytowań lub podkreślenia ważnych punktów. Tag <sup> jest używany do wyświetlania napisów jako tekst górnego indeksu, co jest często używane do wskazania numerów stron, przypisów, lub dla oznaczeń matematycznych lub naukowych. Pamiętaj, że prawidłowe użycie tych tagów jest kluczowe dla tworzenia jasnej, czytelnej i profesjonalnie wyglądającej strony internetowej.

Pytanie 5

Tabele Klienci oraz Zgłoszenia są ze sobą połączone relacją jeden do wielu. W celu uzyskania jedynie opisu zgłoszenia oraz odpowiadającego mu nazwiska klienta dla zgłoszenia o numerze 5, należy wykonać polecenie

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Klienci.id = 5
B. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5
C. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci WHERE Klienci.id = 5
D. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.id WHERE Zgłoszenia.id = 5
Odpowiedź jest poprawna, ponieważ uwzględnia właściwe połączenie między tabelami Klienci i Zgłoszenia za pomocą klucza obcego Klienci_id w tabeli Zgłoszenia. W relacyjnych bazach danych, gdy chcemy pobrać dane z dwóch tabel powiązanych relacją klucz główny-klucz obcy, używamy klauzuli JOIN. W tym przypadku Klienci_id w tabeli Zgłoszenia odnosi się do kolumny id w tabeli Klienci. Zapytanie SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5; precyzyjnie pobiera kolumny opis i nazwisko z odpowiednich tabel, filtrując wyniki, aby dotyczyły jedynie zgłoszenia o id równym 5. Takie podejście jest zgodne z dobrymi praktykami projektowania relacyjnych baz danych, gdzie separacja danych na tabele pozwala na efektywne zarządzanie związkami między danymi. Korzystając z JOIN, integrujemy te dane w logiczny sposób, co jest fundamentem wydajnych i skalowalnych systemów bazodanowych. Praktyczne zastosowanie tego podejścia można znaleźć w projektowaniu systemów CRM, gdzie dane o klientach i ich zgłoszeniach są regularnie łączone w celu analizy i raportowania.

Pytanie 6

W zamieszczonym kodzie PHP, który łączy się z serwerem bazy danych, jakie działania powinny być umieszczone w instrukcji warunkowej w miejscu trzech kropek?

$db = mysqli_connect("localhost","root","qwerty","baza1");
if ( !$db ) {
...
}
A. Zarządzanie błędem połączenia
B. Zamknięcie połączenia z bazą danych
C. Informacja o udanym połączeniu z bazą
D. Przetwarzanie danych otrzymanych z bazy
W przypadku nawiązywania połączenia z bazą danych kluczowym aspektem jest sprawdzenie czy połączenie zostało nawiązane pomyślnie. W PHP funkcja mysqli_connect() zwraca false w przypadku nieudanego połączenia dlatego pierwszym krokiem po jej użyciu powinno być sprawdzenie czy połączenie zostało zainicjowane poprawnie. W sytuacji gdy połączenie nie powiedzie się należy wykonać odpowiednie czynności obsługi błędu. Najczęściej stosowaną praktyką jest wyświetlenie użytkownikowi komunikatu o błędzie oraz zapisanie szczegółów błędu do logów systemowych co umożliwia późniejszą diagnostykę problemu. Można to zrealizować za pomocą funkcji mysqli_connect_error() która zwraca szczegóły błędu połączenia. Obsługa błędów na tym etapie jest zgodna z dobrymi praktykami programistycznymi i pomaga zapobiegać sytuacjom w których aplikacja działałaby w sposób nieprzewidywalny lub nieefektywny. Prawidłowe zarządzanie błędami połączenia jest niezbędne do tworzenia stabilnych i bezpiecznych aplikacji internetowych. Ponadto pozwala na wczesne wykrycie problemów konfiguracyjnych takich jak nieprawidłowe dane logowania czy brak dostępu do serwera bazy danych.

Pytanie 7

Które oprogramowanie jest typowe do obróbki grafiki WEKTOROWEJ?

A. Paint
B. Brasero
C. Audacity
D. Inkscape
Pozostałe programy mają inne zastosowania. Paint to prosty edytor grafiki RASTROWEJ, Audacity edytuje dźwięk, a Brasero nagrywa płyty CD/DVD. Grafiką wektorową zajmuje się Inkscape.

Pytanie 8

Której wartości właściwości background-attachment użyć, aby tło pozostało nieruchome względem okna przeglądarki?

A.
scroll
B.
local
C.
fixed
D.
inherit
Pozostałe wartości zachowują się inaczej. scroll (domyślna) przewija tło razem z treścią - odwrotnie do wymagania. local wiąże tło z przewijaniem zawartości elementu, a inherit dziedziczy ustawienie po rodzicu. Tło nieruchome względem okna daje fixed.

Pytanie 9

Aby zaprojektować kształt logo dla strony WWW sposobem przedstawionym na obrazie, należy zastosować funkcję

Ilustracja do pytania
A. wykluczenia.
B. części wspólnej.
C. sumy.
D. różnicy.
Niestety, wybrana odpowiedź jest niepoprawna. Zamiast 'różnicy', 'sumy' czy 'części wspólnej', poprawnym rozwiązaniem jest 'wykluczenie'. Na obrazie mamy do czynienia z dwoma kształtami, z których fioletowy jest nałożony na czerwony. Wynik to kształt pokazujący tylko te części czerwonego kształtu, które nie pokrywają się z fioletowym. Właśnie tak działa operacja wykluczenia w grafice komputerowej - wynikowa forma zawiera tylko te elementy jednego obiektu, które nie nakładają się z drugim. Operacje różnicy, sumy czy części wspólnej miałyby inne efekty. 'Różnica' usunęłaby część czerwonego kształtu pokrywającą się z fioletowym, 'suma' utworzyłaby kształt zawierający całość obu kształtów, a 'część wspólna' wytworzyłaby kształt pokrywający się z oboma kształtami. Odnoszenie się do niewłaściwych operacji może prowadzić do znacznych błędów w projektowaniu graficznym.

Pytanie 10

Który odnośnik (hiperłącze) jest poprawnie zapisany?

A.
<a href="http://strona.pl">strona</a>
B.
<a src="/www.strona.pl">strona</a>
C.
<a href=http://strona.pl>strona</a>
D.
<a href="http::/strona.pl>strona</a>
Hiperłącze tworzy znacznik <a>, a adres docelowy podaje się w atrybucie href, w cudzysłowie: <a href="http://strona.pl">strona</a>. Tekst między <a> a </a> to widoczna treść odnośnika. Ważne są prawidłowy adres (ze schematem http:// lub https://) oraz poprawne ujęcie wartości w cudzysłów. Dlatego poprawny jest zapis <a href="http://strona.pl">strona</a>.

Pytanie 11

Podaj zapytanie SQL, które tworzy użytkownika sekretarka na localhost z hasłem zaq123

CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"; 
A. CREATE USER 'sekretarka'@'localhost' IDENTIFIED `zaq123`
B. CREATE USER `sekretarka`@`localhost` IDENTIFIED BY 'zaq123'
C. CREATE USER `sekretarka`@`localhost` IDENTIFY BY `zaq123`
D. CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"
Użycie nieprawidłowych składni w zapytaniach SQL może prowadzić do nieporozumień i błędów w konfiguracji użytkowników. W przypadku podanych błędnych odpowiedzi, brak użycia frazy 'IDENTIFIED BY' z odpowiednio umieszczonym hasłem w pojedynczych cudzysłowach jest kluczowym błędem. Na przykład, w jednym z przypadków zastosowano słowo 'IDENTIFY', które jest niepoprawne i nie jest częścią składni SQL dla tworzenia użytkowników. Różnice w użyciu pojedynczych cudzysłowów i backticks również mają znaczenie; backticks są używane do oznaczania nazw obiektów w SQL, podczas gdy hasła powinny być otoczone pojedynczymi cudzysłowami. Ponadto, znaki takie jak ` zaq123` w niektórych odpowiedziach sugerują mylne zrozumienie zasad definiowania danych tekstowych w SQL. Niepoprawne podejście do tworzenia użytkowników może skutkować problemami w zakresie bezpieczeństwa, ponieważ niewłaściwie skonfigurowani użytkownicy mogą uzyskiwać nieautoryzowany dostęp do systemów. Właściwe zrozumienie składni SQL oraz terminologii jest kluczowe do skutecznego zarządzania bazami danych i zapewnienia odpowiedniego poziomu ochrony informacji.

Pytanie 12

Który typ danych SQL jest optymalny do przechowywania numeru PESEL?

A.
CHAR(11)
B.
BLOB
C.
FLOAT(11)
D.
TINYINT
PESEL to ciąg dokładnie 11 cyfr traktowany jak identyfikator (nie liczy się na nim), więc najlepszy jest typ tekstowy o STAŁEJ długości CHAR(11) - nie gubi zer wiodących i zajmuje przewidywalne miejsce. Dlatego optymalny jest CHAR(11).

Pytanie 13

W języku PHP instrukcja foreach jest rodzajem

A. pętli, niezależnie od rodzaju zmiennej
B. instrukcji wyboru, dla elementów tablicy
C. pętli, przeznaczonej wyłącznie dla elementów tablicy
D. instrukcji warunkowej, niezależnie od typu zmiennej
Instrukcja <i>foreach</i> w PHP to naprawdę super sprawa, jeśli chodzi o przechodzenie przez elementy tablicy. Dzięki niej można bardzo prosto iterować po wszystkich wartościach, co sprawia, że kod staje się bardziej przejrzysty i zwięzły. Nie trzeba wtedy się martwić o ręczne zarządzanie wskaźnikami tablicy. A dostęp do kluczy i wartości? Proszę bardzo! Na przykład, mając tablicę $fruits = ['jabłko', 'banan', 'czereśnia'], można użyć <i>foreach</i> tak: <code>foreach ($fruits as $fruit) { echo $fruit; }</code>. To wydrukuje nam wszystkie owoce na ekranie. No i warto mieć na uwadze, że <i>foreach</i> działa też z tablicami asocjacyjnymi, co pozwala na przechodzenie przez pary klucz-wartość. Korzystając z tej instrukcji, można pisać lepszy, bardziej zrozumiały kod, a to szczególnie ma znaczenie w większych projektach, gdzie czytelność jest kluczowa dla późniejszego rozwoju i utrzymania kodu.

Pytanie 14

W języku JavaScript należy uzyskać dostęp do elementu w pierwszym akapicie podanego kodu HTML. Jak można to zrobić za pomocą funkcji

<p>pierwszy paragraf</p>
<p>drugi paragraf</p>
<p>trzeci paragraf</p>
...
A. getElementByTagName('p')[0];
B. getElementById('p1');
C. getElementByClassName('p.1')[0];
D. getElement('p');
Metoda getElementsByTagName('p')[0] jest prawidłowym sposobem odwołania się do pierwszego elementu <p> w dokumencie HTML. Funkcja getElementsByTagName zwraca kolekcję wszystkich elementów o określonej nazwie tagu. W przypadku użycia tagu 'p', funkcja zwraca tablicę wszystkich paragrafów. Aby uzyskać dostęp do pierwszego paragrafu, korzystamy z indeksu [0], co jest zgodne z konwencją numerowania od zera w językach programowania. Praktyczne zastosowanie tej metody obejmuje manipulację treścią lub stylami pierwszego paragrafu, na przykład zmiana jego tekstu za pomocą innerHTML lub dodanie klasy CSS w celu zmiany jego wyglądu. Stosowanie getElementsByTagName jest zgodne z powszechnymi standardami i dobrymi praktykami w pracy z DOM (Document Object Model) w JavaScript. Ważne jest zrozumienie tego mechanizmu, aby efektywnie operować na elementach HTML oraz tworzyć dynamiczne i interaktywne strony internetowe. Warto również pamiętać, że metoda ta zwraca dynamiczną kolekcję, co oznacza, że zmiany w DOM automatycznie wpływają na zawartość zwróconej kolekcji.

Pytanie 15

Podczas testowania skryptu JavaScript można w konsoli wyświetlać obecnie przechowywane wartości zmiennych przy użyciu funkcji

A. console.warn()
B. console.error()
C. console.log()
D. console.count()
Funkcja console.log() jest najczęściej używaną metodą do wyświetlania informacji w konsoli JavaScript. Umożliwia ona programistom monitorowanie wartości zmiennych w czasie rzeczywistym, co jest niezwykle pomocne podczas debugowania aplikacji. Używając console.log(), można łatwo wprowadzić komunikaty do konsoli, co pozwala na śledzenie zachowań aplikacji oraz identyfikację potencjalnych problemów. Przykładowo, jeśli mamy zmienną 'x' i chcemy zobaczyć jej wartość, wystarczy wpisać console.log(x). Dobre praktyki inżynierii oprogramowania sugerują, aby używać tego narzędzia do logowania istotnych informacji, w tym danych wejściowych oraz wyników operacji, co ułatwia późniejszą analizę i utrzymanie kodu. Ponadto, console.log() jest częścią standardu Web API, co potwierdza jego znaczenie i powszechność w branży. Warto też pamiętać, że nadmierne logowanie może prowadzić do zagracenia konsoli, dlatego kluczowe jest stosowanie tej funkcji w umiarkowany sposób, szczególnie w środowisku produkcyjnym.

Pytanie 16

Podaj nazwę Systemu Zarządzania Treścią, którego logo jest pokazane na dołączonym rysunku?

Ilustracja do pytania
A. WordPress
B. Drupal
C. Joomla!
D. MediaWiki
Odpowiedź Joomla! jest poprawna ponieważ logo przedstawione na rysunku jest oficjalnym znakiem identyfikacyjnym tego systemu zarządzania treścią CMS. Joomla! to jeden z najpopularniejszych systemów CMS używany do tworzenia stron internetowych oraz aplikacji. Dzięki swojej elastyczności i dużej liczbie dostępnych rozszerzeń Joomla! pozwala na tworzenie zarówno prostych stron wizytówkowych jak i zaawansowanych serwisów e-commerce. Główne zalety Joomla! to intuicyjny interfejs użytkownika który ułatwia zarządzanie treściami oraz silna społeczność użytkowników zapewniająca wsparcie techniczne i rozwój oprogramowania. Joomla! jest zgodna z wieloma standardami webowymi co czyni ją wszechstronnym narzędziem do wdrażania profesjonalnych projektów internetowych. Korzystanie z Joomla! umożliwia szybkie i efektywne tworzenie responsywnych stron które dobrze współdziałają na różnych urządzeniach mobilnych. Praktyczne zastosowanie Joomla! obejmuje tworzenie stron korporacyjnych portali społecznościowych oraz serwisów informacyjnych. Dzięki modulowej architekturze użytkownicy mogą łatwo dostosowywać funkcjonalność swoich stron do specyficznych potrzeb branżowych co jest zgodne z dobrymi praktykami projektowania zorientowanego na użytkownika. Platforma Joomla! obsługuje także wielojęzyczność i różne metody uwierzytelniania co czyni ją idealnym rozwiązaniem dla międzynarodowych projektów.

Pytanie 17

Selektor CSS a:link {color:red} w arkuszach stylów nazywanych kaskadowymi określa

A. pseudoklasę.
B. pseudoelement.
C. klasę.
D. identyfikator.
Wybór odpowiedzi związanej z klasą, identyfikatorem lub pseudoelementem nie uwzględnia kluczowej różnicy między tymi pojęciami a pseudoklasami. Klasa w CSS definiuje grupę elementów, które mają wspólne cechy stylistyczne, natomiast identyfikator jest unikalny dla jednego elementu na stronie i powinien być używany tylko raz. Klasy i identyfikatory są przypisywane za pomocą atrybutów 'class' i 'id' w HTML, co czyni je bardziej statycznymi, podczas gdy pseudoklasy odnoszą się do konkretnego stanu elementu, co wprowadza element dynamiki. Pseudoelementy, takie jak '::before' lub '::after', również różnią się, ponieważ pozwalają na stylizację części elementu, a nie jego całego stanu. Typowe błędy myślowe związane z myleniem tych pojęć wynikają często z braku zrozumienia, jak działa kaskadowość i dziedziczenie w CSS. Kluczowe jest zrozumienie, że pseudoklasy są narzędziem do reakcji na interakcje użytkownika, co pozwala na bardziej zaawansowane i intuicyjne projektowanie stron internetowych. Ignorowanie tych różnic prowadzi do nieefektywnego stylowania i może obniżać jakość interfejsów użytkownika.

Pytanie 18

W instrukcji warunkowej w języku JavaScript należy zweryfikować sytuację, w której wartość zmiennej a mieści się w przedziale (0, 100), a wartość zmiennej b jest większa od zera. Jak można poprawnie zapisać taki warunek?

A. if (a > 0 || a < 100 11 b < 0)
B. if ((a > 0 && a < 100) 11 b < 0)
C. if (a > 0 && a < 100 && b > 0)
D. if ((a > 0 11 a < 100) && b > 0)
Odpowiedź if (a > 0 && a < 100 && b > 0) jest prawidłowa, ponieważ dokładnie odzwierciedla wymogi przedstawione w pytaniu. W tym przypadku, warunek sprawdza, czy zmienna 'a' jest większa od zera oraz mniejsza od 100, co oznacza, że mieści się w przedziale (0, 100). Dodatkowo, warunek b > 0 zapewnia, że zmienna 'b' ma wartość większą od zera. Użycie operatora logicznego && jest kluczowe, ponieważ pozwala na połączenie wszystkich trzech warunków, co oznacza, że wszystkie muszą być spełnione, aby blok kodu w instrukcji if został wykonany. W praktyce, ten typ instrukcji jest niezwykle użyteczny w różnorodnych aplikacjach, na przykład w systemach walidacji danych wejściowych, gdzie istotne jest sprawdzenie, czy wartości są w określonych zakresach przed przetwarzaniem. Dobrą praktyką jest zawsze stosowanie wyraźnych i zrozumiałych warunków logicznych w celu zwiększenia czytelności i utrzymania kodu, co jest zgodne z zasadami czystego kodowania.

Pytanie 19

Poziom izolacji transakcji Repeatable Read (tryb powtarzalnego odczytu) używany przez MS SQL jest związany z problemem

A. brudnych odczytów
B. niepowtarzalnych odczytów
C. utraty aktualizacji
D. odczytów widm
Wybór odpowiedzi 'niepowtarzalnych odczytów', 'brudnych odczytów' lub 'utraty aktualizacji' wskazuje na brak zrozumienia, jak działają różne poziomy izolacji transakcji w kontekście baz danych. Odczyty niepowtarzalne polegają na tym, że transakcja może odczytać różne wartości w kolejnych odczytach tego samego wiersza, co jest problemem rozwiązywanym przez poziom Repeatable Read. Oznacza to, że dane odczytane w jednym kroku transakcji pozostają spójne do końca tej transakcji, a zatem nie są one narażone na zmiany poprzez inne transakcje w tym samym czasie. Brudne odczyty występują, gdy jedna transakcja odczytuje dane zapisane przez inną, jeszcze niezakończoną transakcję, co jest problemem z kolei eliminowanym przez poziomy izolacji takie jak Read Committed. Utrata aktualizacji to inny problem, który polega na tym, że dwie transakcje odczytują tę samą wartość i zapisują zmodyfikowane wartości, przy czym ostatnia zapisuje nadpisując wcześniejszą, co także nie jest bezpośrednim problemem w kontekście Repeatable Read. W praktyce, zrozumienie różnicy między tymi problemami jest kluczowe dla zapewnienia spójności transakcji. Warto zatem studiować dokumentację i standardy, aby właściwie dobierać poziomy izolacji w zależności od wymagań konkretnej aplikacji.

Pytanie 20

Jakie są przykłady standardowych poleceń w języku zapytań SQL, odnoszących się do operacji na danych SQL DML, takich jak wstawianie, usuwanie oraz modyfikacja danych?

A. DELETE, INSERT, UPDATE
B. DENY, GRANT, REVOKE
C. ALTER, CREATE, DROP
D. SELECT, SELECT INTO
Poprawna odpowiedź to DELETE, INSERT, UPDATE, które są podstawowymi poleceniami w języku SQL dla operacji manipulacji danymi (DML, Data Manipulation Language). Polecenie INSERT służy do dodawania nowych rekordów do tabeli, na przykład: 'INSERT INTO pracownicy (imie, nazwisko) VALUES ('Jan', 'Kowalski');'. DELETE umożliwia usunięcie istniejących danych, co można zrealizować poprzez 'DELETE FROM pracownicy WHERE nazwisko = 'Kowalski';', co kasuje rekordy spełniające określony warunek. Natomiast UPDATE pozwala na modyfikację danych w tabeli, na przykład: 'UPDATE pracownicy SET imie = 'Anna' WHERE nazwisko = 'Kowalski';'. Te instrukcje są zgodne z międzynarodowymi standardami SQL i są kluczowe w codziennym zarządzaniu bazami danych, umożliwiając efektywne manipulowanie danymi w różnych systemach zarządzania bazami danych, takich jak MySQL, PostgreSQL czy Microsoft SQL Server.

Pytanie 21

Co należy zrobić, gdy rozmiar pliku graficznego jest zbyt duży do umieszczenia w Internecie?

A. zmniejszyć jego rozdzielczość
B. zapisać w formacie BMP
C. zwiększyć jego głębię kolorów
D. dodać kanał alfa
Wybór formatu BMP do publikacji w Internecie jest niepraktyczny, ponieważ BMP jest formatem o bardzo dużej objętości, który nie kompresuje danych, co sprawia, że pliki są nieporęczne do przesyłania. Zdecydowanie bardziej odpowiednie są kompresowane formaty, jak JPEG, PNG, czy GIF, które pozwalają na znaczne zmniejszenie rozmiaru plików bez zauważalnej utraty jakości w przypadku obrazów bitmapowych. Zwiększenie głębi kolorów to kolejny błąd myślowy, ponieważ zwiększenie liczby kolorów w obrazie nie tylko nie wpływa na jego rozmiar w sposób korzystny, ale wręcz go zwiększa, co czyni plik jeszcze mniej odpowiednim do publikacji w Internecie. Dodanie kanału alfa, który wprowadza przezroczystość w obrazach, również zwiększa objętość pliku, co czyni tę opcję nieoptymalną przy próbie zmniejszenia rozmiaru pliku. W kontekście publikacji internetowych, kluczowym celem powinno być zapewnienie szybkości ładowania strony oraz dostarczenie użytkownikom jak najlepszych doświadczeń, co jest możliwe poprzez optymalizację obrazów, a nie ich obciążanie. Z tego powodu, zamiast stosować nieefektywne rozwiązania, ważne jest, aby korzystać z właściwych narzędzi i technik, aby zapewnić najlepszą jakość i wydajność podczas publikacji graficznych w sieci.

Pytanie 22

Co w bazach danych oznacza termin „atrybut”?

A. rekord tabeli z danymi jednego egzemplarza
B. powiązanie dwóch lub więcej danych związkiem
C. obiekt złożony z cech opisanych kolumnami
D. nazwaną kolumnę tabeli opisującą określoną cechę
Pozostałe odpowiedzi mylą pojęcia modelu relacyjnego. „Obiekt złożony z cech” to raczej encja, a nie pojedynczy atrybut. Powiązanie danych związkiem to RELACJA. Rekord z danymi jednego egzemplarza to KROTKA (wiersz). Atrybut to nazwana kolumna opisująca cechę.

Pytanie 23

W języku SQL, aby wstawić wiersz danych do tabeli w bazie danych, należy zastosować polecenie

A. INSERT INTO
B. CREATE INTO
C. CREATE ROW
D. SELECT ROW
W języku SQL nazewnictwo poleceń nie jest przypadkowe i mocno wynika ze standardu ANSI/ISO. Jeżeli chcemy dodać nowy wiersz danych do istniejącej tabeli, używamy instrukcji INSERT INTO, a nie żadnych konstrukcji typu SELECT ROW, CREATE ROW czy CREATE INTO. Te błędne formy często biorą się z intuicyjnego mieszania pojęć z języków programowania i potocznego opisu danych.
SELECT służy wyłącznie do odczytu danych, czyli do tworzenia zapytań wybierających wiersze z tabel. Dodawanie słowa ROW do SELECT wygląda może „logicznie” po ludzku, ale w SQL nie istnieje taka konstrukcja jak SELECT ROW do wstawiania rekordu. SELECT może co najwyżej dostarczyć dane, które potem wstawimy za pomocą INSERT INTO w formie INSERT INTO tabela (kolumny) SELECT .... To jest poprawny, standardowy mechanizm masowego wstawiania, ale sama instrukcja SELECT niczego nie zapisuje do tabeli.
Z kolei CREATE w SQL służy do tworzenia obiektów strukturalnych: CREATE TABLE, CREATE VIEW, CREATE INDEX, CREATE DATABASE. Tworzymy w ten sposób samą strukturę, a nie dane w środku. Stąd pomysły typu CREATE ROW albo CREATE INTO są po prostu sprzeczne z logiką składni SQL. Wiersz danych (rekord) nie jest osobnym obiektem, który się „tworzy” poleceniem CREATE, tylko zawartością tabeli, którą modyfikujemy poleceniami INSERT, UPDATE albo DELETE.
Częsty błąd myślowy polega na tym, że ktoś próbuje tłumaczyć SQL dosłownie z języka naturalnego: „chcę utworzyć wiersz, więc napiszę CREATE ROW”. Niestety SQL ma swoje utrwalone słownictwo i trzeba się go nauczyć jak języka obcego. Dobra praktyka w branży to trzymanie się dokładnych konstrukcji ze standardu: INSERT INTO do dodawania rekordów, SELECT do odczytu, UPDATE do modyfikacji i DELETE do usuwania. Dzięki temu kod jest czytelny dla każdego programisty czy administratora, który zna SQL, a zapytania są przenośne między różnymi silnikami baz danych.

Pytanie 24

Kod JavaScript aktywowany przez kliknięcie przycisku ma na celu

<img id="i1" src="obraz1.gif">
<button onclick="document.getElementById('i1').src='obraz2.gif'">
test</button>
A. zmienić styl obrazu o id i1
B. pokazać obraz2.gif obok obraz1.gif
C. zamienić obraz1.gif na obraz2.gif
D. ukryć obraz2.gif
Kod JavaScript w przedstawionym przykładzie został zaprogramowany w celu zamiany źródła obrazu na nowe po naciśnięciu przycisku. Gdy użytkownik kliknie na przycisk, wywołuje on funkcję, która zmienia atrybut 'src' elementu <img> z 'obraz1.gif' na 'obraz2.gif'. Jest to typowy sposób manipulacji elementami DOM w JavaScript, co jest fundamentalnym elementem programowania interakcji na stronach internetowych. Takie podejście jest zgodne z najlepszymi praktykami w zakresie programowania front-end, ponieważ pozwala na dynamiczne zmiany na stronie bez konieczności przeładowania całej strony. Przykładem praktycznego zastosowania może być użycie tego typu kodu w aplikacjach webowych, gdzie użytkownik może interaktywnie zmieniać widok, na przykład w galeriach zdjęć, grach przeglądarkowych czy aplikacjach do nauki. Zrozumienie tej techniki jest kluczowe dla każdego programisty front-end, ponieważ efektywne wykorzystanie JavaScript do manipulacji DOM jest jednym z podstawowych narzędzi w budowie nowoczesnych aplikacji webowych.

Pytanie 25

Które z tabel będą poddane weryfikacji zgodnie z przedstawionym poleceniem?

CHECK TABLE pracownicy CHANGED;
A. Tabele, które zmieniły się w obecnej sesji
B. Tabele, które uległy zmianie od ostatniej kontroli lub nie zostały poprawnie zamknięte
C. Wyłącznie tabele odnoszące się do innych
D. Tylko te tabele, które nie mogły być poprawnie zakończone
Polecenie CHECK TABLE pracownicy CHANGED jest używane w systemach zarządzania bazami danych, aby sprawdzić stan tabeli 'pracownicy' w kontekście jej integralności i ewentualnych zmian, które miały miejsce od ostatniej kontroli. Poprawna odpowiedź odnosi się do przypadków, kiedy tabela mogła być zmieniona lub nie została prawidłowo zamknięta podczas ostatnich operacji, co może prowadzić do uszkodzenia danych lub naruszeń integralności. W praktyce, administratorzy baz danych często wykorzystują to polecenie jako część rutynowych procedur konserwacyjnych, aby zapewnić, że wszystkie tabele są w dobrym stanie. W przypadku dużych systemów z wieloma użytkownikami lub złożonymi transakcjami, regularne sprawdzanie tabel może zapobiec poważnym problemom w przyszłości. Dobre praktyki w zakresie zarządzania bazami danych obejmują również monitorowanie zmian oraz tworzenie kopii zapasowych przed dużymi operacjami, co wspiera bezpieczeństwo i integralność danych.

Pytanie 26

Interpreter PHP zwróci błąd i zaniecha wykonania kodu, jeżeli programista

A. nie umieści średnika po wyrażeniu w instrukcji if, jeśli za nim znajduje się sekcja else
B. będzie definiował zmienne w obrębie warunku
C. pobierze wartość z formularza, w którym pole input nie zostało wypełnione
D. będzie tworzył kod bez odpowiednich wcięć
Pojęcie wcięć w kodzie PHP ma charakter stylistyczny, a nie składniowy, co sprawia, że nie są one wymagane do poprawnego działania kodu. PHP nie wymaga wcięć, aby zrozumieć logikę programu, co oznacza, że kod bez wcięć będzie działał poprawnie, chociaż może być trudniejszy do odczytania. Deklaracja zmiennych wewnątrz warunków również nie prowadzi do błędów. Możliwość deklarowania zmiennych w każdej instrukcji warunkowej jest zgodna z zasadami języka PHP, a zmienne te są lokalne dla danego zakresu, co jest zgodne z dobrymi praktykami programistycznymi. Co do pobierania wartości z formularzy, nawet jeśli pole input nie zostało wypełnione, PHP nie zgłasza błędów, lecz zwraca wartość null lub pusty ciąg, co jest normalnym zachowaniem. Typowe błędy myślowe przy podejmowaniu decyzji o tym, co może powodować błędy w PHP, często wynikają z braku zrozumienia różnicy między błędami składniowymi a błędami logicznymi. Błędy składniowe są związane z niepoprawnym formatowaniem kodu, podczas gdy błędy logiczne mogą występować w wyniku niepoprawnej logiki działania programu. Dlatego ważne jest, aby dokładnie rozumieć zasady działania języka i jego składni, aby uniknąć frustracji w procesie tworzenia aplikacji.

Pytanie 27

Jakie są wyniki wykonania zapytania SQL?

SELECT count(*) FROM Uczniowie WHERE srednia=5;
A. suma ocen uczniów z średnią 5
B. ilość uczniów, których średnia ocen wynosi 5
C. łączna liczba uczniów
D. średnia wszystkich ocen uczniów
Zapytanie SQL używa funkcji COUNT aby policzyć liczbę rekordów w tabeli Uczniowie spełniających warunek srednia=5 Klauzula WHERE ogranicza zestaw zliczanych rekordów do tych gdzie średnia ocen ucznia wynosi dokładnie 5 W efekcie wynik zapytania odpowiada liczbie uczniów mających średnią ocen równą 5 Takie podejście jest powszechnie stosowane w analizie danych gdzie wymagane jest określenie liczby jednostek spełniających konkretne kryteria Zastosowanie COUNT w połączeniu z WHERE umożliwia precyzyjną kontrolę nad analizowanym zbiorem danych co jest standardem w wielu systemach bazodanowych Praktyczne zastosowanie tej techniki można spotkać w raportowaniu wyników nauczania generowaniu statystyk czy w analizach biznesowych gdzie kluczowe jest zrozumienie struktury i charakterystyki danych Zapytanie to ilustruje dobrą praktykę pracy z bazami danych polegającą na efektywnym i precyzyjnym formułowaniu zapytań w celu uzyskania wartościowych i precyzyjnych informacji

Pytanie 28

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

A. wykonywanie wszelkich operacji na serwerze oraz posiadanie praw do każdej bazy
B. zarządzanie zabezpieczeniami systemu
C. zarządzanie plikami na nośniku
D. tworzenie, aktualizowanie, usuwanie oraz przywracanie bazy danych
Odpowiedź nr 3 jest poprawna, ponieważ rola dbcreator w MS SQL Server umożliwia użytkownikowi tworzenie, modyfikowanie, usuwanie oraz odzyskiwanie baz danych. Użytkownik z tą rolą ma prawo do pełnej kontroli nad bazami danych, co jest istotne w kontekście zarządzania i utrzymania infrastruktury danych. Przykład praktyczny to sytuacja, w której administrator bazy danych potrzebuje utworzyć nową bazę dla aplikacji. Dzięki roli dbcreator może to zrobić bez dodatkowych uprawnień. Rola ta jest zgodna z najlepszymi praktykami w zakresie zarządzania dostępem, gdzie ogranicza się uprawnienia do niezbędnego minimum, ale jednocześnie umożliwia wykonanie kluczowych zadań związanych z zarządzaniem bazą danych. Warto zaznaczyć, że nadmierne przyznawanie uprawnień może prowadzić do problemów związanych z bezpieczeństwem, dlatego istotne jest przydzielanie ról zgodnie z zasadą najmniejszych uprawnień (Least Privilege Principle). Użytkownicy z rolą dbcreator powinni być odpowiednio przeszkoleni i świadomi swoich działań, aby nie wprowadzać niezamierzonych zmian w środowisku produkcyjnym.

Pytanie 29

Co oznacza w języku C++ przedstawiony fragment kodu?

struct CONTACT
{
std::string nazwisko;
std::string telefon;
int numer;
};
A. Trzy niezależne zmienne
B. Typ strukturalny składający się z trzech pól
C. Organizację zmiennych
D. Interakcję między zmiennymi lokalnymi a globalnymi
Fragment kodu, który przedstawiłeś, dotyczy struktury CONTACT w C++. W sumie fajnie, że w jednym miejscu udało się zebrać różne dane, bo struktury właśnie do tego służą. Mają one trzy pola: dwa typu std::string, czyli nazwisko i telefon, oraz jedno pole typu int, które nazywa się numer. To pole int służy do przechowywania liczb, na przykład identyfikatorów kontaktów. Struktury są super przydatne, bo pozwalają w łatwy sposób zarządzać danymi, które są ze sobą powiązane. W programowaniu obiektowym, jak w C++, to bardzo ważne, by mieć ładnie zorganizowane dane, bo to znacznie ułatwia życie przy większych projektach. Używanie struktur nie tylko poprawia czytelność kodu, ale też pozwala na łatwiejsze przekazywanie danych do funkcji. Różne konwencje, jak ta, że struktury reprezentują obiekty rzeczywiste, naprawdę mogą zwiększać modularność i elastyczność naszego kodu.

Pytanie 30

W systemie MySQL trzeba użyć polecenia REVOKE, aby użytkownikowi anna cofnąć możliwość wprowadzania zmian jedynie w definicji struktury bazy danych. Odpowiednia komenda do odebrania tych uprawnień ma postać

A. REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'
B. REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'
C. REVOKE ALL ON tabela1 FROM 'anna'@'locaihost'
D. REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'
W analizie odpowiedzi, które są niepoprawne, kluczowe jest zrozumienie, jakie uprawnienia są odbierane i dlaczego to ma znaczenie. Odpowiedzi takie jak 'REVOKE ALL ON tabela1 FROM 'anna'@'localhost'' są niewłaściwe, ponieważ polecenie REVOKE ALL odbiera wszystkie prawa użytkownikowi, co może być zbyt drastycznym krokiem. W kontekście zarządzania uprawnieniami, ważne jest, aby podejść do tego z miarą i precyzją, a nie stosować ogólne odbieranie wszystkich praw. Ponadto, odpowiedzi, które obejmują niewłaściwe kombinacje uprawnień, takie jak 'REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'', są również błędne. Odbieranie prawa UPDATE nie jest zgodne z celem pytania, które dotyczy jedynie strukturalnych zmian, a nie wprowadzania danych. Właściwe podejście do konfiguracji uprawnień powinno koncentrować się na ograniczaniu dostępu użytkowników tylko tam, gdzie jest to absolutnie konieczne, a nie na eliminacji ich zdolności do pracy z danymi w ogóle. Użytkownicy często popełniają błąd myślowy, myśląc, że odebranie zbyt wielu uprawnień jest rozwiązaniem problemu bezpieczeństwa, podczas gdy w rzeczywistości może to prowadzić do zablokowania niezbędnych operacji, co zagraża efektywności pracy organizacji.

Pytanie 31

Który zapis HTML deklaruje KODOWANIE znaków w dokumencie?

A.
<encoding="UTF-8">
B.
<meta charset="UTF-8">
C.
<meta encoding="UTF-8">
D.
<charset="UTF-8">
Kodowanie znaków deklaruje się w sekcji <head> zapisem <meta charset="UTF-8"> - dzięki temu przeglądarka poprawnie wyświetli polskie znaki. Dlatego poprawny jest <meta charset="UTF-8">.

Pytanie 32

Aby zdefiniować krój czcionki w stylu CSS, należy użyć właściwości:

A.
font-family
B.
font-style
C.
text-family
D.
text-style
Krój (rodzinę) czcionki ustawia w CSS właściwość font-family. Podaje się w niej nazwę czcionki, a zwykle także listę zapasowych i ogólną rodzinę, na przykład font-family: Arial, sans-serif - przeglądarka użyje pierwszej dostępnej. Pozwala to zachować spójny wygląd tekstu nawet, gdy konkretna czcionka nie jest zainstalowana. Dlatego do zdefiniowania kroju czcionki służy font-family.

Pytanie 33

Wynikiem działania pętli będzie wypisanie liczb

for ($i = 0; $i <= 20; $i += 4)
echo $i . ', ';
A. 0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
B. 0, 4, 8, 12, 16,
C. 0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
D. 0, 4, 8, 12, 16, 20,
Twoja odpowiedź jest prawidłowa. Pętla for w języku PHP jest strukturą kontrolną, która pozwala na wielokrotne wykonanie określonej sekwencji instrukcji. W tym konkretnym przypadku, pętla zaczyna od wartości 0 i zwiększa wartość $i o 4 przy każdej iteracji, aż osiągnie lub przekroczy wartość 20. W wyniku tego, wartości, które otrzymujemy i zostają wypisane, to 0, 4, 8, 12, 16, 20. Pętle są niezwykle użyteczne i wszechstronne w programowaniu, pozwalając na automatyzację i usprawnienie wielu zadań. Pętla for, którą tu widzimy, jest przykładem zastosowania tej struktury do generowania sekwencji liczb, co ma wiele zastosowań, na przykład w tworzeniu tablic, sterowaniu kolejnością wykonywania operacji lub generowaniu dynamicznych treści na stronach internetowych.

Pytanie 34

Który zapis <img> jest poprawny zgodnie z walidacją HTML5?

A.
<img src=mojPiesek.jpg" alt="pies>
B.
<img src=mojPiesek.jpg alt=pies>
C.
<img src="mojPiesek.jpg">
D.
<img src="mojPiesek.jpg" alt="pies">
Poprawny zapis to <img src="mojPiesek.jpg" alt="pies"> - wartości atrybutów src i alt ujęte są w cudzysłowy, a znacznik jest poprawnie domknięty. Dlatego prawidłowy jest ten zapis.

Pytanie 35

Jakie polecenie należy zastosować, aby w trakcie tworzenia tabeli dodać klucz obcy obejmujący wiele kolumn?

A. CONSTRAINT fk_osoba_uczen FOREIGN KEY (nazwisko, imie) REFERENCES osoby (nazwisko,imie)
B. CONSTRAINT fk_osoba_uczen FOREIGN KEY ON (nazwisko, imie) REFERENCES osoby (nazwisko,imie)
C. CONSTRAINT(nazwisko,imie) FOREIGN KEY REFERENCES osoby (nazwisko, imie)
D. CONSTRAINT(nazwisko,imie) FOREIGN REFERENCES KEY osoby (nazwisko, imie)
Wszystkie odpowiedzi inne niż 'CONSTRAINT fk_osoba_uczen FOREIGN KEY (nazwisko, imie) REFERENCES osoby (nazwisko,imie)' zawierają błędy, które mogą prowadzić do nieprawidłowego definiowania klucza obcego. Pierwsza odpowiedź niepoprawnie używa terminu 'FOREIGN REFERENCES KEY', co jest błędną konstrukcją, ponieważ nie istnieje taki termin w standardzie SQL. Poprawnym terminem jest 'FOREIGN KEY', który jasno wskazuje na rolę kolumn w kontekście relacji między tabelami. Dwie kolejne odpowiedzi błędnie zdefiniowały składnię definicji klucza obcego, używając niepoprawnych konstrukcji, takich jak 'ON' czy niewłaściwego umiejscowienia nazwy ograniczenia. Klucz obcy powinien być zdefiniowany w kontekście kolumn, które są nim objęte, a także powinien odnosić się do kolumn w innej tabeli, co w tych przypadkach nie zostało zrobione prawidłowo. Typowe błędy myślowe prowadzące do takich wniosków obejmują mylenie terminów i składni SQL, co może wynikać z braku znajomości standardów SQL lub po prostu z nieuwagi. Ważne jest, aby osoby pracujące z bazami danych dokładnie znały zasady składni oraz funkcje, jakie pełnią różne elementy definicji tabel i relacji, aby unikać takich błędów i zapewniać integralność danych.

Pytanie 36

Które stwierdzenie dotyczy grafiki wektorowej?

A. to obraz w postaci siatki kolorowanych pikseli na ekranie
B. obraz jest opisany figurami geometrycznymi w układzie współrzędnych
C. może być zapisana w formacie JPG lub PNG
D. służy do zapisu cyfrowych fotografii
Pozostałe zdania opisują grafikę RASTROWĄ. Siatka kolorowanych pikseli, zapis w JPG/PNG i cyfrowe fotografie to cechy rastra. Grafikę wektorową wyróżnia opis figurami geometrycznymi w układzie współrzędnych.

Pytanie 37

Język HTML oferuje nagłówki, które służą do tworzenia hierarchii zawartości. Te nagłówki występują wyłącznie w zakresie

A. h1 - h10
B. h1 - h8
C. h1 - h6
D. h1 - h4
Odpowiedź h1 - h6 jest poprawna, ponieważ w języku HTML nagłówki są definiowane w ramach sześciu poziomów, od h1 do h6. Nagłówki te pełnią kluczową rolę w organizacji treści na stronie internetowej, umożliwiając tworzenie hierarchii oraz struktury dokumentu. h1 jest najważniejszym nagłówkiem i powinien być używany do oznaczania głównego tytułu strony, podczas gdy h2, h3, h4, h5 i h6 służą do tworzenia podtytułów i hierarchii treści w miarę potrzeby. Na przykład, nagłówek h2 może być użyty do oznaczenia sekcji podrzędnej w stosunku do h1, a h3 do następnej sekcji podrzędnej. Takie zrozumienie hierarchii nagłówków jest istotne z punktu widzenia SEO, ponieważ wyszukiwarki korzystają z tych struktur do indeksowania treści. Dobrze zorganizowane nagłówki poprawiają również dostępność strony, co jest zgodne z najlepszymi praktykami webowymi, a także ułatwiają nawigację użytkownikom, zarówno ludziom, jak i robotom wyszukiwarek.

Pytanie 38

DELETE FROM Pracownicy ORDER BY rok_urodzenia LIMIT 1;
W wyniku wykonania powyższego zapytania SQL zostanie:
A. usunięta tabela Pracownicy.
B. usunięta kolumna rok_urodzenia z tabeli Pracownicy.
C. usunięty rekord najstarszego pracownika.
D. usunięty rekord z danymi pracownika, który miał wpisaną datę urodzenia.
Poprawnie – to polecenie SQL usuwa dokładnie jeden rekord, i to taki, który odpowiada najstarszemu pracownikowi w tabeli. Kluczowe są tu dwie rzeczy: klauzula ORDER BY oraz LIMIT 1. Najpierw baza danych sortuje wiersze z tabeli Pracownicy po kolumnie rok_urodzenia rosnąco, czyli od najstarszego do najmłodszego (mniejszy rok urodzenia = starsza osoba). Dopiero na tak posortowanym zbiorze polecenie DELETE z LIMIT 1 usuwa pierwszy rekord z góry, czyli właśnie najstarszego pracownika.
Warto zauważyć, że taka składnia (DELETE ... ORDER BY ... LIMIT ...) jest charakterystyczna m.in. dla MySQL i MariaDB. W standardowym SQL nie zawsze można użyć ORDER BY bezpośrednio w DELETE, ale w praktyce, w aplikacjach webowych, bardzo często pracuje się właśnie na tych silnikach, więc to rozwiązanie jest jak najbardziej realne. W innych systemach (np. PostgreSQL) podobny efekt robi się przez podzapytanie lub CTE.
Moim zdaniem to jest bardzo przydatny wzorzec, gdy chcemy usuwać „najstarsze” lub „najmłodsze” rekordy, np. najstarszy log systemowy, najstarsze zamówienie w statusie roboczym, najstarszy wpis w kolejce zadań. Ważna dobra praktyka: takie operacje powinny opierać się na jednoznacznym kryterium sortowania (np. rok_urodzenia + id), żeby uniknąć sytuacji, że przy tych samych wartościach pola baza wybierze losowo któryś rekord. W projektach produkcyjnych często dodaje się dodatkową kolumnę typu data_utworzenia albo używa klucza głównego w ORDER BY, żeby zachować deterministyczne zachowanie.
Zwróć też uwagę, że DELETE operuje na wierszach (rekordach), a nie na strukturze tabeli. Do usuwania kolumn służy ALTER TABLE, a do kasowania całej tabeli – DROP TABLE. To rozróżnienie jest absolutna podstawa pracy z SQL w każdej większej aplikacji.

Pytanie 39

Które z poniższych twierdzeń o definicji funkcji pokazanej w ramce jest prawdziwe?

function czytajImie(){
  var imie=null;
  do {
    imie=prompt("podaj imie: ");
    if (imie.length<3)
    alert("wprowadzony tekst jest niepoprawny");
  } while(imie.length<3);
}
A. Wczytanie tekstu zakończy się, gdy tekst będzie miał co najmniej 3 znaki
B. Funkcja zawiera pętlę, która powtarza się 3 razy
C. Pętla zostanie uruchomiona tylko raz
D. Tekst będzie wczytywany do czasu podania liczby większej niż 3
Błędne rozumienie działania pętli do-while może prowadzić do przekonania że pętla wykona się określoną ilość razy lub że zakończy się w momencie spełnienia innych warunków co jest typowym błędem wśród osób początkujących Pętla do-while w języku JavaScript wykonuje blok kodu przynajmniej raz a następnie sprawdza warunek kontynuacji co oznacza że nie jest ograniczona do stałej ilości iteracji jak mogłoby sugerować stwierdzenie o trzykrotnym powtórzeniu Warunek długości tekstu mniejszej niż 3 jest kluczowy dla jej działania i wymusza iterację aż do momentu gdy zostanie wprowadzony prawidłowy ciąg znaków co wyklucza możliwość że pętla wykona się tylko raz chyba że już za pierwszym razem zostanie wprowadzony tekst spełniający warunki Kolejnym nieporozumieniem może być błędne postrzeganie warunku jako związanego z wprowadzeniem liczby podczas gdy w rzeczywistości funkcja operuje na długości tekstu co jest częstym zagadnieniem przy walidacji danych tekstowych przy użyciu funkcji prompt Ważnym aspektem jest zrozumienie że pętle tego typu są używane tam gdzie wymagana jest walidacja danych wprowadzanego tekstu co jest praktyką szeroko akceptowaną w branży programistycznej z uwagi na konieczność zapewniania poprawności danych przed ich dalszym przetwarzaniem

Pytanie 40

W dokumencie XHTML znajduje się fragment kodu, który posiada błąd w walidacji. Na czym ten błąd polega?

<h6>tekst</h6>
<p>pierwsza <b>linia</b> <br>
Druga linia</p>
A. Znaczniki powinny być zapisywane dużymi literami
B. Znacznik <b> nie może być umieszczany wewnątrz znacznika <p>
C. Nie ma nagłówka szóstego stopnia
D. Znacznik <br> musi być zamknięty
Niektóre odpowiedzi sugerują błędne interpretacje zasad XHTML. Po pierwsze, stwierdzenie, że znacznik <b> nie może być zagnieżdżany w znaczniku <p>, jest nieprawdziwe. W rzeczywistości, znacznik <b> jest dozwolony w kontekście tekstu wewnątrz znacznika <p>, ponieważ oba należą do tej samej kategorii elementów inline. Wiele elementów inline, takich jak <i>, <u> czy <strong>, może być zagnieżdżanych bez problemu w znaczniku <p>, co czyni tę odpowiedź błędną. Z kolei twierdzenie o braku nagłówka szóstego stopnia jest również mylące, ponieważ znacznik <h6> jest częścią standardu HTML i XHTML, a jego użycie jest jak najbardziej zasadne. Przechodząc do kwestii pisania znaczników wielkimi literami, warto zauważyć, że XHTML jest czuły na wielkość liter, a właściwe stosowanie wielkich liter w przypadku znaczników nie jest wymogiem, ale zaleceniem w kontekście stylu. Ostatecznie, błędne uznanie zamknięcia znacznika <br> za opcjonalne w XHTML prowadzi do problemów z walidacją i interpretacją dokumentu, co może skutkować problemami w wyświetlaniu strony w różnych przeglądarkach. Takie nieprawidłowe podejście do składni może prowadzić do poważnych problemów w przyszłości, ponieważ poprawne zamykanie znaczników jest kluczowe dla każdego dokumentu XHTML, co podkreśla znaczenie znajomości i stosowania dobrych praktyk w pracy z kodem.