Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 7 maja 2026 22:19
  • Data zakończenia: 7 maja 2026 22:28

Egzamin niezdany

Wynik: 11/40 punktów (27,5%)

Wymagane minimum: 20 punktów (50%)

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

Aby strona internetowa była dostosowana do różnych urządzeń, należy między innymi ustalać

A. wielkości obrazów wyłącznie w pikselach
B. tylko znane fonty, takie jak Arial
C. układ strony wyłącznie przy użyciu tabel
D. wielkości obrazów w procentach
Definiowanie rozmiarów obrazów wyłącznie w pikselach nie jest wystarczające dla uzyskania responsywności strony WWW. Choć jednostki pikselowe są precyzyjne, nie reagują na zmiany rozmiaru ekranu, co prowadzi do problemów z wyświetlaniem na urządzeniach mobilnych, gdzie różnorodność rozdzielczości jest ogromna. Użycie tabel do rozmieszczania elementów na stronie jest kolejnym podejściem, które jest przestarzałe i niezalecane w nowoczesnym web designie. Tabele były stosowane w początkowych latach tworzenia stron internetowych, ale obecnie powinny być używane tylko do prezentacji danych, a nie jako główny komponent układu. Umożliwia to lepsze zarządzanie strukturą strony przy użyciu CSS, co wspiera responsywność. Określenie jedynie znanych czcionek, takich jak Arial, również nie przyczynia się do responsywności strony. Fonty mają znaczenie, jednak ich wybór nie wpływa na elastyczność układu. W nowoczesnym projektowaniu stron internetowych zaleca się korzystanie z fontów systemowych lub czcionek dostępnych przez usługi takie jak Google Fonts, co pozwala na lepsze odwzorowanie typografii na różnych urządzeniach i platformach.

Pytanie 2

Jakie będzie wyjście programu napisanego w języku JavaScript, umieszczonego w ramce, po podaniu wartości 5 na wejściu?

Ilustracja do pytania
A. 625
B. 125
C. 120
D. 60
Program przedstawiony w pytaniu służy do obliczenia silni liczby n wprowadzonej przez użytkownika. Zrozumienie, dlaczego wynik wynosi 120, a inne odpowiedzi są błędne, wymaga dokładnego prześledzenia, jak działa silnia i jak przebiega obliczenie w pętli for. Silnia liczby n, zapisywana jako n!, to iloczyn wszystkich liczb od 1 do n. Dla wartości 5, program oblicza 5! jako 5*4*3*2*1, co daje 120. Błędne odpowiedzi wynikają zazwyczaj z niepoprawnego zrozumienia zasady działania pętli oraz operacji matematycznych. Na przykład, wynik 60 mógłby sugerować niepełne wykonanie iteracji, na przykład jeśli pętla kończyłaby się wcześniej, ale kod jasno określa, że iteruje od n do 2. Wynik 125 mógłby być wynikiem błędnego użycia operatorów matematycznych, np. dodawania zamiast mnożenia. Odpowiedź 625 mogłaby sugerować niepoprawną interpretację, gdzie liczba 5 zostałaby błędnie pomnożona przez samą siebie pięciokrotnie, co nie dotyczy silni. Takie błędy są powszechne w kontekście programowania, gdzie operatory i zakresy iteracji muszą być prawidłowo zrozumiane i zastosowane. Rozumienie poprawnego działania pętli for oraz operatora *= jest kluczowe dla uniknięcia takich błędów i poprawnego implementowania algorytmów matematycznych w kodzie. Praktyka i analiza przykładowych problemów mogą znacznie poprawić zdolność do pisania skutecznego i bezbłędnego kodu.

Pytanie 3

W algebrze relacji działanie selekcji polega na

A. usunięciu pustych wierszy
B. usunięciu krotek z powtórzonymi polami
C. wybór krotek, które spełniają określone warunki
D. wybór krotek, które nie zawierają wartości NULL
W algebrze relacji operacja selekcji, określana również jako filtracja, polega na wydobywaniu krotek z relacji (tabel), które spełniają określone warunki. Selekcja jest kluczowym narzędziem w zarządzaniu bazami danych, ponieważ umożliwia przetwarzanie i analizowanie dużych zbiorów danych poprzez skupienie się tylko na istotnych informacjach. Na przykład, w bazie danych zawierającej informacje o pracownikach, można zastosować selekcję, aby wyodrębnić jedynie tych pracowników, którzy mają wynagrodzenie powyżej określonej kwoty. W praktyce, operator selekcji jest często reprezentowany przez symbol sigma (σ) w notacji algebry relacji. Zgodnie z normami SQL, operacja ta odpowiada klauzuli WHERE, co pozwala na precyzyjne określenie kryteriów, według których krotki są wybierane. Selekcja nie zmienia struktury tabeli, lecz tworzy nową relację, która zawiera jedynie te krotki, które spełniają dane warunki. Przykładem może być zapytanie SQL, które zwraca dane o studentach, którzy uzyskali ocenę powyżej 4.0. Selekcja jest fundamentalnym elementem w projektowaniu baz danych, umożliwiającym efektywne przetwarzanie danych oraz wsparcie dla analizy danych w różnych aplikacjach biznesowych.

Pytanie 4

Zdefiniowana jest tabela uczniowie z polami id, nazwisko, imie oraz klasa. Jakie zapytanie SQL pozwoli nam uzyskać liczbę osób w danym klasa i wskazać jej nazwę?

A. SELECT COUNT(id), klasa FROM uczniowie GROUP BY klasa
B. SELECT SUM(id), klasa FROM uczniowie GROUP BY klasa
C. SELECT COUNT(id), klasa FROM uczniowie ORDER BY klasa
D. SELECT SUM(id), klasa FROM uczniowie ORDER BY klasa
Analizując nieprawidłowe odpowiedzi, można zauważyć kilka kluczowych błędów. Odpowiedź, która sugeruje użycie 'ORDER BY klasa', nie ma sensu w kontekście zliczania uczniów w klasach. Klauzula ORDER BY służy do sortowania wyników, ale nie agreguje danych, co jest niezbędne do uzyskania liczby uczniów w poszczególnych klasach. Z kolei użycie funkcji SUM na polu id jest niewłaściwe, ponieważ SUM sumuje wartości liczbowych, a id jest zazwyczaj unikalnym identyfikatorem, co może prowadzić do błędnych wyników. W kontekście SQL, SUM nie jest odpowiedni dla zliczania rekordów, tym bardziej, gdy celem jest uzyskanie liczby uczniów. W rezultacie, użycie SUM w tym przypadku może prowadzić do zupełnie nieadekwatnych wniosków o liczbie uczniów. Ponadto, takie podejścia mogą prowadzić do nieefektywnego przetwarzania danych, co jest sprzeczne z ideą optymalizacji zapytań w SQL. Kluczowym błędem myślowym w tych odpowiedziach jest niezrozumienie różnicy między funkcjami agregującymi a operacjami sortującymi oraz błędne założenie, że SUM może być użyte w kontekście zliczania. W praktyce, znajomość odpowiednich funkcji oraz ich zastosowania jest kluczowa dla efektywnego zarządzania bazami danych.

Pytanie 5

W języku JavaScript zapisano poniższy fragment kodu. `````` Po uruchomieniu skryptu zmienna x

A. będzie miała wartość 10 i zostanie wyświetlona w głównym oknie przeglądarki internetowej
B. będzie miała wartość 11 i zostanie wyświetlona w konsoli przeglądarki internetowej
C. będzie miała wartość 11 i zostanie wyświetlona w oknie popup
D. będzie miała wartość 10 i zostanie pokazana w dokumencie HTML
Analizując niepoprawne odpowiedzi, można zauważyć, że opierają się one na nieprawidłowym rozumieniu działania kodu JavaScript. W pierwszej niewłaściwej odpowiedzi wskazuje się, że zmienna x będzie równa 11 i zostanie wypisana w oknie popup. Pomimo, że wartość zmiennej x rzeczywiście wynosi 11 przed próbą jej wyświetlenia, brak poprawnej składni w wywołaniu console.log skutkuje błędem, a kod nie zadziała zgodnie z zamierzeniem. Kolejne stwierdzenie sugeruje, że zmienna x pozostanie równa 10 i zostanie wypisana w dokumencie HTML. To jest również niepoprawne, ponieważ zmiana wartości zmiennej poprzez inkrementację miała miejsce, a jeśli kod działałby poprawnie, zmienna x by wynosiła 11. Wreszcie, ostatni błąd polega na twierdzeniu, że zmienna x będzie miała wartość 10 i zostanie wypisana w głównym oknie przeglądarki. To również jest niezgodne z rzeczywistością, ponieważ zmiana wartości zmiennej x przez operator inkrementacji prowadzi do uzyskania wartości 11. Dodatkowo, aby wyświetlić tę wartość w głównym oknie przeglądarki, należałoby użyć metody document.write lub innej odpowiedniej metody, co nie ma miejsca w analizowanym kodzie. W związku z tym, wszystkie te odpowiedzi nie są zgodne z rzeczywistością z powodu błędnej analizy kodu oraz pominięcia kluczowych elementów składniowych.

