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: 3 maja 2026 17:38
  • Data zakończenia: 3 maja 2026 18:04

Egzamin zdany!

Wynik: 31/40 punktów (77,5%)

Wymagane minimum: 20 punktów (50%)

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

Z przedstawionych tabel Artykuly i Autorzy należy wybrać jedynie nazwiska autorów i tytuły ich artykułów, które zostały ocenione na 5. Kwerenda wybierająca te dane ma postać

Ilustracja do pytania
A. SELECT nazwisko, tytul FROM autorzy, artykuly WHERE ocena == 5;
B. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;
C. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id;
D. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = artykuly.id;
Gratulacje! Wybrałeś poprawne zapytanie SQL, które dokładnie odpowiada na postawione pytanie. Zapytanie 'SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;' jest prawidłowe, bo łączy dwie tabele 'autorzy' i 'artykuly' za pomocą klucza obcego 'autorzy_id' w tabeli 'artykuly'. Dzięki temu uzyskujemy dostęp do nazwisk autorów i tytułów artykułów. Dodatkowo, część 'WHERE ocena = 5' filtruje wyniki tak, aby wyświetlane były tylko te rekordy, gdzie ocena wynosi 5. To jest kluczowy element, który pozwala nam skupić się tylko na tych danych, które są istotne dla pytania. W praktyce, tego typu zapytania pomagają nam w analizie wydajności autorów i jakości artykułów, co jest niezwykle ważne w branży wydawniczej.

Pytanie 2

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

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

Pytanie 3

Posiadając tabelę zawierającą zwierzeta z kolumnami nazwa, gatunek, gromada, cechy, dlugosc_zycia, aby uzyskać listę nazw zwierząt, które żyją co najmniej 20 lat oraz należą do ssaków, należy wykonać zapytanie:

A. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 OR gromada = 'ssak';
B. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20;
C. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
D. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';
Zapytanie SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 AND gromada = 'ssak'; jest prawidłowe, ponieważ łączy dwa kluczowe warunki, które muszą być spełnione, aby uzyskać pożądane wyniki. W tym przypadku chcemy wyświetlić nazwy zwierząt, które żyją co najmniej 20 lat oraz należą do gromady ssaków. Operator AND w SQL jest stosowany do łączenia warunków, co oznacza, że tylko te rekordy, które spełniają oba warunki, zostaną zwrócone. Przykładem zastosowania takiego zapytania może być analiza danych w zoologii lub biologii, gdzie istotne jest zrozumienie, które gatunki mają długowieczność i są ssakami. Takie zapytanie można również wykorzystać w praktyce, na przykład w aplikacjach ewidencjonujących zwierzęta w ogrodach zoologicznych czy rezerwatach, pomagając w podejmowaniu decyzji o ich ochronie lub hodowli. Zastosowanie dobrych praktyk w SQL polega na precyzyjnym definiowaniu kryteriów, co pozwala na efektywne przetwarzanie i analizowanie danych.

Pytanie 4

Aplikacja o nazwie FileZilla umożliwia

A. publikację strony internetowej na zdalnym serwerze
B. przeprowadzanie testów aplikacji
C. sprawdzanie poprawności plików HTML i CSS
D. importowanie bazy danych do systemu CMS Joomla!
Niektóre z wymienionych odpowiedzi zawierają powszechne nieporozumienia dotyczące funkcji i zastosowania programu FileZilla. Na przykład, uruchamianie testów aplikacji to zadanie, które zazwyczaj wykonuje się za pomocą środowisk programistycznych czy frameworków testowych, a nie klientów FTP jak FileZilla. Klient FTP koncentruje się na transferze plików, a nie na testowaniu kodu. Również walidacja plików HTML i CSS to proces związany z zapewnieniem poprawności kodu, często realizowany za pomocą dedykowanych narzędzi jak W3C Validator, a nie przez klienta FTP, który nie zajmuje się analizą poprawności kodu. Co więcej, załadowanie bazy danych do systemu zarządzania treścią (CMS) takiego jak Joomla! wymaga użycia innych narzędzi, takich jak phpMyAdmin, które są specjalnie zaprojektowane do zarządzania bazami danych. FileZilla nie jest odpowiednie do tego celu, ponieważ jego funkcjonalność ogranicza się do przesyłania plików, a nie interakcji z bazą danych. Często mylenie tych funkcji wynika z niepełnego zrozumienia roli, jaką różne narzędzia odgrywają w procesie tworzenia i zarządzania stronami internetowymi. Kluczowe jest zrozumienie, że każdy program ma swoje przeznaczenie i zastosowanie, a skuteczne zarządzanie projektami internetowymi wymaga używania odpowiednich narzędzi do konkretnych zadań.

Pytanie 5

Baza danych zawiera tabelę artykuły z kolumnami: nazwa, typ, producent, cena. Aby wypisać wszystkie nazwy artykułów jedynie typu pralka, których cena mieści się w zakresie od 1000 PLN do 1500 PLN, należy użyć zapytania

A. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 AND 1500
B. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena FROM 1000 TO 1500
C. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 OR 1500
D. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena BETWEEN 1000 AND 1500
Ta odpowiedź jest prawidłowa, ponieważ wykorzystuje polecenie SQL w odpowiedni sposób, aby wybrać nazwy artykułów, które spełniają określone kryteria. Słowo kluczowe 'BETWEEN' jest używane do określenia wartości w przedziale, co w tym przypadku oznacza, że cena artykułów musi mieścić się między 1000 a 1500 PLN. W połączeniu z warunkiem 'AND' zapewnia, że tylko te artykuły, które są typu 'pralka' i mają cenę w podanym przedziale, zostaną wyświetlone. W praktyce takie zapytanie jest niezwykle użyteczne w kontekście e-commerce, gdzie często przeprowadza się filtrowanie produktów według określonych parametrów. Dobrą praktyką w programowaniu SQL jest również używanie podwójnych cudzysłowów dla wartości tekstowych, co jest zgodne z niektórymi standardami SQL, chociaż w wielu systemach baz danych akceptowane są również pojedyncze cudzysłowy. Przykłady zastosowania tego zapytania można znaleźć w systemach zarządzania zapasami, gdzie potrzebne jest szybkie generowanie list produktów spełniających specyficzne wymagania klientów.

Pytanie 6

W aplikacji internetowej komunikat powinien pojawiać się tylko wtedy, gdy dany użytkownik jest na stronie po raz pierwszy. Którą funkcję PHP należy w tym celu zastosować?

