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: 8 czerwca 2026 16:07
  • Data zakończenia: 8 czerwca 2026 16:30

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

W formularzu dokumentu PHP znajduje się pole <input name="im" />. Po wpisaniu przez użytkownika ciągu „Janek”, aby dodać wartość tego pola do bazy danych, w tablicy $_POST będzie obecny element

A. im z kolejnym numerem indeksu
B. Janek z indeksem im
C. im z indeksem Janek
D. Janek z kolejnym numerem indeksu
Odpowiedzi, które nie są poprawne, bazują na nieprawidłowych założeniach dotyczących sposobu, w jaki PHP przetwarza dane z formularzy. Pierwsza z niepoprawnych odpowiedzi sugeruje, że w tablicy $_POST istnieje element o kluczu 'im' z indeksem 'Janek'. W rzeczywistości, kluczem jest nazwa pola, a wartością jest to, co zostało wprowadzone przez użytkownika, więc takie połączenie klucza i wartości jest mylące. W drugiej niepoprawnej opcji mowa o 'Janek' jako kluczu, co również jest błędne, ponieważ 'Janek' jest wartością, a nie kluczem. Klucz w tablicy $_POST to zawsze nazwa pola formularza, czyli w tym przypadku 'im', a jego wartość to 'Janek'. Trzecia niepoprawna odpowiedź sugeruje, że klucz 'im' miałby być skojarzony z kolejnym numerem indeksu. To również jest niewłaściwe, ponieważ PHP nie dodaje automatycznie numerów indeksów do kluczy tablic, a klucze pozostają takie same, jak nazwy w formularzu. W każdej sytuacji nazwa pola pozostaje kluczem, co jest istotnym elementem przetwarzania danych w PHP.

Pytanie 2

Grafika, która ma być umieszczona na stronie, powinna mieć przezroczyste tło. Jakim formatem graficznym powinien być zapisany taki plik?

A. PNG
B. CDR
C. JPEG
D. BMP
Format PNG (Portable Network Graphics) jest szczególnie ceniony w kontekście grafiki internetowej, ponieważ obsługuje przezroczystość, co czyni go idealnym wyborem dla obrazów, które wymagają tła transparentnego. Przezroczystość w formacie PNG jest realizowana poprzez zastosowanie kanału alfa, co pozwala na uzyskanie różnorodnych efektów wizualnych, takich jak cienie, gradienty czy delikatne przejścia między kolorami. Przykłady zastosowania to ikony, logo, grafiki na stronach internetowych, które muszą harmonizować z różnymi kolorami tła. W przeciwieństwie do formatów takich jak JPEG, który nie obsługuje przezroczystości i używa kompresji stratnej, PNG oferuje kompresję bezstratną, co oznacza, że jakość obrazu nie ulega pogorszeniu po zapisaniu. W kontekście praktyk webowych, użycie PNG jest zgodne z zaleceniami dotyczącymi optymalizacji obrazów w sieci, co przyczynia się do szybszego ładowania stron i lepszej jakości wizualnej.

Pytanie 3

Wykonanie zapytania SQL spowoduje skasowanie rekordów:

DELETE FROM mieszkania WHERE status = 1;
A. tabeli mieszkania znajdującej się w bazie danych
B. rekordów, w których wartość pola status jest równa 1, z tabeli mieszkania
C. tabel, w których wartość pola status wynosi 1, z bazy danych mieszkania
D. elementów o nazwie status z tabeli mieszkania
Odpowiedź wskazująca na usunięcie rekordów, w których pole status jest równe 1, z tabeli mieszkania jest poprawna ponieważ w zapytaniu SQL użyto składni DELETE, która jest odpowiedzialna za usuwanie danych z określonej tabeli. W kontekście tego zapytania, po słowie 'FROM' znajduje się nazwa tabeli, czyli 'mieszkania', a warunek 'WHERE status = 1' precyzuje, które rekordy mają zostać usunięte. Przykładowo, jeśli w tabeli mieszkania znajdują się mieszkania oznaczone jako dostępne (status = 1), to po wykonaniu tego zapytania wszystkie takie mieszkania zostaną trwale usunięte z bazy danych. Ważne jest, aby przed wykonaniem zapytania DELETE rozważyć konieczność wykonania kopii zapasowej danych, aby zapobiec ich nieodwracalnej utracie. Dobrą praktyką jest również stosowanie zapytania SELECT z tym samym warunkiem, aby najpierw zweryfikować, które rekordy zostaną usunięte. Tego rodzaju podejście umożliwia lepsze zarządzanie danymi oraz redukuje ryzyko pomyłek podczas operacji na bazach danych.

Pytanie 4

Dana jest tabela uczniowie, do której wpisano rekordy jak na rysunku. Co będzie wynikiem działania przedstawionego zapytania SQL?

SELECT AVG(ocena) FROM uczniowie;

NazwiskoImieocena
KowalskiSebastian4
KaczmarekMarta3
BaryłaZenon4
GotaAnna3
A. Wartość 3.5
B. Liczba wierszy równa 4
C. Dane 4, 3, 4, 3
D. Suma ocen równa 14
Tak, poprawna odpowiedź to 'Wartość 3.5'. W zapytaniu SQL 'SELECT AVG(ocena) FROM uczniowie;' używamy funkcji AVG, żeby obliczyć średnią. W tym przypadku ona bierze oceny z tabeli 'uczniowie' i liczy, ile wynosi średnia. Jak to działa? Suma wszystkich ocen to 14 (3 + 4 + 3 + 4), a mamy cztery oceny, więc dzielimy 14 przez 4 i wychodzi nam 3.5. To jest super przykład, jak można wykorzystać funkcję AVG w SQL, co jest naprawdę przydatne, szczególnie, gdy mamy dużą ilość danych do przeanalizowania. Dobrze jest znać takie funkcje agregujące jak AVG, SUM, MAX czy MIN, bo ułatwiają one analizę danych.

Pytanie 5

Do czego służy w PHP funkcja trim()?

A. do skracania tekstu o podaną liczbę znaków
B. do podawania długości tekstu
C. do usuwania białych (lub podanych) znaków z obu końców tekstu
D. do wyświetlania części wspólnej dwóch tekstów
Funkcja trim() usuwa białe znaki (spacje, tabulatory, znaki nowej linii) z OBU końców tekstu - a po podaniu drugiego argumentu także wskazane znaki. Dlatego trim() usuwa białe lub podane znaki z obu końców tekstu.

Pytanie 6

Jak należy poprawnie udokumentować wzorzec weryfikacji dla pola nazwa w kodzie aplikacji JavaScript?

