Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 13 maja 2025 11:12
  • Data zakończenia: 13 maja 2025 11:21

Egzamin niezdany

Wynik: 8/40 punktów (20,0%)

Wymagane minimum: 20 punktów (50%)

Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Tabela programy zawiera kolumny: nazwa_programu, nazwa_producenta, rok_wydania. Jak należy zapisać kwerendę SELECT, aby uzyskać wszystkie unikalne nazwy producentów?

A. SELECT nazwa_producenta FROM programy WHERE UNIQUE
B. SELECT nazwa_producenta FROM programy WHERE nazwa_producenta NOT DUPLICATE
C. SELECT UNIQUE nazwa_producenta FROM programy
D. SELECT DISTINCT nazwa_producenta FROM programy
Odpowiedzi, które wykorzystują terminologię niezgodną ze standardami SQL, prowadzą do błędnych wniosków. W przypadku użycia słowa kluczowego UNIQUE, które nie jest używane w kontekście kwerendy SELECT, użytkownicy mogą błędnie sądzić, że powiązanie z tym terminem umożliwia pozyskanie unikalnych wartości. W rzeczywistości UNIQUE jest używane w kontekście ograniczeń (constraints) w definiowaniu tabeli, a nie w zapytaniach. To podejście może prowadzić do zrozumienia, że istnieje sposób na wykorzystanie tego słowa kluczowego w zapytaniach, co jest mylące. Z kolei propozycje, które odwołują się do frazy WHERE z dodatkowymi warunkami, jak UNIQUE czy NOT DUPLICATE, są również niepoprawne, ponieważ nie są to poprawne składniowo konstrukcje w SQL. Klauzula WHERE służy do filtrowania wyników na podstawie określonych warunków, ale nie ma możliwości zastosowania przy niej unikalnych filtrów w taki sposób. Tego rodzaju nieporozumienia mogą prowadzić do niepoprawnych wyników i frustracji w pracy z bazami danych, dlatego niezwykle ważne jest, aby dokładnie zapoznawać się z dokumentacją i standardami języka SQL, aby unikać takich pułapek. Właściwe zrozumienie terminologii i składni jest kluczowe w efektywnym zarządzaniu danymi.

Pytanie 2

Czym jest relacja w bazach danych?

A. logicznym połączeniem tabel
B. połączeniem dwóch pól w obrębie jednej tabeli
C. kluczem głównym w relacji tabel
D. algebraicznym połączeniem tabel
Niepoprawne odpowiedzi wskazują na nieporozumienia dotyczące definicji relacji w bazach danych. Klucz główny w relacji tabel nie jest definicją relacji, lecz elementem, który umożliwia identyfikację unikalnych rekordów w tabeli. Klucz główny jest atrybutem lub zestawem atrybutów, które zapewniają, że każdy rekord jest jednoznacznie zidentyfikowany, co jest istotne, ale nie definiuje samej relacji między tabelami. Algebraiczne połączenie tabel to termin, który może sugerować operacje wykonywane na danych, ale nie odnosi się bezpośrednio do logiki łączenia tabel, jak ma to miejsce w relacjach. W rzeczywistości, w kontekście baz danych, używa się terminów takich jak 'JOIN', które są technikami łączenia danych z różnych tabel w oparciu o relacje między nimi. Połączenie dwóch pól jednej tabeli to także niepoprawne stwierdzenie, ponieważ relacja odnosi się do powiązań między różnymi tabelami, a nie tylko do pól w jednej tabeli. Właściwe zrozumienie tych terminów jest kluczowe dla efektywnego projektowania baz danych oraz ich późniejszego użytkowania.

Pytanie 3

Jakie stwierdzenie dotyczące zaprezentowanego kodu jest prawdziwe?

Ilustracja do pytania
A. W zmiennej $a wartość "Ala" zostanie zmieniona na "Ola"
B. Zostanie wyświetlony komunikat "OlaA"
C. Znak "=" pełni rolę operatora porównania dwóch zmiennych
D. Znak kropki "." jest operatorem konkatenacji
W analizowanym kodzie występuje kilka nieporozumień dotyczących działania operatorów Znak równości w PHP pełni rolę operatora przypisania a nie porównania Działa on poprzez przypisywanie wartości znajdującej się po prawej stronie do zmiennej po lewej stronie Operator porównania w PHP to podwójny znak równości == który sprawdza czy dwie wartości są sobie równe lub potrójny === który dodatkowo sprawdza typy danych Z kolei operator kropki w PHP jest używany do łączenia ciągów znaków a nie do przypisywania wartości lub porównywania W przedstawionym kodzie $a Ola używa operatora kropek z przypisaniem aby dołączyć Ola do zmiennej $a która zawierała wcześniej Ala Co więcej twierdzenie że zmienna zostanie zmieniona z Ala na Ola jest błędne ponieważ operacja konkatenacji powoduje dodanie drugiej wartości do pierwszej a nie jej zastąpienie Każda z tych błędnych interpretacji może wynikać z mylnego zrozumienia podstawowych operatorów PHP i ich funkcji w manipulatorze ciągów znaków oraz przypisywaniu wartości Operator konkatenacji jest fundamentalnym narzędziem w programowaniu PHP pozwalającym na dynamiczne zarządzanie i modyfikację tekstu w aplikacjach co czyni jego znajomość kluczową dla każdego programisty Aby uniknąć takich błędów warto dobrze poznać podstawy składni i semantyki języka PHP oraz regularnie ćwiczyć ich zastosowanie w praktycznych scenariuszach projektowych

Pytanie 4

Aby zdefiniować pole w klasie, do którego dostęp mają wyłącznie metody tej klasy i które nie jest dostępne dla klas dziedziczących, należy zastosować kwalifikator dostępu

A. private
B. published
C. protected
D. public
Kwalifikator dostępu 'private' jest kluczowy w programowaniu obiektowym, ponieważ pozwala na ukrycie szczegółów implementacji klasy przed innymi klasami. Deklarując pole klasy jako 'private', zapewniamy, że dostęp do niego mają jedynie metody tej samej klasy, co zwiększa enkapsulację i bezpieczeństwo danych. Na przykład, w języku Java, pole 'private' może być używane do przechowywania stanu obiektu, który nie powinien być bezpośrednio modyfikowany przez inne klasy. Korzystanie z getterów i setterów to jedna z najlepszych praktyk, która pozwala na kontrolowanie dostępu i modyfikacji prywatnych pól. Dzięki temu można wprowadzać dodatkową logikę przy pobieraniu lub ustawianiu wartości, co jest zgodne z zasadą pojedynczej odpowiedzialności. W standardach projektowania oprogramowania, takich jak SOLID, podkreśla się znaczenie ograniczania widoczności pól, co prowadzi do bardziej elastycznej i łatwiejszej w utrzymaniu architektury oprogramowania.

Pytanie 5

Zapis w języku JavaScript: x = przedmiot.nazwa(); wskazuje, że

A. nazwa jest polem w klasie przedmiot
B. zmienna x będzie przechowywać rezultat działania funkcji przedmiot
C. zmienna x będzie przechowywać rezultat wykonywania metody nazwa
D. nazwa stanowi właściwość obiektu przedmiot
W kontekście przedstawionego pytania, niepoprawne odpowiedzi sugerują nieporozumienia dotyczące struktury obiektów w JavaScript oraz różnicy pomiędzy metodami a właściwościami. W szczególności, wskazanie, że nazwa jest właściwością obiektu przedmiot, jest mylne, ponieważ w tej konstrukcji 'nazwa' nie jest statycznym atrybutem, lecz metodą, co implikuje, że jest funkcją, a nie prostą wartością. Istotne jest zrozumienie, że właściwości obiektów przechowują dane, ale metody wykonują operacje na tych danych. Dodatkowo, mylenie metody z polem klasy prowadzi do błędnego postrzegania obiektów. W JavaScript, metody są funkcjami przypisanymi do obiektów, podczas gdy pola klasy, nazywane właściwościami, są zupełnie innym bytem. Typowe błędy myślowe w tym kontekście obejmują również nieznajomość pojęcia kontekstu wykonania, który w JavaScript jest kluczowy dla zrozumienia, jak metody działają w odniesieniu do obiektów. Właściwe zrozumienie tych różnic jest fundamentalne dla efektywnego programowania obiektowego. Używanie obiektów w JavaScript powinno opierać się na jasnym rozróżnieniu pomiędzy ich właściwościami a funkcjami, co skutkuje bardziej zorganizowanym i zrozumiałym kodem.