Pytanie 6

Przedstawiona ikona funkcji edytora grafiki rastrowej o nazwie "różdżka" umożliwia

Ilustracja do pytania
A. odręczne zaznaczanie obszarów przez przeciąganie po nich kursora.
B. zaznaczenie obszaru na podstawie koloru.
C. pobranie wskazanego koloru i ustawienie go jako aktywny.
D. wybiórcze rozsmarowywanie koloru za pomocą pędzla.
Niestety, wybrane odpowiedzi nie są prawidłowe. Narzędzie 'różdżka' w edytorze grafiki rastrowej, nie służy do pobierania wskazanego koloru i ustawienia go jako aktywny. Ta funkcja jest zazwyczaj realizowana przez narzędzie 'pipeta'. Różdżka również nie służy do wybiórczego rozsmarowywania koloru za pomocą pędzla - tę funkcję pełni narzędzie 'pędzel' lub 'rozmycie'. Odręczne zaznaczanie obszarów przez przeciąganie po nich kursora jest możliwe, ale nie jest to główne zadanie narzędzia 'różdżka', które służy do automatycznego zaznaczania obszarów na podstawie koloru. Niepoprawne odpowiedzi mogły wynikać z niezrozumienia specyfiki pracy z edytorem grafiki rastrowej, oraz z niewłaściwego zrozumienia funkcji poszczególnych narzędzi. Kluczowe dla poprawnej odpowiedzi było zrozumienie, że różdżka jest narzędziem do automatycznego zaznaczania obszarów o podobnym kolorze, co znacznie ułatwia pracę, szczególnie przy edycji skomplikowanych kształtów czy dużych obszarów o podobnej barwie.

Pytanie 7

Obejrzyj tabelę mieszkań, która zawiera kolumny: adres, metraż, ile_pokoi, standard, status, cena. Wykonanie poniższej kwerendy SQL SELECT spowoduje wyświetlenie:

SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3;
A. wszystkie dane mieszkań, które mają co najmniej 3 pokoje
B. wszystkie informacje, z wyjątkiem adresu, dotyczące mieszkań z więcej niż 3 pokojami
C. metraż oraz cena tych mieszkań, które posiadają co najmniej 3 pokoje
D. metraż oraz cena tych mieszkań, które mają więcej niż 3 pokoje
Odpowiedzi, które sugerują, że kwerenda wyświetla wszystkie dane mieszkań z co najmniej 3 pokojami lub wszystkie dane oprócz adresu, są nieprawidłowe z kilku powodów. Przede wszystkim, operator '>' w kwerendzie oznacza, że zapytanie dotyczy jedynie mieszkań z większą liczbą pokoi niż 3, a więc tylko te, które mają 4 lub więcej pokoi będą brane pod uwagę. Odpowiedzi sugerujące, że zwracane są wszystkie dane mieszkań, nie uwzględniają, że kwerenda skupia się wyłącznie na kolumnach metraż i cena, co jest kluczowe w kontekście efektywności i przejrzystości zapytań. W kontekście SQL, wybór określonych kolumn jest bardzo istotny, ponieważ nie tylko zmniejsza objętość przesyłanych danych, ale również ułatwia ich analizę. Niezrozumienie tego aspektu może prowadzić do nieefektywnego korzystania z zasobów bazy danych. Ponadto, stwierdzenie, że kwerenda zwraca wszystkie dane oprócz adresu, jest mylne, ponieważ zapytanie w ogóle nie uwzględnia adresu ani innych informacji, a jedynie metraż i cenę. Tego typu nieprecyzyjne interpretacje mogą zniekształcić obraz tego, jak działa SQL i w jaki sposób można efektywnie zarządzać danymi.

Pytanie 8

W relacyjnym modelu danych, krotki definiuje się jako

A. wszystkie kolumny tabeli, które reprezentują atrybuty obiektu
B. wiersze tabeli wyłączając wiersz nagłówkowy, w którym znajdują się nazwy kolumn
C. wszystkie wiersze w tabeli łącznie z wierszem nagłówkowym
D. liczbę rekordów w tabeli
Krotka to taki ważny element w relacyjnych bazach danych, który odnosi się do konkretnych rekordów w tabeli. Każda krotka to jakby zestaw informacji, który dotyczy jednej jednostki, na przykład pojedynczego użytkownika w tabeli 'Użytkownicy'. Zawiera wartości atrybutów, które są przypisane do kolumn w tabeli. Te wartości są przechowywane w wierszach, a nagłówek z nazwami kolumn nie wchodzi w grę, jeśli chodzi o definicję krotek. Na przykład, w tabeli dotyczącej studentów, każdy wiersz mógłby zawierać dane jednego studenta, takie jak imię, nazwisko, wiek czy kierunek studiów. Myślę, że zrozumienie, czym jest krotka, jest kluczowe, żeby dobrze projektować bazy danych i używać SQL, bo w nim operacje na krotkach to podstawa większości zapytań. W praktyce, krotki pomagają również tworzyć relacje między tabelami w bazie danych, gdzie można je wykorzystać do przedstawiania powiązań między różnymi obiektami, na przykład 'Studenci' i 'Kursy'.

Pytanie 9

Na przedstawionej tabeli samochodów wykonano zapytanie SQL:

SELECT model FROM samochody
WHERE rocznik=2016;

Jakie wartości zostaną zwrócone w wyniku tego zapytania?
idmarkamodelrocznikkolorstan
1FiatPunto2016czerwonybardzo dobry
2FiatPunto2002czerwonydobry
3FiatPunto2007niebieskibardzo dobry
4OpelCorsa2016grafitowybardzo dobry
5OpelAstra2003niebieskiporysowany lakier
6ToyotaCorolla2016czerwonybardzo dobry
7ToyotaCorolla2014szarydobry
8ToyotaYaris2004granatowydobry
A. Fiat, Opel, Toyota
B. Punto, Corsa, Corolla
C. Czerwony, grafitowy
D. Punto, Corsa, Astra, Corolla, Yaris
W przypadku błędnych odpowiedzi należy zrozumieć dlaczego nie są one poprawne w kontekście zapytania SQL. Zapytanie SELECT model FROM samochody WHERE rocznik=2016; ma na celu zwrócenie tylko tych modeli samochodów które mają rocznik równy 2016. Jakiekolwiek inne odpowiedzi które zawierają wartości nie spełniające tego warunku są niepoprawne. Na przykład odpowiedzi które zawierają kolory samochodów takich jak czerwony czy grafitowy są błędne ponieważ zapytanie nie dotyczy kolumny kolor. W bazach danych struktura zapytania musi precyzyjnie odpowiadać danym które chcemy uzyskać co oznacza że nie można uwzględniać danych z innych kolumn jeśli nie są one częścią zapytania. Kolejnym błędem jest sugerowanie że zapytanie zwraca marki samochodów takie jak Fiat Opel czy Toyota. Ponownie zapytanie specjalnie wybiera kolumnę model a nie marka dlatego takie odpowiedzi nie są zgodne z zapytaniem. Zrozumienie struktury zapytań SQL i precyzyjne określenie jakie dane są potrzebne jest kluczowe w pracy z bazami danych. Typowe błędy przy konstruowaniu zapytań to niepoprawne określenie kolumny lub warunku co prowadzi do nieoczekiwanych wyników. W związku z tym znajomość zasad konstrukcji zapytań oraz umiejętność przewidywania wyników są niezbędne w codziennej pracy z bazami danych aby uniknąć błędów i zapewnić dokładność przetwarzania danych. SQL jako język do zarządzania danymi wymaga precyzyjnego podejścia i znajomości źródła danych co jest kluczowe dla efektywnego zarządzania informacją. Poprawne sformułowanie zapytania zapewnia że wyniki będą zgodne z oczekiwaniami i będą spełniać założenia analizy danych. Warto także stosować narzędzia walidacji zapytań aby upewnić się że są one optymalne i poprawne co jest dobrym standardem w branży.