A. define
B. mysqli_change_user
C. setcookie
D. session_destroy
Prawidłowo – w tym zadaniu kluczowa jest funkcja setcookie(), bo to właśnie ciasteczka są standardowym mechanizmem do rozpoznawania, czy użytkownik był już wcześniej na danej stronie. W praktyce robi się to tak: przy pierwszym wejściu na stronę sprawdzasz, czy istnieje określone cookie, np. $_COOKIE['first_visit']. Jeśli go nie ma, wyświetlasz komunikat powitalny i ustawiasz ciasteczko za pomocą setcookie('first_visit', '1', time()+3600*24*365). Przy kolejnych wejściach cookie już będzie istniało, więc komunikat się nie pojawi. To jest bardzo typowy wzorzec np. dla banerów informujących o ciasteczkach, komunikatów onboardingowych czy jednorazowych podpowiedzi dla nowych użytkowników. Z mojego doświadczenia w webdevie to najprostsze i najbardziej przenośne rozwiązanie, bo działa niezależnie od sesji i logowania użytkownika – wystarczy przeglądarka z włączonymi cookies. Ważne jest też, żeby pamiętać o tym, że setcookie() musi być wywołane przed wysłaniem jakiegokolwiek outputu (czyli przed jakimkolwiek HTML, echo, BOM itd.), bo ciasteczka są wysyłane w nagłówkach HTTP. W bardziej rozbudowanych projektach często łączy się cookies z innymi mechanizmami (np. sesją czy bazą danych), ale do prostego sprawdzenia „czy użytkownik jest tu pierwszy raz” ciasteczko ustawiane setcookie() to według dobrych praktyk w zupełności wystarcza. Warto też dbać o parametry bezpieczeństwa ciastek (secure, httponly, samesite), szczególnie gdy później używamy tego mechanizmu do czegoś ważniejszego niż zwykły komunikat informacyjny.

Pytanie 7

W języku HTML, aby połączyć w pionie dwie sąsiadujące komórki w kolumnie tabeli, należy użyć atrybutu

A. cellspacing
B. rowspan
C. cellpadding
D. colspan
W kontekście scalania komórek w pionie w HTML, inne proponowane atrybuty są nieodpowiednie. Atrybut colspan służy do scalania komórek w poziomie, co oznacza, że pozwala na połączenie kilku komórek w jednym wierszu, co jest zupełnie inną operacją niż scalanie w pionie. Używanie colspan byłoby nieodpowiednie w sytuacji, gdy celem jest połączenie komórek w kolumnie. Atrybut cellpadding dotyczy natomiast przestrzeni wewnętrznej, określającej odstęp pomiędzy zawartością komórki a jej krawędziami. Jego zastosowanie nie wpływa na scalanie komórek, a jedynie na ich wygląd, co sprawia, że jest to zupełnie inny aspekt formatowania tabeli. Podobnie atrybut cellspacing, który jest używany do definiowania odstępów między komórkami tabeli, również nie ma zastosowania w procesie scalania komórek. Obydwa te atrybuty mogą być użyte do poprawy estetyki tabeli, ale nie wpływają na strukturę danych w sposób, który byłby wymagany do osiągnięcia pionowego scalania komórek. Użycie ich zamiast rowspan jest błędne i prowadzi do niepoprawnego zrozumienia struktury HTML oraz sposobu, w jaki tabele powinny być zbudowane.

Pytanie 8

Do grupowania elementów w blok, można użyć znacznika

A. <div>
B. <param>
C. <p>
D. <span>
W tym pytaniu chodziło konkretnie o grupowanie elementów w jeden blok, czyli o wybór typowego elementu blokowego, który pełni rolę ogólnego kontenera. Bardzo łatwo tu pomylić różne znaczniki, bo większość z nich po prostu „coś wyświetla”, ale ich rola w strukturze dokumentu HTML jest zupełnie inna. Znacznik <p> tworzy akapit, czyli logiczny fragment tekstu. Jest również elementem blokowym, ale jego przeznaczenie jest ściśle semantyczne: ma zawierać treść akapitu, a nie dowolne grupy elementów. Wrzucanie tam divów, formularzy czy skomplikowanych struktur to zła praktyka i często prowadzi do błędnego DOM oraz dziwnych efektów w różnych przeglądarkach. Z punktu widzenia standardów HTML <p> nie jest neutralnym kontenerem, tylko konkretnym elementem tekstowym. Z kolei <span> to przeciwieństwo tego, czego szukamy: jest elementem liniowym (inline). Używa się go do zaznaczania fragmentów tekstu lub małych kawałków treści wewnątrz innych elementów, właśnie bez łamania linii, np. do nadania koloru jednemu słowu albo do oznaczenia krótkiego fragmentu dla JavaScriptu. Typowy błąd to traktowanie <span> jak „mini-diva” i próba budowania na nim całych układów strony. Da się to czasem wymusić przez display:block w CSS, ale to obejście, a nie zgodne z ideą HTML rozwiązanie. Natomiast <param> w ogóle nie służy do prezentacji treści ani układu. To znacznik używany historycznie wewnątrz <object> do przekazywania parametrów obiektom osadzanym na stronie (np. wtyczkom, apletem). Dzisiaj praktycznie się go nie używa w nowoczesnym webdevie, a już na pewno nie do grupowania czegokolwiek. Typowe błędne myślenie przy takich pytaniach polega na patrzeniu tylko na efekty wizualne („to też robi nową linię” albo „to też coś grupuje”) zamiast na semantykę i przeznaczenie znacznika. Do neutralnego, blokowego grupowania elementów, które potem stylujemy w CSS albo manipulujemy w JavaScript, standardowo używa się <div> i to jest zgodne zarówno z dokumentacją, jak i z praktyką w realnych projektach.

Pytanie 9

Baza danych zawiera tabelę pod nazwą pracownicy, która ma pola: nazwisko, imię, pensja oraz wiek. Jak brzmi składnia zapytania, aby obliczyć średnią pensję pracowników?

A. select VAR(pracownicy) into pensja
B. select AVG(pensja) from pracownicy
C. select VAR(pensja) from nazwisko
D. select AVG(nazwisko) into pensja
Aby obliczyć średnią pensję pracowników w tabeli 'pracownicy', używamy funkcji agregującej AVG, która zwraca średnią wartość dla podanego pola. W kontekście SQL, składnia polecenia 'select AVG(pensja) from pracownicy' jest poprawna, ponieważ wskazuje, że chcemy obliczyć średnią z kolumny 'pensja' w tabeli 'pracownicy'. Funkcje agregujące, takie jak AVG, SUM, COUNT, MIN i MAX, są fundamentalne w analizie danych, ponieważ umożliwiają zestawienie wyników w sposób zrozumiały i zwięzły. Przydatność funkcji AVG można zauważyć w praktyce, gdy potrzebujemy ocenić wynagrodzenia w firmie, co może wpłynąć na decyzje dotyczące polityki płacowej. Przykładowo, w przypadku tabeli z danymi o wynagrodzeniach, takie zapytanie zwraca pojedynczą wartość – średnią pensję, co pozwala na szybkie zrozumienie sytuacji finansowej firmy. Zgodnie z standardami SQL, polecenia muszą być formułowane w sposób, który jasno określa zarówno źródło danych, jak i sposób ich agregacji, co zostało spełnione w tej odpowiedzi.

Pytanie 10

Który z poniższych kodów HTML odpowiada przedstawionej tabeli? Dla uproszczenia pominięto zapis dotyczący stylu obramowania tabeli oraz komórek?