Pytanie 6

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

Ilustracja do pytania
A. A
B. C
C. D
D. B
W rozwiązaniu B zastosowano właściwość clear both co powoduje że element z klasą kolumny nie pozwala na ustawienie innych elementów obok siebie w tym samym wierszu Elementy z właściwością clear both resetują float wokół siebie co oznacza że żadna kolumna nie może być pływająca obok innej W efekcie nie osiągniemy zamierzonego celu jakim jest trzykolumnowy układ w jednym wierszu Jest to błąd często popełniany przez osoby nieznające działania mechanizmu clear w CSS Rozwiązanie C natomiast korzysta z float right oraz height co ustawia elementy pływające z prawej strony kontenera oraz ustawia wysokość na 33 procent co może być mylące float right stosowany jest głównie gdy chcemy aby elementy pływały do prawej krawędzi co nie jest pomocne w sytuacji kiedy zamierzamy stworzyć równomierne kolumny Rozwiązanie D przy zastosowaniu float left oraz width 40 procent powoduje że trzy kolumny nie zmieszczą się obok siebie w jednym wierszu ponieważ przekroczą 100 procent szerokości dostępnej przestrzeni Jest to klasyczny błąd w wyliczeniach kiedy szerokość sumuje się do wartości wyższej niż 100 procent co prowadzi do niepożądanego łamania się wierszy i niepoprawnego układu strona internetowa Aby uniknąć takich błędów warto zawsze przeliczać sumaryczną szerokość wszystkich elementów pływających i upewnić się że nie przekracza ona dostępnej przestrzeni w kontenerze To podejście pozwala na tworzenie bardziej przewidywalnych i spójnych układów na stronie internetowej

Pytanie 7

Jaką funkcję w edytorze grafiki rastrowej trzeba wykorzystać, żeby przygotować rysunek do publikacji na stronie tak, aby widoczne było jedynie to, co znajduje się w obrębie ramki?

Ilustracja do pytania
A. Skalowanie
B. Perspektywa
C. Odbicie
D. Kadrowanie
Kadrowanie w edytorze grafiki rastrowej pozwala na wycięcie określonego fragmentu obrazu aby skupić uwagę na jego najważniejszej części. Proces kadrowania jest niezbędny w sytuacjach gdy chcemy przedstawić tylko wybrany obszar grafiki co jest powszechną praktyką w przygotowywaniu ilustracji do publikacji online. Poprzez kadrowanie eliminujemy zbędną przestrzeń wokół istotnych elementów dzięki czemu obraz staje się bardziej czytelny i estetyczny. Jest to szczególnie ważne w kontekście ograniczonej przestrzeni na stronach internetowych oraz chęci optymalizacji rozmiarów plików graficznych co wpływa na szybkość ładowania witryny. Dobrze wykonane kadrowanie pozwala również na zachowanie estetyki kompozycji obrazu poprzez zastosowanie zasad takich jak reguła trójpodziału co zwiększa atrakcyjność wizualną. Warto również pamiętać że w kontekście norm branżowych kadrowanie jest podstawowym narzędziem w arsenale każdego grafika co znajduje odzwierciedlenie w większości współczesnych aplikacji do edycji grafiki rastrowej.

Pytanie 8

Aby wyeliminować nienaturalne odwzorowanie ukośnych krawędzi w grafice rastrowej, znane jako schodkowanie, powinno się użyć filtru

A. pikselowego
B. gradientowego
C. szumowego
D. antyaliasingu
Filtr szumu nie jest właściwym rozwiązaniem do eliminacji efektu schodkowania. Szum jest używany w grafice do dodawania losowego wzoru w celu maskowania artefaktów lub zwiększania realizmu tekstur, ale nie wpływa na wygładzanie krawędzi, co jest kluczowe dla estetyki grafiki rastrowej. Z kolei filtr gradientu jest techniką wykorzystywaną do tworzenia płynnych przejść kolorystycznych, jednak nie ma on na celu eliminacji schodków na krawędziach. Gradienty mogą poprawić ogólną wizualizację, ale nie są efektywne w walce z ząbkowatością krawędzi. Pikselizacja, z drugiej strony, odnosi się do efektu, gdzie obraz staje się widocznie złożony z dużych pikseli, co w rzeczywistości potęguje problem schodkowania, zamiast go rozwiązywać. Pikselizacja jest często postrzegana jako technika stylizacji, która może być używana celowo, ale nie ma zastosowania w profesjonalnym wygładzaniu krawędzi. Wszystkie te metody, choć użyteczne w odpowiednich kontekstach, nie zastępują techniki antyaliasingu w walce z efektem schodkowania w grafice rastrowej.

Pytanie 9

Jaki format CSS dla akapitu definiuje styl szarej ramki z następującymi cechami?

p {
  padding: 15px;
  border: 2px dotted gray; }

A. linia ciągła; grubość 2 px; marginesy poza ramką 15 px
B. linia kreskowa; grubość 2 px; marginesy poza ramką 15 px
C. linia kropkowa; grubość 2 px; marginesy między tekstem a ramką 15 px
D. linia ciągła; grubość 2 px; marginesy między tekstem a ramką 15 px
Odpowiedź numer jeden jest poprawna, ponieważ prawidłowo opisuje stylizację akapitu przy użyciu CSS zgodnie z przedstawionym kodem. Właściwość 'border' definiuje styl obramowania elementu. W tym przypadku użyto stylu 'dotted', który oznacza linię kropkowaną, o grubości 2 pikseli i kolorze szarym. Jest to użyteczne w sytuacjach, gdy chcemy wizualnie wyróżnić element, ale w sposób subtelny i nienachalny. Dodatkowo, właściwość 'padding' określa margines wewnętrzny, czyli odstęp między zawartością elementu a jego krawędzią. Zapewnienie marginesu wewnętrznego 15 pikseli pozwala tekstowi oddalić się od krawędzi obramowania, co zwiększa czytelność i estetykę. Praktyczne zastosowanie takich stylizacji można znaleźć w projektowaniu stron internetowych, gdzie często używa się różnych stylów obramowań do organizowania treści. Zgodność z dobrymi praktykami web designu zakłada użycie spójnych i intuicyjnych stylów, co poprawia doświadczenia użytkownika oraz ułatwia nawigację po stronie internetowej. Tego typu formatowanie jest zgodne ze standardami CSS, co czyni kod bardziej przewidywalnym i łatwiejszym w utrzymaniu

Pytanie 10

Jakie jest zadanie poniższej pętli? ```int x = 0; while (x < 10) { mojeKsiazki[x] = new Ksiazka(); x++; }```

