Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 21:38
  • Data zakończenia: 8 czerwca 2026 22:23

Egzamin zdany!

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

Wskaż styl CSS za pomocą, którego uzyskano przedstawiony efekt

Styl 1.
img {
  width: 100px;
  border-radius: 10%;
}
Styl 2.
img {
  width: 100px;
  border-radius: 50px;
}
Styl 3.
img {
  width: 100px;
  border: 50% green;
}
Styl 4.
img {
  width: 100px;
  shape: circle;
}
Ilustracja do pytania
A. Styl 2.
B. Styl 1.
C. Styl 4.
D. Styl 3.
Niestety, wybrałeś niepoprawną odpowiedź. Poprawną odpowiedzią jest 'Styl 2.', który wykorzystuje właściwość CSS border-radius z wartością 50px do zaokrąglania rogów obrazka. Zobaczmy, dlaczego pozostałe style są niepoprawne. 'Styl 1.' ma za małą wartość zaokrąglenia, co nie daje oczekiwanego efektu. Właściwość border-radius musi mieć odpowiednią wartość, aby uzyskać pożądane zaokrąglenie. 'Styl 3.' zawiera niepoprawną wartość, a mianowicie kolor. Kolor nie jest właściwą wartością dla border-radius, co pokazuje, jak ważne jest zrozumienie, jakie wartości są akceptowane dla różnych właściwości CSS. 'Styl 4.' używa właściwości shape, która nie istnieje w CSS. To jest błąd typowy dla osób, które nie są jeszcze pewne, które właściwości są dostępne w CSS. Jest to jasnym przykładem, dlaczego nauka i praktyka CSS są tak ważne do tworzenia atrakcyjnych i funkcjonalnych stron internetowych.

Pytanie 2

Który sposób zapisu stylu CSS ma najwyższy priorytet (jest stosowany w pierwszej kolejności)?

A. zewnętrzny arkusz stylów
B. styl importowany do wewnętrznego arkusza
C. wewnętrzny arkusz stylów
D. styl lokalny (śródliniowy, w atrybucie style)
Najwyższy priorytet w CSS ma styl LOKALNY (śródliniowy) - zapisany wprost w atrybucie style elementu, np. <p style="color:red">. Jest „najbliżej” elementu, więc nadpisuje reguły z arkuszy wewnętrznego i zewnętrznego. Zapamiętaj zasadę bliskości: im bliżej elementu zdefiniowany styl, tym silniejszy.

Pytanie 3

W każdej iteracji wartość bieżącego elementu tablicy jest przypisywana do zmiennej, a wskaźnik przesuwa się o jeden - aż do ostatniego elementu. Opis ten pasuje do instrukcji:

A.
next
B.
switch
C.
if
D.
foreach
Opisane zachowanie - „weź bieżący element, przypisz do zmiennej, przejdź do następnego, aż do końca” - to dokładnie pętla foreach. Iteruje ona po wszystkich elementach tablicy (lub kolekcji), w każdym obrocie udostępniając wartość (a opcjonalnie i klucz), np. foreach ($tab as $element) { echo $element; }. Programista nie musi sam pilnować indeksu ani warunku końca - pętla robi to automatycznie, co czyni ją wygodniejszą od klasycznego for przy przeglądaniu tablic. Dlatego opis pasuje do instrukcji foreach.

Pytanie 4

Którą właściwość CSS należy zastosować, aby uzyskać efekt rozstrzelenia (zwiększonych odstępów) między literami?

A.
text-decoration
B.
letter-spacing
C.
letter-transform
D.
text-space
Pozostałe nazwy albo nie istnieją, albo robią coś innego. letter-transform i text-space brzmią logicznie, ale takich właściwości w CSS nie ma. text-decoration jest prawdziwa, lecz odpowiada za dekoracje tekstu, takie jak podkreślenie czy przekreślenie, a nie za odstępy między znakami. Rozstrzelenie liter uzyskuje się właściwością letter-spacing, dlatego to ona jest poprawna.

Pytanie 5

Jak zapisać w JavaScript warunek: a i b są dodatnie, a b jest mniejsze od 100?

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))
Wszystkie trzy żądania muszą być spełnione naraz - a dodatnie, b dodatnie i b mniejsze od 100 - więc łączymy je operatorem &&: if (a > 0 && b > 0 && b < 100). „Dodatnie” to > 0. Dlatego ten warunek jest poprawny.

Pytanie 6

Wskaż właściwą zasadę związaną z integralnością danych w bazie danych?

A. w relacji 1..n pole klucza obcego łączy się z polem klucza obcego innej tabeli
B. pole klucza obcego nie może być puste
C. pole klucza podstawowego musi mieć utworzony indeks
D. pole klucza podstawowego nie może pozostawać puste
Pole klucza podstawowego, definiujące unikalność wierszy w tabeli, nie może być puste. Jest to fundamentalna zasada normalizacji baz danych, która zapewnia integralność danych oraz ich jednoznaczność. W praktyce oznacza to, że każda tabela w relacyjnej bazie danych musi mieć przynajmniej jeden klucz podstawowy, który nie dopuszcza do pojawienia się dwóch identycznych rekordów. Na przykład, w bazie danych klientów, numer identyfikacyjny klienta (np. PESEL lub ID) powinien być kluczem podstawowym. Dzięki temu można jednoznacznie identyfikować każdy rekord, co jest kluczowe dla operacji takich jak aktualizacja lub usunięcie danych. Dobrą praktyką jest także zapewnienie, aby klucz podstawowy był prosty w użyciu, zrozumiały dla użytkowników oraz, w miarę możliwości, niemożliwy do zmiany, co zmniejsza ryzyko błędów przy zarządzaniu danymi. Dodatkowo, klucz podstawowy powinien być indeksowany, co przyspiesza operacje wyszukiwania, ale jego podstawową cechą pozostaje unikalność i obowiązek posiadania wartości.

Pytanie 7

Po przeprowadzeniu walidacji dokumentu HTML pojawił się błąd przedstawiony na zrzucie. Jak można go usunąć?

Ilustracja do pytania
A. w znaczniku img zmienić nazwę atrybutu src na alt
B. zmienić zapis </h1> na <h1>
C. w znaczniku img zmienić nazwę atrybutu src na href
D. dodać atrybut alt do grafiki
Atrybut alt w znaczniku img jest kluczowym elementem poprawnego i dostępnego kodu HTML. Służy on do dostarczenia tekstowego opisu zawartości obrazu co jest niezwykle ważne dla osób korzystających z technologii asystujących takich jak czytniki ekranu. Dodanie atrybutu alt poprawia również indeksowanie strony przez wyszukiwarki internetowe co wpływa na SEO. Zgodnie z wytycznymi W3C oraz WCAG każda grafika powinna posiadać ten atrybut aby zapewnić dostępność treści. Przykładowo jeśli obraz przedstawia logo firmy alt powinien zawierać nazwę firmy. W przypadku obrazów dekoracyjnych atrybut alt może być pusty co sygnalizuje że obraz nie niesie istotnej informacji. Takie praktyki wspierają budowanie witryn przyjaznych i zgodnych ze standardami co jest nie tylko wymogiem prawnym w wielu jurysdykcjach ale także dobrym nawykiem programistycznym. W związku z tym dodanie atrybutu alt jest nie tylko środkiem do eliminacji błędu walidacji ale również krokiem w stronę odpowiedzialnego tworzenia treści internetowych.

