Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 28 kwietnia 2026 16:51
  • Data zakończenia: 28 kwietnia 2026 17:01

Egzamin niezdany

Wynik: 10/40 punktów (25,0%)

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

W języku PHP, aby nawiązać połączenie z bazą danych MySQL za pomocą biblioteki mysqli, wykorzystując podany kod, w miejscu parametru 'c' powinno się wpisać

$a = new mysqli('b', 'c', 'd', 'e')
A. lokalizację serwera bazy danych
B. nazwę bazy danych
C. nazwę użytkownika
D. hasło użytkownika
Aby poprawnie korzystać z biblioteki mysqli w PHP konieczne jest zrozumienie kolejności i znaczenia parametrów używanych do nawiązywania połączenia z bazą danych MySQL. Pierwszym parametrem w funkcji mysqli_connect lub konstruktorze klasy mysqli jest lokalizacja serwera bazy danych. Zazwyczaj wartością domyślną jest 'localhost' co oznacza że serwer bazy danych działa na tej samej maszynie co serwer PHP. Błędne przypisywanie innej wartości w tym miejscu może prowadzić do problemów z połączeniem jeśli serwer bazy danych jest w rzeczywistości lokalny. Drugim parametrem jest nazwa użytkownika która jest niezbędna do autoryzacji dostępu do bazy danych. Często stosowanym błędem jest użycie niewłaściwego użytkownika co może skutkować odmową dostępu do bazy. Trzecim jest hasło które powinno być silne i dobrze zabezpieczone aby zapobiec nieautoryzowanemu dostępowi. Błędne przypisanie tego parametru może skutkować podatnością na ataki. Czwartym parametrem jest nazwa bazy danych do której zamierzamy się połączyć. Błędne podanie tej wartości może powodować że operacje bazy danych będą wykonywane na niewłaściwej bazie co może mieć katastrofalne skutki dla danych. Zrozumienie i poprawne przypisanie tych wartości jest kluczowe w kontekście bezpieczeństwa i stabilności aplikacji webowych i często jest elementem dobrych praktyk w programowaniu PHP. Również zrozumienie tego w kontekście skalowalności i zarządzania środowiskami produkcyjnymi jest istotne aby uniknąć problemów związanych z konfiguracją na różnych etapach rozwoju aplikacji. Właściwe zarządzanie tymi parametrami często wiąże się z używaniem plików konfiguracyjnych co pozwala na łatwiejsze zarządzanie i większą elastyczność w kontekście różnych środowisk programistycznych i produkcyjnych. Poprawne zrozumienie tego mechanizmu jest kluczowe dla tworzenia bezpiecznych i stabilnych aplikacji webowych.

Pytanie 2

Jednoznacznym identyfikatorem rekordu w bazie danych jest pole

A. wyłącznie typu logicznego.
B. klucza głównego.
C. wyłącznie typu tekstowego.
D. klucza obcego.
W tym zagadnieniu łatwo pomylić różne typy pól i ich role w bazie danych, szczególnie gdy ktoś dopiero zaczyna przygodę z SQL i projektowaniem relacyjnych baz danych. Jednoznaczny identyfikator rekordu to takie pole, które pozwala bez żadnych wątpliwości wskazać dokładnie jeden wiersz w tabeli. W standardzie relacyjnych baz danych tę rolę pełni klucz główny, oznaczany jako PRIMARY KEY. Klucz obcy jest często mylony z kluczem głównym, bo też dotyczy identyfikatorów, ale jego zadanie jest inne. Foreign key służy do tworzenia powiązań między tabelami – przechowuje wartości klucza głównego z innej tabeli. Sam w sobie nie musi być unikalny, wręcz przeciwnie, w relacji 1:N zwykle powtarza się wiele razy. Dlatego nie może być uznany za jednoznaczny identyfikator rekordu w swojej tabeli. Gdybyśmy próbowali identyfikować rekordy po kluczu obcym, szybko okazałoby się, że wiele wierszy ma tę samą wartość i nie da się wskazać jednego, konkretnego. Kolejny typ błędnego rozumowania to przekonanie, że o byciu identyfikatorem decyduje typ danych, np. logiczny albo tekstowy. Typ logiczny (BOOLEAN, TINYINT(1) itp.) ma zwykle tylko dwie możliwe wartości: true/false, 0/1. Nietrudno zauważyć, że w dowolnej realnej tabeli więcej niż dwa rekordy nie będzie mogło mieć unikalnej wartości takiego pola, więc nie da się w ten sposób jednoznacznie identyfikować wierszy. Typ tekstowy też sam w sobie niczego nie gwarantuje. Można mieć kolumnę VARCHAR z e-mailem użytkownika, ale jeśli nie nałożymy ograniczenia unikalności i nie oznaczymy jej jako klucz główny, baza danych nie będzie pilnowała, by wartości się nie powtarzały. Częsty błąd myślowy polega na tym, że skoro w praktyce „zazwyczaj” coś jest unikalne (np. PESEL, e-mail), to ktoś zakłada, że to automatycznie jest klucz główny. Tymczasem dopiero formalne zadeklarowanie PRIMARY KEY (ewentualnie UNIQUE + NOT NULL, ale to już bardziej obejście) nadaje kolumnie rolę jednoznacznego identyfikatora w sensie technicznym. Dlatego nie typ danych, nie to czy pole wygląda na ważne, tylko jego definicja jako klucza głównego w strukturze tabeli decyduje o tym, że identyfikuje rekord jednoznacznie.

Pytanie 3

Jakiego typu w języku PHP można użyć do przechowywania wielu wartości z opcją ich indeksowania?

A. double
B. float
C. array
D. boolean
Typy float, double i boolean nie pasują do pytania o to, jak w PHP przechowywać wiele wartości z możliwością ich indeksowania. Float w PHP to liczby zmiennoprzecinkowe, dobre dla wartości z miejscami dziesiętnymi, ale nie nadają się do przechowywania wielu wartości w uporządkowany sposób. Z kolei double to termin używany w innych językach dla liczb zmiennoprzecinkowych o podwójnej precyzji, ale w PHP jest to po prostu float. Tak więc double nie wnosi nic nowego w porównaniu do float. Jeśli chodzi o boolean, to on tylko reprezentuje dwa stany: prawda (true) i fałsz (false). Oczywiście, boolean jest ważny w logice programowania, ale nie pozwala na przechowywanie wielu wartości. Dlatego ani float, ani double, ani boolean nie są odpowiednie, gdy mówimy o przechowywaniu i indeksowaniu wielu wartości w PHP.

Pytanie 4

W relacyjnych bazach danych, gdy dwie tabele są ze sobą powiązane przez ich klucze główne, mamy do czynienia z relacją

A. n .. n
B. 1 .. n
C. n .. 1
D. 1 .. 1
Relacje 1 .. n, n .. 1 oraz n .. n wskazują na bardziej złożone powiązania między tabelami w relacyjnych bazach danych, które nie są adekwatne w kontekście kluczy głównych. W przypadku relacji 1 .. n, jeden rekord w tabeli A może mieć wiele odpowiadających mu rekordów w tabeli B, co prowadzi do sytuacji, w której dane są powielane w tabeli B. Typowym błędem jest mylenie sytuacji, w której każdy rekord w tabeli A jest powiązany z wieloma rekordami w tabeli B, co prowadzi do wniosku o relacji 1 .. n. Z kolei relacja n .. 1 oznacza, że wiele rekordów w tabeli A odpowiada jednemu rekordowi w tabeli B, co również nie jest zgodne z definicją relacji 1 .. 1. Co więcej, relacja n .. n sugeruje, że wiele rekordów w tabeli A może być powiązanych z wieloma rekordami w tabeli B, co prowadzi do dużej złożoności i trudności w utrzymaniu integralności danych w bazie. Zrozumienie tych konceptów jest kluczowe dla modelowania danych, dlatego ważne jest, aby unikać nadmiernego uproszczenia lub generalizacji relacji, co często prowadzi do błędnych wniosków w projektowaniu bazy danych.