Ilustracja do pytania
A. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i dużych liter. */
B. /* Pole nazwa może zawierać dowolny ciąg cyfr (z wyłączeniem 0), następnie musi zawierać dużą literę i ciąg minimum dwóch małych liter. */
C. /* Pole nazwa powinno składać się w tej kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i ciągu małych liter. */
D. /* Pole nazwa musi składać się w tej kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużych liter i dwóch małych liter. */
Poprawna odpowiedź zakłada, że pole 'nazwa' musi zawierać określoną strukturę wyrażenia regularnego które jest kluczowym elementem w walidacji danych wejściowych w aplikacjach JavaScript. Wzorzec /[1-9]*[A-Z]{1}[a-z]{2,}$/ wskazuje że pole może zaczynać się od dowolnej liczby cyfr z wyłączeniem 0 po których następuje jedna duża litera i co najmniej dwie małe litery. Taka konstrukcja jest przydatna w tworzeniu bezpiecznych aplikacji ułatwiając wymuszenie określonego formatu danych które mogą być używane na przykład w formularzach rejestracyjnych gdzie wymagane jest podanie specyficznego identyfikatora użytkownika. Warto pamiętać że walidacja po stronie klienta jak w tym przypadku powinna być zawsze wspierana dodatkowymi sprawdzeniami po stronie serwera co jest dobrą praktyką programistyczną w celu zabezpieczenia aplikacji przed niepożądanym dostępem oraz złośliwymi atakami. Zrozumienie i stosowanie wyrażeń regularnych znacznie poprawia jakość kodu oraz jego zdolność do adaptacji w różnych warunkach technicznych co jest kluczowe w dzisiejszym dynamicznym środowisku IT.

Pytanie 7

Zaproponowany blok ilustruje operację

Ilustracja do pytania
A. wykorzystania wcześniej zdefiniowanej procedury lub funkcji
B. podjęcia decyzji
C. załadowania lub przedstawienia danych
D. realizacji zadania w pętli
Podjęcie decyzji w programowaniu jest kluczowym elementem umożliwiającym dynamiczne i warunkowe działania w aplikacjach. Symbolicznie, blok decyzyjny w diagramie przepływu, takim jak przedstawiony na obrazku, oznacza punkt, w którym program sprawdza określony warunek i w zależności od jego wyniku podejmuje różne ścieżki działania. Jest to często implementowane przy użyciu struktur decyzyjnych takich jak instrukcje if-else w wielu językach programowania. Na przykład w języku Python decyzję można wyrazić jako if temperatura > 30: print('Gorąco') else: print('Chłodno'). Decyzje te pozwalają programowi reagować na zmieniające się warunki i dane wejściowe, co jest niezbędne w tworzeniu interaktywnych aplikacji czy systemów sterowania. Zgodnie z dobrymi praktykami w inżynierii oprogramowania, właściwe stosowanie bloków decyzyjnych sprzyja czytelności kodu i efektywności jego działania. Dodatkowo, w większych projektach często stosuje się wzorce projektowe takie jak stan lub strategia, które opierają się na mechanizmach decyzyjnych, pomagając zarządzać złożonością kodu i poprawiać jego skalowalność.

Pytanie 8

Która definicja CSS wskazuje na formatowanie nagłówka h1: tekst z przekreśleniem, z odstępami między słowami wynoszącymi 10 px oraz w kolorze czerwonym?

Ilustracja do pytania
A. B
B. C
C. A
D. D
Błędne odpowiedzi są efektem nie do końca właściwego zastosowania CSS w kontekście tego, co pytanie wymagało. Odpowiedź B używa 'letter-spacing: 10px;', co zmienia odstępy między literami, a nie wyrazami, co jest dość istotne w stylizacji. Można się pomylić i myśleć, że to to samo, ale różnią się tym, co robią. Odpowiedź C używa 'line-height: 10px;', ale to też nie spełnia wymagań co do odstępów między wyrazami. Z kolei 'text-transform: none;' to nie to, czego szukasz w tym pytaniu, więc tu też można się pogubić. Odpowiedź D z kolei stosuje 'text-decoration: underline;', a to podkreślenie, a nie nadkreślenie, co też mija się z celem. Ważne, żeby znać te różnice między właściwościami CSS, bo to klucz do skutecznej stylizacji w zgodzie z tym, co projekt wymaga. Dobre użycie CSS nie tylko sprawia, że strona wygląda lepiej, ale też poprawia dostępność i użyteczność.

Pytanie 9

Której właściwości CSS użyć, aby ustawić WYSOKOŚĆ grafiki na stronie?

A.
padding
B.
width
C.
height
D.
margin
Wysokość elementu (w tym grafiki) ustawia w CSS właściwość height, np. height: 200px;. Dlatego wysokość grafiki ustawia height.

Pytanie 10

Poniższy fragment kodu PHP funkcjonuje poprawnie i ma na celu wyświetlenie na stronie internetowej informacji pobranych kwerendą z bazy danych. Ile pól zostanie wyświetlonych na stronie?

$ile = mysqli_num_rows($zapytanie);
for ($i = 0; $i < $ile; $i++) 
{
    $wiersz = mysqli_fetch_row($zapytanie); 
    echo "<p>Klient: $wiersz[0] $wiersz[1], adres: $wiersz[2] </p>";
}
A. Z czterech pól
B. Z dwóch pól
C. Z jednego pola
D. Z trzech pól
Kod PHP wyświetla dane z bazy danych przy użyciu funkcji mysqli_fetch_row, która zwraca wiersz danych jako tablicę. W tym przypadku, wiersz zawiera trzy elementy: '$wiersz[0]', '$wiersz[1]' oraz '$wiersz[2]'. Pierwszy element '$wiersz[0]' odpowiada nazwisku klienta, drugi '$wiersz[1]' to imię klienta, a trzeci '$wiersz[2]' to adres. Wyświetlanie danych w formacie HTML (znacznik <p>) wskazuje, że wszystkie trzy elementy są używane do stworzenia czytelnej prezentacji. W praktyce, korzystanie z mysqli_num_rows do określenia liczby zwróconych wierszy pozwala na dynamiczne przetwarzanie danych z bazy danych, co jest zgodne z najlepszymi praktykami programowania PHP. Zastosowanie pętli for umożliwia iterację przez wszystkie wiersze wynikowe i wyświetlenie ich w odpowiedniej formie. Takie podejście jest powszechnie stosowane przy budowaniu aplikacji webowych, gdzie wyświetlanie danych z bazy jest kluczowym elementem interakcji z użytkownikiem.

Pytanie 11

W CSS, aby ustawić wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć następującego zapisu

A. p { line-height: 30px; }
B. p { line-indent: 30px; }
C. p { text-spacing: 30px; }
D. p { text-indent: 30px; }
Odpowiedź p { text-indent: 30px; } jest poprawna, ponieważ właściwość text-indent w CSS służy do definiowania wcięcia pierwszej linii tekstu w elemencie blokowym, takim jak akapit (p). Umożliwia to nadanie tekstowi estetycznego wyglądu oraz zwiększenie czytelności, szczególnie w dłuższych blokach tekstu. Wartość 30px oznacza, że pierwsza linia akapitu zostanie przesunięta o 30 pikseli w prawo względem pozostałych linii. Przykładowo, jeśli mamy długi akapit z tekstem, zastosowanie wcięcia może pomóc w wyodrębnieniu go wizualnie, co sprzyja lepszemu zrozumieniu zawartości przez użytkowników. Warto także dodać, że standardy CSS są regularnie aktualizowane, a stosowanie dobrych praktyk, takich jak odpowiednie formatowanie tekstu, ma kluczowe znaczenie w projektowaniu responsywnych i przyjaznych dla użytkownika stron internetowych. Wykorzystanie text-indent jest jedną z technik, które przyczyniają się do poprawy UX (User Experience).

