Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Rozpoczęcie: 7 czerwca 2026 22:31
Zakończenie: 7 czerwca 2026 22:51
Egzamin zdany!
Wynik: 24/40 punktów (60,0%)
Wymagane minimum: 20 punktów (50%)
Twój wynik na tle innych
Twój wynik jest lepszy niż 39% podejść do kwalifikacji INF.03.
Porównanie z 39494 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).
Zachowaj ten wynik na koncie
Załóż darmowe konto albo zaloguj się - ten egzamin przypiszemy do Twojego konta, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.
Jaką wartość zwróci funkcja zao, która została zdefiniowana w języku C++, gdy zostanie wywołana z argumentem 3.55?
intzao(floatx) {returnx+0.5;}
A. 4
B. 3
C. 4.05
D. 3.5
Wartości zwracane przez funkcje w C++ mogą być mylące, gdy nie zrozumiemy, jak działa zaokrąglanie i operacje na liczbach zmiennoprzecinkowych. Rozważając odpowiedzi 3, 3.5 i 4.05, można zauważyć, że każda z tych odpowiedzi opiera się na błędnym zrozumieniu zastosowania funkcji zaofloat. Odpowiedź 3 wynika z błędu myślowego, który zakłada, że dodanie 0.5 do wartości 3.55 skutkuje zmniejszeniem wartości do najbliższej liczby całkowitej, co jest niezgodne z zasadami matematycznymi. Z kolei odpowiedź 3.5 może wydawać się logiczna dla kogoś, kto może pomyśleć, że dodanie 0.5 w jakimś sensie zmienia wartość do tej liczby, jednak w rzeczywistości, gdyby tak było, funkcja nie spełniałaby swojej podstawowej roli. Odpowiedź 4.05, mimo że jest poprawnym wynikiem dodania do 3.55 wartości 0.5, nie jest właściwą odpowiedzią w kontekście pytania, ponieważ nie uwzględnia zasady zaokrąglania do najbliższej liczby całkowitej. W praktyce programiści często napotykają podobne problemy i dlatego dobrym zwyczajem jest, aby jasno określać wymagania dotyczące wyników i stosować odpowiednie metody zaokrąglania, kiedy to konieczne, aby uniknąć nieporozumień.
Pytanie 2
Po wykonaniu poniższego fragmentu kodu w języku C/C++, zmiennej o nazwie zmienna2 przypisany zostanie
intzmienna1=158;int*zmienna2= &zmienna1;
A. wartość przechowywana w zmienna1 zostanie przypisana jako zamieniona na łańcuch
B. liczba w kodzie binarnym, która odpowiada wartości przechowywanej w zmienna1, zostanie przypisana
C. adres zmiennej o nazwie zmienna1 zostanie przypisany
D. ta sama wartość, którą zawiera zmienna1, zostanie przypisana
W przedstawionym kodzie zmiennej o nazwie zmienna2 przypisywany jest adres zmiennej zmienna1, co jest typowym działaniem przy pracy z wskaźnikami w języku C/C++. Wskaźniki są zmiennymi, które przechowują adresy innych zmiennych. W przypadku użycia operatora & przed zmienną zmienna1, otrzymujemy jej adres w pamięci. Przykładowo, jeśli chcemy przekazać zmienną do funkcji, ale nie chcemy kopiować jej wartości, możemy użyć wskaźników, co jest wydajniejsze, zwłaszcza w przypadku dużych struktur czy obiektów. Pomaga to także w implementacji złożonych struktur danych, takich jak listy, drzewa czy grafy. Znajomość wskaźników jest kluczowa dla programistów w C/C++, jednocześnie umożliwiając optymalizację kodu oraz efektywne zarządzanie pamięcią, co jest zgodne z najlepszymi praktykami programowania.
Pytanie 3
Określ rodzaj powiązania pomiędzy tabelami: Tabela1 oraz Tabela3
A. Wiele do jednego
B. Wiele do wielu
C. Jeden do wielu
D. Jeden do jednego
Relacja wiele do wielu między tabelami Tabela1 i Tabela3 jest prawidłowym rozwiązaniem, ponieważ relacja ta umożliwia powiązanie wielu rekordów z jednej tabeli z wieloma rekordami z drugiej tabeli. W kontekście przedstawionego schematu baz danych, tabela Tabela1 przechowuje informacje o uczniach, podczas gdy Tabela3 zawiera dane o nauczycielach. Tabela2 pełni rolę tabeli pośredniej, zawierającej klucze obce, które łączą ID_Ucznia z ID_Nauczyciela za pomocą ID_Przedmiotu jako dodatkowego klucza. To podejście jest powszechnie stosowane w projektowaniu baz danych, aby zapewnić elastyczność i możliwość zaawansowanej analizy danych, np. którzy uczniowie mają zajęcia z jakimi nauczycielami. W praktyce takie rozwiązanie stosuje się w systemach edukacyjnych, gdzie każdy uczeń może uczęszczać na zajęcia prowadzone przez różnych nauczycieli, a każdy nauczyciel może prowadzić zajęcia dla wielu uczniów. Standardy projektowania relacyjnych baz danych, takie jak normalizacja, zalecają tego rodzaju architekturę, aby uniknąć redundancji danych i umożliwić efektywne zarządzanie złożonymi relacjami. Tabele pośrednie, takie jak Tabela2, są kluczowym elementem w tworzeniu relacji wiele do wielu, ponieważ umożliwiają mapowanie skomplikowanych powiązań w sposób technicznie poprawny i zrozumiały dla użytkowników systemu.
Pytanie 4
Aby w tabeli praca, tworzonej w języku SQL, dodać do kolumny stawka warunek, który wymusza, aby przyjmowane były jedynie wartości dodatnie, a jednocześnie mniejsze niż 50, należy zastosować zapis
A. … stawka foat CHECK (stawka>0 AND stawka<50.00)
B. … stawka foat CHECK (stawka IN (0, 50.00))
C. … stawka foat CHECK (stawka>0 OR stawka<50.00)
D. … stawka foat CHECK (stawka BETWEEN 0 AND 50.00)
Poprawna odpowiedź to zapis '… stawka foat CHECK (stawka>0 AND stawka<50.00)', ponieważ warunek ten precyzyjnie określa, że wartość w kolumnie 'stawka' musi być większa od zera oraz mniejsza od 50, co oznacza, że akceptowane będą tylko rzeczywiste wartości dodatnie mieszczące się w tym przedziale. Zastosowanie warunku CHECK jest kluczowym elementem w zapewnieniu integralności danych w bazach danych. Dzięki temu, przy wstawianiu lub aktualizacji danych w tabeli 'praca', system zablokuje wszelkie operacje, które nie spełniają tego kryterium, co z kolei zapobiega wprowadzaniu błędnych danych. W praktyce, stosowanie takich warunków w definicji kolumn w SQL jest zgodne z dobrymi praktykami projektowania baz danych, które kładą nacisk na walidację danych już na poziomie schematu bazy. Przykładowo, jeżeli chcemy zapewnić, aby stawka wynagrodzenia pracowników nie przekraczała określonego limitu, stosowanie CHECK z warunkiem 'stawka<50.00' stanowi efektywny sposób na wymuszenie tej zasady. Tego rodzaju rozwiązania nie tylko poprawiają jakość danych, ale również ułatwiają przyszłe analizy statystyczne oraz raportowanie.
Pytanie 5
W języku JavaScript funkcja getElementById odnosi się do
A. klasy zdefiniowanej w CSS
B. zmiennej numerycznej
C. elementu HTML z podanym id
D. elementu HTML z określoną nazwą klasy
Metoda getElementById w języku JavaScript jest kluczowym narzędziem do manipulacji DOM (Document Object Model), które pozwala deweloperom na łatwe odwoływanie się do konkretnych elementów HTML za pomocą ich atrybutu id. Dzięki temu, możemy dynamicznie zmieniać treść, style lub atrybuty tych elementów, co jest niezwykle przydatne w tworzeniu interaktywnych stron internetowych. Na przykład, jeśli mamy element HTML z atrybutem id='header', możemy użyć `document.getElementById('header')` do uzyskania do niego dostępu. To podejście jest zgodne z zasadami poprawnej struktury HTML, gdzie atrybut id powinien być unikalny w obrębie dokumentu. Rekomendowane jest, aby id było zrozumiałe i jasno określało zawartość elementu, co ułatwia późniejszą nawigację i skrypty, a także poprawia dostępność strony. W praktyce, korzystając z getElementById, możemy na przykład zmieniać tekst nagłówka: `document.getElementById('header').innerText = 'Nowy nagłówek';`.
Pytanie 6
Aby obraz dodany za pomocą kodu HTML był zrozumiały dla programów wspierających osoby niewidome, konieczne jest zdefiniowanie atrybutu
A. alt
B. src
C. sizes
D. border
Atrybut 'alt' w znaczniku <img> jest kluczowy dla dostępności treści internetowych. Jego główną funkcją jest dostarczenie alternatywnego opisu obrazu, który jest odczytywany przez programy wspierające osoby niewidome i niedowidzące, takie jak czytniki ekranu. Dzięki atrybutowi 'alt', użytkownicy, którzy nie mogą zobaczyć obrazu, są w stanie zrozumieć, co on przedstawia. Na przykład, jeśli obrazek przedstawia psa bawiącego się w parku, odpowiednia treść atrybutu 'alt' mogłaby brzmieć: 'Pies bawiący się w parku'. To nie tylko zwiększa dostępność strony, ale również poprawia doświadczenia użytkowników. Zgodnie z wytycznymi WCAG (Web Content Accessibility Guidelines), dostarczenie tekstu alternatywnego dla wszystkich obrazów jest niezbędne do zapewnienia pełnej dostępności treści. Przykład zastosowania: W przypadku strony e-commerce, gdzie obrazy produktów są kluczowe, odpowiednio zdefiniowany atrybut 'alt' pozwala osobom z ograniczeniami wzrokowymi na pełne zrozumienie oferty, co może wpłynąć na ich decyzje zakupowe.
Pytanie 7
Który standard wideo cechuje się rozdzielczością 1920 × 1080 pikseli?
A. HD Ready
B. 4K
C. Full HD
D. Ultra HD
Full HD (oznaczane też 1080p) to standard rozdzielczości 1920 × 1080 pikseli - powszechny w telewizorach, monitorach i nagraniach wideo. „p” oznacza skanowanie progresywne (pełne klatki). Wyższe standardy to 4K / Ultra HD (3840 × 2160), a niższy popularny to HD Ready (1280 × 720). Im więcej pikseli, tym ostrzejszy obraz. Dlatego 1920 × 1080 to rozdzielczość Full HD.
Pytanie 8
W CSS określono stylizację dla paragrafu, która nada mu następujące właściwości:
A. tło niebieskie, kolor tekstu czerwony, marginesy zewnętrzne ustawione na wartość 40 px
B. tło czerwone, kolor tekstu niebieski, marginesy zewnętrzne ustawione na wartość 40 px
C. tło czerwone, kolor tekstu niebieski, marginesy wewnętrzne ustawione na wartość 40 px
D. tło niebieskie, kolor tekstu czerwony, marginesy wewnętrzne ustawione na wartość 40 px
W CSS stylizacja elementów HTML jest kluczowa dla tworzenia estetycznych i funkcjonalnych stron internetowych W przypadku tego pytania analizujemy przypisanie właściwości stylu do elementu paragrafu Kod CSS background-color red ustawia tło na czerwone color blue przypisuje niebieski kolor tekstu natomiast margin 40px ustawia marginesy zewnętrzne wokół elementu na 40 pikseli Każda z tych właściwości pełni określoną rolę background-color odnosi się do koloru tła całego elementu co jest przydatne w wyróżnianiu lub oddzielaniu sekcji strony color zmienia kolor tekstu co jest istotne dla czytelności i estetyki treści natomiast margin wpływa na odstęp pomiędzy elementami zapewniając przejrzystość i poprawne rozmieszczenie na stronie Zrozumienie tych właściwości jest kluczowe dla projektowania responsywnych i estetycznych stron internetowych W praktyce używa się ich do tworzenia interfejsów które są atrakcyjne wizualnie i funkcjonalne dla użytkowników Zgodnie z dobrymi praktykami warto dbać o kontrast i spójność wizualną co jest bezpośrednio związane z omawianymi właściwościami
Pytanie 9
Co oznacza termin „upload” danych?
A. opóźnienie w transmisji pliku
B. pobieranie plików z serwera
C. przesyłanie plików na serwer
D. trasę transferu pliku
Termin „upload” oznacza PRZESYŁANIE plików z komputera użytkownika NA serwer - np. wgranie zdjęcia czy plików witryny przez FTP. To kierunek „w górę”, do serwera. Dlatego upload to przesyłanie plików na serwer.
Pytanie 10
Który z grafikowych formatów umożliwia zapis przezroczystego tła?
A. JPEG
B. GIF
C. RAW
D. BMP
RAW to format, który przechowuje dane obrazu w formie nieprzetworzonej, co oznacza, że nie zawiera informacji o przejrzystości. Pliki RAW są wykorzystywane głównie w profesjonalnej fotografii, gdzie istotne jest zachowanie jak największej ilości szczegółów w obrazie, jednak nie oferują one żadnej funkcji przejrzystości, co czyni je nieodpowiednimi do zastosowań, gdzie przezroczystość tła jest kluczowa. BMP (Bitmap) to kolejny format, który nie wspiera przezroczystości. Jest to format bezstratny, który przechowuje szczegółowe informacje o każdym pikselu, ale nie umożliwia określenia żadnego koloru jako przezroczystego. BMP jest szeroko stosowany w aplikacjach graficznych, jednak jego duża objętość plików oraz brak wsparcia dla przezroczystości ogranicza jego zastosowanie w sieci. JPEG to format skompresowany, który również nie obsługuje przejrzystości. Chociaż JPEG jest świetny do przechowywania zdjęć ze względu na jego zdolność do kompresji z zachowaniem jakości, nie jest w stanie zapisać informacji o przezroczystości, co czyni go mało użytecznym w sytuacjach, w których wymagane jest zastosowanie przezroczystego tła. W związku z tym, dla projektów wymagających przezroczystości, format GIF pozostaje najlepszym wyborem.
Pytanie 11
Co spowoduje zapis
h2{background-color:green;}
?
A. zieloną czcionkę wszystkich nagłówków
B. zieloną czcionkę nagłówków drugiego poziomu
C. zielone tło całej strony
D. zielone tło nagłówków drugiego poziomu (<h2>)
Reguła h2{background-color:green;} ustawia zielone TŁO elementom <h2>, czyli nagłówkom drugiego poziomu. Selektor h2 ogranicza działanie tylko do tych nagłówków. Dlatego daje zielone tło nagłówków <h2>.
Pytanie 12
Fragment formularza zaprezentowany powyżej został przetworzony w skrypcie PHP. Wskaż poprawny sposób pobierania wartości z pola edycyjnego.
A. $name = $POST['Imię']
B. $name = $_POST['imie']
C. name = $_GET[imie]
D. name = GET['imie']
W przypadku niepoprawnych odpowiedzi kluczowym problemem jest niezrozumienie sposobu działania metod przesyłania danych w HTTP oraz odpowiedniego ich odczytywania w PHP. Odpowiedź z użyciem GET['imie'] pomija istotny element składniowy: znak dolara ($) przed GET, co jest konieczne w PHP dla wszystkich zmiennych. Ponadto, $_GET nie jest odpowiednia dla formularza, który został przesłany metodą POST jak w przedstawionym formularzu; użycie $_GET wskazuje na próbę pobrania danych z URL-a, co nie jest zgodne z metodą POST. Kolejna odpowiedź z użyciem $POST['Imię'] jest błędna z dwóch powodów: brak znaku dolara przy POST oraz niezachowanie poprawnej nazwy klucza który jest case-sensitive. Klucz 'Imię' różni się od 'imie' co prowadzi do błędu, gdy próbujemy odwołać się do nieistniejącego klucza. W PHP, nazwy kluczy w superglobalnych tablicach są case-sensitive, co oznacza, że każde odstępstwo od zadeklarowanej nazwy w formularzu będzie prowadziło do błędów. Te błędy często wynikają z pośpiechu lub niedokładności, co podkreśla wagę staranności i dokładności podczas pracy z kodem. Zarówno GET jak i POST mają swoje zastosowania, ale muszą być używane zgodnie z przeznaczeniem i w odpowiedni sposób, co jest kluczowe dla poprawnego działania aplikacji webowych. Zrozumienie tych różnic jest istotne dla programistów, aby unikać typowych pułapek związanych z bezpieczeństwem i funkcjonalnością aplikacji webowych. Poprawne użycie superglobalnych tablic PHP jest fundamentem tworzenia solidnych i bezpiecznych aplikacji internetowych.
Pytanie 13
Które stwierdzenie dotyczące antyaliasingu jest prawdziwe?
A. pozwala wyeliminować tzw. schodkowanie obrazu
B. to jeden z filtrów służących do wyostrzania obrazu
C. dotyczy krzywych Béziera w grafice wektorowej
D. stosuje się go, aby dodać obrazowi przezroczystość
Pozostałe stwierdzenia są fałszywe. Antyaliasing nie wyostrza obrazu - to robią osobne filtry o przeciwnym działaniu (podbijają kontrast krawędzi). Krzywe Béziera należą do grafiki wektorowej, gdzie schodkowanie nie występuje tak samo. Przezroczystość zapewnia kanał alfa. Antyaliasing usuwa schodkowanie.
Pytanie 14
Instrukcja języka PHP tworząca obiekt pkt dla zdefiniowanej w ramce klasy Punkt ma postać
class Punkt { public $x; public $y; }
A. pkt Punkt;
B. pkt Punkt();
C. pkt = new Punkt();
D. Punkt() pkt;
Twoja odpowiedź jest prawidłowa, gratuluję! W języku PHP, aby utworzyć nowy obiekt klasy, używamy słowa kluczowego 'new', a następnie nazwy klasy. Poprawna instrukcja, która tworzy obiekt 'pkt' klasy 'Punkt', ma więc postać '$pkt = new Punkt();'. Tę konstrukcję używamy, kiedy chcemy utworzyć nową instancję klasy. Warto pamiętać, że można tworzyć wiele obiektów tej samej klasy, a każdy z nich będzie miał własny zestaw danych (właściwości). Instancje klas są podstawą programowania obiektowego, które pozwala na tworzenie bardziej złożonych i łatwiejszych do zarządzania systemów. Dobre zrozumienie tego konceptu jest kluczowe dla efektywnego programowania w PHP.
Pytanie 15
W języku HTML atrybut shape w znaczniku area, który definiuje typ obszaru, może mieć wartość
A. poly, square, circle
B. rect, triangle, circle
C. rect, poly, circle
D. rect, square, circle
Atrybut shape znacznika area w języku HTML jest kluczowy dla określenia kształtu obszaru, który ma być interaktywny (klikany) w mapie obrazów. Prawidłowe wartości, które można przypisać temu atrybutowi, to rect, poly oraz circle. Każda z tych wartości odpowiada innemu typowi kształtu. Rect definiuje prostokąt, gdzie wymagane są cztery współrzędne (x1, y1, x2, y2), poly pozwala na tworzenie wielokątów o dowolnej liczbie boków poprzez podanie serii współrzędnych, a circle określa koło, które wymaga podania współrzędnych środka oraz promienia. Przykładem zastosowania może być umieszczenie mapy interaktywnej na stronie internetowej, gdzie każdy obszar obrazu prowadzi do innej podstrony. Przykładowy kod HTML może wyglądać tak: <map name='myMap'><area shape='rect' coords='34,44,270,350' href='link1.html'><area shape='circle' coords='337,300,44' href='link2.html'><area shape='poly' coords='200,10,250,100,150,100' href='link3.html'></map>, co ilustruje wykorzystanie tych kształtów w praktyce. Takie podejście poprawia dostępność i użyteczność strony, a także jest zgodne z najlepszymi praktykami w zakresie tworzenia responsywnych interfejsów użytkownika.
Pytanie 16
Jednym z atrybutów tabeli ksiazki jest pole czyWypozyczona, które może mieć dwie wartości: true lub false. Jaki typ danych będzie najbardziej odpowiedni dla tego pola?
A. VARCHAR(5)
B. CHAR
C. BOOLEAN
D. DOUBLE
Wybór typów DOUBLE, CHAR oraz VARCHAR(5) do reprezentowania stanu wypożyczenia książki jest nieadekwatny i może prowadzić do nieefektywnego zarządzania danymi. Typ DOUBLE, będący typem liczbowym zmiennoprzecinkowym, jest przeznaczony do przechowywania wartości numerycznych z wysoką precyzją, co jest całkowicie zbędne w kontekście binaryjnej reprezentacji stanu wypożyczenia. Użycie typu DOUBLE zwiększa obciążenie pamięci i niepotrzebnie komplikuje zapytania, co negatywnie wpływa na wydajność bazy danych. CHAR oraz VARCHAR(5) są typami tekstowymi, które również są niewłaściwe w tym kontekście. W przypadku CHAR, którego długość jest stała, musielibyśmy zarezerwować miejsce na cały ciąg znaków, co jest nieefektywne. Z kolei VARCHAR(5), choć jest dynamiczny, nadal nie odzwierciedla logicznego charakteru pola 'czyWypozyczona'. Zamiast prostego true/false, wprowadzamy zbędne komplikacje przy operacjach porównawczych i filtracji. Tego rodzaju błędne podejście może wynikać z mylenia reprezentacji danych - niektóre osoby mogą sądzić, że tekstowe lub liczbowe reprezentacje zapewniają większą elastyczność, co jest mylnym przekonaniem. Kluczowe w projektowaniu baz danych jest dobieranie typów danych odpowiednio do ich przeznaczenia, a w przypadku wartości logicznych najlepszym wyborem jest typ BOOLEAN.
Pytanie 17
Jaki jest wynik wykonania pętli for w poniższym kodzie PHP, jeśli chodzi o wypisanie liczb?
Pętla for w kodzie PHP inicjuje zmienną i wartością 5 i iteruje dopóki i jest większe niż 1 zmniejszając wartość i o 2 w każdej iteracji. Wewnętrznie pętla wyświetla wartość wyrażenia i % 2 czyli resztę z dzielenia i przez 2. W przypadku początkowej wartości i równej 5 reszta z dzielenia 5 przez 2 wynosi 1. Następnie wartość i jest zmniejszana o 2 dając 3 dla której reszta dzielenia przez 2 również wynosi 1. W ostatniej iteracji i przyjmuje wartość 1 i pętla się kończy ponieważ warunek i > 1 nie jest już spełniony. Dlatego wynikiem działania tej pętli jest 1 1. Warto zauważyć że użycie operatora modulo jest powszechną praktyką w programowaniu do określania parzystości liczby. Często wykorzystuje się go w algorytmach które wymagają naprzemiennego wykonania operacji lub filtrowania danych. Kod demonstruje także jak efektywnie kontrolować przepływ pętli za pomocą warunku zakończenia i modyfikacji zmiennej sterującej co jest kluczowe w optymalizacji algorytmów.
Pytanie 18
Dla jakiej wartości zmiennej x instrukcja warunkowa w JavaScript jest spełniona?
if ((x < -5) || (x > 2)) x++;
A. 2
B. -1
C. 3
D. -4
Analizując dostarczone odpowiedzi, kluczowe jest zrozumienie działania operatora logicznego OR oraz warunków logicznych w języku JavaScript. Instrukcja warunkowa wykonuje się, jeśli którykolwiek z warunków jest prawdziwy. Przy wartości x równej -4, żaden z warunków (x < -5) lub (x > 2) nie jest spełniony, ponieważ -4 jest większe niż -5 i mniejsze niż 2, więc instrukcja x++ się nie wykona. Dla x = -1 sytuacja jest podobna; -1 także nie spełnia obu warunków. Gdy x = 2, nadal nie spełniamy żadnego z wyrażonych warunków, ponieważ 2 nie jest większe niż 2 ani mniejsze niż -5. Typowym błędem myślowym przy rozwiązywaniu takich zadań jest błędne rozumienie zakresu działania operatora OR. Warto pamiętać, że wystarczy jedno prawdziwe wyrażenie, aby cała instrukcja została zaakceptowana. Błędne jest także myślenie, że brak bezpośredniej równości w warunku (jak x > 2) oznacza akceptację wartości granicznej. W tym przypadku konieczne jest pełne spełnienie warunku, co podkreśla znaczenie dokładności w formułowaniu logiki programistycznej. Takie zrozumienie operatorów logicznych i warunków jest niezbędne dla efektywnego tworzenia kodu, który odpowiada na wymagania logiki biznesowej w aplikacjach. Pasjonaci programowania powinni koncentrować się na testowaniu różnych scenariuszy, aby dokładnie zrozumieć, jak wartości zmiennych wpływają na przepływ działania ich kodu. Taka wiedza jest fundamentalna przy tworzeniu skalowalnych i niezawodnych rozwiązań programistycznych, które muszą operować na wielu danych wejściowych i warunkach w dynamicznie zmieniającym się środowisku.
Pytanie 19
Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?
A. nav { float: left; } aside { float: left; }
B. nav { float: right; }
C. aside {float: left; }
D. nav { float: right; } section { 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ę.
C. Wyświetlenie na ekranie informacji z tabeli Ksiazka.
D. Stworzenie dziesięciu instancji obiektów typu Ksiazka.
Wszystkie pozostałe odpowiedzi zawierają błędne interpretacje działania przedstawionej pętli. Po pierwsze, wypełnienie tabeli Ksiazka danymi nie jest precyzyjnie określone w kodzie. Pętla nie przypisuje żadnych konkretów do utworzonych obiektów, a jedynie je inicjalizuje. Odpowiedź dotycząca wypisania na ekranie danych tabeli Ksiazka również jest błędna. W kodzie nie ma żadnych instrukcji wyświetlających dane obiektów, więc ta interpretacja jest myląca. Kolejną nieprawidłowością jest sugestia, że pętla tworzy tylko jeden obiekt. W rzeczywistości pętla jest zaprojektowana tak, aby utworzyć osiem obiektów, co jest sprzeczne z założeniem, że jedna iteracja odpowiada jednemu obiektowi. Typowe błędy myślowe prowadzące do takich wniosków to brak zrozumienia mechanizmu działania pętli i nieumiejętność analizy kodu krok po kroku. Ważne jest, aby programiści potrafili czytać i analizować kod w kontekście ogólnych zasad programowania obiektowego oraz rozumieli rolę pętli w tworzeniu i zarządzaniu obiektami.
Pytanie 21
Jaki jest cel procesu normalizacji tabel w bazie danych?
A. uporządkowanie struktury w celu wyeliminowania nadmiarowości danych
B. graficzne przedstawienie struktury bazy
C. wyłącznie utworzenie tabel i relacji
D. dodawanie nowych rekordów do bazy
Normalizacja to proces porządkowania struktury bazy danych tak, by ograniczyć nadmiarowość (powielanie) danych i zapobiec anomaliom przy ich wstawianiu, zmianie czy usuwaniu. Polega na podziale danych między tabele zgodnie z tzw. postaciami normalnymi (1NF, 2NF, 3NF) i powiązaniu ich kluczami. Dzięki temu każda informacja jest przechowywana w jednym miejscu, co ułatwia jej spójną aktualizację. Dlatego celem normalizacji jest uporządkowanie struktury i wyeliminowanie nadmiarowości danych.
Pytanie 22
Które wyrażenie w C++ sprawdza, czy liczba jest TRZYCYFROWĄ wartością PARZYSTĄ?
A.
liczba%2==0&&(liczba>99||liczba<999)
B.
liczba%2==0||liczba>99||liczba<999
C.
liczba%2==0||(liczba>99&&liczba<999)
D.
liczba%2==0&&liczba>99&&liczba<999
Liczba trzycyfrowa to wartość z przedziału od 100 do 999, czyli liczba>99&&liczba<999 (lub równoważnie >=100&&<=999), a parzysta to liczba%2==0. Wszystkie warunki muszą zachodzić naraz, więc łączy je &&. Dlatego poprawne jest liczba%2==0&&liczba>99&&liczba<999.
Pytanie 23
Który ze skrótów oznacza sieć bezprzewodową?
A. LAN
B. WLAN
C. WAN
D. MAN
Pozostałe skróty określają zasięg sieci, a nie jej bezprzewodowość. LAN (Local Area Network) to sieć lokalna, obejmująca np. jeden budynek - zwykle przewodowa. MAN (Metropolitan Area Network) ma zasięg miasta lub aglomeracji. WAN (Wide Area Network) to sieć rozległa, łącząca odległe lokalizacje - jej przykładem jest internet. Żaden z nich nie wskazuje transmisji radiowej. Bezprzewodową sieć lokalną oznacza WLAN, dlatego ta odpowiedź jest poprawna.
Pytanie 24
W przedstawionej definicji stylu CSS, powtarzanie dotyczy
body { background-image: url("rysunek.gif"); background-repeat: repeat-y; }
A. rysunku umieszczonego w tle strony w pionie.
B. rysunku umieszczonego w tle strony w poziomie.
C. tła każdego ze znaczników akapitu.
D. rysunku umieszczonego znacznikiem img.
Twoja odpowiedź jest na miejscu. To, co mówi 'background-repeat: repeat-y;' w CSS, oznacza, że tło będzie się powtarzać w pionie. Super sprawa, jeśli chcesz, by obraz w tle pokrywał całą wysokość elementu, niezależnie od tego, jak duży on jest. Używa się tego często w projektowaniu stron, żeby stworzyć fajne efekty wizualne, jak na przykład tło, które działa w pasku nawigacyjnym. Warto pamiętać, że powtarzanie tła to zaledwie jedna z wielu opcji, jakie mamy w CSS. Możesz również ustawiać pozycję tła czy jego rozmiar, żeby wszystko wyglądało tak, jak chcesz.
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ść wyszukiwania danych w tabeli klienci
B. Będzie miał możliwość wstawiania rekordów do tabeli klienci
C. Będzie miał możliwość usuwania rekordów z tabeli klienci
D. Będzie miał możliwość zmiany struktury tabeli klienci
Użytkownik jan po wykonaniu podanych poleceń SQL nie będzie miał możliwości usuwania rekordów z tabeli klienci. W rzeczywistości polecenie GRANT ALL PRIVILEGES na początku miało na celu nadanie wszystkich uprawnień do tej tabeli, jednak po wykonaniu polecenia REVOKE SELECT, INSERT, UPDATE, DELETE odebrano mu możliwość wykonywania podstawowych operacji na danych, takich jak wstawianie, usuwanie czy aktualizowanie rekordów. Jest to częsty błąd w myśleniu, gdzie użytkownicy mogą sądzić, że uprawnienia ogólne obejmują również wszystkie podkategorie, nawet jeśli nie zostały określone. Podobnie, możliwość wyszukiwania danych w tabeli klienci również została usunięta z uwagi na odebranie uprawnienia SELECT. To pokazuje, jak kluczowe jest zrozumienie struktury uprawnień w SQL, gdzie każdy typ uprawnienia ma swoje własne znaczenie. W praktyce, w wielu organizacjach ważne jest, aby administracja bazą danych była przeprowadzana zgodnie z zasadą najmniejszych uprawnień, aby ograniczyć dostęp do krytycznych operacji oraz zminimalizować ryzyko błędów i incydentów związanych z bezpieczeństwem. Z tego powodu, odpowiedzi sugerujące, że jan ma jakieś uprawnienia do wstawiania lub usuwania danych w tabeli klienci, są nieprawidłowe, ponieważ zostały one jasno odwołane w ostatnim poleceniu.
Pytanie 26
Na ilustracji zaprezentowano koncepcję układu bloków strony internetowej. Przyjmując, że bloki są realizowane za pomocą znaczników sekcji, a szerokość jest określona tylko dla bloków 2, 3 oraz 4, ich stylowanie powinno uwzględniać właściwość
A. clear: both dla bloku 5 i float: left jedynie dla bloków 2, 3 oraz 4
B. float: left jedynie dla bloków 3 i 4 oraz clear: both dla bloku 2
C. float: left dla wszystkich bloków
D. clear: both dla wszystkich bloków
Stosowanie float: left dla wszystkich bloków jest nieprawidłowe, ponieważ prowadziłoby do nieprzewidywalnego zachowania bloków 1 i 5, które powinny być pełnej szerokości strony. Użycie float: left dla bloku 1 oznaczałoby, że jego miejsce w układzie zależałoby od szerokości i pozycji innych pływających elementów. Podobnie blok 5 potrzebuje wyraźnej separacji od pływających elementów powyżej, co osiągamy dzięki clear: both. Użycie clear: both dla wszystkich bloków odwołuje się do nieprawidłowej koncepcji, ponieważ blokowałoby to pływanie, co jest kluczowe dla tworzenia układów wielokolumnowych. Clear: both zmusza element do rozpoczęcia pod pływającymi elementami, co oznacza, że bloki 2, 3 i 4 nie mogłyby być ustawione obok siebie, co nie spełnia wymagań projektu. Rozważenie float: left jedynie dla bloków 3 i 4 i clear: both dla bloku 2 zaburzyłoby logiczny ciąg layoutu ze względu na fizyczne blokowanie się bloków, co wywołałoby niepożądane przesunięcia i brak przewidywalności w wyświetlaniu. Zastosowanie float w celu tworzenia układów kolumnowych wymaga precyzyjnego zarządzania pływającymi elementami, a niepoprawne użycie właściwości clear może prowadzić do problemów z dostępnością i użytecznością strony. Dlatego właściwe zrozumienie tych koncepcji jest kluczowe w tworzeniu efektywnych i responsywnych projektów internetowych, zgodnych z oczekiwaniami użytkowników oraz standardami branżowymi.
Pytanie 27
Funkcją przedstawionego kodu PHP będzie wypełnienie tablicy
B. Kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych
C. 10 losowymi wartościami, a następnie wypisanie wartości ujemnych
D. 100 losowymi wartościami, a następnie wypisanie wartości dodatnich
Analizując błędne odpowiedzi, warto zauważyć, że niektóre z nich sugerują nieprawidłowe zrozumienie działania funkcji rand() i pętli for w PHP. Kod pokazuje, że pętla for jest używana do iteracji 10 razy, co oznacza, że tablica będzie wypełniona 10 wartościami, a nie 100. Funkcja rand(-100,100) generuje liczby z przedziału od -100 do 100, a nie tylko dodatnie czy kolejne liczby, co wyklucza możliwość wypełnienia tablicy kolejnymi liczbami od 0 do 9 czy od -100 do 100. Dalsze nieporozumienia mogą wynikać z błędnego zrozumienia instrukcji warunkowej w pętli foreach, która wyświetla tylko wartości ujemne, a nie dodatnie. Częste błędy to także założenie, że wszystkie elementy są przetwarzane jednakowo bez sprawdzenia warunku. Dobre praktyki programistyczne wymagają uważnego czytania i analizy kodu, aby zrozumieć jego logikę. Zrozumienie mechaniki działania pętli i instrukcji warunkowych jest kluczowe w programowaniu i często stanowi podstawę bardziej zaawansowanych algorytmów. Ostatecznie skuteczne przetwarzanie danych w PHP wymaga dokładnego zrozumienia struktury kodu i jego funkcji, co może być wyzwaniem, jeśli koncepcje te są źle zinterpretowane. Ważne jest, aby programista dokładnie rozumiał, jakie wartości są generowane i które z nich są wyświetlane, aby uniknąć niezamierzonych rezultatów w aplikacji.
Pytanie 28
W wyniku przedstawionego polecenia w tabeli zostanie
ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;
A. zmieniona kolumna z nazwa1 na nazwa2
B. dodana kolumna nazwa2 o typie zmiennoprzecinkowym
C. dodana kolumna nazwa2 z wymuszoną wartością DOUBLE
D. zmieniony typ kolumny nazwa2 na DOUBLE
Odpowiedź numer 3 jest prawidłowa, ponieważ zapytanie SQL "ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;" definiuje dodanie nowej kolumny o nazwie "nazwa2" do istniejącej tabeli "nazwa1". Typ danych DOUBLE oznacza, że kolumna ta będzie mogła przechowywać liczby zmiennoprzecinkowe, co jest przydatne w przypadku danych wymagających wysokiej precyzji, takich jak wartości finansowe czy pomiary naukowe. Oprócz tego, klauzula "NOT NULL" oznacza, że w kolumnie nie mogą znajdować się żadne wartości NULL, co jest istotne dla zapewnienia integralności danych. W praktyce, dodawanie kolumn w bazach danych jest często używane do wzbogacania istniejących struktur danych, aby dostosować je do zmieniających się wymagań aplikacji. Dobrą praktyką jest również odpowiednie indeksowanie nowych kolumn, aby zwiększyć wydajność zapytań, które będą z nich korzystały. W kontekście standardów, ważne jest, aby zmiany w strukturze tabeli były wprowadzane w sposób, który nie wpływa negatywnie na istniejące dane i aplikacje.
Pytanie 29
W dokumencie HTML stworzono formularz. Jakie działanie kodu zostanie pokazane przez przeglądarkę, jeśli w drugie pole użytkownik wprowadzi tekst „ala ma kota”?
A. Efekt 4
B. Efekt 1
C. Efekt 2
D. Efekt 3
Efekt 2 jest poprawny ponieważ kod HTML przedstawia formularz zawierający element select oraz pole input typu password. Element select pozwala na wybór jednej z trzech opcji Kraków Poznań i Szczecin co widzimy w efekcie 2. Pole input typu password zasłania wpisywane przez użytkownika znaki co jest zgodne z przedstawionym obrazem gdzie w miejscu drugiego pola widoczne są zamaskowane znaki. To zabezpieczenie jest standardem w formularzach internetowych chroniącym dane przed nieuprawnionym dostępem. Przeglądarki internetowe interpretują typ password zamieniając wprowadzone znaki na symbole najczęściej kropki lub gwiazdki. Dla programistów webowych jest to istotne przy projektowaniu interfejsów użytkownika zapewniając zarówno funkcjonalność jak i bezpieczeństwo. Ważne jest również aby pamiętać o odpowiednim zarządzaniu danymi wprowadzonymi w polach password po stronie serwera zapewniając szyfrowanie i bezpieczne przechowywanie. Stosowanie elementu select w połączeniu z input type=password jest popularne w formularzach rejestracyjnych gdzie użytkownik wybiera opcję a następnie wprowadza hasło. Dobre praktyki obejmują również walidację danych po stronie klienta i serwera aby zapewnić poprawność i bezpieczeństwo wprowadzanych informacji.
Pytanie 30
Strona internetowa została zaprezentowana w taki sposób:
Rozdział 1
tekst
Podrozdział 1.1
tekst
Podrozdział 1.2
Jakie są poprawne znaczniki do tego formatu?
A. <h1>Rozdział 1<p>tekst <h2>Podrozdział 1.1<p>tekst <h2>Podrozdział 1.2
B. <ul><li>Rozdział 1<li>tekst<li>Podrozdział 1.1<li>tekst<li>Podrozdział 1.2</ul>
C. <h1>Rozdział 1</h1> <p>tekst</p> <h2>Podrozdział 1.1</h2> <p>tekst</p> <h2>Podrozdział 1.2</h2>
D. <big>Rozdział 1</big>tekst<big>Podrozdział 1.1</big>tekst<big>Podrozdział 1.2</big>
Odpowiedź zawierająca znaczniki <h1>, <p> oraz <h2> jest poprawna, ponieważ odzwierciedla właściwą strukturę dokumentu HTML. Znaczniki nagłówków <h1> i <h2> są kluczowe dla hierarchii treści na stronie, co ma istotne znaczenie z punktu widzenia SEO oraz dostępności. Właściwe stosowanie tych znaczników wpływa na to, jak wyszukiwarki indeksują zawartość strony, a także ułatwia nawigację osobom korzystającym z urządzeń asystujących. Na przykład, znacznik <h1> powinien być używany raz na stronę, aby wskazać główny temat, podczas gdy <h2> może być stosowany do podziału treści na sekcje. Dodatkowo, znaczniki <p> są przeznaczone do wyświetlania akapitów tekstu, co jest standardową praktyką w tworzeniu treści webowych. Warto również pamiętać o zachowaniu odpowiednich zasad semantyki HTML, co bezpośrednio przekłada się na poprawę doświadczeń użytkowników oraz wydajność strony.
Pytanie 31
W formularzu zdefiniowano kontrolki do wpisania imienia i nazwiska. Który atrybut reprezentuje podpowiedź umiejscowioną w polu kontrolki, znikającą w momencie, gdy użytkownik rozpocznie wpisywanie wartości?
Dobrze! Poprawna odpowiedź to 'placeholder'. Atrybut 'placeholder' w elemencie input HTML jest używany do wyświetlania podpowiedzi wewnątrz pola formularza, która znika, gdy użytkownik zaczyna wpisywanie danych. Jest to zgodne z pytaniem, w którym poproszono o atrybut reprezentujący podpowiedź w polu formularza, która znika, gdy użytkownik rozpoczyna wpisywanie. Przykładem może być formularz logowania, gdzie w polach 'Użytkownik' i 'Hasło' można umieścić podpowiedzi 'Wpisz nazwę użytkownika' i 'Wpisz hasło' odpowiednio. Atrybut 'placeholder' jest bardzo przydatny w interaktywnym designie, pomagając użytkownikom zrozumieć, jakie informacje są od nich oczekiwane w danym polu formularza.
Pytanie 32
Poniższy fragment kodu PHP służy do zarządzania
if (empty($_POST["name"])) { $nameErr = "Name is required"; }
A. sesjami
B. ciasteczkami
C. formularzami
D. bazami danych
Kod PHP obsługujący formularz często bywa mylony z innymi procesami ze względu na podobieństwo składniowe oraz zastosowanie tych samych superglobalnych tablic. Jednakże w przykładzie przedstawionym w pytaniu użycie $_POST jednoznacznie wskazuje na interakcję z danymi przesyłanymi z formularza. Kod nie dotyczy ciasteczek, które używają tablicy $_COOKIE do operacji związanych z przechowywaniem małych ilości danych w przeglądarce klienta. Również nie obejmuje zarządzania sesjami, które w PHP realizowane jest poprzez tablicę $_SESSION oraz funkcje takie jak session_start(), służące do przechowywania danych użytkownika pomiędzy różnymi żądaniami. Bazy danych natomiast operują na zupełnie innych mechanizmach i wymagają specyficznych funkcji oraz rozszerzeń, jak MySQLi czy PDO, do interakcji z systemami zarządzania bazami danych. Częstym błędem jest przypisywanie funkcji walidacyjnych formularzy również do innych komponentów aplikacji, co może prowadzić do mylnych wniosków na temat ich roli i zastosowania. Zrozumienie różnic między tymi elementami jest kluczowe dla poprawnego projektowania i implementacji aplikacji webowych, zapewniając ich bezpieczeństwo i poprawne działanie. Kod PHP powinien być pisany z uwzględnieniem zasad separacji logiki aplikacyjnej, aby każda część systemu była odpowiedzialna za specyficzne zadania, co ułatwia utrzymanie i rozwój aplikacji.
Pytanie 33
Którym poleceniem w MySQL wyświetli się listę uprawnień nadanych użytkownikowi anna?
A.
SHOWGRANTSFORanna;
B.
REVOKEGRANTSFROManna;
C.
SELECTGRANTSFORanna;
D.
GRANT*TOanna;
Pozostałe polecenia są błędne lub robią co innego. SELECTGRANTSFORanna to niepoprawna składnia (SELECT odczytuje dane z tabel, nie uprawnienia). REVOKEGRANTSFROManna ODBIERAŁby prawa, a GRANT*TOanna próbowałby je nadać. Do podejrzenia uprawnień służy SHOWGRANTSFORanna;.
Pytanie 34
Jakie zadania programistyczne należy wykonać na serwerze?
A. Weryfikacja danych wprowadzonych do pola tekstowego na bieżąco
B. Zapisanie danych pozyskanych z aplikacji internetowej w bazie danych
C. Ukrywanie i wyświetlanie elementów strony w zależności od aktualnej pozycji kursora
D. Zmiana stylu HTML na stronie spowodowana ruchem kursora
Wszystkie pozostałe zadania, takie jak zmiana stylu HTML na stronie wywołana przesunięciem kursora, sprawdzenie danych wpisanych do pola tekstowego w czasie rzeczywistym, czy ukrywanie i pokazywanie elementów strony w zależności od aktualnego stanu kursora, są zadaniami, które powinny być realizowane po stronie klienta. Podejście to wynika z faktu, iż interakcje z użytkownikiem powinny być jak najbardziej responsywne i natychmiastowe, co jest możliwe jedynie przy użyciu JavaScriptu w przeglądarkach. Na przykład, zmiana stylu HTML jest operacją, która nie wymaga komunikacji z serwerem, ponieważ wszystkie potrzebne informacje są już dostępne na kliencie. W przypadku sprawdzania danych w czasie rzeczywistym, przetwarzanie odbywa się lokalnie, co pozwala na natychmiastowe informowanie użytkownika o błędach w formularzach bez opóźnienia wynikającego z oczekiwania na odpowiedź serwera. Ukrywanie i pokazywanie elementów strony również powinno być realizowane po stronie klienta, aby zapewnić płynność interakcji. Użytkownicy oczekują szybkiej reakcji na swoje działania, a operacje po stronie klienta, takie jak animacje czy zmiany widoczności elementów, są znacznie bardziej efektywne, gdy są wykonywane lokalnie, ponieważ nie wymagają dodatkowych zasobów serwera ani czasu przetwarzania. W przeciwnym razie, realizacja tych zadań na serwerze prowadziłaby do zbędnych opóźnień i obciążenia infrastruktury serwerowej, co w konsekwencji ograniczyłoby wydajność i doświadczenie użytkownika.
Na podstawie przedstawionego kodu formularza HTML można powiedzieć, że pole edycyjne:
A. nie powinno zawierać znaków numerycznych.
B. nie może być puste i wymaga wpisania tekstu ze znakiem @.
C. może być puste.
D. wymaga wpisania jedynie znaków alfanumerycznych.
W tym fragmencie kodu HTML masz dwa bardzo ważne atrybuty: type="email" oraz required. To właśnie one razem powodują, że poprawna jest odpowiedź, że pole nie może być puste i wymaga wpisania tekstu ze znakiem @.
Atrybut required oznacza, że pole jest obowiązkowe. Przeglądarka, zgodnie ze specyfikacją HTML5, nie pozwoli wysłać formularza, dopóki pole nie będzie wypełnione. Użytkownik kliknie przycisk „Zapisz”, a formularz po prostu się nie wyśle – pojawi się komunikat walidacyjny po stronie przeglądarki. To jest tzw. walidacja po stronie klienta, domyślnie wbudowana w HTML.
Z kolei type="email" uruchamia specjalny mechanizm sprawdzania formatu wpisanego tekstu. Przeglądarka sprawdza, czy ciąg znaków wygląda jak adres e‑mail: musi zawierać co najmniej znak @ i jakąś część przed i po nim. To nie jest super zaawansowana walidacja, ale wystarcza jako pierwszy filtr, np. "[email protected]" przejdzie, a "jan.domena.pl" już nie. Moim zdaniem to bardzo wygodne, bo nie trzeba od razu pisać własnego JavaScriptu tylko po to, żeby odsiać oczywiste błędy.
W praktyce w aplikacjach webowych zwykle łączy się tę prostą walidację HTML5 z dodatkowymi sprawdzeniami po stronie serwera (np. w PHP czy w innym backendzie), bo dane z formularza zawsze trzeba traktować z ograniczonym zaufaniem. Dobrym nawykiem jest też dodanie atrybutu name, np. name="email", żeby serwer mógł poprawnie odebrać wartość pola.
Warto też wiedzieć, że niektóre przeglądarki mobilne, gdy widzą type="email", podpowiadają użytkownikowi specjalną klawiaturę z łatwym dostępem do znaku @ i kropki, co realnie poprawia wygodę wpisywania adresu. To taki mały szczegół, ale w profesjonalnych projektach UX ma znaczenie. Podsumowując: required blokuje puste wysłanie formularza, a type="email" wymusza poprawny, podstawowy format adresu ze znakiem @ – dokładnie to opisuje poprawna odpowiedź.
Pytanie 36
Z tabel Klienci oraz Uslugi należy wyodrębnić tylko imiona klientów oraz odpowiadające im nazwy usług, które kosztują więcej niż 10 zł. Kwerenda uzyskująca te informacje ma formę
A. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = klienci.id
B. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id
C. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena > 10
D. SELECT imie, nazwa FROM klienci, uslugi WHERE cena < 10
Odpowiedź 4 jest prawidłowa, ponieważ prawidłowo wykorzystuje składnię SQL do połączenia dwóch tabel oraz filtrowania danych na podstawie podanego warunku. Kwerenda używa JOIN, aby połączyć tabele Klienci i Uslugi na podstawie wspólnej kolumny uslugi_id, co jest zgodne z zasadami relacyjnej bazy danych, gdzie klucz obcy w jednej tabeli odnosi się do klucza głównego w innej tabeli. Następnie, kwerenda stosuje filtrację WHERE cena > 10, co pozwala na wybór tylko tych rekordów, gdzie cena usługi przekracza 10 zł. Jest to zgodne z praktyką selektywnego pobierania danych, co jest kluczowe w optymalizacji zapytań i skutecznym zarządzaniu zasobami bazy danych. Zastosowanie takich technik jest standardem w branży, umożliwiając efektywne zarządzanie dużymi zbiorami danych oraz zwiększenie wydajności aplikacji poprzez ograniczenie liczby zwracanych wierszy do tych, które spełniają określone kryteria. Zrozumienie i umiejętność implementacji takich zapytań SQL to podstawowa umiejętność dla specjalistów IT pracujących z bazami danych.
Pytanie 37
W formularzu HTML użyto znacznika <input>. Pole to będzie służyło do wprowadzania maksymalnie
<inputtype="password"size="30"maxlength="20">
A. 30 znaków, które są widoczne w trakcie wprowadzania
B. 20 znaków, które są widoczne w trakcie wprowadzania
C. 20 znaków, które nie są widoczne w polu tekstowym
D. 30 znaków, które nie są widoczne w polu tekstowym
Odpowiedzi sugerujące, że w polu tekstowym mogą być widoczne znaki, są nieprawidłowe z kilku istotnych powodów. Przede wszystkim znaczenie atrybutu 'type' w znaczniku <input> jest kluczowe. Użycie 'type="password"' jednoznacznie wskazuje, że wprowadzone znaki będą maskowane, co ma na celu ochronę prywatności użytkownika. Odpowiedzi wskazujące na 30 znaków, które są widoczne, są całkowicie błędne, ponieważ atrybut 'size' definiuje szerokość pola, a nie maksymalną liczbę znaków, które można wprowadzić. To może prowadzić do mylnego wrażenia, że użytkownik ma pełen wgląd w wprowadzane dane, co nie jest zgodne z zamierzeniem tego typu pól. Oprócz tego, maksymalna liczba znaków 'maxlength' nie ma żadnego wpływu na to, czy znaki są widoczne, czy nie. Typowe błędy myślowe związane z tym zagadnieniem mogą obejmować niepoprawne zrozumienie roli atrybutów 'size' i 'maxlength'. Kluczowe jest, aby użytkownicy rozumieli, że odpowiednie projektowanie formularzy powinno zawsze uwzględniać bezpieczeństwo danych oraz ich ochronę, zwłaszcza w przypadku haseł. Dobre praktyki w zakresie UX/UI zalecają korzystanie z pól typu 'password' w sytuacjach wymagających ochrony danych, co przyczynia się do zwiększenia bezpieczeństwa aplikacji webowych.
Pytanie 38
Jaką barwę przedstawia kolor zapisany w modelu RGB(0, 255, 0)?
A. żółtą
B. czerwoną
C. niebieską
D. zieloną
W modelu RGB kolor opisują składowe czerwona (R), zielona (G) i niebieska (B), każda od 0 do 255. Zapis RGB(0, 255, 0) to maksymalna składowa zielona i zerowe pozostałe, czyli czysty zielony. Dlatego RGB(0, 255, 0) oznacza barwę zieloną.
Pytanie 39
W języku HTML, aby uzyskać efekt podobny do tego w przykładzie, trzeba użyć konstrukcji
A. <p><big>Duży tekst</big> zwykły tekst</p>
B. <p><strike>Duży tekst</strike> zwykły tekst</p>
C. <p><strike>Duży tekst zwykły tekst</p>
D. <p><big>Duży tekst</p> zwykły tekst
Odpowiedź jest prawidłowa, ponieważ w języku HTML, aby zwiększyć rozmiar czcionki dla części tekstu, można użyć znacznika <big>. Znacznik ten powoduje, że tekst wewnątrz jest wyświetlany w większym rozmiarze niż tekst otaczający. Jest to przydatne w sytuacjach, gdy chcemy wyróżnić część tekstu bez stosowania zaawansowanego stylu CSS. Chociaż <big> jest uznawany za przestarzały w nowoczesnym HTML, dla celów edukacyjnych i zgodności z starszymi dokumentami HTML wciąż może być stosowany. Praktyką zalecaną w aktualnych standardach jest używanie stylów CSS, np. poprzez przypisanie klasy lub bezpośrednie stylowanie in-line. Warto zaznaczyć, że stosowanie <big> nie jest zalecane w nowych projektach, ponieważ CSS oferuje większą elastyczność i kontrolę nad wyglądem tekstu. Niemniej jednak, znajomość takich znaczników jak <big> pomaga w zrozumieniu, jak rozwijał się HTML i jakie są różnice między starszymi a nowoczesnymi metodami formatowania tekstu.
Pytanie 40
W jaki sposób można ocenić normalizację przedstawionej tabeli?
Firma
Adres
Forbot
ul. Krótka 11, 22-222 Warszawa
Marbot
ul. Długa 5, 33-333 Warszawa
A. Tabela nie została znormalizowana
B. Tabela znajduje się w pierwszej postaci normalnej
C. Tabela jest w trzeciej postaci normalnej
D. Tabela znajduje się w drugiej postaci normalnej
Tabela nie jest znormalizowana ponieważ zawiera dane redundancyjne które mogą prowadzić do anomalii aktualizacji W tej tabeli adresy są przechowywane jako pojedyncze pola tekstowe co uniemożliwia ich efektywne wyszukiwanie i przetwarzanie Normalizacja bazy danych polega na usuwaniu redundancji danych poprzez ich dekompozycję na mniejsze tabele z zachowaniem integralności danych i minimalizacją utraty informacji W tym przypadku adresy powinny być rozbite na osobne pola takie jak ulica miasto i kod pocztowy co pozwoli na bardziej precyzyjną kontrolę i manipulację tymi danymi Dodatkowo należy zwrócić uwagę na potencjalne naruszenie zasad drugiej postaci normalnej gdzie klucz główny powinien jednoznacznie identyfikować wartości z nim powiązane Przy poprawnej normalizacji uzyskamy lepszą spójność danych i eliminację nieścisłości co jest kluczowe w przypadku aplikacji gdzie dane są często aktualizowane lub używane do różnorodnych analiz Ostatecznym celem normalizacji jest zwiększenie wydajności i dokładności operacji bazodanowych oraz ułatwienie zarządzania złożonymi strukturami danych