Pytanie 5

Podczas tworzenia tabeli w SQL, dla jednej z kolumn ustalono klucz główny. Jakie atrybuty należy zastosować, aby uniemożliwić wprowadzenie wartości pustej?

A. NULL
B. UNIQUE
C. NOT NULL
D. DEFAULT
Atrybut NOT NULL jest kluczowym elementem w definiowaniu struktury tabeli w języku SQL, który zabezpiecza kolumnę przed wstawianiem wartości pustych (NULL). W kontekście klucza głównego, który ma zapewnić unikalność i identyfikowalność każdego rekordu w tabeli, użycie NOT NULL jest niezbędne, aby zagwarantować, że każda wartość w tej kolumnie jest zawsze obecna. Dla przykładu, w stworzonej tabeli `Pracownicy`, jeśli kolumna `ID_Pracownika` jest kluczem głównym, atrybut NOT NULL wymusi, że każde wstawienie rekordu będzie wymagało podania unikalnej wartości dla `ID_Pracownika`, co uniemożliwia dodanie rekordu bez tej wartości. Standard SQL definiuje NOT NULL jako jeden z podstawowych atrybutów, które mogą być używane w deklaracji kolumn, a jego stosowanie jest kluczowe dla integracji danych oraz zapewnienia spójności bazy danych. W praktyce, w przypadku prób dodania rekordu z pustą wartością w takiej kolumnie, system generuje błąd, co eliminuje ryzyko powstawania niekompletnych danych.

Pytanie 6

W programie do grafiki wektorowej stworzono zaprezentowany kształt, który został uzyskany z dwóch figur: trójkąta oraz koła. Aby utworzyć ten kształt, po narysowaniu figur i ich odpowiednim umiejscowieniu, należy zastosować funkcję

Ilustracja do pytania
A. wykluczenia
B. sumy
C. różnicy
D. rozdzielenia
Funkcja sumy w edytorach grafiki wektorowej, takich jak Adobe Illustrator czy CorelDRAW, pozwala na łączenie kilku figur wektorowych w jedną całość. W tym przypadku użycie funkcji sumy jest odpowiednie, ponieważ łączy trójkąt i koło w jeden spójny kształt. Ten proces jest powszechnie określany jako operacja boolean i jest kluczowy w projektowaniu wektorowym, gdzie wymagana jest precyzyjna kontrola nad kształtami. Użycie sumy jest standardem w branży, gdy celem jest połączenie kształtów bez utraty ich integralności, co jest często stosowane w projektowaniu logo czy ikon. Operacja ta zapewnia płynne przejścia między figurami, co jest niezbędne w profesjonalnych projektach graficznych. Dodatkowo, sumowanie kształtów pozwala na optymalizację projektu pod kątem druku i wyświetlania, ponieważ zmniejsza liczbę niezależnych obiektów wektorowych, co jest praktyką zalecaną dla wydajnej pracy z dużymi plikami. Zrozumienie i umiejętność stosowania funkcji sumy to fundamentalna umiejętność dla każdego grafika pracującego z grafiką wektorową.

Pytanie 7

Grafika, która ma być umieszczona na stronie, powinna mieć przezroczyste tło. Jakim formatem graficznym powinien być zapisany taki plik?

A. JPEG
B. BMP
C. PNG
D. CDR
Format PNG (Portable Network Graphics) jest szczególnie ceniony w kontekście grafiki internetowej, ponieważ obsługuje przezroczystość, co czyni go idealnym wyborem dla obrazów, które wymagają tła transparentnego. Przezroczystość w formacie PNG jest realizowana poprzez zastosowanie kanału alfa, co pozwala na uzyskanie różnorodnych efektów wizualnych, takich jak cienie, gradienty czy delikatne przejścia między kolorami. Przykłady zastosowania to ikony, logo, grafiki na stronach internetowych, które muszą harmonizować z różnymi kolorami tła. W przeciwieństwie do formatów takich jak JPEG, który nie obsługuje przezroczystości i używa kompresji stratnej, PNG oferuje kompresję bezstratną, co oznacza, że jakość obrazu nie ulega pogorszeniu po zapisaniu. W kontekście praktyk webowych, użycie PNG jest zgodne z zaleceniami dotyczącymi optymalizacji obrazów w sieci, co przyczynia się do szybszego ładowania stron i lepszej jakości wizualnej.

Pytanie 8

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

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

Pytanie 9

Który z elementów w sekcji head dokumentu HTML 5 jest obowiązkowy według walidatora HTML, a jego niedobór skutkuje błędem (error)?

A. title
B. link
C. meta
D. style
Znak „title” jest fundamentalnym elementem sekcji head dokumentu HTML, który ma kluczowe znaczenie dla jego poprawnego działania oraz dla doświadczeń użytkowników. Jego obecność jest niezbędna, ponieważ zapewnia tytuł strony, który jest wyświetlany na pasku tytułowym przeglądarki oraz w wynikach wyszukiwania. Tytuł powinien być krótki, ale jednocześnie informacyjny, co pozwala na łatwe zidentyfikowanie zawartości strony. Przykładowo, w przypadku bloga dotyczącego zdrowia, tytuł mógłby brzmieć „Porady zdrowotne – Jak dbać o zdrowie”. Ponadto, zgodnie z wytycznymi W3C, brak tego znacznika jest traktowany jako błąd, co oznacza, że strona nie będzie spełniać standardów HTML5. W praktyce, obecność tytułu wpływa również na SEO (optymalizację pod kątem wyszukiwarek), ponieważ wyszukiwarki często wykorzystują ten element do zrozumienia tematyki strony oraz jej rankingu. Dlatego dobór odpowiednich słów do tytułu jest równie ważny.

Pytanie 10

W SQL, aby dodać kolumnę rozmiar typu znakowego o maksymalnej długości 20 znaków do tabeli Towar, należy wykonać następujące polecenie

A. ALTER TABLE Towar CREATE COLUMN rozmiar varchar(20)
B. ALTER TABLE Towar ALTER COLUMN rozmiar varchar(20)
C. ALTER TABLE Towar ADD rozmiar varchar(20)
D. ALTER TABLE Towar DROP COLUMN rozmiar varchar(20)
Osoby, które wybrały niepoprawne odpowiedzi, mogły zauważyć, że polecenie ALTER TABLE jest używane do modyfikacji struktury tabeli, jednak niektóre z podanych opcji są niewłaściwe w kontekście dodawania kolumny. Przykładowo, użycie DROP COLUMN jest błędne, ponieważ służy ono do usuwania kolumny z tabeli, a nie jej dodawania. Implementacja DROP COLUMN nie jest zgodna z intuicyjnym zrozumieniem modyfikacji tabeli, ponieważ wprowadza chaos w danych, a nie ich rozszerzenie. Kolejna niepoprawna odpowiedź sugeruje użycie ALTER COLUMN, co jest również mylące, ponieważ to polecenie jest przeznaczone do modyfikacji istniejącej kolumny, a nie do dodawania nowej. Modyfikacja kolumny wymaga zdefiniowania jej typu lub atrybutów, co nie jest zgodne z koncepcją dodawania nowego elementu do tabeli. Ostatnia odpowiedź, która sugeruje polecenie CREATE COLUMN, jest niewłaściwa, ponieważ polecenie CREATE nie jest częścią standardowej składni SQL w kontekście zmiany struktury istniejącej tabeli. CREATE jest używane do tworzenia nowych tabel, indeksów, lub innych obiektów w bazie danych, a nie do dodawania kolumn do już istniejących tabel. W związku z tym, wszystkie wymienione odpowiedzi są błędne, ponieważ nie stosują właściwej składni SQL ani nie odzwierciedlają poprawnych operacji na tabelach.

Pytanie 11

W SQL klauzula DISTINCT w poleceniu SELECT spowoduje, że otrzymane dane

