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: 28 kwietnia 2026 13:40
  • Data zakończenia: 28 kwietnia 2026 14:08

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

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

Tabela samochody zawiera poniższe rekordy.

idklasa_idmarkamodelrocznik
11fordka2017
22seattoledo2016
33opelzafira2018
42fiat500X2018
53opelinsignia2017
Po wykonaniu podanego zapytania SQL, jakie dane zostaną zwrócone?
SELECT model FROM samochody WHERE rocznik > 2017 AND marka = "opel";
A. opel zafira
B. opel zafira; opel insignia
C. zafira
D. zafira; insignia
Twoja odpowiedź jest prawidłowa. Zapytanie SQL wybiera model z tabeli 'samochody', który spełnia dwa warunki - ma markę równą 'opel' i rocznik jest większy niż 2017. Taka konstrukcja zapytania pozwala na selekcję określonych danych z bazy danych na podstawie zdefiniowanych przez nas kryteriów. W naszym przypadku, jedynym modelem opela, który spełnia oba warunki jest 'zafira'. Dlatego, jedyną poprawną odpowiedzią jest 'zafira'. W praktyce, zapytania SQL są niezwykle przydatne w pracy z dużymi zasobami danych. Pozwalają na efektywne wyszukiwanie, sortowanie i filtrowanie danych, co jest niezbędne w wielu dziedzinach informatyki, od analizy danych, przez rozwój oprogramowania, po cyberbezpieczeństwo.

Pytanie 2

Aby stworzyć układ strony z trzema kolumnami obok siebie, można wykorzystać styl CSS

Ilustracja do pytania
A. B
B. A
C. C
D. D
Poprawna odpowiedź A wykorzystuje właściwość float CSS ustawioną na left oraz szerokość width na 33 procent co pozwala na umieszczenie trzech kolumn obok siebie na stronie internetowej Float jest często używany do tworzenia układów wielokolumnowych gdyż pozwala na pływające rozmieszczenie elementów blokowych wewnątrz kontenera Dzięki ustawieniu szerokości na 33 procent zapewniamy że trzy kolumny będą mogły się zmieścić obok siebie w jednym rzędzie w ramach dostępnej szerokości kontenera Jest to efektywne podejście w przypadku responsywnych projektów gdzie nie zawsze znamy dokładną szerokość dostępnej przestrzeni Floating jest klasycznym podejściem w CSS i chociaż nowe technologie jak flexbox czy grid oferują więcej możliwości jest wciąż powszechnie stosowany w wielu projektach szczególnie gdy chodzi o proste układy Dodatkowo float left jest zgodny z wielu przeglądarkami co zapewnia większą uniwersalność kodu Przy projektowaniu stron zawsze warto pamiętać o dodaniu clearfix lub overflow hidden do rodzica elementów pływających aby uniknąć problemów z zawijaniem się kontenera wokół elementów pływających

Pytanie 3

Jaką maksymalną ilość znaczników <td> można zastosować w tabeli składającej się z trzech kolumn i trzech wierszy, w której nie ma złączeń komórek ani wiersza nagłówkowego?

A. 3
B. 12
C. 9
D. 6
Wybór 3 jako liczby znaczników <td> jest niewłaściwy, ponieważ nie uwzględnia pełnej struktury tabeli. W przypadku tabeli o trzech kolumnach i trzech wierszach, każdy wiersz powinien zawierać wszystkie kolumny, co skutkuje 3 komórkami w każdym wierszu. To oznacza, że w sumie powstaje 3 x 3 = 9 komórek. Odpowiedź 6 mogłaby być mylona z sytuacją, w której w rozważanym układzie zredukowano by liczbę wierszy lub kolumn, lecz nie jest to zgodne z treścią pytania. Wybierając 12, sugeruje się zrozumienie, że można zwiększyć liczbę kolumn lub wierszy, co w tym kontekście nie jest możliwe, gdyż pytanie jednoznacznie określa ich liczbę. Błędne odpowiedzi mogą wynikać z niepełnego zrozumienia struktury tabel w HTML oraz ich zasady działania. Ważne jest, aby pamiętać, że każda tabela powinna być projektowana z myślą o przejrzystości i dostępności danych, a liczba znaczników <td> musi odzwierciedlać rzeczywiste dane, które mają być prezentowane. W praktyce, błędy te mogą prowadzić do chaosu w prezentacji danych, co utrudnia zarówno użytkownikom, jak i innym systemom, takich jak wyszukiwarki, właściwe zrozumienie struktury strony.

Pytanie 4

Poniżej przedstawiono fragment kodu w języku PHP. Jakie liczby wypisze ta pętla jako wynik swojego działania?

for ($i = 0; $i <= 20; $i += 4)
echo $i . ' ';
A. 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
B. 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
C. 0,4,8,12,16
D. 0,4,8,12,16,20
Pętla for w PHP działa tak, że zaczyna od 0 i leci aż do 20, dodając 4 przy każdej iteracji. Dzięki temu, dostajemy liczby 0, 4, 8, 12, 16 i 20. To jest naprawdę przydatne, zwłaszcza gdy chcemy przetwarzać co czwarty element w zbiorze. Pętle for są bardzo popularne w programowaniu, bo pozwalają robić rzeczy wielokrotnie bez zbędnego powtarzania kodu. Jeśli zrozumiesz, jak to działa, to potem dużo łatwiej będzie Ci pisać różne programy. Z moich doświadczeń wynika, że lepiej jest unikać tzw. magicznych liczb w kodzie, czyli takich, które nie mają sensownego wyjaśnienia. Lepiej używać stałych czy zmiennych, bo to sprawia, że kod jest bardziej czytelny i łatwiejszy do ogarnięcia w przyszłości.

Pytanie 5

Baza danych, która fizycznie znajduje się na wielu komputerach, lecz logicznie postrzegana jako całość, opiera się na architekturze

A. lokalną
B. relacyjną
C. abstrakcyjną
D. rozproszoną
Wybór architektury relacyjnej, abstrakcyjnej czy lokalnej do opisu systemu, w którym baza danych jest rozproszona, wskazuje na pewne nieporozumienia w zakresie terminologii i koncepcji baz danych. Architektura relacyjna odnosi się do struktury baz danych, w której dane są przechowywane w tabelach oraz powiązaniach między nimi, a nie do fizycznego rozmieszczenia danych. Systemy relacyjne mogą być wdrażane zarówno w architekturze lokalnej, jak i rozproszonej. Abstrakcyjna architektura danych dotyczy natomiast sposobów modelowania, które są niezależne od konkretnej technologii i nie odnoszą się bezpośrednio do fizycznego rozproszenia danych. Z kolei architektura lokalna odnosi się do sytuacji, w której wszystkie komponenty systemu są umieszczone w jednym miejscu, co zdecydowanie wyklucza możliwość rozproszenia danych. W praktyce, nieprawidłowy wybór architektury może prowadzić do problemów z wydajnością, dostępnością i skalowalnością systemu. Często mylone są pojęcia związane z architekturą baz danych i ich implementacją, co może skutkować błędnymi decyzjami projektowymi i trudnościami w zarządzaniu danymi. Dobrze jest zrozumieć, że architektura rozproszona nie tylko zwiększa wydajność, ale również poprawia bezpieczeństwo i dostępność danych, co czyni ją odpowiednim wyborem dla nowoczesnych systemów przetwarzania danych.

Pytanie 6

Jak nazywa się metoda, która pozwala na nawiązanie asynchronicznego połączenia między klientem a serwerem oraz umożliwia wymianę danych bez przeładowania całej strony WWW?