Pytanie 8

Znacznik <i> w języku HTML ma na celu

A. ustalenie nagłówka w treści
B. określenie formularza
C. dodanie grafiki
D. zmianę czcionki na kursywę
Znacznik <i> w języku HTML jest używany do formatowania tekstu, aby uzyskać efekt pochylonego kroju pisma. Jest to element semantyczny, który wprowadza do dokumentu wizualną różnicę, ale także ma swoje miejsce w kontekście znaczeniowym. Użycie <i> może wskazywać na zmianę intonacji w tekście, taką jak nazwy książek, filmów, czy obcych wyrazów. W standardach HTML5, <i> jest zalecany do użytku, aby wyróżnić elementy tekstowe w sposób, który jest zgodny z zasadami dostępności i semantyki. Przykład zastosowania: <p>W książce <i>W pustyni i w puszczy</i> autorstwa Henryka Sienkiewicza...</p>. Oznaczanie tekstu w ten sposób wspiera nie tylko estetykę strony, ale również poprawia doświadczenie użytkowników korzystających z technologii asystujących, które mogą interpretować znaczenie tak oznaczonego tekstu. Warto również pamiętać o odpowiednich stylach CSS, które można zastosować do tego znacznika, aby dostosować jego wygląd do reszty witryny.

Pytanie 9

Grafika powinna być zapisana w formacie GIF, jeśli

A. jest to obraz w technologii stereoskopowej
B. istnieje potrzeba zapisu obrazu w formie bez kompresji
C. konieczne jest zapisanie obrazu lub animacji
D. jest to grafika wektorowa
Format GIF (Graphics Interchange Format) jest powszechnie wykorzystywany do przechowywania obrazów oraz animacji. Dzięki obsłudze przezroczystości oraz możliwości tworzenia prostych animacji, GIF stał się standardem w przypadku grafiki na stronach internetowych. Jego ograniczenie do 256 kolorów sprawia, że idealnie nadaje się do prostych grafik, takich jak logo czy ikony, gdzie nie jest wymagana pełna gama kolorów, co ma miejsce w formatach takich jak JPEG czy PNG. W przypadku animacji, GIF umożliwia zapis wielu klatek w jednym pliku, co pozwala na odtwarzanie sekwencji obrazu bez potrzeby korzystania z dodatkowego oprogramowania. Praktyczne zastosowanie GIF-a można zaobserwować w mediach społecznościowych, gdzie animowane obrazki są często wykorzystywane do wyrażania emocji, a także na stronach internetowych do przedstawiania logo w ruchu. Używanie formatu GIF w kontekście animacji jest zgodne z dobrą praktyką w branży, ponieważ pozwala na efektywne zarządzanie zasobami wizualnymi oraz zwiększa atrakcyjność treści wizualnych.

Pytanie 10

W tabeli artykuły wykonano następujące instrukcje dotyczące uprawnień użytkownika jan:

GRANT ALL PRIVILEGES ON artykuly TO jan
REVOKE SELECT, UPDATE ON artykuly FROM jan
Po zrealizowaniu tych instrukcji pracownik jan będzie uprawniony do
A. tworzenia tabeli oraz edytowania danych w niej
B. edycji danych oraz przeglądania tabeli
C. tworzenia tabeli i wypełniania jej danymi
D. wyświetlania zawartości tabeli
Wybrane odpowiedzi, które nie są poprawne, nie uwzględniają szczególnych ograniczeń, które zostały nałożone na użytkownika Jana po wykonaniu polecenia REVOKE. W przypadku odpowiedzi sugerujących, że Jan mógłby aktualizować dane i przeglądać tabelę, brakuje zrozumienia znaczenia polecenia REVOKE, które jednoznacznie odmawia tych uprawnień. Aktualizowanie danych w tabeli wymaga posiadania uprawnienia UPDATE, które Jan utracił. Z kolei odpowiedzi sugerujące tworzenie tabeli i aktualizowanie w niej danych oraz przeglądanie tabeli są również mylące, ponieważ wykluczają kluczowy aspekt ograniczeń narzuconych przez polecenie REVOKE. Użytkownik Jan nie może przeglądać danych w tabeli, ponieważ nie ma aktualnie uprawnienia SELECT. Ponadto, w kontekście SQL, każdy użytkownik musi mieć przyznane konkretne uprawnienia do realizacji określonych operacji na danych, co w przypadku Jana oznacza, że jego uprawnienia do SELECT i UPDATE są nieodwracalnie usunięte, co czyni wszystkie te odpowiedzi nieaktualnymi.

Pytanie 11

W języku CSS stworzono określony styl. Sekcja sformatowana tym stylem będzie miała obramowanie o szerokości

div {
    border: solid 2px blue;
    margin: 20px;
}
A. 2 px oraz marginesy zewnętrzne tego obramowania
B. 20 px oraz marginesy wewnętrzne tego obramowania
C. 20 px oraz marginesy zewnętrzne tego obramowania
D. 2 px oraz marginesy wewnętrzne tego obramowania
Odpowiedź 2 px oraz marginesy na zewnątrz tego obramowania jest prawidłowa ponieważ w definicji stylu CSS ustawiono właściwość border z wartością solid 2px blue co oznacza że element będzie miał obramowanie o grubości 2 pikseli z niebieskim kolorem Dodatkowo użyto właściwości margin z wartością 20px co wskazuje że element ma margines zewnętrzny o szerokości 20 pikseli na każdej stronie Właściwość margin w CSS odnosi się zawsze do przestrzeni na zewnątrz granic elementu co odróżnia ją od padding który dotyczy marginesu wewnętrznego Praktyczne zastosowanie takiego stylu można znaleźć w projektach gdzie projektant chce oddzielić elementy od siebie zachowując równomierne odstępy W ten sposób można tworzyć przejrzyste i estetyczne układy na stronach internetowych Zastosowanie border pozwala również na wizualne wyróżnienie elementów co jest często wykorzystywane w interfejsach użytkownika aby podkreślić ważne informacje Dobrą praktyką jest używanie takich stylizacji aby poprawić czytelność i funkcjonalność strony poprzez jasne rozgraniczenie sekcji oraz zapewnienie odpowiednich odstępów między nimi zgodnie z zasadami UX