A. stwórzenie jednego obiektu typu mojeKsiazki
B. uzupełnienie tablicy Ksiazka danymi.
C. stworzenie dziesięciu instancji obiektów typu Ksiazka.
D. wyświetlenie danych z tabeli Ksiazka na ekranie.
Analizując dostępne odpowiedzi, można zauważyć szereg nieprawidłowych koncepcji w odniesieniu do działania pętli while. Odpowiedź sugerująca wypełnienie tabeli Ksiazka danymi wskazuje na nieporozumienie, ponieważ pętla nie wprowadza żadnych danych do obiektów Ksiazka; zamiast tego jedynie tworzy ich instancje. Kolejna odpowiedź, dotycząca wypisywania danych na ekranie, jest również błędna, ponieważ w przedstawionym kodzie nie ma żadnej operacji wyświetlania danych, a jedynie przypisanie nowych obiektów do tablicy. Trzecia niepoprawna koncepcja, związana z utworzeniem jednego obiektu typu mojeKsiazki, myli się co do natury tablic. Tablica mojeKsiazki jest jedną zmienną przechowującą wskaźniki do utworzonych obiektów typu Ksiazka, a nie pojedynczym obiektem. W kontekście programowania obiektowego istotne jest zrozumienie różnicy pomiędzy instancjami klas a kolekcjami tych instancji, co jest kluczowe dla efektywnego zarządzania pamięcią i strukturami danych. Typowe błędy myślowe, które prowadzą do takich wniosków, to brak znajomości podstawowych zasad programowania obiektowego oraz mylenie operacji na obiektach z operacjami na tablicach lub innych strukturach danych. Ważne jest, aby każdy programista zrozumiał, jak działają pętle oraz jak skutecznie tworzyć i zarządzać obiektami w ramach tablic czy kolekcji.

Pytanie 11

Aby obraz w filmie zmieniał się gładko, liczba klatek (niezachodzących na siebie) w ciągu sekundy musi mieścić się przynajmniej w zakresie

A. 24 do 30 fps
B. 20 do 23 fps
C. 16 do 19 fps
D. 31 do 36 fps
Wybór '31 do 36 fps' jest trochę mylący, bo chociaż teoretycznie mogłoby to zapewnić płynny obraz, to w praktyce nie jest to standard w produkcjach filmowych. Klatki powyżej 30 fps w tradycyjnym kinie to rzadkość, co może wprowadzać zamieszanie co do efektów wizualnych. Ponadto sztuczne zwiększenie fps takich jak 31 może sprawić, że ruch będzie wyglądał na rozmyty, a to niespecjalnie pasuje do estetyki filmowej. Z drugiej strony, '20 do 23 fps' to zdecydowanie za mało, by zapewnić przyzwoitą jakość w profesjonalnych produkcjach. Takie wartości mogą się sprawdzić w animacjach czy niskobudżetowych filmach, ale już w bardziej skomplikowanych ujęciach nie dają płynności. Natomiast '16 do 19 fps' to totalna porażka, bo powoduje skoki i zacięcia, a to w branży nie przechodzi. Dlatego w pracy z wideo, warto pilnować minimum 24 fps, żeby widzowie mieli fajne wrażenia wizualne.

Pytanie 12

Jaki kolor reprezentuje zapis heksadecymalny #0000FF?

A. czarny
B. niebieski
C. zielony
D. czerwony
Zrozumienie kolorów w notacji heksadecymalnej jest niezbędne do prawidłowego zastosowania ich w projektach graficznych i webowych. Wiele osób mylnie interpretuje wartości w tej notacji, prowadząc do błędnych wyborów kolorów. Na przykład, odpowiedzi sugerujące, że kolor #0000FF to zielony, czerwony lub czarny, pokazują typowe błędy związane z niewłaściwym odczytem wartości heksadecymalnych. Zielony zapisany byłby w notacji heksadecymalnej jako #00FF00, gdzie '00' w pozycji czerwonej i niebieskiej oznacza zerową intensywność tych kolorów, a 'FF' pełną intensywność zielonego. Z kolei czerwony to #FF0000, gdzie intensywność zielonego i niebieskiego wynosi zero, a czerwonego maksymalna. Czarny kolor z kolei to #000000 - oznacza brak jakiegokolwiek światła w RGB. Aby uniknąć takich pomyłek, warto zrozumieć podstawy systemu RGB oraz praktykować pracę z paletami kolorów w narzędziach do projektowania, które pozwalają na łatwe wizualizowanie i dobieranie barw. Rekomenduje się również korzystanie z dokumentacji oraz zasobów internetowych, które wyjaśniają zasady działania kolorów w sieci. Dobrze jest również testować kolory na różnych ekranach, ponieważ ich wyświetlanie może się różnić w zależności od technologii wyświetlacza, co jest istotne dla zapewnienia spójności wizualnej.

Pytanie 13

Ogólne tablice służące do przechowywania informacji o ciasteczkach oraz sesjach: $_COOKIE oraz $_SESSION są elementem języka

A. Perl
B. JavaScript
C. C#
D. PHP
Wybór odpowiedzi z języków C#, Perl czy JavaScript może prowadzić do nieporozumień związanych z funkcjonalnościami tych technologii. C# to język programowania ogólnego przeznaczenia, często używany w aplikacjach Windows oraz serwerowych, ale nie oferuje wbudowanej obsługi $_COOKIE i $_SESSION, które są specyficzne dla języka PHP. Perl, jako język skryptowy, również nie ma tych konstrukcji, a jego podejście do zarządzania sesjami i ciasteczkami różni się od tego w PHP, co może prowadzić do błędów w realizacji aplikacji webowych. JavaScript, z drugiej strony, działa głównie po stronie klienta i nie ma bezpośredniego dostępu do superglobalnych tablic, takich jak $_COOKIE, które są zarządzane przez serwer. Chociaż JavaScript może manipulować ciasteczkami przez obiekt document.cookie, nie obsługuje sesji w taki sam sposób jak PHP. W konsekwencji, odpowiedzi te mogą prowadzić do błędnych wniosków o tym, jak zarządzać danymi sesyjnymi i ciasteczkami w kontekście aplikacji webowych, co jest kluczowe dla zapewnienia bezpieczeństwa i poprawności działania aplikacji. Zrozumienie roli PHP w tym kontekście jest niezbędne dla programistów webowych, aby mogli tworzyć funkcjonalne i bezpieczne aplikacje.

Pytanie 14

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

var text;
for ( var i = 0; i < tab.length; i++ ) {
  text += tab[i] + "<br>";
}

A. Sprawdzić rozmiar tabeli tab.
B. Zadeklarować zmienną i.
C. Zainicjować zmienną text.
D. Sprawdzić czy text j est typu znakowego.
Wygląda na to, że odpowiedź nie była poprawna. Pozostałe opcje, tj. 'Sprawdzić czy text j est typu znakowego', 'Zadeklarować zmienną i', 'Sprawdzić rozmiar tabeli tab', nie są bezpośrednio związane z poprawnym wykonaniem kodu przedstawionego w pętli. Chociaż wszystkie te działania mogą być istotne w różnych kontekstach programowania, w tym przypadku żadne z nich nie gwarantuje poprawnego wykonania kodu. Deklaracja zmiennej 'i' czy sprawdzenie rozmiaru tabeli 'tab' jest często stosowane w pętlach, jednak nie gwarantują one poprawnego działania kodu w pętli bez odpowiedniego zainicjowania zmiennej 'text'. Zrozumienie tego aspektu jest kluczowe dla efektywnego programowania, zarówno w JavaScript, jak i w innych językach programowania.

Pytanie 15

Aby uzyskać rezultaty działania skryptu napisanego w języku PHP, który jest częścią strony WWW, musi on być

