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: 14 kwietnia 2026 00:10
  • Data zakończenia: 14 kwietnia 2026 00:36

Egzamin zdany!

Wynik: 29/40 punktów (72,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 tabeli zwierzeta znajdują się kolumny nazwa, gatunek, gromada, cechy, dlugosc_zycia. Aby uzyskać listę nazw zwierząt, które dożywają przynajmniej 20 lat oraz są ssakami, jakie zapytanie należy wykonać?

A. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20;
B. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';
C. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 OR gromada = 'ssak';
D. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
Wybrana odpowiedź jest prawidłowa, ponieważ spełnia wymagania określone w pytaniu, które dotyczą zarówno długości życia zwierząt, jak i ich przynależności do grupy ssaków. Zapytanie SQL 'SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 AND gromada = ‘ssak‘;' precyzyjnie definiuje warunki, które muszą być spełnione, aby uzyskać oczekiwane wyniki. Warunek 'dlugosc_zycia >=20' zapewnia, że tylko zwierzęta o długości życia wynoszącej co najmniej 20 lat będą uwzględnione w rezultatach, co jest kluczowe dla osiągnięcia zamierzonego celu. Dodatkowo, użycie operatora 'AND' łączy oba kryteria, co oznacza, że obie zasady muszą być spełnione jednocześnie. Dzięki temu zapytanie jest zwięzłe i efektywne, co jest zgodne z najlepszymi praktykami w dziedzinie baz danych, gdzie ważne jest, aby unikać zbędnych danych w wynikach, co usprawnia proces przetwarzania informacji. Ta metoda jest szczególnie przydatna w kontekście analizy danych i raportowania, gdzie precyzyjne filtry pomagają w uzyskaniu istotnych informacji.

Pytanie 2

Plik konfiguracyjny, który umożliwia ustalenie parametrów PHP dla całego serwera, to

A. php.ini
B. config.inc.php
C. httpd.conf
D. my.ini
Plik konfiguracyjny php.ini jest kluczowym elementem w konfiguracji środowiska PHP na serwerze. Umożliwia on zdefiniowanie różnorodnych ustawień, które mają wpływ na działanie aplikacji PHP. W pliku tym można ustawić m.in. poziom raportowania błędów, limit czasu wykonywania skryptów, wielkość pamięci, dostępne rozszerzenia oraz wiele innych parametrów. Dla przykładu, można zdefiniować dyrektywę 'memory_limit', która określa maksymalną ilość pamięci, jaką może używać jeden skrypt PHP. Dzięki temu administratorzy serwera mają pełną kontrolę nad środowiskiem uruchomieniowym, co jest niezwykle istotne w kontekście bezpieczeństwa i wydajności aplikacji. Plik php.ini jest zgodny ze standardami PHP i jest dokumentowany w oficjalnej dokumentacji, co ułatwia jego poprawne skonfigurowanie. Bez odpowiedniego dostosowania ustawień w php.ini, aplikacje mogą napotykać na problemy, takie jak przekroczenie limitu pamięci czy niewłaściwe raportowanie błędów, co może prowadzić do trudności w diagnozowaniu problemów.

Pytanie 3

Jakie słowo kluczowe w językach z grupy C powinno być wykorzystane do nadania alternatywnej nazwy już istniejącemu typowi danych?

A. enum
B. typedef
C. switch
D. union
Słowo kluczowe 'typedef' w języku C służy do tworzenia aliasów dla istniejących typów danych, co znacząco zwiększa czytelność kodu. Daje możliwość nadania bardziej znaczącej i zrozumiałej nazwy dla złożonych typów, takich jak struktury czy wskaźniki. Przykładowo, zamiast używać trudnych do zrozumienia definicji, możemy zdefiniować typ 'typedef struct { int x; int y; } Point;' i używać 'Point' w kodzie, co zwiększa jego przejrzystość. Dobre praktyki w programowaniu C zalecają stosowanie typedef w celu uproszczenia kodu oraz ułatwienia jego konserwacji. Dodatkowo, typedef wspomaga przenośność kodu, ponieważ zmiana definicji typu w jednym miejscu nie ma wpływu na cały projekt, jeśli używamy aliasów. W kontekście programowania systemowego oraz aplikacji wymagających wysokiej wydajności, umiejętność efektywnego użycia typedef jest kluczowa dla tworzenia zrozumiałych i wydajnych programów.

Pytanie 4

W celu wykonania kopii bazy danych biblioteka w systemie MySQL należy w konsoli użyć polecenia

A. copymysql –u root biblioteka kopia.sql
B. mysqlduplicate –u root biblioteka > kopia.sql
C. backupmysql -u root biblioteka kopia.sql
D. mysqldump -u root biblioteka > kopia.sql
W poleceniu do wykonywania kopii bazy danych MySQL kluczowe jest użycie właściwego narzędzia oraz poprawnej składni. W systemach z MySQL standardowym, oficjalnym narzędziem do tworzenia logicznych kopii zapasowych jest program mysqldump. Nazwy takie jak „copymysql”, „backupmysql” czy „mysqlduplicate” po prostu nie istnieją w standardowej dystrybucji MySQL i wynikają raczej z intuicyjnego myślenia typu: skoro chcę skopiować bazę, to pewnie będzie jakaś komenda „copy” albo „backup”. To naturalne skojarzenie, ale niestety oderwane od rzeczywistych narzędzi dostępnych w praktyce administracji bazami danych. MySQL dostarcza konkretny zestaw binariów: mysql (klient), mysqld (serwer), mysqldump (backup), mysqladmin, mysqlimport itd. Nazwa mysqldump jest trochę mało oczywista, ale to właśnie ona jest właściwa do wykonywania zrzutów baz danych. Błędne odpowiedzi sugerują istnienie narzędzi, które brzmieniem przypominają operacje typu „backup” czy „duplicate”, jednak w profesjonalnym środowisku trzymamy się dokładnych nazw binariów i składni opisanej w dokumentacji. W praktyce administracyjnej takie pomyłki kończą się po prostu komunikatem „command not found” w konsoli. Drugi aspekt to samo przekierowanie do pliku. W poprawnym poleceniu używa się znaku „>”, który jest elementem powłoki systemowej, a nie MySQL. To przekierowanie bierze standardowe wyjście programu mysqldump i zapisuje je do wskazanego pliku tekstowego, np. kopia.sql. Jeżeli ktoś pominie to przekierowanie, zobaczy cały zrzut bazy na ekranie, co jest kompletnie niepraktyczne. Jeżeli natomiast spróbuje używać nieistniejących poleceń typu „copymysql … kopia.sql” bez znaku „>”, to ani nie wywoła prawidłowego narzędzia, ani nie zapisze danych we właściwy sposób. Z mojego doświadczenia typowy błąd myślowy polega na traktowaniu MySQL jakby miał wbudowane jakieś „magiczne” polecenie backupu, na wzór prostych programów typu „kopiuj plik”. Baza danych to jednak usługa sieciowa działająca w tle, a kopie wykonuje się przez specjalistyczne narzędzia, które rozumieją jej strukturę, zależności, typy danych i potrafią wygenerować poprawne instrukcje SQL do późniejszego odtworzenia. Dlatego tak ważne jest, żeby zapamiętać nie tylko poprawną odpowiedź, ale i samą ideę: do backupu MySQL używamy mysqldump, z odpowiednimi opcjami, a wynik zapisujemy do pliku przez przekierowanie. To jest zgodne z dokumentacją MySQL i ogólnie przyjętymi dobrymi praktykami w administracji serwerami i bezpieczeństwie danych.

Pytanie 5

W języku CSS określono formatowanie znacznika h1 według wzoru. Zakładając, że żadne inne formatowanie nie jest dodane do znacznika h1, wskaż sposób formatowania tego znacznika

Ilustracja do pytania
A. A
B. C
C. B
D. D
Wszystkie podane odpowiedzi są błędne, ponieważ nie odzwierciedlają one właściwego wykorzystania stylizacji dla znacznika h1 zgodnie z przedstawionym kodem CSS. Po pierwsze, ważne jest zrozumienie, że każda z tych odpowiedzi powinna być zgodna z określonymi właściwościami CSS. W przypadku zastosowania 'font-style: oblique;', nie można oczekiwać, że tekst pozostanie w standardowym, prostym stylu. Odpowiedzi podają powtarzający się tekst, który nie jest związany z obliczonym formatowaniem. Po drugie, 'font-variant: small-caps;' nadaje tekstowi unikalny charakter, co znacznie różni się od normalnego zapisu. Odpowiedzi, które jedynie powtarzają fragmenty tekstu, nie odzwierciedlają użycia małych kapitałków, co czyni je niepoprawnymi. Po trzecie, 'text-align: right;' wyraźnie definiuje położenie tekstu w kontekście całej strony. W przypadku tych odpowiedzi brak jest zrozumienia, że wyrównanie tekstu do prawej krawędzi wprowadza dodatkowe zmiany w układzie, co powinno być uwzględnione w odpowiedziach. W efekcie, każda z tych odpowiedzi nie odnosi się do rzeczywistych efektów stylizacji zastosowanych w kodzie CSS, co czyni je nieadekwatnymi.

Pytanie 6

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 ORDER BY nazwisko='M%';
B. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE 'M%';
C. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN 'M%';
D. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN '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 7

Atrybut colspan służy do poziomego łączenia komórek tabeli, natomiast rowspan pozwala na łączenie ich w pionie. Którą z poniższych tabel ukazuje fragment kodu napisany w języku HTML?
<table border="1" cellspaing="0" cellpadding="10" >
<tr> <td rowspan="2"> </td> <td> </td> </tr>
<tr> <td> </td> </tr>
</table>

Ilustracja do pytania
A. rys. D
B. rys. C
C. rys. A
D. rys. B
W języku HTML atrybut rowspan w znaczniku <td> pozwala na scalanie komórek w pionie co oznacza że dana komórka zajmuje miejsce w kilku wierszach tabeli W podanym kodzie pierwsza komórka w pierwszym wierszu posiada atrybut rowspan z wartością 2 co sprawia że zajmuje ona miejsce w dwóch wierszach Pierwszy wiersz zawiera dwie komórki z czego pierwsza jest połączona pionowo z komórką w drugim wierszu Druga komórka w pierwszym wierszu oraz jedyna komórka w drugim wierszu nie posiadają atrybutu rowspan ani colspan dlatego nie są połączone z innymi komórkami Takie użycie rowspan jest zgodne z praktykami HTML które umożliwiają tworzenie bardziej złożonych układów tabeli dzięki czemu można lepiej zarządzać przestrzenią w interfejsie użytkownika Jako że kod tworzy tabelę z dwiema kolumnami i dwoma wierszami gdzie pierwsza komórka po lewej stronie zajmuje dwa wiersze przedstawia to układ jak na rysunku B Możliwości jakie daje rowspan są niezwykle przydatne w sytuacjach gdy chcemy aby dane w tabeli były czytelniejsze i bardziej zorganizowane szczególnie w raportach czy formularzach gdzie różne kategorie danych muszą być jasno oddzielone

Pytanie 8

Jaki wynik daje poniższy kod PHP?

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. definiuje tablicę z trzema wartościami
B. określa tablicę zawierającą sześć wartości
C. jest błędny, ponieważ indeksami tablicy mogą być wyłącznie liczby całkowite
D. jest niepoprawny, nieznany operator =>
Ten kod w PHP pokazuje, jak zdefiniować tablicę asocjacyjną z trzema elementami. To fajna sprawa, bo tablice asocjacyjne pozwalają na użycie kluczy, które nie muszą być tylko liczbami, a mogą być także opisowe, jak w tym przypadku. Klucze to 'imie', 'nazwisko' oraz 'wiek', a ich wartości to odpowiednio 'Anna', 'Nowak' i 21. Operator '=>' służy do przypisywania wartości do klucza - to dość typowa konstrukcja, bo ułatwia organizację danych. Podoba mi się, że tablice asocjacyjne w PHP są przydatne w różnych sytuacjach, na przykład do przechowywania danych użytkowników czy różnych ustawień. W sumie, ważne, żeby dbać o typy danych przypisywanych do kluczy, bo dzięki temu później łatwiej będzie się z nimi pracować. PHP ma dużo funkcji do pracy z tablicami, jak sortowanie czy iteracja, więc na pewno warto to znać.

Pytanie 9

W języku SQL podczas używania polecenia CREATE TABLE atrybut, który wskazuje na to, która kolumna jest kluczem podstawowym, to

A. PRIMARY KEY
B. IDENTITY FIELD
C. GŁÓWNY KLUCZ
D. UNIQUE
Odpowiedź "PRIMARY KEY" jest prawidłowa, ponieważ w języku SQL klucz podstawowy (ang. primary key) to unikalny identyfikator dla każdego rekordu w tabeli. Klucz podstawowy zapewnia, że żadne dwa rekordy nie mają tej samej wartości w kolumnie, co jest kluczowe dla integralności danych. Zwyczajowo klucz podstawowy definiuje się podczas tworzenia tabeli za pomocą polecenia CREATE TABLE, co zwiększa wydajność operacji wyszukiwania oraz modyfikacji danych. Przykład wykorzystania: tworząc tabelę pracowników, można zdefiniować kolumnę "id_pracownika" jako klucz podstawowy, co zapewni, że każdy pracownik będzie miał unikalny identyfikator. W standardach SQL zgodnych z ANSI, klucz podstawowy może składać się z jednej lub więcej kolumn, co pozwala na tworzenie bardziej skomplikowanych struktur danych. Dobrą praktyką jest również oznaczanie klucza podstawowego jako NOT NULL, co uniemożliwia wprowadzenie pustych wartości, co dodatkowo zwiększa integralność bazy danych.

Pytanie 10

Określ słowo kluczowe w języku C++, które umieszcza się przed wbudowanym typem danych, aby ograniczyć zakres do liczb wyłącznie nieujemnych.

A. short
B. long
C. const
D. unsigned
Słowo 'unsigned' w C++ to naprawdę ważna rzecz, bo mówi kompilatorowi, że dany typ może trzymać tylko liczby dodatnie. Kiedy dodasz 'unsigned' przed takim typem jak 'int', 'short' albo 'long', to zakres wartości się zmienia. Na przykład, 'unsigned int' może mieć wartości od 0 do 4 294 967 295, a 'int' to od -2 147 483 648 do 2 147 483 647. Dzięki temu programiści mogą korzystać z większej ilości wartości, co jest super przy takich rzeczach jak liczniki czy indeksy w tablicach. Kiedy używasz 'unsigned', to twój kod jest nie tylko bardziej efektywny, ale też bezpieczniejszy, bo unikasz pomyłek z liczbami, które nie powinny być ujemne. Z mojego doświadczenia, warto czasem sięgnąć po to słowo kluczowe w odpowiednich sytuacjach, bo naprawdę poprawia przejrzystość i jakość kodu.

Pytanie 11

Jakie rozwiązanie należy zastosować w przechowywaniu danych, aby przyspieszyć wykonywanie zapytań w bazie danych?

A. Indeksy.
B. Klucze podstawowe.
C. Zasady.
D. Domyślne wartości.
Indeksy są kluczowym elementem optymalizacji wydajności baz danych. Działają one jak wskaźniki, które pozwalają systemowi zarządzania bazą danych (DBMS) szybko zlokalizować dane bez potrzeby przeszukiwania całej tabeli. Indeksy są szczególnie przydatne przy wykonywaniu zapytań, które filtrują, sortują lub łączą dane z różnych tabel. Na przykład, w przypadku dużych zbiorów danych, dodanie indeksu do kolumny, która jest często używana w klauzulach WHERE, może znacznie skrócić czas odpowiedzi. W standardzie SQL, można tworzyć indeksy za pomocą polecenia CREATE INDEX, co pozwala na zdefiniowanie, które kolumny mają być indeksowane. Warto jednak pamiętać, że nadmiar indeksów może prowadzić do spowolnienia operacji zapisu, dlatego ważne jest, aby dobrze przemyśleć, które kolumny powinny być indeksowane. Użycie indeksów jest szczególnie zalecane w przypadku aplikacji, które często wykonują zapytania na dużych zbiorach danych, takich jak systemy e-commerce czy aplikacje analityczne.

Pytanie 12

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

A. REVOKE ALL ON tabela1 FROM 'anna'@'locaihost'
B. REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'
C. REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'
D. REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'
Polecenie REVOKE w MySQL jest używane do odbierania przydzielonych wcześniej uprawnień użytkownikom. W kontekście pytania, właściwa odpowiedź to 'REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost''. To polecenie wskazuje na odebranie użytkownikowi 'anna' możliwości tworzenia nowych obiektów w bazie danych (CREATE), zmiany struktury istniejących obiektów (ALTER) oraz usuwania obiektów (DROP) w tabeli 'tabela1'. Odbieranie tych praw jest kluczowe w zarządzaniu bezpieczeństwem bazy danych, ponieważ pozwala na precyzyjne kontrolowanie, kto ma dostęp do modyfikacji struktury bazy danych. W praktyce, administratorzy baz danych często muszą ograniczać uprawnienia użytkowników, aby zapobiec nieautoryzowanym zmianom, które mogą wpłynąć na integralność danych. Dobrą praktyką jest regularne przeglądanie i aktualizowanie uprawnień użytkowników, aby dostosować je do zmieniających się potrzeb organizacji oraz zwiększyć poziom bezpieczeństwa systemu.

Pytanie 13

Liczba 0x142, przedstawiona w kodzie JavaScript, przyjmuje formę

A. dwójkową
B. ósemkową
C. szesnastkową
D. dziesiętną
Liczba 0x142 jest zapisana w systemie szesnastkowym, co oznacza, że jest reprezentowana w bazie 16. W systemie szesnastkowym posługujemy się cyframi od 0 do 9 oraz literami od A do F, gdzie A odpowiada 10, B to 11, C to 12, D to 13, E to 14, a F to 15 w systemie dziesiętnym. Przykład zastosowania tego systemu można zauważyć w programowaniu oraz w różnych standardach, takich jak HTML, gdzie kolory są często reprezentowane w formacie szesnastkowym, np. #FFFFFF dla bieli. Można także spotkać się z systemem szesnastkowym w adresacji pamięci oraz w reprezentacji liczb dużych, co jest szczególnie przydatne w kontekście programowania niskopoziomowego i systemów wbudowanych. Zrozumienie różnych systemów liczbowych, w tym szesnastkowego, jest niezbędne dla każdego programisty, szczególnie podczas pracy z danymi binarnymi, hex i podczas obliczeń niskopoziomowych.

Pytanie 14

Aby przyznać użytkownikowi prawa do tabel w bazie danych, powinno się użyć polecenia

A. REVOKE
B. GRANT
C. CREATE
D. SELECT
Polecenie GRANT jest kluczowym elementem zarządzania uprawnieniami w systemach baz danych, takich jak MySQL, PostgreSQL czy Oracle. Umożliwia ono administratorom nadawanie określonych uprawnień użytkownikom lub rolom, co jest niezbędne do zapewnienia bezpieczeństwa danych oraz kontroli dostępu. Przykładowo, aby umożliwić użytkownikowi o nazwie 'Jan' dostęp do tabeli 'Klienci', można użyć polecenia: GRANT SELECT ON Klienci TO Jan; co przyznaje użytkownikowi prawo do odczytu danych z tej tabeli. Z perspektywy dobrych praktyk, zaleca się stosowanie minimalnych uprawnień, co oznacza, że użytkownik powinien mieć przyznane tylko te uprawnienia, które są mu niezbędne do wykonywania swoich zadań. Dzięki temu można zredukować ryzyko nieautoryzowanego dostępu do wrażliwych informacji. Dodatkowo, operacja GRANT może być stosowana w połączeniu z innymi poleceniami, takimi jak REVOKE, które służy do odbierania wcześniej nadanych uprawnień, co stanowi integralną część zarządzania bezpieczeństwem w bazach danych.

Pytanie 15

Funkcja
fun1(a,b) {
  if(a % 2 != 0) a++;
  for(let n = a; n <= b; n+=2) document.write(n);
}
ma na celu

A. sprawdzenie, czy liczba a jest nieparzysta; w przypadku pozytywnej odpowiedzi, jej wypisanie
B. wypisanie wszystkich liczb w przedziale od a do b
C. zwrócenie parzystych wartości liczb od a do b
D. wypisanie liczb parzystych w zakresie od a do b
Funkcja fun1 w JavaScript ma za zadanie wypisać liczby parzyste w przedziale od a do b. Na początku sprawdzamy, czy a jest liczbą nieparzystą, korzystając z operatora modulo. Jeśli a jest nieparzysta, to ją zwiększamy o 1, tym samym przekształcając ją w liczbę parzystą. Potem mamy pętlę for, która zaczyna od a i w każdym kroku zwiększa n o 2, co gwarantuje, że będziemy wypisywać tylko liczby parzyste. Pętla działa dopóki n jest mniejsze lub równe b. Wyniki są pokazywane na stronie dzięki document.write(). To się zgadza z tym, co ma robić ta funkcja, bo faktycznie wypisuje liczby parzyste. Na przykład, kiedy mamy a=3 i b=9, to wypisze 4, 6 i 8.

Pytanie 16

W PHP typ float oznacza

A. całkowity
B. logiczny
C. łańcuchowy
D. zmiennoprzecinkowy
Typ float w PHP to coś, co przydaje się do przechowywania liczb zmiennoprzecinkowych, a więc do liczb, które mają część dziesiętną. To naprawdę ważne, zwłaszcza jak robimy obliczenia związane z finansami czy nauką. Dzięki float możemy dokładnie przedstawić liczby rzeczywiste, co w programowaniu jest kluczowe. Te wartości są zgodne ze standardem IEEE 754, co oznacza, że można je przenosić między różnymi systemami i platformami bez problemów. Jeżeli chcesz np. obliczyć cenę z VAT-em albo policzyć coś w grze, to float jest najlepszym typem, bo pozwala na robienie precyzyjnych obliczeń z ułamkami. W PHP masz też funkcje jak round() czy number_format(), które pomagają w manipulacji tymi liczbami, co jest super przy prezentacji wyników, żeby ładnie wyglądały.

Pytanie 17

Jakie jest zastosowanie programu debugger?

A. tłumaczenia kodu napisanego w języku wyższego poziomu na język maszynowy
B. badania kodu źródłowego w celu znalezienia błędów składniowych
C. interpretacji kodu w wirtualnej maszynie Java
D. analizy wykonywanego programu w celu lokalizacji błędów
Program debugger to narzędzie, które umożliwia programistom analizę wykonywanego programu w celu lokalizacji błędów, co jest kluczowym elementem procesu tworzenia oprogramowania. Debuggery pozwalają na zatrzymywanie wykonania programu w określonych momentach, co pozwala na inspekcję stanu zmiennych oraz wywołań funkcji w danym momencie. Dodatkowo, wiele debuggerów oferuje możliwość krokowego przechodzenia przez kod, co ułatwia zrozumienie logiki programu i identyfikację błędów. Przykładem może być użycie debuggera w IDE, takich jak Visual Studio czy Eclipse, gdzie można ustawić punkty przerwania i obserwować zmiany w czasie rzeczywistym. Zastosowanie debuggera jest zgodne z najlepszymi praktykami branżowymi, które zalecają regularne testowanie i debugowanie kodu w trakcie jego pisania, co znacząco zwiększa jakość oprogramowania oraz przyspiesza proces developmentu. Warto również zaznaczyć, że dobra znajomość narzędzi debugujących jest niezbędna dla każdego programisty, aby efektywnie rozwiązywać problemy i dostarczać stabilne aplikacje.

Pytanie 18

W przypadku zaprezentowanego fragmentu kodu HTML, zdefiniowano zasady CSS dla selektora klasy "menu", aby tło bloku miało kolor zielony. Która z poniższych definicji stylu CSS jest zgodna z tym formatowaniem?

A. div.menu { background-color: green; }
B. div:menu { color: green; }
C. #menu { background-color: rgb(0,255,0); }
D. menu { background-color: rgb(0,255,0); }
Wybrana odpowiedź to poprawna definicja stylu CSS dla klasy "menu". W stylach CSS, selektor klasy definiuje się za pomocą kropki przed nazwą klasy, co w przypadku tego fragmentu oznacza, że styl zostanie zastosowany do każdego elementu HTML z klasą 'menu'. Oznaczenie 'div.menu' wskazuje, że formatowanie dotyczy tylko elementów <div> o klasie 'menu', co jest ważne, aby ograniczyć wpływ stylów tylko do wybranych elementów. Kolor tła jest ustawiony na zielony za pomocą właściwości 'background-color: green;', co jest zgodne z wymogami zadania. Używanie kolorów w formacie nazwanym, takim jak 'green', jest zgodne z powszechnie przyjętymi standardami w CSS, co ułatwia czytelność kodu. Przykładem praktycznym może być zastosowanie tego stylu w serwisie internetowym, gdzie różne sekcje menu są kolorystycznie wydzielone dla lepszej nawigacji. Dobrych praktyk w CSS należy przestrzegać, aby utrzymać spójność i łatwość w utrzymaniu kodu.

Pytanie 19

W języku JavaScript właściwie zdefiniowana zmienna to

A. imię2
B. imie2
C. #imie
D. imię%
W języku JavaScript, poprawne nadawanie zmiennych jest kluczowym elementem programowania, który opiera się na zdefiniowanych zasadach dotyczących identyfikatorów. Zmienna musi zaczynać się od litery, znaku podkreślenia (_) lub znaku dolara ($), a następnie może zawierać litery, cyfry, znaki podkreślenia oraz znaki dolara. W przypadku odpowiedzi 'imie2', zaczyna się ona od litery i zawiera literę oraz cyfrę, co czyni ją poprawnym identyfikatorem. Zgodnie ze standardem ECMAScript, identyfikatory są rozróżniane na wielkie i małe litery, co oznacza, że 'Imie2' i 'imie2' będą traktowane jako różne zmienne. Praktycznym przykładem poprawnego użycia takiej zmiennej może być zapis: let imie2 = 'Jan'; console.log(imie2);. W wyniku tego, konsola wyświetli 'Jan'. Można również zauważyć, że zgodnie z zasadami, zmienne mogą być oznaczone jako let, const lub var, co dodaje elastyczności podczas deklaracji zmiennych w kodzie JavaScript.

Pytanie 20

Jakie będzie wynikowe wyjście po uruchomieniu tego skryptu PHP?

<?php
$kolory = array("czarny", "zielony", "niebieski", "biały");
rsort($kolory);
$ile = count($kolory);
for($x = 0; $x < $ile; $x++)
{
  echo $kolory[$x].", ";
}
?>
A. biały, czarny, niebieski, zielony
B. czarny, zielony, niebieski, biały
C. biały, niebieski, zielony, czarny
D. zielony, niebieski, czarny, biały
W przypadku podanego skryptu PHP błędne odpowiedzi wynikają z niewłaściwej interpretacji działania funkcji rsort(). Zadaniem tej funkcji jest sortowanie elementów tablicy w porządku malejącym na podstawie wartości ASCII pierwszego znaku każdego elementu. Jeśli przyjrzymy się tablicy zawierającej słowa czarny zielony niebieski biały funkcja rsort() ułoży je w odwrotnej kolejności alfabetycznej zaczynając od słów których pierwsze litery mają wyższą wartość ASCII. Typowym błędem może być niezrozumienie że rsort() działa na całych wartościach łańcuchów a nie tylko na pierwszych literach. Należy również pamiętać że funkcje sortujące takie jak rsort() nie zwracają nowej tablicy lecz modyfikują istniejącą co czasem może prowadzić do niepoprawnych założeń dotyczących oryginalnych danych. Innym częstym błędem jest zakładanie że rsort() zachowuje porządek elementów o tej samej wartości początkowej co nie jest prawdą jeśli dwa elementy miałyby tę samą pierwszą literę rsort() może zmienić ich kolejność względem siebie. Właściwe zrozumienie działania funkcji sortujących w PHP jest niezbędne aby uniknąć błędów logicznych i zapewnić że nasze aplikacje działają zgodnie z oczekiwaniami.

Pytanie 21

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

A. Usuwania białych znaków lub innych znaków wymienionych w parametrze z obu końców tekstu
B. Redukowania długości tekstu o określoną w parametrze liczbę znaków
C. Porównywania dwóch tekstów i wyświetlania ich wspólnej części
D. Określania długości tekstu
Funkcja trim w języku PHP jest niezwykle użyteczna, ponieważ jej głównym zadaniem jest usuwanie białych znaków oraz innych znaków, które zostaną określone w parametrze, z obu końców łańcucha tekstowego. Oznacza to, że gdy mamy do czynienia z danymi wejściowymi, które mogą zawierać niepotrzebne spacje lub znaki specjalne na początku i końcu, funkcja trim pozwala na ich łatwe oczyszczenie. Przykładowo, jeśli mamy zmienną $text = ' Hello World! ', to wywołanie trim($text) zwróci 'Hello World!'. To podejście jest zgodne z dobrymi praktykami w programowaniu, gdzie ważne jest, aby dane były poprawnie sformatowane przed dalszym przetwarzaniem. Użycie funkcji trim może być szczególnie istotne w kontekście walidacji danych użytkownika, a także przy przetwarzaniu danych z formularzy HTML, gdzie niewłaściwe spacjowanie może prowadzić do błędów w logice aplikacji. Dodatkowo, trim może przyjmować drugi parametr, który pozwala na usunięcie konkretnych znaków, co daje programiście jeszcze większą elastyczność w manipulacji łańcuchami tekstowymi.

Pytanie 22

SELECT ocena FROM oceny WHERE ocena > 2 ORDER BY ocena;
Załóżmy, że istnieje tabela oceny zawierająca kolumny id, nazwisko, imię oraz ocena. Przykładowe zapytanie ilustruje:
A. łączenie.
B. rekurencję.
C. selekcję.
D. sumę.
Zapytanie SQL przedstawione w pytaniu jest przykładem selekcji ponieważ wykorzystuje klauzulę WHERE do filtrowania danych. Selekcja w kontekście baz danych oznacza wybieranie konkretnych wierszy z tabeli które spełniają określone kryteria. W tym przypadku kryterium to ocena większa niż 2. Takie podejście jest bardzo powszechne i użyteczne w analizie danych pozwalając na uzyskanie tylko istotnych informacji spośród dużych zbiorów danych. Klauzula WHERE jest jednym z podstawowych narzędzi SQL wykorzystywanym w praktycznie każdym systemie zarządzania bazami danych jak MySQL PostgreSQL czy Oracle. Umożliwia ona tworzenie elastycznych i złożonych zapytań które mogą zawierać różnorodne warunki logiczne takie jak porównania czy wyrażenia regularne. Dobre praktyki w zakresie projektowania baz danych zalecają używanie selekcji do ograniczania ilości przetwarzanych danych co zwiększa wydajność systemów. Zrozumienie mechanizmu selekcji jest kluczowe dla skutecznego zarządzania i optymalizacji baz danych szczególnie w projektach o dużej skali.

Pytanie 23

Jaki program jest wykorzystywany do edycji dźwięku?

A. CorelDRAW
B. GIMP
C. Inkscape
D. Audacity
GIMP, Inkscape i CorelDRAW to programy, które używamy do grafiki, więc niewłaściwie przypisałeś je do obróbki dźwięku. GIMP jest szczególnie znany jako edytor grafiki rastrowej, co oznacza, że pracujesz tam z obrazami i pikselami, więc nie nadaje się do dźwięku. Inkscape i CorelDRAW to z kolei programy do grafiki wektorowej, idealne do tworzenia ilustracji, logotypów i takich rzeczy. Można w nich robić fajne rzeczy, ale do dźwięku się nie nadają. Często ludzie mylą te programy, myśląc, że wszystkie graficzne mają opcje do obróbki dźwięku. Dlatego ważne jest, żeby wiedzieć, jakie są różnice między nimi, co pomoże Ci lepiej dopasować narzędzia do zadań, które chcesz wykonać. Lepiej wybierać programy, które naprawdę odpowiadają Twoim potrzebom, żeby uniknąć takich zamieszania.

Pytanie 24

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

Ilustracja do pytania
A. /* 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. */
B. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i duż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 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. */
Niepoprawne odpowiedzi zakładają niewłaściwą interpretację wymagań dotyczących wzorca walidacji. Pierwsza opcja sugeruje że pole 'nazwa' może składać się z dowolnych cyfr i liter co nie uwzględnia wymogu specyficznej kolejności i liczby znaków co może prowadzić do wprowadzenia nieprawidłowych danych. Taki brak restrykcji mógłby skutkować potencjalnymi lukami w zabezpieczeniach aplikacji. Inna odpowiedź zakłada że po cyfrze musi wystąpić duża litera a następnie ciąg małych liter co nie spełnia wymogu co najmniej dwóch małych liter. Podejście to ignoruje szczegółowe wymagania dotyczące liczby małych liter w końcowej części ciągu. Kolejne błędne założenie mówi o konieczności posiadania dwóch małych liter ale nie wymaga dużej litery co również jest sprzeczne ze wzorcem przedstawionym w zadaniu. Częstym błędem jest nieuwzględnianie pełnej struktury wzorca co powoduje że walidacja jest niekompletna i potencjalnie niewystarczająca do zapewnienia integralności danych. Prawidłowe użycie wyrażeń regularnych wymaga szczegółowego zrozumienia zarówno składni jak i logiki stojącej za walidacją danych aby skutecznie zabezpieczyć aplikację przed nieprawidłowymi wpisami które mogą wpłynąć na jej funkcjonalność i bezpieczeństwo. Zrozumienie zasad poprawnej walidacji jest kluczowym elementem w procesie tworzenia bezpiecznych i niezawodnych aplikacji webowych.

Pytanie 25

Jakie uprawnienia posiada 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 miał możliwość zmiany struktury tabeli klienci
B. Będzie miał możliwość usuwania rekordów z tabeli klienci
C. Będzie miał możliwość wstawiania rekordów do tabeli klienci
D. Będzie miał możliwość wyszukiwania danych w tabeli klienci
Odpowiedź jest poprawna, ponieważ po wykonaniu poleceń SQL użytkownik jan ma przyznane wszystkie uprawnienia do tabeli klienci, a następnie odebrano mu konkretne uprawnienia do wykonywania operacji SELECT, INSERT, UPDATE oraz DELETE. Oznacza to, że jedynym uprawnieniem, które pozostaje jemu po tych operacjach, jest możliwość zmiany struktury tabeli, co oznacza operacje takie jak ADD COLUMN czy DROP COLUMN. W praktyce, gdy przyznajemy użytkownikowi rolę, często stosujemy uprawnienia do wykonywania operacji DDL (Data Definition Language), które są niezbędne do modyfikacji schematu bazy danych. Odpowiedzi na pytania dotyczące uprawnień powinny uwzględniać kontekst celów administracyjnych, ponieważ różne role użytkowników mogą mieć różne poziomy dostępu. W związku z tym, zrozumienie systemu uprawnień w kontekście zarządzania bazą danych jest kluczowe, a dobrym standardem jest nadawanie użytkownikom tylko tych uprawnień, które są niezbędne do wykonywania ich zadań.

Pytanie 26

W języku CSS zdefiniowano styl. Sformatowana tym stylem sekcja będzie zawierała obramowanie o szerokości:

div { border: solid 2px blue;
       margin: 20px;}
A. 2 px oraz marginesy wewnętrzne tego obramowania
B. 2 px oraz marginesy zewnętrzne tego obramowania
C. 20 px oraz marginesy wewnętrzne tego obramowania
D. 20 px oraz marginesy zewnętrzne tego obramowania
W definicji stylu CSS podano, że sekcja div będzie miała obramowanie o szerokości 2 pikseli oraz marginesy zewnętrzne o wartości 20 pikseli. Obramowanie jest definiowane przez właściwość 'border', gdzie 'solid' oznacza typ obramowania i '2px' to jego szerokość, a 'blue' to kolor. Marginesy zewnętrzne są definiowane za pomocą właściwości 'margin', która w tym przypadku ma wartość 20 pikseli. Jest to odległość między brzegiem obiektu a innymi elementami na stronie. Zrozumienie tych właściwości jest kluczowe w projektowaniu responsywnych i dobrze zorganizowanych układów stron internetowych. Stosując te właściwości, twórcy stron mogą łatwo kontrolować wygląd i odległości między elementami, co jest szczególnie ważne w kontekście użyteczności i estetyki witryny. Przykładowo, jeśli chciałbyś dodać więcej przestrzeni pomiędzy sekcjami, wystarczy zwiększyć wartość 'margin'. Warto również zaznaczyć, że te właściwości są zgodne z aktualnymi standardami CSS, co pozwala na ich wszechstronne wykorzystanie w praktyce.

Pytanie 27

Który z poniższych znaczników HTML nie służy do formatowania tekstu?

A. <sub>
B. <strong>
C. <div>
D. <em>
Znacznik <div> jest używany w HTML do dzielenia dokumentu na sekcje, co czyni go elementem blokowym, który nie formatuje tekstu w sensie stylizacji, ale organizuje strukturę dokumentu. Użycie <div> jest zgodne z dobrymi praktykami tworzenia przejrzystych i semantycznych kodów HTML, co jest fundamentem w budowie responsywnych oraz dostępnych stron internetowych. Na przykład, <div> może być użyty do grupowania elementów w sekcję strony, co ułatwia ich stylizację za pomocą CSS. Można tworzyć klasy lub identyfikatory dla <div>, co pozwala na dalsze formatowanie i manipulację jego zawartością. Warto pamiętać, że stosowanie <div> jest kluczowe w kontekście nowoczesnych ram CSS, takich jak Flexbox czy Grid, które umożliwiają bardziej zaawansowane układanie elementów na stronie.

Pytanie 28

Wykorzystanie definicji stylu CSS spowoduje, że nagłówki drugiego poziomu będą się wyświetlać

h2 {
    text-decoration: overline;
    font-style: italic;
    line-height: 60px;
}
A. czcionką kursywną, z linią nad tekstem, wysokość wiersza wynosi 60 px
B. czcionką standardową, z linią pod tekstem, odległość między znakami wynosi 60 px
C. czcionką kursywną, z linią pod tekstem, wysokość wiersza wynosi 60 px
D. czcionką standardową, z linią nad tekstem, wysokość wiersza wynosi 60 px
Odpowiedź numer 2 jest poprawna, ponieważ definicja stylu CSS zawiera właściwości, które dokładnie odpowiadają tej opcji. Właściwość font-style: italic sprawia, że tekst nagłówka będzie zapisany czcionką pochyloną, co jest często stosowane w celu nadania tekstowi bardziej dynamicznego i estetycznego wyglądu. Jest to szczególnie przydatne w projektowaniu stron internetowych, gdzie wyróżnienie nagłówków ma kluczowe znaczenie dla czytelności i atrakcyjności wizualnej. text-decoration: overline dodaje linię nad tekstem, co jest mniej powszechnym, ale interesującym sposobem na wyróżnienie tekstu. Może być używane w nowoczesnych projektach, aby nadać stronie unikalny charakter. Wysokość wiersza line-height: 60px zapewnia odpowiednią przestrzeń między wierszami, co zwiększa czytelność, szczególnie przy większych czcionkach. Taki sposób formatowania jest zgodny ze standardami projektowania UX/UI, które kładą nacisk na estetykę i funkcjonalność. Dlatego zrozumienie tych właściwości i ich zastosowanie jest kluczowe dla każdego projektanta stron internetowych.

Pytanie 29

Która z wymienionych funkcji sortowania w języku PHP służy do sortowania tablicy asocjacyjnej według kluczy?

A. ksort()
B. rsort()
C. sort()
D. asort()
Funkcja ksort() w języku PHP jest dedykowana do sortowania tablic asocjacyjnych według ich kluczy. Dzięki zastosowaniu tej funkcji, tablica zostaje uporządkowana w sposób rosnący, co jest szczególnie przydatne, gdy potrzebujemy danych w zorganizowanej formie lub gdy chcemy prezentować je użytkownikowi w logicznej kolejności. Przykładowo, jeśli mamy tablicę asocjacyjną, gdzie klucze reprezentują nazwy produktów, a wartości to ich ceny, użycie ksort() pozwoli nam posortować produkty alfabetycznie. Dobrą praktyką jest stosowanie ksort() w projektach, gdzie istotna jest czytelność i przejrzystość danych, co może mieć wpływ na UX (User Experience) aplikacji. Warto również pamiętać, że jeśli tablica zawiera różne typy kluczy, to sortowanie może prowadzić do nieoczekiwanych wyników. Z tego względu, ksort() jest najlepszym wyborem, gdyż spełnia wymagania standardów sortowania oraz zapewnia zgodność z dobrymi praktykami programistycznymi.

Pytanie 30

Wskaż kod CSS, który odpowiada layoutowi bloków 2 – 5, zakładając, że są one utworzone na podstawie podanego kodu HTML.

Ilustracja do pytania
A. Kod 1
B. Kod 3
C. Kod 4
D. Kod 2
Prawidłowy układ bloków wymaga precyzyjnego zarządzania ich pozycjonowaniem za pomocą właściwości CSS float. W niepoprawnych odpowiedziach pojawiają się często błędy związane z nieodpowiednim pozycjonowaniem bloków, co skutkuje niepożądanym układem. Na przykład w Kodzie 1, użycie właściwości clear: both dla bloku 5 powoduje, że zaczyna on nowy wiersz, co jest niezgodne z założeniem układu, w którym blok 5 powinien znajdować się pod blokiem 3. Brak odpowiedniego wyrównania bloków może prowadzić do niepożądanego zapełnienia przestrzeni, co może być kłopotliwe szczególnie w responsywnym projektowaniu. Kod 3 nie uwzględnia potrzeby wyczyszczenia float, co może prowadzić do nakładania się bloków. W przypadku Kodu 4, brak użycia float dla bloku 3 powoduje, że ten nie zachowuje się jak oczekiwano, co może prowadzić do niezgodności z przedstawionym układem. Typowym błędem jest również niewłaściwe obliczenie sumarycznej szerokości bloków w jednym wierszu, co może prowadzić do przekroczenia dostępnej przestrzeni, a tym samym zaburzenia układu. Takie błędy często wynikały z braku zrozumienia działania mechanizmu float i clear, co jest kluczowe w tradycyjnym projektowaniu układów stron za pomocą CSS. Obecnie, dla bardziej zaawansowanych układów, zaleca się stosowanie takich technologii jak flexbox czy grid layout, które oferują większą elastyczność i kontrolę nad rozmieszczeniem elementów na stronie.

Pytanie 31

Selektor CSS a:link {color:red} użyty w kaskadowych arkuszach stylów określa

A. klasę
B. identyfikator
C. pseudoelement
D. pseudoklasę
Odpowiedź, którą wybrałeś, to pseudoklasa. W CSS jest to typowa sprawa, bo selektor a:link to właśnie przykład użycia pseudoklas. Dzięki nim możesz stylizować różne elementy na podstawie ich stanu lub tego, jak się zachowują w dokumencie. Na przykład, selektor a:link definiuje styl dla linków, które jeszcze nie zostały odwiedzone - więc jeśli ktoś kliknął na link, zmienia się jego wygląd. Używając pseudoklas, możesz znacznie poprawić estetykę stron i sprawić, że będą bardziej przyjazne dla użytkowników. Pomyśl o takich pseudoklasach jak :hover, co zmienia styl, gdy najedziemy kursorem, albo :active, która wprowadza zmiany podczas klikania. To naprawdę dobra technika, żeby nadać stronom fajny, dynamiczny charakter. Rozumienie pseudoklas to istotna sprawa w web designie, a to, co się zgadza z tym, co mówi W3C, to dodatkowy atut.

Pytanie 32

Zdefiniowanie klucza obcego jest niezbędne do utworzenia

A. relacji 1..1.
B. transakcji.
C. relacji 1..n.
D. klucza podstawowego.
Poprawnie – klucz obcy definiujemy właśnie po to, żeby utworzyć i wymusić relację między tabelami, najczęściej relację 1..n. W praktyce wygląda to tak, że w tabeli „dziecko” (np. ZAMOWIENIA) umieszczamy kolumnę, która odwołuje się do klucza głównego w tabeli „rodzic” (np. KLIENCI). Ta kolumna jest właśnie kluczem obcym. Dzięki temu każde zamówienie musi być powiązane z istniejącym klientem. To jest klasyczny przykład relacji 1 klient – wiele zamówień (1..n). Moim zdaniem to jest jeden z fundamentów relacyjnych baz danych: klucze obce pilnują integralności referencyjnej. Silnik bazy (MySQL, PostgreSQL, SQL Server itd.) sprawdza, czy wartość w kolumnie z kluczem obcym faktycznie istnieje w tabeli nadrzędnej. Jeżeli spróbujesz wstawić zamówienie z nieistniejącym id_klienta, dostaniesz błąd. To jest dokładnie to, co chcemy w dobrze zaprojektowanym systemie – brak „osieroconych” rekordów. W relacjach 1..n stosuje się standardowo schemat: tabela nadrzędna ma klucz podstawowy (PRIMARY KEY), a tabela podrzędna ma kolumnę z kluczem obcym (FOREIGN KEY), który wskazuje na ten klucz podstawowy. W SQL zapisuje się to np.: `FOREIGN KEY (id_klienta) REFERENCES klienci(id_klienta)`. Dobre praktyki mówią też, żeby na kolumnach kluczy obcych zakładać indeksy, bo to przyspiesza złączenia (JOIN) i operacje kasowania/aktualizacji. Warto też wiedzieć, że klucz obcy może być używany z dodatkowymi opcjami, np. `ON DELETE CASCADE` lub `ON UPDATE RESTRICT`, żeby automatycznie usuwać powiązane rekordy lub blokować operacje łamiące spójność danych. W realnych aplikacjach webowych (np. systemy sklepów internetowych, CRM-y, systemy magazynowe) poprawne zdefiniowanie relacji 1..n przez klucze obce to podstawa stabilności całej bazy – bez tego bardzo szybko robi się bałagan, duplikaty i niespójne dane.

Pytanie 33

W języku PHP zapis // służy do

A. dodawania komentarza wieloliniowego
B. używania tablicy superglobalnej
C. zastosowania operatora dzielenia bez reszty
D. dodawania komentarza jednoliniowego
Znak // w języku PHP jest używany do wstawiania komentarzy jednoliniowych. Oznacza to, że wszystko, co znajduje się po tym znaku na danej linii, zostanie zignorowane przez interpreter PHP. Komentarze są istotnym elementem programowania, ponieważ umożliwiają programistom dodawanie wyjaśnień i notatek do kodu, co znacznie ułatwia jego późniejsze zrozumienie i konserwację. Przykładowo, możesz użyć komentarza jednoliniowego, aby wyjaśnić określoną funkcjonalność w kodzie: // To jest funkcja obliczająca sumę. Warto również pamiętać, że stosowanie komentarzy jest standardową praktyką w branży, która zwiększa czytelność i jakość kodu. Dobrą praktyką jest stosowanie komentarzy, aby wyjaśniać bardziej złożone fragmenty kodu, co wpływa na łatwiejsze współdzielenie pracy w zespołach programistycznych, a także na przyszłe modyfikacje kodu przez innych programistów. Warto zaznaczyć, że PHP obsługuje także komentarze wieloliniowe, które zaczynają się od /* i kończą na */. Jednak dla prostych, jednozdaniowych notatek znak // jest najbardziej odpowiedni.

Pytanie 34

Jak przeglądarka zaprezentuje kod HTML formularza?

<form>
stanowisko: <input type="text"><br>
obowiązki:<br>
<input type="checkbox" name="obowiazek1" value="1" disabled checked>
sporządzanie dokumentacji<br>
<input type="checkbox" name="obowiazek2" value="2" checked>
pisanie kodu<br>
<input type="checkbox" name="obowiazek3" value="3">
testy oprogramowania<br>
</form>
Ilustracja do pytania
A. B
B. D
C. A
D. C
Zrozumienie jak działają atrybuty HTML takie jak disabled i checked jest kluczowe dla prawidłowego wyświetlania i funkcjonalności formularzy w przeglądarce. Niektóre z odpowiedzi zawierają błędne interpretacje tych atrybutów co prowadzi do niepoprawnego rozumienia jak formularz będzie prezentowany. Na przykład jeśli pole checkbox nie ma ustawionego atrybutu checked to domyślnie będzie niezaznaczone a użytkownik będzie mógł to zmienić. Dodanie atrybutu checked oznacza że pole będzie zaznaczone od razu po załadowaniu strony. Atrybut disabled uniemożliwia interakcję użytkownika z danym elementem co oznacza że użytkownik nie będzie mógł zmienić jego stanu. Częstym błędem jest założenie że wszystkie pola wyboru mogą być domyślnie edytowalne co nie jest prawdą w przypadku zastosowania atrybutu disabled. Również brak zrozumienia jak kolejność elementów i ich atrybutów wpływa na wizualne i funkcjonalne aspekty formularza może prowadzić do błędnych wniosków dotyczących ich zachowania. Warto pamiętać że prawidłowe zrozumienie tych zasad pozwala na tworzenie bardziej intuicyjnych i użytecznych aplikacji internetowych które spełniają oczekiwania użytkowników i standardy branżowe. Poprawna interpretacja kodu HTML jest więc niezbędna dla każdego profesjonalisty zajmującego się tworzeniem stron i aplikacji internetowych aby zapewnić bezbłędne działanie i łatwość obsługi formularzy przez końcowego użytkownika. Powinno się też zwracać uwagę na dostępność i użyteczność formularzy co jest kluczowym aspektem w procesie projektowania stron internetowych.

Pytanie 35

W tabeli artykuly w bazie danych sklepu znajduje się pole o nazwie nowy. Jak należy wykonać kwerendę, aby wypełnić to pole wartościami TRUE dla wszystkich rekordów?

A. UPDATE nowy FROM artykuly VALUE TRUE;
B. UPDATE artykuly SET nowy=TRUE;
C. INSERT INTO nowy FROM artykuly SET TRUE;
D. INSERT INTO artykuly VALUE nowy=TRUE;
Żeby zaktualizować wartości w kolumnie 'nowy' w tabeli 'artykuły' na TRUE, musisz użyć komendy SQL UPDATE. To jest standardowy sposób, żeby zmieniać już istniejące rekordy w tabelach. W tym przypadku komenda 'UPDATE artykuly SET nowy=TRUE;' oznacza, że wszystkie rekordy w tabeli 'artykuły' będą miały pole 'nowy' ustawione na TRUE. To dość prosta i skuteczna operacja, która pozwala na jednolitą zmianę w całej tabeli. Na przykład, jeśli w tabeli 'artykuły' jest 1000 rekordów, to wszystkie z nich dostaną wartość TRUE w polu 'nowy', co może być pomocne, jeśli chcemy oznaczyć nowe produkty. Pamiętaj, żeby robić kopie zapasowe bazy danych przed takimi masowymi zmianami. To może uratować Cię od utraty ważnych danych, gdyby coś poszło nie tak. Użycie tej komendy jest zgodne z ogólnymi zasadami SQL, więc jest to bezpieczny sposób działania dla każdego, kto zarządza bazą danych.

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; }
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 37

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 AS 'Poznań' OR 'Kraków';```
C. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';```
D. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING '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 38