Pytanie 12

Którego formatu użyć do zapisu ZDJĘCIA z kompresją STRATNĄ?

A. PCX
B. JPEG
C. GIF
D. PNG
Do zapisu ZDJĘĆ z kompresją stratną najlepszy jest JPEG - mocno zmniejsza plik kosztem niewidocznych dla oka detali, co przy fotografiach jest akceptowalne. Dlatego do zdjęcia ze stratną kompresją wybiera się JPEG.

Pytanie 13

Z tabel Klienci oraz Uslugi należy wyodrębnić tylko imiona klientów oraz odpowiadające im nazwy usług, które kosztują więcej niż 10 zł. Kwerenda uzyskująca te informacje ma formę

Ilustracja do pytania
A. SELECT imie, nazwa FROM klienci, uslugi WHERE cena < 10
B. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena > 10
C. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = klienci.id
D. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id
Pozostałe odpowiedzi zawierają istotne błędy w składni SQL oraz w interpretacji relacji między tabelami w bazie danych. Odpowiedź używająca WHERE cena < 10 jest błędna, ponieważ warunek ten wybiera usługi tańsze niż 10 zł, co jest sprzeczne z wymogami zadania. Innym błędem jest użycie niepoprawnego połączenia ON bez odpowiedniego dopasowania kluczy. Użycie klauzuli JOIN bez precyzyjnego określenia relacji, jak w przypadku ON uslugi.id = klienci.id, nie odzwierciedla rzeczywistego związku danych, co prowadzi do błędów logicznych w wynikach. Prawidłowe korzystanie z JOIN wymaga zrozumienia struktury bazy danych oraz relacji między tabelami. Właściwe połączanie tabel z wykorzystaniem klucza obcego jest kluczową praktyką, która zapewnia integralność danych i optymalizację zapytań. Ponadto, brak zastosowania warunków filtracyjnych lub nieodpowiednie ich użycie prowadzi do zwracania niekompletnych lub niepoprawnych danych. Wiedza o strukturze bazy danych oraz umiejętność stosowania poprawnych zapytań SQL są niezbędne dla osób zajmujących się projektowaniem i zarządzaniem bazami danych. Praktyczne doświadczenie w stosowaniu tych umiejętności jest kluczowe dla zapewnienia skuteczności oraz wydajności operacji w bazach danych. Poprawne zapytania są podstawą każdej operacji bazodanowej, zarówno w kontekście codziennych operacji, jak i skomplikowanych analiz danych.

Pytanie 14

Tablica tab[] zawiera różne liczby całkowite. Jaką wartość przyjmie zmienna zm2 po wykonaniu podanego fragmentu kodu?

Ilustracja do pytania
A. Suma liczb od 1 do 10
B. Suma liczb z tablicy
C. Średnia geometryczna liczb od 0 do 9
D. Średnia arytmetyczna liczb z tablicy
Odpowiedź numer 3 jest prawidłowa, ponieważ kod oblicza średnią arytmetyczną elementów tablicy tab[]. Wartość zmiennej zm1 po zakończeniu pętli for będzie sumą wszystkich elementów tablicy, ponieważ w każdej iteracji do zm1 dodawana jest wartość kolejnego elementu tablicy. Następnie zmienna zm2 jest ustawiana na wartość zm1 podzieloną przez 10, co odpowiada obliczeniu średniej arytmetycznej, biorąc pod uwagę, że tablica ma 10 elementów. Obliczenie średniej arytmetycznej jest często wykorzystywane w różnych dziedzinach, takich jak analiza danych, statystyka czy nauki przyrodnicze, ponieważ pozwala na uzyskanie ogólnego obrazu rozkładu wartości. W programowaniu istotne jest, aby pamiętać o właściwym podziale przez liczbę elementów, co w tym przypadku zostało prawidłowo zastosowane. Praktykowanie takich operacji uczy pisania efektywnego kodu i zrozumienia podstaw matematycznych w informatyce. Zgodnie z dobrymi praktykami, użycie typu double dla zm2 zapewnia dokładność w przypadku niecałkowitych wyników dzielenia.

Pytanie 15

Na zakończenie dnia w bazie danych sklepu spożywczego generowany jest raport, który pokazuje produkty wraz z ich dostawcami, dla których liczba sztuk w magazynie jest poniżej 10. Do stworzenia tego raportu użyto kwerendy

A. INSERT INTO
B. UPDATE
C. CHECK TABLE
D. SELECT
W kontekście bazy danych, kwerenda SELECT jest podstawowym narzędziem do pobierania danych. W przypadku raportu, który ma wyświetlić produkty z dostawcami, dla których stan magazynowy jest mniejszy niż 10 sztuk, SELECT jest jedyną odpowiednią instrukcją SQL do realizacji takiego zadania. Używając SELECT, można określić, które kolumny z tabeli mają być wyświetlane oraz zastosować filtry, aby ograniczyć wyniki tylko do tych, które spełniają określone warunki. Na przykład, przykładowa kwerenda mogłaby wyglądać tak: SELECT product_name, supplier_name FROM products WHERE stock < 10; Taka instrukcja przeszuka tabelę 'products' i wyświetli jedynie te produkty, które mają niski stan magazynowy. SELECT jest zgodny z normami SQL i pozwala na wykorzystanie różnych funkcji agregujących oraz operacji łączenia danych, co czyni go niezwykle wszechstronnym narzędziem w zarządzaniu bazami danych. Dzięki umiejętnemu zastosowaniu SELECT, można nie tylko generować raporty, ale także wspierać procesy decyzyjne w zarządzaniu zapasami.

Pytanie 16

W JavaScript stworzono funkcję o nazwie licz_pitagoras, która oblicza długość przeciwprostokątnej w trójkącie prostokątnym, zgodnie z twierdzeniem Pitagorasa. Funkcja przyjmuje dwa parametry wejściowe i zwraca wynik. Poprawne wywołanie tej funkcji, wraz z uzyskaniem zwróconej wartości, będzie miało formę