Ilustracja do pytania
A. Rys. D
B. Rys. A
C. Rys. B
D. Rys. C
Poprawna odpowiedź to Rys. B ponieważ wykorzystuje atrybut rowspan="2" który łączy dwie komórki w pierwszej kolumnie w jeden wiersz Koncepcja rowspan umożliwia efektywne zarządzanie strukturą danych w tabeli HTML pozwalając na oszczędność miejsca i uniknięcie zduplikowanych komórek W praktyce rowspan jest niezwykle przydatny w projektach gdzie dane muszą być prezentowane w sposób zorganizowany i czytelny Dobre zrozumienie tego atrybutu jest kluczowe w tworzeniu responsywnych i estetycznych stron internetowych Zastosowanie rowspan zgodne jest ze standardami W3C co czyni kod bardziej zgodnym z wieloma przeglądarkami i urządzeniami Warto również pamiętać że prawidłowe użycie atrybutów takich jak rowspan poprawia dostępność strony co jest ważnym aspektem współczesnego projektowania stron internetowych Wiedza o tym jak zarządzać strukturą tabel i używać odpowiednich atrybutów wpływa na lepsze doświadczenie użytkownika Jest to również istotne w kontekście SEO gdyż poprawna semantyka HTML może wpłynąć na lepsze indeksowanie witryny przez wyszukiwarki

Pytanie 11

Elementem odpowiadającym imieniu Agata w zaprezentowanej tablicy JavaScript jest:

var Imiona = new Array('Anna','Joanna','Monika','Agata');
A. Imiona[3];
B. Imiona[4];
C. Imiona[Agata];
D. Imiona['Agata'];
Poprawna odpowiedź to Imiona[3], ponieważ w JavaScript indeksowanie tablicy zaczyna się od zera. Oznacza to, że pierwszy element tablicy Imiona to 'Anna' (Imiona[0]), drugi to 'Joanna' (Imiona[1]), trzeci to 'Monika' (Imiona[2]), a czwarty to 'Agata' (Imiona[3]). W kontekście programowania w JavaScript ważne jest, aby znać zasady indeksowania, co jest szczególnie istotne przy pracy z tablicami, ponieważ niewłaściwe indeksowanie może prowadzić do błędów, takich jak undefined. W praktyce, jeżeli chcemy uzyskać dostęp do konkretnego elementu tablicy, musimy użyć odpowiedniego indeksu. Ponadto, korzystanie z tablic w JavaScript jest powszechną praktyką, a zrozumienie ich mechanizmu pozwala na efektywne operowanie danymi. Należy również pamiętać o dobrych praktykach w programowaniu, takich jak stosowanie opisowych nazw zmiennych oraz komentowanie kodu, co zwiększa jego czytelność i zrozumienie dla innych programistów.

Pytanie 12

Który z poniższych zapisów w HTML określa kodowanie znaków stosowane w dokumencie?

A. <charset="UTF-8">
B. <encoding="UTF-8">
C. <meta charset="UTF-8">
D. <meta encoding="UTF-8">
Zapis <meta charset="UTF-8"> jest prawidłową deklaracją kodowania znaków w dokumencie HTML. Element <meta> jest używany w sekcji <head> dokumentu i pozwala na zdefiniowanie różnych metadanych, w tym kodowania znaków. Użycie "UTF-8" jako wartości dla atrybutu charset oznacza, że dokument będzie używał kodowania Unicode, które jest standardem preferowanym w sieci. Dzięki temu, dokumenty mogą poprawnie wyświetlać znaki z różnych języków, co jest kluczowe w zglobalizowanym świecie internetu. Przykładem zastosowania tego zapisu może być strona internetowa, która zawiera teksty w wielu językach, co wymaga wsparcia dla różnorodnych znaków diakrytycznych i symboli. Warto również podkreślić, że zgodnie z zasadami dobrych praktyk, zawsze powinno się definiować kodowanie znaków w dokumencie HTML, aby uniknąć problemów z wyświetlaniem treści, co może negatywnie wpłynąć na doświadczenia użytkowników oraz SEO strony.

Pytanie 13

Która funkcja edytora grafiki wektorowej spowoduje przekształcenie z przedstawionych po lewej stronie figur koła i prostokąta do figury półkola widocznej po prawej stronie?

Ilustracja do pytania
A. Wykluczenie.
B. Podział.
C. Część wspólna.
D. Różnica.
W grafice wektorowej operacje na kształtach, takie jak Różnica, Podział, Wykluczenie czy Część wspólna, to tzw. operacje boole’owskie. One nie są losowe – każda z nich ma bardzo konkretne, matematyczne znaczenie. Typowy błąd polega na tym, że patrzymy tylko na „intuicyjną” nazwę funkcji, a nie na to, co faktycznie dzieje się z obszarami wypełnienia. Różnica (ang. Subtract / Difference) polega na tym, że jedna figura „wycina” fragment z drugiej. Gdyby w naszym przykładzie użyć różnicy, to z jednej figury zostałby usunięty fragment zajmowany przez drugą. W efekcie dostalibyśmy kształt przypominający np. prostokąt z zaokrąglonym wycięciem, a nie pełne półkole. To przydaje się np. do robienia otworów, ramek, ikon z „dziurą”, ale nie do budowy półkola. Podział (ang. Divide / Fragment) dzieli obszar wszędzie tam, gdzie kształty się przecinają, na kilka osobnych obiektów. Wizualnie może to chwilowo wyglądać podobnie, ale końcowy efekt to kilka fragmentów, które trzeba ręcznie usuwać lub scalać. W testowym zadaniu chodzi o jedną, gotową figurę półkola, bez dodatkowego sprzątania, więc to nie jest optymalna operacja. Wykluczenie (ang. Exclude / XOR) działa odwrotnie do części wspólnej – usuwa obszar nakładania się, a zostawia tylko to, co jest „na zewnątrz” przecięcia. Gdyby użyć wykluczenia na kole i prostokącie, środek, czyli miejsce ich wspólnego nakładania, zniknie, a zostaną dwa osobne dziwne kształty po bokach. To dobra funkcja do tworzenia bardziej dekoracyjnych, ażurowych form, ale kompletnie nie nadaje się do uzyskania klasycznego półkola. W tym zadaniu kluczowe jest zrozumienie, że półkole jest dokładnie tym obszarem, gdzie koło i prostokąt się pokrywają. Stąd jedynie „Część wspólna” daje czysty, poprawny efekt bez dodatkowej obróbki. Warto przy takich pytaniach wyobrażać sobie, które fragmenty zostaną, a które zostaną usunięte, zamiast sugerować się tylko nazwą funkcji w menu programu.

Pytanie 14

Linia kodu przedstawiona w PHP ma na celu

Ilustracja do pytania
A. porównać dwa ciągi znaków
B. zdefiniować stałą o nazwie OSOBA
C. ustalić wartość dla zmiennej $OSOBA
D. przypisać wartości do tablicy
W języku PHP funkcja define() służy do definiowania stałych które są wartościami niezmiennymi po zdefiniowaniu. W przykładzie define(OSOBA Anna Kowalska) definiujemy stałą o nazwie OSOBA z przypisaną wartością Anna Kowalska. Stałe są używane gdy potrzebujemy zagwarantować że dana wartość pozostanie niezmienna przez cały czas działania programu co jest kluczowe w zapewnieniu spójności i integralności danych. PHP odróżnia stałe wielkością liter więc zgodnie z konwencją stałe zapisuje się wielkimi literami dla lepszej czytelności. Funkcja ta jest często używana do definiowania wartości konfiguracyjnych takich jak ścieżki do plików czy dane dostępowe które nie powinny być zmieniane podczas wykonywania skryptu. Dzięki funkcji define() unikamy przypadkowego nadpisania istotnych wartości co jest jedną z dobrych praktyk programistycznych. Warto zaznaczyć że od PHP 7 istnieje możliwość definiowania stałych tablicowych co ułatwia organizację bardziej złożonych danych.