A. nie będą zawierały powtórzeń
B. będą spełniały dany warunek
C. zostaną uporządkowane
D. będą zgrupowane według wskazanego pola
Niepoprawne odpowiedzi na to pytanie często wynikają z nieporozumienia dotyczącego podstawowych funkcji, jakimi dysponuje SQL. Klauzula DISTINCT ma jedynie na celu usunięcie duplikatów z wyników zapytania, co oznacza, że powinna być używana jedynie w kontekście potrzeby uzyskania unikalnych wartości. Odpowiedzi sugerujące, że DISTINCT grupuje dane, są mylące, ponieważ do grupowania danych służy klauzula GROUP BY, która nie tylko wydziela unikalne rekordy, ale także umożliwia ich agregację i analizę pod kątem określonych kryteriów. Twierdzenie, że DISTINCT sortuje dane, również jest błędne, ponieważ sortowanie osiąga się za pomocą klauzuli ORDER BY, która porządkuje wyniki według zadanych kryteriów. W przypadku stwierdzenia, że DISTINCT spełnia określony warunek, należy zrozumieć, że to nie jest jego funkcja; zamiast tego warunki w zapytaniach SQL wprowadza się za pomocą klauzuli WHERE. W praktyce, zrozumienie właściwego zastosowania DISTINCT jest kluczowe dla efektywnego korzystania z SQL, ponieważ niewłaściwe użycie może prowadzić do nieodpowiednich wyników i nieefektywności w zapytaniach. Dlatego ważne jest, aby pamiętać o różnicach między tymi klauzulami i umieć odpowiednio je stosować w kontekście zapytań, aby uzyskać pożądane rezultaty.

Pytanie 12

Co chce osiągnąć poniższe zapytanie MySQL?

ALTER TABLE ksiazki
MODIFY tytul VARCHAR(100) NOT NULL;
A. Dodać do tabeli ksiazki kolumnę tytul
B. Zmienić nazwę kolumny w tabeli ksiazki
C. Zmienić typ kolumny w tabeli ksiazki
D. Usunąć kolumnę tytul z tabeli ksiazki
Rozważając inne odpowiedzi, warto zrozumieć, dlaczego nie są poprawne. Dodanie kolumny do tabeli w SQL realizowane jest za pomocą polecenia ADD, co różni się od użytego tutaj MODIFY. Polecenie ADD jest używane, gdy chcemy wprowadzić nową kolumnę, której wcześniej w tabeli nie było. Z kolei usunięcie kolumny wymaga użycia DROP COLUMN, co także odbiega od przedstawionego polecenia. Polecenie DROP COLUMN jest bardziej destrukcyjne, ponieważ usuwa całą kolumnę i jej dane. Zmiana nazwy kolumny w SQL zazwyczaj wymaga użycia polecenia RENAME, które służy do zmiany nazewnictwa kolumn lub tabel. W zależności od systemu zarządzania bazą danych (DBMS), składnia może się różnić, ale w MySQL często używa się RENAME COLUMN. Błędne rozumienie tych poleceń często wynika z niewystarczającego zapoznania się z dokumentacją danego DBMS, co może prowadzić do zastosowania nieodpowiednich poleceń. Praktyka i znajomość standardów SQL pomagają uniknąć takich pomyłek, zapewniając poprawną i efektywną pracę z bazą danych.

Pytanie 13

Zapis CSS

margin: auto;
wskazuje, że marginesy są
A. obliczane przez przeglądarkę w taki sposób, aby element został wyśrodkowany poziomo
B. dziedziczone z elementu nadrzędnego dla danego obiektu
C. stałe dla konkretnej przeglądarki, niezależnie od rozmiaru jej okna
D. równe domyślnym wartościom marginesów elementu, do którego są przypisane
Wybór odpowiedzi, że marginesy są odziedziczone po elemencie rodzica, jest niepoprawny, ponieważ w CSS marginesy nie są dziedziczone tak jak inne właściwości, takie jak kolor tekstu czy czcionka. Marginesy są zazwyczaj stosowane jako zewnętrzna przestrzeń wokół elementów, a ich wartości są określane niezależnie od elementów rodzicielskich. Wartości marginesów są zdefiniowane dla danego elementu, a nie dziedziczone, co oznacza, że każde wystąpienie marginesu jest osobno specyficzne dla swojego elementu. Ponadto, stwierdzenie, że marginesy są stałe dla danej przeglądarki, niezależnie od rozmiaru jej okna, również jest błędne. CSS pozwala na elastyczne dopasowywanie marginesów i innych właściwości w zależności od układu strony i rozmiaru okna przeglądarki. Z kolei twierdzenie, że marginesy są równe domyślnym wartościom marginesów elementu, jest mylące, ponieważ domyślne wartości mogą różnić się w zależności od przeglądarki, a także są często nadpisywane przez style CSS. Typowym błędem myślowym jest zakładanie, że wszystkie właściwości CSS są dziedziczne, co prowadzi do nieporozumień w implementacji i projektowaniu układów stron. Warto zapoznać się z dokumentacją i standardami CSS, aby lepiej zrozumieć, jak działa model pudełkowy oraz właściwości marginesów.

Pytanie 14

W formularzu dane z pola input o typie number zostały przypisane do zmiennej a, a następnie przetwarzane w skrypcie JavaScript w następujący sposób:

var x = parseFloat(a);
Jaki typ będzie miała zmienna x?
A. zmiennoprzecinkowego
B. napisowego
C. liczbowego, całkowitego
D. NaN
Typowe błędy myślowe mogą prowadzić do mylnego rozumienia, że zmienna x mogłaby przyjąć postać NaN, czyli "Not-a-Number". NaN pojawia się, gdy operacje matematyczne są wykonywane na danych, które nie mogą być zinterpretowane jako liczby. Jednakże w kontekście użycia funkcji parseFloat(), jeśli a nie zawiera prawidłowej liczby, to wynikiem będzie NaN, ale nie oznacza to, że z definicji x zawsze będzie NaN. Istnieje również przekonanie, że parseFloat() może zwrócić typ napisowy. W rzeczywistości, funkcja ta zawsze stara się zwrócić typ liczbowy - w przypadku błędnych danych wynik będzie NaN, a nie typem string. Z kolei odpowiedź, że zmienna x będzie liczbą całkowitą jest myląca, ponieważ parseFloat() specjalizuje się w konwersji na liczby zmiennoprzecinkowe, a nie całkowite. W JavaScript, liczby całkowite także są traktowane jako liczby zmiennoprzecinkowe, co może wprowadzać w błąd. Aby zrozumieć, jak działa konwersja typów w JavaScript, warto zaznajomić się z zasadami typowania dynamicznego oraz metodami konwersji danych, takimi jak parseInt() dla liczb całkowitych. Przykłady poprawnych i niepoprawnych danych wejściowych mogą wyjaśnić, dlaczego zrozumienie typów danych i konwersji jest kluczowe w programowaniu.

Pytanie 15

Jakie działanie wykonuje poniższy fragment kodu w języku JavaScript? n = "Napis1"; s = n.length;

A. Przypisuje wartość zmiennej n do zmiennej s
B. Przypisuje do zmiennej s część napisu z zmiennej n, o długości określonej przez zmienną length
C. Przypisuje do zmiennej s wartość odpowiadającą długości napisu z zmiennej n
D. Zwraca długość napisu zawartego w zmiennej n
Odpowiedzi, które błędnie interpretują fragment kodu, wskazują na nieporozumienie dotyczące działania właściwości length oraz przypisania wartości w JavaScript. Przypisanie zmiennej n do zmiennej s nie jest możliwe w kontekście omawianego fragmentu, ponieważ zmienna s nie przyjmuje obiektu, a wyłącznie wartość długości napisu. Stwierdzenie, że skrypt wyświetli długość napisu, jest również nieprawidłowe, ponieważ w danym kodzie nie ma operacji wyświetlania - zmienne są jedynie przypisane. Kolejnym błędnym wnioskiem jest przypisanie fragmentu napisu do zmiennej s, co nie ma miejsca, ponieważ length zwraca tylko liczbę, a nie podłańcuch. Podstawowym błędem myślowym jest pomylenie przypisania wartości z operacjami wyświetlania i manipulacji łańcuchami. Warto zrozumieć, że JavaScript, jako język o dynamicznej typizacji, wymaga precyzyjnego rozumienia typów danych, a także właściwości i metod obiektów, co jest kluczowe dla efektywnego programowania. Niezrozumienie tych podstawowych konceptów może prowadzić do wielu błędów w kodzie, które są trudne do zdiagnozowania, a także mogą wpływać na wydajność i stabilność aplikacji.