A. licz_pitagoras(a, b);
B. licz_pitagoras(a, b, c);
C. c = licz_pitagoras(a, b);
D. licz_pitagoras(a, b) = c;
Wywołanie funkcji w JavaScript wymaga przestrzegania określonych zasad, które nie zostały spełnione w pozostałych odpowiedziach. Odpowiedź 'licz_pitagoras(a, b);' jest niekompletna, ponieważ pomija przypisanie wyniku do zmiennej. Funkcja może być wywołana, ale bez możliwości dalszego wykorzystania jej wyniku, co ogranicza jej użyteczność. Z kolei 'licz_pitagoras(a, b) = c;' sugeruje, że przypisanie wyniku może być wykonane w odwrotny sposób, co jest niezgodne z zasadami przypisywania wartości w JavaScript. Warto pamiętać, że w tym języku nie możemy przypisywać do wyniku funkcji, gdyż funkcje zwracają wartości, a nie są same w sobie zmiennymi. Natomiast 'licz_pitagoras(a, b, c);' sugeruje, że funkcja oczekuje trzech argumentów, co jest nieprawidłowe, ponieważ funkcja została zdefiniowana do przyjmowania tylko dwóch parametrów. Tego typu błędne założenia mogą prowadzić do frustracji podczas programowania, gdyż przydzielanie niewłaściwych argumentów do funkcji może skutkować błędami runtime. Dobrą praktyką jest zrozumienie definicji funkcji i jej parametrów przed jej wywołaniem, co pozwala na efektywne korzystanie z możliwości oferowanych przez JavaScript.

Pytanie 17

W języku CSS określono formatowanie znacznika h1 według poniższego wzoru. Zakładając, że do znacznika h1 nie dodano żadnego innego formatowania, wskaż sposób formatowania tego znacznika.

h1 {
    font-style: oblique;
    font-variant: small-caps;
    text-align: right;
}
Ilustracja do pytania
A. A.
B. D.
C. C.
D. B.
Gratulacje, Twoja odpowiedź jest prawidłowa. W CSS określono, że znacznik h1 ma być wyświetlany z pochyłą czcionką, co jest osiągane za pomocą właściwości 'font-style: oblique'. Dodatkowo, małe wielkie litery są realizowane przez 'font-variant: small-caps', które zmieniają wszystkie małe litery na wielkie litery, ale z zachowaniem mniejszego rozmiaru. Wreszcie, do wyrównania tekstu do prawej strony służy 'text-align: right'. Wszystko to razem składa się na formatowanie znacznika h1, które zostało zdefiniowane w CSS. To jest dobra praktyka, aby zrozumieć i zapamiętać różne właściwości CSS, ponieważ pozwalają one na bardzo szczegółowe kontrolowanie wyglądu i układu elementów na stronie. Pamiętaj, że CSS jest niezwykle potężnym narzędziem w rękach doświadczonego programisty front-end i pozwala na tworzenie estetycznych, responsywnych i przyjaznych dla użytkownika interfejsów.

Pytanie 18

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

A. nav { float: left; } aside { float: left; }
B. nav { float: right; } section { float: right; }
C. nav { float: right; }
D. 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 19

Jaki zapis w dokumencie HTML umożliwia powiązanie z zewnętrznym arkuszem stylów o nazwie style.css?

A. <link rel="stylesheet" href="style.css">
B. <a href="style.css">
C. <a src="style.css">
D. <link rel="stylesheet' src="style.css">
Zapis <link rel="stylesheet" href="style.css"> jest poprawnym sposobem na dołączenie zewnętrznego arkusza stylów do dokumentu HTML. Atrybut 'rel' określa relację między dokumentem a zewnętrznym zasobem, w tym przypadku wskazując, że jest to arkusz stylów. Atrybut 'href' z kolei wskazuje ścieżkę do pliku CSS, który ma być użyty. Użycie znacznika <link> jest zgodne z standardem W3C i jest najlepszą praktyką w tworzeniu stron internetowych. Dzięki temu przeglądarka może załadować style z zewnętrznego pliku, co pozwala na łatwiejsze zarządzanie stylami oraz ich ponowne użycie w różnych dokumentach HTML. Umożliwia to także separację treści od stylizacji, co jest kluczowe w koncepcji wzorców projektowych, takich jak MVC (Model-View-Controller). Przykładowo, aby zmienić wygląd całej strony, wystarczy edytować jeden plik CSS, co znacząco upraszcza proces tworzenia i utrzymania witryn.

Pytanie 20

W CSS wartości: underline, overline, line-through oraz blink odnoszą się do właściwości

A. text-align
B. font-style
C. text-decoration
D. font-decoration
W języku CSS właściwość text-decoration służy do definiowania stylów dekoracji tekstu. Wartości takie jak underline (podkreślenie), overline (nadkreślenie), line-through (przekreślenie) oraz blink (miganie) są częścią tej właściwości i umożliwiają programistom kontrolowanie, jak tekst jest prezentowany na stronie internetowej. Wartość underline, na przykład, jest powszechnie używana w linkach, aby wskazać, że są one klikalne. Przykład zastosowania: 'text-decoration: underline;' zastosowany w stylach CSS dla elementu <a> sprawia, że tekst linku jest podkreślony. Overline może być używane do dodawania linii nad tekstem, co może być przydatne w kontekście nagłówków lub wyróżnień. Wartość line-through jest często stosowana w przypadku prezentowania informacji o promocjach, gdzie oryginalna cena jest przekreślona. Wartość blink, choć nie jest już szeroko wspierana, mogła być używana w przeszłości do tworzenia efektu migania tekstu. Wszystkie te dekoracje są zdefiniowane w standardzie CSS, co czyni text-decoration kluczową właściwością w stylizacji tekstu w dokumentach HTML.

Pytanie 21

Które polecenie nadaje użytkownikowi „uczen” najniższy poziom uprawnień (tylko odczyt, bez zmiany danych i struktury)?

A.
GRANT DROP ON szkola.przedmioty TO uczen;
B.
GRANT ALTER, SELECT ON szkola.przedmioty TO uczen;
C.
GRANT SELECT ON szkola.przedmioty TO uczen;
D.
GRANT INSERT, DROP ON szkola.przedmioty TO uczen;
Uprawnienia w SQL nadaje się poleceniem GRANT, a ich „poziom” zależy od tego, co użytkownik może zrobić. Najwęższy, najbezpieczniejszy zakres to wyłącznie odczyt danych, czyli SELECT - użytkownik widzi dane, lecz nie może ich zmieniać ani ruszać struktury tabeli. Zgodnie z zasadą najmniejszych uprawnień kontu aplikacyjnemu czy „uczniowi” daje się tylko tyle, ile naprawdę potrzebuje. Dlatego najniższy poziom uprawnień nadaje GRANT SELECT.

Pytanie 22

W języku MySQL należy wykorzystać polecenie REVOKE, aby użytkownikowi anna cofnąć możliwość wprowadzania zmian wyłącznie w definicji struktury bazy danych. Polecenie, które służy do odebrania tych uprawnień, ma następującą formę