A. AJAX
B. YBScript
C. PHP
D. XML
XML to format danych, ale sam w sobie nie jest techniką komunikacji. W kontekście webowym, XML może przesyłać dane między serwerem a klientem, ale nie ma tu mowy o asynchroniczności. PHP to język skryptowy używany głównie po stronie serwera, więc nie robi bezpośredniej asynchronicznej komunikacji z klientem. PHP przetwarza żądania, a potem generuje stronę, przez co cała strona przeładowuje się przy każdym żądaniu. YBScript z kolei to w ogóle nie jest standard ani technologia w webie. Często można się pogubić w tych technologiach i ich zastosowaniu. Wiele osób myśli, że XML czy PHP mogą działać jak AJAX, ale to nieprawda. Ważne jest, żeby zrozumieć, że AJAX to narzędzie do asynchronicznej komunikacji, bo to kluczowe przy tworzeniu interaktywnych aplikacji webowych. Z dzisiejszymi standardami webowymi warto znać AJAX, JSON i JavaScript, bo to fundamenty budowy efektywnych aplikacji, które zapewniają użytkownikom płynne i responsywne doświadczenie.

Pytanie 7

Na podstawie tabeli Towar wykonano poniższe zapytanie SQL. Jaki będzie rezultat tej operacji?

SELECT nazwa_towaru
FROM`Towar`
WHERE cena_katalogowa<65
ORDER BY waga DESC
IDnazwa_towarucena_katalogowawagakolor
1Papier ksero A4112.3biel
2Zeszyt A54.20.13wielokolorowy
3Zeszyt A5 w linie3.50.12niebieski
4Kredki 24 kolory90.3wielokolorowy
5Plecak szkolny65.51.3zielony
A. Zeszyt A5, Zeszyt A5 w linie, Kredki 24 kolory, Papier ksero A4
B. Papier ksero A4, Kredki 24 kolory, Zeszyt A5 w linie, Zeszyt A5
C. Papier ksero A4, Kredki 24 kolory, Zeszyt A5, Zeszyt A5 w linie
D. Zeszyt A5 w linie, Zeszyt A5, Kredki 24 kolory, Papier ksero A4
Twoja odpowiedź jest trafiona, bo zapytanie SQL jasno pokazuje, jakie warunki muszą być spełnione, żeby dany towar pojawił się w wynikach. Klauzula WHERE filtruje produkty z ceną katalogową poniżej 65. To znaczy, że plecak szkolny za 65.5 nie przechodzi tego kryterium i nie będzie w wynikach. Potem, klauzula ORDER BY sortuje towar według wagi od najcięższego do najlżejszego. Dlatego na liście znajdą się tak jakby Papier ksero A4, Kredki 24 kolory, Zeszyt A5, a potem Zeszyt A5 w linie. To naprawdę fajna struktura zapytania SQL, bo pozwala na szybkie i skuteczne uzyskanie uporządkowanej listy produktów, które spełniają określone warunki. W sumie, to standardowa praktyka w analizie danych i zarządzaniu bazami danych.

Pytanie 8

Jakie polecenie przywróci do działania uszkodzoną tabelę w SQL?

A. REGENERATE TABLE tbl_name
B. REPAIR TABLE tblname
C. OPTIMIZE TABLE tbl_name
D. ANALYZE TABLE tbl_name
REPAIR TABLE tblname jest komendą w SQL, która jest używana do naprawy uszkodzonych tabel w bazach danych, szczególnie w systemach zarządzania bazami danych, takich jak MySQL. Gdy tabela ulegnie uszkodzeniu z powodu awarii systemu, błędów oprogramowania lub innych problemów, użycie tej komendy pozwala na przywrócenie jej do stanu używalności. Przykładem może być sytuacja, gdy po awarii serwera tabela przestaje być dostępna. Wówczas wystarczy uruchomić polecenie REPAIR TABLE, aby zdiagnozować i naprawić problemy. Warto pamiętać, że ta komenda nie tylko przywraca integralność danych, ale także może poprawić wydajność tabeli, usuwając fragmentację. Praktyka wskazuje, że regularne sprawdzanie i naprawa tabel, zwłaszcza po dużych operacjach zapisu, jest dobrym nawykiem w zarządzaniu bazami danych. Dobrą praktyką jest również tworzenie kopii zapasowych tabel przed ich naprawą, co zabezpiecza dane przed potencjalną utratą w wyniku błędów przy naprawie.

Pytanie 9

Zakładając, że tablica $tab zawiera liczby naturalne, co program wyświetli?

$liczba = $tab[0];
foreach ($tab as $element)
{
  if ($element > $liczba)
    $liczba = $element;
}
echo $liczba;
A. największy element tablicy
B. element tablicy o wartości $tab[0]
C. najmniejszy element tablicy
D. elementy, które przewyższają zmienną $liczba
Niepoprawne odpowiedzi wynikają z nieporozumień dotyczących działania pętli iteracyjnej oraz logiki porównywania i aktualizowania wartości. Propozycja wyboru najmniejszego elementu tablicy jest błędna, ponieważ w programie brakuje mechanizmu do aktualizacji zmiennej $liczba na mniejszą wartość, co jest kluczowym wymogiem w tym kontekście. Pętla foreach z warunkiem if sprawia, że zmienna $liczba zwiększa swoją wartość tylko wtedy, gdy znajdzie się element większy od aktualnie przechowywanej wartości, eliminując tym samym możliwość identyfikacji najmniejszego elementu. Z kolei opcja dotycząca wypisania elementów większych od zmiennej $liczba również jest nietrafiona, ponieważ program nie zawiera żadnej instrukcji wypisującej takie elementy na ekran, a jedynie aktualizuje zmienną w celu znalezienia największej wartości. Taka funkcjonalność wymagałaby dodatkowej logiki, która przechowywałaby i obsługiwała wiele większych elementów, co nie jest realizowane w obecnym kodzie. Wreszcie, pomysł, że program wypisuje element równy $tab[0], również nie jest poprawny. Chociaż zmienna $liczba jest inicjalizowana wartością $tab[0], to jednak ulega ona zmianom w trakcie iteracji przez tablicę, jeśli znajdzie się większy element, a więc w większości przypadków nie kończy z wartością początkową. Zrozumienie tych mechanizmów jest kluczowe w projektowaniu efektywnego kodu i unikaniu nieporozumień w implementacji algorytmów operujących na zbiorach danych.

Pytanie 10

Które z wymienionych par znaczników HTML mają identyczny efekt wizualny na stronie internetowej, jeśli nie zastosowano żadnych stylów CSS?

A. <b> i <big>
B. <meta> oraz <title>
C. <b> i <strong>
D. <p> oraz <h2>
Odpowiedź <b> i <strong> jest poprawna, ponieważ oba znaczniki służą do wyróżniania tekstu, przy czym nie mają one różnicy w wizualizacji, jeśli nie zastosowano żadnych stylów CSS. Z punktu widzenia semantyki HTML, <strong> jest znacznikiem, który wyraża większe znaczenie dla zawartego w nim tekstu, co jest korzystne dla dostępności oraz SEO, ale wizualnie, bez dodatkowych stylów, obie etykiety wykazują te same cechy. Przykładowo, można ich używać w sytuacjach, gdy chcemy wyróżnić ważne informacje w artykule lub nagłówku. Zastosowanie tych znaczników zgodnie z dobrymi praktykami HTML pozwala na lepsze zrozumienie struktury strony przez wyszukiwarki oraz czytniki ekranu, co ma znaczenie w kontekście dostępności. W związku z tym, wyróżnianie tekstu za pomocą <b> i <strong> jest nie tylko estetyczne, ale także funkcjonalne, wspierając zarówno użytkowników, jak i algorytmy wyszukiwania.

Pytanie 11

W dokumencie HTML zdefiniowano listę oraz dodano do niej formatowanie CSS. Który z efektów odpowiada tej definicji?