Pytanie 16

Jaką cechę wyróżnia format PNG?

A. możliwość reprezentacji grafiki wektorowej
B. niedostępność kanału alfa
C. możliwość obsługi animacji
D. kompresję bezstratną
Odpowiedzi dotyczące obsługi animacji, braku obsługi kanału alfa oraz reprezentacji grafiki wektorowej są niepoprawne na poziomie technicznym. Format PNG nie wspiera animacji, co czyni go innym od formatów takich jak GIF, które pozwalają na tworzenie prostych animacji. PNG został zaprojektowany do przechowywania statycznych obrazów, co jest istotną różnicą w jego zastosowaniach w porównaniu do animowanych formatów graficznych. Ponadto, PNG obsługuje kanał alfa, co oznacza, że można tworzyć obrazy z przezroczystością, umożliwiając projektantom używanie tego formatu do tworzenia złożonych kompozycji wizualnych z różnymi poziomami przezroczystości. Na koniec, PNG nie jest formatem do reprezentacji grafiki wektorowej. Grafika wektorowa opiera się na matematycznych opisach kształtów, a typowymi formatami dla takich zastosowań są SVG lub AI. PNG natomiast jest formatem rastrowym, który składa się z pikseli, co ogranicza jego zastosowanie do ilustracji złożonych z bitmap, a nie z definicji wektorowych. Dlatego dla każdego z wymienionych punktów istnieją konkretne podstawy techniczne, które potwierdzają, dlaczego nie są one odpowiednie dla opisanego formatu.

Pytanie 17

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

A. <meta name = "description" content = "psy, koty, gryzonie">
B. <meta name = "keywords" content = "psy, koty, gryzonie">
C. <meta keywords = "psy, koty, gryzonie">
D. <meta name = "keywords" = "psy, koty, gryzonie">
Odpowiedzi, które nie spełniają standardów HTML, mogą prowadzić do nieporozumień i utraty efektywności w kontekście SEO. Przykładowo, zapis <meta name = "keywords" = "psy, koty, gryzonie"> jest niepoprawny z kilku powodów. Po pierwsze, atrybut 'name' i 'content' muszą być oddzielone spacją, a nie znakiem równości. Poprawna struktura wymaga, aby 'name' był atrybutem wskazującym na rodzaj metadanych, a 'content' dostarczał ich wartość. Kolejna odpowiedź, <meta name = "description" content = "psy, koty, gryzonie">, jest nieprawidłowa, ponieważ odnosi się do opisu strony, a nie słów kluczowych. Opis jest ważnym elementem, ale to nie on definiuje słowa kluczowe, które są stosowane do kategoryzacji treści. Z kolei zapis <meta keywords = "psy, koty, gryzonie"> pomija kluczowy atrybut 'name', co sprawia, że jest to niezgodne z zasadami HTML. Kluczową kwestią jest również to, że wiele wyszukiwarek, takich jak Google, zrezygnowało z brania pod uwagę metatagu 'keywords' w swoich algorytmach rankingowych, co sprawia, że jego stosowanie jest mniej efektywne. Użytkownicy powinni zrozumieć, że stosowanie poprawnych metatagów jest nie tylko kwestią formalną, ale również wpływa na sposób, w jaki ich strona jest postrzegana i indeksowana przez różne wyszukiwarki.

Pytanie 18

Jak można wyświetlić bieżącą datę oraz czas na stronie internetowej przy użyciu JavaScript?

A. echo Date()
B. document.write(Date())
C. innerHTML = Date()
D. echo Date() + Time()
Pierwsza z błędnych odpowiedzi, 'echo Date() + Time();', jest problematyczna, ponieważ 'echo' jest składnią stosowaną w języku PHP, a nie w JavaScript. W JavaScript nie ma funkcji 'echo', co prowadzi do niepoprawnej interpretacji instrukcji. Z kolei 'Date() + Time()' nie jest poprawną konstrukcją, ponieważ 'Time()' nie istnieje jako samodzielna funkcja, co oznacza, że ta odpowiedź nie tylko nie działa, ale również pokazuje mylne zrozumienie tematów związanych z datą i czasem w JavaScript. Kolejna odpowiedź, 'echo Date();', również jest błędna z tych samych powodów - użycie 'echo' w kontekście JavaScript jest niewłaściwe. Zamiast tego, JavaScript dysponuje funkcjami, które można wykorzystać do uzyskania daty i czasu, jak 'new Date()'. Odpowiedź 'innerHTML = Date();' jest niepoprawna, ponieważ nie określa, do którego elementu DOM odnosi się 'innerHTML'. Aby poprawnie wyświetlić datę, należy podać odpowiedni element, na przykład: 'document.getElementById('elementId').innerHTML = Date();'. To podejście jest bardziej zgodne z aktualnymi standardami i praktykami w zakresie manipulacji treścią HTML przy pomocy JavaScript.

Pytanie 19

Model fizyczny replikacji bazy danych pokazany na ilustracji to model

Ilustracja do pytania
A. centralnego wydawcy
B. centralnego subskrybenta
C. rozproszony
D. równorzędny
Model centralnego wydawcy jest kluczowym elementem w systemach replikacji baz danych gdzie jeden serwer pełni rolę wydawcy dystrybutora danych do wielu subskrybentów Ta architektura pozwala na efektywne zarządzanie danymi poprzez centralne sterowanie zmianami i ich dystrybucję do podłączonych serwerów subskrybentów W praktyce takie podejście jest używane w dużych organizacjach gdzie konieczne jest zapewnienie aktualności i spójności danych w różnych lokalizacjach Przykładowo w firmach z wieloma oddziałami centralny serwer może dystrybuować dane transakcyjne do lokalnych serwerów zapewniając wszystkim oddziałom bezpośredni dostęp do aktualnych informacji Dzięki temu możliwe jest przeprowadzenie analizy danych w czasie rzeczywistym oraz synchronizacja danych co jest kluczowe w przypadku systemów ERP i CRM Stosowanie modelu centralnego wydawcy zgodnie z dobrymi praktykami umożliwia także łatwe skalowanie systemu oraz zarządzanie bezpieczeństwem danych poprzez centralne punkty kontrolne Taka architektura minimalizuje ryzyko konfliktów danych i zapewnia integralność danych co jest zgodne ze standardami branżowymi

Pytanie 20

Emblemat systemu CMS o nazwie Joomla! to

Ilustracja do pytania
A. Rys. D
B. Rys. A
C. Rys. B
D. Rys. C
Logo przedstawione na Rys. A nie jest związane z Joomla!, ale z systemem Drupal. Drupal, podobnie jak Joomla!, jest systemem zarządzania treścią, ale różnią się one filozofią i strukturą. Drupal często wybierany jest do bardziej złożonych projektów, które wymagają dużej elastyczności i skalowalności, jednak jego administracja może być bardziej skomplikowana w porównaniu do Joomla!. Rys. C przedstawia logo mniej znanego systemu CMS o nazwie Mambo, który był pierwowzorem Joomla!, ale obecnie jest rzadko używany z powodu społeczności, która przeniosła się do Joomla!. Z kolei Rys. D to logo WordPressa, najpopularniejszego CMS na świecie, znanego z prostoty użycia i ogromnej liczby dostępnych wtyczek oraz motywów, co czyni go idealnym wyborem dla blogów i stron komercyjnych. Łatwość, z jaką można zmieniać wygląd i funkcjonalności WordPressa, przyciąga użytkowników, którzy preferują szybkie wdrożenie i łatwość obsługi. Rozpoznanie, które logo reprezentuje dany CMS, jest ważne dla specjalistów IT, ponieważ pozwala na szybki wybór odpowiedniej platformy do określonych potrzeb projektowych oraz unikanie potencjalnych błędów związanych z wyborem nieodpowiedniego narzędzia do realizacji zamierzonych celów. Zrozumienie tych różnic jest kluczowe dla efektywnego zarządzania projektami webowymi i dostosowania technologii do specyfiki zadania oraz wymagań klienta. Wybór odpowiedniego systemu CMS powinien być oparty na analizie potrzeb projektu oraz kompetencjach zespołu, co pozwala na optymalizację workflow i osiągnięcie zamierzonych celów biznesowych w sposób efektywny i zrównoważony.