Pytanie 12

Jakie wyrażenie logiczne w języku PHP weryfikuje, czy zmienna1 znajduje się w przedziale jednostronnie domkniętym <-5, 10)?

A. $zmienna1 <= -5 && $zmienna1 < 10
B. $zmienna1 >= -5 || $zmienna1 < 10
C. $zmienna1 >= -5 && $zmienna1 < 10
D. $zmienna1 <= -5 || $zmienna1 < 10
Błędne odpowiedzi opierają się na niewłaściwym zrozumieniu pojęcia przedziału oraz operatorów logicznych w języku PHP. W przypadku wyrażenia $zmienna1 >= -5 || $zmienna1 < 10, użycie operatora || (lub) oznacza, że wystarczy, aby jedna z warunków była spełniona, co prowadzi do sytuacji, w której każde zmienne, które są mniejsze od 10, również zostaną uznane za poprawne, nawet jeśli są mniejsze niż -5. Takie podejście nie odzwierciedla założonego przedziału. Kolejna niepoprawna koncepcja to wyrażenie $zmienna1 <= -5 || $zmienna1 < 10, które również wprowadza w błąd, ponieważ pozwala na wartości mniejsze lub równe -5, a także na wartości mniejsze od 10, co całkowicie wykracza poza założony przedział. Wyrażenie $zmienna1 <= -5 && $zmienna1 < 10 również jest błędne, ponieważ sugeruje, że zmienna1 musi być jednocześnie mniejsza lub równa -5 oraz mniejsza od 10, co jest logicznie sprzeczne z definicją przedziału. W praktyce, takie błędne podejścia mogą prowadzić do nieprawidłowych wyników i trudności w diagnostyce błędów, dlatego kluczowe jest zrozumienie i poprawne stosowanie operatorów oraz warunków w kodzie. Zastosowanie błędnych wyrażeń może prowadzić do wprowadzenia poważnych błędów w logice programu, co jest niepożądane w kontekście dobrej praktyki programistycznej.

Pytanie 13

Powszechnie stosowanym narzędziem SZBD do tworzenia zestawień danych, które można wydrukować, jest

A. makro
B. formularz
C. raport
D. kwerenda UPDATE
Raport jest kluczowym narzędziem w systemach zarządzania bazami danych (SZBD), które umożliwia przetwarzanie i prezentację danych w formie czytelnych zestawień. W przeciwieństwie do kwerend, które służą głównie do wyszukiwania i aktualizacji danych w bazie, raporty są projektowane z myślą o generowaniu wydruków lub prezentacji danych w zorganizowanej formie. Przykładowo, w systemie Microsoft Access, użytkownik może stworzyć raport, który zbiera dane z różnych tabel i prezentuje je w uporządkowany sposób, np. w formie tabeli z podsumowaniami lub wykresów. Dobre praktyki w tworzeniu raportów obejmują zrozumienie potrzeb odbiorcy oraz dostosowanie formatu raportu do celu, dla którego jest on tworzony. Ważne jest również, aby raporty były zgodne z estetyką i standardami wizualizacji danych, co zwiększa ich czytelność oraz efektywność w przekazywaniu informacji. W kontekście analizy danych, raporty pomagają w podejmowaniu świadomych decyzji biznesowych, dostarczając istotnych informacji w przystępnej formie.

Pytanie 14

W języku JavaScript funkcja document.getElementById() ma na celu

A. sprawdzić poprawność formularza z identyfikatorem id
B. umieścić tekst o treści 'id' na stronie internetowej
C. zwrócić odnośnik do pierwszego elementu HTML o określonym id
D. pobrać dane z pola formularza i zapisać je do zmiennej id
Metoda document.getElementById() jest jedną z kluczowych funkcji w JavaScript, używaną do interakcji z elementami HTML w dokumentach DOM (Document Object Model). Jej głównym zadaniem jest zwrócenie odniesienia do pierwszego elementu w dokumencie HTML, który posiada określony atrybut id. Atrybut ten powinien być unikalny w obrębie dokumentu, co pozwala na jednoznaczną identyfikację elementu. Przykładowo, jeśli mamy element <div id='myElement'>Witaj świecie</div>, to użycie document.getElementById('myElement') zwróci nam ten konkretny element. Można następnie manipulować tym elementem, zmieniając jego zawartość, styl lub atrybuty, co jest nieocenione w tworzeniu dynamicznych aplikacji webowych. Warto zaznaczyć, że ta metoda jest częścią specyfikacji DOM Level 1 i jest szeroko wspierana przez wszystkie nowoczesne przeglądarki. W kontekście optymalizacji wydajności, uzyskiwanie dostępu do elementów za pomocą ich id jest znacznie szybsze i bardziej efektywne niż stosowanie selektorów CSS. W praktyce, użycie tej metody w kodzie JavaScript jest kluczowe dla wielu operacji DOM, co sprawia, że jest to fundament, na którym opiera się wiele aplikacji webowych.

Pytanie 15

Której wartości text-transform użyć, aby każda pierwsza litera wyrazu była wielka?

A.
underline
B.
lowercase
C.
uppercase
D.
capitalize
Pozostałe wartości działają inaczej. uppercase zamienia na wielkie WSZYSTKIE litery, lowercase na małe wszystkie, a underline w ogóle nie należy do text-transform (to wartość text-decoration). Pierwsze litery wyrazów podnosi capitalize.

Pytanie 16

Która technologia zapewnia SZYFROWANE połączenie ze stroną (HTTPS)?

A. SEO
B. FTP
C. CMS
D. SSL
Pozostałe skróty dotyczą czego innego. CMS to system zarządzania treścią, SEO to optymalizacja pod wyszukiwarki, a FTP to protokół przesyłania plików na serwer. Szyfrowanie połączenia HTTPS zapewnia SSL.

Pytanie 17

Aby wykonać przycisk na stronę internetową zgodnie z przedstawionym wzorem, w programie graficznym należy skorzystać z opcji:

Ilustracja do pytania
A. zaokrąglenie narożników (prostokąt z zaokrąglonymi rogami)
B. zniekształcenie i deformacja
C. wybór eliptyczny
D. propagacja wartości
Pozostałe opcje nie odtworzą przycisku z wzoru. Zaznaczenie (wybór) eliptyczne tworzy obszar owalny lub okrągły, a wzór to prostokąt z zaokrąglonymi rogami. Zniekształcenie i deformacja odkształcają istniejącą grafikę, zamiast dać równe zaokrąglenia. „Propagacja wartości” nie jest narzędziem rysowania kształtu. Prostokątny przycisk z zaokrąglonymi narożnikami, jak na przykładzie, wykonuje się opcją zaokrąglenia narożników.

Pytanie 18

W przedstawionej definicji typu wyliczeniowego w języku C++ enumerator CZWARTEK będzie miał wartość równą