Pytanie 15

Który zbiór znaczników, określających projekt strony internetowej w sposób semantyczny, jest zgodny z normą HTML 5?

Ilustracja do pytania
A. Zbiór 4
B. Zbiór 3
C. Zbiór 1
D. Zbiór 2
Wykaz 4 jest zgodny ze standardem HTML 5, ponieważ poprawnie używa semantycznych znaczników do strukturyzacji zawartości strony. <header> jest używany do definiowania nagłówka dokumentu lub sekcji, co jest poprawne dla Bloku 1. Znacznik <main> w Bloku 2 wskazuje na główną treść strony, co jest zgodne z jego przeznaczeniem. <aside> w Bloku 3 jest trafnie używany do treści pobocznych, które są związane, ale niekonieczne dla głównego wątku treści, co odpowiada typowej strukturze witryny, gdzie treści poboczne są często wyświetlane obok głównej treści. Na koniec, <footer> w Bloku 4 jest poprawnie przypisany, gdyż zamyka i podsumowuje zawartość strony. HTML5 kładzie duży nacisk na semantykę, co pomaga w optymalizacji pod kątem SEO oraz ułatwia rozumienie struktury strony zarówno przez ludzi, jak i maszyny. Takie podejście poprawia dostępność, ułatwia stylizowanie za pomocą CSS oraz wspiera lepsze praktyki w zakresie zgodności z przyszłymi standardami.

Pytanie 16

Wynikiem realizacji kwerendy

SELECT sezon, SUM(liczba_dn) FROM rezerwacje GROUP BY sezon;
na podstawie poniższej tabeli rezerwacje jest:
A. lato 3, zima 4
B. lato 10, zima 4, lato 5, zima 6, lato 5, zima 9, zima 8
C. lato 20, zima 27
D. lato 10, 5, 5; zima 4, 6, 9, 8
Wykonana kwerenda SQL agreguje dane z tabeli rezerwacje, grupując je według sezonu i sumując liczbę dni (liczba_dn) dla każdego sezonu. W tabeli znajdują się rekordy związane z sezonami letnim i zimowym. Analizując dane, dla sezonu letniego mamy trzy wpisy: 10 dni, 5 dni oraz 5 dni, co łącznie daje 20 dni. Dla sezonu zimowego mamy cztery wpisy: 4 dni, 6 dni, 9 dni oraz 8 dni, co po zsumowaniu daje 27 dni. Odpowiedź numer 2 jest zatem poprawna, ponieważ przedstawia poprawne sumy dla sezonów. Praktyczne zastosowanie takiej kwerendy może obejmować analizowanie sezonowości rezerwacji w hotelach, co wspiera procesy decyzyjne w zakresie zarządzania zasobami i planowania promocji. Zgodność z dobrymi praktykami w SQL wymaga znajomości funkcji agregujących, takich jak SUM, oraz umiejętności grupowania danych, co jest kluczowe w analizie danych w różnych dziedzinach biznesowych.

Pytanie 17

W języku CSS zapis

p::first-line {font-size: 150%;}
zastosowany na stronie z wieloma paragrafami, z których każdy zawiera kilka linii, spowoduje, że
A. pierwsza linia każdego paragrafu będzie miała większą czcionkę niż pozostałe linie
B. cały tekst paragrafu zostanie powiększony o 150%
C. pierwszy paragraf na stronie w całości będzie miał powiększoną czcionkę
D. pierwsza linia każdego paragrafu będzie miała mniejszą czcionkę niż pozostałe linie
Odpowiedź jest trafna, bo selektor CSS 'p::first-line' służy do stylizowania wyłącznie pierwszej linii każdego paragrafu. Kiedy przypisujesz styl 'font-size: 150%', to znaczy, że czcionka tej pierwszej linii będzie większa o 50% od standardowego rozmiaru ustalonego w CSS. To dobra praktyka w web designie, bo pomaga w czytelności i nadawaniu hierarchii informacjom. Na przykład, fajnie jest wyróżnić rozpoczęcie tekstu albo zaakcentować ważne dane. Pamiętaj tylko, że efekt będzie widoczny tylko, gdy tekst ma więcej niż jedną linię, bo w przeciwnym razie powiększenie się nie ujawni. Dodatkowo, korzystanie z pseudo-elementów, jak '::first-line', to coś, co jest w standardach CSS i jest naprawdę cenione w branży.

Pytanie 18

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. A
B. D
C. C
D. B
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 19

Kolor wyrażony w modelu RGB(255, 0, 0) to

A. niebieski.
B. czerwony.
C. zielony.
D. żółty.
Barwa zapisana w modelu RGB(255, 0, 0) oznacza maksymalne natężenie kanału czerwonego, co wskazuje, że jest to czysta czerwień. Model RGB, czyli Red, Green, Blue, jest powszechnie stosowany w technologii cyfrowej, w tym w monitorach, telewizorach i urządzeniach mobilnych. W praktyce, wartości w zakresie od 0 do 255 określają intensywność poszczególnych kolorów, gdzie 0 oznacza brak koloru, a 255 jego maksymalną intensywność. Wartości dla zielonego i niebieskiego są zerowe, co oznacza, że nie wpływają na ostateczny kolor. Czerwień (RGB(255, 0, 0)) jest często wykorzystywana w projektowaniu graficznym, na przykład w tworzeniu logo, gdzie symbolizuje energię i pasję. W standardzie sRGB, który jest najczęściej stosowanym profilem kolorów w Internecie, barwy są definiowane w ten sposób, co gwarantuje ich spójność na różnych urządzeniach. Zrozumienie tego modelu kolorów jest kluczowe dla każdej osoby pracującej w dziedzinie grafiki komputerowej, projektowania UI/UX czy programowania webowego.

Pytanie 20

Systemy CMS charakteryzują się

A. możliwością programowania w zaawansowanych frameworkach dla aplikacji Web.
B. wbudowanym serwerem poczty elektronicznej.
C. wbudowanym edytorem grafiki wektorowej.
D. możliwością edycji treści bez konieczności znajomości HTML.
Poprawnie wskazana cecha CMS to możliwość edycji treści bez konieczności znajomości HTML. Właśnie po to powstały systemy zarządzania treścią: żeby osoba nietechniczna, np. pracownik działu marketingu czy sekretariat, mogła samodzielnie aktualizować stronę WWW. W typowym CMS (WordPress, Joomla, Drupal) mamy edytor WYSIWYG przypominający Worda: pogrubienie, nagłówki, listy, wstawianie obrazków, linków. Cały kod HTML generuje się w tle automatycznie. Użytkownik widzi tekst i przyciski, a nie znaczniki typu <div>, <p> czy <a>. Z mojego doświadczenia to ogromne ułatwienie w firmach, gdzie programista nie ma czasu na każdą drobną zmianę w treści. Dobra praktyka jest taka, żeby w CMS rozdzielać warstwę treści (content) od warstwy prezentacji (szablony, CSS). Administrator, redaktor czy copywriter pracuje na treści, a programista i frontendowiec dbają o wygląd i logikę. Dzięki temu aktualizacja np. cennika, aktualności czy opisów produktów nie wymaga dotykania kodu strony. Co więcej, nowoczesne CMS-y stosują mechanizmy wersjonowania treści, workflow publikacji, uprawnienia użytkowników. Wszystko nadal bez konieczności pisania HTML, choć oczywiście możliwość podejrzenia i ręcznej edycji kodu często jest dostępna dla bardziej zaawansowanych użytkowników. W praktyce: jeśli ktoś umie obsłużyć edytor tekstu, to po krótkim przeszkoleniu zwykle bez problemu poradzi sobie z podstawową obsługą CMS i edycją treści na stronie WWW.