<ul>
  <li>Foksterier
  <li>Bokser
  <li>Baset
</ul>
li::after {
  content: " - Pies";
  background-color: teal;
  color: white;
}
Efekt 1
  • Foksterier
  • Bokser
  • Baset
Efekt 2
  • Foksterier
  • Bokser
  • Baset
Efekt 3
  • Foksterier
  • Bokser
  • Baset
Efekt 4
  • Foksterier
  • Bokser
  • Baset
A. Efekt 3.
B. Efekt 2.
C. Efekt 4.
D. Efekt 1.
Gratulacje, wybrałeś poprawną odpowiedź, która jest 'Efekt 4'. W tym przypadku, dokument HTML został odpowiednio sformatowany za pomocą kodu CSS. Widzimy, że pseudoelement ::after został użyty do dodania tekstu '- Pies' za każdym elementem listy. Jest to często stosowana technika w CSS do dodawania dekoracji lub dodatkowych informacji do elementów na stronie. Dodatkowo, widzimy, że styl CSS definiuje kolor tła jako 'teal' i kolor tekstu jako 'white'. Jest to zgodne z zasadami dobrego projektowania stron internetowych, które sugerują, że kontrast między kolorem tekstu a tłem powinien być wystarczający, aby tekst był łatwo czytelny. Również dobrym podejściem jest utrzymanie spójności kolorów na stronie internetowej, co poprawia jej estetykę i profesjonalizm. W praktyce, umiejętność manipulacji elementami HTML za pomocą CSS jest kluczowa dla każdego front-end developera.

Pytanie 12

Poniższe zapytanie zwróci

SELECT COUNT(cena) FROM uslugi;
A. średnią wartość cen usług w tabeli
B. liczbę wszystkich cen usług w tabeli
C. wszystkie wartości cen usług w tabeli
D. łączną wartość cen usług w tabeli
Wszystkie pozostałe odpowiedzi wynikają z nieporozumienia dotyczącego funkcji COUNT oraz jej zastosowania w SQL. Przede wszystkim, odpowiedź sugerująca sumę cen usług jest błędna, ponieważ COUNT nie sumuje wartości, lecz zlicza ich ilość. W SQL do obliczenia sumy używa się funkcji SUM. W kontekście średniej ceny, podobnie, funkcja COUNT nie dostarcza takiej informacji; do obliczeń średnich wykorzystuje się funkcję AVG. Innym częstym błędem jest mylenie zliczania wszystkich rekordów z wyświetlaniem ich wartości. Użycie COUNT zawsze odnosi się do ilości, a nie do treści poszczególnych rekordów. Warto zrozumieć, że funkcje agregujące, takie jak COUNT, SUM, AVG, MAX czy MIN, mają różne zastosowania i dostarczają różnych informacji. Każda z tych funkcji ma swoje specyficzne zadanie i nie można ich stosować zamiennie. Na przykład, błędna interpretacja może prowadzić do sytuacji, w której analityk danych podejmuje decyzje na podstawie niewłaściwie zrozumianych wyników zapytania, co może skutkować poważnymi konsekwencjami biznesowymi. W związku z tym istotne jest nie tylko znajomość składni SQL, ale także zrozumienie logiki stojącej za funkcjami agregującymi, co jest kluczowe dla analizy danych.

Pytanie 13

SELECT miasto, AVG(pensja) FROM pracownicy GROUP BY miasto;
Podane zapytanie wybierze:
A. nazwy miast z powtórzeniami oraz sumę pensji dla każdego z nich.
B. nazwy miast bez powtórzeń oraz średnią pensję dla każdego z nich.
C. nazwy miast z powtórzeniami oraz średnią pensję dla każdego z nich.
D. nazwy miast bez powtórzeń oraz sumę pensji dla każdego z nich.
Zapytanie z klauzulą GROUP BY i funkcją AVG bywa mylone z sumowaniem danych lub zwykłym wybieraniem rekordów jeden po drugim. W tym konkretnym przypadku bardzo łatwo pomylić średnią z sumą albo nie zauważyć, że grupowanie usuwa powtórzenia wartości w kolumnie grupującej. Warto to uporządkować. Funkcja AVG(pensja) jest klasyczną funkcją agregującą, której zadaniem jest obliczenie średniej arytmetycznej z wartości w danej grupie rekordów. Nie dodaje ona wszystkich pensji „na kupę” tak jak SUM, tylko dzieli ich sumę przez liczbę rekordów w grupie. Jeżeli ktoś spodziewa się sumy, to patrzy bardziej w stronę SUM(pensja), a nie AVG(pensja). To jest typowy błąd: widzimy funkcję agregującą i automatycznie myślimy „to pewnie suma”, bez dokładnego przeczytania nazwy funkcji. Druga kwestia to powtórzenia miast. Klauzula GROUP BY miasto mówi silnikowi bazy danych: pogrupuj wszystkie wiersze według wartości w kolumnie miasto. W efekcie wszystkie rekordy z tym samym miastem są łączone w jedną grupę. Dla każdej takiej grupy zwracany jest dokładnie jeden wiersz wyniku. To oznacza, że w rezultacie zapytania nie ma powtórzonych nazw miast, nawet jeśli w tabeli jest tysiąc pracowników z Warszawy czy Krakowa. Częsty błąd myślowy polega na przenoszeniu intuicji z prostego SELECT bez GROUP BY, gdzie miasto faktycznie się powtarza, na zapytanie z agregacją, gdzie logika jest już inna. W odpowiedziach, które sugerują „z powtórzeniami”, ignorowane jest działanie GROUP BY. Z kolei odpowiedzi mówiące o „sumie pensji” mylą AVG z SUM, co w praktyce może prowadzić do bardzo poważnych błędów analitycznych – wyobraź sobie raport płacowy, w którym zamiast średniej ktoś pokaże sumę wynagrodzeń i na tej podstawie będzie porównywał miasta. Moim zdaniem dobrą praktyką jest zawsze czytanie zapytania fragment po fragmencie: najpierw jakie kolumny są wybierane, potem jakie funkcje agregujące są użyte, a na końcu po czym następuje grupowanie. Taka metoda pozwala uniknąć właśnie takich nieporozumień i lepiej rozumieć, co dokładnie zwróci baza danych, co jest kluczowe przy pracy z realnymi systemami produkcyjnymi.

Pytanie 14

W edytorze grafiki wektorowej zbudowano kształt, który składa się z dwóch figur: trójkąta oraz koła. Aby uzyskać ten kształt, po narysowaniu figur i ich odpowiednim ustawieniu, trzeba użyć funkcji

Ilustracja do pytania
A. wykluczenia
B. różnicy
C. sumy
D. rozdzielenia
Różnica, rozdzielenie i wykluczenie to operacje, które manipulują kształtami na różne sposoby, ale nie łączą ich w jeden obiekt. Różnica polega na tym, że usuwa się część jednego kształtu z drugiego, tworząc negatyw. Jest to przydatne, gdy trzeba mieć otwory lub przestrzenie w złożonym projekcie, ale nie działa, gdy chcemy połączyć kształty. Rozdzielenie to odseparowanie elementów ścieżki, co może być przydatne w bardziej zaawansowanej edycji, bo pozwala na manipulowanie każdą częścią niezależnie, ale to nie tworzy nowego, połączonego kształtu. Wykluczenie z kolei odnosi się do działania Boolowskiego, które tworzy kształt jako zewnętrzną obwiednię dwóch przecinających się elementów, bez obszarów wspólnych, co jest totalnym przeciwieństwem sumy. Czasem można się w tym pogubić, myląc podobnie brzmiące komendy lub zakładając, że wszystkie narzędzia do łączenia figur działają tak samo. Zrozumienie tych różnic jest ważne, żeby skutecznie korzystać z narzędzi graficznych i mieć dobrej jakości projekty, szczególnie gdy chodzi o profesjonalny druk czy publikacje, gdzie precyzja i czytelność są kluczowe.