Pytanie 21

Który z poniższych kodów XHTML sformatuje tekst zgodnie z podanym przykładem?

Ala ma kota
a kot ma Alę

A. <p>Ala ma <b>kota</b> <br/> a <i>kot</i> ma Alę</p>
B. <p>Ala ma <b>kota</i><br/> a <b>kot</b> ma Alę</p>
C. <p>Ala ma <b>kota</b> <br/> a <b>kot</b> ma Alę</p>
D. <p>Ala ma <b>kota <br /> a <i>kot</i> ma Alę</p>
W przypadku pozostałych odpowiedzi można zauważyć kilka kluczowych błędów w sformatowaniu kodu. W pierwszej z nich użyty znacznik <br /> jest poprawny, jednak wada polega na tym, że znacznik <i> jest zamknięty w nieodpowiedni sposób, co narusza zasady XHTML. W XHTML każdy otwierający znacznik musi być zamknięty, a niepoprawne zamknięcie może prowadzić do błędów w renderowaniu strony. Prawidłowe jest zamknięcie znacznika <i> jako </i>, a nie <b>. Kolejna odpowiedź zawiera również błąd w zamykaniu znaczników, a użycie <b> dla <i> kot </i> wprowadza niezgodność, co utrudnia interpretację kodu przez przeglądarki. Warto zwrócić uwagę, że kluczowym elementem pracy z XHTML jest stałe utrzymywanie porządku w kodzie, aby zapewnić jego czytelność i poprawność. Niepoprawne sformatowanie może prowadzić do nieprzewidzianych rezultatów i utrudnień w szczególności w większych projektach, gdzie każdy błąd może być skumulowany. Wreszcie, w ostatniej odpowiedzi pominięto zamknięcie znacznika <br>, co również jest istotnym błędem. Standardy XHTML przewidują, że wszystkie znaczniki muszą być poprawnie zamknięte, co zapewnia ich prawidłową interpretację przez serwery oraz przeglądarki internetowe. Dlatego tak ważne jest przestrzeganie zasad i dobrych praktyk kodowania, aby unikać problemów z renderingiem oraz zgodnością z różnymi przeglądarkami.

Pytanie 22

W efekcie wykonania przedstawionego w ramce kodu JavaScript, zmienna x jest równa

Ilustracja do pytania
A. 10 i zostanie wypisana w głównym oknie przeglądarki internetowej.
B. 11 i zostanie wypisana w oknie popup.
C. 11 i zostanie wypisana w konsoli przeglądarki internetowej.
D. 10 i zostanie wypisana w dokumencie HTML.
W tym zadaniu łatwo się pomylić, bo miesza się tutaj kilka różnych sposobów wyprowadzania informacji w JavaScript i jednocześnie trzeba poprawnie zinterpretować działanie operatora inkrementacji. Kod wygląda niewinnie, ale kryje w sobie typowe pułapki: `var x = 10; x++; console.log(x);`. Kluczowe są dwa elementy: co robi `x++` oraz gdzie faktycznie pojawia się wynik działania programu. Zaczynając od wartości zmiennej: zapis `var x = 10;` nadaje zmiennej `x` wartość początkową 10. Potem pojawia się operator `x++`, czyli inkrementacja postfiksowa. W JavaScript (podobnie jak w wielu językach z rodziny C) `++` zwiększa wartość zmiennej o 1. Po wykonaniu tej instrukcji wewnętrzny stan programu się zmienia: `x` nie ma już wartości 10, tylko 11. Błędne odpowiedzi zakładają, że `x` pozostaje równe 10, co wynika zazwyczaj z nieuwagi albo z mylenia operatora przypisania `=` z porównaniem, albo z całkowitego pominięcia działania `x++`. Druga część problemu to miejsce wyświetlenia wyniku. Wiele osób odruchowo kojarzy JavaScript z `alert()` i oknami popup, albo z wypisywaniem czegoś bezpośrednio w HTML-u przez `document.write()`. Tymczasem w kodzie użyte jest `console.log(x);`. Ta funkcja nie pokazuje wyniku ani w oknie popup, ani w treści dokumentu, ani w głównym oknie przeglądarki. Zgodnie z praktyką programistyczną i dokumentacją przeglądarek, `console.log()` służy do logowania informacji w konsoli deweloperskiej (narzędziach programistycznych). To jest typowy mechanizm debugowania, niewidoczny dla zwykłego użytkownika strony. Mylenie `console.log()` z wyświetlaniem na stronie wynika często z tego, że ktoś patrzy tylko na efekt w trakcie nauki i nie rozróżnia warstwy interfejsu użytkownika od warstwy debugowania. W prawidłowym rozumieniu: wartość zmiennej zmienia się z 10 na 11 dzięki `x++`, a wynik jest kierowany do konsoli, a nie do HTML ani do popupu. Dlatego wszystkie odpowiedzi, które mówią o wartości 10 lub o innym miejscu wyświetlania niż konsola przeglądarki, są po prostu niezgodne z faktycznym działaniem tego fragmentu kodu.

Pytanie 23

Kiedy należy wykorzystać kwerendę SELECT DISTINCT, aby wyodrębnić rekordy?

A. posortowane malejąco lub rosnąco.
B. pogrupowane.
C. występujące w bazie tylko raz.
D. tak, aby w podanej kolumnie nie powtarzały się wartości.
Kwerenda SELECT DISTINCT jest używana do zwracania unikalnych wartości w określonej kolumnie z tabeli w bazie danych. Gdy mamy do czynienia z dużymi zbiorami danych, często zdarza się, że te same wartości pojawiają się wielokrotnie. W takich sytuacjach, aby uzyskać tylko jedną wystąpienie każdej wartości, stosujemy klauzulę DISTINCT. Na przykład, jeśli chcemy uzyskać listę unikalnych miast z tabeli klientów, używamy zapytania: SELECT DISTINCT city FROM customers. To zwraca wszystkie różne wartości miast, które znajdują się w tej tabeli. Użycie DISTINCT może również pomóc w optymalizacji wyników serwisu, redukując ilość danych, które muszą być przetwarzane w dalszych analizach. W praktyce, stosowanie DISTINCT w kontekście tworzenia raportów lub analizy danych jest kluczowe, gdyż pozwala na skupienie się na istotnych informacjach bez zbędnych duplikatów, co jest zgodne z dobrymi praktykami w zarządzaniu danymi.

Pytanie 24

Która z poniższych funkcji w języku PHP zmieni słowo „kota” na „mysz” w zdaniu „ala ma kota”?