Pytanie 21

Fragment skryptu w języku JavaScript umieszczony w ramce

t = "Ala ma kota.";
s = t.length;
A. przypisze zmiennej s część tekstu z zmiennej t, o długości określonej przez zmienną length
B. wyświetli długość tekstu z zmiennej t
C. przypisze zmiennej s zmienną t
D. przypisze zmiennej s długość tekstu z zmiennej t
W podanym kodzie zmiennej t przypisano wartość ciągu znaków Ala ma kota.. Następnie zmiennej s przypisano wynik wywołania właściwości length na zmiennej t. W JavaScript length jest właściwością obiektów String używaną do określenia długości łańcucha znaków czyli liczby znaków w napisie. W tym przypadku t.length zwróci liczbę 12 ponieważ włącznie ze spacjami i kropką ciąg Ala ma kota. składa się z 12 znaków. Przypisanie tego wyniku do zmiennej s oznacza że s będzie miało wartość 12. Takie wykorzystanie właściwości length jest zgodne z dobrymi praktykami i często stosowane w programowaniu w JavaScript. Pozwala na dynamiczne określanie długości łańcuchów co jest przydatne przy przetwarzaniu danych tekstowych. Umiejętność manipulacji łańcuchami znaków jest kluczowa w tworzeniu aplikacji webowych i skryptów które muszą obsługiwać dane użytkowników. Prawidłowe zrozumienie jak działa właściwość length pozwala na efektywne zarządzanie i przetwarzanie tekstu co jest istotne w pracy każdego programisty.

Pytanie 22

Arkusze stylów w formacie kaskadowym są tworzone w celu

A. nadpisywania wartości znaczników, które już zostały ustawione na stronie
B. połączenia struktury dokumentu strony z odpowiednią formą jej wizualizacji
C. blokowania wszelkich zmian w wartościach znaczników już przypisanych w pliku CSS
D. ułatwienia formatowania strony
Kaskadowe arkusze stylów (CSS) stanowią kluczowy element w tworzeniu nowoczesnych stron internetowych, umożliwiając deweloperom separację zawartości od stylizacji. Poprawna odpowiedź, dotycząca ułatwienia formatowania strony, odnosi się do głównej funkcji CSS, która polega na umożliwieniu precyzyjnego stylizowania elementów HTML przy użyciu różnych właściwości, takich jak kolor, czcionka, marginesy czy tło. Dzięki CSS, można łatwo zmieniać wygląd całej strony lub jej części, co znacznie upraszcza proces utrzymania i aktualizacji. Na przykład, jeśli chcemy zmienić kolor tła całej witryny, wystarczy zaktualizować jedną regułę w arkuszu stylów, zamiast edytować każdy element osobno. Dodatkowo, CSS wspiera responsywność, co oznacza, że możemy dostosować wygląd strony do różnych rozmiarów ekranów, co jest istotne w dobie urządzeń mobilnych. Takie podejście do rozwijania stron internetowych jest zgodne z najlepszymi praktykami branżowymi, co pozwala na bardziej efektywne zarządzanie projektem oraz zapewnienie spójnego wyglądu witryny.

Pytanie 23

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

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

Pytanie 24

Dzięki poleceniu ALTER TABLE można

A. zmieniać strukturę tabeli
B. usunąć rekord
C. skasować tabelę
D. zmieniać wartości rekordów
Polecenie ALTER TABLE jest kluczowym elementem w zarządzaniu bazami danych, umożliwiającym wprowadzanie zmian w strukturze istniejących tabel. Dzięki temu poleceniu możemy dodawać nowe kolumny, zmieniać typy danych istniejących kolumn, usuwać kolumny, a także zmieniać ograniczenia, takie jak klucze główne czy obce. Na przykład, w przypadku potrzeby dodania kolumny 'data_urodzenia' do tabeli 'użytkownicy', można użyć komendy: ALTER TABLE użytkownicy ADD data_urodzenia DATE;. Zmiany strukturalne są niezbędne, aby dostosować bazę danych do ewoluujących potrzeb aplikacji oraz do zapewnienia integralności danych. W praktyce, operacje te są często stosowane przy modernizacji aplikacji lub w odpowiedzi na zmieniające się wymagania biznesowe. Dobre praktyki wskazują, że przed wprowadzeniem zmian w strukturze tabeli warto wykonać kopię zapasową danych oraz przeanalizować wpływ tych zmian na istniejące zapytania i aplikacje, które korzystają z danej tabeli.

Pytanie 25

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

W języku C, aby zdefiniować stałą, należy zastosować

A. const
B. #INCLUDE
C. #CONST
D. static
Wybór niewłaściwego słowa kluczowego do deklaracji stałych w języku C może prowadzić do poważnych nieporozumień. W przypadku użycia 'static', programista może myśleć, że ta deklaracja ma na celu utrzymanie wartości zmiennej pomiędzy wywołaniami funkcji, ale statyczne zmienne w rzeczywistości nie są stałymi. Wartość 'static' oznacza, że zmienna zachowuje swoją wartość pomiędzy wywołaniami funkcji, jednak jej wartość może być zmieniana, co jest sprzeczne z zamiarem stałej. Ponadto, użycie '#CONST' jest błędne, ponieważ nie istnieje takie preprocesorowe polecenie w języku C. W praktyce polecenia preprocesora są używane do wstępnej obróbki kodu przed jego kompilacją, a nie do deklaracji stałych. Ostatnia opcja, '#INCLUDE', służy do włączania plików nagłówkowych i nie ma żadnego związku z deklarowaniem stałych. Często programiści mogą mylić te terminy, co prowadzi do błędnych założeń dotyczących użycia statycznych zmiennych i stałych. Zrozumienie różnic pomiędzy tymi słowami kluczowymi jest kluczowe dla efektywnego programowania w C oraz dla unikania niezamierzonych błędów w kodzie. W praktyce, stosowanie właściwych słów kluczowych zgodnie z ich przeznaczeniem jest fundamentem poprawnego i wydajnego programowania.

Pytanie 27

W celu zmiany struktury tabeli w systemie MySQL trzeba wykonać polecenie