A. REVOKE ALL ON tabela1 FROM 'anna'@'localhost'
B. REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'
C. REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'
D. REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'
Polecenie REVOKE w MySQL jest używane do odbierania przydzielonych uprawnień użytkownikom. W przypadku użytkownika 'anna', aby odebrać mu prawa do modyfikacji struktury bazy danych, należy użyć polecenia REVOKE z odpowiednimi uprawnieniami. Wybór REVOKE CREATE ALTER DROP jest poprawny, ponieważ obejmuje kluczowe prawa związane z zarządzaniem strukturą tabeli. Uprawnienie CREATE pozwala na tworzenie nowych obiektów, ALTER umożliwia modyfikację istniejących obiektów, a DROP pozwala na ich usuwanie. Przydzielając te uprawnienia, użytkownik ma pełną kontrolę nad strukturą bazy danych. Odbierając te uprawnienia, ograniczamy możliwości użytkownika do modyfikacji struktury, co jest kluczowe w kontekście zarządzania bezpieczeństwem bazy danych i zapewnienia integralności danych. Przykładem zastosowania tego polecenia może być sytuacja, w której administrator bazy danych chce, aby użytkownik miał jedynie prawa do wprowadzania danych, ale nie do zmiany ich struktury. W takich przypadkach ważne jest, aby precyzyjnie definiować uprawnienia użytkowników, co może pomóc w unikaniu nieautoryzowanych zmian i potencjalnych utrat danych. Należy również odwołać się do standardów SQL, które definiują zarządzanie uprawnieniami w obiektach bazy danych, co jest kluczowym elementem każdego systemu zarządzania bazą danych.

Pytanie 23

Który format zapewnia największą kompresję (najmniejszy rozmiar) pliku dźwiękowego?

A. MP3
B. WAV
C. PCM
D. CD-Audio
MP3 stosuje kompresję stratną - usuwa dane mniej słyszalne dla ucha, dzięki czemu plik jest wielokrotnie mniejszy niż zapis nieskompresowany. Dlatego najmniejszy plik dźwiękowy daje MP3.

Pytanie 24

Które stwierdzenie najlepiej opisuje klasę Owoc zdefiniowaną w języku PHP i przedstawioną na listingu?

class Owoc {
    public $nazwa;
    private $kolor;
    function set_nazwa($nazwa) {
        $this->nazwa = $nazwa;
    }
}
A. Zawiera dwa pola i jedną metodę, a pole nazwa ma zasięg widzialności ograniczony wyłącznie do metod klasy.
B. Zawiera dwa pola oraz jeden konstruktor, oba pola mają zasięg widzialności ograniczony wyłącznie do metod klasy.
C. Zawiera jedno pole i dwie metody, z których jedna ma ograniczony zasięg prywatny.
D. Zawiera dwa pola i jedną metodę, a pole kolor ma zasięg widzialności ograniczony wyłącznie do metod klasy.
Klasa Owoc rzeczywiście ma dwa pola: publiczne pole nazwa oraz prywatne pole kolor. Widoczność pola kolor ogranicza się do wnętrza klasy, co oznacza, że nie może być ono bezpośrednio dostępne z zewnątrz. Metoda set_nazwa jest jedyną zdefiniowaną metodą, która umożliwia modyfikację wartości pola nazwa. Przykładowo, można stworzyć nowy obiekt klasy Owoc i ustawić jego nazwę za pomocą tej metody: $owoc = new Owoc(); $owoc->set_nazwa('Jabłko');. Takie podejście ilustruje zasadę enkapsulacji, która jest jedną z podstaw programowania obiektowego, gdzie dane obiektu są chronione i dostępne tylko poprzez metody, co zwiększa bezpieczeństwo i integralność danych. Dobrą praktyką jest również stosowanie metod get i set do zarządzania wartościami pól, co ułatwia kontrolowanie dostępu i weryfikację danych.

Pytanie 25

Używając polecenia ALTER TABLE, co można zrobić?

A. stworznie tabeli
B. usunięcie tabeli
C. zmiana struktury tabeli
D. zmiana wartości w rekordach tabeli
Polecenie ALTER TABLE w SQL jest używane do modyfikacji struktury istniejącej tabeli w bazie danych. Dzięki temu poleceniu można dodawać nowe kolumny, usuwać istniejące, zmieniać typ danych kolumn, a także dodawać klucze obce lub indeksy. Przykładem zastosowania ALTER TABLE może być dodanie nowej kolumny do tabeli pracowników w celu rejestrowania daty zatrudnienia: 'ALTER TABLE pracownicy ADD COLUMN data_zatrudnienia DATE;'. Good practices w zakresie modyfikacji tabeli sugerują, aby przed dokonaniem takich zmian zawsze tworzyć kopię zapasową bazy danych. Warto również monitorować wpływ zmian na istniejące zapytania oraz aplikacje, które wykorzystują tę tabelę, aby uniknąć potencjalnych błędów w przyszłości. W kontekście projektowania baz danych, ALTER TABLE stanowi kluczowy element w utrzymaniu i dostosowywaniu struktury bazy danych do zmieniających się potrzeb organizacji. Na przykład, w miarę wzrostu firmy mogą pojawić się potrzeby wprowadzenia nowych informacji dotyczących klientów, co wymaga elastyczności w strukturze bazy danych.

Pytanie 26

Funkcję Clean Project środowiska IDE stosuje się do

A. usuwania wyników kompilacji projektu.
B. kompilowania projektu, gdy pliki źródłowe zostały zmienione.
C. debugowania skompilowanego i uruchomionego projektu.
D. usuwania całego projektu.
Poprawnie – funkcja „Clean Project” w typowym IDE służy właśnie do usuwania wyników kompilacji, czyli wszystkich plików pośrednich i końcowych wygenerowanych podczas builda. Chodzi o katalogi typu bin, obj, target, build, różne *.class, *.o, *.exe tworzone automatycznie przez kompilator i linker. IDE po wywołaniu „Clean” nie rusza Twoich plików źródłowych, projektów, konfiguracji czy bibliotek w repozytorium – usuwa tylko artefakty budowania. Po co to się robi? Głównie po to, żeby wymusić tzw. „czystą kompilację” (clean build). Przydaje się to, gdy: zmieniłeś konfigurację projektu lub środowiska, dodałeś/zmieniłeś biblioteki, zmieniła się wersja kompilatora lub pluginów, a projekt zaczyna zachowywać się dziwnie, mimo że kod wygląda OK. Z mojego doświadczenia, w dużych projektach webowych (np. aplikacje w PHP z kompilowanym frontendem, czy Java/JavaScript z bundlerami) „Clean” pomaga pozbyć się starych, zcache’owanych plików, które potrafią powodować bardzo mylące błędy: IDE widzi jedno, a uruchamia się coś innego. Dobrą praktyką jest robienie pełnego „Clean & Build” przed wypuszczeniem wersji na produkcję albo przed puszczeniem testów integracyjnych, żeby mieć pewność, że wszystko zostało zbudowane od zera na podstawie aktualnego kodu. W wielu narzędziach CI/CD analogiczną rolę spełnia usuwanie katalogu build/ lub target/ przed kompilacją. W skrócie: Clean nie jest operacją destrukcyjną dla projektu, tylko porządkuje środowisko kompilacji i usuwa „śmieci” po poprzednich buildach, co wpisuje się w standardowe dobre praktyki pracy z kodem.