Pytanie 15

Model kolorów oparty na trzech parametrach: hue, saturation i brightness to

A. HSV
B. CMYK
C. CMY
D. RGB
RGB to model barw oparty na trzech kolorach podstawowych: czerwonym, zielonym i niebieskim. W tym modelu kolory są tworzone przez mieszanie tych trzech barw w różnych proporcjach, a nie przez kontrolowanie odcienia, nasycenia i jasności. RGB jest często stosowany w urządzeniach wyświetlających, takich jak monitory i telewizory, a jego wartości są wyrażane w skali od 0 do 255. CMY i CMYK to modele barw, które są stosowane głównie w druku. Model CMY, który składa się z cyjanu, magenty i żółtego, jest odwrotnością RGB, ponieważ używa kolorów subtraktywnych. CMYK, dodający czarny do CMY, jest zaprojektowany specjalnie do uzyskania głębszych tonów i lepszej reprodukcji kolorów w druku. W przeciwieństwie do modelu HSV, zarówno RGB, CMY, jak i CMYK nie uwzględniają łatwego zarządzania odcieniem, nasyceniem i jasnością w sposób, który jest intuicyjny dla użytkownika, co czyni je mniej użytecznymi w kontekście aplikacji graficznych i multimedialnych.

Pytanie 16

Który z komponentów dokumentacji aplikacji powinien być zawarty w dokumentacji dla użytkownika?

A. Szczegółowy opis kodu źródłowego
B. Instrukcja obsługi funkcji systemu
C. Opis algorytmów użytych w kodzie
D. Wyjaśnienie zastosowanych technologii oraz bibliotek
Opis kodu źródłowego nie jest odpowiedni do zawarcia w dokumentacji użytkownika, ponieważ skupia się na technicznych detalach implementacji, które są zrozumiałe głównie dla programistów i osób zajmujących się rozwojem oprogramowania. Tego typu dokumentacja jest istotna w kontekście rozwoju aplikacji, ale nie ma zastosowania w kontekście użytkownika końcowego, który nie jest zazwyczaj zainteresowany wewnętrzną strukturą kodu. Opis wykorzystanej technologii i bibliotek również nie jest adekwatny do dokumentacji użytkownika, ponieważ użytkownik nie musi znać szczegółów dotyczących technologii, na której oparta jest aplikacja. W większości przypadków, klienci są bardziej zainteresowani funkcjonalnościami i sposobem użytkowania aplikacji, a nie tym, jakie technologie zostały użyte w jej produkcji. Opis algorytmów zastosowanych w kodzie również nie jest właściwy, ponieważ użytkownicy końcowi rzadko potrzebują wiedzieć, jakie algorytmy stoją za działaniem aplikacji. Chociaż zrozumienie algorytmów może być przydatne dla inżynierów i programistów, dla przeciętnego użytkownika najważniejsze jest to, jak aplikacja działa w praktyce i jak ją wykorzystać do realizacji swoich potrzeb. Z tego względu, informacje te są istotne w kontekście dokumentacji technicznej, ale nie są użyteczne w dokumentacji użytkownika.

Pytanie 17

Narzędziem do zarządzania bazą danych wbudowanym w pakiet XAMPP jest

A. phpMyAdmin
B. SQLite
C. pgAdmin
D. MySQL Workbench
phpMyAdmin to popularne narzędzie webowe, które jest częścią pakietu XAMPP, służące do zarządzania bazami danych MySQL. Umożliwia użytkownikom interakcję z bazą danych poprzez intuicyjny interfejs graficzny, co znacznie upraszcza wykonanie operacji takich jak tworzenie, edytowanie i usuwanie baz danych oraz tabel. Dzięki phpMyAdmin można z łatwością zarządzać uprawnieniami użytkowników, importować i eksportować dane, a także wykonywać zapytania SQL bez konieczności korzystania z linii poleceń. To narzędzie jest szczególnie przydatne dla osób, które nie mają doświadczenia w pracy z bazami danych, a jego dostępność w XAMPP czyni go idealnym rozwiązaniem dla programistów webowych i administratorów systemów. W praktyce, phpMyAdmin wspiera wiele standardów, takich jak UTF-8, co zapewnia poprawne przetwarzanie danych w różnych językach. Warto zaznaczyć, że korzystanie z phpMyAdmin jest zgodne z najlepszymi praktykami w zakresie zarządzania bazami danych, ponieważ umożliwia skuteczne monitorowanie i optymalizację wydajności bazy danych.

Pytanie 18

W tabeli produkt znajdują się przedmioty wyprodukowane po roku 2000, z kolumnami nazwa i rok_produkcji. Klauzula SQL pokaże listę przedmiotów wyprodukowanych

SELECT * FROM `produkt` WHERE SUBSTR(rok_produkcji,3,2)=17;
A. przed rokiem 2017
B. w latach innych niż 2017
C. po roku 2017
D. w roku 2017
Wybór odpowiedzi "w roku 2017" jest prawidłowy, ponieważ zapytanie SQL stosuje funkcję SUBSTR do wydobycia części roku produkcji. Funkcja ta zaczyna od trzeciego znaku w łańcuchu reprezentującym rok produkcji i zwraca dwa znaki, co w przypadku roku 2017 daje nam '17'. W związku z tym zapytanie wyświetli jedynie te przedmioty, których rok produkcji kończy się na '17', co obejmuje rok 2017. Zastosowanie funkcji SUBSTR jest częstą praktyką w SQL, gdy chcemy analizować lub filtrować dane tekstowe według określonych wzorców. Na przykład, w przypadku bazy danych produktów, możemy wykorzystać tę metodę do kategoryzowania towarów według roczników lub do analizy sprzedaży w danym roku. Dobrą praktyką jest także zapewnienie, że dane w kolumnie rok_produkcji są przechowywane w jednolitym formacie, co ułatwia ich przetwarzanie i analizę.

Pytanie 19

Wskaź złożony typ danych.

A. bool
B. float
C. char
D. class
Złożone typy w programowaniu to takie struktury, które mogą mieć wiele wartości albo różne rodzaje danych. W językach takich jak C++ czy Java, typ 'class' jest super ważny, bo dzięki niemu możemy tworzyć obiekty. Klasa działa jak szablon do tworzenia obiektów, gdzie możesz mieć różne dane (pola) i funkcje (metody), które z tymi danymi coś robią. Na przykład klasa 'Samochód' mogłaby mieć pola, takie jak 'marka' i 'model', a także metody jak 'przyspiesz()' lub 'hamuj()'. W programowaniu obiektowym mamy różne zasady, jak enkapsulacja czy dziedziczenie. Definiowanie klas pozwala na lepszą organizację kodu, co ułatwia pracę, zwłaszcza przy większych projektach. Klasy są teraz podstawowym elementem wielu nowoczesnych języków, więc warto się ich dobrze nauczyć, bo naprawdę pomagają w tworzeniu aplikacji.

Pytanie 20

Którego znacznika NIE NALEŻY umieszczać w nagłówku dokumentu HTML?

A. <h2>
B. <link>
C. <title>
D. <meta>
Odpowiedź <h2> jest trafna, bo ten znacznik jest właśnie do nagłówków w HTML. Powinien być używany w sekcji <body>, nie w <head>. Jak dobrze wiesz, nagłówki, czyli <h1> do <h6>, mają spore znaczenie w organizacji tekstu i hierarchii, co wpływa później na SEO i dostępność strony. Dzięki <h2> możesz dodać podtytuł, co sprawia, że tekst jest bardziej przejrzysty i łatwiejszy do zrozumienia. Stosowanie nagłówków w odpowiedni sposób to ważna zasada, żeby dokument miał sens i był logicznie poukładany. Warto też wiedzieć, że znaczniki takie jak <link>, <meta> i <title> są super ważne dla strony, ale pełnią inne funkcje niż nagłówki. Więc ogólnie rzecz biorąc, fajnie, że to rozumiesz!