Pytanie 10

W HTML, aby ustawić tytuł dokumentu na "Moja strona", który pojawi się na karcie przeglądarki internetowej, należy użyć zapisu

A. <meta title="Moja strona">
B. <head>Moja strona</head>
C. <title>Moja strona</title>
D. <meta name="title" content="Moja strona">
Z odpowiedzi, które są niepoprawne, można wyciągnąć kilka błędów, które są związane z tym, jak zdefiniować tytuł strony w HTML. Na przykład, <head> to nie ten element, który definiuje tytuł, bo on jest bardziej do grupowania różnych metadanych, takich jak <title>, <meta> czy <link>. Co ważne, zawartość <head> nie pojawia się na zakładkach przeglądarki. Jeśli chodzi o zapis <meta title="Moja strona">, to jest to zła forma, bo element <meta> nie określa tytułu strony. <meta> używane jest do metadanych, jak opisy, słowa kluczowe czy kto jest autorem, ale nie wpływa to na tytuł wyświetlany w przeglądarkach. Podobnie <meta name="title" content="Moja strona"> to też błędny przykład, bo atrybut "name" w <meta> nie odnosi się do tytułu, więc jego zawartość nie będzie się pokazywać jako tytuł w przeglądarkach. Te elementy mogą być pomocne dla SEO, ale mają inne zadania i nie powinny być mylone z <title>, który jasno określa tytuł wyświetlany w zakładkach oraz w wynikach wyszukiwania.

Pytanie 11

W języku JavaScript zamieszczony poniżej fragment funkcji ma na celu

wynik = 0;
for (i = 0; i < tab.length; i++) {
wynik += tab[i];
}
A. policzenie sumy wszystkich elementów tablicy
B. wprowadzenie do każdego elementu tablicy bieżącej wartości zmiennej i
C. wyświetlenie wszystkich elementów tablicy
D. dodanie stałej wartości do każdego elementu tablicy
Rozważając różne odpowiedzi, można dostrzec pewne błędne założenia dotyczące funkcji pętli w analizowanym kodzie JavaScript. Pierwsza z opcji zakłada, że celem kodu jest wyświetlenie wszystkich elementów tablicy. W rzeczywistości jednak kod nie zawiera żadnych instrukcji, takich jak console.log(), które pozwoliłyby na wyświetlanie wartości elementów tablicy. To powszechny błąd polegający na myleniu iteracji pętli z operacjami wejścia/wyjścia. Kolejna możliwość sugeruje dodanie do każdego elementu tablicy stałej wartości. Aby osiągnąć taki efekt, kod musiałby bezpośrednio modyfikować wartości w tablicy, co wymagałoby przypisania nowych wartości do elementów tablicy. W przedstawionym kodzie nie ma jednak żadnej manipulacji wartościami tablicy, co wskazuje na niewłaściwe zrozumienie celu operacji wykonywanych na tablicach. Ostatnia możliwość zakłada, że każdemu elementowi tablicy przypisywana jest aktualna wartość zmiennej i. Taki efekt wymagałby przypisania wartości i do elementów tablicy, co nie ma miejsca w przedstawionym fragmencie kodu. Jest to często spotykany błąd polegający na myleniu indeksu pętli z operacjami przypisania. Każda z tych odpowiedzi opiera się na niepoprawnym zrozumieniu mechanizmów iteracji i operacji na tablicach w językach programowania takich jak JavaScript co może prowadzić do błędnych wniosków dotyczących działania kodu.

Pytanie 12

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. grupowania.
B. części wspólnej.
C. wykluczenia.
D. sumy.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów. Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna. Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 13

W języku PHP zmienna typu float może przyjmować wartości

A. wartości logiczne
B. wartości zmiennoprzecinkowe
C. jedynie liczby całkowite
D. wartości nieliczbowe
Wybór odpowiedzi dotyczącej całkowitych wartości jest nieprawidłowy, ponieważ zmienne typu float w języku PHP są definiowane do przechowywania liczb zmiennoprzecinkowych, a nie tylko całkowitych. Dla wielu programistów może być mylące, że wartości całkowite i zmiennoprzecinkowe są traktowane jako odrębne typy danych, a tymczasem float jest bardziej uniwersalny, pozwalając na reprezentację obu. Wybór nieliczbowych wartości także jest błędny, ponieważ zmienne float są właśnie typem numerycznym, co oznacza, że przechowują wartości liczbowe, a nie literowe czy inne typy danych. To prowadzi do mylnego przekonania, że float może przechowywać dane w postaci tekstu, co jest technicznie niemożliwe. Również odpowiedź o wartościach logicznych wykazuje zrozumienie pomiędzy różnymi typami zmiennych w PHP, gdzie typ logiczny (boolean) przyjmuje wartości true lub false, co całkowicie różni się od wartości numerycznych. Często pojawia się błąd myślowy polegający na mieszaniu pojęć numerycznych oraz logicznych, co prowadzi do zafałszowania zrozumienia działania typów danych w programowaniu. Kluczowe jest dostrzeganie różnic między tymi typami oraz ich zastosowaniem, co jest fundamentalne dla efektywnego programowania w PHP. Wreszcie, świadomość typów danych oraz ich zastosowań jest ważnym elementem w procesie pisania poprawnego kodu, co może zapobiegać błędom i ułatwiać zrozumienie działania aplikacji.

Pytanie 14

Strona internetowa została napisana w języku XHTML. Który z poniższych kodów przedstawia implementację zamieszczonego fragmentu strony, przy założeniu, że nie zdefiniowano żadnych stylów CSS?

Ilustracja do pytania
A. <h1>Początki HTML</h1><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył<b>prototyp hipertekstowego systemu informacyjnego - <i>ENQUIRE</i></b></p>
B. <b>Początki HTML</b><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<hr /> stworzył<b>prototyp hipertekstowego systemu informacyjnego - <i>ENQUIRE</i></b></p>
C. <h1>Początki HTML</h1><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył<i>prototyp hipertekstowego systemu informacyjnego - <b>ENQUIRE</b></i></p>
D. <b>Początki HTML</b><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył<b>prototyp hipertekstowego systemu informacyjnego - <i>ENQUIRE</i></b></p>
Wybory, które nie używają <h1> do tytułu, nie oddają poprawnej struktury semantycznej wymaganej w XHTML. Oznaczenie nagłówka jako <b> jest niewłaściwe, ponieważ <b> jest znacznikiem stylizującym tekst jako pogrubiony, ale nie semantycznie nie mówi, że jest to nagłówek. XHTML, będąc bardziej restrykcyjną wersją HTML, wymaga ścisłego trzymania się hierarchii nagłówków, co pomaga w czytelności dokumentu przez oprogramowanie wspomagające i wyszukiwarki. Użycie <hr /> w odpowiedzi trzeciej jako linia pozioma jest semantycznie mylące, gdyż nie oddziela to części tekstu, a jedynie wizualnie dzieli fragmenty, co w XHTML, gdzie semantyka jest kluczowa, nie jest zalecane. Strona zapisana w XHTML powinna używać tagów zgodnie z ich przeznaczeniem, co poprawia dostępność i zrozumienie kodu. Dodatkowo, nieprawidłowo ustrukturyzowane znaczniki mogą prowadzić do problemów z parsowaniem przez przeglądarki, co jest niepożądane w profesjonalnym tworzeniu stron internetowych. Dlatego odpowiednia semantyka i poprawna struktura są kluczowe w projektowaniu stron zgodnych z XHTML.

Pytanie 15

Sprawdzenie poprawności pól formularza polega na weryfikacji

