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 2026 23:38
  • Data zakończenia: 13 maja 2026 23:39

Egzamin niezdany

Wynik: 5/40 punktów (12,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

Która komenda algorytmu odpowiada graficznej wizualizacji bloku przedstawionego na ilustracji?

Ilustracja do pytania
A. Wykonaj podprogram sortowania tablicy t
B. n <- n + 5
C. Wypisz n
D. n > 20
Analizując dostępne opcje należy zrozumieć że poprawna identyfikacja elementów algorytmu zależy od znajomości symboli używanych w schematach blokowych. Wybór n>20 jako poprawnej odpowiedzi wynika z rozpoznania rombu jako symbolu decyzji. Opcja Wypisz n sugeruje operację wyjściową która w schematach blokowych zwykle reprezentowana jest przez prostokąt z zakrzywionymi narożnikami co oznacza wyświetlanie wartości zmiennej. Instrukcja n <- n + 5 jest przykładem operacji przypisania lub inkrementacji która zazwyczaj oznacza modyfikację wartości zmiennej i byłaby przedstawiona jako prostokąt oznaczający proces. Natomiast Wykonaj podprogram sortowania tablicy t to wywołanie funkcji które także mieści się w zakresie standardowego bloku procesowego. Wybór tych opcji wskazuje na brak poprawnego zrozumienia jakie typy operacji reprezentują różne kształty w schematach blokowych co może prowadzić do błędów w projektowaniu algorytmów. Zrozumienie znaczenia każdego bloku jest kluczowe w procesie tworzenia dokładnych i funkcjonalnych modeli algorytmicznych które są podstawą efektywnego rozwiązywania problemów w informatyce i inżynierii oprogramowania. Warto zwrócić uwagę na standardy takie jak UML czy BPMN które także definiują podobne symbole i konwencje co ułatwia komunikację i dokumentację w zespołach projektowych.

Pytanie 2

Funkcja zapisana w języku PHP ma postać jak poniżej. Jej zadaniem jest

function fun1($liczba)
{
    if($liczba % 2 == 0)
        return 1;

    return 0;
}
A. zwrócenie wartości 0, gdy liczba jest parzysta.
B. wypisanie liczby parzystej.
C. wypisanie liczby nieparzystej.
D. zwrócenie wartości 1, gdy liczba jest parzysta.
Twoja odpowiedź jest poprawna. Funkcja fun1($liczba) w PHP zwraca wartość 1, gdy liczba podana jako argument jest parzysta. Jest to wynikiem działania funkcji, której składnikami są operator modulo (%) i porównanie (==). Kod ($liczba % 2 == 0) sprawdza, czy reszta z dzielenia liczby przez 2 jest równa zero, co jest prawdą dla wszystkich liczb parzystych. Jeśli warunek jest spełniony, funkcja zwraca wartość 1. Jest to typowe i efektywne podejście do sprawdzania parzystości liczb w językach programowania. Wykorzystanie operatora modulo jest powszechną praktyką, gdyż nie tylko pozwala na realizację takiej operacji, ale również jest szybkie i nie wymaga zbyt dużego nakładu zasobów procesora. Można zastosować tę wiedzę w różnych scenariuszach - na przykład, gdy potrzebujesz przeprowadzić różne operacje na podstawie parzystości lub nieparzystości liczb.

Pytanie 3

Jakim poleceniem SQL można zlikwidować z tabeli artykuly wiersze, które zawierają słowo "sto" w dowolnej lokalizacji pola tresc?

A. DELETE * FROM artykuly WHERE tresc = "%sto%"
B. DELETE FROM artykuly WHERE tresc LIKE "%sto%"
C. DELETE * FROM artykuly WHERE tresc LIKE "%sto%"
D. DELETE FROM artykuly WHERE tresc = "%sto%"
Wybór odpowiedzi "DELETE * FROM artykuly WHERE tresc = '%sto%';" jest po prostu zły z paru powodów. Po pierwsze, w SQL nie używamy znaku '*' przy DELETE. Jak chcemy usunąć wiersze, to piszemy tylko "DELETE FROM nazwa_tabeli". To '*' sugeruje, że chcesz usunąć jakieś konkretne kolumny, a to w SQL się nie sprawdzi. Druga sprawa to operator '=' zamiast 'LIKE'. '=' używamy do porównania wartości, nie do wyszukiwania wzorców, a tu właśnie szukamy wystąpienia słowa 'sto' w dłuższym tekście. Dlatego operator LIKE z wildcardami jest tu konieczny, by znaleźć i usunąć te wiersze, które mają 'sto' gdziekolwiek. Często ludzie mylą te operatory w SQL, co prowadzi do problemów i nieefektywnego wyszukiwania.

Pytanie 4

$n = '[email protected]'; $dl = strlen($n); $i = 0; while ($i < $dl && $n[$i] != '@') {     echo $n[$i];     $i++; } Fragment kodu w języku PHP wyświetli

A. cały adres e-mail, czyli '[email protected]'
B. wyłącznie nazwę konta, czyli 'adres'
C. tylko nazwę domeny, czyli 'host.pl'
D. nazwę konta z znakiem @, czyli 'adres@'
Analizując niepoprawne odpowiedzi, warto zwrócić uwagę na kilka kluczowych aspektów. W przypadku odpowiedzi, która wskazuje na wypisanie nazwy konta ze znakiem '@', należy zauważyć, że kod w rzeczywistości nie wlicza znaku '@' do wypisywanej wartości. Działanie pętli opiera się na warunku przerywającym, który kończy iterację przed napotkaniem '@', co oznacza, że nie może on znaleźć się w rezultacie. Z kolei wskazanie, że kod wypisze cały adres e-mail jest błędne, ponieważ pętla jest zaprojektowana tak, aby zakończyć działanie przed osiągnięciem znaku '@', więc taki wynik nie jest możliwy. Ostatnia niepoprawna odpowiedź, sugerująca, że kod wypisze samą nazwę domeny, jest również myląca. W kodzie nie ma logiki, która pozwalałaby na wyodrębnienie części po znaku '@'; zamiast tego pętla przerywa działanie, gdy osiągnie ten znak. Jest to kluczowe, aby zrozumieć, że kod nie ma mechanizmu do analizy lub rozdzielania adresu e-mail po znaku '@'. Wszystkie te odpowiedzi pokazują niezrozumienie, jak działają operacje na ciągach w PHP oraz logikę pętli, która w kontekście tego fragmentu kodu jest fundamentalna dla uzyskania prawidłowego wyniku.

Pytanie 5

W sklepie z farbami obowiązuje określony sposób obliczania kosztu farby: dla koloru niebieskiego i zielonego przy pojemności 2 litry cena farby wynosi cena bazowa + 20%. Wyrażenie logiczne w języku JavaScript, które weryfikuje tę zasadę, ma formę

A. kolor = 'niebieski' || kolor = 'zielony' && pojemnosc = 2
B. (kolor == 'niebieski' || kolor == 'zielony') && pojemnosc == 2
C. (kolor = 'niebieski' || kolor = 'zielony') || pojemnosc = 2
D. kolor == 'niebieski' && kolor == 'zielony' && pojemnosc == 2
Analizując niepoprawne odpowiedzi, można zauważyć kilka powszechnych błędów, które prowadzą do mylnych wniosków. Przede wszystkim, użycie operatora '=' zamiast '==' jest fundamentalnym błędem w kontekście języka JavaScript. Operator '=' służy do przypisania wartości, podczas gdy '==' jest operatorem porównania, który sprawdza, czy dwie wartości są sobie równe. Zastosowanie '=' w warunkach logicznych prowadzi do nieprawidłowego działania warunków, ponieważ zamiast porównania wykonujemy przypisanie, co zazwyczaj skutkuje zawsze prawdziwym wynikiem. Ponadto, użycie operatora '&&' w przypadku kolorów w odpowiedzi, która stwierdza, że kolor jest jednocześnie 'niebieski' i 'zielony', jest logicznie niemożliwe, ponieważ jedna zmienna nie może przyjmować dwóch różnych wartości jednocześnie. Tego typu niepoprawne podejścia mogą prowadzić do niezamierzonych wyników w kodzie, co jest sprzeczne z podstawowymi zasadami programowania, takimi jak zasada jedności odpowiedzialności. Kluczowe jest również zrozumienie, że warunki powinny być jasno sformułowane, aby kod był zarówno funkcjonalny, jak i łatwy do zrozumienia dla innych programistów. Dobre praktyki programistyczne wskazują na konieczność stosowania dobrze zdefiniowanych i jednoznacznych warunków, co znacznie ułatwia dalszy rozwój i konserwację kodu.

Pytanie 6

Jak za pomocą CSS ustawić opływanie obrazu tekstem, wprowadzając odpowiedni kod w stylu obrazu?

Ilustracja do pytania
A. clear: both;
B. float: left;
C. float: right;
D. table: left;
Stosowanie table: left; w tym kontekście to strzał w kolano, bo taka właściwość nie istnieje. W CSS do tabel używamy innych właściwości jak display: table; lub display: table-cell;, ale nie do opływania elementów. A clear: both; jest używane, żeby zlikwidować opływ po float, więc to ważna sprawa, bo inaczej wszystko się sypie. Float: left; może opływać, ale w tej sytuacji nie postawi obrazka po prawej, bo ustawia go po lewej stronie. Wiele osób myśli, że float działa na osi Y, ale tak naprawdę dotyczy tylko osi X. Pamiętaj, że float, chociaż przydatny, to nie jedyny sposób na układanie elementów w CSS. Flexbox i grid to nowoczesne metody, które często są znacznie lepsze. By zbudować ładne interfejsy, musimy rozumieć jak różne właściwości CSS ze sobą współpracują.

Pytanie 7

Które z tabel będą poddane weryfikacji zgodnie z przedstawionym poleceniem? ```CHECK TABLE pracownicy CHANGED;```

A. Tylko te tabele, które nie mogły być poprawnie zakończone
B. Wyłącznie tabele odnoszące się do innych
C. Tabele, które zmieniły się w obecnej sesji
D. Tabele, które uległy zmianie od ostatniej kontroli lub nie zostały poprawnie zamknięte
Wybór odpowiedzi dotyczącej jedynie tabel, które nie zostały poprawnie zamknięte, nie uwzględnia pełnego zakresu zastosowania polecenia CHECK TABLE. To podejście ignoruje ważny aspekt, jakim jest monitorowanie wszelkich zmian, które miały miejsce od ostatniej inspekcji. Tabele mogą być zmieniane przez różne operacje, zarówno podczas aktualizacji, jak i w wyniku nieprawidłowego zakończenia sesji, co czyni istotnym ich kontrolowanie w szerszym ujęciu. Z kolei odpowiedź sugerująca, że tylko tabele referujące do innych powinny być sprawdzane, jest myląca, ponieważ takie ograniczenie do współzależności między tabelami nie odzwierciedla rzeczywistej natury problemów z integralnością danych. W praktyce, wszystkie tabele w bazie danych mogą wpływać na siebie nawzajem, a problemy w jednej tabeli mogą prowadzić do błędów w innych. Takie myślenie może prowadzić do zaniedbania, które naraża system na uszkodzenia, a nawet utratę danych. Właściwe podejście do zarządzania bazami danych powinno opierać się na całościowym przeglądzie stanu tabel, a nie na selektywnym podejściu, co może przyczynić się do nieefektywności i ryzyka utraty danych. Dlatego też skupienie się tylko na jednym aspekcie, takim jak niewłaściwe zamknięcie, jest niewystarczające dla zapewnienia integralności systemu.

Pytanie 8

Jaki styl CSS umożliwia ustawienie wyrównania tekstu do prawej strony?

A. <p style="font: right"> tekst </p>
B. <p style="align: right"> tekst </p>
C. <p style="text-align: right"> tekst </p>
D. <p style="positon: right"> tekst </p>
Wszystkie pozostałe odpowiedzi zawierają błędne podejścia do stylizacji tekstu. W pierwszym przypadku, użycie 'align' jest nieprawidłowe, ponieważ nie jest to uznawana właściwość CSS; w HTML, wyrównanie tekstu było obsługiwane przez atrybut 'align', ale jest już przestarzałe. Innym błędem jest zastosowanie 'positon', które zapewne miało odnosić się do 'position', lecz ta właściwość służy do określenia sposobu pozycjonowania elementów na stronie, a nie do wyrównania tekstu. 'font' z kolei odnosi się do stylów czcionek, takich jak rodzaj, rozmiar i styl, ale nie ma wpływu na wyrównanie tekstu. Te błędne odpowiedzi ukazują typowe nieporozumienia dotyczące właściwości CSS oraz ich zastosowań. Kluczowe jest zrozumienie, że każda właściwość CSS ma swoje specyficzne zastosowanie, a ich nieprawidłowe użycie prowadzi do nieoczekiwanych rezultatów na stronie. Aby uniknąć takich błędów, warto zapoznać się ze standardami CSS oraz dokumentacją, co pomoże w lepszym zrozumieniu i zastosowaniu odpowiednich właściwości do stylizacji tekstu. W praktyce, korzystanie z odpowiednich właściwości CSS nie tylko poprawia wygląd strony, ale również wpływa na jej dostępność i użyteczność.

Pytanie 9

Z tabel Artykuly oraz Autorzy należy wyodrębnić tylko nazwiska autorów oraz tytuły ich artykułów, które uzyskały ocenę 5. Odpowiednia kwerenda do pozyskania tych informacji ma postać

Ilustracja do pytania
A. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = artykuly.id;
B. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;
C. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id;
D. SELECT nazwisko, tytul FROM autorzy, artykuly WHERE ocena == 5;
Odpowiedź SELECT nazwisko tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5; jest poprawna ponieważ precyzyjnie wykorzystuje konstrukcję SQL do połączenia tabel Autorzy i Artykuly. JOIN łączy te tabele na podstawie klucza obcego autorzy_id w tabeli Artykuly który odpowiada kluczowi głównemu id w tabeli Autorzy. To pozwala na uzyskanie pełnej informacji o autorach i ich artykułach. Klauzula WHERE ocena = 5 filtruje wyniki i zwraca jedynie te które mają ocenę równą 5. Jest to standardowe podejście w SQL do pobierania danych na podstawie określonych kryteriów co jest bardzo efektywne w zarządzaniu dużymi zbiorami danych. Praktyczne zastosowanie tego typu kwerend obejmuje na przykład systemy rekomendacji artykułów gdzie tylko dobrze ocenione treści są pokazywane użytkownikom. Stosowanie takich kwerend zgodnie z najlepszymi praktykami pozwala na utrzymanie wydajności bazy danych oraz na zapewnienie integralności danych co jest kluczowe w profesjonalnym zarządzaniu bazami danych.

Pytanie 10

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

div { border: solid 2px blue;
    margin: 20px;             }
A. 2 px oraz marginesy na zewnątrz tego obramowania.
B. 20 px oraz marginesy wewnątrz tego obramowania.
C. 2 px oraz marginesy wewnątrz tego obramowania.
D. 20 px oraz marginesy na zewnątrz tego obramowania.
Wygląda na to, że niepoprawnie zrozumiałeś, jak działają obramowania i marginesy w CSS. W tym języku obramowanie (border) i margines (margin) to dwie różne typy przestrzeni, które możemy zdefiniować wokół elementu. Obramowanie jest linią otaczającą element, natomiast margines to przestrzeń między obramowaniem a następnym elementem. Marginesy są zawsze na zewnątrz obramowania, nie wewnątrz. Powiedzenie, że margines jest 'wewnątrz' obramowania, to fundamentalne nieporozumienie dotyczące tego, jak te dwie właściwości działają. Poza tym, szerokość obramowania została zdefiniowana jako 2 piksele, a nie 20. To może być łatwo pomylone, ale pamiętaj, że w CSS jednostki są ważne i mogą znacząco wpływać na wygląd strony. W praktyce, szczegółowe zrozumienie obramowania i marginesów jest kluczowe do precyzyjnego ułożenia elementów na stronie internetowej.

Pytanie 11

Metoda w języku PHP, która pełni rolę konstruktora, nosi nazwę

A. _construct
B. _new
C. _create
D. _open
Wybór innych opcji jako nazw konstruktorów w PHP zdradza pewne nieporozumienia co do zasad programowania obiektowego oraz właściwego użycia specjalnych metod w tym języku. Opcja _open sugeruje, że konstruktor mógłby być nazwany w sposób, który sugerowałby otwieranie zasobów, co nie jest zgodne z konwencją. W PHP nie istnieje funkcja o takiej nazwie, co może prowadzić do błędów w kodzie. Z kolei _new kojarzy się z procesem tworzenia instancji obiektów, jednak w PHP nie jest to odpowiednia nazwa dla konstruktora, ponieważ _new nie jest zdefiniowane jako metoda. Może to wprowadzać w błąd, sugerując, że istnieje alternatywna metoda do tworzenia obiektów, podczas gdy w rzeczywistości odpowiedzialna za to jest konstrukcja `new`. Ostatnia opcja, _create, również wprowadza nieporozumienie, sugerując, że istnieje metoda, która specjalizuje się w tworzeniu obiektów, co nie jest zgodne z konwencjami PHP. W kontekście dobrych praktyk programistycznych kluczowe jest, aby być świadomym poprawnych konwencji nazw oraz ich znaczenia w programowaniu obiektowym. Prawidłowa implementacja konstruktora i znajomość jego nazwy są fundamentalne dla prawidłowego zarządzania obiektami oraz ich właściwościami w kodzie.

Pytanie 12

W języku PHP, dla zmiennych a = 5 oraz b = 3, jakie wyrażenie zwróci wartość zmiennoprzecinkową?

A. a + b
B. a * b
C. a && b
D. a / b
Wybór operacji a + b prowadzi do 8, co jest wartością całkowitą, a nie zmiennoprzecinkową. Operator dodawania w PHP sumuje dwie liczby i w przypadku, gdy obie liczby są całkowite, wynik również pozostaje w tym samym typie. W kontekście operacji arytmetycznych, dodawanie nie wprowadza dodatkowej precyzji i nie korzysta z możliwości reprezentacji liczb dziesiętnych, co czyni je mniej odpowiednim w sytuacjach wymagających większej dokładności. Kolejna niepoprawna odpowiedź to a * b, która również zwraca 15, co jest wartością całkowitą. Mnożenie podobnie jak dodawanie nie zmienia typu wyniku, dlatego nie spełnia warunków pytania. Operacje mnożenia są powszechnie wykorzystywane, ale w przypadku podanych zmiennych nie generują wartości zmiennoprzecinkowej. Ostatnia z niepoprawnych odpowiedzi, a && b, to operator logiczny, który sprawdza, czy obie zmienne są prawdziwe (true). W PHP operator ten zwraca wartość logiczną true lub false, w zależności od tego, czy obydwie zmienne są różne od zera. W tym przypadku, ponieważ a i b są różne od zera, wynik tego wyrażenia to true, co zdecydowanie nie jest wartością zmiennoprzecinkową. Operator logiczny nie jest więc odpowiedni do uzyskiwania wyników numerycznych i nie może być używany do obliczeń arytmetycznych.

Pytanie 13

Która właściwość języka CSS może przyjmować wartości: underline, overline, line-through?

A. font-weight
B. text-decoration
C. text-style
D. font-style
W tym pytaniu łatwo się pomylić, bo wszystkie odpowiedzi wyglądają jakby miały coś wspólnego z tekstem i czcionką, ale tylko jedna faktycznie odpowiada za podkreślenia, nadkreślenia i przekreślenia. Właściwości `text-style` w ogóle nie ma w standardzie CSS – to jest dość typowy błąd: próbujemy zgadnąć nazwę „na logikę”, zamiast pamiętać faktycznie zdefiniowane właściwości z dokumentacji. W specyfikacji W3C nie znajdziemy `text-style`, więc przeglądarka i tak ją zignoruje. `font-style` jest już prawdziwą właściwością CSS, ale jej rola jest inna. Służy do określania stylu kroju pisma, czyli np. `normal`, `italic`, `oblique`. Używamy jej, gdy chcemy zrobić tekst pochylony, np. dla cytatów czy nazw własnych. Nie ma ona nic wspólnego z podkreślaniem czy przekreślaniem tekstu. Często osoby początkujące mylą sprawy wyglądu „czcionki” (fontu) z dekoracjami tekstu, ale w CSS jest to wyraźnie rozdzielone na osobne właściwości. Z kolei `font-weight` odpowiada za grubość pisma, czyli pogrubienie. Standardowe wartości to np. `normal`, `bold` albo liczby jak `400`, `700`. Kiedy chcemy uzyskać efekt pogrubionego nagłówka czy ważnego fragmentu, stosujemy właśnie `font-weight`, a nie `text-decoration`. Pogrubienie i podkreślenie to wizualnie różne efekty i w CSS mają inne mechanizmy. Za linie typu `underline`, `overline`, `line-through` zawsze odpowiada rodzina właściwości `text-decoration`. To jest ważna granica: wszystko co jest „krojem pisma” to `font-*`, a wszystko co jest „ozdobą tekstu” typu linie, styl linii, kolor linii – to `text-decoration` i jego pochodne. Mylenie tych grup prowadzi do kodu, który niby wygląda sensownie, ale po prostu nie działa, bo przeglądarka ignoruje nieistniejące lub źle użyte właściwości. Dlatego dobrze jest opierać się na oficjalnych nazwach z dokumentacji, a nie intuicji nazewniczej.

Pytanie 14

Aby utworzyć relację wiele do wielu między tabelami A i B, wystarczy, że

A. zostanie zdefiniowana trzecia tabela z kluczami obcymi do tabel A i B
B. wiele wpisów z tabeli A powtórzy się w tabeli B
C. połączenie tabeli A z tabelą B nastąpi poprzez określenie kluczy obcych
D. tabela A będzie miała identyczne pola jak tabela B
Podejścia zaprezentowane w niepoprawnych odpowiedziach są mylące i nie odpowiadają zasadom modelowania baz danych stosowanym w praktyce. Łączenie tabeli A z tabelą B poprzez klucze obce bez użycia tabeli asocjacyjnej prowadzi do trudności w zarządzaniu relacjami, ponieważ w takiej konfiguracji relacja będzie co najwyżej jeden do wielu, co nie odzwierciedla zamierzonej relacji wiele do wielu. Duplicacja rekordów z tabeli A w tabeli B jest nie tylko nieefektywna, ale również narusza zasady normalizacji, prowadząc do redundancji danych i potencjalnych problemów z integralnością. Ponadto, posiadanie tabeli A z takimi samymi polami co tabela B nie ma sensu w kontekście relacji wiele do wielu, ponieważ nie rozwiązuje problemu powiązań między rekordami tych tabel. Ważne jest zrozumienie, że prawidłowe modelowanie baz danych powinno opierać się na zdefiniowanych relacjach i zastosowaniu kluczy obcych w odpowiedni sposób. Niezrozumienie tej koncepcji może prowadzić do błędnych wniosków i niewłaściwego projektowania baz danych, co w dłuższej perspektywie może powodować trudności w przetwarzaniu i analizie danych.

Pytanie 15

Komunikat błędu generowany przez walidator HTML może wskazywać na

A. brak zamknięcia znacznika <p>
B. brak zamknięcia znaczników zagnieżdżonych wewnątrz znacznika <p> przed jego zakończeniem
C. zamknięciu znacznika <p>, mimo że wcześniej nie był on otwarty
D. niezgodną ilość znaczników <p> otwartych i zamkniętych
Błąd mówi, że zamknąłeś znacznik <p>, ale niektóre znaczniki wewnętrzne, jak <a>, pozostają otwarte. To nie chodzi o to, żeby zamknąć <p> bez wcześniejszego otwarcia, ale o to, że musisz zamknąć wszystkie zagnieżdżone znaczniki przed zamykaniem nadrzędnego. Jeśli to zrobisz, to wszystko powinno działać lepiej i strona powinna się wyświetlać tak, jak chcesz.

Pytanie 16

Które z poniższych stwierdzeń dotyczy grafiki wektorowej?

A. Służy do zapisu cyfrowych zdjęć
B. Może być zapisywana w formacie JPG lub PNG
C. Zawiera przedstawienie obrazu przy użyciu siatki składającej się z kolorowych pikseli ustawionych w pionie i poziomie na monitorze komputera, drukarce lub innym urządzeniu wyjściowym
D. Zapisywany obraz jest opisywany za pośrednictwem figur geometrycznych umieszczonych w układzie współrzędnych
Pierwsza z odpowiedzi odnosi się do grafiki rastrowej, która wykorzystuje siatkę pikseli do przedstawiania obrazów. Tego typu grafika jest ograniczona do rozdzielczości, co oznacza, że powiększanie obrazu prowadzi do utraty jakości i widocznych pikseli. Drugą nieprawidłową odpowiedzią jest stwierdzenie, że grafika wektorowa może być przechowywana w formacie JPG lub PNG. Te formaty są dedykowane dla grafiki rastrowej, a nie wektorowej. JPG to format stratny, który kompresuje obraz, co prowadzi do utraty szczegółów, natomiast PNG, choć obsługuje przezroczystość, nadal jest formatem rastrowym. Ostatnia z nieprawidłowych odpowiedzi podaje, że grafika wektorowa jest wykorzystywana do zapisu fotografii cyfrowej, co jest nieprecyzyjne, ponieważ fotografie cyfrowe są najczęściej zapisywane w formatach rastrowych, a nie wektorowych. Grafika wektorowa jest bardziej odpowiednia dla ilustracji, logo i innych elementów graficznych, które wymagają zmienności bez degradacji jakości, natomiast fotografie wymagają złożoności detali, którą lepiej uchwyci grafika rastrowa. W związku z tym, każda z podanych niepoprawnych odpowiedzi zawiera błędne założenia dotyczące charakterystyki grafiki wektorowej, jej formatów oraz zastosowania.

Pytanie 17

Funkcja agregująca MIN w SQL ma na celu obliczenie

A. liczby wierszy, które zostały zwrócone przez kwerendę
B. średniej wartości różnych pól w rekordzie zwróconym przez zapytanie
C. wartości najmniejszej w kolumnie wynikowej kwerendy
D. długości tekstu w rekordach zwróconych przez kwerendę
W odpowiedziach, które nie zostały wybrane, pojawia się szereg błędnych interpretacji dotyczących funkcji agregującej MIN. Wartość długości znaków w rekordach nie ma bezpośredniego związku z funkcją MIN. Funkcje takie jak LENGTH mogą być używane do obliczania długości ciągów znakowych, lecz nie są one związane z MIN, który skupia się na wartościach liczbowych. Liczba wierszy zwróconych przez kwerendę odnosi się do użycia funkcji COUNT, a nie MIN. Liczenie rekordów jest inną operacją, która służy do zliczania wszystkich wierszy spełniających określone kryteria. Z kolei średnia wartości różnych pól rekordu, uzyskiwana przy użyciu funkcji AVG, również jest odmienną operacją, która nie ma związku z działaniem MIN. Te pomyłki mogą wynikać z nieporozumienia dotyczącego podstawowych funkcji agregujących w SQL, które są kluczowe w analizie danych. Każda z tych funkcji ma swoje specyficzne zastosowania i zrozumienie ich różnic jest fundamentalne dla efektywnej pracy z bazami danych. Niezrozumienie, co dokładnie robi funkcja MIN, może prowadzić do błędnych wniosków w analizach oraz do niepoprawnych zapytań w projektach bazodanowych.

Pytanie 18

W CSS właściwość font-size może przyjmować wartości według słów kluczowych

A. tylko smali, smaller, large, larger
B. z zestawu xx-small, x-small, smali, medium, large, x-large, xx-large
C. jedynie big i smali
D. wyłącznie smali, medium, large
Zrozumienie różnych wartości, które mogą być zastosowane w właściwości font-size, jest kluczowe dla efektywnego stylizowania tekstu w CSS. Pierwsza z nieprawidłowych odpowiedzi ogranicza się do zaledwie czterech terminów: smali, smaller, large oraz larger, co jest niewłaściwe, ponieważ właściwość font-size posiada znacznie szerszy zestaw wartości. Warto zauważyć, że 'smaller' oraz 'larger' są względnymi jednostkami, które odnoszą się do rozmiaru czcionki elementu nadrzędnego, a nie są one samodzielnymi wartościami słownikowymi. Dodatkowo, w odpowiedzi mowa jest o 'medium' i 'large', ale pomija się inne ważne terminy. Utrata kontekstu tych wartości prowadzi do ograniczonego zrozumienia typografii w web designie. Następna błędna odpowiedź zawiera jedynie trzy wartości: smali, medium i large, co nie pokrywa pełnego zestawu opcji dostępnych w CSS. Można zauważyć, że brak uwzględnienia pozostałych terminów, takich jak xx-small czy x-large, ogranicza możliwości projektanta w zakresie elastyczności i precyzji stylizacji tekstu. Tego rodzaju niedopatrzenie może prowadzić do niejednolitego wyglądu tekstów na różnych urządzeniach. Ostatnia fałszywa odpowiedź, która sugeruje, że font-size może przyjmować tylko wartości big i smali, jest całkowicie błędna. 'Big' nie jest uznawane za standardową wartość w CSS, co pokazuje brak zrozumienia podstawowych zasad dotyczących typografii. Przykłady te ilustrują, jak ważne jest zapoznanie się z pełnym zakresem opcji dostępnych w CSS oraz jak niewłaściwe interpretacje mogą prowadzić do nieefektywnego stylizowania elementów tekstowych.

Pytanie 19

Jakie uprawnienia będzie miał użytkownik jan po wykonaniu poniższych poleceń na bazie danych?

GRANT ALL PRIVILEGES ON klienci TO jan;
REVOKE SELECT, INSERT, UPDATE, DELETE ON klienci FROM jan;
A. Będzie mógł przeszukiwać dane w tabeli klienci.
B. Będzie mógł eliminować rekordy z tabeli klienci.
C. Będzie mógł zmieniać strukturę tabeli klienci.
D. Będzie mógł dodawać rekordy do tabeli klienci.
Wybór odpowiedzi, że jan będzie mógł usuwać rekordy z tabeli klienci, jest błędny. Polecenie REVOKE SELECT, INSERT, UPDATE, DELETE nałożone na użytkownika jan oznacza, że pozbawiono go możliwości wykonywania operacji, które są kluczowe dla zarządzania danymi w tej tabeli. W praktyce, zasady przyznawania uprawnień w bazach danych wymagają, aby użytkownicy mieli określone uprawnienia do przeprowadzenia operacji na danych. Usuwanie rekordów jest operacją, która wymaga posiadania odpowiednich uprawnień, a ponieważ jan został pozbawiony uprawnienia DELETE, nie może on już usuwać żadnych danych z tabeli klienci. Podobnie, stwierdzenie, że jan będzie mógł wyszukiwać dane, również jest błędne, ponieważ uprawnienie SELECT zostało odjęte. W kontekście administracji bazą danych, kluczowe jest zrozumienie, że przyznawanie lub odbieranie uprawnień powinno być zgodne z zasadą najmniejszych uprawnień, co oznacza, że użytkownicy powinni mieć tylko te uprawnienia, które są niezbędne do wykonywania ich pracy. W tym przypadku jan ma pełne uprawnienia do zmiany struktury tabeli, ale nie ma żadnej możliwości interakcji z danymi. Zatem, odpowiedzi dotyczące możliwości wstawiania rekordów również są błędne, ponieważ uprawnienie INSERT zostało zabrane, co uniemożliwia janowi dodawanie nowych danych do tabeli. W związku z powyższym, wybór odpowiedzi na pytanie egzaminacyjne powinien opierać się na dokładnej analizie przyznanych uprawnień oraz ich wpływu na możliwości działania użytkowników w systemie baz danych.

Pytanie 20

W języku JavaScript stworzono zmienną i, która będzie przechowywać wynik dzielenia równy 1, to

A. var i=Number(3/2)
B. var i=3/2
C. var i=parseInt(3/2)
D. var i=parseFloat(3/2)
Wybór pozostałych opcji jest błędny z kilku powodów związanych z typem zwracanej wartości oraz sposobem, w jaki JavaScript obsługuje konwersję typów. Pierwsza z niepoprawnych odpowiedzi, która korzysta z operatora dzielenia 3/2, zwraca wartość 1.5, a następnie wykorzystuje ją w konstrukcji var i=3/2; bez jakiejkolwiek konwersji. Rezultatem jest wartość zmiennoprzecinkowa, co nie odpowiada wymaganiu przechowywania wyniku jako liczby całkowitej. Druga odpowiedź wykorzystuje funkcję Number, co również skutkuje zwróceniem wartości 1.5. Funkcja Number konwertuje każdy argument na typ liczbowy, ale nie zaokrągla go w dół do najbliższej liczby całkowitej, co jest celem tego zadania. Ostatnia z niepoprawnych odpowiedzi, var i=parseFloat(3/2);, również prowadzi do tego samego rezultatu: 1.5. Funkcja parseFloat przekształca argument na liczbę zmiennoprzecinkową, a nie całkowitą, co jest sprzeczne z wymaganiami dotyczącymi uzyskania wyniku 1. W kontekście tego pytania, kluczowe znaczenie ma zrozumienie różnic między tymi funkcjami oraz ich zastosowania w praktyce programistycznej.

Pytanie 21

W języku JavaScript rezultat wykonania polecenia zmienna++; będzie identyczny jak polecenia

A. zmienna===zmienna+1;
B. zmienna=zmienna+10;
C. zmienna+=1;
D. zmienna --;
Wszystkie pozostałe odpowiedzi są niepoprawne z technicznego punktu widzenia. Pierwsza z nich, 'zmienna--;', wskazuje na operator dekrementacji, który zmniejsza wartość zmiennej o 1. W przeciwieństwie do inkrementacji, dekrementacja prowadzi do obniżenia wartości zmiennej. Na przykład, jeśli zmienna wynosi 5, to po zastosowaniu 'zmienna--;' jej wartość stanie się 4, co jest zupełnie odmiennym wynikiem. Kolejna odpowiedź, 'zmienna=zmienna+10;', wprowadza dodatkowy element, który zwiększa wartość zmiennej o 10, co znacznie odbiega od pierwotnej idei inkrementacji o 1. Przykładowo, przy pierwotnej wartości zmiennej 5, wynik po tej operacji będzie 15, co jest całkowicie innym wynikiem niż w przypadku inkrementacji. Ostatnia z odpowiedzi, 'zmienna===zmienna+1;', jest operacją porównania, która sprawdza, czy wartość zmiennej jest równa wartości zmiennej powiększonej o 1. Wartość ta nigdy nie będzie równa w przypadku, gdy zmienna ma jakąkolwiek wartość inną niż 0. Dla zmiennej o wartości 5, wynik będzie fałszywy, co jest zupełnie inną logiką niż pożądane zwiększenie wartości. Tak więc, wszystkie te odpowiedzi nie oddają idei prostego zwiększenia wartości zmiennej o 1, co czyni je niepoprawnymi w kontekście pytania.

Pytanie 22

W języku JavaScript przedstawiona poniżej definicja jest definicją
var imiona=["Anna", "Jakub", "Iwona", "Krzysztof"];

A. tablicy.
B. klasy.
C. kolekcji.
D. obiektu.
Zdefiniowanie zmiennej jako var imiona=["Anna", "Jakub", "Iwona", "Krzysztof"]; może prowadzić do nieporozumień, jeśli nie zrozumiemy, czym dokładnie jest tablica w kontekście JavaScriptu. Wybierając klasę jako odpowiedź, można pomylić koncepcje obiektowości w JavaScript, gdzie klasy są używane do tworzenia obiektów z określonymi właściwościami i metodami. Klasa jest strukturą, która opisuje typ obiektu, ale nie jest tym, co zostało zaprezentowane w tym przykładzie. Innym błędnym podejściem jest wskazanie obiektu jako odpowiedzi. Obiekt w JavaScript jest zbiorem par klucz-wartość, co różni się od tablicy, która jest zorganizowana w formie sięgającej za pomocą indeksów, a nie kluczy. W dodatku, odpowiedź mówiąca o kolekcji może wywołać zamieszanie z pojęciem tablicy, podczas gdy kolekcje w JavaScript obejmują bardziej zaawansowane struktury, takie jak Set czy Map, które mają różne zastosowania i właściwości. Typowe błędy myślowe prowadzące do takich odpowiedzi wynikają z nieprecyzyjnego rozumienia podstawowych typów danych oraz ich zastosowania w JavaScript. Dlatego kluczowe jest, aby przed podjęciem decyzji zrozumieć, jak różne struktury danych funkcjonują i jakie mają zastosowania w praktycznych scenariuszach programistycznych.

Pytanie 23

Po wykonaniu kodu PHP zostanie wyświetlona aktualna data zawierająca jedynie
echo date("Y");

A. miesiąc i rok
B. dzień
C. dzień i miesiąc
D. rok
W przypadku odpowiedzi wskazujących na inne aspekty daty, takie jak \"dzień\" czy \"miesiąc i rok\", warto zrozumieć, że te odpowiedzi są niepoprawne ze względu na sposób działania funkcji `date()` w PHP. Funkcja ta, w kontekście zapytania, jest zdefiniowana tak, że zwraca jedynie czterocyfrowy rok, a nie konkretne dni czy miesiące. Użytkownicy mogą czasami mylić ten aspekt, sądząc, że funkcja `date()` może zwracać więcej informacji jednocześnie, co jest nieprawdziwe w przypadku podanego formatu. Na przykład, odpowiedzi, które wskazują na \"dzień\" i \"miesiąc\", mogą wynikać z założenia, że `date()` automatycznie wprowadza wszystkie elementy daty, co jest błędne. Dobrą praktyką jest zrozumienie, jakie formaty można używać z funkcją `date()`, aby prawidłowo wykorzystać jej możliwości. Każdy z formatów, takich jak \"d\" dla dnia czy \"m\" dla miesiąca, musi być wywołany oddzielnie, co prowadzi do błędnych wniosków, jeśli nie jest to uwzględnione w programowaniu. Zrozumienie tego mechanizmu jest kluczowe dla efektywnego korzystania z PHP w kontekście pracy z datami.

Pytanie 24

Funkcją zaprezentowanego kodu PHP jest napełnienie tablicy $tab 10 losowymi liczbami z przedziału od -100 do 100, a następnie wypisanie liczb ujemnych. Kod prezentuje się następująco:

$tab = array();
for ($i = 0; $i < 10; $i++)
{
    $tab[$i] = rand(-100, 100);
}

foreach ($tab as $x)
{
    if ($x < 0)
        echo "$x ";
}
A. 10 losowymi wartościami, a następnie wypisanie liczb ujemnych
B. 100 losowymi liczbami, a następnie wypisanie liczb dodatnich
C. kolejnymi liczbami od -100 do 100 oraz wypisanie liczb ujemnych
D. kolejnymi liczbami od 0 do 9 i ich wyświetlenie
Przedstawiony kod w języku PHP ma na celu wypełnienie tablicy dziesięcioma losowymi wartościami i wypisanie tych, które są ujemne. Funkcja rand(-100, 100) generuje liczby losowe z zakresu od -100 do 100. W pętli for wykonujemy dziesięć iteracji, co umożliwia dodanie dziesięciu takich liczb do tablicy. Następnie, za pomocą pętli foreach, iterujemy przez wszystkie elementy tablicy. Instrukcja warunkowa if sprawdza, czy każda z wartości jest mniejsza od zera. Jeśli warunek jest spełniony, liczba jest wypisywana na ekran. Takie podejście jest często stosowane w programowaniu, gdy wymagana jest praca z losowymi danymi w celu testowania lub symulacji. W praktycznych zastosowaniach można użyć tej metody do filtrowania danych lub analizy wyników eksperymentalnych, gdzie konieczne jest zidentyfikowanie i obsługa wartości o określonych właściwościach. Dobre praktyki programistyczne nakazują dokumentowanie takich fragmentów kodu, aby ułatwić zrozumienie i utrzymanie projektu przez innych deweloperów.

Pytanie 25

Jakie zagadnienie powinno być uwzględnione w dokumentacji użytkownika aplikacji?

A. Charakterystyka użytej technologii oraz bibliotek
B. Opis zastosowanych algorytmów w kodzie
C. Wyjaśnienie działania funkcji systemu
D. Szczegóły dotyczące kodu źródłowego
Opisy algorytmów zastosowanych w kodzie, technologii i bibliotek oraz kodu źródłowego, choć ważne, nie są elementami, które powinny znaleźć się w dokumentacji użytkownika. Dokumentacja użytkownika skupia się na interakcji użytkownika z systemem, a nie na szczegółach technicznych, które są bardziej odpowiednie dla dokumentacji dewelopera. Opis algorytmów jest istotny dla programistów, którzy chcą zrozumieć sposób działania aplikacji, jednak przeciętny użytkownik nie będzie w stanie wykorzystać tej wiedzy w praktyce, co czyni ją nieistotną w kontekście obsługi. Opis technologii i bibliotek również nie jest przydatny dla końcowego użytkownika, który nie jest zainteresowany technicznymi aspektami budowy systemu, ale raczej jego funkcjonalnością. Co więcej, dokumentacja kodu źródłowego jest skierowana do programistów i osób technicznych, które chcą zrozumieć strukturę i logikę aplikacji, co nie odpowiada potrzebom użytkownika końcowego, który szuka jasnych instrukcji i wskazówek dotyczących obsługi. Dlatego, tworząc dokumentację użytkownika, kluczowe jest skupienie się na tym, co jest istotne z perspektywy użytkownika, aby ułatwić mu korzystanie z aplikacji i poprawić jego doświadczenia.

Pytanie 26

Konstrukcja w języku SQL ALTER TABLE USA... służy do

A. zmiany tabeli USA
B. nadpisania istniejącej tabeli USA
C. stworzenia nowej tabeli USA
D. usunięcia tabeli USA
Istnieje kilka mitów oraz powszechnych nieporozumień dotyczących polecenia ALTER TABLE, które mogą prowadzić do błędnych wniosków. Na przykład, usunięcie tabeli nie jest możliwe za pomocą ALTER TABLE, ponieważ do tego celu służy osobne polecenie DROP TABLE, które całkowicie eliminuje tabelę oraz wszystkie przechowywane w niej dane. Użytkownicy często mylą też modyfikację tabeli z jej nadpisywaniem, co jest błędne, ponieważ ALTER TABLE modyfikuje istniejącą strukturę tabeli, a nie ją zastępuje. Z kolei tworzenie nowej tabeli odbywa się za pomocą polecenia CREATE TABLE, co jest kompletnie odmiennym działaniem i nie ma związku z ALTER TABLE. Ważne jest, aby zrozumieć, że ALTER TABLE nie zmienia semantyki danych ani nie wpływa na istniejące rekordy w sposób destrukcyjny, chyba że podejmie się decyzję o usunięciu kolumn, co oczywiście wiąże się z utratą danych. Typowe błędy myślowe, które prowadzą do złych interpretacji, wynikają z niepełnego zrozumienia definicji dostępnych poleceń SQL oraz ich funkcji. W związku z tym, gruntowne opanowanie podstawowych poleceń SQL oraz ich kontekstu jest kluczowe do skutecznego zarządzania danymi w systemach bazodanowych.

Pytanie 27

Jakie jest zadanie funkcji Desaturacja?

A. przekształcenie kolorów na odcienie szarości
B. zwiększenie liczby kolorów używanych w grafice
C. powiększenie intensywności kolorów
D. rozjaśnienie wizualizacji
Zwiększenie jaskrawości kolorów to podejście, które w ogóle nie ma nic wspólnego z desaturacją. Takie coś zazwyczaj prowadzi do bardziej intensywnych kolorów, ale w kontekście desaturacji to totalne nieporozumienie. Desaturacja wręcz zmniejsza nasycenie, przekształcając to w szarość. Rozjaśnienie? To jeszcze inna sprawa. Zwiększa jasność pikseli, co może spowodować utratę szczegółów w jasnych miejscach, podczas gdy desaturacja nie zmienia jasności, tylko to, jak postrzegamy kolory. Mówiąc o zwiększeniu liczby kolorów to w ogóle bzdura, bo desaturacja ogranicza paletę do odcieni szarości. Często ludzie mylą nasycenie, jasność i kolor, co wprowadza w błąd, a zrozumienie tych terminów to kluczowa umiejętność dla każdego, kto zajmuje się grafiką czy fotografią.

Pytanie 28

Który efekt został zaprezentowany na filmie?

A. Zmniejszenie kontrastu zdjęcia.
B. Zmiana jasności zdjęć.
C. Przenikanie zdjęć.
D. Zwiększenie ostrości zdjęcia.
W tym zadaniu łatwo pomylić kilka różnych rodzajów operacji na obrazie, bo wszystkie jakoś „zmieniają wygląd zdjęcia”, ale działają zupełnie inaczej. Efekt pokazany na filmie to przenikanie dwóch zdjęć w czasie, czyli animowane przejście między jednym obrazem a drugim. Kluczowa cecha: widzimy jednocześnie dwa zdjęcia, jedno stopniowo zanika, a drugie stopniowo się pojawia. To nie jest typowa operacja edycyjna na pojedynczym pliku graficznym, tylko efekt animacyjny, często wykorzystywany w pokazach slajdów, sliderach na stronach WWW i w montażu wideo. Zmiana jasności zdjęć to zupełnie inny rodzaj przetwarzania. Jasność modyfikuje poziom luminancji całego obrazu lub jego fragmentów – obraz staje się ciemniejszy albo jaśniejszy, ale dalej jest to to samo zdjęcie. Nie pojawia się nowe, drugie zdjęcie, nie ma nakładania dwóch kadrów. W programach do grafiki mamy to jako „Brightness”, „Exposure” czy „Levels”. Jeśli na filmie widać, że jeden obraz przechodzi płynnie w inny, to nie jest korekta jasności, tylko przejście między dwiema warstwami. Podobnie z ostrością – zwiększenie ostrości polega na podbiciu kontrastu na krawędziach, żeby szczegóły wyglądały wyraźniej. W praktyce używa się filtrów typu Unsharp Mask, Smart Sharpen albo algorytmów wyostrzania w czasie rzeczywistym. Obraz przed i po wyostrzeniu to ciągle ta sama klatka, tylko z innym przetworzeniem detali, nie ma efektu zanikania jednego zdjęcia i pojawiania się drugiego. Zmniejszenie kontrastu to kolejna korekta globalna, która spłaszcza różnice między jasnymi a ciemnymi partiami obrazu. Zdjęcie robi się bardziej „szare”, mniej dynamiczne. Znowu – cały czas pracujemy na jednym ujęciu, bez miksowania dwóch fotografii. Typowym błędem myślowym przy takich pytaniach jest to, że skoro coś się „zmienia w czasie”, to musi chodzić o jakąś regulację parametrów typu jasność czy kontrast. Tymczasem w efektach multimedialnych bardzo często operujemy na wielu warstwach – dwa obrazy, dwie klatki wideo – i animujemy ich wzajemną przezroczystość. Właśnie to jest esencją przenikania zdjęć i odróżnia je od zwykłych korekt obrazu.

Pytanie 29

Aby zapewnić integralność danych w bazie programu Microsoft Access, należy zastosować

A. więzy integralności
B. defragmentację bazy
C. kwerendę aktualizującą
D. archiwizację bazy
Kwerendy aktualizujące są narzędziem, które służą do modyfikacji istniejących danych w bazie, ale nie są one odpowiednie do zapewnienia spójności danych. Ich podstawowym celem jest wprowadzanie zmian, takich jak aktualizacja wartości w tabelach, co może prowadzić do niezamierzonych błędów, jeśli nie są stosowane ostrożnie i z pełną świadomością istniejących więzów integralności. Defragmentacja bazy to proces optymalizacji, który ma na celu poprawę wydajności dostępu do danych przez reorganizację zapisanych danych na dysku, ale nie wpływa na spójność samych danych. Chociaż defragmentacja jest istotna z perspektywy wydajności, nie ma bezpośredniego wpływu na to, czy dane są poprawne czy spójne. Archiwizacja bazy odnosi się do procesu przenoszenia danych do archiwum, co ma na celu zwolnienie miejsca w głównej bazie danych, ale także nie ma nic wspólnego z zapewnieniem integralności danych. Archiwizacja, choć pomocna w zarządzaniu dużymi zbiorami danych, nie eliminuje ryzyka wystąpienia błędów w danych, które mogą pozostać w aktywnej bazie. Wszystkie te podejścia mają swoje zastosowanie, ale nie są metodami zapewniającymi spójność danych na poziomie strukturalnym, jak to robią więzy integralności.

Pytanie 30

Aby strona internetowa skutecznie dopasowywała się do urządzeń mobilnych, należy ustalić rozmiar czcionki

A. tylko znacznikami big i small
B. w milimetrach
C. w pikselach
D. w procentach
Wybór w procentach jako jednostki wielkości czcionki jest właściwy, ponieważ umożliwia elastyczne dostosowanie tekstu do różnych ekranów i rozdzielczości. Użycie procentów pozwala na skalowanie w oparciu o domyślną wielkość czcionki ustawioną w przeglądarce, co jest kluczowe dla responsywności witryny. Przykładowo, jeśli domyślna wielkość czcionki wynosi 16px, to ustawienie czcionki na 150% sprawi, że będzie miała 24px, co jest szczególnie przydatne na urządzeniach mobilnych, gdzie przestrzeń jest ograniczona, a czytelność ma kluczowe znaczenie. Dodatkowo, zastosowanie procentów jest zgodne z zasadami projektowania responsywnego, które skupiają się na dostosowywaniu elementów interfejsu użytkownika do różnych urządzeń. Warto również zauważyć, że techniki takie jak media queries w CSS mogą współpracować z procentami, co pozwala na jeszcze lepsze dopasowanie wielkości czcionki do konkretnej szerokości ekranu. Pamiętajmy, że stosowanie elastycznych jednostek, takich jak procenty, jest jedną z najlepszych praktyk w tworzeniu dostępnych i przyjaznych użytkownikowi interfejsów.

Pytanie 31

Formularz przesyła informacje do pliku skrypt.php po naciśnięciu przycisku oznaczonego jako "WYŚLIJ". Wskaż właściwą definicję formularza.

Ilustracja do pytania
A. Skrypt 2
B. Skrypt 4
C. Skrypt 1
D. Skrypt 3
Analizując błędne definicje formularza warto zrozumieć dlaczego nie są one poprawne. W przypadku formularza HTML kluczowe jest określenie dwóch atrybutów: action oraz method. Atrybut action wskazuje na skrypt do którego dane powinny być przesłane natomiast method definiuje sposób przesłania danych zwykle POST lub GET. W skrypcie 1 brakuje zarówno atrybutu action jak i poprawnego typu przycisku co uniemożliwia przesłanie danych. Skrypt 2 używa atrybutu method zamiast action co jest niepoprawne ponieważ method powinien określać sposób przesyłania danych a nie docelowy skrypt. Ponadto używa typu reset który jedynie resetuje formularz i nie wysyła danych. Skrypt 3 choć poprawnie używa atrybutu action nie definiuje typu input jako submit co jest konieczne aby przycisk działał jako wyzwalacz przesyłania. Typowe błędy to mylenie atrybutów lub niewłaściwe definiowanie typu przycisku. Aby uniknąć takich problemów konieczne jest solidne zrozumienie jak HTML zarządza formularzami oraz praktyczne zastosowanie tej wiedzy w projektach internetowych."

Pytanie 32

W JavaScript zapis a++; można przedstawić w inny sposób jako

A. a = a & 1
B. a = a + 1
C. a << 1
D. 1 += a
Odpowiedź 'a = a + 1;' jest poprawna, ponieważ dokładnie odzwierciedla działanie operatora inkrementacji 'a++;'. Operator '++' w JavaScript zwiększa wartość zmiennej o 1. W przypadku użycia 'a = a + 1;', operacja ta jest explicite zapisana jako przypisanie aktualnej wartości 'a' powiększonej o 1. Taki zapis jest często stosowany w sytuacjach, gdy chcemy lepiej zrozumieć, co się dzieje w kodzie, szczególnie dla początkujących programistów. Przykładowo, jeśli mamy zmienną, która przechowuje liczbę, możemy użyć 'a = a + 1;' w pętli, aby zliczać ilość iteracji. Warto zauważyć, że użycie operatora '++' jest bardziej zwięzłe i często preferowane w profesjonalnym kodzie, jednak zrozumienie, jak działa to na poziomie podstawowym, jest kluczowe. Dobrą praktyką jest dbałość o przejrzystość kodu, zwłaszcza w zespołach, gdzie różne osoby mogą pracować nad tym samym projektem.

Pytanie 33

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

GRANT SELECT, INSERT, UPDATE, DELETE
ON klienci TO adam@localhost
A. do manipulowania danymi bazy danych klienci
B. do zarządzania strukturą bazy danych klienci
C. do zarządzania strukturą tabeli klienci
D. do manipulowania danymi w tabeli 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 34

W przedstawionym kodzie PHP w miejscu kropek powinno zostać umieszczone polecenie

$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");
$ile = mysqli_num_rows($zapytanie);
for ($i = 0; $i < $ile; $i++)
{
  $wiersz = ……………………………….;
  echo "$wiersz[0] $wiersz[1]";
}
A. mysqli_query($zapytanie);
B. mysqli_free_result($zapytanie);
C. mysqli_num_fields($zapytanie);
D. mysqli_fetch_row($zapytanie);
W analizowanym kodzie PHP, nieprawidłowe opcje wskazują na brak zrozumienia mechanizmu działania zestawów wyników w kontekście interakcji z bazą danych. Użycie mysqli_free_result($zapytanie) nie jest właściwe w tym miejscu, ponieważ ta funkcja służy do zwolnienia pamięci zajmowanej przez zestaw wyników. Powinna być wywoływana po zakończeniu wszystkich operacji na pobranych danych, a nie podczas ich odczytu. Jeśli chodzi o mysqli_num_fields($zapytanie), jest to funkcja, która zwraca liczbę kolumn w zestawie wyników, ale nie dostarcza danych wierszy, co czyni ją nieprzydatną w kontekście iteracji przez wyniki. Z kolei mysqli_query($zapytanie) jest błędne, ponieważ ta funkcja służy do wykonywania zapytań, a nie do pobierania ich wyników. W odpowiedzi na to, kluczowym błędem myślowym jest pomylenie funkcji służących do wykonywania zapytań z tymi, które służą do odczytu danych. Właściwe zrozumienie różnic między tymi funkcjami jest niezbędne do efektywnego zarządzania bazami danych w PHP. Zaleca się, aby programiści dokładnie zapoznali się z dokumentacją funkcji mysqli i ich zastosowaniami, aby unikać podobnych nieporozumień w przyszłości.

Pytanie 35

Podczas przygotowywania grafiki na stronę internetową konieczne jest wycięcie jedynie określonego fragmentu. Jak nazywa się ta operacja?

A. lustrzane odbicie obrazu.
B. łączenie warstw.
C. zmiana rozmiaru.
D. kadrowanie.
Skalowanie obrazu odnosi się do zmiany jego rozmiaru, co może prowadzić do utraty jakości, jeśli obraz jest powiększany bez zachowania odpowiednich proporcji. To działanie nie koncentruje się na wyborze konkretnego fragmentu obrazu, a na ogólnym dostosowaniu jego wymiarów do określonych potrzeb. Odbicie obrazu polega na lustrzanym odwzorowaniu zdjęcia, co zmienia jego perspektywę, ale nie wpływa na kompozycję w ramach oryginalnych krawędzi. Z kolei łączenie warstw to technika używana w programach graficznych do zestawiania różnych elementów wizualnych w jedną całość. Wymaga to umiejętności pracy z warstwami, ich maskowaniem i edytowaniem, co jest zupełnie innym procesem niż kadrowanie. Błędem myślowym jest utożsamianie tych operacji z kadrowaniem, co może wynikać z niepełnego zrozumienia pojęć związanych z obróbką grafiki. Kluczowe jest, aby w procesie tworzenia grafiki internetowej zrozumieć, że każda z tych operacji ma swoją specyfikę i zastosowanie, co wpływa na końcowy efekt wizualny. Użycie odpowiednich technik w odpowiednich sytuacjach jest niezbędne do osiągnięcia profesjonalnych rezultatów.

Pytanie 36

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

A. HTML5
B. XHTML1.0
C. HTML4
D. XHTML 2.0
HTML4 oraz XHTML 1.0 koncentrują się głównie na definiowaniu struktury dokumentów, ale nie oferują tak zaawansowanej semantyki jak HTML5. W HTML4 brak jest rozróżnienia dla elementów takich jak <header>, <footer> czy <nav>, co prowadzi do używania mniej semantycznych rozwiązań, takich jak <div>. Użycie znacznika <div> do wszelkich elementów strukturalnych może prowadzić do tzw. 'div soup', czyli zagmatwanej struktury kodu, w której trudno zrozumieć, jakie elementy pełnią jakie funkcje. XHTML 2.0, z kolei, nigdy nie zyskał na popularności, ponieważ nie został ukończony i nie przyjął się w praktyce. Jego koncepcje w dużej mierze opierały się na idei 'czystego' XML-a, co skutkowało brakiem wsparcia dla wielu istniejących rozwiązań. Tak więc, korzystanie z XHTML 1.0 lub HTML4 do budowy nowoczesnych stron internetowych może być ograniczające i niezgodne z aktualnymi standardami branżowymi. Współczesne podejście do tworzenia stron internetowych oraz najlepsze praktyki wskazują na potrzebę przyjęcia HTML5 z jego nowymi znacznikami, co sprzyja lepszej organizacji treści i poprawia doświadczenia użytkowników.

Pytanie 37

Jakie jest oznaczenie typu stało-znakowego w SQL?

A. bool
B. time
C. text
D. char
Typy text, time oraz bool są niepoprawne w kontekście pytania o stało-znakowy typ danych w SQL. Typ text jest używany do przechowywania łańcuchów o zmiennej długości i jest zaprojektowany do przechowywania większej ilości tekstu, niż typ char. Oznacza to, że text może zawierać znacznie więcej danych, w zależności od implementacji systemu zarządzania bazą danych, jednak nie jest on typem stało-znakowym, co wyklucza go z omawianego pytania. Typ time, z drugiej strony, jest używany do przechowywania danych czasowych, które obejmują godziny, minuty, sekundy oraz, w niektórych przypadkach, ułamki sekundy. Nie ma on żadnego związku z przechowywaniem łańcuchów znaków, a jego zastosowanie jest całkowicie odmienne, koncentrując się na operacjach związanych z czasem. Typ bool jest kolejnym przykładem nieodpowiedniego wyboru. Służy on do przechowywania wartości logicznych, które mogą przyjmować jedynie dwie opcje: prawda (true) lub fałsz (false). Ten typ danych jest używany w kontekście warunków oraz decyzji logicznych, a nie do przechowywania tekstu. Dlatego też, w kontekście pytania o typ stało-znakowy, żaden z wymienionych typów poza char nie jest odpowiedni.

Pytanie 38

Głównym celem systemu CMS jest oddzielenie treści serwisu informacyjnego od jego wizualnej formy. Ten efekt osiągany jest przez generowanie zawartości

A. z bazy danych oraz wizualizacji poprzez atrybuty HTML
B. z plików HTML o stałej zawartości oraz wizualizacji przy pomocy technologii FLASH
C. z bazy danych oraz wyglądu ze zdefiniowanego szablonu
D. z plików HTML o stałej zawartości oraz wizualizacji z użyciem ustalonego szablonu
Wybór odpowiedzi, która sugeruje wykorzystanie ze statycznych plików HTML, jest w istocie niezgodny z ideą systemów CMS. stosowanie statycznych plików HTML oznacza, że każda zmiana treści serwisu wymagałaby ręcznej edycji plików, co jest czasochłonne i podatne na błędy. Takie podejście ogranicza elastyczność i możliwość szybkiej aktualizacji treści. Z kolei odpowiedzi wskazujące na wykorzystanie technologii FLASH są przestarzałe, ponieważ Flash nie jest już wspierany przez większość nowoczesnych przeglądarek i nie spełnia wymogów dostępności, co stawia pod znakiem zapytania jego użyteczność w kontekście nowoczesnych stron internetowych. Ponadto, odpowiedzi sugerujące wykorzystanie atrybutów HTML do definiowania wyglądu również są niewłaściwe, ponieważ atrybuty HTML nie są wystarczające do efektywnego kształtowania i zarządzania stylem aplikacji. W praktyce do definiowania wyglądu stosuje się arkusze stylów CSS, a nie tylko atrybuty. W konsekwencji, błędne koncepcje opierające się na statycznych plikach czy przestarzałych technologiach prowadzą do sytuacji, w której serwis staje się trudny w utrzymaniu i mało elastyczny, co jest sprzeczne z głównymi zaletami systemów zarządzania treścią.

Pytanie 39

Znaczniki HTML <strong> oraz <em> używane do wyróżniania istotności tekstu, pod względem formatowania odpowiadają znacznikom

A. ```<i>``` oraz ```<mark>```
B. ```<b>``` oraz ```<u>```
C. ```<b>``` oraz ```<i>```
D. ```<u>``` oraz ```<sup>```
Wybór znacznika <i> oraz <mark> jako odpowiedzi na pytanie o semantyczne odpowiedniki <strong> oraz <em> można uznać za niepoprawny, ponieważ znaczniki te pełnią inne funkcje. Znacznik <mark> służy do wyróżniania tekstu, co ma na celu zwrócenie uwagi na istotne informacje, ale nie odnosi się bezpośrednio do semantycznego akcentowania. Z kolei <i>, mimo że jest używany do kursywnego pisma, nie niesie ze sobą znaczenia semantycznego, które jest kluczowe dla HTML5. Oznaczenie tekstu jako kursywy nie wskazuje, że tekst jest ważniejszy, a użycie <u> do podkreślenia tekstu, które sugeruje tylko wizualne podkreślenie, również nie ma semantycznego znaczenia. Znacznik <b> jest bardziej zbliżony do <strong> pod względem wizualnym, ale nie posiada jego semantycznej wartości. Używanie <u> czy <sup> do oznaczania ważności tekstu jest również błędne, ponieważ <sup> wskazuje na tekst w indeksie górnym, co nie ma związku z akcentowaniem. Typowe błędy myślowe w tym kontekście mogą wynikać z mylenia aspektów wizualnych z semantycznymi w HTML. Dlatego kluczowe jest, aby przy projektowaniu stron używać znaczników zgodnych z ich przeznaczeniem, co nie tylko poprawi strukturalność dokumentu, ale także przyczyni się do lepszego doświadczenia użytkownika oraz dostępności treści.

Pytanie 40

W tabeli zwierzeta znajdują się pola: nazwa, gatunek, gromada, cechy oraz dlugosc_zycia. Aby uzyskać listę nazw zwierząt, które dożywają przynajmniej 20 lat i są ssakami, należy wykonać zapytanie:

A. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 AND gromada = 'ssak';
B. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20;
C. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 OR gromada = 'ssak';
D. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
W przypadku pierwszej odpowiedzi, zapytanie nie sprawdza, czy zwierzęta są ssakami, co jest bardzo ważne. W efekcie zwraca wszystkie zwierzęta, które żyją co najmniej 20 lat, a nie tylko ssaki. Takie coś może doprowadzić do błędnych wniosków, bo wyniki będą obejmować też inne grupy zwierząt, co nie odpowiada wymaganiom pytania. W drugiej odpowiedzi brakuje kluczowego warunku dotyczącego długości życia, bo ta odpowiedź zwraca tylko ssaki. To uniemożliwia spełnienie obu wymagań jednocześnie. Trzecia odpowiedź nie bierze pod uwagę długości życia i skupia się tylko na ssakach, co znowu nie jest zgodne z pytaniem. Ostatnia odpowiedź źle używa operatora OR, przez co zwróci wszystkie zwierzęta, które spełniają przynajmniej jeden warunek, a nie oba. Taki logiczny błąd może sprawić, że wyniki będą zawierały zwierzęta, które w ogóle nie spełniają żadnego z warunków, co czyni zapytanie nieskutecznym. Często takie pomyłki wynikają z braku zrozumienia, jak działają operatorzy logiczni i pomijania kontekstu pytania.