Pytanie 21

GRANT SELECT, INSERT, UPDATE ON klienci TO anna; Przy założeniu, że użytkownik nie miał wcześniej przyznanych żadnych uprawnień, to polecenie SQL przypisuje użytkownikowi anna wyłącznie prawa do

A. wybierania, dodawania kolumn oraz zmiany struktury wszystkich tabel w bazie o nazwie klienci
B. wybierania, dodawania kolumn oraz zmiany struktury tabeli o nazwie klienci
C. wybierania, wstawiania oraz aktualizacji danych w każdej tabeli w bazie o nazwie klienci
D. wybierania, wstawiania oraz aktualizacji danych w tabeli o nazwie klienci
Podane odpowiedzi przedstawiają różne koncepcje związane z przyznawaniem uprawnień, które są jednak nieprawidłowe w kontekście polecenia GRANT przedstawionego w pytaniu. Po pierwsze, odpowiedzi sugerujące, że użytkownik anna ma prawo do dodawania pól lub zmiany struktury tabeli, są błędne. GRANT w tym kontekście nie przyznaje uprawnień do modyfikacji strukturalnych tabeli, takich jak dodawanie kolumn; te operacje wymagają osobnych uprawnień, jak ALTER. Po drugie, koncepcja przyznawania praw do wszystkich tabel w bazie danych jest mylna, ponieważ polecenie odnosi się wyłącznie do konkretnej tabeli o nazwie klienci. W praktyce oznacza to, że nawet jeśli użytkownik ma uprawnienia do jednej tabeli, nie ma automatycznie dostępu do innych tabel w bazie. Często mylnie przyjmuje się, że nadanie praw na poziomie jednej tabeli automatycznie rozszerza te prawa na wszystkie elementy w bazie danych, co jest fundamentalnym błędem w zrozumieniu zarządzania uprawnieniami. Kluczowe w tej problematyce jest zrozumienie, że uprawnienia w systemach baz danych są przyznawane w sposób bardzo precyzyjny i specyficzny, co pozwala na ochronę danych i kontrolę dostępu zgodnie z najlepszymi praktykami w zakresie bezpieczeństwa informacji.

Pytanie 22

W języku PHP funkcja trim służy do

A. porównywania dwóch tekstów i wyświetlania ich wspólnej części
B. usuwania białych znaków lub innych określonych w parametrze znaków z obu końców tekstu
C. redukcji tekstu o liczbę znaków określoną w parametrze
D. podawania długości tekstu
Funkcja <i>trim</i> w języku PHP ma na celu usuwanie białych znaków oraz innych znaków, które są określone w jej parametrach, z obu końców napisu. To niezwykle przydatne narzędzie w programowaniu, szczególnie podczas przetwarzania danych wejściowych, gdzie użytkownicy mogą nieświadomie dodawać zbędne spacje, tabulatory lub nowe linie. Na przykład, gdy przetwarzamy dane formularzy, może się zdarzyć, że użytkownik wprowadzi swoje imię z dodatkowymi spacjami na początku lub końcu. Użycie <i>trim</i> pozwala na zapewnienie, że dane będą miały odpowiednią formę przed dalszym przetwarzaniem, co jest kluczowe w kontekście walidacji i normalizacji danych. Dodatkowo, funkcja ta wspiera podawanie własnych znaków do usunięcia, co czyni ją bardzo elastycznym narzędziem w codziennym programowaniu. Używanie <i>trim</i> jako standardowej praktyki przy obróbce danych tekstowych jest rekomendowane przez wielu ekspertów, ponieważ zwiększa to jakość i spójność przetwarzanych informacji.

Pytanie 23

Którą czynność gwarantującą poprawne wykonanie przedstawionego kodu JavaScript należy wykonać przed pętlą?

var text;
for(var i=0; i<tab.length; i++ ){
    text+=tab[i] + "<br>";
}
A. Sprawdzić długość tablicy tab
B. Upewnić się, że text jest typu string
C. Zadeklarować zmienną i
D. Zainicjować zmienną text
Zadeklarowanie zmiennej 'i' przed pętlą nie jest konieczne, ponieważ JavaScript automatycznie deklaruje zmienną 'i' w kontekście pętli. Deklaracja zmiennych przy pomocy 'var', 'let' lub 'const' jest wystarczająca w momencie ich użycia w pętli. Kolejnym aspektem jest sprawdzenie rozmiaru tablicy 'tab'. Choć podjęcie takiego sprawdzenia jest dobrym zwyczajem, nie jest to warunek konieczny do poprawnego działania kodu. Pętla for działa w oparciu o długość tablicy, więc jeżeli tablica jest pusta, pętla po prostu się nie wykona, co nie prowadzi do błędów. Ostatnim punktem jest sprawdzenie, czy 'text' jest typu znakowego. JavaScript jest językiem dynamicznie typowanym, co oznacza, że zmienne mogą przyjmować różne typy danych w trakcie działania programu. Na początku 'text' powinno być inicjalizowane jako pusty łańcuch, ale sprawdzanie jego typu w momencie, gdy jest używane w pętli, nie jest konieczne. Wszystkie powyższe odpowiedzi mogą być postrzegane jako dobre praktyki, ale nie są kluczowymi krokami, które należy wykonać przed rozpoczęciem pętli, aby program działał poprawnie.

Pytanie 24

Wskaż przycisk sformatowany przedstawionym stylem CSS.

#przycisk {
    background-color: white;
    padding: 10px;
    border-width: 2px;
    border-bottom-style: dashed;
}



Przycisk 1

Przycisk 2

Przycisk 3

Przycisk 4
A. Przycisk 1
B. Przycisk 4
C. Przycisk 2
D. Przycisk 3
Niestety, twoja odpowiedź nie była prawidłowa. Wybór innego przycisku niż Przycisk 2 sugeruje, że mogłeś nie do końca zrozumieć, jak działa selekcja i stylizacja elementów za pomocą CSS. Białe tło, odstęp wewnętrzny 10 pikseli, szerokość obramowania 2 piksele oraz przerywana dolna krawędź obramowania są elementami, które zostały ustawione w stylach CSS dla przycisku 2. Pozostałe przyciski miały inne cechy, które nie były zgodne z opisanym stylem CSS. Przy niewłaściwym wyborze przycisku lub innego elementu do stylizacji, strona może nie wyglądać zgodnie z zamierzeniem, co może negatywnie wpłynąć na doświadczenie użytkownika. Dlatego ważne jest, aby zrozumieć, jak działa selekcja i stylizacja CSS. Pamiętaj, że zrozumienie CSS to klucz do tworzenia atrakcyjnych i funkcjonalnych projektów webowych.

Pytanie 25

Jaki typ mechanizmu zapewnienia bezpieczeństwa podczas uruchamiania aplikacji jest zawarty w środowisku .NET Framework?