A. czy wprowadzone dane spełniają określone reguły
B. który użytkownik wprowadził informacje
C. czy użytkownik jest zalogowany
D. czy istnieje plik PHP, który przetworzy dane
Wiele osób myli walidację pól formularza z innymi procesami związanymi z obsługą danych wejściowych. Przykładowo, założenie, że walidacja dotyczy wyłącznie sprawdzania, czy użytkownik jest zalogowany, jest mylne. Choć logowanie to ważny proces zabezpieczający, nie ma bezpośredniego związku z tym, czy wprowadzone dane są poprawne. Podobnie, twierdzenie, że walidacja polega na identyfikacji użytkownika, jest niepoprawne. Takie pytanie odnosi się do kontroli dostępu i autoryzacji, a nie do samej jakości danych. Identyfikacja użytkownika nie wpływa na to, czy dane są zgodne z wymaganiami formularza. Kolejny błąd polega na myśleniu, że walidacja jest związana z obecnością pliku PHP, który przetwarza dane; jednakże walidacja dotyczy tylko jakości danych, a nie technologii, która je obsługuje. Ponadto, wiele osób nie zdaje sobie sprawy z tego, że walidacja jest istotnym elementem ochrony przed atakami, takimi jak SQL Injection czy Cross-Site Scripting (XSS). Dlatego podstawowe podejścia do walidacji powinny skupiać się na definicji reguł, które dane muszą spełniać, a nie na kontekście użytkownika czy technologii przetwarzającej dane. Zastosowanie właściwych technik walidacji nie tylko zwiększa jakość danych, ale również wzmacnia bezpieczeństwo aplikacji, co jest zgodne z najlepszymi praktykami w obszarze tworzenia oprogramowania.

Pytanie 16

Aby odzyskać bazę danych z kopii zapasowej na serwerze MSSQL, należy użyć polecenia

A. RESTORE DATABASE
B. BACKUP DATABASE
C. EXPORT DATABASE
D. UNBACKUP DATABASE
Jakbyśmy spojrzeli na inne odpowiedzi, to każda z nich ma jakieś wady, przez które nie nadają się do przywracania bazy danych w MSSQL. Na przykład polecenie EXPORT DATABASE jest błędne, bo w MSSQL nie ma takiej komendy do eksportu całej bazy. Można to robić innymi narzędziami, jak SQL Server Integration Services (SSIS), ale to nie jest metoda przywracania. Z kolei BACKUP DATABASE, mimo że służy do robienia kopii zapasowych, nie nadaje się do przywracania. Ten komendę robimy wręcz odwrotnie — zapisuje obecny stan na dysku, a nie przywraca go. No i ostatnia opcja, UNBACKUP DATABASE, w ogóle nie istnieje w MSSQL. To brzmi jak coś, co mogłoby odwracać kopię zapasową, ale to wcale nie jest dostępne w tym systemie. Więc wybór złych komend może prowadzić do nieefektywnego zarządzania danymi i strat, jakby coś się stało.

Pytanie 17

Polecenie w SQL GRANT ALL PRIVILEGES ON klienci TO pracownik ma na celu

A. nadać wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik
B. cofnąć wszystkie uprawnienia pracownika do tabeli klienci
C. przyznać grupie klienci uprawnienia do tabeli pracownik
D. przenieść uprawnienia z grupy klienci na użytkownika pracownik
Polecenie GRANT ALL PRIVILEGES ON klienci TO pracownik w języku SQL jest używane do nadawania wszystkich dostępnych uprawnień na określonej tabeli, w tym przypadku na tabeli klienci, użytkownikowi o nazwie pracownik. Dzięki temu, otrzymuje on pełną kontrolę nad danymi w tej tabeli, co obejmuje możliwość dodawania, modyfikowania oraz usuwania rekordów, a także zarządzania strukturą tabeli. Jako przykład, jeśli pracownik potrzebuje wprowadzać nowe informacje o klientach, usuwanie zbędnych danych lub edytowanie istniejących rekordów, nadanie mu wszystkich uprawnień jest kluczowe. Standardy SQL definiują sposób zarządzania uprawnieniami i pozwalają administratorom na precyzyjne kontrolowanie dostępu do danych. W praktyce, aby skorzystać z tego polecenia, użytkownik musi mieć odpowiednie uprawnienia do nadawania uprawnień innym użytkownikom. Warto również pamiętać o zasadzie najmniejszych uprawnień, która sugeruje, że użytkownik powinien otrzymać tylko te uprawnienia, które są niezbędne do wykonania jego zadań, co zwiększa bezpieczeństwo bazy danych.

Pytanie 18

Który zapis znacznika <meta> jest poprawny w kontekście użytych atrybutów?

A. <meta background = blue>
B. <meta name = '!DOCTYPE'>
C. <meta name = 'description' content = 'Masz jakieś hobby? To jest strona dla Ciebie!'>
D. <meta title = 'Strona dla hobbystów'>
Wszystkie inne podane odpowiedzi są niepoprawne z różnych powodów. Przede wszystkim, znacznik <meta background = blue> nie jest poprawny, ponieważ atrybut 'background' nie jest standardowym atrybutem dla znacznika <meta>. W znaczniki <meta> stosuje się atrybuty takie jak 'name', 'content' czy 'http-equiv', a nie atrybuty związane z CSS, które powinny być używane w tagach takich jak <style> lub bezpośrednio w atrybutach stylu HTML. Dodatkowo, zapis <meta name = "!DOCTYPE"> jest całkowicie błędny, ponieważ 'DOCTYPE' nie jest nazwą atrybutu, który można by użyć w znaczniku <meta>. 'DOCTYPE' jest deklaracją, która informuje przeglądarkę o wersji HTML używanej w dokumencie, a nie metadanymi. Wreszcie, zapis <meta title = "Strona dla hobbystów"> jest również niepoprawny, ponieważ 'title' nie jest atrybutem akceptowanym przez znacznik <meta>. Tytuł strony powinien być umieszczony w znaczniki <title>, który znajduje się w sekcji <head> dokumentu HTML. Te błędy pokazują, jak ważne jest przestrzeganie standardów i zrozumienie struktury HTML, aby skutecznie wykorzystywać znaczniki <meta> w optymalizacji stron internetowych.

Pytanie 19

Czego nie należy brać pod uwagę przy zabezpieczaniu serwera bazy danych przed atakami hakerskimi?

A. Zamykanie portów związanych z bazą danych
B. Aktywacja zapory
C. Defragmentacja dysków
D. Używanie skomplikowanych haseł do bazy
Wszystkie wymienione metody oprócz defragmentacji dysków są kluczowymi elementami strategii zabezpieczeń bazy danych i mają istotne znaczenie w kontekście ochrony przed atakami hakerskimi. Stosowanie złożonych haseł jest absolutnie niezbędne, ponieważ proste hasła mogą być łatwo złamane przy użyciu technik takich jak brute force. Złożone hasła, które są długie i skomplikowane, znacznie zwiększają czas potrzebny na ich złamanie. Blokowanie portów, które nie są wykorzystywane przez bazę danych, pozwala na zredukowanie powierzchni ataku, ograniczając dostęp do systemu tylko do niezbędnych kanałów komunikacyjnych. To podejście jest zgodne z zasadą „minimalnych uprawnień”, która mówi o tym, że system powinien mieć jak najmniej aktywnych punktów dostępu. Włączenie zapory (firewall) jest również nieodzownym elementem ochrony. Zapory chronią przed nieuprawnionym dostępem, filtrując ruch sieciowy i umożliwiając korzystanie tylko z zaufanych źródeł. W praktyce, ignorowanie tych metod zabezpieczeń może prowadzić do poważnych luk w bezpieczeństwie, które hakerzy mogą wykorzystać. Przykłady z życia pokazują, że wiele wycieków danych miało miejsce z powodu słabości w hasłach i niewłaściwej konfiguracji firewalli. Dlatego właściwe zrozumienie i wdrożenie tych praktyk jest kluczowe dla ochrony danych w bazach danych.

Pytanie 20

Jakie polecenie HTML poprawnie odwzorowuje przedstawioną hierarchiczną strukturę tekstu, która została wyświetlona przez przeglądarkę w następujący sposób: Rozdział 1 tekst Podrozdział 1.1 tekst Podrozdział 1.2?