A. UPDATE
B. ALTER TABLE
C. GRANT
D. INSERT INTO
Odpowiedź 'ALTER TABLE' to strzał w dziesiątkę, bo to właśnie to polecenie w MySQL pozwala na zmiany w strukturze tabeli w bazach danych. Gdy używamy 'ALTER TABLE', możemy dodawać nowe kolumny, usuwać te, które już nie są potrzebne, albo zmieniać typ danych w kolumnach. Przykładowo, jeśli chcemy dodać kolumnę 'wiek' do tabeli 'pracownicy', używamy: ALTER TABLE pracownicy ADD COLUMN wiek INT;. A żeby usunąć kolumnę 'adres', wystarczy: ALTER TABLE pracownicy DROP COLUMN adres;. Pamiętaj przy tym, żeby zawsze sprawdzić, czy te zmiany nie będą miały negatywnego wpływu na dane oraz czy mamy odpowiednie uprawnienia. Osobiście uważam, że warto robić kopie zapasowe przed większymi zmianami, bo to może uratować skórę, gdy coś pójdzie nie tak. Dobry sposób na to, by być pewnym siebie w pracy z bazami danych, to dobrze poznać 'ALTER TABLE' i jego możliwości.

Pytanie 28

Program debugger służy do

A. analizy wykonywanego programu w celu lokalizacji błędów.
B. tłumaczenia kodu zapisanego językiem wyższego poziomu na język maszynowy.
C. interpretacji kodu w wirtualnej maszynie Java.
D. analizy kodu źródłowego w celu odnalezienia błędów składniowych.
W tym pytaniu łatwo się pomylić, bo kilka pojęć brzmi podobnie, ale dotyczy zupełnie innych narzędzi. Debugger nie służy ani do interpretacji kodu, ani do kompilacji, ani do sprawdzania samej składni. To narzędzie do analizy programu w trakcie jego działania. Czyli nie patrzymy tylko na kod źródłowy, ale na to, jak program faktycznie się wykonuje krok po kroku. Interpretacja kodu w wirtualnej maszynie Java to zadanie interpretera/JVM. Maszyna wirtualna Javy pobiera bajtkod (plik .class) i go wykonuje, optymalizuje, czasem kompiluje JIT-em do kodu maszynowego. To zupełnie inna warstwa niż debugowanie. Debugger może się podłączyć do JVM, ale sam z siebie nie interpretuje kodu. To typowe pomylenie roli środowiska uruchomieniowego z narzędziem diagnostycznym. Analiza kodu źródłowego w celu znalezienia błędów składniowych też nie jest zadaniem debuggera. Błędy składniowe wychwytuje kompilator albo linter, ewentualnie statyczna analiza kodu. Debugger działa dopiero, gdy program się kompiluje i da się go uruchomić. Jeśli są błędy składni, program w ogóle nie wystartuje, więc nie ma co debugować. Częsty błąd myślowy jest taki, że „narzędzie do błędów” musi ogarniać wszystkie rodzaje błędów. W praktyce dzieli się to na: składniowe (kompilator), logiczne i wykonania (debugger), a także problemy jakościowe (analiza statyczna, testy). Tłumaczenie kodu z języka wysokiego poziomu na maszynowy to z kolei klasyczna rola kompilatora. Kompilator generuje kod wynikowy (np. plik .exe czy .class), a debugger ten gotowy program tylko obserwuje i steruje jego wykonaniem. Moim zdaniem warto jasno rozdzielić te pojęcia: kompilator kompiluje, interpreter wykonuje, a debugger pomaga nam zrozumieć i naprawić działający program, śledząc jego zachowanie, zmienne i przepływ sterowania. To pomaga unikać mieszania narzędzi, co później bardzo ułatwia naukę bardziej zaawansowanych technologii.

Pytanie 29

W PHP typ float oznacza

A. typ logiczny
B. typ łańcuchowy
C. typ całkowity
D. typ zmiennoprzecinkowy
W języku PHP typ 'float' jest używany do reprezentacji liczb zmiennoprzecinkowych, co oznacza, że może on przechowywać liczby z częścią dziesiętną. Jest to kluczowy element programowania, ponieważ pozwala na bardziej precyzyjne obliczenia, które są niezbędne w wielu zastosowaniach, takich jak obliczenia finansowe czy analizy naukowe. Dzięki użyciu typu float, programiści mogą używać skomplikowanych algorytmów, które wymagają operacji na liczbach niecałkowitych. W praktyce, kiedy potrzebujemy obliczyć ceny z podatkiem lub odsetkami, użycie float pozwala na dokładniejsze wyniki niż w przypadku typów całkowitych. Należy również pamiętać, że przy pracy z typem float warto stosować funkcje takie jak round(), aby uniknąć problemów z precyzją wyników, które mogą wynikać z ograniczeń reprezentacji liczb zmiennoprzecinkowych w pamięci komputera. Warto także zaznaczyć, że zgodnie z dokumentacją PHP, float jest zgodny z standardem IEEE 754, co zapewnia jego szeroką kompatybilność z innymi systemami oraz językami programowania.

Pytanie 30

Przedstawiona linia kreskowa w stylu obramowania CSS jest określona własnością

Ilustracja do pytania
A. dashed
B. doted
C. solid
D. double
Dobrze zrozumiałeś temat. Linia kreskowa w stylu CSS jest określana właściwością 'dashed'. Jest to jedna z kilku wartości, które można przypisać właściwości 'border-style' w języku CSS, aby manipulować wyglądem obramowania elementu. Stosowanie różnych styli linii pozwala na tworzenie bardziej skomplikowanych i estetycznie przyjemnych projektów. Na przykład, styl 'dashed' może być używany do zaznaczania linków lub przycisków, aby zwrócić uwagę użytkownika. Ważne jest jednak, aby zawsze pamiętać o utrzymaniu konsekwencji w projektowaniu stron internetowych. Dobre praktyki zalecają, aby wybierać styl obramowania, który najlepiej pasuje do ogólnego stylu strony. Podsumowując, właściwość 'border-style' jest kluczowym narzędziem w projektowaniu stron internetowych.

Pytanie 31

Jakie jest zadanie funkcji PHP o nazwie mysql_select_db?

A. nawiązać połączenie bazy danych z serwerem SQL
B. wyznaczyć tabelę, z której będą pobierane informacje
C. wyznaczyć bazę, z której będą pobierane informacje
D. pobrać dane z bazy danych na podstawie zapytania
Funkcja PHP mysql_select_db() jest używana do wyboru aktywnej bazy danych w kontekście połączenia z serwerem MySQL. Jej głównym celem jest określenie, z której bazy danych będą pobierane dane podczas wykonywania zapytań SQL. Działa to w ten sposób, że po nawiązaniu połączenia z serwerem MySQL za pomocą funkcji mysql_connect(), musimy wskazać, którą bazę danych chcemy używać. Przykład użycia to: mysql_select_db('nazwa_bazy');. Jeśli baza danych o podanej nazwie istnieje, zostaje ustawiona jako aktywna i wszystkie subsequentne zapytania będą odnosiły się do tej bazy. Warto również zauważyć, że w nowszych wersjach PHP zaleca się korzystanie z rozszerzenia mysqli lub PDO, ponieważ mysql_select_db() oraz inne funkcje z rodziny mysql zostały usunięte w PHP 7. Standardy dotyczące korzystania z baz danych, takie jak SQL, wymagają, aby przed wykonaniem zapytania, zdefiniować bazę danych, co czyni mysql_select_db() kluczowym elementem zarządzania danymi.

Pytanie 32

Jakie zadanie wykonuje funkcja COUNT w języku SQL?