A. Mechanizm wykonywania aplikacji realizowany przez funkcję Windows API (Application Programming Interface)
B. Mechanizm wykonywania aplikacji dla bibliotek klas
C. Mechanizm wykonywania aplikacji oparty na uprawnieniach kodu (CAS - Code Access Security) oraz na rolach (RBS - Role-Based Security)
D. Mechanizm wykonywania aplikacji realizowany przez frameworki aplikacji webowych (ASP.NET)
Mechanizmy bezpieczeństwa w .NET Framework obejmują różne podejścia, ale odpowiedzi odnoszące się do frameworków aplikacji internetowych, bibliotek klas czy funkcji Windows API nie są stosowane jako główne metody kontroli bezpieczeństwa aplikacji. Frameworki aplikacji internetowych, takie jak ASP.NET, zapewniają pewne funkcjonalności bezpieczeństwa, ale nie są one mechanizmami kontroli dostępu samodzielnie. Kluczowym błędem jest mylenie frameworków z mechanizmami bezpieczeństwa; same frameworki to zestawy narzędzi do budowy aplikacji, które mogą implementować różne mechanizmy, ale bezpieczeństwo nie jest ich jedyną funkcją. Z kolei mechanizmy dla bibliotek klas wiążą się głównie z udostępnianiem kodu i zarządzaniem jego użyciem, a nie z jego bezpieczeństwem. Co więcej, odwoływanie się do funkcji Windows API jako mechanizmu wykonywania aplikacji jest mylące, ponieważ API to zestaw funkcji umożliwiających interakcję z systemem operacyjnym, a nie środowisko uruchomieniowe. Rozumienie różnicy między tymi pojęciami jest istotne, aby nie wprowadzać się w błąd co do zabezpieczeń aplikacji i ich implementacji. Prawidłowe podejście do bezpieczeństwa wymaga znajomości zarówno standardów, jak i najlepszych praktyk związanych z zarządzaniem uprawnieniami oraz monitorowaniem dostępu, co jest kluczowe w kontekście tworzenia trudnych do przełamania aplikacji.

Pytanie 26

Która z funkcji SQL nie wymaga żadnych argumentów?

A. now
B. upper
C. len
D. year
Wybór funkcji, które pobierają argumenty, jak 'len', 'upper' i 'year', wskazuje na brak zrozumienia różnic pomiędzy funkcjami w SQL. Funkcje takie jak 'len', która zwraca długość ciągu znaków, wymagają przynajmniej jednego argumentu - ciągu, którego długość ma być obliczona. Na przykład, użycie 'len(nazwa) zwróci ilość znaków w nazwie', co jest kluczowe w scenariuszach wymagających walidacji danych. Podobnie, 'upper' przekształca wszelkie litery w podanym ciągu na wielkie litery, co również wymaga argumentu, czyli tekstu do przetworzenia. W przypadku 'year', funkcja ta wydobywa rok z daty, co również implikuje konieczność podania argumentu w postaci daty. Wybierając funkcje, które wymagają argumentów, można nieświadomie skomplikować proces, co jest sprzeczne z zasadami efektywnego pisania kodu. Błędem jest także mylenie funkcji bezargumentowych z tymi, które działają na przekazanych wartościach, co może prowadzić do nieefektywnego zarządzania danymi w bazach. Zrozumienie, jak i kiedy używać różnych typów funkcji, jest kluczowe w procesie projektowania i zarządzania bazami danych, co podkreśla znaczenie znajomości standardów SQL oraz najlepszych praktyk w programowaniu.

Pytanie 27

Jakim zapisem można w dokumencie HTML stworzyć element, który wyświetla obraz kotek.jpg oraz zawiera tekst alternatywny „obrazek kotka”?

A. <img href="/kotek.jpg" title="obrazek kotka">
B. <img href="/kotek.jpg" alt="obrazek kotka">
C. <img src="/kotek.jpg" title="obrazek kotka">
D. <img src="/kotek.jpg" alt="obrazek kotka">
Poprawna odpowiedź to <img src="/kotek.jpg" alt="obrazek kotka">, ponieważ stosuje właściwe atrybuty do wyświetlania obrazów w HTML. Atrybut 'src' wskazuje na źródło obrazu, a 'alt' zawiera tekst alternatywny, który jest ważny dla dostępności oraz SEO. Standardy WCAG (Web Content Accessibility Guidelines) podkreślają znaczenie atrybutu 'alt', który zapewnia kontekst dla użytkowników korzystających z czytników ekranu. Ponadto, zastosowanie tego zapisu jest zgodne z dobrymi praktykami, które zachęcają do dostarczania informacji o obrazie, gdy nie może on być wyświetlony. Przykładem zastosowania może być dodanie obrazów w artykułach blogowych, gdzie 'alt' opisuje zawartość obrazu, co poprawia ogólne wrażenie oraz dostępność treści. Prawidłowe użycie atrybutów jest kluczowe dla stworzenia semantycznego i dostępnego kodu HTML.

Pytanie 28

Określ rodzaj relacji między tabelami: Tabela1 oraz Tabela3?

Ilustracja do pytania
A. Wiele do jednego
B. Wiele do wielu
C. Jeden do wielu
D. Jeden do jednego
Relacja wiele do wielu pomiędzy tabelami w bazie danych oznacza, że jeden rekord w pierwszej tabeli może być powiązany z wieloma rekordami w drugiej tabeli i odwrotnie. To jest powszechne w sytuacjach, gdzie istnieje potrzeba przechowywania złożonych asocjacji danych. W przedstawionym schemacie, Tabela1 reprezentuje uczniów, a Tabela3 nauczycieli. Ponieważ jeden uczeń może być uczony przez wielu nauczycieli, a jeden nauczyciel może uczyć wielu uczniów, Tabela2 stanowi tabelę pośrednią, często zwaną tabelą asocjacyjną, która przechowuje klucze obce z obu tabel, tworząc relację wiele do wielu. Tego typu struktura jest kluczowa, gdy chcemy modelować bardziej złożone związki danych i zapewnić łatwy dostęp do nich, co jest standardową praktyką w relacyjnych bazach danych. Użycie tabel asocjacyjnych pozwala na efektywne zarządzanie danymi i jest zgodne z normą normalizacji bazy danych, eliminując redundancję i zapewniając integralność danych. W kontekście praktycznym, takie podejście umożliwia elastyczne zapytania i analizy, co jest fundamentalne w zarządzaniu danymi w dużych systemach informacyjnych.

Pytanie 29

Kod CSS można włączyć do dokumentu HTML, używając znacznika

A. <style>
B. <body>
C. <meta>
D. <head>
Odpowiedź <style> jest prawidłowa, ponieważ ten znacznik HTML jest dedykowany do osadzania kodu CSS wewnątrz dokumentu HTML. Znacznik <style> powinien być umieszczony w sekcji <head> dokumentu, co umożliwia przeglądarkom interpretację stylów przed renderowaniem treści strony. Dzięki temu można definiować różne reguły CSS, które modyfikują wygląd elementów HTML, co jest kluczowe w tworzeniu estetycznych i funkcjonalnych stron internetowych. Przykładowo, można użyć <style> do określenia koloru tła, rozmiaru czcionki czy marginesów. Ważne jest, aby stosować zasady dotyczące kaskadowości, ponieważ style zdefiniowane w <style> mają priorytet nad stylem zewnętrznym, jeśli są tak samo specyficzne. Dodatkowo, korzystanie z <style> jest zgodne z zasadami dobrych praktyk, takich jak unikanie nadmiarowego ładowania zewnętrznych plików CSS w przypadku prostych projekty, co przyspiesza czas ładowania strony.

Pytanie 30

W języku HTML5 do wypełniania podpowiedzią kontrolki pola edycyjnego stosuje się atrybut

