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: 14 maja 2026 14:34
  • Data zakończenia: 14 maja 2026 14:47

Egzamin zdany!

Wynik: 26/40 punktów (65,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Jakiego ograniczenia (constraint) używa się do zdefiniowania klucza obcego?

A. AUTO_INCREMENT(ID)
B. FOREIGN KEY(ID)
C. UNIQUE KEY(ID)
D. PRIMARY KEY(ID)
Odpowiedź 'FOREIGN KEY(ID)' jest poprawna, ponieważ klucz obcy służy do definiowania relacji między tabelami w bazach danych. Klucz obcy to atrybut lub zestaw atrybutów w jednej tabeli, który odnosi się do klucza głównego innej tabeli. Przykładowo, w bazie danych, która obsługuje system zarządzania zamówieniami, tabela 'Zamówienia' może zawierać kolumnę 'KlientID', będącą kluczem obcym odnoszącym się do kolumny 'ID' w tabeli 'Klienci'. Użycie kluczy obcych pozwala na zapewnienie integralności referencyjnej, co oznacza, że każdy wpis w tabeli 'Zamówienia' musi odpowiadać istniejącemu klientowi w tabeli 'Klienci'. Dobrym praktykom w projektowaniu baz danych jest stosowanie kluczy obcych jako sposobu na unikanie niezgodności danych oraz na umożliwienie wykonywania zapytań z wykorzystaniem JOIN, co ułatwia uzyskiwanie skonsolidowanych informacji z różnych tabel. Ponadto, w przypadku usunięcia lub aktualizacji rekordów w tabeli źródłowej, można skonfigurować odpowiednie zasady, takie jak 'CASCADE', które automatycznie zaktualizują powiązane dane w tabeli docelowej, co jest istotne dla zachowania spójności danych.

Pytanie 2

Który sposób na utworzenie tablicy w JavaScript jest niepoprawny pod względem składniowym?

A. var liczby = new Array(1, 2, 3);
B. var liczby = [1, 2, 3];
C. var liczby = [3];
D. var liczby = new Array[1, 2, 3];
Zauważyłeś, że zapis 'var liczby = new Array[1, 2, 3];' jest błędny, i masz rację. Problem tkwi w tym, że w JavaScript do tworzenia tablicy używa się nawiasów okrągłych, a nie kwadratowych. Dlatego poprawny sposób na utworzenie tablicy z liczbami 1, 2 i 3 to 'var liczby = new Array(1, 2, 3);'. Ale szczerze mówiąc, dużo lepiej jest używać literałów tablicowych, czyli 'var liczby = [1, 2, 3];'. To jest zdecydowanie prostsze i czytelniejsze. W programowaniu dobrze jest wybrać opcje, które sprawiają, że kod jest łatwiejszy do zrozumienia i utrzymania, a literały tablicowe to dokładnie to. Tak więc, kiedy możesz, korzystaj z tej prostszej formy.

Pytanie 3

Aby wykonać usunięcie wszystkich wpisów z tabeli, należy użyć kwerendy

A. TRUNCATE TABLE
B. CREATE COLUMN
C. ALTER COLUMN
D. INSERT INTO
Odpowiedź 'TRUNCATE TABLE' jest prawidłowa, ponieważ jest to polecenie w języku SQL służące do usuwania wszystkich rekordów z tabeli w sposób efektywny i bezpieczny. W przeciwieństwie do polecenia 'DELETE', które również usuwa rekordy, 'TRUNCATE TABLE' działa znacznie szybciej, ponieważ nie rejestruje każdego usunięcia w dzienniku transakcji, co zmniejsza obciążenie systemu. Przykład zastosowania: jeśli mamy tabelę 'Pracownicy' i chcemy usunąć wszystkie dane przed jej ponownym załadowaniem, możemy użyć kwerendy 'TRUNCATE TABLE Pracownicy;'. Warto zauważyć, że 'TRUNCATE TABLE' nie tylko usuwa dane, ale również resetuje wszelkie automatyczne inkrementacje kluczy podstawowych w tabeli. Stosując to polecenie, zachowujemy integralność danych oraz optymalizujemy czas operacji, co jest zgodne z najlepszymi praktykami w zarządzaniu bazami danych.

Pytanie 4

$x = 0; while($x < 5) { echo "$x,"; $x++; } Wskaż instrukcję, która jest funkcjonalnie równoważna dla podanej pętli while w języku PHP.

Ilustracja do pytania
A. Instrukcja 2
B. Instrukcja 4
C. Instrukcja 1
D. Instrukcja 3
W programowaniu często spotyka się różne sposoby implementacji pętli, jednak nie wszystkie z nich są równie efektywne czy poprawne w kontekście stawianych wymagań. W przypadku zaproponowanych instrukcji for, które miałyby być równoważne funkcjonalnie do podanej pętli while, kluczowym aspektem jest zachowanie identycznych warunków początkowych, warunku końcowego oraz sposobu inkrementacji zmiennej sterującej. Podczas gdy instrukcja 3 dokładnie odwzorowuje działanie pętli while pod względem inicjalizacji wartości $x, warunku kontynuacji ($x < 5) oraz kroku inkrementacyjnego ($x++), inne opcje różnią się w tych aspektach. Instrukcja 1 zawiera podwójną inkrementację zmiennej w każdym kroku pętli, co skutkuje zbyt szybkim osiągnięciem warunku końcowego. Instrukcja 2 zmienia krok inkrementacji na $x+=2, co prowadzi do pominięcia wartości i skrócenia pętli. Instrukcja 4 modyfikuje warunek początkowy, startując z $x równym 1, zamiast 0, co również wpływa na zakres wyświetlanych wartości. Te modyfikacje mogą wprowadzać w błąd i generować nieprzewidywalne wyniki, co jest niepożądane w kontekście pisania stabilnego i przewidywalnego kodu. Zrozumienie różnic w tych implementacjach jest kluczowe dla skutecznego programowania i unikania typowych błędów, które mogą prowadzić do niezamierzonych konsekwencji w działaniu aplikacji. Dlatego ważne jest, aby każda z pętli była precyzyjnie dostosowana do zamierzonej funkcjonalności i zgodna z założonymi celami projektu, co jest podstawą dobrych praktyk w branży inżynierii oprogramowania.

Pytanie 5

Który z poniższych formatów plików graficznych wspiera przejrzystość?

A. PNG
B. JPG
C. NEF
D. BMP
Format PNG (Portable Network Graphics) jest jednym z najpopularniejszych formatów plików graficznych obsługujących przezroczystość. Jego główną zaletą jest możliwość zachowania kanału alfa, który umożliwia tworzenie obrazów z przezroczystymi elementami. PNG wykorzystuje bezstratną kompresję, co oznacza, że jakość obrazu nie ulega pogorszeniu podczas zapisywania i otwierania pliku. Format ten jest szczególnie ceniony w aplikacjach internetowych, ponieważ pozwala na uzyskanie estetycznych efektów, takich jak cienie, przezroczystość i delikatne przejścia kolorów. Warto również zauważyć, że PNG obsługuje głębię kolorów do 48 bitów, co umożliwia uzyskanie bogatych i szczegółowych obrazów. Standard PNG został opracowany w 1996 roku jako alternatywa dla formatu GIF, który był ograniczony do 256 kolorów oraz nie obsługiwał przezroczystości w sposób, który byłby zadowalający dla projektantów. Dzięki swoim właściwościom, PNG jest szeroko stosowany w grafice komputerowej, w tym w tworzeniu logo, ikon oraz w elementach interfejsów użytkownika, a także w fotografii cyfrowej, gdzie zachowanie jakości jest kluczowe.

Pytanie 6

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

A. formularz
B. raport
C. zapytanie
D. zestawienie
Raport jest obiektem baz danych, który służy do podsumowywania, wyświetlania oraz wydruków danych. Jego główną funkcją jest agregacja i prezentacja informacji w sposób przystępny dla użytkownika. Raporty mogą być wykorzystywane do analizy danych, prezentacji wyników oraz podejmowania decyzji biznesowych. Przykładem zastosowania raportu może być generowanie miesięcznego raportu sprzedaży, który zawiera szczegółowe informacje o przychodach, kosztach oraz zyskach w danym okresie. Z perspektywy dobrych praktyk, raporty powinny być projektowane w taki sposób, aby były czytelne i zrozumiałe, a ich struktura powinna być zgodna z wymaganiami użytkowników. W kontekście standardów, raporty mogą być również generowane automatycznie przy użyciu narzędzi business intelligence, co pozwala na zwiększenie efektywności i dokładności analiz. Dobrze zdefiniowane raporty przyczyniają się do lepszego zrozumienia zbiorów danych oraz wspierają procesy decyzyjne w organizacji.

Pytanie 7

Jakie będą skutki wykonania podanego zapytania w tabeli?

ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;
A. dodanie kolumny nazwa2 typu zmiennoprzecinkowego
B. dodanie kolumny nazwa2 z wartością domyślną typu DOUBLE
C. zmiana nazwy kolumny z nazwa1 na nazwa2
D. zmiana wartości kolumny nazwa2 na DOUBLE
Analiza błędnych odpowiedzi związanych z zapytaniem ALTER TABLE wymaga zrozumienia funkcji oraz ograniczeń tej komendy w SQL. Słowo kluczowe ADD wskazuje na intencję dodania nowego elementu do struktury tabeli co eliminuje możliwość zmiany istniejącej kolumny jak sugerują niektóre odpowiedzi. Typ DOUBLE jest używany do przechowywania danych zmiennoprzecinkowych lecz nie oznacza to że istniejąca kolumna może zmieniać się na ten typ poprzez użycie ADD co jest błędnym zrozumieniem funkcji SQL. Typowe błędy myślowe obejmują mylenie dodawania nowej kolumny ze zmianą istniejącej co można osiągnąć jedynie poprzez bezpośrednie użycie MODIFY w poleceniu ALTER TABLE. Również błędne jest założenie że dodawanie kolumny automatycznie ustali wartość domyślną co wymaga specjalnego określenia DEFAULT w zapytaniu aby wprowadzić takie ustawienie. Konsekwencją takiego błędnego rozumienia jest niepoprawna rozbudowa struktury danych co może prowadzić do problemów w aplikacjach wykorzystujących bazę danych. Prawidłowe rozumienie działania ALTER TABLE jest kluczowe w efektywnym zarządzaniu i rozwoju baz danych co zgodne jest z dobrymi praktykami w tej dziedzinie. Aby uniknąć tych błędów warto zapoznać się z dokumentacją i praktykami związanymi z obsługą SQL i wdrożyć systematyczne testowanie zmian strukturalnych przed ich implementacją w środowisku produkcyjnym co minimalizuje ryzyko błędów i ich wpływ na operacje biznesowe. Poprawne użycie ALTER TABLE wymaga także zaawansowanej znajomości typów danych i zasad spójności w bazach danych co jest istotnym elementem kompetencji każdego specjalisty IT zarządzającego danymi. W kontekście tego pytania ważne jest zrozumienie że kluczową operacją jest dodanie nowej kolumny a nie zmiana istniejącej struktury co wymaga innego podejścia i komend SQL.

Pytanie 8

Kiedy zakończy się wykonanie poniższego fragmentu kodu w języku C/C++, do zmiennej zwanej zmienna2 zostanie przypisane:

...
int zmienna1 = 158;
int *zmienna2 = &zmienna1;
A. przypisana ta sama wartość, co przechowywana w zmienna1
B. przypisana liczba w kodzie binarnym odpowiadająca wartości przechowywanej w zmienna1
C. przypisany adres zmiennej o nazwie zmienna1
D. przypisana zamieniona na łańcuch wartość przechowywana w zmienna1
Odpowiedź jest prawidłowa, ponieważ w języku C/C++ symbol '&' używany przed nazwą zmiennej wskazuje na operator adresu, co oznacza, że zwraca adres w pamięci, pod którym przechowywana jest dana zmienna. W przedstawionym kodzie zmienna1 jest typu int i przechowuje wartość 158. Deklaracja int *zmienna2 oznacza, że zmienna2 jest wskaźnikiem na typ int. Przypisanie &zmienna1 do zmiennej2 powoduje, że zmienna2 przechowuje adres zmiennej1. Jest to podstawowa praktyka w programowaniu wskaźników, co umożliwia efektywne zarządzanie pamięcią, modyfikację danych w ich pierwotnym miejscu oraz tworzenie dynamicznych struktur danych jak listy czy drzewa. Wskaźniki są nieodłącznym elementem niskopoziomowego programowania, szczególnie w aplikacjach wymagających optymalizacji zasobów. Dobrą praktyką jest zawsze inicjalizować wskaźniki przed ich użyciem oraz unikać błędów typu odwołania do adresów NULL. Zrozumienie mechanizmu działania wskaźników jest kluczowe dla każdego programisty C/C++ i stanowi fundament dla zaawansowanych technik programistycznych.

Pytanie 9

Wszelkie dane, które dostarczają informacji o innych danych, nazywane są

A. metalanguage.
B. metadata.
C. databus.
D. markup language.
Poprawna odpowiedź to „metadata”, czyli po polsku metadane. Metadane to wszystkie dane, które opisują inne dane. Można powiedzieć, że są to „informacje o informacji”. Przykład z życia: plik zdjęcia JPG. Sam obraz to dane, a takie elementy jak data wykonania, model aparatu, rozdzielczość, lokalizacja GPS, autor – to właśnie metadane zapisane np. w formacie EXIF. Podobnie w świecie WWW: w dokumencie HTML mamy sekcję <head>, a w niej znaczniki <meta>. Te znaczniki nie są wyświetlane użytkownikowi jako treść strony, ale przekazują wyszukiwarkom i przeglądarkom informacje o stronie, np. opis, słowa kluczowe, kodowanie znaków, język. To jest klasyczny przykład metadanych w praktyce. W bazach danych metadane to np. definicje tabel, typy kolumn, klucze główne, indeksy, ograniczenia. System zarządzania bazą danych przechowuje je w tzw. katalogach systemowych. Dzięki temu wie, jak interpretować rekordy, jakie są relacje między tabelami, jakie są dopuszczalne wartości. Bez metadanych dane byłyby po prostu chaotycznym zbiorem bitów, z którego niewiele da się wyciągnąć. W standardach branżowych stosuje się różne schematy metadanych, np. Dublin Core dla zasobów cyfrowych, czy schema.org dla stron internetowych, aby wyszukiwarki lepiej rozumiały zawartość. Z mojego doświadczenia warto od początku myśleć o metadanych jako o czymś, co podnosi jakość systemu: ułatwia wyszukiwanie, integrację, automatyczne przetwarzanie danych. Dobra praktyka jest taka, żeby dla ważnych zasobów (pliki, rekordy w bazie, strony WWW, API) zawsze planować strukturę metadanych: kto utworzył, kiedy, jaki typ, wersja, status. To bardzo pomaga przy utrzymaniu aplikacji, debugowaniu i rozwoju systemu.

Pytanie 10

Które z instrukcji algorytmu odpowiada graficznemu przedstawieniu bloku pokazanego na ilustracji?

Ilustracja do pytania
A. Wyświetl w konsoli wartość zmiennej n
B. Zrealizuj podprogram do sortowania tablicy t
C. n > 70
D. n ← n – 3
Odpowiedź n ← n – 3 to typowa operacja matematyczna, którą naprawdę często używamy w programowaniu. W skrócie, chodzi o to, że zmieniamy wartość zmiennej. Można to przedstawić przy użyciu prostokątnego bloku w diagramie, co jest standardem w notacjach algorytmicznych. To jest ważne, zwłaszcza w strukturach kontrolnych, jak pętle, bo musimy modyfikować zmienną, żeby pętla mogła się zakończyć po pewnej liczbie powtórzeń. Na przykład, w pętli for możemy zmieniać wartość zmiennej, żeby przechodzić przez elementy tablicy w odwrotnym kierunku. Dobrze jest dokumentować takie operacje w kodzie, żeby potem łatwiej było do niego wrócić. Te przypisania są również kluczowe w algorytmach, bo nawet małe zmiany w zmiennych mogą znacząco wpłynąć na wydajność. Zrozumienie tego wszystkiego to podstawa dla każdego programisty, który chce pisać dobry kod.

Pytanie 11

Na ilustracji przedstawiono rezultat stosowania stylów CSS oraz odpowiadający mu kod HTML, który generuje ten przykład. Przyjmując, że marginesy wewnętrzne mają wartość 50 px, natomiast zewnętrzne wynoszą 20 px, styl CSS dla tego obrazu wygląda następująco

Ilustracja do pytania
A. Odpowiedź D
B. Odpowiedź A
C. Odpowiedź B
D. Odpowiedź C
Odpowiedź C jest poprawna, ponieważ zdefiniowany styl CSS zawiera wszystkie elementy odpowiadające przedstawionemu formatowaniu obrazu. Styl ten określa kolor tła jako Teal, co jest zgodne z opisem wizualnym obrazu. Dodatkowo zastosowanie solidnej czarnej ramki o grubości 4 pikseli odpowiada profesjonalnym standardom, które zapewniają wyraźne oddzielenie obrazu od reszty treści przez wyróżnienie go. Zastosowanie marginesów zewnętrznych o wartości 20 pikseli oraz wewnętrznych paddingów o wartości 50 pikseli jest zgodne z podanym założeniem, co pozwala na właściwe umiejscowienie obrazu na stronie, dając przestrzeń wokół i wewnątrz elementu. Dbałość o takie szczegóły jest kluczowa dla tworzenia responsywnych i estetycznych stron internetowych. Praktyczne stosowanie tego typu stylizacji umożliwia poprawienie czytelności oraz przyciąga uwagę użytkowników na znaczące elementy strony. Warto przy tym pamiętać o zasadzie KISS (Keep It Simple, Stupid), która zachęca do utrzymywania prostoty w projektach, co nie tylko ułatwia ich tworzenie ale też późniejsze utrzymanie.

Pytanie 12

W SQL, aby zmodyfikować strukturę tabeli, na przykład dodając lub usuwając kolumnę, należy użyć polecenia

A. DROP TABLE
B. ALTER TABLE
C. UPDATE
D. TRUNCATE
Odpowiedź "ALTER TABLE" jest poprawna, ponieważ jest to standardowe polecenie w języku SQL używane do modyfikacji istniejącej struktury tabeli. Dzięki temu poleceniu można dodawać nowe kolumny, usuwać istniejące, a także zmieniać typy danych kolumn. Przykładowo, aby dodać kolumnę "wiek" do tabeli "pracownicy", można użyć polecenia: "ALTER TABLE pracownicy ADD COLUMN wiek INT;". Innym zastosowaniem może być usunięcie kolumny, co osiągamy poprzez zapis: "ALTER TABLE pracownicy DROP COLUMN wiek;". W praktyce, stosowanie ALTER TABLE jest kluczowe w zarządzaniu bazami danych, szczególnie w przypadku rozwijania aplikacji, gdzie schematy danych mogą ewoluować z czasem. Warto pamiętać, że modyfikacje struktury tabeli mogą wpływać na integralność danych, dlatego przed ich wykonaniem zaleca się tworzenie kopii zapasowych oraz dokładne przemyślenie wpływu zmian na aplikacje korzystające z danej bazy danych.

Pytanie 13

Jaką złożoność obliczeniową mają problemy związane z przeprowadzaniem operacji na łańcuchach lub tablicach w przypadku dwóch zagnieżdżonych pętli przetwarzających wszystkie elementy?

A. O(log n)
B. O(n2)
C. O(n!)
D. O(n)
Odpowiedź O(n²) jest jak najbardziej trafna. Wiesz, jak to działa? Gdy masz dwie zagnieżdżone pętle, które przetwarzają elementy w kolekcji, to liczba operacji rośnie kwadratowo w zależności od tego, ile tych elementów masz. Dla n elementów w tablicy, każda z tych n elementów wymaga n operacji w drugiej pętli, co daje razem n*n, czyli n². Przykłady? Algorytmy sortowania bąbelkowego czy przez wstawianie świetnie to ilustrują – obydwa działają w czasie O(n²). Pamiętaj, że jako programiści musimy zwracać uwagę na złożoność algorytmów, bo to wpływa na wydajność naszych aplikacji, szczególnie gdy mamy do czynienia z dużymi zbiorami danych. Dobrze jest próbować optymalizować złożoność, żeby nie wpaść w pułapki wydajnościowe. No i fakt, przy problemach, gdzie musimy porównywać wszystkie elementy, O(n²) to często jedyna opcja, która się sprawdza.

Pytanie 14

Który z poniższych typów plików jest plikiem rastrowym?

A. SWF
B. SVG
C. TIFF
D. CDR
Wybór innych formatów plików, takich jak SVG, SWF czy CDR, wskazuje na nieporozumienia dotyczące klasyfikacji formatów graficznych. SVG (Scalable Vector Graphics) to wektorowy format graficzny, który umożliwia tworzenie grafiki opartej na matematycznych kształtach, co czyni go idealnym do tworzenia logo i ikon. Jego elastyczność i skalowalność są kluczowe w projektach, gdzie jakość obrazu musi być zachowana niezależnie od rozmiaru. Natomiast SWF (Shockwave Flash) był używany do animacji i interaktywnych aplikacji w internecie, ale nie jest formatem graficznym w tradycyjnym sensie, a jego użyteczność spadła wraz z deprecjacją technologii Flash. CDR to natomiast format pliku stworzony przez CorelDRAW, który jest narzędziem do tworzenia grafiki wektorowej. Wybierając te formaty jako odpowiedzi, można mylnie zinterpretować, że są one związane z grafiką rastrową, podczas gdy każdy z nich ma inną specyfikę i zastosowanie. Zrozumienie różnicy między formatami rastrowymi a wektorowymi jest kluczowe dla każdego, kto pracuje z grafiką komputerową. Typowe błędy w myśleniu obejmują mylenie grafiki wektorowej z rastrową lub błędne przypisanie funkcji do formatów, co prowadzi do nieoptymalnych wyborów w kontekście projektowania graficznego.

Pytanie 15

Znaczniki HTML <strong> oraz <em>, które mają na celu podkreślenie istotności tekstu, pod względem formatowania odpowiadają znacznikom

A. <b> oraz <i>
B. <i> oraz <mark>
C. <u> oraz <sup>
D. <b> oraz <u>
Znaczniki HTML <strong> oraz <em> mają kluczowe znaczenie w kontekście semantyki i formatowania tekstu w dokumentach HTML. Znacznik <strong> wskazuje na tekst o zwiększonej ważności, co jest zgodne z jego domyślnym formatowaniem, które w większości przeglądarek wyświetla tekst pogrubiony. Z kolei znacznik <em> sugeruje tekst, który powinien być akcentowany w odpowiedni sposób, a jego domyślne formatowanie to kursywa. W związku z tym, ich odpowiednikami pod względem formatowania są znaczniki <b> oraz <i>. Znacznik <b> służy do pogrubienia tekstu, ale nie niesie ze sobą żadnej dodatkowej semantyki, natomiast <i> używany jest do kursywy bez wskazania na ważność. W praktyce, należy używać <strong> i <em> tam, gdzie semantyka jest kluczowa dla zrozumienia treści, a dodatkowe znaczenie przekłada się na lepsze pozycjonowanie w wyszukiwarkach oraz dostępność dla osób korzystających z technologii asystujących. Ważne jest, by przestrzegać dobrych praktyk webowych i stosować znaczniki semantyczne, co pozwoli na efektywne przekazywanie informacji zarówno użytkownikom, jak i robotom indeksującym.

Pytanie 16

Tabela faktury w bazie danych zawiera pola: numer, data, id_klienta, wartość oraz status. Każdego dnia tworzony jest raport dotyczący faktur z dnia bieżącego. Zawiera on jedynie numery oraz wartości faktur. Która z poniższych kwerend SQL pozwoli na wygenerowanie tego raportu?

A. SELECT numer, wartosc FROM faktury WHERE data=CURRENT_DATE();
B. SELECT numer, wartość FROM faktury;
C. SELECT * FROM faktury;
D. SELECT * FROM faktury WHERE data=CURRENT_DATE();
Aby wygenerować raport faktur z bieżącego dnia, kluczowe jest zastosowanie odpowiednich filtrów oraz wybranie tylko tych pól, które są istotne w kontekście raportu. Kwerenda SQL, która prawidłowo odpowiada na postawiony problem, to 'SELECT numer, wartosc FROM faktury WHERE data=CURRENT_DATE();'. Dzięki temu zapytaniu, system wyciąga z bazy danych jedynie numery i wartości faktur, które zostały wystawione w dniu dzisiejszym. Użycie funkcji CURRENT_DATE() pozwala na dynamiczne filtrowanie danych według aktualnej daty, co jest niezbędne do stworzenia codziennego raportu. W praktyce, taka kwerenda może być używana w aplikacjach do zarządzania finansami, gdzie użytkownicy chcą szybko uzyskać podsumowanie transakcji z danego dnia. Standardy SQL wymagają precyzyjnego określenia, które kolumny mają być wyświetlane, a także jakiego rodzaju dane mają być filtrowane. W związku z tym, zastosowanie warunku WHERE jest kluczowe, aby ograniczyć wyniki do faktur z dzisiaj, co zwiększa efektywność analizy danych.

Pytanie 17

Jaki atrybut powinien zostać umieszczony w miejscu trzech kropek w znaczniku HTML5 <blockquote>, aby wskazać źródło cytatu?

A. src
B. href
C. alt
D. cite
Odpowiedzi 'src', 'alt' i 'href' są nieprawidłowe, ponieważ każdy z tych atrybutów pełni inną rolę w kontekście HTML. Atrybut 'src' jest wykorzystywany do określenia źródła dla elementów takich jak <img> czy <script>, a więc nie ma zastosowania w przypadku znacznika <blockquote>. Wybierając 'src', można pomylić cytat z obrazem lub skryptem, co prowadzi do błędnej interpretacji struktury dokumentu. Atrybut 'alt' jest używany do dostarczania alternatywnego tekstu dla obrazów, co również nie ma zastosowania w kontekście cytatów. Użytkownik, wybierając odpowiedź 'alt', może błędnie sądzić, że alternatywny tekst jest istotny dla przedstawienia źródła cytatu, co jest mylne. Natomiast 'href', który jest stosowany w elementach <a> do określenia adresu URL, również nie ma zastosowania w kontekście cytatów. Zastosowanie 'href' w znaczeniu cytatu mogłoby prowadzić do zamieszania związane z funkcją nawigacyjną i semantyką dokumentu. Każda z tych odpowiedzi ilustruje typowe nieporozumienia dotyczące roli atrybutów HTML, co pokazuje, jak ważne jest zrozumienie właściwych kontekstów, w których atrybuty powinny być używane. Prawidłowe zrozumienie znaczenia atrybutu 'cite' jest kluczowe dla tworzenia semantycznych i czytelnych dokumentów HTML, które poprawnie odzwierciedlają intencje autora oraz są zgodne z najlepszymi praktykami webowymi.

Pytanie 18

Rezultatem realizacji zaprezentowanego kodu PHP jest wyświetlenie wartości

Ilustracja do pytania
A. 14
B. 136
C. 47
D. 147
W pytaniu testowym dotyczącym przedstawionego kodu PHP niektóre odpowiedzi mogą wydawać się intuicyjnie poprawne jednak takie podejście często prowadzi do błędów. Kod PHP wykorzystuje pętlę for która jest formą kontrolowanej iteracji. Rozpoczyna się ona od ustalenia pierwszej wartości zmiennej kontrolnej $i na 1 a pętla kontynuuje swoją pracę tak długo jak długo warunek $i <= 7 jest spełniony. Każdorazowo $i zwiększa się o 3. Niewłaściwe zrozumienie tego mechanizmu może prowadzić do niepoprawnych estymacji wyniku zwłaszcza gdy nie analizuje się kolejnych wyrazów ciągu. Pierwsza wartość to 1 następnie 4 i kończy się na 7. Częstym błędem jest przeoczenie faktu że $i zwiększa się o 3 w każdej iteracji co może skutkować błędnym założeniem że pętla iteruje po wszystkich liczbach od 1 do 7 bezpośrednio. Innym częstym błędem jest błędne odczytanie wyników jako sumy wartości co wynika z niepełnej interpretacji działania funkcji print w kontekście pętli. Warto podkreślić że język PHP w kontekście iteracji wymaga szczególnej uwagi w interpretacji warunków sterujących co jest kluczowe dla prawidłowego działania aplikacji w środowisku produkcyjnym. Unikanie tych błędów wymaga zrozumienia podstawowych zasad działania pętli i dokładnego śledzenia logiki programu co jest esencją programowania proceduralnego i imperatywnego w PHP. To podejście zapobiega prostym błędom logicznym które mogą prowadzić do nieoczekiwanych rezultatów w bardziej złożonych aplikacjach webowych i skryptach.

Pytanie 19

W języku JavaScript stworzono funkcję o nazwie liczba_max, która porównuje trzy liczby naturalne przekazane jako argumenty i zwraca największą z nich. Jak powinno wyglądać prawidłowe wywołanie tej funkcji oraz uzyskanie jej wyniku?

A. var wynik=liczba_max(a,b,c);
B. liczba_max(a,b,c);
C. liczba_max(a,b,c)=wynik;
D. liczba_max(a,b,c,wynik);
Odpowiedzi takie jak "liczba_max(a,b,c);" nie są poprawne, ponieważ brak w nich przypisania wyniku funkcji do zmiennej. W języku JavaScript funkcje są wywoływane, ale ich rezultat musi być z miejsca przechowywany, jeśli mamy zamiar go wykorzystać. Prawidłowe wywołanie funkcji powinno zawsze uwzględniać kontekst, w którym wynik ma być użyty. W przypadku "liczba_max(a,b,c,wynik);" występuje nieprawidłowa liczba argumentów, ponieważ funkcja nie wymaga czwartego parametru, co prowadzi do błędów wykonania. Odpowiedź "liczba_max(a,b,c)=wynik;" również nie jest poprawna, ponieważ w JavaScript nie możemy przypisać wartości bezpośrednio do wywołania funkcji. To podejście narusza zasady składniowe języka. W przypadku kiedy spróbujemy zastosować takie zapisy, interpreter języka zgłosi błąd. Warto zauważyć, że błędne myślenie o strukturze funkcji i jej wywołaniu wynika często z nieznajomości podstaw składni oraz koncepcji programowania. Dobre praktyki w programowaniu rekomendują, aby zawsze przy wywołaniu funkcji, której wynik chcemy przechować, użyć operatora przypisania. W przeciwnym wypadku, nie będziemy mogli uzyskać dostępu do wartości, które funkcja generuje.

Pytanie 20

Aby na stronie internetowej umieścić logo z przezroczystym tłem, jaki format powinien być zastosowany?

A. CDR
B. JPG
C. PNG
D. BMP
Format PNG (Portable Network Graphics) jest preferowany do przechowywania obrazów z przezroczystym tłem, co czyni go idealnym wyborem dla logo. Główne zalety PNG to obsługa przezroczystości oraz wysoka jakość grafiki bez utraty danych, dzięki kompresji bezstratnej. W praktyce, kiedy logo jest umieszczane na różnych tłach, przezroczystość pozwala na harmonijne wpasowanie się w otoczenie, co zwiększa estetykę strony. Ponadto, PNG obsługuje różne poziomy przezroczystości (alfa), co daje projektantom więcej możliwości w zakresie efektów wizualnych. Użycie PNG w projektach internetowych jest zgodne z dobrymi praktykami w zakresie tworzenia responsywnych i estetycznych interfejsów, a także zapewnia kompatybilność z większością przeglądarek internetowych. Warto zauważyć, że PNG jest również często stosowany w grafikach wektorowych i ikonach, które wymagają przejrzystości. Korzystając z PNG, projektanci mogą być pewni, że ich grafiki będą wyglądać profesjonalnie na każdej platformie.

Pytanie 21

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. Zapisywany obraz jest opisywany za pośrednictwem figur geometrycznych umieszczonych w układzie współrzędnych
D. 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
Grafika wektorowa to technika tworzenia i zapisywania obrazów przy użyciu figur geometrycznych, takich jak punkty, linie, krzywe i wielokąty, które są definiowane za pomocą równań matematycznych. W przeciwieństwie do grafiki rastrowej, która jest oparta na siatce pikseli, grafika wektorowa jest skalowalna bez utraty jakości, co oznacza, że obrazy mogą być powiększane lub pomniejszane bez widocznych zniekształceń. Przykłady formatów plików dla grafiki wektorowej to SVG (Scalable Vector Graphics) i AI (Adobe Illustrator). Umożliwia to zastosowanie w różnych dziedzinach, takich jak projektowanie logo, ilustracje, animacje i drukowanie, gdzie wymagana jest wysoka jakość i precyzja. Grafika wektorowa jest często preferowana w projektach wymagających dużej elastyczności, ponieważ zmiana wymiarów obiektu nie wiąże się z koniecznością ponownego rysowania lub retuszowania obrazu. Standardy takie jak W3C dla SVG definiują, jak powinny być tworzone i wyświetlane grafiki wektorowe w sieci, co zapewnia ich uniwersalność i zgodność z różnymi urządzeniami.

Pytanie 22

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. możliwa dzięki ustawieniu ścieżki do kontrolki w atrybucie "Źródło kontrolki"
B. możliwa tylko wtedy, gdy są to dane numeryczne
C. niemożliwa
D. niemożliwa w każdym trybie poza trybem projektowania
Odpowiedź jest poprawna, ponieważ w Microsoft Access można odwoływać się do kontrolek w innych formularzach poprzez ustawienie właściwości 'Źródło kontrolki'. Ta właściwość umożliwia wskazanie skąd ma pochodzić wartość, która ma być wyświetlana w danej kontrolce. Przykładowo, jeśli mamy formularz z danymi klientów, a chcemy w innym formularzu wyświetlić imię i nazwisko danego klienta, możemy użyć odpowiedniego odwołania do kontrolki w formularzu klientów. Ważne jest, aby ścieżka do kontrolki była poprawna, co oznacza, że musi być zgodna z nazwą formularza oraz nazwą kontrolki. Użycie właściwości 'Źródło kontrolki' jest zgodne z najlepszymi praktykami projektowania baz danych, ponieważ umożliwia elastyczne i dynamiczne łączenie danych. Zrozumienie tego procesu jest kluczowe dla efektywnego projektowania złożonych aplikacji bazodanowych z wieloma formularzami oraz relacjami między nimi.

Pytanie 23

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
W przedstawionym fragmencie kodu JavaScript mamy do czynienia z metodą substring, która jest wykorzystywana do wyodrębnienia części łańcucha tekstowego. Wartością str1 jest 'JavaScript', a błędnie zapisany fragment 'str1.substring2,6)' wskazuje na próbę użycia metody substring, przy czym prawidłowy zapis to 'str1.substring(2, 6)'. Metoda substring przyjmuje dwa argumenty: indeks początkowy oraz indeks końcowy. W przypadku 'JavaScript', indeks 2 wskazuje na literę 'v', a indeks 6 na literę 'S'. Zatem metoda substring wyodrębni znaki od indeksu 2 do 5 (indeks 6 nie jest włączony), co daje wynik 'vaSc'. Warto również podkreślić, że metody pracy z łańcuchami tekstowymi są podstawą programowania w JavaScript, umożliwiając manipulację danymi tekstowymi i są zgodne z ECMAScript, co czyni je standardowymi dla tego języka. Dobrą praktyką jest zawsze zwracanie uwagi na poprawne użycie nawiasów oraz argumentów w metodach, co ma kluczowe znaczenie dla poprawności kodu. Przykład użycia: str1.substring(2, 6) zwróci 'vaSc', a str1.substring(0, 4) zwróci 'Java'.

Pytanie 24

Aby usunąć zduplikowane wiersze z wyniku zapytania, trzeba zastosować klauzulę

A. ORDER BY
B. LIMIT
C. DISTINCT
D. UNIQUE
Klauzula DISTINCT w SQL jest naprawdę przydatna, jeśli chcemy pozbyć się dublujących się wierszy w naszych wynikach. Wyobraź sobie, że masz tabelę 'Klienci' z kolumną 'Miasto'. Jak użyjesz zapytania SELECT DISTINCT Miasto FROM Klienci, to dostaniesz listę wszystkich miast, w których są klienci, bez powtarzania tych samych miejsc. To bardzo pomaga, gdy staramy się uporządkować dane i skupić się na unikalnych wartościach. Ale pamiętaj, żeby używać DISTINCT z rozwagą, bo może spowolnić nasze zapytania, zwłaszcza gdy mamy do czynienia z dużą ilością danych. Dobrze jest stosować ją tam, gdzie naprawdę jest potrzebna, według zasad optymalizacji zapytań w SQL.

Pytanie 25

W dokumencie XHTML znajduje się fragment kodu, który posiada błąd w walidacji. Na czym ten błąd polega? ```

tekst

pierwsza linia
Druga linia

```
A. Znaczniki powinny być zapisywane dużymi literami
B. Znacznik <b> nie może być umieszczany wewnątrz znacznika <p>
C. Znacznik <br> musi być zamknięty
D. Nie ma nagłówka szóstego stopnia
W odpowiedzi wskazano, że znacznik <br> powinien być zamknięty, co jest zgodne z zasadami XHTML. W przeciwieństwie do HTML, w XHTML każdy znacznik musi być poprawnie zamknięty, aby kod był zgodny ze standardami. W przypadku znacznika <br>, który służy do wstawienia łamania linii, powinien być zapisany jako <br /> w XHTML. Taki sposób zapisu zapewnia, że dokument jest poprawnie zinterpretowany przez przeglądarki i inne narzędzia przetwarzające. Warto również zaznaczyć, że poprawne zamykanie znaczników jest kluczowe dla utrzymania struktury dokumentu i jego walidacji, co wpływa na dostępność i SEO. Praktyczne przykłady obejmują tworzenie dokumentów XHTML, w których konsekwentnie stosuje się poprawną składnię, co ułatwia ich przyszłą edycję i utrzymanie. Zastosowanie poprawnych standardów, takich jak XHTML, jest również dobre dla interoperacyjności między różnymi platformami i aplikacjami.

Pytanie 26

Wskaż sposób oznaczania komentarzy wielowierszowych w kodzie PHP.

A. / treść komentarza/
B. <!-- treść komentarza -->
C. // treść komentarza
D. /* treść komentarza*/
W PHP składnia komentarzy jest bardzo konkretna i dość ściśle określona, więc drobna pomyłka w znakach powoduje, że interpreter nie potraktuje fragmentu jako komentarza, tylko jako zwykły tekst kodu – co zwykle kończy się błędem składni. Wiele osób myli pojęcia z innych technologii, np. z HTML albo z ogólnego zapisu tekstowego, i stąd biorą się nietrafione odpowiedzi. Znak // w PHP oznacza komentarz, ale tylko jednowierszowy. Oznacza to, że wszystko od // do końca danej linii jest ignorowane, ale już kolejna linia jest znowu normalnym kodem. To jest bardzo wygodne do krótkich dopisków obok instrukcji, np. $x = 5; // liczba elementów. Nie można jednak w ten sposób w prosty sposób opisać większego bloku, który zajmuje kilka wierszy, bo każdy z nich musiałby zaczynać się od //. Technicznie da się, ale jest to nieczytelne i w większych projektach wygląda zwyczajnie słabo. Zapis / treść komentarza/ wygląda trochę jak intuicyjna próba „otoczenia” tekstu ukośnikami, ale w składni PHP nie ma takiej konstrukcji. Pierwszy ukośnik jest traktowany jako początek operatora dzielenia, a dalsza część jako coś zupełnie innego, więc interpreter zgłosi błąd. To typowy błąd: ktoś kojarzy, że są jakieś ukośniki przy komentarzach, ale nie pamięta dokładnej kolejności i ilości znaków. Z kolei <!-- treść komentarza --> to składnia komentarza z języka HTML, a nie z PHP. W plikach .php często mieszamy kod PHP z kodem HTML i wtedy łatwo się pomylić, ale warto to rozdzielać w głowie: gdy jesteśmy „w środku” PHP, czyli pomiędzy znacznikami <?php i ?>, obowiązują zasady komentarzy z PHP: //, # oraz /* */. Natomiast gdy piszemy czysty HTML (poza blokiem PHP), wtedy używamy komentarza <!-- -->. Przenoszenie składni HTML do PHP po prostu nie zadziała, bo interpreter PHP tego nie rozumie. Dobra praktyka jest taka, żeby świadomie wybierać rodzaj komentarza: // lub # do krótkich, jednowierszowych uwag oraz /* */ do dłuższych opisów, dokumentacji funkcji i klas. Mieszanie składni z różnych technologii albo wymyślanie własnych „ozdobnych” wariantów kończy się błędami i trudnym do utrzymania kodem. W programowaniu webowym, szczególnie w PHP, precyzyjna składnia komentarzy to drobiazg, ale bez niej szybko pojawiają się trudne do zlokalizowania problemy, więc warto mieć to dobrze poukładane.

Pytanie 27

Model fizyczny replikacji bazy danych pokazany na ilustracji jest modelem

Ilustracja do pytania
A. równorzędnym
B. centralnego subskrybenta
C. rozproszonym
D. centralnego wydawcy
Model centralnego wydawcy jest popularnym rozwiązaniem w replikacji baz danych gdzie jeden centralny serwer działa jako główny wydawca danych do wielu subskrybentów. Kluczowa cecha tego modelu polega na tym że wszystkie zmiany są inicjowane na głównym serwerze co pozwala na scentralizowane zarządzanie danymi. Centralny wydawca zapewnia że dane są spójne i aktualizowane we wszystkich subskrybentach zmniejszając ryzyko konfliktów danych. Taka architektura jest często stosowana w organizacjach z rozproszonymi jednostkami gdzie centralny serwer w centrali obsługuje oddziały terenowe. Przykładami zastosowań są systemy ERP i CRM które wymagają jednoczesnej replikacji danych do wielu lokalizacji. Dobre praktyki w tej architekturze obejmują regularne monitorowanie wydajności serwerów oraz optymalizację przepustowości sieci by minimalizować opóźnienia. Modele centralnego wydawcy wykorzystują technologie takie jak SQL Server Replication czy Oracle Streams które są dobrze udokumentowane i szeroko stosowane w branży zapewniając niezawodność i skalowalność.

Pytanie 28

W podanym kodzie PHP, w miejscu kropek należy umieścić odpowiednią instrukcję

$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");
while ($wiersz = ...................)
    echo "$wiersz[0] $wiersz[1]";
A. mysqli_num_fields($zapytanie)
B. mysqli_query($zapytanie)
C. mysqli_free_result($zapytanie)
D. mysqli_fetch_array($zapytanie)
Funkcja mysqli_fetch_array($zapytanie) jest używana do pobierania wyników zapytania SQL w formie tablicy asocjacyjnej lub indeksowanej. W kontekście podanego kodu, po wykonaniu zapytania SELECT do bazy danych, wyniki są zwracane jako zasób, który musi być przetworzony. Mysqli_fetch_array pozwala na iteracyjne przetwarzanie każdego wiersza z zestawu wyników, co umożliwia dostęp do poszczególnych wartości pól za pomocą indeksów lub kluczy. Jest to przydatne w sytuacjach, gdzie dane muszą być wyświetlane lub przetwarzane w pętli, jak w przykładowym kodzie. Tablica zwracana przez mysqli_fetch_array może zawierać pola zarówno z indeksami numerycznymi, jak i nazwami kolumn, co daje elastyczność w dostępie do danych. Zgodnie z dobrymi praktykami programistycznymi, zawsze należy sprawdzić, czy zapytanie zostało wykonane poprawnie, zanim zacznie się przetwarzać jego wyniki, oraz zwolnić pamięć po zakończeniu przetwarzania wyników. Stosowanie odpowiednich mechanizmów obsługi błędów i zabezpieczeń, takich jak przygotowane zapytania, jest również kluczowe dla bezpieczeństwa aplikacji.

Pytanie 29

Aby włączyć do skryptu zawartość pliku egzamin.php z kodem PHP, należy użyć polecenia

A. fgets("egzamin.php");
B. getfile("egzamin.php");
C. include("egzamin.php");
D. fopen("egzamin.php");
Wybór niepoprawnych odpowiedzi wynika z nieporozumienia w zakresie zastosowania właściwych funkcji PHP. fgets to funkcja służąca do odczytywania linii z pliku, co oznacza, że jej zastosowanie wymagałoby otwarcia pliku w trybie odczytu, a nie włączenia całej zawartości do skryptu. Dlatego użycie fgets('egzamin.php'); nie przynosi oczekiwanego efektu. fopen to funkcja, która otwiera plik, ale nie włącza jego zawartości do skryptu. W przypadku fopen('egzamin.php'); programista musiałby dodatkowo opracować logikę do odczytywania danych z pliku, co jest nieefektywne, gdy celem jest proste włączenie kodu. Getfile to nieistniejąca funkcja w PHP; nie ma takiej komendy, co sprawia, że odpowiedź ta jest błędna już na poziomie składni. PHP nie definiuje funkcji o nazwie getfile. W każdym z tych przypadków, zamiast włączać kod, te metody wymagają dodatkowych kroków lub są po prostu błędne, co sprawia, że nie mogą być użyte do realizacji celu, jakim jest dołączenie kodu PHP z pliku.

Pytanie 30

Jaką wartość zwróci funkcja ```empty($a);``` w języku PHP, gdy zmienna ```$a``` będzie miała wartość liczbową równą 0?

A. FALSE
B. NULL
C. 0
D. TRUE
Odpowiedzi, które wskazują, że funkcja empty() zwraca 0, FALSE lub NULL, są mylne z kilku powodów. Po pierwsze, wartość 0 w PHP to po prostu liczba i nie jest interpretowana jako pusta. Zmienne, które mają wartość 0 są traktowane jako fałszywe w kontekście logicznym, ale nie są uznawane za puste zgodnie z definicją funkcji empty(). Kiedy przyjmujemy, że empty($a) zwraca 0, w rzeczywistości mylimy funkcję empty() z innymi, które operują na wartościach liczbowych. Podobnie, FALSE jako wynik również nie jest poprawny; chociaż 0 jest uważane za fałszywe, empty() zwraca TRUE, a nie FALSE, gdy zmienna jest pusta. Także NULL to typ danych, a w kontekście empty() jest uznawany za pusty, ale nie jest to wynik, jaki uzyskalibyśmy dla zmiennej $a = 0. Właściwe zrozumienie zwrotów z funkcji PHP oraz typów danych jest kluczowe dla skutecznego programowania. Pomocne jest, aby programiści upewniali się, że korzystają z odpowiednich funkcji do określenia pustych wartości, a w przypadku empty() nie mogą pomylić jej działania z innymi funkcjami, które operują na wartościach logicznych lub liczbowych.

Pytanie 31

Tabele Osoby oraz Adresy są ze sobą połączone relacją typu jeden do wielu. Jakie zapytanie SQL powinno być użyte, aby poprawnie wyświetlić nazwiska oraz odpowiadające im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby.Adresy_id=Adresy.id FROM Osoby, Adresy
B. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id=Adresy.id
C. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id=Adresy.id
D. SELECT nazwisko, Miasto FROM Osoby, Adresy
Użycie składni JOIN w zapytaniu SQL to naprawdę dobra decyzja, jeśli chodzi o pokazywanie powiązanych danych z różnych tabel w bazie danych. W odpowiedzi zastosowałeś INNER JOIN, co jest jednym z tych najpopularniejszych sposobów łączenia tabel, zwłaszcza gdy mamy wspólny klucz. W tym przypadku klucz obcy Adresy_id w tabeli Osoby łączy się z kluczem głównym id w tabeli Adresy, co pozwala na wyciągnięcie nazwisk z Osób oraz odpowiadających im miast z Adresów. W praktyce takie użycie JOIN jest zgodne z najlepszymi praktykami, bo ułatwia zarządzanie danymi i sprawia, że wszystko jest czytelniejsze. Gdy pracujesz nad bardziej skomplikowanymi systemami, umiejętność poprawnego łączenia tabel jest kluczowa. Umożliwia to utrzymanie porządku w danych i zmniejszenie ich powtarzalności przez normalizację. I naprawdę, takie zapytania są mega przydatne w analizie danych, generowaniu raportów czy w aplikacjach, które operują na dużych zbiorach, gdzie wydajność i przejrzystość kodu SQL są niezwykle ważne.

Pytanie 32

Jaką funkcję pełni CONCAT w języku SQL?

A. określenie podłańcucha znaków z tekstu wejściowego
B. przycinanie wyświetlanego tekstu
C. łączenie tekstu do wyświetlenia
D. usuniecie określonego tekstu
Chociaż usunięcie wskazanego tekstu, przycięcie wyświetlanego tekstu oraz wyznaczenie podłańcucha znaków są funkcjami, które mogą być użyteczne w operacjach na danych, nie są one związane z funkcjonalnością CONCAT. Usunięcie wskazanego tekstu jest realizowane przez funkcje takie jak REPLACE, które zastępują określone fragmenty tekstu innymi wartościami, a nie przez łączenie ich w jeden ciąg. Przycięcie wyświetlanego tekstu, na przykład przy użyciu funkcji TRIM, dotyczy usuwania białych znaków z początku i końca łańcucha, co również nie ma związku z łączeniem tekstów. Wyznaczenie z wejściowego tekstu podłańcucha znaków można zrealizować przez funkcję SUBSTRING, która pozwala na wydobycie określonego fragmentu z długiego tekstu. Każda z tych operacji ma swoje zastosowanie i jest bardzo przydatna w kontekście przetwarzania danych, jednak nie przynależą do funkcji CONCAT, której głównym celem jest łączenie tekstów, a nie ich modyfikacja w inny sposób.

Pytanie 33

W bazie danych znajduje się tabela uczniowie, która ma kolumny: imie, nazwisko i klasa. Jakie polecenie SQL należy użyć, aby uzyskać imiona oraz nazwiska uczniów, których nazwiska zaczynają się na literę M?

A. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE 'M%';
B. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko='M%';
C. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN 'M%';
D. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN 'M%';
Poprawne polecenie SQL to 'SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE 'M%';'. Operator LIKE jest kluczowym elementem języka SQL, który pozwala na wyszukiwanie danych zgodnych z określonym wzorem, gdzie '%' oznacza dowolny ciąg znaków. Użycie tego operatora jest zgodne z najlepszymi praktykami w zakresie wyszukiwania danych w relacyjnych bazach danych, umożliwiając elastyczne filtrowanie wyników. W kontekście tego zapytania, operator LIKE skutecznie identyfikuje wszystkie nazwiska, które zaczynają się na literę 'M', co jest szczególnie przydatne w sytuacjach wymagających poszukiwania danych spełniających określone kryteria. Przykładem zastosowania tego zapytania może być generowanie raportów dla nauczycieli, którzy chcą zobaczyć listę uczniów w określonej klasie. Dodatkowo, warto pamiętać, że w przypadku wielu baz danych, operator LIKE jest również wrażliwy na wielkość liter, dlatego warto dostosować zapytanie w zależności od kontekstu, w jakim pracujemy.

Pytanie 34

Jakie narzędzie pozwala na zaimportowanie pliku z danymi SQL do bazy danych MySQL?

A. Symfony 3
B. FileZilla
C. TotalCommander
D. phpMyAdmin
phpMyAdmin to popularne narzędzie webowe, które umożliwia zarządzanie bazami danych MySQL i MariaDB. Dzięki phpMyAdmin można łatwo importować pliki z danymi SQL do bazy danych. Proces importu jest prosty: wystarczy zalogować się do phpMyAdmin, wybrać odpowiednią bazę danych, a następnie skorzystać z opcji 'Import'. Użytkownik może wskazać plik SQL, który chce zaimportować, a phpMyAdmin zadba o resztę. To narzędzie obsługuje różne formaty plików, w tym .sql, co czyni je wszechstronnym rozwiązaniem. Dodatkowo, phpMyAdmin oferuje funkcje umożliwiające zarządzanie strukturą tabel, przeglądanie danych, a także eksportowanie danych do różnych formatów. Narzędzie to jest zgodne z międzynarodowymi standardami bezpieczeństwa i dostępności, co czyni je popularnym wyborem wśród programistów i administratorów baz danych. Przykładem użycia może być migracja danych z lokalnego środowiska deweloperskiego do produkcyjnego, gdzie import danych SQL jest kluczowym krokiem w procesie wdrożenia.

Pytanie 35

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. nav { float: right; }
B. nav { float: right; } section { float: right; }
C. aside {float: left; }
D. nav { float: left; } aside { float: left; }
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa float, a nie tylko samo skojarzenie, że „left to lewo, right to prawo”. Wiele osób myśli, że wystarczy ustawić jeden element na lewo, drugi na prawo i wszystko magicznie się poukłada. W praktyce przeglądarka trzyma się bardzo konkretnych reguł: najpierw liczy kolejność elementów w HTML, potem dopiero stosuje float i układa je możliwie jak najwyżej i jak najbliżej odpowiedniej krawędzi. Jeśli nada się float tylko dla aside albo tylko dla nav, to zmienia się ich pozycja, ale układ trzech bloków nie spełni warunku z zadania: aside i nav nie zamienią się miejscami z pozostawieniem section w środku. Przykładowo, samo float: left na aside niczego nie „zamieni”, bo element i tak pojawia się jako pierwszy w kodzie, więc będzie u góry, tylko że „przyklejony” do lewej. Z kolei ustawienie nav na prawą stronę bez odpowiedniego floatowania section prowadzi do sytuacji, gdzie section nadal zachowuje się jak normalny blok, zwykle ląduje pod elementami pływającymi albo obok nich w sposób mało przewidywalny dla początkującego. Częsty błąd myślowy polega też na tym, że ktoś próbuje wszystkim elementom dać float: left, licząc na to, że przeglądarka „ułoży je po swojemu”. Wtedy jednak wszystkie te bloki ustawiają się w jednym kierunku, w kolejności z HTML, więc nie ma mowy o świadomym „zamienianiu miejsc”. Brak zrozumienia, że float wyjmuje element z normalnego przepływu i wpływa na to, jak kolejne elementy zawijają się wokół niego, prowadzi właśnie do takich błędnych odpowiedzi. Z mojego doświadczenia lepiej jest najpierw narysować sobie prosty schemat: w jakiej kolejności idą znaczniki i które z nich mają pływać w prawo, a które zostać w naturalnym układzie. Dopiero wtedy dobiera się konkretne deklaracje CSS. Takie myślenie przydaje się nie tylko przy float, ale też przy nauce flexboxa czy grida, gdzie kolejność w DOM i własności układu też grają ogromną rolę.

Pytanie 36

Testy aplikacji webowej, których celem jest ocena wydajności aplikacji oraz bazy danych, a także architektury serwera i konfiguracji, określane są mianem testów

A. bezpieczeństwa
B. użyteczności
C. kompatybilności
D. funkcjonalności
Testy bezpieczeństwa koncentrują się na ocenie, jak dobrze aplikacja chroni dane użytkowników oraz jak reaguje na próby nieautoryzowanego dostępu. W tym kontekście testy te mają na celu identyfikację luk bezpieczeństwa, które mogłyby być wykorzystane przez atakujących. Testy te nie koncentrują się na aspektach skalowalności ani architektury serwera, a ich celem jest zapewnienie, że aplikacja jest odporna na zagrożenia. Z kolei testy funkcjonalności mają na celu weryfikację, czy wszystkie elementy aplikacji działają zgodnie z wymaganiami. Obejmują one testowanie poszczególnych funkcji i ich interakcji, ale nie badają wydajności systemu w warunkach dużego obciążenia ani nie analizują architektury bazy danych. Funkcjonalność aplikacji może być poprawna, ale nieprzystosowana do obsługi wzrastającej liczby użytkowników, co jest istotne w kontekście skalowalności. Testy użyteczności oceniają, jak łatwo użytkownicy mogą korzystać z aplikacji, koncentrując się na interfejsie, ergonomii oraz ogólnym doświadczeniu użytkownika. Choć te aspekty są niezwykle ważne, nie mają one bezpośredniego związku z testowaniem architektury serwera czy skalowalności systemu, co jest kluczowe dla odpowiedzi na postawione pytanie.

Pytanie 37

Jaką wartość w systemie RGB uzyskamy dla koloru zapisanego w kodzie heksadecymalnym: #1510FE?

A. rgb(21,16,255)
B. rgb(21,16,FE)
C. rgb(15,10,FE)
D. rgb(21,16,254)
Odpowiedź rgb(21,16,254) jest poprawna, ponieważ kolor zapisany w systemie heksadecymalnym #1510FE można rozłożyć na składowe RGB. W kodzie heksadecymalnym każdy z trzech kolorów (czerwony, zielony, niebieski) jest reprezentowany przez dwie cyfry. W przypadku #1510FE, pierwsze dwie cyfry (15) odnoszą się do wartości czerwonej, drugie dwie (10) do wartości zielonej, a ostatnie dwie (FE) do wartości niebieskiej. Te wartości musimy przeliczyć na system dziesiętny: czerwony to 21 (15 w systemie szesnastkowym to 21 w dziesiętnym), zielony to 16 (10 w szesnastkowym to 16 w dziesiętnym), a niebieski to 254 (FE w szesnastkowym to 254 w dziesiętnym). Tak więc końcowy wynik to rgb(21,16,254). W praktyce, znajomość konwersji kolorów jest kluczowa w projektowaniu graficznym, stron internetowych oraz aplikacji, gdzie precyzyjne odwzorowanie kolorów jest niezbędne dla uzyskania poprawnej estetyki i spójności wizualnej. Warto zaznaczyć, że standardy takie jak sRGB są powszechnie stosowane do definiowania kolorów w cyfrowych mediach, co zapewnia zgodność i przewidywalność w różnych urządzeniach wyświetlających te kolory.

Pytanie 38

Jakie właściwości stylu CSS poprawnie definiują dla akapitu czcionkę: Arial; jej wielkość: 16 pt; oraz styl czcionki: kursywa?

A. p {font-style: Arial; font-size: 16pt; font-variant: normal;}
B. p {font-family: Arial; font-size: 16pt; font-style: italic;}
C. p {font-family: Arial; font-size: 16px; font-variant: normal;}
D. p {font-style: Arial; size: 16px; font-weight: normal;}
Odpowiedź p {font-family: Arial; font-size: 16pt; font-style: italic;} jest poprawna, ponieważ zawiera wszystkie istotne właściwości, które definiują krój, rozmiar oraz styl czcionki dla akapitu. Właściwość font-family definiuje krój czcionki, w tym przypadku Arial, co jest zgodne z wymaganiami. Właściwość font-size ustawia rozmiar czcionki na 16 punktów (pt), co jest standardowym sposobem definiowania wielkości czcionki w kontekście typografii. Ponadto właściwość font-style została poprawnie użyta do określenia stylu pochylenia czcionki, co w CSS jest reprezentowane przez wartość italic. Te właściwości są zgodne z dobrymi praktykami w CSS, które zalecają precyzyjne definiowanie czcionek, aby zapewnić spójność w prezentacji tekstu. Przykładowo, stosując ten styl w dokumencie HTML, uzyskasz wyraźnie wyodrębniony akapit, który będzie atrakcyjny wizualnie i czytelny. Zastosowanie odpowiednich jednostek, takich jak pt dla rozmiaru czcionki, jest również istotne dla zapewnienia odpowiedniej skalowalności na różnych urządzeniach.

Pytanie 39

Jakie wartości zostaną wyświetlone kolejno w wyniku wykonania podanego skryptu?

<script language = "JavaScript">
var x = 1;
var y;
++y;
document.write(++x);
document.write(" ");
document.write(x--);
document.write(" ");
document.write(x);
</script>
A. 2 1 1
B. 1 2 2
C. 2 2 1
D. 1 2 1
Skrypt operuje na zmiennej x używając zarówno preinkrementacji jak i postdekrementacji co może być mylące jeśli nie jest się zaznajomionym z ich działaniem. W przypadku preinkrementacji ++x wartość zmiennej x jest najpierw zwiększana zanim zostanie wykorzystana w dalszym wyrażeniu. To jest kluczowe ponieważ oznacza że już przy pierwszym wypisaniu wartość x to 2 co jest często błędnie interpretowane jako 1 jeśli nie uwzględni się preinkrementacji. Z kolei postdekrementacja x-- oznacza że obecna wartość zmiennej jest używana zanim zostanie ona zmniejszona. To często jest źródłem błędów logicznych gdyż programista może oczekiwać że wartość zmiennej została już zaktualizowana. W efekcie druga wartość jest również 2 ponieważ dekrementacja następuje po użyciu wartości w wyrażeniu a dopiero trzecia instrukcja wypisuje wynik dekrementacji czyli 1. Zrozumienie tych mechanizmów jest kluczowe w kontekście pisania wydajnego i poprawnego kodu zwłaszcza w językach takich jak JavaScript gdzie operacje na zmiennych są powszechne. Warto zatem zwrócić uwagę na różnicę między pre- a post- operacjami aby uniknąć potencjalnych błędów w logice aplikacji i lepiej zarządzać przepływem danych w programach. Dobre praktyki programistyczne zalecają również konsystencję w korzystaniu z tych operatorów co pomaga w utrzymaniu czytelności i zrozumiałości kodu przez współpracowników i samego autora post factum. Tego rodzaju błędy należą do typowych wśród początkujących programistów i podkreślają znaczenie dokładnego testowania i dokumentowania kodu dla zapewnienia jego niezawodności i poprawności działania w różnorodnych kontekstach środowiskowych i użytkowych. Weryfikacja takich operacji w trakcie testów jednostkowych pozwala na wcześniejsze wykrycie i korektę błędów logicznych co jest zgodne z najlepszymi praktykami w inżynierii oprogramowania. Przy tym podejściu zmniejsza się również ryzyko nieoczekiwanych zachowań aplikacji w środowiskach produkcyjnych co może mieć kluczowe znaczenie w przypadku aplikacji o krytycznym znaczeniu dla biznesu.

Pytanie 40

Jaką rozdzielczość określa jednostka ppi (ang. pixels per inch)?

A. Skanujących urządzeń.
B. Obrazów bitmapowych.
C. Cyfrowych przyrządów dokonujących pomiarów.
D. Obrazów generowanych przez drukarki i plotery
Skanery są urządzeniami, które przetwarzają obrazy z analogowych źródeł na format cyfrowy, ale nie są bezpośrednio związane z rozdzielczością wyrażaną w ppi. Często mylnie zakłada się, że skanery działają na podobnych zasadach jak drukarki, jednak ich rozdzielczość jest mierzone w dpi (dots per inch), co odnosi się do punktów na cal, a nie pikseli. Obrazy rastrowe, chociaż mają swoje zastosowanie w kontekście ppi, nie są jedynym kontekstem dla tej jednostki. Rozdzielczość obrazów rastrowych odnosi się do ich jakości i szczegółowości, jednak ppi jest najczęściej używane w kontekście druku, a nie w samym tworzeniu obrazów rastrowych. Cyfrowe urządzenia wykonujące pomiary mogą mieć różne zastosowania, ale również nie odnoszą się do ppi w kontekście ich działania czy wydajności. Rozumienie, jak różne urządzenia i techniki pomiarowe używają różnych jednostek miary do określania rozdzielczości, jest kluczowe dla prawidłowego zrozumienia tematu. W branży graficznej oraz drukarskiej ważne jest, aby właściwie interpretować te jednostki oraz ich zastosowania w praktyce.