A. obliczenie wartości bezwzględnej w polu liczbowym
B. wyliczenie średniej wartości w danej kolumnie
C. zliczanie rekordów uzyskanych z kwerendy
D. liczenie znaków w polu tekstowym
Funkcja COUNT w języku SQL jest jedną z najbardziej fundamentalnych funkcji agregujących, która służy do zliczania liczby rekordów w zestawie danych. Użycie tej funkcji jest kluczowe w kontekście analizy danych, ponieważ pozwala na szybkie uzyskanie informacji o ilości danych, które spełniają określone kryteria. Przykład użycia COUNT może wyglądać następująco: SELECT COUNT(*) FROM klienci WHERE kraj = 'Polska'; Taki zapytanie zwróci liczbę wszystkich klientów z Polski. Funkcja COUNT jest również używana w połączeniu z klauzulą GROUP BY, co umożliwia zliczanie rekordów w podgrupach. Na przykład, SELECT kraj, COUNT(*) FROM klienci GROUP BY kraj; zliczy wszystkich klientów w każdym kraju. Warto podkreślić, że COUNT różni się od innych funkcji agregujących, takich jak AVG czy SUM, które obliczają wartości na podstawie danych, a nie zliczają ich. Funkcja COUNT jest zgodna z normami SQL-92 i jest wspierana przez wszystkie popularne systemy zarządzania bazami danych, co czyni ją uniwersalnym narzędziem w pracy z danymi.

Pytanie 33