A. pattern
B. required
C. autofocus
D. placeholder
Poprawny atrybut to "placeholder". W HTML5 ten atrybut służy do wyświetlania tymczasowej podpowiedzi wewnątrz pola tekstowego, zanim użytkownik cokolwiek wpisze. Przeglądarka pokazuje ten tekst jaśniejszym kolorem i znika on automatycznie w momencie rozpoczęcia edycji. Z mojego doświadczenia to jest podstawowe narzędzie do delikatnego sugerowania użytkownikowi, czego dokładnie oczekujemy w danym polu. Przykład praktyczny: <input type="text" name="email" placeholder="np. [email protected]"> Tutaj placeholder pokazuje przykładowy format adresu e-mail, ale nie jest to domyślna wartość formularza – ten tekst nie zostanie wysłany na serwer, jeśli użytkownik nic nie wpisze. To ważne: placeholder to tylko wskazówka wizualna, nie zastępuje etykiety <label> ani walidacji. Dobre praktyki mówią, żeby używać placeholdera do krótkich, konkretnych podpowiedzi: format danych, przykład wpisu, skrócona instrukcja. Nie powinno się tam wrzucać długich opisów, bo użytkownik i tak ich nie zapamięta. W standardach dostępności (WCAG) podkreśla się też, że placeholder nie może zastępować labelki, bo osoby z niektórymi niepełnosprawnościami mogą mieć problem z jego odczytaniem. W realnych projektach stosuje się więc układ: opis pola w <label>, a w placeholderze tylko przykład, np. "123-456-789" dla telefonu albo "2024-12-31" dla daty. Taki sposób użycia jest uznawany za poprawny i profesjonalny.

Pytanie 31

Właściwość CSS animation-duration określa

A. opóźnienie startu animacji.
B. czas trwania jednego cyklu animacji.
C. kierunek rozpoczęcia animacji.
D. liczba powtórzeń animacji.
W CSS animacje składają się z kilku powiązanych ze sobą właściwości i dość łatwo jest je pomylić, zwłaszcza na początku. Kluczowe jest zrozumienie, że `animation-duration` nie odpowiada ani za opóźnienie startu, ani za liczbę powtórzeń, ani za kierunek animacji, tylko za czas trwania pojedynczego cyklu. To jest fundament, na którym buduje się całą resztę. Często myli się `animation-duration` z `animation-delay`. To drugie faktycznie określa, po jakim czasie od wyrenderowania elementu i zastosowania stylu animacja ma w ogóle wystartować. Czyli `animation-delay: 2s;` oznacza: poczekaj 2 sekundy, a dopiero potem zacznij odtwarzać animację. Natomiast tempo i długość pojedynczego przebiegu animacji nadal definiuje `animation-duration`. Inny typowy błąd to przypisywanie `animation-duration` roli kontrolowania liczby powtórzeń. Od tego jest `animation-iteration-count`, gdzie możesz podać konkretną liczbę (np. `3`) albo słowo kluczowe `infinite`, jeśli animacja ma się zapętlać. Logicznie patrząc: czas trwania cyklu i liczba cykli to dwa zupełnie różne parametry, więc mają osobne właściwości. Kolejna rzecz to kierunek animacji. Tym zarządza `animation-direction`, które przyjmuje wartości takie jak `normal`, `reverse`, `alternate`, `alternate-reverse`. Dzięki temu możesz np. sprawić, że animacja będzie raz odtwarzana w przód, a potem w tył. Sam `animation-duration` w ogóle nie ingeruje w kierunek, jedynie w to, jak długo trwa przejście od klatki początkowej do końcowej w danym kierunku. Z mojego doświadczenia wynika, że błędne kojarzenie tych właściwości wynika z chęci „upchania” zbyt wielu funkcji w jednym parametrze, zamiast traktować animację jak zestaw niezależnych gałek do kręcenia: czas trwania (`animation-duration`), opóźnienie (`animation-delay`), liczba powtórzeń (`animation-iteration-count`), kierunek (`animation-direction`), funkcja timingowa (`animation-timing-function`) itd. Dopiero poprawne zrozumienie ich podziału pozwala projektować płynne, przewidywalne animacje zgodne z dobrymi praktykami UX.

Pytanie 32

Na tabeli muzyka, przedstawionej na schemacie, wykonano następującą kwerendę SQL. Co zostanie zwrócone przez tę zapytanie? SELECT wykonawca FROM `muzyka` WHERE wykonawca LIKE 'C%w';

Ilustracja do pytania
A. Czesław, Czechowski
B. pusty wynik
C. Czesław, Niemen
D. Czesław
Analiza błędnych odpowiedzi prowadzi do zrozumienia, dlaczego nie można ich uznać za poprawne w kontekście przedstawionego zapytania SQL. Odpowiedź 'Czesław' sugeruje, że zapytanie zwróci wykonawcę o takim imieniu. W rzeczywistości zapytanie SQL używa wzorca 'C%w', co oznacza, że szuka wykonawców, których imię i nazwisko zaczynają się na 'C' i kończą na 'w'. W tabeli nie ma wykonawcy spełniającego ten warunek. 'Czesław Niemen' mimo poprawnego początku nazwy, nie kończy się na 'w', co wyklucza tę odpowiedź. Podobnie, odpowiedzi sugerujące parę wykonawców, takie jak 'Czesław, Niemen' czy 'Czesław, Czechowski', również nie spełniają kryteriów wzorca, ponieważ żadne z nazwisk nie kończy się na 'w'. Typowym błędem myślowym przy takich zadaniach jest nieuwzględnienie pełnego warunku wzorca i skupienie się tylko na jego części początkowej. Użycie operatora LIKE z symbolem '%' wymaga zrozumienia, że jest to znak wieloznaczny, który pozwala na dowolną liczbę znaków między określonymi literami. Zlekceważenie tego aspektu prowadzi do błędnych wniosków. W praktyce, umiejętność poprawnego formułowania zapytań SQL i zrozumienie działania operatorów takich jak LIKE ma zasadnicze znaczenie dla pracy z bazami danych, szczególnie w kontekście wyszukiwania i filtrowania danych według określonych kryteriów. Prawidłowe wykorzystanie tych umiejętności pozwala na efektywną obsługę dużych zbiorów danych i jest kluczowym elementem skutecznego zarządzania informacją w przedsiębiorstwach i organizacjach.

Pytanie 33

Wskaż fragment kodu CSS, który odpowiada układowi bloków 2 - 5, zakładając, że są one oparte na poniższym kodzie HTML.

Ilustracja do pytania
A. D
B. C
C. A
D. B
Niepoprawne odpowiedzi często wynikają z błędnego zrozumienia działania właściwości float oraz szerokości elementów w układzie blokowym. Float jest potężnym narzędziem które pozwala na pływające rozmieszczenie elementów ale wymaga precyzyjnego planowania aby uniknąć niepożądanych efektów takich jak elementy wychodzące poza przewidywane miejsca. Przy wyborze błędnych odpowiedzi można zauważyć że nieodpowiednie użycie float może prowadzić do nieprawidłowego wyświetlania bloków. Na przykład brak odpowiedniego ustawienia float left lub right dla niektórych bloków może skutkować ich przesunięciem poza zamierzony układ. Dodatkowo nieprawidłowe zarządzanie szerokością bloków może spowodować że układ przekroczy dostępny obszar wyświetlania co szczególnie jest problematyczne w responsywnym projektowaniu stron. Typowym błędem jest również brak uwzględnienia clearfix co może prowadzić do nieprawidłowego przepływu kolejnych elementów w układzie. Zrozumienie jak float wpływa na otaczające elementy oraz jak kontrolować szerokość i przepływ elementów jest kluczowe w tworzeniu stabilnych i przewidywalnych układów stron internetowych. Poprawne zastosowanie tych zasad jest kluczowe dla zgodnego z dobrymi praktykami projektowania stron które są nie tylko estetyczne ale i funkcjonalne w różnych kontekstach urządzeń i środowisk użytkownika.

Pytanie 34

Aby w JavaScript wykonać wymienione kroki, należy w znaczniku <script> umieścić kod