Ilustracja do pytania
A. napisowi "CZWARTEK"
B. liczbie 4
C. liczbie 1
D. napisowi 'CZWARTEK'
W języku C++ typy wyliczeniowe, znane jako enum, są używane do definiowania zestawu nazwanych stałych całkowitych. Zrozumienie, jak działa inicjalizacja i przydzielanie wartości w ramach enum, jest kluczowe. W przedstawionej definicji enum dni {PONIEDZIAŁEK = 1, WTOREK, ŚRODA, CZWARTEK, PIĄTEK, SOBOTA, NIEDZIELA}; PONIEDZIAŁEK jest jawnie zainicjalizowany wartością 1. Następne enumeratory automatycznie otrzymują kolejne wartości całkowite, o ile nie zostaną zainicjalizowane samodzielnie. W konsekwencji WTOREK otrzymuje wartość 2, ŚRODA 3, a CZWARTEK 4, co wynika z automatycznego zwiększania wartości o 1. Wybór odpowiedzi wskazujących, że CZWARTEK to napis, jest błędny ze względu na sposób działania enum, które przypisują wartości całkowite. Enum nie obsługuje przypisywania wartości tekstowych czy znakowych do enumeratorów, co wyklucza odpowiedzi zakładające taką możliwość. Rozumienie tych koncepcji jest kluczowe, ponieważ typy wyliczeniowe są szeroko stosowane w programowaniu, umożliwiając uporządkowane zarządzanie stałymi symbolicznymi. Ich użycie zwiększa czytelność i konserwowalność kodu poprzez eliminację magicznych liczb oraz ułatwia śledzenie stanu aplikacji dzięki zastosowaniu nazwanych wartości. Mylne interpretacje wynikają często z braku wiedzy o możliwości automatycznego przypisywania wartości enum, co prowadzi do niepoprawnych założeń o przypisaniach tekstowych.

Pytanie 19

Jakie stwierdzenie dotyczące zaprezentowanego kodu jest prawdziwe?

Ilustracja do pytania
A. W zmiennej $a wartość "Ala" zostanie zmieniona na "Ola"
B. Zostanie wyświetlony komunikat "OlaA"
C. Znak kropki "." jest operatorem konkatenacji
D. Znak "=" pełni rolę operatora porównania dwóch zmiennych
Znak kropki w języku PHP pełni rolę operatora konkatenacji łączącego ciągi znaków w jedną całość Jest to kluczowa funkcja przy pracy z danymi tekstowymi pozwalająca na dynamiczne tworzenie ciągów znaków na podstawie różnych zmiennych lub danych wejściowych Przykładowo w przypadku zmiennej $a o wartości Ala i zastosowania $a Ola wynikowym ciągiem staje się AlaOla W praktyce konkatenacja jest często stosowana do generowania złożonych komunikatów lub budowania ścieżek plików w aplikacjach webowych Operator konkatenacji jest również używany w połączeniu z innymi typami danych które mogą być automatycznie przekształcane na ciągi znaków zgodnie z zasadami PHP Konkatenacja jest fundamentalnym elementem interakcji z użytkownikami w interfejsach tekstowych oraz w przetwarzaniu danych wejściowych i wyjściowych Zrozumienie i umiejętność jej stosowania jest kluczowa dla efektywnego programowania w PHP oraz tworzenia dynamicznych i interaktywnych aplikacji webowych z zachowaniem wysokiej jakości kodu i zgodności ze standardami

Pytanie 20

Jaką relację typu uzyskuje się w wyniku powiązania kluczy głównych dwóch tabel?

A. wiele do jednego
B. jeden do wielu
C. jeden do jednego
D. wiele do wielu
Odpowiedź „jeden do jednego” jest poprawna, ponieważ relacja typu jeden do jednego oznacza, że każdy rekord w jednej tabeli jest powiązany z dokładnie jednym rekordem w drugiej tabeli. Tego rodzaju relacje są często wykorzystywane w sytuacjach, gdzie istnieje potrzeba rozdzielenia danych w celu zwiększenia organizacji lub wydajności, na przykład w przypadku wrażliwych informacji, które są przechowywane oddzielnie od podstawowych danych użytkowników. Praktycznym przykładem może być relacja między tabelą użytkowników a tabelą profili, gdzie każdy użytkownik ma dokładnie jeden profil. W dobrych praktykach projektowania baz danych, takie relacje są stosowane, aby zapewnić integralność danych oraz umożliwić skuteczne zarządzanie informacjami w systemach. Ponadto, stosowanie relacji jeden do jednego może pomóc w optymalizacji zapytań, ponieważ zminimalizowane jest ryzyko duplikacji danych, co przyczynia się do efektywniejszego przetwarzania operacji w bazach danych.

Pytanie 21

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

A. CD-Audio
B. PCM
C. WAV
D. MP3
Pozostałe formaty zajmują dużo więcej miejsca. WAV i PCM to zapis NIESKOMPRESOWANY (surowe próbki), a CD-Audio to jakość płyty CD, również bez kompresji stratnej. Najmniejszy plik daje stratny MP3.

Pytanie 22

Jakie będzie wynik działania programu napisanego w JavaScript, umieszczonego w ramce, kiedy wprowadzisz wartość 5?

var n, i;
var a = 1;

n = prompt("Podaj n:", "");

for (i=n; i>=2; i--)
    a*=i;

document.write("Wynik ",a);
A. 60
B. 125
C. 625
D. 120
Niepoprawne odpowiedzi wynikają z niezrozumienia działania pętli i operatora *= w języku JavaScript. Program implementuje algorytm obliczający silnię, co oznacza wielokrotne mnożenie kolejnych liczb całkowitych malejących aż do wartości 2. Niezrozumienie, że silnia n to iloczyn n*(n-1)*(n-2)*...*2, prowadzi do błędnych odpowiedzi. Początkowa wartość zmiennej a ustawiona na 1 jest kluczowa, ponieważ działa jako neutralny element mnożenia. Każda iteracja pętli zmniejsza wartość i, a *= i oznacza, że a jest mnożone przez bieżącą wartość i, co jest często źle interpretowane jako dodawanie lub niedokładne mnożenie. To typowy błąd przy próbie szybkiego zrozumienia kodu bez analizy krok po kroku. Kolejnym częstym błędem jest złe zrozumienie zakresu działania pętli for, która w tym przypadku działa od wartości n aż do 2 włącznie, co jest istotne, bo mnożenie przez 1 nie zmienia wyniku, ale jest częścią klasycznej definicji silni. Dla danych wejściowych 5, poprawnym wynikiem jest 5*4*3*2*1, co daje 120, a inne wartości jak 125, 60 czy 625 wskazują na błędne założenia lub niepełne zrozumienie mechanizmu działania pętli i mnożenia w kontekście silni.

Pytanie 23

Po zrealizowaniu polecenia SQL użytkownik Ela zyska możliwość wykorzystania poniższych uprawnień:

GRANT SELECT, INSERT, UPDATE, DELETE ON baza1.tab1 TO 'Ela'@'localhost';
A. tylko tworzyć i zmieniać strukturę tabeli
B. przeprowadzać wszystkie operacje na danych
C. tylko dodawać oraz zmieniać dane
D. realizować wszystkie działania na strukturze danych
Wybór odpowiedzi, która sugeruje, że użytkownik może jedynie dodawać i modyfikować dane, jest mylny, ponieważ nie uwzględnia uprawnienia SELECT, które jest również częścią przyznanych uprawnień. Ograniczając interpretację do dodawania i modyfikowania danych, można zignorować kluczowy aspekt bazy danych – możliwość ich przeglądania. Ponadto, twierdzenie, że użytkownik może jedynie tworzyć i modyfikować strukturę tabel, jest nieadekwatne, ponieważ polecenie GRANT nie dotyczy uprawnień do zmiany struktury bazy danych, takich jak dodawanie nowych tabel czy kolumn. Takie operacje są regulowane przez inne uprawnienia, które muszą być również przyznane. W sytuacji, gdy mówimy o operacjach na strukturze danych, należy uwzględnić, że uprawnienia GRANT dotyczą jedynie pracy z danymi przechowywanymi w tabelach, a nie z ich strukturalnymi aspektami. Pojęcie 'wszystkie operacje na strukturze danych' może wprowadzać w błąd, ponieważ nie odnosi się do przyznanych uprawnień, które nie obejmują na przykład tworzenia nowych tabel lub zmiany ich definicji. Dlatego ważne jest, aby dokładnie zrozumieć różnicę między uprawnieniami do operacji na danych a uprawnieniami do zarządzania strukturą bazy danych. Kluczowym błędem jest zatem niedostrzeganie znaczenia uprawnienia SELECT oraz niewłaściwe rozumienie zakresu przyznawanych uprawnień w kontekście SQL.

Pytanie 24

Która kwerenda ustawi wartość 0 w kolumnie przebieg tabeli samochody?

A.
UPDATE samochody SET przebieg = 0;
B.
UPDATE przebieg SET 0 TABLE samochody;
C.
UPDATE przebieg SET 0 FROM samochody;
D.
UPDATE samochody SET przebieg VALUE 0;
Zmianę wartości w kolumnie wykonuje UPDATE tabela SET kolumna = wartość, więc wyzerowanie przebiegu to UPDATE samochody SET przebieg = 0; (bez WHERE obejmie wszystkie wiersze). Dlatego ta kwerenda jest poprawna.

Pytanie 25

Który znacznik lub zestaw znaczników nie jest używany do określenia struktury dokumentu HTML?

A. <div>
B. <section>
C. <header>, <footer>
D. <i>, <b>, <u>
Te znaczniki, czyli <i>, <b> i <u>, nie są jakby do tworzenia struktury dokumentu HTML, ale bardziej do formatowania tekstu. Zgodnie z nowymi standardami HTML5, są to elementy semantyczne, które wpływają na to, jak coś wygląda, a nie na to, jak jest zorganizowane. Znacznik <i> używamy, jak chcemy coś napisać kursywą, <b>, żeby coś podkreślić, a <u>, żeby coś podkreślić. Często korzysta się z nich w stylach CSS, ale nie nadają one hierarchii ani kontekstu dokumentu. Jak chcesz wyróżnić jakiś tekst w kontekście kodu czy tytułu rozdziału, lepiej skorzystać z bardziej semantycznych znaczników, jak <em> dla podkreślenia znaczenia albo <strong> dla podkreślenia wagi. W czasach, kiedy dostępność i SEO są coraz ważniejsze, używanie semantycznych elementów to klucz do tworzenia lepszych i bardziej przejrzystych stron.

Pytanie 26

W CSS zdefiniowano styl dla pola edycji. Taki obszar będzie miał jasnozielone tło

input:focus { background-color: LightGreen; }
A. jeśli jest to pierwsze wystąpienie tego elementu w dokumencie
B. w każdej sytuacji
C. gdy zostanie na niego najechane kursorem myszy bez kliknięcia
D. po kliknięciu myszą w celu wprowadzenia tekstu
W języku CSS pseudoklasa :focus jest używana do definiowania stylów dla elementów, które są w stanie aktywnego fokusu. W przypadku elementów formularza, takich jak pola tekstowe input, fokus uzyskuje się poprzez kliknięcie myszą lub użycie klawisza tab, co pozwala na wprowadzenie tekstu. Pseudoklasa :focus umożliwia stylizację elementu tylko wtedy, gdy jest aktywny, co jest kluczowe dla poprawy użyteczności interfejsu użytkownika. W przykładzie podanym w pytaniu, gdy pole edycyjne input uzyska fokus, jego tło zmieni się na jasnozielone dzięki właściwości background-color ustawionej na LightGreen. Takie zastosowanie stylów CSS jest powszechne w projektowaniu formularzy, gdzie wizualne wskazanie aktywnego elementu jest istotne dla użytkownika. Dobre praktyki projektowania interfejsów kładą nacisk na czytelność i intuicyjność, co zwiększa dostępność i wygodę użytkowania aplikacji webowych. Stylowanie z wykorzystaniem pseudoklasy :focus pozwala projektantom i deweloperom tworzyć interfejsy, które są nie tylko estetyczne, ale także funkcjonalne, wspierając użytkowników w efektywnym korzystaniu z aplikacji.

Pytanie 27

Który z wymienionych systemów nie należy do systemów CMS?

A. Joomla!
B. WordPress
C. Drupal
D. Adobe Flash
Drupal, Joomla! oraz WordPress to systemy zarządzania treścią, które różnią się pod względem funkcji, architektury oraz grupy docelowej. Drupal jest zaawansowanym CMS-em, który dedykowany jest zarówno dla profesjonalnych twórców stron, jak i dużych organizacji, oferując niezwykle elastyczne możliwości konfiguracji oraz bogaty ekosystem modułów. Dzięki temu, użytkownicy mogą tworzyć skomplikowane strony internetowe i aplikacje webowe, zarządzając jednocześnie złożonymi strukturami treści. Joomla! to kolejny CMS o szerokim zastosowaniu, który łączy w sobie łatwość użycia z potężnymi funkcjami, co czyni go idealnym rozwiązaniem dla małych i średnich przedsiębiorstw. Oferuje szereg komponentów, które umożliwiają dodawanie różnych funkcji, takich jak galerie zdjęć, forum czy e-commerce. WordPress, z kolei, to najpopularniejszy CMS na świecie, znany z prostoty obsługi oraz bogatej biblioteki wtyczek i motywów. Jest idealny dla blogerów oraz osób chcących szybko stworzyć stronę internetową. Każdy z tych systemów ułatwia użytkownikom zarządzanie treścią, archiwizację, a także publikację bez potrzeby znajomości programowania, co czyni je niezastąpionymi narzędziami w tworzeniu nowoczesnych stron internetowych.

Pytanie 28

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

A. nav { float: right; } section { float: right; }
B. aside {float: left; }
C. nav { float: right; }
D. nav { float: left; } aside { float: left; }
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa float, a nie tylko samo skojarzenie, że „left to lewo, right to prawo”. Wiele osób myśli, że wystarczy ustawić jeden element na lewo, drugi na prawo i wszystko magicznie się poukłada. W praktyce przeglądarka trzyma się bardzo konkretnych reguł: najpierw liczy kolejność elementów w HTML, potem dopiero stosuje float i układa je możliwie jak najwyżej i jak najbliżej odpowiedniej krawędzi.