Pytanie 27

Jak zapisać w JS warunek: a i b są UJEMNE, a a jest większe od -50?

A.
if (a < 0 || b < 0 || a > -50)
B.
if (a < 0 && b < 0 || a > -50)
C.
if (a < 0 || (b < 0 && a > -50))
D.
if (a < 0 && b < 0 && a > -50)
Trzy warunki muszą zachodzić jednocześnie - a ujemne, b ujemne i a większe od -50 - więc łączymy je &&: if (a < 0 && b < 0 && a > -50). „Ujemne” to < 0. Dlatego ten warunek jest poprawny.

Pytanie 28

Jednym z typów testów jednostkowych jest analiza tras, która polega na

A. testowaniu wartości granicznych zestawu danych
B. określeniu punktu startowego i końcowego oraz badaniu dostępnych ścieżek pomiędzy tymi punktami
C. testowaniu obiektów pod kątem inicjalizacji oraz zwolnienia zarezerwowanej pamięci
D. utworzeniu kilku zbiorów danych o zbliżonym sposobie przetwarzania i wykorzystaniu ich do przeprowadzenia testu
W analizie ścieżek w testach jednostkowych chodzi o to, by wyznaczyć, skąd zaczyna się działanie programu i gdzie kończy, a następnie sprawdzić, jakie ścieżki można pomiędzy tymi punktami przejść. Dzięki temu można znaleźć wszystkie możliwe drogi, którymi program może podążać. To ważna metoda, bo pozwala ocenić, czy logika w naszym kodzie działa tak, jak powinna oraz czy przetestowaliśmy wszystkie scenariusze, które mogą się zdarzyć. Na przykład, gdy mamy w kodzie dużo warunków i pętli, analiza ścieżek może ujawnić błędy, które nie wyjdą przy zwykłym testowaniu. W inżynierii oprogramowania to jest naprawdę dobra praktyka, bo upewniamy się, że wszystkie ścieżki zostały sprawdzone, co na pewno wpływa na jakość i stabilność naszego programu.

Pytanie 29

Wymień dwa sposoby na zabezpieczenie bazy danych w Microsoft Access.

A. Wprowadzenie zabezpieczeń na poziomie użytkownika oraz sesji
B. Zaszyfrowanie pliku bazy danych oraz wysyłanie SMS-ów z kodem autoryzacyjnym
C. Określenie hasła do otwarcia bazy danych oraz wprowadzenie zabezpieczeń na poziomie użytkownika
D. Używanie funkcji anonimowych oraz ustawienie hasła dostępu do bazy danych
Ustalanie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika to kluczowe aspekty bezpieczeństwa w kontekście zarządzania bazą danych Microsoft Access. Ustalanie hasła do bazy danych jest podstawowym krokiem w ochronie danych przed nieautoryzowanym dostępem. Każda próba otwarcia bazy wymaga podania poprawnego hasła, co znacząco utrudnia dostęp osobom trzecim. Dodatkowo, zabezpieczenia na poziomie użytkownika pozwalają na przypisanie różnych ról i uprawnień do konkretnych użytkowników, co zapewnia, że tylko uprawnione osoby mogą edytować, przeglądać lub usuwać dane. Przykładowo, menedżer bazy danych może zdefiniować użytkowników, którzy mają jedynie dostęp do raportów, podczas gdy inni mogą modyfikować dane. Takie podejście jest zgodne z dobrymi praktykami w zakresie zarządzania danymi, gdzie stosuje się zasady minimalnych uprawnień oraz segmentacji obowiązków, co zwiększa ogólne bezpieczeństwo systemu.

Pytanie 30

Aby odebrać użytkownikowi wcześniej nadane uprawnienia, należy zastosować polecenie:

A.
GRANT NO PRIVILEGES
B.
REVOKE
C.
DELETE PRIVILEGES
D.
DELETE
Do odbierania uprawnień służy REVOKE - polecenie z grupy DCL (Data Control Language), które stanowi odwrotność GRANT. Wskazujesz w nim, jakie uprawnienia i na jakim obiekcie chcesz cofnąć oraz któremu użytkownikowi, na przykład REVOKE INSERT ON klienci FROM jan. Dzięki temu administrator może w każdej chwili ograniczyć dostęp, gdy zmienia się zakres obowiązków lub konto przestaje być potrzebne. To właśnie REVOKE jest poprawną odpowiedzią.

Pytanie 31

Jakie właściwości stylu CSS poprawnie definiują dla akapitu czcionkę: Arial; jej wielkość: 16 pt; oraz styl czcionki: kursywa?

A. p {font-style: Arial; size: 16px; font-weight: normal;}
B. p {font-style: Arial; font-size: 16pt; font-variant: normal;}
C. p {font-family: Arial; font-size: 16pt; font-style: italic;}
D. p {font-family: Arial; font-size: 16px; font-variant: normal;}
Odpowiedź p {font-family: Arial; font-size: 16pt; font-style: italic;} jest poprawna, ponieważ zawiera wszystkie istotne właściwości, które definiują krój, rozmiar oraz styl czcionki dla akapitu. Właściwość font-family definiuje krój czcionki, w tym przypadku Arial, co jest zgodne z wymaganiami. Właściwość font-size ustawia rozmiar czcionki na 16 punktów (pt), co jest standardowym sposobem definiowania wielkości czcionki w kontekście typografii. Ponadto właściwość font-style została poprawnie użyta do określenia stylu pochylenia czcionki, co w CSS jest reprezentowane przez wartość italic. Te właściwości są zgodne z dobrymi praktykami w CSS, które zalecają precyzyjne definiowanie czcionek, aby zapewnić spójność w prezentacji tekstu. Przykładowo, stosując ten styl w dokumencie HTML, uzyskasz wyraźnie wyodrębniony akapit, który będzie atrakcyjny wizualnie i czytelny. Zastosowanie odpowiednich jednostek, takich jak pt dla rozmiaru czcionki, jest również istotne dla zapewnienia odpowiedniej skalowalności na różnych urządzeniach.

Pytanie 32

Zgodnie z zasadami walidacji HTML5, prawidłowy zapis tagu hr to