A. replace("ala ma kota", "kota", "mysz");
B. str_replace( "kota", "mysz", "ala ma kota");
C. replace("kota", "mysz", "ala ma kota");
D. str_replace("ala ma kota", "kota", "mysz");
Wszystkie inne odpowiedzi wykazują nieporozumienia w zakresie używania funkcji zamiany tekstu w PHP. Na przykład, pierwszy wariant używa funkcji replace, która nie istnieje w standardowej bibliotece PHP. W PHP funkcja do zamiany ciągów znaków to str_replace, co oznacza, że taka odpowiedź nie może być prawidłowa. Z kolei drugi wariant również błędnie stosuje funkcję replace, ale dodatkowo zamienia argumenty – pierwszy argument powinien być tym, co zamieniamy, a nie tym, co jest zmieniane. Użycie str_replace z nieodpowiednią kolejnością argumentów prowadziłoby do niespodziewanych rezultatów. Natomiast trzecia odpowiedź podaje argumenty w prawidłowej kolejności, jednak również używa nieistniejącej funkcji replace, co czyni ją błędną. Typowe błędy myślowe, które mogą prowadzić do takich niepoprawnych wniosków, to nieprawidłowe rozumienie syntaktyki funkcji oraz mylenie istniejących funkcji z nieistniejącymi. Ważne jest zrozumienie, że w PHP musimy korzystać z dokumentacji, aby upewnić się, że używamy odpowiednich funkcji i argumentów, co jest kluczowe dla prawidłowego działania aplikacji. Niezrozumienie tych podstaw może prowadzić do frustracji i trudności w programowaniu.

Pytanie 25

Kolor zapisany w modelu RGB(255, 0, 0) to

A. czerwony
B. zielony
C. niebieski
D. żółty
Wybór odpowiedzi zielona, żółta lub niebieska wskazuje na pewne nieporozumienia dotyczące modelu RGB oraz jego zastosowania w definiowaniu kolorów. Zielona barwa w modelu RGB byłaby reprezentowana jako RGB(0, 255, 0), co oznacza pełną intensywność zieleni przy zerowej intensywności czerwonej i niebieskiej. Natomiast żółty kolor powstaje w wyniku połączenia czerwonego i zielonego, co w modelu RGB przedstawia się jako RGB(255, 255, 0). Odpowiedź na podstawie wartości RGB(255, 0, 0) nie ma podstaw do uznawania, że jest to kolor żółty czy zielony, ponieważ w obu przypadkach występuje brak jednego z kluczowych składników kolorystycznych. Wybór niebieskiego koloru również jest błędny, ponieważ niebieski w modelu RGB charakteryzuje się wartością RGB(0, 0, 255). Tego typu błędy mogą wynikać z mylnego rozumienia kolorów podstawowych oraz ich kombinacji w kontekście przestrzeni kolorów RGB. Warto zwrócić uwagę na to, że model RGB jest szeroko stosowany w branży multimedialnej, co oznacza, że znajomość zasad jego działania oraz umiejętność wizualizacji kolorów jest niezbędna dla profesjonalistów zajmujących się grafiką komputerową, projektowaniem stron internetowych oraz marketingiem wizualnym. Aby uniknąć takich nieporozumień, warto zainwestować czas w przyswajanie wiedzy na temat teorii kolorów oraz technik kolorystycznych, co pozwoli na lepsze zrozumienie interakcji między kolorami i ich wpływu na percepcję wizualną.

Pytanie 26

Który efekt został zaprezentowany na filmie?

A. Zwiększenie ostrości zdjęcia.
B. Zmniejszenie kontrastu zdjęcia.
C. Zmiana jasności zdjęć.
D. Przenikanie zdjęć.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 27

Element lub grupa elementów, która w jednoznaczny sposób identyfikuje każdy pojedynczy rekord w tabeli w bazie danych, nazywa się kluczem

A. przestawny
B. obcy
C. podstawowy
D. inkrementacyjny
Klucz inkrementacyjny to termin, który może być mylnie stosowany w kontekście kluczy podstawowych. Choć klucz podstawowy może być inkrementacyjny, co oznacza, że jego wartość rośnie w miarę dodawania nowych rekordów, nie jest to jego jedyna możliwa forma. Klucz podstawowy może być również złożony z kilku pól (klucz złożony) lub oparty na wartościach, które nie są inkrementowane. Z kolei klucz przestawny (ang. pivot key) to termin nieznany w klasycznej terminologii baz danych; nie odnosi się on do identyfikacji wierszy, a raczej do organizacji danych w tabelach przestawnych, które służą do agregacji danych. Klucz obcy (ang. foreign key) jest innym pojęciem, oznaczającym pole, które wskazuje na klucz podstawowy w innej tabeli i służy do zapewnienia powiązań między danymi, ale nie identyfikuje ono pojedynczych rekordów w danej tabeli. Typowe błędy w rozumieniu tych pojęć to mylenie ich ról oraz funkcji, co prowadzi do niewłaściwego projektowania baz danych, w którym integralność oraz relacje pomiędzy danymi są niewłaściwie zaimplementowane. Kluczowe jest, aby zrozumieć, że klucz podstawowy jest podstawowym komponentem dla każdej tabeli, a inne typy kluczy pełnią różne funkcje w kontekście relacji między danymi.

Pytanie 28

Podczas projektowania formularza konieczne jest wstawienie kontrolki, która odnosi się do innej kontrolki w odrębnym formularzu. Taka operacja w bazie danych Access jest

A. niemożliwa w każdym trybie poza trybem projektowania
B. niemożliwa
C. możliwa tylko wtedy, gdy są to dane numeryczne
D. możliwa dzięki ustawieniu ścieżki do kontrolki w atrybucie "Źródło kontrolki"
Błędne odpowiedzi wynikają z nieporozumienia dotyczącego możliwości i zasad działania kontrolek w formularzach Access. Ustawienie ścieżki do kontrolki we właściwości 'Źródło kontrolki' nie jest ograniczone do danych liczbowych, co jest błędnym założeniem. W rzeczywistości można odwoływać się do różnych typów danych, w tym tekstowych, datowych oraz liczbowych, co czyni tę funkcjonalność niezwykle uniwersalną. Twierdzenie, że odwołanie jest niemożliwe, jest również nieprawdziwe; Access oferuje rozbudowane możliwości tworzenia interakcji między formularzami, co jest szeroko stosowane w praktycznych zastosowaniach. Warto również zauważyć, że nie ma ograniczeń co do trybów pracy, które mogłyby wpływać na możliwość odwoływania się do kontrolek, co czyni to stwierdzeniem błędnym. W projektowaniu baz danych szczególnie istotne jest zrozumienie, jak różne elementy systemu mogą współdziałać, a umiejętność poprawnego użycia właściwości kontrolek jest kluczowa dla efektywności i użyteczności aplikacji. Ignorowanie tych aspektów prowadzi do nieefektywnego projektowania, w którym trudno jest zarządzać danymi oraz interakcjami użytkowników z aplikacją.

Pytanie 29

Jakiej funkcji w edytorze grafiki rastrowej należy użyć, aby przygotować obraz do wyświetlenia na stronie tak, aby widoczne było jedynie to, co mieści się w ramce?

Ilustracja do pytania
A. Kadrowanie
B. Zmiana rozmiaru
C. Perspektywa
D. Lustro
Kadrowanie w edytorze grafiki rastrowej to naprawdę fajna technika, bo pozwala nam na wycięcie konkretnej części obrazu, którą chcemy pokazać. Dzięki temu skupiamy uwagę na tym, co w grafice najważniejsze, eliminując to, co jest zbędne. Przygotowując grafikę do wrzucenia na stronę www, dobrze jest pomyśleć o kadrowaniu, bo nie tylko poprawia estetykę, ale też sprawia, że strona działa szybciej. Mniejsza grafika to krótszy czas ładowania, co wszyscy lubią. Kadrowanie jest kluczowe, zwłaszcza w responsywnym web designie, gdzie musimy dostosować obrazy do różnych ekranów. Z praktyki wiem, że dobrze wykadrowany obraz to lepsza jakość przy mniejszej wadze pliku, co korzystnie wpływa na SEO i wrażenia użytkowników. W programach jak Adobe Photoshop czy GIMP kadrowanie jest dość proste i pozwala na szybkie dostosowanie obrazu do potrzeb projektu.

Pytanie 30

Jakie wyrażenie logiczne w języku PHP weryfikuje, czy zmienna1 znajduje się w przedziale jednostronnie domkniętym <-5, 10)?