Wskaż sposób, w jaki należy odwołać się do pliku default.css, jeśli index.html znajduje się bezpośrednio w katalogu Strona?

Ilustracja do pytania
A. <link rel="stylesheet" type="text/css" href="c:\style/default.css" />
B. <link rel="stylesheet" type="text/css" href="...\style\default.css" />
C. <link rel="stylesheet" type="text/css" href="./style/default.css" />
D. <link rel="stylesheet" type="text/css" href="c:/style/default.css" />
Błędne odpowiedzi w tym pytaniu wynikają z niewłaściwego użycia ścieżek do plików. Dwie z błędnych odpowiedzi sugerują użycie ścieżki bezwzględnej do pliku (rozpoczynającej się od 'c:/' lub 'c:\'), co nie jest zalecane, ponieważ takie ścieżki są specyficzne dla konkretnego systemu plików i mogą nie działać w innych środowiskach. Ponadto jedna z błędnych odpowiedzi sugeruje użycie nieprawidłowej składni ('...\') do odwołania się do pliku. Dobrą praktyką jest zawsze korzystanie ze ścieżek względnych podczas odwoływania się do plików w HTML, ponieważ są one uniwersalne i niezależne od systemu plików. Pamiętaj, że właściwe zarządzanie ścieżkami do plików i organizacja plików w strukturze katalogu to klucz do skutecznego i efektywnego kodowania.

Pytanie 39

W zaprezentowanej części formularza HTML znajduje się pole, które można określić jako?

<input type="password" name="pole">
A. wyświetla wprowadzone znaki.
B. pozwala na wprowadzanie jedynie wartości liczbowych.
C. domyślnie posiada wpisany tekst "pole".
D. ukrywa wprowadzone znaki.
Wybrana przez ciebie odpowiedź jest niepoprawna. Możesz myśleć, że pole <i>input</i> ma domyślny tekst 'pole', ale zapomniałeś, że atrybut 'value', który to robi, nie występuje w tym kodzie. Poza tym, nie ma żadnych danych wskazujących, że to pole przyjmuje tylko liczby. Zazwyczaj, używa się atrybutu 'type' z wartością 'number', ale tutaj jest ustawiony na 'password'. Gdy mówisz, że pole pokazuje wprowadzone znaki, to też nie jest prawda. Jak mamy 'type' ustawione na 'password', to wszystko jest ukryte, żeby użytkownik był bezpieczny. Takie pomyłki to najczęściej efekt braku zrozumienia różnych atrybutów w HTML. Ważne, żeby ogarnąć, że atrybut 'type' mówi, jakie dane można wprowadzać, a różne wartości mają różne skutki.

Pytanie 40

Która z funkcji agregujących wbudowanych w język SQL służy do obliczania średniej wartości w określonej kolumnie?

A. COUNT
B. SUM
C. AVG
D. MIN
Funkcja AVG w języku SQL jest jedną z kluczowych funkcji agregujących, która pozwala na obliczenie średniej wartości w określonej kolumnie zestawienia danych. Użycie tej funkcji jest szczególnie istotne w analizie statystycznej, gdyż pozwala uzyskać bardziej reprezentatywny wynik, eliminując wpływ skrajnych wartości, które mogą zniekształcać obraz danych. Na przykład, gdy mamy tabelę "sprzedaż" z kolumną "kwota", można użyć zapytania SELECT AVG(kwota) FROM sprzedaż, aby uzyskać średnią wartość sprzedaży. Funkcja ta jest nie tylko przydatna w kontekście analizy, ale także stanowi standardową praktykę w raportowaniu wyników finansowych, co może pomóc w podejmowaniu decyzji biznesowych. Warto również zauważyć, że AVG jest funkcją, która ignoruje wartości NULL, co jest ważne w kontekście danych, które mogą nie być pełne. Dobre praktyki sugerują, aby zawsze sprawdzać dane wejściowe przed stosowaniem funkcji agregujących, aby zapewnić ich jakość i dokładność wyników.