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: 8 kwietnia 2026 13:54
  • Data zakończenia: 8 kwietnia 2026 14:13

Egzamin zdany!

Wynik: 23/40 punktów (57,5%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Deklaracja typu dokumentu HTML: <!DOCTYPE HTML> wskazuje, że kod został stworzony w wersji

A. 7
B. 4
C. 6
D. 5
Gdy widzisz deklarację <!DOCTYPE HTML>, to znaczy, że mówimy o wersji HTML5. To obecny standard, który wprowadza naprawdę sporo nowych funkcji w porównaniu do wcześniejszych wersji. Na przykład, HTML5 pozwala na osadzanie audio i wideo bez potrzeby dodatkowych wtyczek, co jest super wygodne. Mamy też fajne semantyczne elementy jak <article>, <section> czy <nav>, które sprawiają, że łatwiej zorganizować treści na stronie. Ważne jest, żeby zawsze na początku dokumentu umieszczać tę deklarację, bo to pozwala przeglądarkom na prawidłowe wyświetlanie strony. Dzięki temu unikamy problemów z interpretacją kodu, co z doświadczenia mówię, jest naprawdę istotne.

Pytanie 2

Wskaź, która instrukcja jest równoważna z instrukcją switch w języku PHP?

Ilustracja do pytania
A. Instrukcja 3
B. Instrukcja 1
C. Instrukcja 2
D. Instrukcja 4
Instrukcja switch w PHP służy do wykonywania różnych bloków kodu w zależności od wartości wyrażenia. W podanym przykładzie, jeśli zmienna $liczba wynosi 10 lub 20, zostanie zwiększona o 1. W przeciwnym razie $liczba zostanie ustawiona na 0. Instrukcja 2 używa warunku if z operatorem or, który sprawdza, czy $liczba jest równa 10 lub 20, co odpowiada logice w switch. Dzięki temu, mimo że struktura instrukcji if różni się od switch, logika działania jest identyczna. Praktycznie, użycie instrukcji if z operatorem or w takich sytuacjach jest czytelne i wydajne zwłaszcza jeśli mamy do czynienia z ograniczoną liczbą warunków. Warto zauważyć, że switch jest bardziej efektywny, gdy mamy wiele przypadków do sprawdzenia, ale if z operatorami logicznymi jest bardziej elastyczny, co czyni go przydatnym w różnorodnych scenariuszach programistycznych. Dobre praktyki wskazują na wybór struktury kontrolnej w zależności od złożoności i specyfiki problemu, co pozwala na optymalizację czytelności i utrzymania kodu.

Pytanie 3

Jaki wynik przyjmie zmienna a po zakończeniu pętli w podanym fragmencie kodu PHP?

$i = 10; $a = 0;
while ($i)
{
    $a = $a + 2;
    $i--;
}
A. 20
B. 0
C. 2
D. 10
W podanym fragmencie kodu PHP zmienna a przyjmuje wartość 20 po zakończeniu pętli. Dzieje się tak, ponieważ pętla while wykonuje się, dopóki zmienna i jest różna od zera. Na początku i jest równe 10, a podczas każdej iteracji pętli zmienna a jest zwiększana o 2, a zmienna i jest dekrementowana o 1. W efekcie pętla wykonuje się dokładnie 10 razy, a w każdej iteracji wartość zmiennej a zwiększa się o 2. W rezultacie po 10 iteracjach zmienna a osiąga wartość 20. Takie podejście do pętli while jest często stosowane w programowaniu, gdy chcemy wykonać określoną liczbę iteracji, dopóki warunek logiczny jest spełniony. Jest to przykład dobrej praktyki, gdy kod jest czytelny i łatwy do zrozumienia. W praktyce programowania PHP pętle tego typu są używane do różnych operacji, takich jak przetwarzanie danych, iterowanie po elementach tablic, czy wykonywanie złożonych obliczeń, co ilustruje zrozumiałe i efektywne zastosowanie tej konstrukcji w PHP.

Pytanie 4

W poniższym zapisie CSS kolor zielony zostanie zastosowany do

h2
{
    background-color: green;
}
A. tła całej witryny
B. czcionki wszystkich nagłówków na stronie
C. czcionki nagłówka drugiego poziomu
D. tła tekstu nagłówka drugiego poziomu
Zrozumienie różnicy między background-color a innymi właściwościami CSS jest kluczowe dla poprawnego stylizowania elementów na stronach internetowych. Właściwość background-color nie wpływa na kolor czcionki, lecz jedynie na kolor tła określonego elementu. Dlatego zapis background-color: green; dla selektora h2 ustawia zielone tło dla wszystkich nagłówków drugiego stopnia na stronie. To skutecznie wyklucza możliwość, by dotyczyło to samej czcionki czy całej strony. Idea, że mógłby to być kolor czcionki dla nagłówków bądź całej strony, jest błędna, ponieważ do zmiany koloru czcionki używa się właściwości color, a nie background-color. Mylenie tych właściwości jest częstym błędem, jednak ich prawidłowe rozróżnienie pozwala na precyzyjne sterowanie wyglądem elementów. Przy zastosowaniu właściwych stylów można zyskać nie tylko na atrakcyjności wizualnej, ale także na dostępności i użyteczności. Warto też pamiętać o znaczeniu semantycznym tagów HTML, co w połączeniu z odpowiednim stylizowaniem wspiera lepszą indeksację przez wyszukiwarki internetowe oraz poprawia doświadczenie użytkownika w nawigacji po stronie. Takie zrozumienie pozwala na tworzenie stron zgodnych z aktualnymi standardami webowymi, promując dobre praktyki w projektowaniu interfejsów użytkownika. Zastosowanie zielonego tła dla <h2> jest zgodne z zasadami CSS, co pozwala na dokładne kontrolowanie stylu w nowoczesnych aplikacjach internetowych.

Pytanie 5

W języku PHP zapisano fragment kodu działającego na bazie MySQL. Jego zadaniem jest wypisanie

$z = mysqli_query($db, "SELECT ulica, miasto, kod_pocztowy FROM adresy");
$a = mysqli_fetch_row($z);
echo "$a[1], $a[2]";
A. miasta i kodu pocztowego ze wszystkich zwróconych rekordów.
B. ulicy i miasta z pierwszego zwróconego rekordu.
C. miasta i kodu pocztowego z pierwszego zwróconego rekordu.
D. ulicy i miasta ze wszystkich zwróconych rekordów.
Brawo, wybrałeś prawidłową odpowiedź. Twój fragment kodu PHP wykonuje zapytanie SQL, które wybiera kolumny 'ulica', 'miasto', 'kod_pocztowy' z tabeli 'adresy'. Następnie używasz funkcji mysqli_fetch_row(), która pobiera pierwszy zwrócony rekord jako indeksowaną tablicę. Funkcja echo wyświetla drugi i trzeci element tej tablicy (indeksy 1 i 2), które odpowiadają kolumnom 'miasto' i 'kod pocztowy'. To jest standardową praktyką w PHP, aby uzyskać dane z pierwszego zwróconego rekordu. Możesz zastosować tę wiedzę do tworzenia skomplikowanych zapytań SQL lub do tworzenia różnego rodzaju aplikacji webowych, które potrzebują interakcji z bazą danych.

Pytanie 6

W aplikacji PHP, która zarządza bazą danych, aby uzyskać numer błędu oraz jego opis po dokonaniu jakiejkolwiek operacji, jakie funkcje powinny być wykorzystane?

A. funkcje mysqli_error i mysqli_connect_errno
B. funkcje mysqli_error i mysqli_error_number
C. funkcje mysqli_error i mysqli_errno
D. tylko funkcję mysqli_error
Odpowiedź zawierająca funkcje mysqli_error i mysqli_errno jest prawidłowa, ponieważ obie te funkcje dostarczają istotnych informacji dotyczących błędów w kontekście operacji na bazie danych w PHP. Funkcja mysqli_error() zwraca opis ostatniego błędu, który wystąpił w kontekście połączenia z bazą danych. Natomiast mysqli_errno() zwraca numer tego błędu, co jest niezwykle przydatne w diagnostyce. Używanie obu funkcji razem pozwala nie tylko zidentyfikować błąd, ale również zrozumieć jego istotę. Na przykład, jeśli próbujemy wykonać zapytanie, które jest błędne syntaktycznie, można użyć tych funkcji do uzyskania zarówno komunikatu o błędzie, jak i jego kodu, co ułatwia debugowanie. W praktyce, stosowanie tych funkcji jest zgodne z najlepszymi praktykami w programowaniu PHP, ponieważ umożliwia skuteczne zarządzanie wyjątkami i błędami, co jest kluczowe w zapewnieniu stabilności aplikacji.

Pytanie 7

Jakie jest zadanie funkcji PHP o nazwie mysql_select_db?

A. nawiązać połączenie bazy danych z serwerem SQL
B. wyznaczyć bazę, z której będą pobierane informacje
C. pobrać dane z bazy danych na podstawie zapytania
D. wyznaczyć tabelę, z której będą pobierane informacje
Funkcja PHP mysql_select_db() jest używana do wyboru aktywnej bazy danych w kontekście połączenia z serwerem MySQL. Jej głównym celem jest określenie, z której bazy danych będą pobierane dane podczas wykonywania zapytań SQL. Działa to w ten sposób, że po nawiązaniu połączenia z serwerem MySQL za pomocą funkcji mysql_connect(), musimy wskazać, którą bazę danych chcemy używać. Przykład użycia to: mysql_select_db('nazwa_bazy');. Jeśli baza danych o podanej nazwie istnieje, zostaje ustawiona jako aktywna i wszystkie subsequentne zapytania będą odnosiły się do tej bazy. Warto również zauważyć, że w nowszych wersjach PHP zaleca się korzystanie z rozszerzenia mysqli lub PDO, ponieważ mysql_select_db() oraz inne funkcje z rodziny mysql zostały usunięte w PHP 7. Standardy dotyczące korzystania z baz danych, takie jak SQL, wymagają, aby przed wykonaniem zapytania, zdefiniować bazę danych, co czyni mysql_select_db() kluczowym elementem zarządzania danymi.

Pytanie 8

Aby uzyskać przezroczyste tło w obrazie formatu JPG, należy wykonać

A. użycie filtru Gaussa
B. korekcję nasycenia kolorów
C. właściwe przycięcie
D. dodanie kanału alfa
Poprawienie saturacji barw, kadrowanie czy zastosowanie filtru Gaussa, choć mogą być przydatnymi technikami w edycji obrazu, nie są odpowiednie do uzyskania przezroczystości tła. Saturacja barw odnosi się do intensywności kolorów w obrazie. Zwiększenie saturacji może sprawić, że kolory będą bardziej wyraziste, ale nie ma wpływu na przezroczystość tła. Kadrowanie to proces przycinania obrazu do określonego obszaru, co również nie wpływa na przezroczystość – może jedynie zmienić widoczność fragmentów obrazu. Zastosowanie filtru Gaussa, który jest techniką stosowaną do wygładzania lub rozmywania obrazu, może zmienić wygląd krawędzi, ale nie doda przezroczystości. Również nie jest możliwe uzyskanie kanału alfa przy użyciu tych metod, co prowadzi do powszechnego błędu myślowego, że zmiana kolorów lub kształtów obrazu bezpośrednio wpływa na przezroczystość. W kontekście cyfrowej obróbki obrazów kluczowe jest zrozumienie, że przezroczystość wymaga specyficznych operacji, takich jak dodanie kanału alfa oraz zapisanie obrazu w formacie, który to umożliwia, co nie jest osiągalne przez proste manipulacje kolorami lub filtry.

Pytanie 9

Rodzaj programowania, w którym zestaw poleceń (sekwencja instrukcji) przekazywanych komputerowi postrzega się jako program, określa się mianem programowania

A. stanowego
B. funkcyjnego
C. imperatywnego
D. logicznego
Wybór stanowego programowania wskazuje na podejście, które koncentruje się na stanach obiektów i ich interakcjach, co jest nieco mylące w kontekście pytania. Programowanie stanowe opisuje systemy, w których różne stany obiektu są monitorowane, a zmiany stanów następują w odpowiedzi na określone zdarzenia. Typowe błędy myślowe mogą wynikać z mylenia interakcji stanów z sekwencją poleceń, co prowadzi do nieporozumienia na temat tego, jak działają programy imperatywne. Z kolei programowanie logiczne opiera się na zasadach logiki i regułach wnioskowania, co jest zupełnie innym podejściem niż imperatywne, w którym to programista musi układać instrukcje w określonej kolejności. Programowanie funkcyjne, z drugiej strony, skupia się na funkcjach jako podstawowych jednostkach budulcowych programów. Różni się ono od programowania imperatywnego, które ma na celu zmianę stanu programu poprzez sekwencję instrukcji. Zrozumienie różnic między tymi paradygmatami jest kluczowe, ponieważ każdy z nich ma swoje unikalne zastosowania i najlepsze praktyki. Programiści powinni być świadomi wyboru odpowiedniego paradygmatu do konkretnego problemu, aby maksymalizować efektywność i jakość kodu.

Pytanie 10

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_fetch_array($zapytanie)
B. mysqli_query($zapytanie)
C. mysqli_free_result($zapytanie)
D. mysqli_num_fields($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 11

W przypadku przedstawionego fragmentu kodu walidator HTML zgłosi błąd, ponieważ

<img src="kwiat.jpg alt="kwiat">
A. użyto niewłaściwego znacznika do wyświetlenia obrazu
B. nie zamknięto cudzysłowu
C. nie odnaleziono pliku kwiat.jpg
D. wprowadzono nieznany atrybut alt
Poprawna odpowiedź to nie domknięto cudzysłowu ponieważ w kodzie HTML atrybuty muszą być poprawnie zamknięte aby poprawnie interpretować ich wartości. W przedstawionym fragmencie kodu dla znacznika img brakuje końcowego cudzysłowu po wartości src co stanowi błąd składniowy. Tego typu błędy mogą prowadzić do nieprawidłowego działania strony ponieważ przeglądarka nie jest w stanie jednoznacznie określić końca wartości atrybutu co może skutkować nieprawidłowym renderowaniem danych. Zgodnie z najlepszymi praktykami każde otwarte cudzysłowie powinno być zamknięte aby zapewnić poprawną interpretację kodu. Ponadto stosowanie poprawnego zamykania cudzysłowów zwiększa czytelność kodu co jest istotne przy współpracy zespołowej i ułatwia jego utrzymanie. Warto także korzystać z walidatorów HTML które automatycznie wykrywają takie błędy pomagając w ich szybkim usunięciu. Tego rodzaju narzędzia są kluczowe w procesie tworzenia stron internetowych ponieważ umożliwiają weryfikację zgodności kodu z obowiązującymi standardami co ma bezpośredni wpływ na jego wydajność i kompatybilność z różnymi przeglądarkami.

Pytanie 12

Na obrazie przedstawiono projekt układu bloków witryny internetowej. Zakładając, że bloki są realizowane za pomocą znaczników sekcji, ich formatowanie w CSS, oprócz ustawionych szerokości, powinno zawierać właściwość

BLOK 1BLOK 2
BLOK 3BLOK 4
BLOK 5
A. float: left dla wszystkich bloków.
B. clear: both dla wszystkich bloków.
C. clear: both dla bloku 5 oraz float: left jedynie dla 1 i 2 bloku.
D. clear: both dla bloku 5 oraz float: left dla pozostałych bloków.
Hmm, tutaj coś poszło nie tak. Wybrałeś opcję z `clear: both`, ale to nie do końca pasuje do tego zadania. `clear: both` w CSS służy głównie do resetowania pływania bloków, więc jak masz blok z tym ustawieniem, to następny nie będzie obok niego, tylko przesunie się na dół. A w tym przypadku nie musisz resetować pływania, bo to nie jest potrzebne. Wiem, że wybór `float: left` dla niektórych bloków może wydawać się dobrym pomysłem, ale żeby wszystko się poprawnie ułożyło, musisz zastosować `float: left` dla wszystkich bloków. I pamiętaj, żeby im ustawić szerokość, bo inaczej bloków może się nie udać ułożyć w poziomie.

Pytanie 13

Który z poniższych typów plików NIE JEST używany do publikacji grafiki lub animacji na stronach www?

A. PNG
B. SWF
C. SVG
D. AIFF
AIFF (Audio Interchange File Format) to format plików dźwiękowych, który nie jest wykorzystywany do publikacji grafiki ani animacji na stronach internetowych. Jego głównym zastosowaniem jest przechowywanie wysokiej jakości dźwięku, dlatego znajdujemy go często w produkcjach audio i nagraniach muzycznych. W przeciwieństwie do formatów jak SVG (Scalable Vector Graphics), SWF (Shockwave Flash) czy PNG (Portable Network Graphics), które są przeznaczone do grafiki i animacji, AIFF nie jest odpowiedni do wizualizacji treści w sieci. Przykładowo, SVG jest często wykorzystywany do tworzenia skalowalnych grafik wektorowych, które są popularne w projektowaniu stron internetowych, a PNG jest formatem rastrowym, który świetnie sprawdza się w przypadku obrazów z przezroczystością. W kontekście publikacji internetowych, kluczowe jest stosowanie odpowiednich formatów, które zapewniają optymalizację i zgodność z różnymi przeglądarkami, a AIFF nie spełnia tych wymagań.

Pytanie 14

Którą wartość atrybutu name znacznika <meta> wykorzystuje się do kontrolowania obszaru widzialnego na różnych urządzeniach, na których jest wyświetlana strona internetowa?

A. keywords
B. description
C. generator
D. viewport
W tym zadaniu kluczowe jest zrozumienie, że tylko meta o name="viewport" ma realny wpływ na sposób, w jaki przeglądarka wyznacza obszar widzialny strony na różnych urządzeniach. To właśnie ten atrybut informuje silnik renderujący, jak interpretować szerokość i skalę dokumentu HTML na ekranach o różnych rozdzielczościach i gęstościach pikseli. Pozostałe podane opcje pełnią zupełnie inne role i ich pomylenie z viewportem wynika zwykle z tego, że wszystkie są „jakimiś metadanymi” w <head>. Atrybut name="keywords" był kiedyś używany głównie dla wyszukiwarek do opisu słów kluczowych strony. Obecnie większość wyszukiwarek go ignoruje, bo był masowo nadużywany do spamowania słowami kluczowymi. Nie ma on żadnego związku z responsywnością, skalowaniem strony czy dopasowaniem do ekranu telefonu. To tylko tekstowa informacja, która nie wpływa na sposób renderowania layoutu. Podobnie meta name="description" służy do przekazania krótkiego opisu strony, który często pojawia się jako fragment w wynikach wyszukiwania (snippet). To ważny element SEO i użyteczności, ale ponownie – nie steruje szerokością widoku, nie zmienia zoomu i nie mówi przeglądarce, jak ma „ułożyć” stronę na małym ekranie. To czysta informacja opisowa. Z kolei meta name="generator" jest używana głównie przez systemy CMS (np. WordPress, Joomla) do wpisania nazwy i wersji narzędzia, którym strona została wygenerowana. Ma znaczenie informacyjne, czasem diagnostyczne, ale z punktu widzenia użytkownika końcowego i wyglądu strony nie wnosi nic. Nie wpływa ani na skalę, ani na szerokość, ani na responsywność. Typowym błędem jest wrzucanie wszystkich metatagów do jednego worka i zakładanie, że skoro „meta coś tam”, to pewnie ma wpływ na wyświetlanie strony. W rzeczywistości tylko meta viewport wprost steruje parametrami widoku na urządzeniach mobilnych. Dlatego przy projektowaniu stron responsywnych warto oddzielić w głowie metadane SEO (keywords, description, generator) od metadanych technicznych związanych z renderowaniem (właśnie viewport).

Pytanie 15

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

A. 1..1
B. n..n
C. n..1
D. 1..n
Błędne odpowiedzi 1..n, n..1 oraz n..n wskazują na różne typy relacji, które nie odpowiadają sytuacji opisanej w pytaniu. Relacja 1..n sugeruje, że jeden rekord w pierwszej tabeli może być powiązany z wieloma rekordami w drugiej tabeli. Przykładem może być relacja między tabelą 'Klienci' i 'Zamówienia', gdzie każdy klient może mieć wiele zamówień. Tego typu relacja nie jest możliwa z kluczem głównym, ponieważ klucz główny jest unikalny dla każdego rekordu. Podobnie, relacja n..1 oznacza, że wiele rekordów w pierwszej tabeli odnosi się do jednego rekordu w drugiej. Może to być interpretowane w kontekście danych, gdzie wiele produktów może być przypisanych do jednego dostawcy. W kontekście kluczy głównych, to również jest niepoprawne, ponieważ klucz główny w jednej tabeli powinien jednoznacznie identyfikować każdy rekord. Natomiast relacja n..n, która oznacza wiele rekordów w obu tabelach, jest również błędna w tym przypadku. Przykładem może być relacja między 'Użytkownikami' i 'Grupami', gdzie użytkownicy mogą należeć do wielu grup, a grupy mogą mieć wielu użytkowników. Żaden z tych typów relacji nie bierze pod uwagę unikalnych powiązań, które można osiągnąć tylko poprzez relację 1..1. Często błędy te wynikają z niepełnego zrozumienia zasad normalizacji baz danych oraz specyficznych zastosowań kluczy głównych, co prowadzi do błędnych wniosków o strukturze danych.

Pytanie 16

Do czego wykorzystywany jest program debugger?

A. do przetwarzania kodu napisanego w języku wyższego poziomu na język maszynowy
B. do analizy działającego programu w celu odnalezienia błędów
C. do interpretacji kodu w wirtualnej maszynie Java
D. do badania kodu źródłowego w celu wykrycia błędów składniowych
Pomimo że niektóre odpowiedzi mogą wydawać się bliskie prawdy, należy zrozumieć istotne różnice między funkcjami debuggera a innymi narzędziami w ekosystemie programistycznym. Interpretacja kodu w wirtualnej maszynie Java nie jest zadaniem debuggera, lecz specyficzną funkcją maszyny wirtualnej, która wykonuje programy napisane w języku Java. Ta odpowiedź myli koncepcję uruchamiania kodu z jego analizą i diagnostyką. Z kolei analiza kodu źródłowego w celu odnalezienia błędów składniowych odnosi się do działania kompilatora, który sprawdza poprawność składniową przed uruchomieniem programu, podczas gdy debugger działa na już uruchomionym kodzie. Tłumaczenie kodu zapisanego w języku wyższego poziomu na język maszynowy to proces kompilacji, który ma miejsce przed wykonaniem programu. Debugger, zamiast tego, koncentruje się na dynamicznej analizie działania programu, co jest kluczowe podczas testowania i naprawiania błędów. Zrozumienie tych różnic jest niezbędne, aby poprawnie wykorzystać narzędzia dostępne w procesie tworzenia oprogramowania oraz aby unikać typowych błędów myślowych, takich jak mylenie etapu kompilacji z etapem wykonania.

Pytanie 17

Podaj polecenie SQL, które pozwoli na dodanie kolumny miesiacSiewu do tabeli rośliny znajdującej się w bazie danych

A. UPDATE rośliny ADD miesiacSiewu int;
B. INSERT INTO rośliny VALUES (miesiacSiewu int);
C. ALTER TABLE rośliny ADD miesiacSiewu int;
D. CREATE TABLE rośliny {miesiacSiewu int};
Odpowiedź 'ALTER TABLE rośliny ADD miesiacSiewu int;' jest jak najbardziej na miejscu. Używasz tutaj komendy SQL 'ALTER TABLE', co jest standardem, jeśli chcesz coś zmienić w już istniejącej tabeli. W tym przypadku dodajesz nowe pole 'miesiacSiewu' w formacie 'int' do tabeli 'rośliny'. Fajnie, bo dodawanie kolumn w relacyjnych bazach danych to chleb powszedni, zwłaszcza gdy musisz dodać nowe informacje. Na przykład, jak chcesz wiedzieć, kiedy siać rośliny, to zrobienie tego przy pomocy tej komendy pozwoli Ci trzymać te dane blisko innych szczegółów roślin. Warto też pamiętać, żeby nowe kolumny były dobrze indeksowane lub miały jakieś wartości domyślne, bo to może przyspieszyć zapytania do bazy. Tego typu operacje są naprawdę ważne w zarządzaniu bazami danych, bo dają Ci elastyczność, żeby dostosować strukturę bazy do potrzeb Twojej aplikacji.

Pytanie 18

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

A. wykluczenia.
B. części wspólnej.
C. sumy.
D. grupowania.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 19

Baza danych zawiera tabelę uczniowie z kolumnami: imie, nazwisko, klasa. Jakie polecenie SQL powinno być użyte, aby wyświetlić imiona i nazwiska uczniów, których nazwiska zaczynają się na literę M?

A. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko = "M%"
B. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN "M%"
C. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE "M%"
D. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN "M%"
Wybór opcji SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE "M%" jest poprawny, ponieważ używa klauzuli WHERE do filtrowania rekordów na podstawie warunków. Operator LIKE pozwala na wyszukiwanie wzorców w danych tekstowych, a symbol % jest używany jako wildcard, co oznacza, że zastępuje dowolny ciąg znaków. Dzięki temu zapytanie zwraca wszystkich uczniów, których nazwiska zaczynają się na literę M. Takie podejście jest zgodne z najlepszymi praktykami w SQL, gdzie klauzula WHERE jest fundamentalnym elementem selekcji danych. W praktyce, gdy chcemy wyszukiwać dane w bazach danych, użycie LIKE w połączeniu z symbolami wieloznacznymi (takimi jak %) jest powszechną techniką, stosowaną w aplikacjach webowych i systemach zarządzania danymi. Przykładowo, w systemie szkolnym, takie zapytanie może być używane do generowania listy uczniów w celu wysyłania powiadomień lub gromadzenia informacji o postępach w nauce.

Pytanie 20

Tabela o nazwie naprawy zawiera kolumny klient oraz czyNaprawione. Jakie polecenie należy wykonać, aby usunąć te rekordy, w których wartość w kolumnie czyNaprawione jest prawdziwa?

A. DELETE klient FROM naprawy WHERE czyNaprawione= TRUE;
B. DELETE FROM naprawy;
C. DELETE naprawy WHERE czyNaprawione= TRUE;
D. DELETE FROM naprawy WHERE czyNaprawione= TRUE;
Odpowiedź 'DELETE FROM naprawy WHERE czyNaprawione= TRUE;' jest poprawna, ponieważ precyzyjnie wskazuje, które rekordy mają być usunięte z tabeli 'naprawy'. W SQL, polecenie DELETE jest używane do usuwania rekordów z bazy danych, a klauzula WHERE jest kluczowa, aby ograniczyć operację do tych rekordów, które spełniają określone warunki. W tym przypadku, warunek 'czyNaprawione= TRUE' wskazuje, że chcemy usunąć tylko te rekordy, dla których naprawa została już zakończona. W praktyce, stosowanie klauzuli WHERE jest niezbędne, aby uniknąć usunięcia wszystkich rekordów z danej tabeli, co mogłoby prowadzić do utraty cennych danych. W kontekście dobrych praktyk, zawsze należy być ostrożnym przy używaniu polecenia DELETE i dokładnie weryfikować warunki znajdujące się w klauzuli WHERE. Dodatkowo, przed przeprowadzeniem operacji usuwania, warto wykonać zapytanie SELECT z tymi samymi warunkami, aby upewnić się, które rekordy zostaną usunięte, co pozwala na uniknięcie niezamierzonych skutków.

Pytanie 21

W programie do edytowania grafiki rastrowej zmieniono krzywe kolorów w sposób zaznaczony ramką na pokazanym obrazie. Jakie jest to działanie?

Ilustracja do pytania
A. przyciemnienie całego obrazu
B. modyfikację najjaśniejszych i najciemniejszych kolorów obrazu
C. wygładzenie krawędzi na obrazie
D. rozjaśnienie całego obrazu
Modyfikacja krzywych kolorów w programach do obróbki grafiki rastrowej jest zaawansowanym narzędziem służącym do precyzyjnej regulacji tonalnej obrazu. Krzywe pozwalają na kontrolę nad najjaśniejszymi i najciemniejszymi partiami obrazu poprzez modyfikację kanałów RGB lub wartości jasności. W zaznaczonej na obrazku ramce widać, że punkty kontrolne krzywej zostały przesunięte, co wskazuje na zmianę tonacji skrajnych wartości jasności. Tego typu operacja jest często stosowana w celu poprawy kontrastu i ogólnego wyglądu zdjęcia. Standardową praktyką jest tu podnoszenie i opuszczanie punktów na krzywej, co daje możliwość uwydatnienia szczegółów w cieniach oraz światłach bez wpływu na średnie tony. Modyfikacja krzywych jest zgodna z profesjonalnymi standardami edycji, ponieważ umożliwia uzyskanie efektów niedostępnych przy użyciu prostych suwaków jasności lub kontrastu. Praktyczne zastosowanie znajduje m.in. w fotografii portretowej, gdzie często konieczne jest subtelne dostosowanie tonacji skóry oraz w krajobrazach, gdzie ważne jest zachowanie detali w jasnych niebie i ciemnych cieniach ziemi. Stosując krzywe, można precyzyjnie regulować każdy aspekt tonalny obrazu, co jest kluczowe w profesjonalnej edycji graficznej.

Pytanie 22

Jakie źródło danych może posłużyć do stworzenia raportu?

A. zapytanie SELECT
B. projekt raportu
C. etykieta
D. zapytanie ALTER
Etykieta jako źródło danych dla raportu nie jest najlepszym pomysłem, bo sama etykieta nie ma danych, które można by analizować. To jakby mieć tylko opakowanie bez zawartości. Projekt raportu także nie nadaje się jako źródło, bo mówi głównie o tym, jak coś powinno wyglądać, a nie jakie info powinno być w środku. Ważne jest, żeby źródłem danych były konkretne tabele czy zapytania, które dostarczają faktyczną wiedzę. Co do zapytania ALTER, to też jest pewne nieporozumienie, bo ono służy do zmiany struktury bazy, a nie do pobierania danych. Może zmieniać kolumny czy tabelę, ale nie da nam informacji do raportu. Zdarza się, że mylimy różne funkcje w SQL, co prowadzi do użycia niewłaściwych narzędzi do analizy. Dlatego warto wiedzieć, do czego dokładnie służą zapytania SQL, żeby dobrze zarządzać danymi i robić sensowne raporty.

Pytanie 23

Elementem, który odnosi się do imienia Agata w pokazanej tablicy JavaScript, jest

Ilustracja do pytania
A. Imiona[4]
B. Imiona['Agata']
C. Imiona[3]
D. Imiona[Agata]
W przypadku odpowiedzi Imiona[4] jest kilka błędów związanych z tym, jak działają tablice. Wiesz, w JavaScript zaczynamy liczyć od zera, więc pierwszy element ma indeks 0, a ostatni w tablicy o długości n to n-1. Nasza tablica ma pięć imion, więc ostatni element Agata ma indeks 3, a nie 4. Użycie Imiona[Agata] jest po prostu błędne, bo w tablicach musisz dawać liczby jako indeksy, nie tekst. Jak spróbujesz użyć tekstu jako indeksu, to interpreter nie znajdzie tego elementu i wywali błąd. W kontekście Imiona['Agata'] sytuacja jest ta sama, bo tablice przyjmują tylko numery. Wydaje mi się, że mogło być nieporozumienie między tablicami a obiektami, bo tam można używać tekstowych kluczy. Pamiętaj, że poprawne indeksowanie tablicy to bardzo ważna umiejętność w programowaniu, bo dzięki temu zarządzasz danymi i unikasz różnych błędów.

Pytanie 24

Jakiego języka można użyć do obsługi połączenia z bazą danych MySQL podczas rozwijania aplikacji webowej?

A. HTML
B. XHTML
C. PHP
D. CSS
PHP jest językiem skryptowym, który jest szeroko stosowany do tworzenia dynamicznych aplikacji internetowych, a jego zdolność do interakcji z bazami danych, takimi jak MySQL, czyni go idealnym narzędziem do obsługi połączeń z bazą danych. PHP umożliwia programistom wysyłanie zapytań SQL do bazy danych, wykonywanie operacji CRUD (tworzenie, odczyt, aktualizacja, usuwanie) oraz przetwarzanie wyników, co jest kluczowe w nowoczesnym tworzeniu aplikacji webowych. Przykładowy kod PHP do nawiązania połączenia z bazą danych MySQL może wyglądać następująco: $conn = new mysqli('localhost', 'username', 'password', 'database');. W przypadku niepowodzenia połączenia, można użyć if ($conn->connect_error) { die('Connection failed: ' . $conn->connect_error); }. PHP wspiera również różne techniki zabezpieczeń, takie jak przygotowywanie zapytań, co znacząco zwiększa bezpieczeństwo aplikacji przed atakami typu SQL Injection. Dokumentacja PHP oraz standardy, takie jak PSR (PHP Standards Recommendations), dostarczają programistom niezbędnych wytycznych, aby tworzyć wydajne i bezpieczne aplikacje. Dzięki swojej elastyczności i wszechstronności, PHP stał się językiem pierwszego wyboru dla programistów zajmujących się tworzeniem aplikacji internetowych z interfejsem do baz danych.

Pytanie 25

Jaką właściwość należy zastosować w stylu CSS, aby określić krój czcionki?

A. font-style
B. text-style
C. font-family
D. text-family
Właściwości 'text-style', 'font-style' oraz 'text-family' są niepoprawne w kontekście definiowania kroju czcionki w CSS. Właściwość 'text-style' nie istnieje w standardzie CSS, co czyni ją niepoprawną i prowadzi do nieporozumień w definiowaniu stylów tekstu. Z kolei 'font-style' odpowiada za określenie stylu czcionki, takiego jak kursywa czy pogrubienie, ale nie definiuje samej rodziny czcionek. Użycie 'font-style' bez skonkretyzowania rodziny czcionek (np. 'font-family') nie przynosi oczekiwanych rezultatów i może prowadzić do błędów w prezentacji tekstu. 'Text-family' również nie jest uznaną właściwością w CSS, co podkreśla, jak ważne jest opanowanie terminologii i właściwości CSS, aby uniknąć takich pomyłek. Świadomość tych różnic jest kluczowa w procesie projektowania stron internetowych oraz w praktyce programowania, ponieważ użycie niewłaściwych właściwości prowadzi do błędnych interpretacji przez przeglądarki, co znacząco wpływa na ostateczny wygląd strony. Właściwe zrozumienie i zastosowanie 'font-family' jest fundamentalne w tworzeniu estetycznych oraz funkcjonalnych interfejsów użytkownika.

Pytanie 26

Jak określa się program, który realizuje polecenia zawarte w kodzie źródłowym tworzonego oprogramowania bez wcześniejszego generowania programu wynikowego?

A. Konwerter języka
B. Interpreter
C. Konwerter kodu
D. Kompilator
Kompilator to narzędzie, które przekształca kod źródłowy zapisany w jednym języku programowania na kod maszynowy lub inny język pośredni, co umożliwia jego późniejsze wykonanie. Proces ten, choć efektywny w kontekście wydajności końcowego programu, nie jest odpowiedni w sytuacjach, gdy celem jest natychmiastowe wykonanie kodu. Podobnie, konwerter kodu i konwerter języka to pojęcia, które mogą sugerować przekształcanie kodu, ale nie wykonują one kodu bezpośrednio, a raczej zajmują się zmianą jego formatu lub języka, co w wielu przypadkach wymaga wcześniejszego przetworzenia. Często mylone są te pojęcia, co może prowadzić do nieporozumień w zrozumieniu, jak różne narzędzia programistyczne wpływają na proces tworzenia aplikacji. Zrozumienie różnicy między tymi narzędziami jest kluczowe, ponieważ wpływa na wybór technologii oraz metodologii pracy nad projektami. Utrata kontekstu dotyczącego szybkości, efektywności i elastyczności w podejściu do programowania może prowadzić do błędów w planowaniu pracy oraz do wydłużenia czasów realizacji projektów. Z tego względu, w praktyce programistycznej kluczowe jest dostrzeganie tych różnic i umiejętne ich wykorzystanie w zależności od potrzeb projektu.

Pytanie 27

W PHP użyto funkcji is_float(). Które z wymienionych wywołań tej funkcji zwróci wartość true?

A. is_float(334)
B. is_float('3,34')
C. is_float(3.34)
D. is_float(NULL)
Funkcja is_float() w języku PHP jest używana do sprawdzania, czy dany argument jest typu float. W przypadku wywołania is_float(3.34), wartość 3.34 jest literalnym zapisem liczby zmiennoprzecinkowej, co oznacza, że jest to poprawny typ danych. W praktycznych zastosowaniach, weryfikacja typu zmiennej jest istotna, szczególnie przy pracy z danymi, gdzie precyzyjne typowanie jest kluczowe, na przykład w obliczeniach finansowych. Gdy pracujemy z danymi z formularzy, często musimy upewnić się, że wartości są odpowiednich typów, aby uniknąć błędów w obliczeniach. Warto również zauważyć, że PHP automatycznie konwertuje typy danych, ale zawsze lepiej jest explicite kontrolować typy, zwłaszcza w bardziej złożonych aplikacjach. Standardem dobrych praktyk jest stosowanie is_float() w sytuacjach, gdzie ważne jest potwierdzenie, że zmienna jest typu float przed jej użyciem w kontekście wymagającym tego typu, co zwiększa czytelność i stabilność kodu.

Pytanie 28

Jakiego wyniku można się spodziewać po wykonaniu zapytania na przedstawionej tabeli?

SELECTCOUNT(DISTINCT wykonawca)
FROM`muzyka`;
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzesław Niemen2005Przyjdź W Taka Noc itp.
2IkonaStan Borys2014
3AerolitCzesław Niemen2017Winylowa reedycja płyty "Aerolit"
4JourneyMikołaj Czechowski2013
A. 0
B. 3
C. 4
D. 1
Zapytanie SELECT COUNT(DISTINCT wykonawca) FROM muzyka; ma na celu zliczenie unikalnych wykonawców w tabeli muzyka. Kluczowym błędem jest brak zrozumienia działania funkcji DISTINCT która eliminuje duplikaty i pozwala na zliczenie jedynie różniących się wartości. Należy zatem odrzucić wszelkie odpowiedzi sugerujące liczbę większą niż 3 ponieważ w tabeli są obecne tylko trzy unikalne wartości w kolumnie wykonawca: Czesław Niemen Stan Borys oraz Mikołaj Czechowski. Często popełnianym błędem jest mylne założenie że każda unikalna wartość w konkretnej kolumnie powinna być liczona wielokrotnie co odbiega od celu analizy unikalności danych. W kontekście administracji bazami danych i analizy SQL zrozumienie funkcji DISTINCT jest kluczowe dla dokładności raportowania i optymalizacji wydajności zapytań. Wiedza o tym jak działa COUNT w połączeniu z DISTINCT pomaga w skutecznym projektowaniu zapytań w celu uzyskania dokładnych wyników. Zastosowanie tej wiedzy jest niezbędne w analizie danych biznesowych i przy tworzeniu precyzyjnych raportów dla różnych interesariuszy. Poprawne zrozumienie i implementacja tego mechanizmu wspiera efektywne zarządzanie danymi i podejmowanie decyzji opartych na faktach. Przygotowanie do egzaminu powinno obejmować praktyczne zastosowanie tych koncepcji co ułatwi ich intuicyjne wykorzystanie w sytuacjach zawodowych.

Pytanie 29

Zapis koloru w formacie #ff00e0 jest równoważny reprezentacji

A. rgb(ff, 0, e0)
B. rgb(255, 0, 224)
C. rgb(255, 0, 128)
D. rgb(f, 0, e0)
Odpowiedź rgb(255, 0, 224) jest poprawna, ponieważ kolor zapisany w formacie szesnastkowym #ff00e0 odpowiada wartościom RGB, gdzie 'ff' oznacza maksymalną wartość czerwonego koloru (255), '00' oznacza zerową wartość zielonego koloru (0), a 'e0' odpowiada wartości niebieskiego koloru w systemie szesnastkowym, co daje 224 w systemie dziesiętnym. W praktyce oznacza to, że mamy do czynienia z kolorem różowym, z dominującym światłem czerwonym i niebieskim, co tworzy ciekawe odcienie. Taki sposób reprezentacji kolorów jest powszechnie stosowany w web designie i grafice komputerowej, co pozwala na łatwe i precyzyjne definiowanie kolorów w stylach CSS oraz HTML. Przykładowo, używanie kodów szesnastkowych do definiowania kolorów w kodzie CSS jest standardową praktyką, umożliwiającą spójną i estetyczną prezentację treści wizualnych na stronach internetowych.

Pytanie 30

W bazie danych znajduje się tabela o nazwie faktury, która posiada pola: numer, data, id_klienta, wartosc, status. Każdego dnia tworzony jest raport dotyczący faktur z danego dnia. W raporcie prezentowane są jedynie numery oraz wartości faktur. Która z poniższych kwerend SQL jest odpowiednia do wygenerowania tego raportu?

A. SELECT numer, wartosc FROM faktury WHERE data = CURRENT_DATE();
B. SELECT numer, wartosc FROM faktury;
C. SELECT * FROM faktury;
D. SELECT * FROM faktury WHERE data = CURRENT_DATE();
Wszystkie inne kwerendy SQL, które nie uwzględniają warunku WHERE z datą, są nieprawidłowe w kontekście zadania, ponieważ nie spełniają konkretnego celu ograniczenia wyników do faktur z bieżącego dnia. Kwerenda SELECT numer, wartosc FROM faktury; zwraca wszystkie numery i wartości faktur bez żadnej filtracji, co jest niezgodne z wymaganiami raportu. W praktyce, generując raporty, istotne jest, aby zapewnić, że dane są aktualne i odpowiadają określonym kryteriom. Następnie, kwerenda SELECT * FROM faktury WHERE data = CURRENT_DATE();, mimo że zawiera poprawny warunek daty, nie ogranicza kolumn do tych wymaganych w zadaniu, co prowadzi do nieefektywnego przetwarzania danych i obciążenia systemu. Ostatecznie, użycie SELECT * FROM faktury; jest najbardziej nieodpowiednie, ponieważ zwraca wszystkie informacje z tabeli, co jest niepraktyczne w kontekście codziennego raportowania. Taka praktyka może prowadzić do nadmiarowych danych, które są w większości niepotrzebne, a tym samym zwiększa czas wykonania zapytania, co jest przeciwwskazane w dobrze zaprojektowanych systemach baz danych. Właściwe formułowanie zapytań SQL, które zawierają tylko niezbędne pola, jest kluczowym aspektem efektywności i optymalizacji zapytań w bazach danych.

Pytanie 31

Który z elementów jest opcjonalny w kodzie HTML5 i jego pominięcie nie spowoduje wygenerowania błędu lub ostrzeżenia walidatora HTML?

A. <html lang="pl">
B. <title>Tytuł strony</title>
C. <meta name="keywords" content="">
D. <!DOCTYPE html>
To pytanie bardzo dobrze pokazuje różnicę między elementami wymaganymi przez specyfikację HTML5 a tymi, które są tylko dodatkowymi informacjami. Wiele osób myli tu pojęcie „często używany” z „obowiązkowy” i stąd biorą się błędne odpowiedzi. Deklaracja <!DOCTYPE html> w HTML5 jest kluczowa, bo informuje przeglądarkę, że ma interpretować dokument w trybie standardowym, zgodnie z HTML5, a nie w jakimś starym „quirks mode”. Jeśli ją pominiesz, walidator HTML będzie zgłaszał problemy, a przeglądarka może zacząć zachowywać się nieprzewidywalnie. To nie jest tylko formalność – brak doctype potrafi rozwalić działanie CSS-ów, szczególnie w starszych przeglądarkach. Dlatego w dobrych praktykach tworzenia stron WWW doctype jest zawsze na samym początku dokumentu. Podobnie element html z atrybutem lang, np. <html lang="pl">, jest bardzo ważny z punktu widzenia dostępności (WCAG, ARIA). Określenie języka dokumentu pomaga czytnikom ekranu i narzędziom asystującym poprawnie odczytywać treść. Walidatory HTML potrafią zgłaszać ostrzeżenia, gdy lang jest pominięty, bo to narusza dobre praktyki i wytyczne dotyczące dostępności. W nowoczesnych projektach webowych brak lang jest traktowany jako błąd jakościowy, nawet jeśli strona „jakoś działa”. Znacznik <title> w sekcji head też nie jest dowolny. Tytuł dokumentu jest wymagany przez specyfikację HTML, a jego brak może generować ostrzeżenia walidatora. Dodatkowo wpływa on na to, jak strona jest prezentowana w karcie przeglądarki, w historii, w zakładkach oraz w wynikach wyszukiwania. Z mojego doświadczenia brak tytułu to sygnał, że ktoś po prostu zaniedbuje podstawy semantyki HTML. Element meta name="keywords" jest inny od poprzednich. To tylko dodatkowy metatag, który nie wpływa na strukturę dokumentu, nie jest wymagany przez standard i obecnie nie ma realnego znaczenia dla SEO. Typowy błąd myślowy polega na tym, że skoro „kiedyś wszyscy kazali go wpisywać”, to musi być obowiązkowy. W HTML5 to po prostu opcjonalna ciekawostka. Właśnie dlatego jedynie jego pominięcie nie spowoduje błędów ani ostrzeżeń walidatora, natomiast ignorowanie doctype, lang czy title jest wbrew dobrym praktykom tworzenia stron WWW i standardom branżowym.

Pytanie 32

Aby wykorzystać skrypt znajdujący się w pliku przyklad.js, konieczne jest połączenie go ze stroną przy użyciu kodu

A. <script>przyklad.js</script>
B. <link rel="script" href="przyklad.js">
C. <script src="przyklad.js"></script>
D. <script link="przyklad.js"></script>
Odpowiedź <script src="przyklad.js"></script> jest naprawdę na miejscu, bo użycie atrybutu 'src' w znaczniku <script> to taki standardowy sposób dołączania zewnętrznych skryptów JS do HTML-a. Atrybut 'src' mówi przeglądarce, gdzie znaleźć ten skrypt, więc może go załadować i wykonać. Dzięki temu, skrypt z pliku 'przyklad.js' wchodzi w interakcję ze stroną i może dodawać różne funkcje, jak na przykład reagowanie na działania użytkownika czy manipulowanie elementami na stronie. Pamiętaj, że najlepiej dołączać skrypty na końcu dokumentu, zaraz przed </body>, bo wtedy cała zawartość strony ładuje się najpierw. Warto też pomyśleć o atrybucie 'defer' lub 'async', żeby lepiej zoptymalizować ładowanie skryptów i nie blokować renderowania strony. Na przykład, <script src="przyklad.js" defer></script> pozwoli na asynchroniczne ładowanie, co z pewnością poprawia wydajność.

Pytanie 33

W języku CSS, aby zdefiniować marginesy zewnętrzne o wartościach: margines górny i dolny 20 px, lewy i prawy 40 px należy użyć kodu

A. margin: 20px 40px;
B. margin: 40px 20px;
C. margin: 20px 20px 40px 40px;
D. margin: 20px 40px 40px 20px;
Problem z tym pytaniem wynika głównie z mylenia kolejności wartości w skróconej notacji margin oraz z intuicyjnego założenia, że pierwsza liczba odnosi się do lewej strony, a druga do prawej. W CSS skrócone zapisy mają bardzo konkretną i stałą semantykę, którą warto sobie poukładać raz, a porządnie. Dwie wartości w margin nie oznaczają lewo/prawo i góra/dół, tylko zawsze: pierwsza – góra i dół, druga – lewo i prawo. Jeśli ktoś wybiera margin: 40px 20px;, to w praktyce ustawia 40px na górze i na dole oraz 20px po lewej i po prawej. To jest dokładne przeciwieństwo tego, co było wymagane w treści pytania. Taki błąd często wynika z myślenia „poziomo”: najpierw lewo-prawo, potem góra-dół, a CSS idzie inną logiką. Kolejne nieporozumienie dotyczy zapisów z czterema wartościami. Wiele osób ma problem z zapamiętaniem kolejności. Standard CSS definiuje to jasno: gdy podajemy cztery liczby, interpretacja idzie zgodnie z ruchem wskazówek zegara, zaczynając od góry: top, right, bottom, left. Czyli margin: 20px 20px 40px 40px; oznacza: góra 20px, prawo 20px, dół 40px, lewo 40px. W pytaniu chcemy: góra 20px, dół 20px, lewo 40px, prawo 40px, więc ten zapis nie spełnia warunku, bo wartości dla prawej strony są inne niż dla lewej, a górna różni się od dolnej. Podobnie margin: 20px 40px 40px 20px; rozwija się do: 20px na górze, 40px po prawej, 40px na dole, 20px po lewej. Tutaj symetria jest odwrotna: góra i lewo mają 20px, a dół i prawo 40px. Z mojego doświadczenia typowy błąd polega na tym, że ktoś próbuje „na czuja” dopasować liczby, zamiast trzymać się sztywnej reguły: 2 wartości – góra/dół oraz lewo/prawo, 4 wartości – góra, prawo, dół, lewo. W efekcie kod może nawet wyglądać sensownie na pierwszy rzut oka, ale przeglądarka zinterpretuje go zupełnie inaczej, niż autor zakładał. Dlatego warto myśleć o margin w kontekście box modelu i specyfikacji, a nie tylko wizualnie. Dobra praktyka jest taka, żeby przy bardziej skomplikowanych odstępach na początku rozpisywać margin-top, margin-right, margin-bottom, margin-left osobno, a dopiero potem, gdy mamy pewność, zamieniać to na skróconą notację. To ogranicza liczbę takich subtelnych, ale uciążliwych pomyłek w layoutach.

Pytanie 34

Dla dowolnego a z zakresu (0,99) celem funkcji napisanej w języku JavaScript jest
function fun(a)
 {
    for(n=a; n <=100; n++)
    document.write(n);
    return(n);
 }

A. zwrócenie liczb z zakresu a .. 99
B. wypisanie liczb z zakresu a .. 99 oraz zwrócenie wartości 100
C. wypisanie liczb z zakresu a .. 100 oraz zwrócenie wartości zmiennej n
D. wypisanie wartości zmiennej a i zwrócenie wartości zmiennej n
Funkcja napisana w JavaScript przewiduje iterację w celu wypisania liczb z przedziału ustalonego przez zmienną 'a' do 100. W kodzie zastosowano pętlę for, która zaczyna się od wartości a, a kończy na 100. Wartość zmiennej 'n' jest używana jako iterator, zaczynając od 'a' i zwiększając się o 1 w każdym obiegu pętli, aż osiągnie 100. Warto zauważyć, że funkcja wykorzystuje metodę 'document.write()', która służy do zapisywania danych na stronie internetowej. Po zakończeniu iteracji funkcja zwraca wartość zmiennej 'n', co w kontekście tego zadania oznacza, że zwróci ona wartość 101, ponieważ po ostatniej iteracji n przekroczy wartość 100. Przykład użycia tej funkcji w praktyce może obejmować generowanie dynamicznych treści na stronach internetowych, które wymagają wyświetlenia zakresu wartości liczbowych. Warto również dodać, że zgodnie z aktualnymi standardami JavaScript, kod mógłby być bardziej elegancko zapisany, wykorzystując np. funkcję 'console.log()' zamiast 'document.write()', co jest bardziej zalecane w nowoczesnym podejściu do programowania w JavaScript.

Pytanie 35

Programista stworzył pętlę w języku C++ mającą na celu obliczenie wartości 5! (5! = 1 * 2 * 3 * 4 * 5). Niestety, popełnił błąd logiczny polegający na tym, że

int a = 1;
for (int i = 1; i < 5; i++)
{
    a = a * i;
}
cout << a;
A. parametr i pętli powinien być zmniejszany zamiast zwiększany
B. w drugim warunku pętli powinno być porównanie i < 6 zamiast i < 5
C. parametr i pętli powinien być inicjowany wartością 0, a nie 1
D. zmienna a powinna być ustawiona na 0 zamiast 1
Pętla for w języku C++ jest często używana do wykonywania określonej liczby iteracji. W przypadku obliczania silni liczby 5, czyli 5!, iteracja powinna przebiegać od 1 do 5 włącznie, co oznacza, że zmienna sterująca i powinna przyjąć wartości 1, 2, 3, 4 i 5. Dlatego warunek zakończenia pętli powinien być zapisany jako i <= 5 lub alternatywnie i < 6. W zestawie egzaminacyjnym podano kod z warunkiem i < 5, co powoduje, że pętla kończy się przy czwartej iteracji, a ostatnia potrzebna mnożenie przez 5 nie jest wykonane. Poprawnym rozwiązaniem problemu jest zmiana warunku na i < 6. Przykład praktyczny: przy obliczaniu silni w programach obliczeniowych często stosujemy pętlę o poprawnym zakresie, co jest kluczowe dla uzyskania prawidłowych wyników. Ponadto, w kontekście dobrych praktyk programistycznych, warto zawsze dokładnie analizować warunki pętli, aby uniknąć nieoczekiwanych błędów logicznych, które mogą prowadzić do niepoprawnych wyników końcowych.

Pytanie 36

W skrypcie PHP konieczne jest stworzenie cookie o nazwie owoce, które przyjmie wartość jabłko. Cookie powinno być dostępne przez jedną godzinę od momentu jego utworzenia. W tym celu w skrypcie PHP należy wykorzystać funkcję:

A. cookie("jabłko","owoce",3600);
B. setcookie("jabłko","owoce",time()+3600);
C. cookie("owoce","jabłko",3600);
D. setcookie("owoce","jabłko",time()+3600);
Funkcja setcookie w PHP jest kluczowym narzędziem do zarządzania ciasteczkami, a w szczególności do ich tworzenia. W przypadku prawidłowej odpowiedzi, setcookie("owoce","jabłko",time()+3600) poprawnie ustawia nazwę ciasteczka na 'owoce', przypisując mu wartość 'jabłko'. Funkcja time() zwraca aktualny czas w sekundach od 1 stycznia 1970 roku, a dodanie 3600 do tej wartości ustawia czas wygaśnięcia ciasteczka na jedną godzinę od momentu jego utworzenia. Jest to standardowa praktyka, by zapewnić, że cookie będzie dostępne przez określony czas. W kontekście aplikacji webowych, cookies są często wykorzystywane do przechowywania informacji o preferencjach użytkowników, sesjach logowania czy koszykach zakupowych. Ważne jest, aby przy tworzeniu ciasteczek upewnić się, że nazwa i wartość są odpowiednio sformatowane, a czas wygaśnięcia jest zgodny z oczekiwaniami. Prawidłowe zarządzanie ciasteczkami przyczynia się do lepszej interakcji z użytkownikami oraz zwiększa wydajność aplikacji.

Pytanie 37

Jak należy skonstruować zapytanie przy pomocy polecenia SELECT, aby wyświetlić unikalne nazwiska osób zamieszkujących osiedle?

A. SELECT nazwisko FROM mieszkancy ORDER BY nazwisko;
B. SELECT TOP 10 nazwisko FROM mieszkancy;
C. SELECT AVG(nazwisko) FROM mieszkancy;
D. SELECT DISTINCT nazwisko FROM mieszkancy;
Odpowiedź 'SELECT DISTINCT nazwisko FROM mieszkancy;' jest poprawna, ponieważ wykorzystuje klauzulę DISTINCT, która eliminuje duplikaty w wynikach zapytania. W kontekście baz danych, klauzula ta jest niezwykle użyteczna, gdy zależy nam na uzyskaniu unikalnych wartości z kolumny. W tym przypadku, wybierając unikalne nazwiska osób z tabeli 'mieszkancy', zapewniamy, że każde nazwisko pojawi się w wynikach tylko raz, co jest istotne w analizach i raportach, gdzie duplikaty mogłyby wprowadzać w błąd. Praktycznym przykładem użycia tego zapytania może być sytuacja, w której chcemy przygotować raport dla władz lokalnych o mieszkańcach danego osiedla. Zastosowanie DISTINCT pozwoli na przejrzystość raportu i jego większą użyteczność. Warto dodać, że użycie DISTINCT jest zgodne z dobrymi praktykami w programowaniu SQL, ponieważ przyczynia się do efektywnego zarządzania danymi i poprawy jakości wyników.

Pytanie 38

Aby dodać nowy rekord do tabeli Pracownicy, konieczne jest zastosowanie polecenia SQL

A. INSERT INTO Pracownicy VALUES ('Jan',' Kowalski')
B. INSERT VALUES (Jan, Kowalski) INTO Pracownicy
C. INSERT VALUES Pracownicy INTO (Jan, Kowalski)
D. INSERT (Jan, Kowalski) INTO Pracownicy
Wszystkie niepoprawne odpowiedzi zawierają błędy składniowe oraz nieprawidłowe użycie konstrukcji SQL. W przypadku pierwszej błędnej odpowiedzi, brak jest kluczowego słowa 'INTO' przed nazwą tabeli, co czyni jej zapis niepoprawnym oraz niezgodnym z wymaganiami SQL. Dodatkowo, wartości 'Jan' oraz 'Kowalski' nie zostały otoczone apostrofami, co jest konieczne dla prawidłowego zdefiniowania danych typu tekstowego. Kolejna odpowiedź nie tylko niepoprawnie organizuje słowa kluczowe, ale także umieszcza 'VALUES' przed wartościami, co jest niezgodne z odpowiednią składnią SQL. Poprawna konstrukcja wymaga najpierw wskazania tabeli, a dopiero potem podania wartości. W ostatnim przypadku, brak jest również użycia słowa 'INTO', a wartości są podane w niewłaściwej kolejności i bez prawidłowego otoczenia apostrofami. W każdej z tych odpowiedzi istotnym błędem jest brak zgodności ze standardami SQL, co prowadzi do nieudanych prób wstawienia danych do tabeli.

Pytanie 39

W HTML5 semantycznym znacznikiem, który służy do określenia dwóch sekcji widocznych po prawej stronie na rysunku, zawierających wiadomości oraz aktualności, jest

Ilustracja do pytania
A. &lt;article&gt;
B. &lt;nav&gt;
C. &lt;footer&gt;
D. &lt;main&gt;
Bardzo często osoby uczące się HTML5 mylą znaczniki semantyczne, szczególnie gdy chodzi o takie elementy jak <nav>, <main>, <footer> czy <article>. To w sumie zrozumiałe, bo na pierwszy rzut oka mogą się wydawać podobne, ale każdy z nich ma swoje konkretne zadanie. <nav> to sekcja nawigacyjna – zawiera odnośniki do innych części serwisu, więc zwykle stosuje się go do menu, bocznych pasków z linkami czy paneli nawigacyjnych. Umieszczenie w <nav> sekcji z wiadomościami czy aktualnościami to klasyczny przykład złego zrozumienia przeznaczenia tego elementu – w praktyce taka struktura zaburza logikę nawigacji i dostępność strony. <main> z kolei oznacza główną i unikalną treść dokumentu, tej, która jest najważniejsza dla danej podstrony. Jednak <main> używamy tylko raz na stronie – nie powinno się go powielać ani używać do oznaczania pojedynczych sekcji, takich jak wiadomości, bo to prowadzi do błędnej interpretacji przez wyszukiwarki i czytniki ekranowe. <footer> odpowiada za stopkę strony lub sekcji, czyli miejsce na informacje jak prawa autorskie, dane kontaktowe, linki do polityk czy podsumowania – wrzucenie tam wiadomości czy aktualności byłoby mocno nielogiczne. Wybierając niewłaściwy znacznik, można popełnić błąd, który potem utrudnia rozwój strony, jej pozycjonowanie czy poprawność dostępności. Najczęstszy błąd to kierowanie się wyglądem, a nie semantyką – a w HTML5 to właśnie semantyka daje najwięcej korzyści na dłuższą metę.

Pytanie 40

Jak można zweryfikować spójność danych w bazie MySQL?

A. CHECK TABLE
B. REPAIR TABLE
C. mysql
D. mysqldump
Polecenie CHECK TABLE w MySQL służy do sprawdzania integralności danych w tabeli. Umożliwia to identyfikację problemów, takich jak zduplikowane klucze, uszkodzone wskaźniki lub nieprawidłowe struktury danych. Przykładem zastosowania tego polecenia jest sytuacja, gdy administrator bazy danych podejrzewa, że tabela mogła ulec uszkodzeniu na skutek błędów systemowych lub nieprawidłowych operacji użytkownika. W takim przypadku używając CHECK TABLE, można szybko zdiagnozować problemy i podjąć odpowiednie działania, takie jak naprawa za pomocą polecenia REPAIR TABLE, jeśli to konieczne. Dobre praktyki w zakresie zarządzania bazami danych sugerują regularne sprawdzanie integralności tabel, co pozwala na szybsze wykrywanie problemów oraz minimalizację ryzyka utraty danych. Warto również pamiętać, że CHECK TABLE dostarcza szczegółowych informacji o stanie tabeli, co jest szczególnie przydatne w kontekście monitorowania wydajności i stabilności bazy danych. Z tego względu to polecenie jest kluczowym narzędziem w arsenale każdego administratora MySQL.