A. $zmienna1 >= -5 || $zmienna1 < 10
B. $zmienna1 <= -5 || $zmienna1 < 10
C. $zmienna1 <= -5 && $zmienna1 < 10
D. $zmienna1 >= -5 && $zmienna1 < 10
Błędne odpowiedzi opierają się na niewłaściwym zrozumieniu pojęcia przedziału oraz operatorów logicznych w języku PHP. W przypadku wyrażenia $zmienna1 >= -5 || $zmienna1 < 10, użycie operatora || (lub) oznacza, że wystarczy, aby jedna z warunków była spełniona, co prowadzi do sytuacji, w której każde zmienne, które są mniejsze od 10, również zostaną uznane za poprawne, nawet jeśli są mniejsze niż -5. Takie podejście nie odzwierciedla założonego przedziału. Kolejna niepoprawna koncepcja to wyrażenie $zmienna1 <= -5 || $zmienna1 < 10, które również wprowadza w błąd, ponieważ pozwala na wartości mniejsze lub równe -5, a także na wartości mniejsze od 10, co całkowicie wykracza poza założony przedział. Wyrażenie $zmienna1 <= -5 && $zmienna1 < 10 również jest błędne, ponieważ sugeruje, że zmienna1 musi być jednocześnie mniejsza lub równa -5 oraz mniejsza od 10, co jest logicznie sprzeczne z definicją przedziału. W praktyce, takie błędne podejścia mogą prowadzić do nieprawidłowych wyników i trudności w diagnostyce błędów, dlatego kluczowe jest zrozumienie i poprawne stosowanie operatorów oraz warunków w kodzie. Zastosowanie błędnych wyrażeń może prowadzić do wprowadzenia poważnych błędów w logice programu, co jest niepożądane w kontekście dobrej praktyki programistycznej.

Pytanie 31

Związek między tabelami, osiągany przez bezpośrednie połączenie kluczy głównych obu tabel, nazywamy relacją

A. 1..1
B. 1..n
C. n..m
D. n..1
Zdecydowanie, tu coś poszło nie tak. Wybierając zły wariant, mogłeś nie do końca zrozumieć, jak działają te relacje między danymi. Odpowiedzi 1..n i n..1 to świetne przykłady na to, jak można się pogubić. W relacji 1..n, jeden rekord z tabeli A może mieć wiele rekordów w tabeli B, co już wprowadza zamieszanie, bo w pytaniu mowa była o unikalnych połączeniach. Z kolei n..1 to jakby odwrotność, gdzie wiele rekordów w A jest powiązanych z jednym w B – również nie to, czego szukamy. I jeszcze ta odpowiedź n..m, która dotyczy relacji wiele do wielu – tu to w ogóle wymaga dodatkowych tabel, a to już może skomplikować wszystko. Takie błędy mogą wynikać z braku zrozumienia, jak zbudowane są bazy danych i zasady ich normalizacji. Fajnie byłoby pamiętać, że każda tabela powinna skupiać się na jednym typie encji, bo to naprawdę ułatwia sprawę i unika nieporozumień.

Pytanie 32

Znacznik <s> w HTML skutkuje

A. pochylaniem tekstu
B. migotaniem tekstu
C. przekreślaniem tekstu
D. podkreślaniem tekstu
Migotanie tekstu nie ma nic wspólnego ze znacznikiem <s>. W HTML nie ma znaczników, które migają, a takie efekty osiąga się zwykle dzięki CSS albo JavaScript. Można na przykład użyć CSS do animacji, żeby tekst migał. Pochylanie tekstu robi się za pomocą <em> lub <i>, które stosuje się do stylizacji, żeby tekst był w kursywie. Te znaczniki służą, żeby wyróżnić słowa w kontekście, ale nie mają nic wspólnego z przekreślaniem. Podkreślanie tekstu w HTML uzyskuje się używając znaku <u>, który wizualnie podkreśla tekst, ale nie przekreśla go. Zwykle używa się tego do linków albo do wyodrębnienia jakichś fragmentów tekstu na stronie, więc też nie ma związku z <s>. Dlatego wszystkie te odpowiedzi są błędne, bo nie rozumieją, jak działają odpowiednie znaczniki w HTML.

Pytanie 33

Zademonstrowano fragment kodu JavaScript. Po jego uruchomieniu zmienna str2 otrzyma wartość. ```var str1 = "JavaScript"; var str2 = str1.substring(2, 6);```

A. avaS
B. vaSc
C. avaScr
D. vaScri
Pierwsza z niepoprawnych odpowiedzi 'avaS' sugeruje, że odczytujemy znaki zaczynając od drugiego indeksu, jednak końcowy indeks 6 zmienia sposób odczytu. Możliwe, że ktoś mógł pomylić kolejność lub sposób, w jaki substring działa, co jest częstym błędem w zrozumieniu tej metody. Druga odpowiedź 'vaScri' wydaje się sugerować, że ktoś zrozumiał, jak działa substring, ale błędnie wyznaczył końcowy indeks, co prowadzi do wyodrębnienia znacznie większej ilości znaków. W rzeczywistości, aby uzyskać 'vaScri', należałoby użyć indeksów 2 i 8, co również jest nieprawidłowe. Ostatnia niepoprawna odpowiedź 'avaScr' wskazuje na błędne wyznaczenie pierwszego znaku. Użytkownik mógł pomylić interpretację indeksu zaczynając od 0, co w JavaScript jest istotne. W kontekście całego łańcucha, odpowiedzi te pokazują, jak ważne jest zrozumienie indeksowania i prawidłowego użycia metod do manipulacji tekstem, aby unikać błędów w kodzie. Rozwój umiejętności w pracy z łańcuchami tekstowymi jest kluczowy dla efektywnego programowania w JavaScript.

Pytanie 34

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

div { border: solid 2px blue;
       margin: 20px;}
A. 20 px oraz marginesy wewnętrzne tego obramowania
B. 2 px oraz marginesy zewnętrzne tego obramowania
C. 2 px oraz marginesy wewnętrzne tego obramowania
D. 20 px oraz marginesy zewnętrzne tego obramowania
W definicji stylu CSS podano, że sekcja div będzie miała obramowanie o szerokości 2 pikseli oraz marginesy zewnętrzne o wartości 20 pikseli. Obramowanie jest definiowane przez właściwość 'border', gdzie 'solid' oznacza typ obramowania i '2px' to jego szerokość, a 'blue' to kolor. Marginesy zewnętrzne są definiowane za pomocą właściwości 'margin', która w tym przypadku ma wartość 20 pikseli. Jest to odległość między brzegiem obiektu a innymi elementami na stronie. Zrozumienie tych właściwości jest kluczowe w projektowaniu responsywnych i dobrze zorganizowanych układów stron internetowych. Stosując te właściwości, twórcy stron mogą łatwo kontrolować wygląd i odległości między elementami, co jest szczególnie ważne w kontekście użyteczności i estetyki witryny. Przykładowo, jeśli chciałbyś dodać więcej przestrzeni pomiędzy sekcjami, wystarczy zwiększyć wartość 'margin'. Warto również zaznaczyć, że te właściwości są zgodne z aktualnymi standardami CSS, co pozwala na ich wszechstronne wykorzystanie w praktyce.

Pytanie 35

Która z funkcji agregujących wbudowanych w język SQL służy do obliczania średniej wartości w określonej kolumnie?

A. MIN
B. AVG
C. SUM
D. COUNT
Wybór funkcji MIN, SUM i COUNT w kontekście obliczania średniej wartości w danej kolumnie wskazuje na pewne nieporozumienia związane z działaniem funkcji agregujących w SQL. Funkcja MIN zwraca najmniejszą wartość w zbiorze danych, co może być pomocne w analizie, ale nie dostarcza żadnych informacji na temat średniej. Z kolei SUM dodaje wszystkie wartości w kolumnie, co również nie odpowiada na pytanie o średnią wartość. Można to zobrazować przykładem: mając wartości 10, 20 i 30, SUM zwróci 60, co jest całkowitą wartością, natomiast AVG w tym przypadku dałoby 20, co jest średnią. Funkcja COUNT z kolei zlicza wszystkie wiersze, które pasują do określonego kryterium, ale nie dostarcza informacji o wartościach w kolumnie. Typowym błędem jest mylenie tych funkcji i ich zastosowań, co prowadzi do nieefektywnej analizy danych. Zrozumienie różnic między tymi funkcjami jest kluczowe dla efektywnego wykorzystania SQL w analizie danych, a także do podejmowania świadomych decyzji opartych na danych.