Jeśli nada się float tylko dla aside albo tylko dla nav, to zmienia się ich pozycja, ale układ trzech bloków nie spełni warunku z zadania: aside i nav nie zamienią się miejscami z pozostawieniem section w środku. Przykładowo, samo float: left na aside niczego nie „zamieni”, bo element i tak pojawia się jako pierwszy w kodzie, więc będzie u góry, tylko że „przyklejony” do lewej. Z kolei ustawienie nav na prawą stronę bez odpowiedniego floatowania section prowadzi do sytuacji, gdzie section nadal zachowuje się jak normalny blok, zwykle ląduje pod elementami pływającymi albo obok nich w sposób mało przewidywalny dla początkującego.

Częsty błąd myślowy polega też na tym, że ktoś próbuje wszystkim elementom dać float: left, licząc na to, że przeglądarka „ułoży je po swojemu”. Wtedy jednak wszystkie te bloki ustawiają się w jednym kierunku, w kolejności z HTML, więc nie ma mowy o świadomym „zamienianiu miejsc”. Brak zrozumienia, że float wyjmuje element z normalnego przepływu i wpływa na to, jak kolejne elementy zawijają się wokół niego, prowadzi właśnie do takich błędnych odpowiedzi. Z mojego doświadczenia lepiej jest najpierw narysować sobie prosty schemat: w jakiej kolejności idą znaczniki i które z nich mają pływać w prawo, a które zostać w naturalnym układzie. Dopiero wtedy dobiera się konkretne deklaracje CSS. Takie myślenie przydaje się nie tylko przy float, ale też przy nauce flexboxa czy grida, gdzie kolejność w DOM i własności układu też grają ogromną rolę.

Pytanie 29

W bazie danych samochodów pole kolor z tabeli samochody przyjmuje wartości kolorów jedynie ze słownika lakier. Aby połączyć tabele samochody i lakier relacją należy, zastosować kwerendę

A. ALTER TABLE samochody
   ADD FOREIGN KEY kolor REFERENCES lakier;

B. ALTER TABLE samochody
   ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);

C. ALTER TABLE samochody
   ADD FOREIGN KEY barwa REFERENCES samochody.lakier;

D. ALTER TABLE lakier
   ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
A. C.
B. B.
C. A.
D. D.
Odpowiedź B jest prawidłowa, ponieważ ciało odpowiedzi zawiera prawidłową składnię SQL do połączenia dwóch tabel: 'samochody' i 'lakier'. W przypadku relacji między tabelami, klucz obcy w jednej tabeli odpowiada kluczowi głównemu w drugiej tabeli. W tym przypadku, pole 'kolor' w tabeli 'samochody' jest kluczem obcym, który odwołuje się do klucza głównego w tabeli 'lakier' (założenie: 'lakierId'). W praktyce, połączenie tabel na podstawie relacji między kluczem obcym a kluczem głównym jest fundamentalnym aspektem projektowania bazy danych, umożliwiającym sprawną organizację i odnajdywanie danych. Dobrą praktyką jest utrzymanie integralności referencyjnej, zapewniającej, że relacje między tabelami są zawsze spójne. To z kolei umożliwia realizację zapytań złożonych, które łączą dane z wielu tabel w celu uzyskania potrzebnych informacji.

Pytanie 30

Jaką kwerendę w bazie MariaDB należy zastosować, aby wybrać artykuły z cenami mieszczącymi się w zakresie obustronnie domkniętym <10, 20>?

A. SELECT * FROM Artykuly WHERE Cena > 10 AND Cena < 20
B. SELECT * FROM Artykuly WHERE Cena IN (10, 20)
C. SELECT * FROM Artykuly WHERE Cena BETWEEN 10 AND 20
D. SELECT * FROM Artykuly WHERE Cena LIKE 1%, 2%
Odpowiedź ta jest prawidłowa, ponieważ wykorzystuje operator BETWEEN, który jest idealnym narzędziem do określenia przedziału wartości w bazie danych. W przypadku tego zapytania, operator BETWEEN obejmuje wszystkie wartości z przedziału obustronnie domkniętego od 10 do 20, co oznacza, że zostaną uwzględnione zarówno wartości 10 jak i 20. Tego typu zapytanie jest niezwykle przydatne w praktyce, gdy chcemy szybko wyselekcjonować dane spełniające określone kryteria. Wartością dodaną stosowania BETWEEN jest oszczędność czasu i zwiększenie czytelności zapytań, co jest zgodne z zasadami dobrych praktyk w programowaniu SQL. Przykładem zastosowania może być sytuacja, gdy w firmie potrzebujemy analizować sprzedaż produktów w określonym przedziale cenowym, aby ocenić efektywność promocji. Dzięki temu rozwiązaniu możemy szybko i efektywnie uzyskać potrzebne dane, co ułatwia podejmowanie decyzji biznesowych.

Pytanie 31

Które z poniższych twierdzeń najlepiej opisuje klasę Owoc zdefiniowaną w PHP i przedstawioną w kodzie?

class Owoc {
  public $nazwa;
  private $kolor;
  function set_nazwa($nazwa) {
    $this->nazwa = $nazwa;
  }
}
A. Zawiera dwa pola oraz jedną metodę, pole nazwa ma widoczność ograniczoną tylko do metod klasy
B. Zawiera jedno pole oraz dwie metody, przy czym jedna z metod ma zakres prywatny
C. Zawiera dwa pola oraz jedną metodę, pole kolor ma widoczność ograniczoną jedynie do metod klasy
D. Zawiera dwa pola oraz jeden konstruktor, oba pola mają widoczność ograniczoną tylko do metod klasy
Klasa Owoc w języku PHP jest zdefiniowana z dwoma polami: publicznym $nazwa i prywatnym $kolor. Odpowiedź wskazująca, że pole kolor ma ograniczony dostęp tylko do metod klasy, jest prawidłowa, ponieważ zastosowanie modyfikatora private oznacza, że pole to jest dostępne wyłącznie wewnątrz klasy. Jest to dobra praktyka projektowania, gdzie prywatne pola chronią integralność danych, umożliwiając dostęp i modyfikację tylko za pośrednictwem metod klasy. W tym przypadku, metoda set_nazwa pozwala na ustawienie wartości dla pola $nazwa, ale nie ma bezpośredniej metody dla $kolor, co jest celową strategią, aby zapewnić kontrolę nad dostępem do tego pola. W praktyce, pole $kolor mogłoby być wykorzystywane do przechowywania informacji, które nie powinny być zmieniane zewnętrznie, a jedynie konfigurowane wewnątrz klasy lub podczas jej inicjalizacji. Taki układ sprzyja enkapsulacji, jednym z filarów programowania obiektowego, promując bezpieczeństwo danych i modularność kodu. W projektach komercyjnych zaleca się również dodanie metod get i set dla prywatnych zmiennych, aby zachować elastyczność i kontrolę nad danymi.

Pytanie 32

W HTML informacje o autorze, streszczeniu oraz słowach kluczowych strony powinny być umieszczone