A. </hr?>
B. <hr>
C. </ hr />
D. </ hr>
Znak <hr> jest poprawnym zapisem znacznika poziomej linii w HTML5. Zgodnie z definicją, <hr> jest elementem samodzielnym, co oznacza, że nie wymaga znacznika zamykającego. Jest to zgodne z zasadami HTML5, które wprowadziły uproszczoną składnię dla wielu elementów. W praktyce <hr> jest używany do wizualnego oddzielania sekcji w dokumencie HTML, co poprawia czytelność i estetykę strony. Na przykład, w artykule internetowym można zastosować <hr> między różnymi sekcjami, aby wskazać zmianę tematu lub podział pomiędzy wprowadzeniem a treścią główną. Zgodność z tym standardem nie tylko ułatwia pracę z kodem, ale również zapewnia lepszą kompatybilność z przeglądarkami i narzędziami dostępu. Warto także zwrócić uwagę, że dobrym zwyczajem jest dodawanie atrybutów klasy lub identyfikatora do tego znacznika w celu dalszej personalizacji stylów CSS, co zwiększa elastyczność w projektowaniu graficznym strony.

Pytanie 33

Który z akapitów został zapisany w wskazanym stylu, zakładając, że pozostałe właściwości akapitu mają wartości domyślne?

Ilustracja do pytania
A. Efekt 4
B. Efekt 1
C. Efekt 3
D. Efekt 2
Odpowiedź Efekt 3 jest poprawna, ponieważ odzwierciedla wszystkie zadane style CSS. Styl zawiera padding 20px co oznacza, że wewnętrzna przestrzeń wokół tekstu w paragrafie powinna wynosić 20 pikseli. Daje to efekt przestrzeni pomiędzy tekstem a obramowaniem. Kolor tekstu został ustawiony na niebieski co powoduje, że sam tekst przyjmuje niebieską barwę. Parametr font-weight jest ustawiony na 900 co oznacza, że tekst powinien być bardzo pogrubiony. Obecnie jest to maksymalna wartość dla własności font-weight w standardzie CSS która powoduje, że tekst wygląda na bardzo wyrazisty i wyróżnia się na tle innych elementów. Dodatkowo border ustawiono na 1px solid co oznacza, że paragraf powinien mieć jednolitą linię o grubości jednego piksela otaczającą jego obszar. Wszystkie te style są poprawnie zastosowane w Efekcie 3 gdzie tekst jest niebieski bardzo pogrubiony z przestrzenią 20 pikseli do obramowania oraz otoczony cienką linią. Taki styl jest często wykorzystywany w projektach stron internetowych dla wyraźnego wyróżnienia ważnych sekcji co zgodne jest z dobrymi praktykami projektowania interfejsów użytkownika.

Pytanie 34

W języku C++ utworzono zmienną: char zml;. Jak można przypisać jej wartość, zgodnie ze składnią tego języka?

A. zml = ' w ' ;
B. zml == 0x35;
C. zml = "wiadro";
D. zml[2] = 32;
Odpowiedź zml = ' w '; jest poprawna, ponieważ w języku C++ przypisywanie wartości do zmiennej typu char może być wykonane za pomocą pojedynczych cudzysłowów. Zmienna char przechowuje pojedynczy znak, a użycie podwójnych cudzysłowów sugeruje, że zamierzamy przypisać łańcuch znaków (string), co jest niezgodne z deklarowanym typem zmiennej. Przykład zastosowania to sytuacja, w której chcemy przechować literę, na przykład: char zml = 'A'; co jest prawidłowym przypisaniem. Dzięki temu, wywołując zmienną zml, otrzymamy przechowywaną wartość, co jest kluczowe w programowaniu, gdyż pozwala na manipulację danymi na poziomie znaków. Warto również pamiętać, że w C++ możemy używać zmiennych typu char w kontekście kodowania ASCII, gdzie każdemu znakowi przypisany jest unikalny numer, co czyni je niezwykle użytecznymi w operacjach na tekstach i danych.

Pytanie 35

Na tabeli muzyka, przedstawionej na rysunku, zostało wykonane następujące zapytanie SQL. Jaki wynik zwróci ta kwerenda?

SELECT wykonawca FROM `muzyka` WHERE wykonawca LIKE 'C%w';
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzeslaw Niemen2005Przyjdz W Taka Noc itd.
2IkonaStan Borys2014
3AerolitCzeslaw Niemen2017Winylowa reedycja płyty „Aerolit”.
4JourneyMikolaj Czechowski2013
A. Czeslaw, Niemen
B. pusty wynik
C. Czeslaw
D. Czeslaw, Czechowski
Dobrze, wybrałeś prawidłową odpowiedź. Zapytanie SQL, które widzimy w tym pytaniu, zostało sformułowane w taki sposób, że wyszukuje ono wszystkich wykonawców (kolumna 'wykonawca' w tabeli 'muzyka'), których nazwy zaczynają się na literę 'C' i kończą na literę 'w'. Składnia LIKE 'C%w' w warunku WHERE zapytania SQL jest używane do dopasowania wzorca, gdzie '%' oznacza dowolny ciąg znaków, a 'C' i 'w' to konkretne litery na początku i końcu nazwy. Jednak w tabeli 'muzyka' nie ma żadnego wykonawcy, który spełniałby ten warunek. Dlatego wynik zapytania jest pusty. Jest to dobra praktyka, aby zrozumieć, jak używać operatora LIKE w zapytaniach SQL, ponieważ pozwala na elastyczne wyszukiwanie danych w bazie danych.

Pytanie 36

W CSS, co spowoduje poniższy kod z plikiem rysunek.png?

p {background-image: url("rysunek.png");}
A. pokazany obok każdego akapitu
B. tłem dla każdego akapitu
C. tłem całej witryny
D. widoczny, jeśli zastosowany zostanie znacznik img w kodzie
Rozważmy niepoprawne odpowiedzi które dotyczą innych zastosowań obrazów w CSS. Pierwsza sugestia że obraz będzie tłem całej strony jest błędna ponieważ aby to osiągnąć należałoby przypisać właściwość background-image do selektora body a nie p. Tylko wtedy obraz tła obejmowałby całą stronę. Z kolei odpowiedź sugerująca że obraz zostanie wyświetlony przy użyciu znacznika img również nie jest prawidłowa w kontekście kodu CSS który odnosi się do tła a nie do wstawiania obrazów jako treści dokumentu HTML. Taki efekt można uzyskać tylko poprzez odpowiednie osadzenie obrazu w kodzie HTML a nie za pomocą właściwości background-image. Trzecia niepoprawna sugestia że obraz będzie wyświetlany obok każdego paragrafu jest niezgodna z działaniem CSS dla tła. W rzeczywistości ustawienie background-image wpływa tylko na tło elementu a nie na jego zewnętrzne ułożenie. Typowym błędem przy interpretacji znaczenia background-image jest założenie że wpływa on na pozycjonowanie czy zawartość w sposób inny niż wizualne tło co może prowadzić do nieporozumień w kontekście projektowania stron internetowych. Ważne jest zrozumienie że background-image w CSS służy jedynie do dekoracyjnego aspektu wewnątrz danego selektora i nie zmienia struktury dokumentu HTML co stanowi kluczowy element w projektowaniu responsywnych i estetycznych stron www.