A. <ul><li>Rozdział 1<li>tekst<li>Podrozdział 1.1<li>tekst<li>Podrozdział 1.2</ul>
B. <big>Rozdział 1</big>tekst<big>Podrozdział 1.1</big>tekst<big>Podrozdział 1.2</big>
C. <h1>Rozdział 1</h1><p>tekst</p><h2>Podrozdział 1.1</h2><p>tekst</p><h2>Podrozdział 1.2</h2>
D. <h1>Rozdział 1<p>tekst<h2>Podrozdział 1.1<p>tekst<h2>Podrozdział 1.2
Poprawny kod HTML do definiowania hierarchicznej struktury tekstu oparty jest na semantycznym znaczeniu tagów. W tym przypadku, użycie <h1> dla 'Rozdział 1' jako głównego nagłówka jest zgodne z zasadami projektowania stron internetowych, gdyż <h1> powinien być używany dla najważniejszego nagłówka na stronie. Następnie zastosowanie <h2> dla 'Podrozdział 1.1' i 'Podrozdział 1.2' wskazuje na hierarchię, gdzie te podrozdziały są podkategoriami głównego rozdziału. Tag <p> jest użyty do definiowania paragrafów tekstowych, co zapewnia odpowiednie formatowanie i czytelność. Taki układ jest zgodny z wytycznymi W3C, które rekomendują używanie nagłówków w strukturze dokumentu HTML, co ułatwia zarówno przeglądarkom, jak i użytkownikom zrozumienie hierarchii treści. Przykładowo, strona internetowa z taką strukturą będzie lepiej indeksowana przez wyszukiwarki, co przyczyni się do poprawy SEO.

Pytanie 21

W języku JavaScript zdefiniowano obiekt ```obiekt = { q: 1, w: 2, e: 3, r: 4 };``` W jaki sposób można uzyskać wartość właściwości ```w```?

A. obiekt->w
B. obiekt.w
C. obiekt::w
D. obiekt:w
Niepoprawne odpowiedzi wskazują na nieporozumienia dotyczące składni języka JavaScript. Użycie obiekt:w sugeruje, że istnieje jakiś operator dostępu do właściwości za pomocą dwukropka, co jest niezgodne z zasadami składniowymi JavaScript. W rzeczywistości dwukropek w tym kontekście nie ma znaczenia i jest błędnie interpretowany. Podobnie, obiekt::w użytkuje podwójny dwukropek, co z kolei jest składnią nieznaną w JavaScript i nie ma zastosowania w kontekście odwoływania się do właściwości obiektu. Z kolei obiekt->w sugeruje, że programista próbuje skorzystać z operatora strzałki, który występuje w innych językach programowania, takich jak C++ czy PHP, ale nie jest on używany w JavaScript. W JavaScript stosuje się wyłącznie notację kropkową lub nawiasową do odwoływania się do właściwości obiektów. Chociaż różne języki programowania mogą mieć swoje własne konwencje dotyczące operatorów dostępu do właściwości, JavaScript pozostaje konsekwentny w swojej składni, co ułatwia zrozumienie i naukę. Ważne jest, aby programiści zapoznali się z podstawami składni JavaScript, aby unikać takich błędów i poprawnie wykorzystywać możliwości obiektowego modelu tego języka.

Pytanie 22

W sekcji nagłówkowej kodu HTML znajduje się tekst przedstawiony na ilustracji. Tekst ten zostanie wyświetlony

<title>Strona miłośników psów</title>
A. w zawartości strony, na banerze
B. w zawartości strony, w pierwszym widocznym nagłówku
C. w polu adresu, obok wpisanego adresu URL
D. na pasku tytułowym przeglądarki
Element <title> w kodzie HTML jest często mylony z innymi znacznikami, które mogą wpływać na wyświetlanie treści strony. Znajduje się w sekcji <head> dokumentu i jest odpowiedzialny wyłącznie za wyświetlanie tytułu strony na pasku tytułu przeglądarki, co jest kluczowe dla zrozumienia jego roli. Błędne przekonanie, że tekst z tagu <title> pojawia się w treści strony, wynika z nieznajomości różnorodności znaczników HTML. Zamiast tego, nagłówki takie jak <h1>, <h2> i inne są używane do strukturyzowania treści strony i są widoczne dla użytkowników bezpośrednio na stronie. Mylenie tych funkcji prowadzi do niepoprawnego użycia znaczników, co skutkuje nieoptymalnym projektowaniem stron internetowych. Kolejnym częstym błędem jest założenie, że tytuł strony może być wyświetlany w polu adresu URL, co jest nieprawidłowe, ponieważ pole to pokazuje jedynie adres strony. Zrozumienie tych różnic jest kluczowe dla efektywnego kodowania i projektowania stron internetowych, a także dla poprawnej optymalizacji pod kątem wyszukiwarek internetowych, gdzie każde wyrażenie i jego pozycja w kodzie HTML ma znaczenie. Właściwe użycie tagu <title> to fundament dobrze zoptymalizowanej strony, co jest niezbędne w dzisiejszym środowisku cyfrowym.

Pytanie 23

Jakie skutki przyniesie zastosowanie przedstawionego formatowania CSS dla nagłówka trzeciego stopnia?

<style> h3 { background-color: grey; } </style> ... <h3 style="background-color: orange;"> Rozdział 1.2.2. </h3>
A. kolor tekstu będzie szary
B. tło będzie pomarańczowe
C. kolor tekstu będzie pomarańczowy
D. tło będzie szare
W kaskadowych arkuszach stylów CSS ważna jest zasada kaskadowania, która mówi o tym, jakie style powinny obowiązywać w przypadku konfliktów. Oparcie się na specyficzności selektorów i ich kolejności w kodzie to podstawa. W tym pytaniu mówimy o stylizacji nagłówka przy użyciu zewnętrznego stylu CSS i stylu wbudowanego. Styl wbudowany ma najwyższą specyficzność, czyli zawsze wygrywa z regułami z sekcji style, nawet jeśli są one globalne. To znaczy, że niezależnie od tego, co napisano w stylach dla nagłówka h3, to jednak styl wbudowany ustawi tło na pomarańczowe. Nie można zakładać, że zewnętrzne reguły mają wyższy priorytet, gdy nie są bardziej specyficzne albo nie używają !important. Zrozumienie tych zasad pozwala uniknąć typowych błędów w stylizacji, co jest wyjątkowo istotne w tworzeniu stron. Żeby wszystko ładnie wyglądało i było łatwe do zarządzania, lepiej unikać stylów wbudowanych przy większych projektach, gdzie oddzielenie struktury od prezentacji jest kluczowe dla utrzymania kodu. Lepiej skupić się na stylach zewnętrznych, mając na uwadze specyficzność i zasady kaskadowe, co zapewnia większą kontrolę nad wyglądem strony.

Pytanie 24

W jaki sposób, stosując język PHP można usunąć ciasteczko o nazwie ciastko?