1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikację: ",
    następnie po zatwierdzeniu

2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się
    wartość pobrana z okna "Kwalifikacja: ..."
A. A = alert("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
B. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
C. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: ".A);
D. A << prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
Wybrana odpowiedź nie jest prawidłowa. W JavaScript, funkcja 'alert()' jest używana do wyświetlania okienka z komunikatem, ale nie pozwala na wprowadzenie przez użytkownika żadnej wartości, w przeciwieństwie do funkcji 'prompt()'. Operator '<<' nie jest odpowiedni w tym kontekście, ponieważ jest to operator przesunięcia bitowego, a nie służy do przypisywania wartości do zmiennej. W niektórych niepoprawnych odpowiedziach, próbowano połączyć łańcuchy znaków (stringi) za pomocą kropki ('.'), co jest niepoprawne w JavaScript. Operator do łączenia łańcuchów znaków w tym języku to '+'. Kropka jest używana do dostępu do właściwości obiektów. Pamiętaj, że zrozumienie różnicy między różnymi funkcjami interaktywnymi, takimi jak 'alert()', 'prompt()' i 'confirm()', oraz kiedy ich używać, jest kluczowe do efektywnego tworzenia interaktywnych stron internetowych.

Pytanie 35

W języku PHP przypisano zmiennej $a wartość 1. Porównanie $a === $b zwraca true, gdy zmienna $b ma przypisaną wartość

A. '1' lub "1"
B. *1
C. 1 lub '1'
D. '1'
Zmienna $a, zainicjowana wartością 1, jest typu integer i porównując ją z inną zmienną $b za pomocą operatora identyczności (===), należy zwrócić szczególną uwagę na typ i wartość obu zmiennych. Wiele osób myli operator porównania identyczności z operatorem równości (==), który nie wymaga, aby typy były zgodne. Z tego powodu odpowiedzi takie jak 1 lub '1' mogą wydawać się poprawne, jednak w przypadku porównania identyczności, istotne jest, aby zmienne były tego samego typu. Odpowiedź, która sugeruje wartość 1, jest błędna, ponieważ porównuje wartość integer z potencjalnie innym typem bez uwzględnienia konwersji typów, co prowadzi do niejednoznaczności. Z kolei odpowiedź sugerująca wartość '1' nie do końca zdaje sobie sprawę, że chociaż string '1' jest zgodny w kontekście równości, nie spełnia warunków identyczności w dosłownym sensie, gdyż typy są różne. Typowe błędy myślowe prowadzące do takich nieprawidłowych wniosków często wynikają z założenia, że PHP automatycznie wykonuje konwersje typów, co nie zawsze jest pożądane. Dla programistów istotne jest zrozumienie różnic między typami oraz kiedy stosować odpowiednie operatory, aby zapewnić poprawność logiki aplikacji i uniknąć potencjalnych błędów, które mogą prowadzić do trudnych do zdiagnozowania problemów w przyszłości.

Pytanie 36

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

A. aside {float: left; }
B. nav { float: right; }
C. nav { float: right; } section { float: right; }
D. nav { float: left; } aside { float: left; }
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie. W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie. Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 37

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; font-size: 16pt; font-variant: normal;}
B. p {font-style: Arial; size: 16px; font-weight: normal;}
C. p {font-family: Arial; font-size: 16px; font-variant: normal;}
D. p {font-family: Arial; font-size: 16pt; font-style: italic;}
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 38

Po wydaniu polecenia użytkownik Jacek będzie mógł

GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost';
A. usuwać dane z tabeli i przeglądać dane.
B. przeglądać dane w tabeli i wstawiać nowe dane.
C. zmieniać strukturę tabeli i wstawiać nowe dane.
D. usuwać tabelę i tworzyć nową.
Twoja odpowiedź jest nieprawidłowa. Po wydaniu polecenia SQL 'GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost';', użytkownik Jacek zyskuje jedynie uprawnienia do przeglądania (SELECT) i wstawiania (INSERT) danych w tabeli 'mojaTabela' w bazie danych 'baza1'. Nie ma jednak możliwości usuwania danych (co wymagałoby uprawnienia DELETE), zmieniania struktury tabeli (co wymagałoby uprawnienia ALTER) czy usuwania i tworzenia nowej tabeli (co wymagałoby uprawnienia DROP). Misinterpretacja rodzaju nadanych uprawnień może prowadzić do błędów, niewłaściwego zarządzania bazą danych i potencjalnych problemów z bezpieczeństwem. Ważne jest, aby zrozumieć i prawidłowo interpretować polecenia SQL dotyczące nadawania uprawnień, aby zapewnić prawidłowe i bezpieczne zarządzanie danymi.

Pytanie 39

W bazie danych znajduje się tabela uczniowie, która ma kolumny: imie, nazwisko i klasa. Jakie polecenie SQL należy użyć, aby uzyskać imiona oraz nazwiska uczniów, których nazwiska zaczynają się na literę M?

A. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN 'M%';
B. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN 'M%';
C. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko='M%';
D. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE 'M%';
W analizie błędnych odpowiedzi kluczowe jest zrozumienie, że każda z nich nie spełnia wymagań dotyczących składni i logiki SQL. Pierwsza odpowiedź sugeruje użycie operatora IN, który jest przeznaczony do sprawdzania, czy wartość znajduje się w zbiorze danych, a nie do porównywania wzorów tekstowych. Wartości tekstowe powinny być używane z operatorem LIKE, aby umożliwić wyszukiwanie według wzorców. Z kolei trzecia odpowiedź zawiera błąd w postaci użycia klauzuli ORDER BY w nieodpowiednim kontekście, ponieważ ta klauzula służy do sortowania wyników, a nie do ich filtrowania. Ostatnia propozycja również mylnie łączy operator IN z klauzulą ORDER BY, co jest syntaktycznie niepoprawne i prowadzi do nieczytelnych i nieefektywnych zapytań. Typowe błędy myślowe prowadzące do takich pomyłek często obejmują mylenie funkcji operatorów oraz błędne zrozumienie, kiedy i jak używać określonych klauzul w SQL. Aby skutecznie korzystać z SQL, należy dobrze poznać funkcje każdego z operatorów oraz ich zastosowanie w kontekście zapytań, co pozwoli na tworzenie bardziej efektywnych i zrozumiałych zapytań do baz danych.

Pytanie 40

W SQL polecenie INSERT INTO służy do

A. dodawania danych do tabeli
B. wprowadzania nowych pól do tabeli
C. zmiany rekordów na wskazaną wartość
D. tworzenia nowej tabeli
Polecenie INSERT INTO w języku SQL jest kluczowym narzędziem do wprowadzania danych do tabeli w bazie danych. Umożliwia dodawanie nowych rekordów, co jest niezwykle istotne w kontekście zarządzania danymi. Przykładowo, jeśli mamy tabelę 'Klienci' z kolumnami 'ID', 'Imię', 'Nazwisko', można użyć polecenia INSERT INTO, aby dodać nowego klienta: 'INSERT INTO Klienci (ID, Imię, Nazwisko) VALUES (1, 'Jan', 'Kowalski');'. Poprawne użycie tego polecenia zgodnie z najlepszymi praktykami SQL wymaga również przestrzegania reguł dotyczących typów danych oraz unikalności kluczy głównych, co pozwala na zachowanie integralności danych. Dzięki INSERT INTO można efektywnie zarządzać danymi w aplikacjach biznesowych, takich jak systemy CRM czy ERP, gdzie regularne dodawanie nowych informacji jest niezbędne do bieżącego funkcjonowania organizacji. Dodatkowo, polecenie to może być używane w połączeniu z innymi instrukcjami SQL, takimi jak SELECT, co pozwala na bardziej złożone operacje na danych.