Pytanie 37

Jakim sposobem można w języku PHP dokumentować blok komentarza składający się z wielu linii?

A. //
B. #
C. /* */
D. <!-- -->
W języku PHP oprócz bloku komentarza /* */ istnieją inne metody, które jednak nie są przeznaczone do tworzenia komentarzy wieloliniowych. Użycie // pozwala na komentowanie jedynie pojedynczych linii kodu, co może być mylące dla osób, które szukają sposobu na dodawanie dłuższych opisów. Kiedy stosujemy ten styl, każda linia, którą chcemy skomentować, musi być poprzedzona tymi znakami, co znacząco ogranicza możliwości dokumentacji w kodzie. Podobnie sytuacja wygląda w przypadku znaku #, który również działa jedynie na poziomie pojedynczych linii. Te podejścia mogą prowadzić do nieefektywności, zwłaszcza w bardziej złożonych projektach, gdzie jasne i zwięzłe komentarze są kluczowe dla utrzymania zrozumiałości kodu. Alternatywnie, użycie <!-- --> jest związane z HTML i nie jest poprawne w kontekście PHP, ponieważ nie jest uznawane za standardowy sposób komentowania w tym języku. Dlatego istotne jest, aby programiści stosowali odpowiednie metody zgodne z konwencjami PHP, aby uniknąć nieporozumień oraz zapewnić, że dokumentacja kodu będzie użyteczna i łatwo dostępna dla innych twórców. Błędem jest zatem stosowanie nieodpowiednich znaków do komentowania, co może prowadzić do nieczytelności oraz trudności w utrzymaniu kodu.

Pytanie 38

Co według zasad ACID oznacza wymóg TRWAŁOŚCI (durability) transakcji?

A. transakcję można podzielić na dwa niezależne etapy
B. dane zatwierdzone przez transakcję pozostają dostępne mimo późniejszych zdarzeń
C. przy naruszeniu spójności transakcja usuwa tabele z kluczami obcymi
D. w trakcie transakcji dane mogą zmieniać inne transakcje
Trwałość (durability) z reguł ACID gwarantuje, że dane raz ZATWIERDZONE (commit) przez transakcję pozostaną w bazie na stałe - nawet jeśli zaraz potem nastąpi awaria zasilania czy restart serwera. System osiąga to, zapisując zmiany w sposób przetrwający awarię, np. w dzienniku transakcji. Dlatego trwałość oznacza, że zatwierdzone dane pozostają dostępne mimo późniejszych awarii.

Pytanie 39

Jakie zapytanie należy zastosować, aby pokazać tylko imię, nazwisko oraz ulicę wszystkich mieszkańców?

Ilustracja do pytania
A. SELECT * FROM Mieszkancy JOIN Adresy ON Adresy.id = Mieszkancy.Adresy.id
B. SELECT * FROM Mieszkancy, Adresy ON Mieszkancy.id = Adresy.id
C. SELECT imie, nazwisko, ulica FROM Mieszkancy JOIN Adresy ON Mieszkancy.Adresy_id = Adresy.id
D. SELECT imie, nazwisko, ulica FROM Mieszkancy, Adresy ON Mieszkancy.Adresy_id = Adresy.id
Niepoprawne podejścia wynikają głównie z braku zastosowania właściwego połączenia między tabelami lub wyboru odpowiednich kolumn. Pierwszym błędem jest użycie SELECT * bez szczegółowego określenia, jakie kolumny są potrzebne. Taki zapis powoduje, że zwracane są wszystkie kolumny z obu tabel, co jest nieefektywne i niezgodne z najlepszymi praktykami, zakładającymi minimalizację przetwarzanych danych. Ponadto, wykorzystanie przecinka zamiast JOIN wprowadza niepotrzebny chaos i może prowadzić do błędów, zwłaszcza w złożonych zapytaniach, gdzie konieczne jest połączenie większej liczby tabel. Druga odpowiedź zawiera niepoprawne użycie ON, które nie jest zgodne z zasadami SQL, co powoduje błędne wyniki lub nawet awarie zapytań. Brak jest również specyfikacji kolumn, co prowadzi do zwrócenia zbyt dużej ilości danych. Dodatkowo, błędnie skonstruowane połączenie prowadzi do niepoprawnego mapowania wierszy, przez co zwracane dane nie odzwierciedlają rzeczywistych relacji między mieszkańcami a adresami. Dobre praktyki nakazują, aby zawsze używać JOIN z wyraźnym określeniem kluczy obcych i głównych, co zapewnia właściwe mapowanie wierszy i minimalizację błędów. Ważne jest również, aby każdorazowo testować zapytanie pod kątem wydajności i poprawności, a także dbać o czytelność i zrozumiałość kodu SQL, co jest kluczowe w kontekście zespołowego rozwoju oprogramowania.

Pytanie 40

Ile razy zostanie wykonana pętla w zamieszczonym skrypcie PHP?

$a = $x = 0;
do{
    $a++;
    $x = $x + $a;
}while($x != 21);
A. 0
B. 6
C. 7
D. 5
Pętla typu do-while jest specyficzna w tym że jej ciało wykonuje się przynajmniej raz przed sprawdzeniem warunku pętli. To różni ją od pętli while gdzie warunek jest sprawdzany przed wykonaniem kodu wewnątrz pętli. W analizowanym skrypcie zmienne $a i $x są inicjalizowane wartością 0 i najpierw $a jest inkrementowane co powoduje że w pierwszej iteracji $x przyjmuje wartość 1. W każdej kolejnej iteracji do $x dodaje się aktualną wartość $a która rośnie o 1 w każdym kroku. Częstym błędem jest zakładanie że pętla do-while wykona się tyle razy ile wskazuje różnica między wartościami początkowymi zmiennych a wartością końcową warunku. Jednak w tym przypadku każda iteracja przyczynia się do sumowania wartości rosnącej $a z $x co wpływa na liczbę iteracji. Przy złym zrozumieniu mechanizmu może się wydawać że pętla wykona mniej lub więcej iteracji zwłaszcza gdy nie prześledzimy krok po kroku wartości zmiennych. Obliczenia są kluczowe aby określić że pętla do momentu osiągnięcia $x równego 21 wykonuje się dokładnie 6 razy a nie 5 czy 7 co podkreśla znaczenie dokładności w analizie kodu i zrozumieniu jego działania w kontekście iteracji i warunków kończących pętlę.