A. deletecookie(""ciastko"");
B. unsetcookie(""$ciastko"");
C. setcookie(""ciastko"", """", time()-3600);
D. setcookie(""$ciastko"", """", 0);
Wiele z błędnych odpowiedzi opiera się na niepoprawnych założeniach dotyczących metod usuwania ciasteczek w PHP. Przykładowo, użycie deletecookie("ciastko") jest nieprawidłowe, ponieważ w standardowej bibliotece PHP nie istnieje funkcja o takiej nazwie. PHP nie dostarcza wbudowanej funkcji do bezpośredniego usuwania ciasteczek; zamiast tego należy użyć setcookie, aby ustawić ciasteczko z przestarzałym czasem ważności. Podobnie, użycie unsetcookie("$ciastko") jest błędne, ponieważ nie ma takiej funkcji w PHP. Użytkowanie funkcji unset dotyczy zmiennych, a nie ciasteczek, co może prowadzić do konfuzji. W praktyce, aby usunąć ciasteczko, musisz wyraźnie określić jego nazwę z użyciem setcookie, a także wartość oraz czas wygaśnięcia. Ostatecznie, niewłaściwe podejścia do usuwania ciasteczek mogą prowadzić do problemów z bezpieczeństwem, na przykład w sytuacjach, gdy aplikacja niepoprawnie zarządza sesjami użytkowników, co naraża dane na nieautoryzowany dostęp. Aby skutecznie zarządzać ciasteczkami, ważne jest zrozumienie ich mechanizmów oraz stosowanie zgodnych z normami metod ich usuwania.

Pytanie 25

Tworząc tabelę produkty, należy dodać pole cena, które będzie odzwierciedlać koszt produktu. Jaki typ powinno mieć to pole?

A. INTEGER(11)
B. TINYTEXT
C. DECIMAL(10, 2)
D. ENUM
Wybór typów ENUM, INTEGER(11) i TINYTEXT dla pola przechowującego cenę produktu może prowadzić do istotnych problemów. ENUM to typ danych, który przechowuje zestaw z góry określonych wartości. Jest to użyteczne dla ograniczonego zestawu opcji, np. dla koloru lub statusu, ale nie nadaje się do przechowywania wartości liczbowych, takich jak ceny, które mogą być zmienne i nieprzewidywalne. Z kolei typ INTEGER(11) przechowuje jedynie liczby całkowite, co oznacza, że nie będzie w stanie reprezentować wartości z miejscami po przecinku. Cena zamówienia 19,99 PLN nie mogłaby być poprawnie zarejestrowana, co byłoby nieakceptowalne w kontekście aplikacji finansowych. TINYTEXT to typ przechowujący tekst, co w kontekście cen jest absolutnie nieodpowiednie, ponieważ nie zapewnia możliwości przechowywania wartości liczbowych, a także nie pozwala na wykonywanie kalkulacji arytmetycznych. Stąd wynika, że wybór tych typów jest oparty na nieporozumieniach dotyczących ich funkcjonalności i zastosowania, co może skutkować nieprawidłowym działaniem aplikacji oraz błędami w obliczeniach. Aby uniknąć takich błędów, ważne jest, by dobrze rozumieć, jakie typy danych są odpowiednie dla określonych zastosowań, a także znać zasady dobrego projektowania baz danych, które skupiają się na precyzyjnej reprezentacji danych oraz ich odpowiednim typie.

Pytanie 26

Tabele Klienci oraz Zgłoszenia są ze sobą połączone relacją jeden do wielu. W celu uzyskania jedynie opisu zgłoszenia oraz odpowiadającego mu nazwiska klienta dla zgłoszenia o numerze 5, należy wykonać polecenie

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5
B. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.id WHERE Zgłoszenia.id = 5
C. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Klienci.id = 5
D. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci WHERE Klienci.id = 5
Odpowiedź jest poprawna, ponieważ uwzględnia właściwe połączenie między tabelami Klienci i Zgłoszenia za pomocą klucza obcego Klienci_id w tabeli Zgłoszenia. W relacyjnych bazach danych, gdy chcemy pobrać dane z dwóch tabel powiązanych relacją klucz główny-klucz obcy, używamy klauzuli JOIN. W tym przypadku Klienci_id w tabeli Zgłoszenia odnosi się do kolumny id w tabeli Klienci. Zapytanie SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5; precyzyjnie pobiera kolumny opis i nazwisko z odpowiednich tabel, filtrując wyniki, aby dotyczyły jedynie zgłoszenia o id równym 5. Takie podejście jest zgodne z dobrymi praktykami projektowania relacyjnych baz danych, gdzie separacja danych na tabele pozwala na efektywne zarządzanie związkami między danymi. Korzystając z JOIN, integrujemy te dane w logiczny sposób, co jest fundamentem wydajnych i skalowalnych systemów bazodanowych. Praktyczne zastosowanie tego podejścia można znaleźć w projektowaniu systemów CRM, gdzie dane o klientach i ich zgłoszeniach są regularnie łączone w celu analizy i raportowania.

Pytanie 27

W języku HTML aby zdefiniować słowa kluczowe strony, należy użyć zapisu

A. <meta name = "description" content = "psy, koty, gryzonie">
B. <meta name = "keywords" = "psy, koty, gryzonie">
C. <meta keywords = "psy, koty, gryzonie">
D. <meta name = "keywords" content = "psy, koty, gryzonie">
Poprawna odpowiedź to <meta name = "keywords" content = "psy, koty, gryzonie">, ponieważ jest to właściwy sposób definiowania słów kluczowych w sekcji <head> dokumentu HTML. Element <meta> służy do dostarczania metadanych o stronie internetowej, a atrybut 'name' określa, jakie informacje są zawarte w danym elemencie. W przypadku 'keywords', atrybut 'content' z kolei zawiera listę słów kluczowych, które są związane z treścią strony. Chociaż znaczenie słów kluczowych w SEO zmienia się, wciąż są one używane przez niektóre wyszukiwarki do kategoryzowania zawartości strony. Przykładowo, jeśli strona dotyczy zwierząt domowych, użycie fraz takich jak 'psy', 'koty', czy 'gryzonie' w atrybucie 'content' może pomóc w poprawie widoczności w wynikach wyszukiwania. Dobrą praktyką jest, aby słowa kluczowe były specyficzne, związane z tematyką strony i nie przekraczały rozsądnej liczby, aby nie wprowadzać w błąd algorytmy wyszukiwarek. Używanie odpowiednich metatagów to kluczowy element optymalizacji SEO.

Pytanie 28

W HTML, aby uzyskać rezultat jak w podanym przykładzie, należy użyć struktury `

Duży tekst zwykły tekst

A. <p><strike>Duży tekst</strike> zwykły tekst</p>
B. <p><big>Duży tekst</p> zwykły tekst
C. <p><strike>Duży tekst zwykły tekst</p>
D. <p><big>Duży tekst</big> zwykły tekst</p>
Odpowiedź <p><big>Duży tekst</big> zwykły tekst</p> jest poprawna, ponieważ wykorzystuje znacznik <big>, który jest zgodny z semantyką HTML i odpowiednio formatuje tekst, zwiększając jego rozmiar. Warto zauważyć, że użycie znacznika <big> jest zgodne z praktykami, które rekomendują wykorzystanie odpowiednich znaczników do modelowania treści w dokumentach HTML. Taki zabieg nie tylko pozwala na lepszą prezentację tekstu, ale także ułatwia dostępność strony, co jest istotne w kontekście WCAG (Web Content Accessibility Guidelines). Przykładem zastosowania może być sytuacja, w której chcemy wyróżnić istotne informacje w tekście, np. nagłówki sekcji lub kluczowe dane. Zastosowanie <big> w tym kontekście zwiększa czytelność oraz zwraca uwagę użytkowników, co jest szczególnie ważne w długich dokumentach. Warto również pamiętać, że stosowanie znaczników odpowiadających ich przeznaczeniu wspiera SEO, gdyż wyszukiwarki lepiej interpretują strukturę treści. Z tego powodu, używanie semantycznych i odpowiednich znaczników, takich jak <big>, jest kluczowe dla tworzenia poprawnych i funkcjonalnych stron internetowych.

Pytanie 29

Który model barw opisuje kolor za pomocą stożka przestrzeni barw?

A. CIE
B. CMYK
C. CMY
D. HSV
CIE to standard przestrzeni barw opracowany przez International Commission on Illumination, który opisuje sposób percepcji kolorów przez ludzkie oko. Choć model CIE jest fundamentalny w teorii kolorów, nie jest bezpośrednio reprezentowany jako stożek przestrzeni barw, lecz jako zbiór punktów w przestrzeni trójwymiarowej, co czyni go mniej intuicyjnym w praktycznych zastosowaniach niż model HSV. Model CMY to model barw subtraktywnych, który opiera się na absorpcji światła i jest stosowany głównie w druku. W praktyce, model ten nie uwzględnia wszystkich aspektów percepcji kolorów, co może prowadzić do niedokładności w odzwierciedleniu kolorów. Z kolei model CMYK, będący rozszerzeniem modelu CMY, dodaje czarny atrament do uzyskania głębszych odcieni, co czyni go lepszym do druku, ale nie jest on dogodny do reprezentacji kolorów w przestrzeni stożkowej. Te modele, choć mają swoje zastosowanie w różnych dziedzinach, nie są tak użyteczne, jak model HSV, gdyż nie oferują podobnej elastyczności w manipulacji kolorami i nie są oparte na intuicyjnym systemie odcieni, nasycenia i jasności.

Pytanie 30

W sklepie internetowym wykorzystuje się tabelę faktura. W trakcie generowania faktury pole dataPlatnosci nie zawsze jest uzupełnione. Aby to skorygować, pod koniec dnia należy wprowadzić bieżącą datę do wierszy, gdzie to pole jest puste. W tym celu można wykorzystać kwerendę

A. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE dataPlatnosci IS NOT NULL
B. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataplatnosci = '0000-00-00'
C. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL
D. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE id = 3
Niepoprawne odpowiedzi zawierają różne koncepcje, które prowadzą do błędnych wniosków. W pierwszej z nich zastosowano 'UPDATE faktury SET dataPlatnosci=CURTIME() WHERE id = 3;', co jest niewłaściwe, ponieważ ta kwerenda aktualizuje tylko jedną fakturę o identyfikatorze 3 i używa CURTIME(), co zwraca czas, a nie datę. W rezultacie, pole 'dataPlatnosci' pozostanie puste dla większości faktur. W innej odpowiedzi znalazła się kwerenda 'UPDATE faktury SET dataPlatnosci=CURTIME() WHERE dataPlatnosci IS NOT NULL;', co jest sprzeczne z założeniem, że aktualizować powinno się tylko te wpisy, gdzie pole jest puste. Kwerenda ta mogłaby zaktualizować datę tylko dla wierszy, które już zawierają datę płatności, co nie ma sensu. Ostatnia odpowiedź 'UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataplatnosci = '0000-00-00';' również nie jest skuteczna, ponieważ nie uwzględnia sytuacji, gdy pole 'dataPlatnosci' jest NULL. Zastosowanie wartości '0000-00-00' nie jest standardem w bazach danych, a operacje na takich wartościach mogą prowadzić do niejednoznaczności oraz problemów z integralnością danych. W kontekście programowania baz danych, istotne jest, aby stosować się do standardów, które umożliwiają zachowanie spójności i poprawności danych. Kwestie takie jak brak wartości NULL w kolumnach powinny być rozwiązywane w sposób systematyczny, aby uniknąć problemów w przyszłości.

Pytanie 31

Jaką funkcję w języku PHP należy wykorzystać, aby nawiązać połączenie z bazą danych o nazwie zwierzaki?

A. $polacz = db_connect('localhost', 'root','','zwierzaki')
B. $polacz = mysqli_connect('localhost', 'root','','zwierzaki')
C. $polacz = sql_connect('localhost', 'root','','zwierzaki')
D. $polacz = server_connect('localhost', 'root','','zwierzaki')
Odpowiedź $polacz = mysqli_connect('localhost', 'root','','zwierzaki'); jest poprawna, ponieważ używa funkcji mysqli_connect, która jest standardowym sposobem nawiązywania połączenia z bazą danych MySQL w PHP. Funkcja ta pozwala na określenie hosta, użytkownika, hasła oraz nazwy bazy danych, co jest niezbędne do skutecznego nawiązania połączenia. Mysqli jest rozszerzeniem PHP przeznaczonym do pracy z bazami danych MySQL, wprowadzającym nowe funkcjonalności w porównaniu do starszego mysql. Ponadto, mysqli_connect obsługuje zarówno połączenia proceduralne, jak i obiektowe, co daje programistom elastyczność w wyborze stylu programowania. Przykładowo, po poprawnym połączeniu, można wykonywać zapytania do bazy danych w sposób zorganizowany, co sprzyja tworzeniu aplikacji webowych. Należy również pamiętać o dobrych praktykach, takich jak użycie try-catch do obsługi błędów przy nawiązywaniu połączenia, co zapewnia stabilność i niezawodność aplikacji. Stosowanie mysqli jest obecnie zalecane w dokumentacji PHP, a także w praktyce branżowej.

Pytanie 32

W znaczniku meta w miejsce kropek należy wpisać

Ilustracja do pytania
A. streszczenie treści strony
B. język dokumentu
C. nazwa edytora
D. informację o dostosowaniu do urządzeń mobilnych
W znaczniku meta nie umieszcza się nazwy edytora, ponieważ znaczniki meta służą do przekazywania informacji o stronie internetowej dla przeglądarek i wyszukiwarek, a nie o narzędziach użytych do jej edycji. Nazwa edytora jest niezwiązana z funkcjonowaniem strony lub jej indeksowaniem przez wyszukiwarki. Język dokumentu jest określany za pomocą atrybutu lang w znaczniku html, a nie w meta tagu. Atrybut lang wspomaga przeglądarki i narzędzia asystujące w określeniu języka treści, co jest niezbędne do poprawnego wyświetlania i przetwarzania tekstu. Informacja o dostosowaniu do urządzeń mobilnych również nie jest umieszczana w znaczniku meta description. Zamiast tego stosuje się znacznik viewport, który instruuje przeglądarki mobilne, jak skalować i wyświetlać stronę. Poprawne użycie znacznika viewport jest kluczowe dla responsywności strony i jej optymalnego wyświetlania na różnych urządzeniach. Niepoprawne zrozumienie tych zastosowań może prowadzić do błędnego konstruowania stron, co wpływa na ich widoczność i funkcjonalność w różnych środowiskach internetowych. Każdy znacznik HTML ma określone funkcje i zastosowania, które są często regulowane przez standardy W3C i najlepsze praktyki w branży web developmentu. Zrozumienie tych zasad pozwala na tworzenie efektywnych i zgodnych z normami stron internetowych.

Pytanie 33

Do czego można wykorzystać program FileZilla?

A. do publikowania strony internetowej
B. do interpretacji kodu PHP
C. do testowania prędkości ładowania strony
D. do weryfikacji strony internetowej
Odpowiedzi, które wybrałeś, niestety nie dotyczą FileZilli. Mieszają się tu różne tematy, jak interpretacja kodu PHP czy testowanie wczytywania strony, co nie ma nic wspólnego z tym narzędziem. PHP jest odrębną sprawą, bo skrypty są wykonywane na serwerze, a nie przez FileZillę. Walidacja strony też dotyczy zupełnie innych rzeczy – chodzi o to, czy strona pasuje do jakichś standardów, co robią specjalne narzędzia. A testowanie prędkości wczytywania to już w ogóle inny temat, do tego są inne aplikacje. Czasem zdarza się pomylić funkcje różnych narzędzi, co prowadzi do nieporozumień. Ważne jest, żeby zrozumieć, co naprawdę robi FileZilla i jak można z niej efektywnie korzystać przy tworzeniu stron.

Pytanie 34

Jakie metody są związane z predefiniowanym obiektem Date w języku JavaScript?

A. getMonth() oraz getDay()
B. row()
C. fromCodePoint()
D. concat() oraz pop()
Metody row(), fromCodePoint() oraz concat() i pop() nie są związane z obiektem Date w JavaScript, stąd ich niepoprawność w kontekście pytania. Metoda row() nie istnieje w standardzie JavaScript, co czyni ją całkowicie nieodpowiednią w analizie dat. Z kolei fromCodePoint() jest metodą stosowaną w kontekście pracy z Unicode, a nie datami; służy do konwersji punktów kodowych na znaki, co nie ma zastosowania w operacjach na obiektach Date. Metody concat() oraz pop() są właściwe dla obiektów typu Array. concat() łączy dwa lub więcej tablic, natomiast pop() usuwa ostatni element tablicy. Obie te metody nie mają związku z manipulowaniem datami, a ich wykorzystanie w kontekście obiektu Date jest błędne. Dlatego odpowiedzi te są niewłaściwe i nie mają zastosowania w kontekście funkcji obiektu Date w JavaScript, co pokazuje, jak ważne jest zrozumienie kontekstu i specyfiki metod w języku JavaScript.

Pytanie 35

W deklaracji w języku JavaScript:```var x=true;``` zmienna x przyjmuje typ

A. ciąg znaków
B. liczbowym
C. wyliczeniowym
D. logicznym
Odpowiedź logicznego jest poprawna, ponieważ w języku JavaScript wyrażenie `var x = true;` przypisuje do zmiennej `x` wartość typu boolean, która jest jednym z dwóch stanów: `true` lub `false`. Typ boolean jest kluczowym elementem programowania, służącym do wykonywania logiki warunkowej, co jest niezbędne w większości aplikacji. Na przykład, używając warunków if-else, możemy podejmować decyzje na podstawie wartości boolean. W praktyce, po przypisaniu `x`, możemy używać go w instrukcjach warunkowych, jak w poniższym przykładzie: `if (x) { console.log('X jest prawdą'); } else { console.log('X jest fałszem'); }`. Ponadto, dobrym standardem jest oznaczanie zmiennych typem boolean poprzez użycie prefiksów, jak `is` lub `has`, co poprawia czytelność kodu. Wspieranie logiki programowania przy użyciu typów prostych jest kluczowe w inżynierii oprogramowania, co czyni tę wiedzę istotną.

Pytanie 36

W języku JavaScript, aby zweryfikować, czy liczba leży w zakresie 100,200>, należy użyć:

A. if(liczba>100 && liczba <=200)
B. if (liczba>100 || liczba<=200)
C. if(liczba<100 || liczba>=200)
D. if(liczba<100 && liczba<=200)
Pierwsza z niepoprawnych odpowiedzi używa operatora OR (||), co jest błędne, ponieważ warunek ten sprawdza, czy liczba jest większa niż 100 LUB mniejsza lub równa 200. Taki zapis może prowadzić do sytuacji, w których liczba poza przedziałem też zostanie zaakceptowana, na przykład -50, co nie jest zgodne z intencją sprawdzania zakresu. W drugiej odpowiedzi zastosowano również operator OR, a zapis if(liczba < 100 || liczba >= 200) implikuje, że liczba może być mniejsza niż 100 lub większa lub równa 200, co również wyklucza liczby w zakresie 100-200 i jest niespójne z założonym celem. Ostatnia z błędnych odpowiedzi używa operatora AND, ale zapis if(liczba < 100 && liczba <= 200) sprawdza, czy liczba jest jednocześnie mniejsza niż 100 oraz mniejsza lub równa 200, co nie ma sensu, ponieważ nie ma liczb, które mogą spełniać obydwa warunki jednocześnie. Dlatego kluczowe jest rozróżnienie pomiędzy operatorami logicznymi AND i OR oraz zrozumienie, jak wpływają one na zakresy wartości w kontekście programowania w JavaScript.

Pytanie 37

W jakim standardzie języka hipertekstowego wprowadzono do składni znaczniki sekcji <footer>, <header>, <nav>?

A. XHTML1.0
B. HTML5
C. XHTML 2.0
D. HTML4
Zgadza się, w HTML4 nie było znaczników <footer>, <header> i <nav>, bo one pojawiły się później. HTML4 raczej skupiał się na prostym formatowaniu i strukturze. XHTML1.0 też tego nie oferuje, bo jest bardziej rygorystyczną wersją HTML i trzyma się zasad XML, co znaczy, że wszystko musi być zgodne z gramatyką XML, ale nowe semantyczne elementy nie są tam wprowadzone. A, no i XHTML 2.0 miał zmienić wszystko, ale nigdy nie wyszedł oficjalnie, więc w sumie odpuścili jego rozwój na rzecz HTML5. Tak więc to też pokazuje, że brak tych znaczników był sporym ograniczeniem w kontekście rozwoju internetu. Zresztą HTML5 ma ogromne wsparcie od twórców stron i narzędzi programistycznych, dlatego jest teraz numerem jeden w projektach webowych.

Pytanie 38

Który ze skrótów oznacza sieć bezprzewodową?

A. MAN
B. LAN
C. WAN
D. WLAN
Wiele osób myli podstawowe skróty sieciowe, bo na pierwszy rzut oka wszystkie wyglądają podobnie: LAN, MAN, WAN, WLAN – same trzy‑ lub czteroliterowe skróty, każdy coś z „network”. Warto to sobie uporządkować, bo w administracji systemami, serwerami czy usługami webowymi precyzyjne nazewnictwo naprawdę ułatwia życie. LAN to Local Area Network, czyli sieć lokalna, zwykle ograniczona do jednego budynku, biura, szkoły czy mieszkania. Typowy LAN w firmie to przełączniki, okablowanie strukturalne, gniazda RJ‑45 w ścianach i komputery podłączone przewodowo. Sama nazwa LAN nie mówi nic o tym, czy sieć jest przewodowa czy bezprzewodowa – historycznie kojarzy się głównie z Ethernetem po kablu, ale LAN może też mieć segmenty bezprzewodowe. MAN, czyli Metropolitan Area Network, to sieć na skalę miasta lub większego kampusu. Używa się jej np. do połączenia kilku oddziałów urzędu, kilku budynków uczelni, czasem różnych lokalizacji jednej firmy. To nadal nie jest Internet, ale już nie jest to typowa mała sieć lokalna. WAN – Wide Area Network – obejmuje bardzo duże obszary geograficzne, regiony, kraje, a nawet cały świat. Klasycznym przykładem jest po prostu Internet, ale też prywatne sieci korporacyjne łączące oddziały firmy za pomocą łączy operatorów. Typowym błędem jest myślenie, że skoro korzystasz z Wi‑Fi w domu podłączonym do Internetu, to jest to od razu WAN – w rzeczywistości Twój komputer łączy się z lokalną siecią (LAN lub WLAN), a dopiero router przekazuje ruch dalej do sieci WAN operatora. Pojęcie, którego szukamy przy pytaniu o „sieć bezprzewodową”, to WLAN – Wireless Local Area Network. Ten skrót wyraźnie wskazuje na warstwę fizyczną/medium transmisyjne: zamiast kabli mamy fale radiowe i standardy z rodziny IEEE 802.11. To właśnie w konfiguracji routerów domowych czy punktów dostępowych widzisz sekcję „WLAN” z ustawieniami SSID, hasła Wi‑Fi, kanału, szerokości pasma. Jeśli więc wybierasz LAN, MAN albo WAN jako odpowiedź na pytanie o sieć bezprzewodową, to mieszasz zakres zasięgu sieci z technologią transmisji. LAN, MAN i WAN mówią „jak duży” jest obszar sieci, natomiast WLAN precyzuje dodatkowo, że jest to sieć lokalna realizowana bez kabli, z użyciem medium radiowego.

Pytanie 39

W języku JavaScript trzeba zapisać warunek, który będzie prawdziwy, gdy zmienna a będzie jakąkolwiek liczbą naturalną dodatnią (bez 0) lub zmienna b przyjmie wartość z zamkniętego przedziału od 10 do 100. Wyrażenie logiczne w tym warunku ma formę

A. (a>0) || ((b>=10) || (b<=100))
B. (a>0) || ((b>=10) && (b<=100))
C. (a>0) && ((b>=10) || (b<=100))
D. (a>0) && ((b>=10) && (b<=100))
Warunek zapisany w języku JavaScript jako (a>0) || ((b>=10) && (b<=100)) jest poprawny, ponieważ spełnia wymagania dotyczące sprawdzenia, czy zmienna a jest liczbą naturalną dodatnią oraz czy zmienna b mieści się w przedziale od 10 do 100. Wyrażenie logiczne wykorzystuje operator || (alternatywa), który zwraca true, jeśli przynajmniej jeden z warunków jest spełniony. Warunek a>0 zapewnia, że zmienna a jest większa od zera, co jest zgodne z definicją liczb naturalnych dodatnich. Z kolei wyrażenie (b>=10) && (b<=100) sprawdza, czy zmienna b jest w zadanym przedziale, co jest zgodne z wymaganiami. Wartości graniczne 10 i 100 są uwzględnione dzięki operatorowi && (konjunkcja), który wymaga, aby oba warunki były prawdziwe, aby całe wyrażenie zwróciło true. W praktyce, takie podejście można wykorzystać w różnych kontekstach, np. walidacji danych wejściowych w formularzach internetowych, gdzie kluczowe jest zapewnienie, że użytkownik wprowadza poprawne wartości. Tego rodzaju wyrażenia logiczne są fundamentem programowania w JavaScript, umożliwiając tworzenie bardziej złożonych logik aplikacji. Zgodnie z dokumentacją ECMAScript, użycie operatorów logicznych jest standardowym sposobem na przetwarzanie warunków w programowaniu.

Pytanie 40

W JavaScript, aby wyodrębnić fragment tekstu pomiędzy wskazanymi indeksami, powinno się zastosować metodę

A. replace()
B. concat()
C. slice()
D. trim()
Metoda slice() w języku JavaScript jest kluczowym narzędziem do wydobywania fragmentów ciągów tekstowych. Umożliwia wyodrębnienie podciągu na podstawie określonych indeksów początkowego i końcowego. Przykładowo, jeśli mamy napis 'JavaScript' i chcemy uzyskać 'Script', możemy użyć slice(4, 10). Indeks początkowy jest wliczany, a końcowy jest wykluczany, co zapewnia elastyczność w manipulacji ciągami. Metoda slice() nie modyfikuje oryginalnego ciągu, co jest zgodne z zasadą immutability w funkcjonalnym programowaniu, zwiększając bezpieczeństwo danych. Metoda ta obsługuje również ujemne indeksy, co pozwala na łatwe wyodrębnianie fragmentów z końca napisu. Warto pamiętać, że slice() jest preferowana, gdyż jest bardziej czytelna i intuicyjna w porównaniu z innymi metodami do manipulacji tekstem, jak substr() czy substring().