A. skomponowany po stronie serwera
B. skomponowany po stronie klienta
C. zinterpretowany po stronie klienta
D. zinterpretowany po stronie serwera
Pierwsza niepoprawna odpowiedź sugeruje, że PHP powinno działać po stronie klienta, a to nie ma sensu. PHP to język interpretowany, więc nie trzeba go kompilować do jakiegoś tam kodu maszynowego przed uruchomieniem. Nasze przeglądarki nie ogarniają kodu PHP, tylko chcą dostać gotowy HTML. Druga błędna odpowiedź znowu mówi o kompilacji, ale to nie tak działa. Choć są kompilatory PHP, to standardowo PHP działa na zasadzie interpretacji, a nie kompilacji. Ta interpretacja pozwala na to, żeby treści były generowane dynamicznie. Na koniec, ostatnia z błędnych odpowiedzi twierdzi, że PHP powinno działać po stronie klienta, co też jest totalnie nieprawda. PHP przetwarzany jest na serwerze, a klient dostaje już tylko wynik w HTML, CSS i JavaScript. Nie ma dostępu do źródłowego kodu PHP, bo jest on przerobiony przez serwer zanim trafi do klienta. To zapewnia bezpieczeństwo i wydajność stron, bo serwer ogarnia logikę, a klient tylko wyświetla to, co dostaje.

Pytanie 16

Testy związane ze skalowalnością aplikacji mają na celu zweryfikowanie, czy program

A. jest w stanie funkcjonować przy zaplanowanym i większym obciążeniu
B. jest właściwie opisany w dokumentacji
C. jest chroniony przed nieautoryzowanymi działaniami, np. dzieleniem przez zero
D. posiada odpowiednie funkcje
Wybór odpowiedzi dotyczącej funkcjonalności aplikacji lub zabezpieczeń przed niepożądanymi operacjami, jak dzielenie przez zero, jest nieprawidłowy w kontekście testów skalowalności. Funkcjonalność, choć istotna, nie odnosi się bezpośrednio do tego, jak aplikacja radzi sobie z wzrastającym obciążeniem. Oprogramowanie może być w pełni funkcjonalne, ale jeśli nie jest w stanie sprostać zwiększonej liczbie użytkowników, nie może być uznane za skalowalne. Zabezpieczenia przed błędami, takimi jak dzielenie przez zero, dotyczą stabilności aplikacji, ale nie definiują jej zdolności do działania pod dużym obciążeniem. W kontekście obliczeń i operacji, programiści powinni zajmować się obsługą wyjątków, co jest oddzielnym zagadnieniem od skalowalności. Odpowiednia dokumentacja ma znaczenie w kontekście utrzymania i rozwoju oprogramowania, ale także nie odnosi się do problematyki wydajności i obciążenia. W rzeczywistości, wiele aplikacji pomimo dobrych praktyk w zakresie zabezpieczeń i dokumentacji, może przestać działać w przypadku nadmiernego obciążenia, co wskazuje na brak właściwej architektury skalowalnej. Zrozumienie różnicy między tymi aspektami jest kluczowe dla inżynierów oprogramowania i projektantów systemów.

Pytanie 17

Jaką szerokość zaplanowano dla treści strony, bazując na podanej definicji CSS?