A. pomiędzy znacznikami <body> i </body>, w znaczniku <html>
B. pomiędzy znacznikami <head> i </head>, w znaczniku <meta>
C. pomiędzy znacznikami <head> i </head>, w znaczniku <style>
D. pomiędzy znacznikami <body> i </body>, w znaczniku <meta>
W HTML kluczowe informacje, takie jak autor, streszczenie i słowa kluczowe, powinny być umieszczone między znacznikami <head> i </head>. Te znaczniki <meta> są naprawdę ważne, bo to one informują przeglądarki i wyszukiwarki o tym, co jest w Twojej stronie. Na przykład, znaczniki <meta name="description" content="Opis strony"> oraz <meta name="keywords" content="słowo1, słowo2, słowo3">. Dzięki tym danym, wyszukiwarki lepiej rozumieją, o czym jest strona, co może wpłynąć na jej pozycję w wynikach wyszukiwania. Moim zdaniem, dobrze przemyślane opisy i słowa kluczowe to klucz do sukcesu, bo to one przyciągają użytkowników do kliknięcia w Twój link. Pamiętaj też, że znacznik <title> i inne meta tagi w <head> są mega istotne dla SEO. Informacje te tworzą podstawy Twojego dokumentu HTML, więc warto je dobrze wypełnić, żeby strona działała jak należy.

Pytanie 33

W skrypcie PHP konieczne jest stworzenie cookie o nazwie owoce, które przyjmie wartość jabłko. Cookie powinno być dostępne przez jedną godzinę od momentu jego utworzenia. W tym celu w skrypcie PHP należy wykorzystać funkcję:

A. cookie("jabłko","owoce",3600);
B. setcookie("jabłko","owoce",time()+3600);
C. cookie("owoce","jabłko",3600);
D. setcookie("owoce","jabłko",time()+3600);
Funkcja setcookie w PHP jest kluczowym narzędziem do zarządzania ciasteczkami, a w szczególności do ich tworzenia. W przypadku prawidłowej odpowiedzi, setcookie("owoce","jabłko",time()+3600) poprawnie ustawia nazwę ciasteczka na 'owoce', przypisując mu wartość 'jabłko'. Funkcja time() zwraca aktualny czas w sekundach od 1 stycznia 1970 roku, a dodanie 3600 do tej wartości ustawia czas wygaśnięcia ciasteczka na jedną godzinę od momentu jego utworzenia. Jest to standardowa praktyka, by zapewnić, że cookie będzie dostępne przez określony czas. W kontekście aplikacji webowych, cookies są często wykorzystywane do przechowywania informacji o preferencjach użytkowników, sesjach logowania czy koszykach zakupowych. Ważne jest, aby przy tworzeniu ciasteczek upewnić się, że nazwa i wartość są odpowiednio sformatowane, a czas wygaśnięcia jest zgodny z oczekiwaniami. Prawidłowe zarządzanie ciasteczkami przyczynia się do lepszej interakcji z użytkownikami oraz zwiększa wydajność aplikacji.

Pytanie 34

Utworzono bazę danych z tabelą mieszkancy, która zawiera pola: nazwisko, imie, miasto. Następnie zrealizowano poniższe zapytanie do bazy:

SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Kraków';
Wskaź, które zapytanie zwróci te same dane.
A. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków';```
B. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING 'Poznań' OR 'Kraków';```
C. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';```
D. ```SELECT nazwisko, imie FROM mieszkancy AS 'Poznań' OR 'Kraków';```
Zapytanie SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków'; jest poprawne, ponieważ umożliwia uzyskanie danych mieszkańców, którzy znajdują się w jednym z dwóch zadanych miast. Użycie operatora 'OR' pozwala na połączenie dwóch warunków, co sprawia, że zapytanie zwróci mieszkańców zarówno z Poznania, jak i z Krakowa. Takie podejście jest zgodne z zasadami SQL i umożliwia elastyczne filtrowanie danych. Alternatywnie, zastosowanie operatora UNION ALL w pierwszym zapytaniu łączy wyniki z dwóch oddzielnych zapytań, co jest również poprawne, ale może być mniej wydajne w przypadku dużych zbiorów danych. Używając UNION ALL, zwracane są wszystkie wiersze, w tym duplikaty, natomiast w przypadku zapytania z OR, uzyskujemy wiersze spełniające przynajmniej jeden z warunków. Dobrą praktyką jest testowanie zapytań w rzeczywistej bazie danych, aby ocenić ich wydajność i poprawność. W kontekście standardów SQL, takie zapytania są zgodne z definicjami języka zapytań i są stosowane do przetwarzania danych w relacyjnych bazach danych.

Pytanie 35

Zademonstrowano efekt stylizacji CSS oraz kod HTML. W jaki sposób należy ustawić styl, aby uzyskać takie formatowanie?

Ilustracja do pytania
A. .first-line {font-size: 200%; color:brown;}
B. #first-line {font-size: 200%; color:brown;}
C. p::first-line {font-size: 200%; color:brown;}
D. p.first-line {font-size: 200%; color:brown;}
Odpowiedź p::first-line {font-size: 200%; color:brown;} jest prawidłowa, ponieważ selektor ::first-line w CSS służy do formatowania pierwszej linii tekstu wewnątrz elementu blokowego, takiego jak <p>. W tym przypadku formatowanie odnosi się do zmiany rozmiaru czcionki na 200% i koloru na brązowy, co jest zgodne z efektem prezentowanym na obrazie. Jest to powszechna praktyka, gdy chcemy wyróżnić pierwszą linię tekstu, nadając jej specjalny wizualny akcent. Warto zaznaczyć, że selektory pseudo-klasowe, jak ::first-line, są częścią specyfikacji CSS i umożliwiają bardziej precyzyjne i kontekstualne formatowanie treści, co jest zgodne z najlepszymi praktykami w projektowaniu stron internetowych. Tego typu rozwiązania zwiększają czytelność i estetykę tekstu. W praktyce, stosowanie ::first-line jest szczególnie przydatne w projektach wymagających subtelnych wyróżnień tekstowych, takich jak artykuły prasowe, blogi czy strony promujące treści literackie. Taki styl programowania jest zgodny z zaleceniami W3C, co czyni go nie tylko efektywnym, ale i standardowym podejściem w tworzeniu nowoczesnych stron internetowych.

Pytanie 36

W HTML znacznik <i> powoduje uzyskanie takiego samego efektu wizualnego jak znacznik

A. <em>
B. <pre>
C. <u>
D. <strong>
Zastosowanie znaczników <u>, <pre> oraz <strong> w kontekście pytania jest błędne z kilku powodów. Znacznik <u> służy do podkreślenia tekstu, ale nie przekazuje on żadnego dodatkowego znaczenia semantycznego, co jest kluczowe w tworzeniu dostępnych treści. Choć wizualnie może to wyglądać podobnie, użycie <u> nie jest zgodne z najlepszymi praktykami, gdzie zaleca się stosowanie znaczników semantycznych, takich jak <em>, które informują o intencji autora. Z kolei znacznik <pre> jest używany do prezentacji tekstu w formacie preformatowanym, co nie ma nic wspólnego z wyróżnianiem tekstu w kontekście jego znaczenia. Oznacza to, że tekst wewnątrz <pre> zachowuje spacje oraz nowe linie, co jest istotne przy wyświetlaniu kodu lub danych, ale nie ma zastosowania w kontekście wyróżniania wyrazów w treści. Znacznik <strong>, chociaż wizualnie również pogrubia tekst, informuje o ważności treści, ale nie jest równoważny z <em>, które przekazuje bardziej subtelne znaczenie. Typowym błędem jest postrzeganie tych znaczników jako zamienników, co prowadzi do tworzenia kodu, który jest nieefektywny oraz trudny w interpretacji przez urządzenia asystujące, a w konsekwencji odbiorcy treści, w tym osób z niepełnosprawnościami. Właściwe zrozumienie ról poszczególnych znaczników jest kluczowe dla tworzenia stron internetowych zgodnych z WCAG i ogólnych standardów dostępności.