W języku JavaScript, aby zweryfikować, czy liczba mieści się w zakresie (100;200>, należy użyć zapisu:

A. if (liczba > 100 && liczba <= 200)
B. if (liczba > 100 || liczba <= 200)
C. if (liczba < 100 || liczba >= 200)
D. if (liczba < 100 && liczba <= 200)
Zaznaczyłeś odpowiedź 'if (liczba > 100 && liczba <= 200)', i to jest całkiem trafne! Warunek ten sprawdza, czy liczba jest w przedziale od 100 do 200, co jest mega ważne. Wiesz, '>' oznacza, że liczba musi być większa niż 100, a '<=' pozwala na 200, ale nic większego. To coś, co często wykorzystujemy w programach, żeby kontrolować dane od użytkowników. Jak na przykład przy rejestracji – chcemy mieć pewność, że wszystko jest w normie. Umiejętność walidacji danych to kluczowa sprawa w programowaniu, bo dzięki temu możemy unikać różnych błędów. Fajnie, że zauważasz, jak operatory logiczne, takie jak '&&', mogą pomóc w budowaniu bardziej złożonych warunków – to czyni nasze aplikacje lepszymi. Ważne, żebyś rozumiał, jak to działa, bo to na pewno przyda się w przyszłości!

Pytanie 34

Jaką klauzulę należy użyć w instrukcji CREATE TABLE w SQL, żeby pole rekordu nie mogło być puste?

A. NULL
B. CHECK
C. NOT NULL
D. DEFAULT
Klauzula NOT NULL w poleceniu CREATE TABLE języka SQL służy do zapewnienia, że dane w danym polu rekordu nie mogą być puste. To oznacza, że podczas wstawiania nowych rekordów do tabeli, każde pole, które zostało zdefiniowane z tą klauzulą, musi zawierać wartość. Na przykład, jeśli mamy tabelę pracowników, w której kolumna 'nazwisko' jest zdefiniowana jako NOT NULL, to każde dodanie nowego pracownika do tej tabeli musi zawierać wartość w kolumnie 'nazwisko'. W praktyce jest to bardzo ważne, ponieważ pozwala na utrzymanie integralności danych i zapobiega sytuacjom, w których kluczowe informacje mogłyby zostać pominięte. Użycie NOT NULL jest zgodne z dobrymi praktykami projektowania baz danych, które podkreślają znaczenie pełnych i kompletnych danych. Zastosowanie tej klauzuli zwiększa jakość danych oraz ułatwia późniejsze operacje na tabeli, takie jak zapytania czy raporty.

Pytanie 35

Jakie będzie rezultatem działania poniższego kodu PHP?

$a = $c = true; 
$b = $d = false;
if(($a && $b) || ($c && $d)) echo 'warunek1';
elseif(($a && $b) || ($c || $d)) echo 'warunek2';
elseif(($c && $d) || (!$a)) echo 'warunek3';
else echo 'warunek4';
A. warunek1
B. warunek3
C. warunek2
D. warunek4
Analizowany kod PHP to przykład użycia operatorów logicznych w strukturze sterującej if-else, gdzie każda z odpowiedzi reprezentuje wynik działania konkretnego bloku kodu. Zmienna $a i $c są zainicjalizowane jako true, natomiast $b i $d jako false. Zrozumienie tego jest kluczowe dla poprawnej analizy logicznej. Pierwszy warunek if z ($a && $b) || ($c && $d) nie zostaje spełniony, ponieważ zarówno (true && false) jak i (true && false) zwracają false, co skutkuje false || false, czyli false. Kolejna sekcja elseif obejmuje ($a && $b) || ($c || $d). Tutaj (true && false) zwraca false, ale (true || false) daje true, co prowadzi do false || true, czyli true, co spełnia warunek i 'warunek2' zostaje wyświetlony. Trzeci warunek elseif, sprawdzający ($c && $d) || (!$a), nie jest rozpatrywany, ponieważ poprzedni warunek był już true. Warto podkreślić znaczenie logicznych operatorów w programowaniu: && i || odpowiadają za łączenie warunków, a ich poprawne zrozumienie pozwala na efektywne modelowanie logiki aplikacji. Typowym błędem jest mylenie znaczenia tych operatorów, co może prowadzić do błędnych decyzji warunkowych w kodzie. Programiści powinni zawsze upewniać się, że logika warunków jest zgodna z zamierzonym działaniem programu, a testowanie jest kluczowym elementem tego procesu. Zastosowanie testów jednostkowych może pomóc w zapewnieniu prawidłowego działania skomplikowanych struktur logicznych, pozwalając na wykrycie i korektę potencjalnych błędów logicznych.

Pytanie 36

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

A. CREATE USER `sekretarka`@`localhost` IDENTIFY BY `zaq123`;
B. CREATE USER 'sekretarka'@'localhost' IDENTIFIED `zaq123`;
C. CREATE USER `sekretarka`@`localhost` IDENTIFIED BY 'zaq123';
D. CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123";
Odpowiedź "CREATE USER `sekretarka`@`localhost` IDENTIFIED BY 'zaq123';" jest prawidłowa, ponieważ wykorzystuje poprawną składnię do tworzenia nowego użytkownika w systemie zarządzania bazą danych MySQL. Kluczowe jest użycie słowa kluczowego 'IDENTIFIED BY', które wskazuje, że podane hasło ('zaq123') ma być powiązane z nowym użytkownikiem. Wartości w apostrofach są odpowiednie dla łańcuchów tekstowych w SQL, co jest zgodne z dobrymi praktykami programowania w MySQL. W praktyce, tworzenie użytkowników z odpowiednimi uprawnieniami jest niezbędne do zarządzania dostępem do bazy danych oraz zapewnienia bezpieczeństwa. Dobrą praktyką jest stosowanie silnych haseł oraz regularne audyty kont użytkowników. Warto również zwrócić uwagę na konwencje nazewnictwa oraz ograniczenia w zakresie adresów IP, co ma znaczenie w kontekście bezpieczeństwa i zarządzania użytkownikami w systemie zarządzania bazą danych.

Pytanie 37

Zaprezentowano tabelę stworzoną przy użyciu kodu HTML, bez zastosowania stylów CSS. Która część kodu HTML odnosi się do pierwszego wiersza tabeli?

Ilustracja do pytania
A. Rys. C
B. Rys. D
C. Rys. B
D. Rys. A
Pierwszy wiersz tabeli HTML zazwyczaj zawiera nagłówki kolumn i jest oznaczony za pomocą znaczników <th> (table header). Zgodnie z dobrymi praktykami tworzenia tabel w HTML, nagłówki powinny być oddzielone od danych, aby poprawić zarówno estetykę, jak i funkcjonalność tabeli. W odpowiedzi Rys. D użyto znaczników <th> co poprawnie definiuje nagłówki kolumn. W ten sposób przeglądarki potrafią wyróżnić nagłówki, np. poprzez pogrubienie tekstu, co jest domyślnym zachowaniem. Zastosowanie <th> poprawia również dostępność tabel, ponieważ technologie asystujące lepiej interpretują strukturę danych w tabelach, co jest zgodne z wytycznymi WCAG (Web Content Accessibility Guidelines). Korzystając z <th>, można dodatkowo określić atrybut scope, który jeszcze bardziej precyzuje relacje w tabeli, co jest szczególnie przydatne w bardziej złożonych strukturach. W praktyce, kiedy projektujemy strony internetowe, stosowanie prawidłowych znaczników semantycznych jest kluczowe dla tworzenia zrozumiałego i dostępnego interfejsu użytkownika. Dlatego też wybór fragmentu z <th> jako reprezentującego pierwszy wiersz tabeli jest zgodny z zaleceniami i standardami nowoczesnego front-endu.

Pytanie 38

Aby określić styl czcionki w CSS, należy zastosować właściwość

A. text-family
B. text-style
C. font-style
D. font-family
Właściwość CSS 'font-family' jest kluczowym elementem definiowania kroju czcionki w stylach CSS. Umożliwia ona określenie, jaki krój czcionki ma być użyty dla danego elementu na stronie. Możemy podać pojedynczy krój czcionki, na przykład 'Arial', lub listę alternatywnych krojów, jak 'Helvetica, sans-serif', co zapewnia większą elastyczność w przypadku, gdy wybrany krój nie jest dostępny na urządzeniu użytkownika. Zaleca się również stosowanie nazw krojów czcionek w postaci cudzysłowów, zwłaszcza jeśli nazwa zawiera spacje, jak 'Times New Roman'. Zgodnie z najlepszymi praktykami, dobór odpowiedniego kroju czcionki jest kluczowy dla czytelności i estetyki strony, dlatego warto przeprowadzić testy A/B, aby sprawdzić, które krój czcionki lepiej wpływa na doświadczenia użytkowników. Oprócz 'font-family', warto również zwrócić uwagę na inne właściwości, takie jak 'font-size', 'font-weight' czy 'line-height', które wspólnie kształtują wygląd tekstu na stronie.

Pytanie 39

Kod JavaScript uruchomiony w wyniku kliknięcia przycisku ma na celu <img id="i1" src="obraz1.gif"> <button onclick="document.getElementById('i1').src='obraz2.gif'"> test</button>

A. zamienić obraz1.gif na obraz2.gif
B. ukryć obraz2.gif
C. zmienić styl obrazu o id równym i1
D. wyświetlić obraz2.gif obok obraz1.gif
Odpowiedź 'zamienić obraz1.gif na obraz2.gif' jest poprawna, ponieważ kod JavaScript w przycisku jest odpowiedzialny za zmianę źródła obrazu. W momencie kliknięcia przycisku, funkcja `document.getElementById('i1').src='obraz2.gif'` przypisuje nowe źródło do elementu o identyfikatorze 'i1', co efektywnie powoduje wyświetlenie obraz2.gif zamiast obraz1.gif. Tego typu manipulacje DOM są powszechnie stosowane w interaktywnych aplikacjach webowych, gdzie użytkownik wchodzi w interakcję z różnymi elementami. Przykładem zastosowania tej techniki może być tworzenie galerii zdjęć, gdzie użytkownik klika na miniaturkę, a główny obrazek zostaje zmieniony na wybrane zdjęcie. Warto również zauważyć, że ta zmiana jest realizowana bez potrzeby reładowania strony, co znacząco poprawia doświadczenie użytkownika. Takie podejście jest zgodne z dobrymi praktykami w zakresie tworzenia dynamicznych interfejsów użytkownika.

Pytanie 40

Kod JavaScript ma za zadanie szukanie wartości maksymalnej w tablicy. Wskaż błąd występujący w skrypcie.

14      max = tablica[0];
15      for (j == 1; j < 9; j++) {
16          if (max <= tablica[j]) {
17              max = tablica[j];
18          };
19      };
20      document.write("Największy element tablicy to: " + max);
A. Warunek w linii 16 powinien być odwrócony.
B. Zastosowano operator porównania zamiast przypisania w linii 15.
C. Kod zapisany w linii 20 ma nieprawidłową składnię.
D. Zmienna max ma niewłaściwie przypisaną wartość w linii 14.
W tym fragmencie kodu kluczowy problem faktycznie leży w linii 15, gdzie użyto operatora porównania `==` zamiast operatora przypisania `=`. W pętli `for` pierwsza część ma inicjalizować zmienną sterującą, czyli w JavaScripcie poprawny zapis to `for (j = 1; j < 9; j++) { ... }`. Konstrukcja `j == 1` nie ustawia wartości zmiennej, tylko porównuje bieżącą wartość `j` z liczbą 1 i zwraca wynik logiczny `true` lub `false`. W efekcie interpreter próbuje potraktować wynik porównania jako wyrażenie inicjalizujące, co jest po prostu błędem składniowym i skrypt się nie wykona. Z mojego doświadczenia to bardzo częsty błąd: programista myśli o „ustawieniu” wartości i z przyzwyczajenia wpisuje podwójny znak równości. Dlatego w językach takich jak JavaScript, C, Java trzeba mocno pilnować rozróżnienia: `=` oznacza przypisanie, `==` porównanie wartości (a `===` porównanie wartości i typu). Cała reszta algorytmu wyszukiwania maksimum jest w porządku: najpierw przypisujemy do `max` pierwszy element tablicy, potem w pętli przechodzimy kolejne elementy i jeśli aktualny element jest większy lub równy `max`, to aktualizujemy zmienną `max`. Taki schemat jest klasycznym algorytmem liniowego wyszukiwania wartości maksymalnej. W praktyce, gdy piszesz kod produkcyjny, warto dodatkowo zadbać o deklarację zmiennych (`let j = 1;`, `let max = tablica[0];`) oraz używać długości tablicy (`j < tablica.length`) zamiast stałej liczby 9, żeby kod był odporny na zmiany i łatwiejszy w utrzymaniu. W narzędziach typu ESLint często jest też reguła wychwytująca przypadkowe użycie `==` tam, gdzie spodziewane jest `=`, właśnie po to, żeby unikać takich subtelnych, ale groźnych pomyłek.