body {
  border: 2px;
  height: 600px;
  width: 560px;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

A. 2 px
B. 560 px
C. 640 px
D. 600 px
Gratulacje, udzieliłeś poprawnej odpowiedzi. W definicji CSS dla elementu body, szerokość ustawiono na 560 px. Właściwość box-sizing: border-box, gwarantuje, że szerokość ta obejmuje również obramowanie. Dlatego, w praktyce, szerokość strony pozostawiona na treść wynosi 560 px. Wartości te są bardzo ważne przy projektowaniu stron internetowych, szczególnie przy tworzeniu responsywnych layoutów, gdzie musimy precyzyjnie kontrolować szerokość i rozmieszczenie elementów. Pamiętaj, że wykorzystanie odpowiednich jednostek i precyzyjne definiowanie wymiarów jest kluczowe dla zachowania poprawnej struktury strony. Dobrym nawykiem jest również stosowanie właściwości box-sizing: border-box, która ułatwia kontrolę nad rozmiarem elementów, zwłaszcza przy komplikowanych układach strony.

Pytanie 18

```SELECT model FROM samochody WHERE rocznik > 2017 AND marka = "opel";``` Tabela samochody zawiera poniższe rekordy. Po wykonaniu podanego zapytania SQL, jakie dane zostaną zwrócone?

A. opel zafira; opel insignia
B. zafira
C. zafira; insignia
D. opel zafira
Twoja odpowiedź jest nieprawidłowa, co sugeruje, że możesz nie do końca rozumieć, jak działa zapytanie SQL. Wszystkie odpowiedzi, które zawierały więcej niż jeden model samochodu, są niepoprawne, ponieważ zapytanie SQL jest skonstruowane tak, aby zwrócić tylko te modele, które spełniają oba warunki - markę 'opel' i rocznik większy niż 2017. W przypadku odpowiedzi zawierających tylko model 'zafira', ale bez wskazania marki, jest to błąd, ponieważ zapytanie SQL również wymaga, aby marka była równa 'opel'. W praktyce, błędy w konstrukcji zapytań SQL mogą prowadzić do błędnych wyników i potencjalnie do poważnych błędów w analizie danych lub oprogramowaniu. Dlatego, ważne jest, aby zrozumieć, jak prawidłowo konstruować zapytania SQL i jakie wyniki one zwracają.

Pytanie 19

Do zapisania prostej animacji na stronę internetową można zastosować format

A. JPG
B. CDR
C. GIF
D. PNG
JPG, czyli Joint Photographic Experts Group, to format plików graficznych, który jest powszechnie stosowany do zdjęć i obrazów o dużej liczbie kolorów. Format ten jest stratny, co oznacza, że podczas kompresji dochodzi do utraty części informacji, co nie jest idealne dla animacji, które wymagają zachowania wielu klatek w płynny sposób. JPG nie obsługuje przezroczystości, co ogranicza jego zastosowanie w kontekście animacji, gdzie istotne jest, aby tło mogło być różne w zależności od miejsca, w którym animacja jest umieszczona. PNG, czyli Portable Network Graphics, to format bezstratny, który obsługuje przezroczystość i jest doskonały do przechowywania statycznych obrazów z dużą ilością szczegółów. Chociaż PNG jest lepszy od JPG w wielu aspektach, nie obsługuje on animacji, co czyni go niewłaściwym wyborem do tworzenia ruchomych obrazów. CDR, natomiast, to format plików używany przez oprogramowanie CorelDRAW, które jest przeznaczone do tworzenia grafiki wektorowej. CDR jest bardziej odpowiedni do projektowania logo, ilustracji oraz innych grafik wymagających edytowalnych elementów wektorowych. Format ten nie jest obsługiwany przez przeglądarki internetowe w taki sposób, jak GIF, co sprawia, że nie nadaje się do zastosowania w animacjach na stronach WWW. W związku z tym, żaden z tych formatów nie jest odpowiedni do tworzenia animacji, co sprawia, że tylko GIF pozostaje właściwym wyborem w tym kontekście.

Pytanie 20

Gdzie są rejestrowane błędy interpretacji kodu PHP?

A. w logu, jeśli zostanie ustawiony odpowiedni parametr w pliku php.ini
B. w oknie edytora, w którym pisany jest kod PHP
C. w podglądzie zdarzeń systemu Windows
D. nigdzie, są pomijane przez przeglądarkę oraz interpreter kodu PHP
Nieprawidłowe podejście do lokalizacji błędów w PHP może prowadzić do poważnych problemów w procesie debugowania aplikacji. Odpowiedź sugerująca, że błędy są wyświetlane w oknie edytora, w którym powstaje kod, jest myląca, ponieważ edytory kodu nie są standardowo zaprojektowane do wyłapywania błędów wykonywania kodu PHP. Edytory mogą podświetlać syntaktyczne błędy na etapie pisania kodu, ale nie rejestrują błędów runtime, które są kluczowe dla zrozumienia, dlaczego dany skrypt nie działa zgodnie z oczekiwaniami. Z kolei twierdzenie, że błędy są zapisywane w podglądzie zdarzeń systemu Windows, jest błędne, ponieważ podgląd zdarzeń służy do monitorowania zdarzeń systemowych, a nie do rejestrowania błędów aplikacji. To może prowadzić do nieporozumień i trudności w identyfikacji problemów w kodzie. Ponadto, stwierdzenie, że błędy są ignorowane przez przeglądarkę oraz interpreter PHP, jest nieprawdziwe. W rzeczywistości, jeśli nie skonfigurujemy odpowiednio systemu logowania, błędy mogą być trudne do zauważenia, co prowadzi do ignorowania ich, ale w rzeczywistości są one obecne i mogą wpłynąć na działanie aplikacji. Dlatego fundamentalne jest, aby programiści rozumieli różnicę pomiędzy błędami syntaktycznymi a runtime oraz jak efektywnie korzystać z mechanizmów logowania w PHP, aby poprawić jakość swojego kodu.

Pytanie 21

Do czego służy funkcja PHP o nazwie mysql_num_rows?

A. podawać liczbę wierszy, które są w wynikach zapytania
B. przyporządkować numery rekordom w bazie danych
C. zwracać rekord, którego numer został przekazany jako parametr funkcji
D. oddawać następny rekord z wyników zapytania
Wszystkie pozostałe odpowiedzi są niepoprawne z kilku kluczowych powodów. Pierwsza z niepoprawnych odpowiedzi sugeruje, że funkcja mysql_num_rows ma na celu ponumerowanie rekordów w bazie danych. Takie podejście jest mylące, ponieważ mysql_num_rows nie modyfikuje ani nie przechowuje żadnych danych w bazie, a jedynie zwraca informację o liczbie wierszy w zestawie wyników, co w żaden sposób nie wiąże się z ich numerowaniem. Kolejna błędna odpowiedź wskazuje, że funkcja miałaby zwracać kolejny rekord z wynikami zapytania. W rzeczywistości, mysql_num_rows nie zwraca danych samych w sobie, lecz jedynie informację o ich liczbie, co czyni tę odpowiedź zupełnie nietrafioną. Ostatnia niepoprawna odpowiedź sugeruje, że funkcja zwraca rekord na podstawie numeru podanego w jej parametrze. Znowu, taka interpretacja jest nieprawidłowa, ponieważ mysql_num_rows nie przyjmuje parametrów odnoszących się do konkretnych rekordów, a jedynie do zmiennej wynikowej, która zawiera efekty zapytania SQL. W związku z tym, każde z tych stwierdzeń nieodzwierciedla rzeczywistej funkcji mysql_num_rows i jej zastosowania w kontekście zarządzania i przetwarzania danych w PHP.

Pytanie 22

Podane zapytanie SQL przyznaje użytkownikowi adam@localhost uprawnienia:

GRANT SELECT, INSERT, UPDATE, DELETE
ON klienci TO adam@localhost

A. do manipulowania danymi w tabeli klienci
B. do manipulowania danymi bazy danych klienci
C. do zarządzania strukturą tabeli klienci
D. do zarządzania strukturą bazy danych klienci
Pozostałe opcje wskazują na zarządzanie strukturą bazy danych lub tabeli co w kontekście podanego polecenia SQL nie jest prawidłowe Zarządzanie strukturą bazy danych odnosi się do operacji takich jak tworzenie usuwanie lub modyfikowanie tabel indeksów i innych obiektów bazy danych Przykłady takich operacji to polecenia CREATE ALTER i DROP które zmieniają definicję strukturalną tabel lub innych obiektów bazodanowych W przypadku zarządzania strukturą tabeli moglibyśmy mówić o dodawaniu nowych kolumn zmienianiu typu danych istniejących kolumn czy zmianach w kluczach indeksach Tego typu zmiany nie są objęte poleceniem GRANT SELECT INSERT UPDATE DELETE które koncentruje się wyłącznie na manipulacji danymi w istniejącej strukturze Dlatego też typowym błędem myślowym jest utożsamianie operacji na danych z operacjami modyfikującymi strukturę bazy danych takimi jak dodawanie tabel czy kolumn Operatorzy SQL są precyzyjnie zdefiniowani i rozdzieleni na kategorie manipulacji danymi DML oraz definicji danych DDL co jest kluczowym rozróżnieniem w pracy z bazami danych

Pytanie 23

Na przedstawionej tabeli samochody wykonano zapytanie SQL SELECT

SELECT model FROM samochody WHERE rocznik = 2016;
idmarkamodelrocznikkolorstan
1FiatPunto2016czerwonybardzo dobry
2FiatPunto2002czerwonydobry
3FiatPunto2007niebieskibardzo dobry
4OpelCorsa2016grafitowybardzo dobry
5OpelAstra2003niebieskiporysowany lakier
6ToyotaCorolla2016czerwonybardzo dobry
7ToyotaCorolla2014szarydobry
8ToyotaYaris2004granatowydobry

A. Fiat, Opel, Toyota.
B. Punto, Corsa, Corolla.
C. Punto, Corsa, Astra, Corolla, Yaris.
D. Czerwony, grafitowy.
Niepoprawne odpowiedzi pokazują częste błędy w interpretacji zapytań SQL. Pierwszy z nich to pomylenie kolumny - zapytanie 'SELECT model FROM samochody WHERE rocznik = 2016' odnosi się do kolumny 'model', a nie 'kolor', co wyklucza odpowiedź 'Czerwony, grafitowy'. Drugi błąd to niewłaściwe zrozumienie klauzuli WHERE - jest ona używana do filtrowania rekordów na podstawie konkretnych warunków. W tym przypadku, zapytanie dotyczyło modeli samochodów z rocznika 2016, co wyklucza odpowiedź 'Punto, Corsa, Astra, Corolla, Yaris', ponieważ zawiera modele z innymi rocznikami. Trzeci błąd to pomylenie kolumn - zapytanie odnosiło się do 'model', a nie 'marka', co oznacza, że odpowiedź 'Fiat, Opel, Toyota' jest nieprawidłowa. Ważne jest, aby dokładnie zrozumieć strukturę tabeli i zapytania SQL przed próbą interpretacji wyników.

Pytanie 24

W utworzonej tabeli pole należące do typu BLOB służy do składowania

A. liczb całkowitych, które przekraczają zakres typu INT
B. łańcuchów znaków o nieokreślonej długości
C. danych logicznych takich jak true
D. danych binarnych o dużych rozmiarach, takich jak grafika
Wydaje się, że odpowiedzi dotyczące danych logicznych, łańcuchów znaków czy liczb całkowitych nie są zgodne z przeznaczeniem pola BLOB. Dane logiczne, takie jak 'true' lub 'false', są zazwyczaj przechowywane w typach danych, takich jak BOOLEAN, które są zoptymalizowane do zarządzania wartościami binarnymi, ale nie są odpowiednie dla dużych obiektów binarnych. Z kolei łańcuchy znaków nieokreślonej długości są lepiej przechowywane w typach VARCHAR lub TEXT, które są zoptymalizowane do zarządzania tekstem, a nie danymi binarnymi. Liczby całkowite, które przekraczają zakres typu INT, powinny być przechowywane jako BIGINT, co jest bardziej odpowiednie do zarządzania dużymi liczbami całkowitymi, a nie BLOB. Właściwe zrozumienie typów danych i ich zastosowań jest kluczowe w projektowaniu efektywnych baz danych. Stosowanie niewłaściwych typów danych może prowadzić do nieefektywności, zwiększonego zużycia pamięci, a także problemów z wydajnością w aplikacjach korzystających z tych baz danych. Dlatego ważne jest, aby każdorazowo dobierać odpowiedni typ danych zgodnie z jego specyfiką i przeznaczeniem.

Pytanie 25

Istnieje tabela o nazwie wycieczki z kolumnami: nazwa, cena oraz miejsca (reprezentujące liczbę dostępnych miejsc). Aby wyświetlić tylko nazwy wycieczek, których cena jest mniejsza od 2000 zł oraz mają co najmniej cztery wolne miejsca, należy użyć zapytania

A. SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3
B. SELECT * FROM wycieczki WHERE cena < 2000 OR miejsca > 3
C. SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4
D. SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4
Wszystkie inne odpowiedzi są po prostu błędne i prowadzą do złych wyników w kontekście pytania. Na przykład zapytanie z operatorem OR, czyli 'SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4', pozwala na zwrócenie wycieczek, które spełniają tylko jeden z warunków. To oznacza, że mogą być pokazywane wycieczki droższe, które mają wystarczająco dużo miejsc, co jest niezgodne z wymaganiami. Jeszcze innym błędnym przypadkiem jest użycie operatora AND w 'SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3', gdzie ten drugi warunek jest zbyt ogólny. Powinien precyzować, że miejsc musi być co najmniej cztery, a nie tylko więcej niż trzy. Co więcej, zapytanie 'SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4' zwróci wszystkie kolumny, a nie tylko nazwy wycieczek, co też nie jest tym, czego potrzebujemy. Typowe błędy w myśleniu, które prowadzą do tych błędnych wniosków, to złe łączenie warunków i niewłaściwe zrozumienie, co jest ważne w kontekście wymagań. Aby dobrze pisać zapytania SQL, kluczowe jest zrozumienie struktury danych i logiki, która pozwala na wybranie odpowiednich rekordów.

Pytanie 26

W CSS, poniższy zapis spowoduje, że czerwony kolor zostanie zastosowany do

h1::first-letter {color:red;}

A. pierwsza linia akapitu
B. tekst nagłówka pierwszego poziomu
C. pierwsza litera nagłówka drugiego poziomu
D. pierwsza litera nagłówka pierwszego poziomu
Wiesz, użycie selektora CSS ::first-letter w połączeniu z stylem h1 to fajny sposób na zmianę wyglądu pierwszej litery w nagłówku. Kiedy używasz tego, kolor czerwony sprawi, że ta litera będzie się wyróżniać, co jest super, zwłaszcza w przypadku nagłówków czy akapitów. To technika, którą często stosuje się w projektowaniu stron, żeby nadać im trochę typograficznego stylu, jak w książkach z dużymi inicjałami. Ale pamiętaj, że ten selektor działa tylko z blokowymi elementami, takimi jak

czy

, więc jeżeli spróbujesz zastosować go z elementami liniowymi, to niestety efekty nie będą takie, jak się spodziewasz. Zawsze warto też mieć na uwadze standardy W3C, bo one pomagają w tworzeniu dostępnych stron. No i ten selektor jest częścią specyfikacji CSS Pseudo-Elements Level 3, więc przeglądarki go dobrze wspierają. Zrozumienie, jak i kiedy stosować takie selektory, to klucz do tworzenia nowoczesnych stron.


Pytanie 27

Jaki opis dotyczy metody POST służącej do przesyłania formularza?

A. Dane są przesyłane przez URL, co czyni je widocznymi dla użytkownika
B. Ma dodatkowe ograniczenia związane z długością URL - maksymalnie 255 znaków
C. Jest zalecana, gdy przesyłane są dane wrażliwe, na przykład hasło, numer telefonu czy numer karty kredytowej
D. Może być dodana jako zakładka w przeglądarce internetowej
Wybór niewłaściwej odpowiedzi często wynika z niepełnego zrozumienia, jak działają metody przesyłania danych w protokole HTTP. Jednym z powszechnych błędów jest mylenie metody POST z metodą GET, która rzeczywiście przesyła dane w adresie URL, czyniąc je widocznymi dla użytkowników i potencjalnie narażonymi na przechwycenie. Odpowiedź sugerująca, że dane przesyłane są widocznie w adresie URL, jest zatem całkowicie sprzeczna z podstawową zasadą działania metody POST. Dodatkowo, ograniczenia związane z długością adresu, takie jak 255 znaków, dotyczą przede wszystkim metody GET, która ma swoje ograniczenia wynikające z maksymalnej długości URL określonej w specyfikacjach HTTP. Takie ograniczenia nie mają zastosowania do POST, co czyni tę metodę bardziej elastyczną w przypadku przesyłania większej ilości danych. Ponadto, odpowiedzi sugerujące, że POST ma dodatkowe ograniczenia, nie uwzględniają faktu, że właśnie ze względu na bezpieczeństwo i poufność danych, POST jest standardowo rekomendowany w sytuacjach, gdzie przesyłamy dane wrażliwe. W branży web developmentu, dobre praktyki obejmują stosowanie metody POST do przesyłania danych, które są prywatne lub wymagają zwiększonego poziomu bezpieczeństwa, co dokładnie odzwierciedla poprawna odpowiedź.

Pytanie 28

Które z poniższych wyrażeń logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w przedziale (6, 203>?

A. (zm1 > 6) || (zm1 != 203)
B. (zm1 > 6) && (zm1 <= 203)
C. (zm1 > 6) || (zm1 <= 203)
D. (zm1 > 6) && (zm1 != 203)
Odpowiedzi, które nie spełniają wymagań przedziału (6, 203], zawierają różne błędne koncepcje związane z użyciem operatorów logicznych. Na przykład, zapis (zm1 > 6) || (zm1 <= 203) implikuje, że wystarczy, aby jeden z warunków był spełniony, co całkowicie mija się z celem ustalenia przedziału. Umożliwienie wartości zm1, która jest mniejsza lub równa 203, niezależnie od tego, czy jest większa niż 6, prowadzi do sytuacji, w której wartości poniżej 6 są również akceptowane, co jest sprzeczne z wymaganym przedziałem. Podobnie, opcja (zm1 > 6) || (zm1 != 203) jest myląca, ponieważ nie uwzględnia wartości równej 203, co również narusza założenia przedziału. Z kolei (zm1 > 6) && (zm1 != 203) zezwala na wartości większe niż 6, ale wyklucza 203, co jest błędne w kontekście zadania. Te przykłady pokazują, jak łatwo można pomylić się w interpretacji warunków logicznych, co podkreśla znaczenie precyzyjnego formułowania warunków w programowaniu. Kluczem do unikania takich pomyłek jest dogłębne zrozumienie operatorów logicznych oraz ich zastosowania w kontekście zdefiniowanych przedziałów, co jest niezbędne, aby tworzyć poprawny i działający kod.

Pytanie 29

W systemie MySQL należy użyć polecenia REVOKE, aby odebrać użytkownikowi anna możliwość wprowadzania zmian tylko w definicji struktury bazy danych. Odpowiednie polecenie do zrealizowania tej operacji ma formę

A. REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'
B. REVOKE ALL ON tabela1 FROM 'anna'@'localhost'
C. REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'
D. REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'
Wszystkie inne odpowiedzi są nieprawidłowe z kilku powodów. W pierwszej z nich, 'REVOKE ALL ON tabela1 FROM 'anna'@'localhost'', przyznawane są wszystkie uprawnienia, co jest sprzeczne z intencją odebrania tylko określonych praw. Użytkownicy powinni być ograniczani jedynie w tych obszarach, gdzie to konieczne. Z kolei odpowiedź 'REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'' zawiera 'UPDATE', co jest związane z danymi, a nie strukturą bazy, co również czyni ją niewłaściwą. Odmowa praw do aktualizacji danych nie jest odpowiednia w kontekście modyfikacji struktury bazy. Z kolei opcja 'REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'' ponownie nie odnosi się do struktury bazy, ponieważ odnosi się do manipulacji danymi, nie do struktury. Kluczowym błędem w tym kontekście jest mylenie uprawnień związanych z danymi z uprawnieniami związanymi ze strukturą bazy danych. W zarządzaniu uprawnieniami w MySQL istotne jest zrozumienie różnicy pomiędzy tymi kategoriami, aby skutecznie zabezpieczyć bazę danych. W praktyce dobrym podejściem jest wdrożenie zasady minimalnych uprawnień, co zmniejsza ryzyko nieautoryzowanych zmian w strukturze i danych bazy.

Pytanie 30

W hurtowni danych stworzono tabelę sprzedaz, która zawiera pola: id, kontrahent, grupa_cenowa, obrot. Jakie polecenie trzeba zastosować, aby znaleźć tylko kontrahentów z grupy cenowej numer dwa, których obrót przekracza 4000 zł?

A. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 AND obrot > 4000;
B. SELECT sprzedaz FROM kontrahent WHERE obrot > 4000;
C. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 OR obrot > 4000;
D. SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa = 2 AND obrot > 4000;
Dwie niepoprawne odpowiedzi pokazują, że są pewne nieporozumienia w kwestii SQL. W pierwszej z nich używasz operatora OR, co psuje całą logikę zapytania. To sprawia, że możesz dostać kontrahentów z drugiej grupy cenowej albo tych, co mają obrót powyżej 4000 zł, a nie tylko tych, którzy spełniają oba warunki jednocześnie. W analizie danych ważne jest, żeby warunki były precyzyjne, bo inaczej wyniki mogą być nieczytelne. W kolejnej odpowiedzi widzę, że próbujesz wydobywać dane z kolumny kontrahent, co jest niepoprawne, bo kolumna to nie tabela. Musisz mieć jasność co do struktury bazy danych, żeby pisać odpowiednie zapytania. A ostatnia odpowiedź nie zawiera warunku dla grupy cenowej, więc zwróci jakieś niepełne dane. Dobrym pomysłem jest też testować swoje zapytania na mniejszych zbiorach danych, niż wdrażać je od razu w produkcji, żeby uniknąć takich błędów.

Pytanie 31

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

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

Pytanie 32

CAPTCHA to metoda zabezpieczeń stosowana na stronach WWW, która umożliwia

A. automatyczne wypełnienie formularza logowania danymi użytkownika
B. przyspieszenie logowania do aplikacji internetowej
C. ominięcie procesu autoryzacji w aplikacji internetowej
D. potwierdzenie, że informacje z formularza są przesyłane przez człowieka
Wybór odpowiedzi dotyczącej przyspieszenia procesu logowania do aplikacji internetowej jest błędny, ponieważ CAPTCHA nie ma na celu optymalizacji prędkości logowania, lecz zapewnienie bezpieczeństwa przez weryfikację tożsamości użytkownika. Wprowadzenie CAPTCHA może nawet wydłużyć czas logowania, ponieważ użytkownicy muszą rozwiązać dodatkowe zadanie przed uzyskaniem dostępu. Kolejną niepoprawną odpowiedzią jest stwierdzenie dotyczące pominięcia procesu uwierzytelniania do aplikacji internetowej. CAPTCHA nie eliminuje procesu uwierzytelniania, lecz jest jego uzupełnieniem, które ma na celu zwiększenie bezpieczeństwa aplikacji poprzez weryfikację, czy użytkownik jest człowiekiem. Uwierzytelnianie jest kluczowym krokiem w zapewnieniu, że dostęp do konta ma tylko uprawniony użytkownik. Ostatnia niepoprawna odpowiedź sugeruje automatyczne wypełnianie formularza logowania danymi użytkownika, co jest sprzeczne z założeniem CAPTCHA. Technika ta ma na celu zablokowanie automatycznych programów, a nie ich wspieranie. Automatyczne wypełnianie formularzy jest praktyką, która może być stosowana w innych kontekstach, ale w przypadku CAPTCHA chodzi o to, aby uniemożliwić botom przejęcie kontroli nad interakcjami użytkownika z aplikacją.

Pytanie 33

Jaką metodę przesyłania danych za pomocą formularza do kodu PHP należy uznać za najbardziej bezpieczną dla poufnych informacji?

A. Metoda POST, przy użyciu protokołu HTTPS
B. Metoda POST, przy użyciu protokołu HTTP
C. Metoda GET, przy użyciu protokołu HTTPS
D. Metoda GET, przy użyciu protokołu HTTP
Metoda POST, za pomocą protokołu HTTPS jest najbezpieczniejszym sposobem przesyłania danych poufnych w formularzach internetowych. Główną zaletą metody POST jest to, że dane nie są widoczne w adresie URL, co redukuje ryzyko ich ujawnienia w przypadku zapisania historii przeglądania lub w logach serwera. Co więcej, HTTPS, czyli HTTP Secure, zapewnia dodatkową warstwę zabezpieczeń poprzez szyfrowanie danych przesyłanych pomiędzy klientem a serwerem. Dzięki temu, nawet jeśli dane zostaną przechwycone przez nieautoryzowany podmiot, będą one zaszyfrowane, co znacznie utrudnia ich odczytanie. Zastosowanie tej metody jest szczególnie kluczowe w przypadku formularzy wymagających wprowadzenia danych osobowych, informacji finansowych lub logowania do konta użytkownika. W praktyce, wiele współczesnych aplikacji internetowych wymaga stosowania POST i HTTPS jako standardu do przesyłania wrażliwych informacji, co jest zgodne z najlepszymi praktykami bezpieczeństwa oraz standardami branżowymi takim jak OWASP.

Pytanie 34

W CSS, aby stylizować tekst przy użyciu przekreślenia, podkreślenia dolnego lub górnego, należy użyć atrybutu

A. text-transform
B. text-indent
C. text-align
D. text-decoration
Atrybut text-decoration w CSS jest kluczowy do formatowania tekstu, umożliwiając zastosowanie efektów takich jak przekreślenie, podkreślenie dolne oraz górne. Można go użyć w prosty sposób, na przykład: 'text-decoration: underline;' dodaje podkreślenie do tekstu, natomiast 'text-decoration: line-through;' umożliwia przekreślenie. Dzięki tym efektom, projektanci stron mogą skutecznie komunikować różne stany tekstu, takie jak usunięte lub nieaktualne informacje. Standardy CSS, określone przez W3C, zalecają użycie text-decoration w kontekście dostępności, co poprawia czytelność i umożliwia lepsze zrozumienie treści przez użytkowników. Warto pamiętać, że text-decoration posiada również wartość 'none', co pozwala na usunięcie wszelkich dekoracji z tekstu. Dzięki temu deweloperzy mogą z łatwością dostosować wygląd tekstu zgodnie z wymaganiami projektu, co stanowi dobrą praktykę w responsywnym web designie.

Pytanie 35

Zapytanie MySQL przedstawione poniżej ma na celu ```ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL;```

A. dodać kolumnę tytul do tabeli ksiazki
B. zmienić typ kolumny tytul w tabeli ksiazki
C. zmienić nazwę kolumny w tabeli ksiazki
D. usunąć kolumnę tytul z tabeli ksiazki
Odpowiedź omawiająca usunięcie kolumny nie dotyczy polecenia ALTER TABLE w kontekście MODIFY. Usunięcie kolumny wymagałoby użycia polecenia DROP COLUMN. To powszechny błąd, wynikający z mylenia tej składni z innymi możliwościami ALTER TABLE, które mogą zmieniać strukturę tabeli przez dodawanie lub usuwanie kolumn. Dodanie kolumny do tabeli za pomocą polecenia ALTER TABLE wymagałoby użycia składni ADD COLUMN, a nie MODIFY. Jest to często mylone, ponieważ oba polecenia ingerują w strukturę tabeli, jednak pełnią zupełnie inne funkcje. Zmiana nazwy kolumny z kolei wymaga użycia polecenia CHANGE, które pozwala na jednoczesną zmianę nazwy i typu kolumny. Nieprawidłowe zrozumienie różnic między tymi operacjami może prowadzić do błędów w projektowaniu bazy danych, co podkreśla znaczenie dokładnego zrozumienia składni SQL. Prawidłowe użytkowanie ALTER TABLE wymaga ścisłej znajomości dostępnych opcji i ich zastosowań, co jest kluczowe dla skutecznego zarządzania strukturą baz danych.

Pytanie 36

Jakie polecenie HTML powinno być zastosowane, aby sformatować akapit tekstu?

Tekst może być zaznaczony albo istotny dla autora

A.

Tekst może być zaznaczony albo istotny dla autora

B.

Tekst może być zaznaczony albo istotny dla autora

C.

Tekst może być zaznaczony albo istotny dla autora

D.

Tekst może być zaznaczony albo istotny dla autora

Błędne odpowiedzi wynikają z niepoprawnego zamknięcia lub zagnieżdżenia tagów HTML, co jest sprzeczne z zasadami poprawnej składni języka HTML. W pierwszym przypadku, brak zamknięcia znacznika powoduje, że przeglądarka nie rozpoznaje, gdzie kończy się wyróżniony tekst. To zaburza semantykę dokumentu i może prowadzić do nieprzewidywalnego renderowania treści. W trzeciej i czwartej odpowiedzi występuje błąd polegający na niewłaściwym zagnieżdżeniu znaczników, gdzie zostaje zamknięty po lub , co jest błędnym podejściem, ponieważ znacznik powinien obejmować tylko ten fragment tekstu, który ma być podkreślony. Takie nieprawidłowe struktury mogą prowadzić do błędów w interpretacji dokumentu przez przeglądarki oraz utrudniać dostępność dla czytników ekranowych, co jest sprzeczne z dobrymi praktykami web developmentu, które promują poprawne i semantyczne użycie znaczników HTML. Dodatkowo, błędy te mogą negatywnie wpłynąć na optymalizację SEO, ponieważ wyszukiwarki preferują dobrze ustrukturyzowane dokumenty. Ważne jest, aby przestrzegać standardów W3C oraz stosować się do zasad semantyki HTML, aby zapewnić poprawne działanie i interpretację stron internetowych przez szeroką gamę urządzeń i oprogramowania.

Pytanie 37

Obiektem w bazie danych, który wykorzystywany jest do podsumowywania, prezentacji oraz drukowania danych, jest

A. raport
B. formularz
C. zapytanie
D. zestawienie
Zapytanie, formularz i zestawienie, mimo że są istotnymi elementami baz danych, nie pełnią roli raportów. Zapytanie to instrukcja używana do pobierania danych z bazy danych, zazwyczaj w formie języka SQL. Jego celem jest wyciągniecie specyficznych informacji według określonych kryteriów, ale nie oferuje ono gotowego podsumowania czy wniosków. Można zrozumieć, dlaczego niektórzy mogą mylić zapytanie z raportem, gdyż oba elementy są używane do pracy z danymi, jednak zapytanie działa na poziomie surowych danych, a nie na poziomie ich prezentacji. Formularz natomiast jest interaktywnym narzędziem, które pozwala na wprowadzanie danych do bazy, a jego celem jest ułatwienie użytkownikowi wprowadzania i edytowania informacji. Formularze są kluczowe podczas zbierania danych, ale nie są projektowane w celu analizy ani podsumowywania danych. Zestawienie z kolei odnosi się do grupowania informacji w celu ich analizy, ale jak sama nazwa wskazuje, nie jest to forma raportu, który powinien zawierać gotowe podsumowania i wnioski. W celu uniknięcia nieporozumień warto zwrócić uwagę na różnice między tymi pojęciami, co pomoże lepiej zrozumieć ich zastosowania oraz funkcje w kontekście baz danych.

Pytanie 38

Fragment formularza zaprezentowany powyżej został przetworzony w skrypcie PHP. Wskaż poprawny sposób pobierania wartości z pola edycyjnego.

Ilustracja do pytania
A. name = GET['imie']
B. $name = $POST['Imię']
C. name = $_GET[imie]
D. $name = $_POST['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 39

Jakie skutki wywoła poniższy fragment kodu w języku JavaScript? ```n = "Napis1"; s = n.length;```

A. Przypisze wartość zmiennej n do zmiennej s
B. Przypisze zmiennej s część napisu ze zmiennej n o długości określonej przez zmienną length
C. Wyświetli liczbę znaków napisu z zmiennej n
D. Przypisze zmiennej s wartość odpowiadającą długości tekstu w zmiennej n
Fragment skryptu w języku JavaScript, w którym zmienna n jest przypisana do napisu "Napis1", a następnie zmienna s jest przypisana do długości tego napisu, korzysta z właściwości length. Odpowiedź 3 jest poprawna, ponieważ właściwość length dla obiektów typu string zwraca liczbę znaków w danym napisie. W tym przypadku "Napis1" ma 6 znaków, więc zmienna s przyjmie wartość 6. Tego typu operacje są powszechnie stosowane w programowaniu do manipulacji i analizy danych tekstowych, co jest istotnym aspektem tworzenia aplikacji webowych. W praktyce, programiści często muszą sprawdzać długość napisów, aby weryfikować dane wejściowe, przygotowywać napisy do dalszego przetwarzania lub dostosowywać interfejs użytkownika. Dobrym przykładem zastosowania length jest walidacja formularzy, gdzie długość wprowadzonego tekstu musi spełniać określone kryteria, np. minimalną lub maksymalną liczbę znaków. Warto zaznaczyć, że zgodnie ze standardami ECMAScript, wszystkie napisy w JavaScript mają tę właściwość, co czyni ją niezwykle użyteczną w codziennej pracy programisty.

Pytanie 40

Jak określa się metodę sortowania, która polega na podziale na n przedziałów o równej długości, w których odbywa się sortowanie, a następnie posortowane zawartości przedziałów są analizowane i prezentowane?

A. Sortowanie bąbelkowe
B. Sortowanie przez wybór
C. Sortowanie kubełkowe
D. Sortowanie szybkie
Sortowanie szybkie, znane również jako quicksort, to algorytm sortowania wykorzystujący metodę dziel i rządź. Działa poprzez wybór elementu pivot i podział danych na dwie części: te mniejsze i te większe od pivota. Chociaż jest to jedna z najszybszych metod sortowania dla dużych zbiorów, nie polega na dzieleniu danych na kubełki, co czyni ją nieodpowiednią odpowiedzią na postawione pytanie. Sortowanie bąbelkowe to prosty algorytm, który polega na wielokrotnym przechodzeniu przez listę, porównywaniu sąsiadujących elementów i zamienianiu ich miejscami, jeśli są w niewłaściwej kolejności. Jest to strategia o niskiej efektywności, zwłaszcza w przypadku dużych danych, i również nie ma nic wspólnego z metodą podziału na przedziały. Sortowanie przez wybór z kolei polega na znajdowaniu najmniejszego elementu z nieposortowanej części listy i zamienianiu go z pierwszym elementem tej części. Chociaż każda z tych metod ma swoje zastosowania, żadna z nich nie odzwierciedla opisanego podejścia do sortowania kubełkowego, które efektywnie organizuje dane w przedziałach i korzysta z prostszych technik sortowania dla mniejszych zbiorów. Typowym błędem jest mylenie różnych metod sortowania, które mają unikalne podejścia i zastosowania, co może prowadzić do nieprawidłowych wyborów w kontekście algorytmów przetwarzania danych.