Pytanie 37

Które znaczniki HTML wyświetlą tekst „Dobre strony mojej strony” w JEDNYM wierszu, jeśli nie zastosowano żadnych reguł CSS?

A.
<div>Dobre strony </div><div style="letter-spacing:3px">mojej strony</div>
B.
<p>Dobre strony </p><p style="letter-spacing:3px">mojej strony</p>
C.
<span>Dobre strony </span><span style="letter-spacing:3px">mojej strony</span>
D.
<h3>Dobre strony </h3><h3 style="letter-spacing:3px">mojej strony</h3>
Pozostałe znaczniki są BLOKOWE, więc każdy zaczyna się od nowej linii i rozbiłby tekst na osobne wiersze. Dotyczy to <p> (akapit), <h3> (nagłówek) oraz <div> (kontener). W jednym wierszu tekst utrzyma liniowy <span>.

Pytanie 38

Jaki wynik przyjmie zmienna a po zakończeniu pętli w podanym fragmencie kodu PHP?

$i = 10; $a = 0;
while ($i)
{
    $a = $a + 2;
    $i--;
}
A. 2
B. 20
C. 0
D. 10
W podanym fragmencie kodu PHP zmienna a przyjmuje wartość 20 po zakończeniu pętli. Dzieje się tak, ponieważ pętla while wykonuje się, dopóki zmienna i jest różna od zera. Na początku i jest równe 10, a podczas każdej iteracji pętli zmienna a jest zwiększana o 2, a zmienna i jest dekrementowana o 1. W efekcie pętla wykonuje się dokładnie 10 razy, a w każdej iteracji wartość zmiennej a zwiększa się o 2. W rezultacie po 10 iteracjach zmienna a osiąga wartość 20. Takie podejście do pętli while jest często stosowane w programowaniu, gdy chcemy wykonać określoną liczbę iteracji, dopóki warunek logiczny jest spełniony. Jest to przykład dobrej praktyki, gdy kod jest czytelny i łatwy do zrozumienia. W praktyce programowania PHP pętle tego typu są używane do różnych operacji, takich jak przetwarzanie danych, iterowanie po elementach tablic, czy wykonywanie złożonych obliczeń, co ilustruje zrozumiałe i efektywne zastosowanie tej konstrukcji w PHP.

Pytanie 39

Jakie uprawnienia będzie miał użytkownik jan po wykonaniu poniższych poleceń na bazie danych?

GRANT ALL PRIVILEGES ON klienci TO jan;
REVOKE SELECT, INSERT, UPDATE, DELETE ON klienci FROM jan;
A. Będzie mógł eliminować rekordy z tabeli klienci.
B. Będzie mógł zmieniać strukturę tabeli klienci.
C. Będzie mógł dodawać rekordy do tabeli klienci.
D. Będzie mógł przeszukiwać dane w tabeli klienci.
Wybór odpowiedzi, że jan będzie mógł usuwać rekordy z tabeli klienci, jest błędny. Polecenie REVOKE SELECT, INSERT, UPDATE, DELETE nałożone na użytkownika jan oznacza, że pozbawiono go możliwości wykonywania operacji, które są kluczowe dla zarządzania danymi w tej tabeli. W praktyce, zasady przyznawania uprawnień w bazach danych wymagają, aby użytkownicy mieli określone uprawnienia do przeprowadzenia operacji na danych. Usuwanie rekordów jest operacją, która wymaga posiadania odpowiednich uprawnień, a ponieważ jan został pozbawiony uprawnienia DELETE, nie może on już usuwać żadnych danych z tabeli klienci. Podobnie, stwierdzenie, że jan będzie mógł wyszukiwać dane, również jest błędne, ponieważ uprawnienie SELECT zostało odjęte. W kontekście administracji bazą danych, kluczowe jest zrozumienie, że przyznawanie lub odbieranie uprawnień powinno być zgodne z zasadą najmniejszych uprawnień, co oznacza, że użytkownicy powinni mieć tylko te uprawnienia, które są niezbędne do wykonywania ich pracy. W tym przypadku jan ma pełne uprawnienia do zmiany struktury tabeli, ale nie ma żadnej możliwości interakcji z danymi. Zatem, odpowiedzi dotyczące możliwości wstawiania rekordów również są błędne, ponieważ uprawnienie INSERT zostało zabrane, co uniemożliwia janowi dodawanie nowych danych do tabeli. W związku z powyższym, wybór odpowiedzi na pytanie egzaminacyjne powinien opierać się na dokładnej analizie przyznanych uprawnień oraz ich wpływu na możliwości działania użytkowników w systemie baz danych.

Pytanie 40

Jakie będzie działanie po naciśnięciu przycisku oznaczonego jako "niebieski", który uruchamia podany kod JavaScript?

<p id="para1">Przykładowy tekst</p><p> i skrypt</p>
<button onClick="changeColor('blue');">niebieski</button>

<script type="text/javascript">
function changeColor(newColor)
{
var elem = document.getElementById("para1");
elem.style.color = newColor;
}
</script>
A. Zmiana barwy przycisku na niebieski
B. Zmiana koloru tekstu "i skrypt" na niebieski
C. Zmiana koloru tekstu "Przykładowy tekst" na niebieski
D. Zmiana koloru tekstu "Przykładowy tekst i skrypt" na niebieski
Kod JavaScript przedstawiony w pytaniu definiuje funkcję changeColor która przyjmuje jeden argument newColor. Po wywołaniu funkcji przez kliknięcie przycisku funkcja ta używa metody document.getElementById aby pobrać element o identyfikatorze para1. Identyfikator ten jest przypisany do pierwszego elementu paragrafu zawierającego tekst Przykładowy tekst. Następnie w ramach tego elementu zmieniany jest kolor tekstu poprzez przypisanie newColor do właściwości style.color. W omawianym przypadku newColor przyjmuje wartość blue co oznacza że tekst Przykładowy tekst zmieni kolor na niebieski. Warto podkreślić że manipulacja DOM przy użyciu JavaScript jest powszechnie stosowaną techniką w tworzeniu dynamicznych interfejsów użytkownika. Używanie metod takich jak getElementById jest standardem ze względu na ich prostotę oraz efektywność w selekcji elementów HTML. W praktycznych zastosowaniach warto również pamiętać o zgodności ze standardami W3C oraz o możliwościach rozszerzenia za pomocą bibliotek takich jak jQuery które oferują jeszcze bardziej zaawansowane opcje manipulacji DOM.