Pytanie 36

W CSS, aby ustalić różne formatowanie dla pierwszej litery w akapicie, trzeba użyć selektora

A. klasy p.first-letter
B. atrybutu p [first-letter]
C. pseudoelementu p::first-letter
D. dziecka p + first-letter
Wybór klasy p.first-letter nie jest poprawny, ponieważ klasy w CSS są używane do grupowania elementów i stylizacji ich w zbiorach, a nie do selekcji poszczególnych części tekstu, jak pierwsza litera akapitu. Klasa ta będzie odnosić się do wszystkich elementów z przypisaną daną klasą, co nie spełnia celu stylizacji wyłącznie pierwszej litery. Selekcja dziecka p + first-letter jest również błędna, gdyż operator + w CSS odnosi się do sąsiadujących ze sobą elementów. Oznacza to, że ten kombinat nie jest użyteczny w kontekście pierwszej litery akapitu, ponieważ nie zapewnia odpowiedniego targetowania. Z kolei atrybutu p [first-letter] nie funkcjonuje w CSS, ponieważ atrybuty są używane do selekcji elementów na podstawie ich atrybutów HTML, takich jak klasy czy identyfikatory, a nie do selekcji pseudoelementów, jak w przypadku first-letter. Zrozumienie różnicy pomiędzy tymi koncepcjami jest kluczowe dla skutecznego stylizowania dokumentów w CSS oraz dla tworzenia estetycznych i funkcjonalnych interfejsów użytkownika.

Pytanie 37

Z tabeli mieszkańcy należy uzyskać unikalne nazwy miejscowości, do czego konieczne jest użycie wyrażenia SQL z klauzulą

A. HAVING
B. CHECK
C. UNIQUE
D. DISTINCT
Wybór odpowiedzi CHECK, HAVING lub UNIQUE wskazuje na pewne nieporozumienia dotyczące zastosowania i znaczenia tych klauzul w SQL. Klauzula CHECK jest używana w kontekście definicji tabeli, aby zapewnić, że dane w danym atrybucie spełniają określone warunki, na przykład 'CHECK (wiek >= 0)', co oznacza, że wiek nie może być ujemny. Nie ma jednak zastosowania w kontekście eliminacji duplikatów z wyników zapytania. Klauzula HAVING jest z kolei używana do filtrowania grup z wyniku agregacji, na przykład w zapytaniu z użyciem GROUP BY. Użycie HAVING do eliminacji duplikatów z wyników bez wcześniejszego grupowania danych nie ma sensu. Z kolei UNIQUE to ograniczenie, które można ustawić na kolumnę w tabeli, aby zapewnić, że nie będą w niej występowały powtarzające się wartości. Chociaż jest związane z unikalnością, nie jest klauzulą, którą można wykorzystać w zapytaniach do eliminacji duplikatów z zestawów wyników. Typowym błędem jest mylenie tych koncepcji, co prowadzi do wyboru nieodpowiednich narzędzi w SQL do rozwiązania konkretnego problemu. Warto zatem dobrze zrozumieć różnice między tymi klauzulami, aby umiejętnie stosować je w praktyce i skutecznie zarządzać danymi.

Pytanie 38

Która z funkcji SQL nie przyjmuje żadnych argumentów?

A. len
B. now
C. year
D. upper
Wybór funkcji 'upper', 'len' lub 'year' jako odpowiedzi wskazuje na nieporozumienie dotyczące funkcji w SQL. Funkcja 'upper' służy do konwertowania tekstu na wielkie litery, co oznacza, że wymaga argumentu - ciągu znaków, który ma zostać przekształcony. Przykładowe użycie tej funkcji to 'SELECT upper(nazwa) FROM tabela;', gdzie 'nazwa' jest kolumną z danymi tekstowymi. Podobnie, funkcja 'len' wylicza długość ciągu znaków i również wymaga argumentu; na przykład, 'SELECT len(nazwa) FROM tabela;' zwróci liczbę znaków w kolumnie 'nazwa'. Funkcja 'year' wyciąga rok z daty, co czyni ją również funkcją wymagającą argumentu, jak 'SELECT year(data) FROM tabela;', gdzie 'data' jest kolumną z wartościami dat. Typowe błędy myślowe prowadzące do wyboru tych funkcji jako odpowiedzi wynikają z mylenia ich z funkcjami, które mogą działać bez argumentów, jak 'now'. Warto znać różnice między tymi funkcjami, aby skutecznie korzystać z SQL w praktyce, a także unikać niepoprawnych zapytań, które mogą prowadzić do błędów wykonania lub nieprawidłowych wyników.

Pytanie 39

Jakie narzędzie jest używane do organizowania oraz przedstawiania danych z wielu rekordów w celu ich wydruku lub dystrybucji?

A. makropolecenie
B. raport
C. formularz
D. kwerenda
Makropolecenie, formularz oraz kwerenda to narzędzia o różnych zastosowaniach, które często mylnie utożsamiane są z raportem. Makropolecenie to zestaw instrukcji, które automatyzują powtarzalne zadania w programach komputerowych, szczególnie w arkuszach kalkulacyjnych. Chociaż mogą one służyć do generowania raportów, same w sobie nie są narzędziem do grupowania informacji, lecz raczej do automatyzacji procesów. Formularz służy do zbierania danych od użytkowników, ale nie jest przeznaczony do ich analizy ani prezentacji w formie zrozumiałych zestawień. Kwerenda natomiast to zapytanie skierowane do bazy danych, które umożliwia wydobycie specyficznych informacji, ale ponownie, nie jest to narzędzie do ich prezentacji. Użytkownicy mogą mylić te narzędzia z raportem, co prowadzi do nieporozumień w zakresie ich funkcjonalności. Kluczowe jest zrozumienie, że raporty są podsumowaniem danych, które były wcześniej przetworzone, podczas gdy makropolecenia, formularze i kwerendy są narzędziami do działania na danych, ale nie do ich ostatecznego przedstawienia. Ważne jest, aby potrafić rozróżnić te pojęcia i stosować je zgodnie z ich przeznaczeniem w praktyce biznesowej.

Pytanie 40

Kwerenda

ALTER TABLE artykuly MODIFY cena float;
ma na celu dokonanie zmian w tabeli artykuly.
A. zmienić nazwę kolumny cena na float
B. usunąć kolumnę o nazwie cena typu float
C. zmienić typ kolumny cena na float
D. dodać kolumnę o nazwie cena z typem float, jeżeli jeszcze nie istnieje
Twoja odpowiedź o zmianie typu na float dla kolumny cena jest całkiem na miejscu! W pracy z bazami danych ważne jest, żeby odpowiednio zarządzać typami danych w tabelach. Typ float to coś, co często wykorzystuje się do przechowywania wartości liczbowych, które mają część dziesiętną. To istotne przy cenach, które często muszą być dokładnie przedstawione, na przykład do dwóch miejsc po przecinku. Wspomniana kwerenda ALTER TABLE to świetne narzędzie do zmiany struktury tabeli, i to jest zgodne z dobrymi praktykami zarządzania bazami, zwłaszcza z zasadą elastyczności. Dzięki temu można dostosować tabelę do zmieniających się potrzeb bez potrzeby przebudowy całej bazy. Wiesz, takie operacje są dość typowe, ale trzeba uważać, by nie stracić danych czy mieć jakieś niezgodności. Dlatego zawsze warto zrobić kopię zapasową i testować zmiany w środowisku testowym. Zrozumienie takich operacji pomoże ci w lepszym zarządzaniu bazami danych i ich optymalizacji.