Wyniki egzaminu

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

Egzamin niezdany

Wynik: 3/40 punktów (7,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

W przedstawionym kodzie PHP w miejscu kropek powinno znajdować się polecenie

Ilustracja do pytania
A. mysqli_fetch_row($zapytanie);
B. mysqli_query($zapytanie);
C. mysqli_num_fields($zapytanie);
D. mysqli_free_result($zapytanie);
Koncept mysqli_free_result wydaje się atrakcyjny gdyż służy do zwalniania pamięci zajmowanej przez zestaw wyników. Jednak jego zastosowanie w tym kontekście jest błędne ponieważ zwalnianie pamięci powinno odbywać się po zakończeniu przetwarzania danych a nie przed pobraniem wierszy. Użycie mysqli_num_fields mogłoby wprowadzić w błąd ponieważ funkcja ta zwraca liczbę kolumn w zestawie wyników a nie jest związana z pobieraniem poszczególnych wierszy danych. W kontekście iteracji po wierszach zapytania jest to nieadekwatne. Funkcja mysqli_query jest używana do wysyłania zapytań do bazy danych i zwraca wynik zapytania ale sama w sobie nie pobiera danych z zestawu wyników co w tym zadaniu jest niezbędne. Częstym błędem jest mylenie funkcji wynikowych z funkcjami wykonującymi zapytania. Kluczowym do zrozumienia jest właściwe wykorzystanie funkcji do iteracyjnego pobierania danych co wymaga rozróżnienia zadań jakie pełni każda z funkcji w kontekście przetwarzania wyników zapytań do bazy danych. Prawidłowe rozróżnianie tych funkcji pozwala na efektywne zarządzanie danymi i pamięcią co jest istotne w kontekście aplikacji webowych oraz zapewnienia ich wydajności i poprawnego działania.

Pytanie 2

Jakiej opcji w edytorze grafiki rastrowej należy użyć, aby przygotować obraz do wyświetlenia na stronie w taki sposób, aby widoczna była tylko część znajdująca się w obrębie ramki?

Ilustracja do pytania
A. Skalowanie
B. Perspektywa
C. Odbicie
D. Kadrowanie
Kadrowanie to proces polegający na usuwaniu niechcianych części obrazu w celu skupienia uwagi na jego istotnych elementach. W kontekście przygotowywania rysunku do wyświetlenia na stronie internetowej, kadrowanie pozwala na wyeksponowanie tylko tych fragmentów grafiki, które mają być widoczne dla odbiorcy, jednocześnie usuwając zbędne tło czy elementy. Jest to technika szeroko stosowana w branży graficznej i fotograficznej, gdzie precyzyjne dostosowanie kompozycji wizualnej ma kluczowe znaczenie dla estetyki oraz komunikacji wizualnej. Kadrowanie wspiera także optymalizację plików graficznych, redukując ich rozmiar i poprawiając czas ładowania strony. W edytorach grafiki rastrowej, takich jak Adobe Photoshop czy GIMP, kadrowanie jest intuicyjnym narzędziem, które pozwala na szybkie i efektywne dostosowanie kadru do wymogów projektu. Dobre praktyki branżowe zalecają regularne kadrowanie w celu zwiększenia czytelności i nadania profesjonalnego wyglądu materiałom wizualnym. Poprawnie wykadrowany obraz nie tylko poprawia estetykę, ale również może wpłynąć na przekaz oraz zaangażowanie użytkowników. Wybór właściwych proporcji i skali podczas kadrowania jest istotny dla uzyskania spójnego i harmonijnego efektu końcowego, który będzie zgodny z założeniami projektu oraz oczekiwaniami odbiorcy.

Pytanie 3

Jak, wykorzystując język PHP, można zapisać w ciasteczku wartość z zmiennej dane na okres jednego dnia?

A. setcookie("dane", "dane", 0);
B. setcookie("dane", $dane, 0);
C. setcookie("dane", $dane, time() + (3600*24));
D. setcookie("dane", $dane, time());
W przypadku odpowiedzi setcookie("dane", $dane, time());, czas wygaśnięcia ciasteczka nie jest ustawiony prawidłowo. Zmienna time() zwraca aktualny czas w sekundach od 1 stycznia 1970 roku, co oznacza, że ciasteczko, które zostanie ustawione w ten sposób, wygasnie natychmiast po zamknięciu przeglądarki. To podejście jest nieodpowiednie, gdyż nie spełnia wymogów aplikacji, które wymagają dłuższego przechowywania danych. Z kolei zastosowanie setcookie("dane", $dane, 0); również jest niewłaściwe, ponieważ wartość 0 dla czasu wygaśnięcia oznacza, że ciasteczko jest sesyjne i wygasa po zakończeniu sesji przeglądarki. Takie zachowanie może prowadzić do utraty istotnych danych, co jest niekorzystne w kontekście użytkowników czekających na długotrwałą interakcję z aplikacją. Co więcej, odpowiedź setcookie("dane", "dane", 0); jest błędna, ponieważ zamiast wartości zmiennej $dane, ustawiana jest stała wartość 'dane', co prowadzi do braku elastyczności oraz utrudnia personalizację. W każdym przypadku, aby poprawnie zarządzać ciasteczkami, ważne jest, aby rozumieć ich żywotność, miejsce przechowywania oraz stosować się do standardów bezpieczeństwa w aplikacjach webowych.

Pytanie 4

Jakim systemem do zarządzania wersjami oprogramowania jest

A. FileZilla
B. TotalCommander
C. Eclipse
D. GIT
TotalCommander, Eclipse i FileZilla to popularne narzędzia, które służą do innych celów w procesie tworzenia oprogramowania, ale nie są systemami kontroli wersji. TotalCommander jest menedżerem plików, który ułatwia nawigację i zarządzanie plikami na komputerze, jednak nie oferuje funkcji śledzenia zmian w kodzie czy współpracy zespołowej. Eclipse to zintegrowane środowisko programistyczne (IDE), które wspiera rozwój aplikacji, ale nie pełni roli systemu kontroli wersji, chociaż może korzystać z różnych systemów kontroli wersji za pomocą odpowiednich wtyczek. FileZilla to klient FTP, który umożliwia przesyłanie plików na serwery, co również nie ma związku z kontrolą wersji. Często mylnie przyjmuje się, że narzędzia związane z zarządzaniem plikami czy programowaniem mogą zastępować systemy kontroli wersji, co jest błędnym podejściem. Systemy kontroli wersji, takie jak GIT, są zaprojektowane z myślą o zarządzaniu zmianami w kodzie źródłowym, co jest kluczowe w nowoczesnym procesie wytwarzania oprogramowania. Ignorowanie tej specyfikacji i nieodróżnianie narzędzi do zarządzania plikami od systemów kontroli wersji może prowadzić do problemów w organizacji pracy zespołu oraz utraty wydajności w projektach.

Pytanie 5

Instrukcję for można zastąpić inną instrukcją

A. switch
B. case
C. while
D. continue
Odpowiedź 'while' jest poprawna, ponieważ obie instrukcje, 'for' oraz 'while', służą do iteracji, czyli powtarzania pewnego bloku kodu w określonych warunkach. Instrukcja 'for' jest najczęściej używana, gdy znamy liczbę iteracji z góry, podczas gdy 'while' pozwala na bardziej elastyczne podejście, w którym kontynuujemy wykonanie pętli, aż do spełnienia określonego warunku. Przykład zastosowania instrukcji 'while' może wyglądać następująco: int i = 0; while (i < 10) { System.out.println(i); i++; }. W tym przypadku pętla 'while' będzie kontynuować swoje działanie tak długo, jak długo i jest mniejsze od 10. W praktyce, wybór między 'for' a 'while' powinien być podejmowany na podstawie kontekstu oraz przejrzystości kodu, co jest zgodne z najlepszymi praktykami programistycznymi. Warto również zauważyć, że w pewnych sytuacjach, takich jak przetwarzanie strumieni danych, stosowanie pętli 'while' może być bardziej intuicyjne i czytelne. Dzięki temu, programista może zachować większą kontrolę nad logiką iteracyjną, co sprzyja utrzymaniu i rozwijaniu kodu w przyszłości.

Pytanie 6

Jakie jest zadanie funkcji agregującej AVG w zapytaniu?

SELECT AVG(cena) FROM uslugi;
A. określić najwyższą wartość spośród cen usług
B. sprawdzić, ile usług znajduje się w tabeli
C. obliczyć średnią arytmetyczną wartości wszystkich usług
D. zliczyć całkowity koszt wszystkich usług
W kontekście analizy danych użycie niepoprawnej funkcji agregującej w SQL może prowadzić do błędnych wniosków. Funkcja AVG jest przeznaczona do obliczania średniej arytmetycznej wartości z wybranej kolumny a nie do innych operacji takich jak zsumowanie wartości czy liczenie rekordów. Częstym błędem jest mylenie AVG z funkcją SUM która służy do zsumowania wszystkich wartości w kolumnie co jest przydatne gdy potrzebujemy całkowitej wartości np. całkowitego przychodu z usług. Natomiast jeśli chodzi o policzenie liczby dostępnych usług powinniśmy używać funkcji COUNT która zwraca liczbę wierszy w kolumnie co jest istotne w analizach ilościowych. Kolejny błąd to przypisywanie AVG zadania wskazania najwyższej wartości co jest domeną funkcji MAX. Zrozumienie różnicy między tymi funkcjami jest kluczowe dla poprawnej analizy danych w SQL. Funkcje AVG SUM COUNT i MAX mają swoje specyficzne zastosowania i ich poprawne użycie jest standardem w pracy z bazami danych. Unikanie takich błędów wymaga praktyki i zrozumienia teoretycznych podstaw działania funkcji agregujących co jest niezbędne w profesjonalnym zarządzaniu danymi.

Pytanie 7

W każdej iteracji pętli wartość aktualnego elementu tablicy jest przypisywana do zmiennej, a wskaźnik tablicy jest przesuwany o jeden, aż do ostatniego elementu tablicy. Czy to zdanie odnosi się do instrukcji?

A. foreach
B. for
C. while
D. next
Odpowiedzi takie jak 'for', 'next' oraz 'while' mają swoje specyficzne zastosowania w kontekście iteracji, ale nie są w pełni dostosowane do opisanego zachowania w pytaniu. Instrukcja 'for' wymaga zdefiniowania zmiennych kontrolnych, co wiąże się z ręcznym zarządzaniem indeksami. Kiedy wykorzystujemy pętlę 'for', musimy samodzielnie określić warunki początkowe, warunki kontynuacji oraz sposób inkrementacji, co może prowadzić do błędów, zwłaszcza w kontekście tablic. Z kolei 'next' nie jest samodzielną konstrukcją w wielu językach programowania, a jego użycie jest często związane z iteracją po kolekcjach, ale nie definiuje pętli jako takiej. Instrukcja ta działa w kontekście iteratora, co czyni ją mniej elastyczną i bardziej złożoną w użyciu dla prostych iteracji po tablicach. Co więcej, 'while' również wymaga manualnego zarządzania warunkami zakończenia pętli, co oznacza, że programista musi samodzielnie kontrolować zmienną, która decyduje o zakończeniu iteracji. To znowu zwiększa ryzyko błędów związanych z granicami tablicy oraz niewłaściwym przypisaniem wartości. Każda z tych metod ma swoje miejsce w programowaniu, jednak nie są one tak optymalne i wygodne jak 'foreach', który automatycznie zarządza iteracją po elementach kolekcji, co czyni ten proces znacznie bardziej przejrzystym i mniej podatnym na błędy.

Pytanie 8

Baza danych zawiera tabelę artykuły z polami: nazwa, typ, producent, cena. Aby wyświetlić wszystkie nazwy artykułów wyłącznie typu pralka, dla których cena jest z przedziału 1 000 PLN i 1 500 PLN, należy zastosować polecenie

A. SELECT nazwa FROM artykuły WHERE typ=,pralka' OR cena BETWEEN 1000 OR 1500;
B. SELECT nazwa FROM artykuły WHERE typ='pralka' AND cena FROM 1000 TO 1500;
C. SELECT nazwa FROM artykuły WHERE typ=,pralka' AND cena BETWEEN 1000 AND 1500;
D. SELECT nazwa FROM artykuły WHERE typ=,pralka' OR cena BETWEEN 1000 AND 1500;
W analizowanych odpowiedziach występują liczne błędy związane z użyciem syntaktyki SQL oraz logicznych operatorów. W przypadku pierwszej odpowiedzi, niepoprawne jest użycie frazy 'cena FROM 1000 TO 1500', ponieważ nie istnieje taki operator w SQL. Prawidłowym podejściem byłoby użycie 'BETWEEN'. W drugiej odpowiedzi błędnie zaimplementowano operator 'OR' zamiast 'AND'. Logika tego zapytania wprowadza zamieszanie, ponieważ operator 'OR' prowadziłby do zwrócenia wszystkich artykułów typu 'pralka' lub tych, które mieszczą się w zadanym przedziale cenowym, co nie odzwierciedla zamierzonego celu. Trzecia odpowiedź również zawiera błąd w używaniu operatora 'OR' w kontekście zapytania, co skutkuje niepoprawnym wynikiem zapytania, ponieważ łączy różne warunki w sposób, który nie spełnia założonych kryteriów. Warto również zauważyć, że niepoprawne jest użycie przecinków w warunku 'typ=,pralka', co może prowadzić do błędów składniowych. Te typowe błędy myślowe pokazują, jak istotne jest zrozumienie zasady działania operatorów logicznych oraz poprawnej składni SQL, co jest kluczowe w efektywnym zarządzaniu bazami danych. Zachowanie prawidłowej struktury zapytania jest fundamentalne dla uzyskania właściwych danych, co ma bezpośrednie przełożenie na efektywność operacyjną aplikacji bazodanowych.

Pytanie 9

W języku HTML, aby uzyskać następujący efekt formatowania
pogrubiony pochylony lub w górnym indeksie
należy zapisać kod:

A. <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>
B. <i>pogrubiony <b>pochylony lub w </i><sup>górnym indeksie</sup>
C. <b>pogrubiony <i>pochylony</i></b> lub w <sup>górnym indeksie</sup>
D. <i>pogrubiony </i><b>pochylony </b>lub w <sub>górnym indeksie</sub>
W analizowanych odpowiedziach widać sporo niepoprawnych interpretacji dotyczących znaczników HTML, co może prowadzić do bałaganu w kodzie. W pierwszej opcji znacznik <i> został użyty do otoczenia całego fragmentu tekstu, a powinno być tak, żeby jedno nie kłóciło się z drugim. Takie błędy w strukturze HTML mogą sprawić, że przeglądarki nie wyświetlą tego, co zamierzałeś. W drugiej odpowiedzi użycie <sub> zamiast <sup> to też zły ruch, jeśli chodzi o górny indeks, bo może to wprowadzać w błąd, szczególnie w tematach naukowych, gdzie precyzja jest ważna. A ten <b> wokół słowa 'pochylony'... no nie wygląda to najlepiej, bo nie powinno się łączyć znaczników w sposób, który wprowadza w błąd co do ich funkcji. W web development ważne jest, żeby trzymać się zasad semantyki HTML, to ułatwia czytanie kodu i wspiera dostępność stron. Jak używasz złych znaczników, to możesz niechcący sprawić, że ludzie korzystający z technologii pomocniczych będą mieli trudności w nawigacji, a to nie jest zgodne z zasadami dostępności WCAG. No i w końcu, źle dobrane znaczniki mogą osłabić efekty wizualne, co wpływa na całą estetykę i funkcjonalność strony.

Pytanie 10

Jakie informacje można uzyskać na temat normalizacji tej tabeli?

Ilustracja do pytania
A. Tabela znajduje się w trzeciej postaci normalnej
B. Tabela znajduje się w pierwszej postaci normalnej
C. Tabela jest w drugiej postaci normalnej
D. Tabela nie jest znormalizowana
Tabela przedstawiona w pytaniu nie spełnia wymogów żadnej z trzech podstawowych postaci normalnych co oznacza że nie jest znormalizowana. Pierwsza postać normalna wymaga aby wszystkie wartości w tabeli były atomowe co oznacza że kolumna Adres powinna być podzielona na kilka kolumn takich jak ulica miasto i kod pocztowy. Druga postać normalna wymaga że wszystkie atrybuty niekluczowe muszą być deterministycznie zależne od całego klucza głównego co w tym przypadku nie ma zastosowania ponieważ tabela zawiera tylko dwa atrybuty i brak jest klucza złożonego. Trzecia postać normalna eliminuje wszelkie przejściowe zależności funkcyjne pomiędzy atrybutami niekluczowymi co również nie ma zastosowania w tej prostej strukturze. Typowe błędy myślowe prowadzące do niewłaściwych wniosków mogą obejmować niepełne zrozumienie zasad atomowości danych oraz błędne założenie że nieskomplikowana struktura tabeli automatycznie spełnia zasady normalizacji. Dlatego kluczowe jest aby dokładnie rozumieć i identyfikować zależności między danymi oraz jak te zależności wpływają na integralność i efektywność bazy danych co jest szczególnie istotne w dużych systemach gdzie dane są intensywnie modyfikowane i wykorzystywane przez wiele aplikacji jednocześnie. Właściwa normalizacja pozwala na optymalizację czasu dostępu do danych oraz minimalizację redundancji co jest uznawane za dobrą praktykę w branży projektowania baz danych. W kontekście projektowania systemów informatycznych poprawna normalizacja jest nieodłącznym elementem cyklu życia projektu zapewniającym że struktura danych jest odporna na zmiany w wymaganiach użytkowników oraz skalowalna w przypadku wzrostu ilości danych do obsługi przez system. Dlatego zrozumienie i prawidłowe stosowanie zasad normalizacji jest kluczowe dla przyszłych profesjonalistów w dziedzinie IT którzy będą odpowiedzialni za projektowanie i utrzymanie złożonych systemów bazodanowych.

Pytanie 11

Wskaż konstrukcję pętli w języku JavaScript, która wyświetli sześć kolejnych liczb parzystych

A. for(i=2;i<12;i+=2) {document.write(i);}
B. for(i=2;i<12;i++) {i++; document.write(i);}
C. for(i=2;i<=12;i+=2) {document.write(i);}
D. for(i=2;i<=12;i++) {i=i+2; document.write(i);}
Prawidłowe zrozumienie działania pętli for w JavaScript jest kluczowe dla tworzenia efektywnych skryptów. Odpowiedzi, które nie są poprawne, najczęściej wynikają z nieporozumień dotyczących sposobu działania inkrementacji oraz warunków zakończenia pętli. Przykładowo, konstrukcja for(i=2;i<12;i+=2) nie osiągnie ostatniej liczby parzystej 12, co skutkuje wyświetleniem jedynie 2, 4, 6, 8 i 10, a więc pięciu liczb parzystych. Zrozumienie granic pętli jest istotne, aby uzyskać oczekiwane rezultaty. Inne podejście, czyli for(i=2;i<12;i++) {i++; document.write(i);}, wprowadza dodatkowe zwiększenie zmiennej i wewnątrz pętli, co może prowadzić do nieoczekiwanych rezultatów - w tym przypadku, liczenie kończy się na 12, ale tylko wartości nieparzyste będą drukowane, czyli 3, 5, 7, 9, 11, co jest błędne w kontekście zadania. W kontekście innej odpowiedzi, for(i=2;i<=12;i++) {i=i+2; document.write(i);}, również nie działa zgodnie z zamierzeniem, ponieważ zaczyna od 2 i natychmiast zwiększa liczbę do 4, co prowadzi do pominięcia liczby 2 w wyniku końcowym. Dokładne zrozumienie działania pętli i jej konstrukcji jest kluczowe do uniknięcia takich błędów. W programowaniu ważne jest stosowanie jasnych i prostych konstrukcji, które są łatwe do zrozumienia, co pomaga nie tylko w pracy nad bieżącym projektem, ale również w późniejszej konserwacji oraz w pracy zespołowej.

Pytanie 12

W programie napisanym w języku C++ należy wczytać zmienną całkowitą o nazwie liczba i wyświetlić ją tylko w przypadku, gdy przyjmuje trzycyfrowe wartości parzyste. Instrukcja warunkowa, która to sprawdza, powinna być oparta na wyrażeniu logicznym

A. liczba % 2 == 0 || (liczba > 99 && liczba < 999)
B. liczba % 2 == 0 || liczba > 99 || liczba < 999
C. liczba % 2 == 0 && liczba > 99 && liczba < 999
D. liczba % 2 == 0 && (liczba > 99 || liczba < 999)
Wybór odpowiedzi, które nie spełniają wszystkich warunków, prowadzi do sytuacji, w której program nie będzie działał zgodnie z zamierzeniem. W przypadku użycia operatora OR ('||') w odpowiedziach, takich jak 'liczba % 2 == 0 && (liczba > 99 || liczba < 999)', logicznie podchodzimy do problemu w sposób, który nie odzwierciedla wymagań dotyczących liczby trzycyfrowej. Operator OR oznacza, że wystarczy spełnienie jednego z warunków, aby cała instrukcja była prawdziwa, co wprowadza możliwość wyświetlenia liczb, które są parzyste, ale nie mają trzech cyfr. Na przykład liczba 50, która jest parzysta, ale nie jest trzycyfrowa, przejdzie przez tę kontrolę, co jest sprzeczne z założeniem. Podobnie, odpowiedzi opierające się na wyrażeniu 'liczba % 2 == 0 || (liczba > 99 && liczba < 999)' również nie spełniają wymagań, ponieważ pozwalają na wyświetlenie liczb nieparzystych, oraz na liczby, które nie są trzycyfrowe. Często popełnianym błędem w programowaniu jest nieprzemyślenie logicznych warunków, co prowadzi do nieprawidłowego funkcjonowania aplikacji. W programowaniu istotne jest, aby każdy warunek był dokładnie przemyślany i zgodny z wymaganiami funkcjonalnymi, co jest kluczowe dla tworzenia niezawodnych i łatwych w utrzymaniu systemów.

Pytanie 13

Jaką metodę przesyłania należy wykorzystać, by zapewnić największe bezpieczeństwo danych zaszyfrowanych w formularzu, które są wysyłane do kodu PHP?

A. Metoda POST, za pomocą protokołu HTTP
B. Metoda GET, za pomocą protokołu HTTPS
C. Metoda POST, za pomocą protokołu HTTPS
D. Metoda GET, za pomocą protokołu HTTP
No niestety, wybór metody GET i protokołu HTTP to jak skakanie z przepaści, jeśli chodzi o bezpieczeństwo. Metoda GET wrzuca dane do adresu URL, co jest totalnie kiepskie, bo potem wszystko można łatwo zobaczyć w historii przeglądarki czy logach serwera. To oznacza, że ktoś może przechwycić dane, które są przesyłane, jak hasła czy inne wrażliwe informacje. A korzystanie z samego HTTP bez szyfrowania jest jeszcze gorsze. Oznacza, że nasze dane są jakoś tam przesyłane, ale nikt się nimi nie przejmuje, co otwiera drogę do ataków typu Man-in-the-Middle. Wiele aplikacji myśli, że jak coś leci w URL to jest w miarę bezpieczne, a to nieprawda. Musimy zawsze stawiać na HTTPS, żeby naprawdę chronić nasze dane. W dzisiejszych czasach, gdzie ataki w sieci są na porządku dziennym, warto być ostrożnym, bo RODO też robi swoje. Dlatego lepiej unikać GET i HTTP, kiedy chodzi o przesyłanie poufnych danych.

Pytanie 14

Wskaż kod równoważny do przedstawionego kodu zapisanego językiem PHP.

$suma = 0;
for ($x = 10; $x <= 20; $x++) {
    $suma += $x;
}
Kod 1.
$suma = 0;
while ($x <= 20) {
    $suma += $x;
    $x++;
}
Kod 2.
$suma = 0;
$x = 10;
while ($x <= 20) {
    $suma += $x;
    $x++;
}
Kod 3.
$suma = 0;
$x = 1;
while ($x <= 10) {
    $suma += $x;
    $x++;
}
Kod 4.
$suma = 0;
$x = 10;
while ($x <= 20) {
    $suma = $x;
    $x++;
}
A. Kod 3.
B. Kod 1.
C. Kod 2.
D. Kod 4.
Wybrana przez Ciebie odpowiedź nie jest prawidłowa. Zostały tutaj przedstawione kody, które nie są równoważne do kodu PHP. Na przykład, może pojawić się kod, który używa innej pętli, ale nie inicjalizuje wartości $x na 10 lub nie inkrementuje jej aż do osiągnięcia wartości 20. Inny kod może nawet nie używać pętli, co jest fundamentalnym błędem, ponieważ pętle są niezbędne do wykonania określonej liczby operacji bez konieczności pisania dużej ilości kodu. Ważne jest, aby zwrócić uwagę na detale takie jak warunki pętli, sposoby inkrementacji, a także na to, czy kod faktycznie używa pętli. Pamiętaj, że wybór odpowiedniego rodzaju pętli jest kluczowy w zależności od problemu, który próbujesz rozwiązać. Pętle for są zazwyczaj używane, gdy z góry wiemy ile razy pętla ma być wykonana, a pętle while są używane, gdy nie wiemy ile razy pętla ma być wykonana, ale znamy warunek jej zakończenia. To jest podstawowa wiedza, którą każdy programista powinien posiadać, więc jeśli masz z tym problemy, warto poświęcić więcej czasu na zrozumienie pętli.

Pytanie 15

Dzięki poleceniu ALTER TABLE można

A. skasować tabelę
B. zmieniać strukturę tabeli
C. zmieniać wartości rekordów
D. usunąć rekord
Polecenie ALTER TABLE jest kluczowym elementem w zarządzaniu bazami danych, umożliwiającym wprowadzanie zmian w strukturze istniejących tabel. Dzięki temu poleceniu możemy dodawać nowe kolumny, zmieniać typy danych istniejących kolumn, usuwać kolumny, a także zmieniać ograniczenia, takie jak klucze główne czy obce. Na przykład, w przypadku potrzeby dodania kolumny 'data_urodzenia' do tabeli 'użytkownicy', można użyć komendy: ALTER TABLE użytkownicy ADD data_urodzenia DATE;. Zmiany strukturalne są niezbędne, aby dostosować bazę danych do ewoluujących potrzeb aplikacji oraz do zapewnienia integralności danych. W praktyce, operacje te są często stosowane przy modernizacji aplikacji lub w odpowiedzi na zmieniające się wymagania biznesowe. Dobre praktyki wskazują, że przed wprowadzeniem zmian w strukturze tabeli warto wykonać kopię zapasową danych oraz przeanalizować wpływ tych zmian na istniejące zapytania i aplikacje, które korzystają z danej tabeli.

Pytanie 16

Model kolorów oparty na trzech parametrach: hue, saturation i brightness to

A. RGB
B. HSV
C. CMY
D. CMYK
RGB to model barw oparty na trzech kolorach podstawowych: czerwonym, zielonym i niebieskim. W tym modelu kolory są tworzone przez mieszanie tych trzech barw w różnych proporcjach, a nie przez kontrolowanie odcienia, nasycenia i jasności. RGB jest często stosowany w urządzeniach wyświetlających, takich jak monitory i telewizory, a jego wartości są wyrażane w skali od 0 do 255. CMY i CMYK to modele barw, które są stosowane głównie w druku. Model CMY, który składa się z cyjanu, magenty i żółtego, jest odwrotnością RGB, ponieważ używa kolorów subtraktywnych. CMYK, dodający czarny do CMY, jest zaprojektowany specjalnie do uzyskania głębszych tonów i lepszej reprodukcji kolorów w druku. W przeciwieństwie do modelu HSV, zarówno RGB, CMY, jak i CMYK nie uwzględniają łatwego zarządzania odcieniem, nasyceniem i jasnością w sposób, który jest intuicyjny dla użytkownika, co czyni je mniej użytecznymi w kontekście aplikacji graficznych i multimedialnych.

Pytanie 17

Który standard video cechuje się rozdzielczością 1920 px na 1080 px?

A. Ultra HD 
B. HD Ready
C. 4K
D. Full HD
Rozdzielczość 1920 × 1080 pikseli jest bardzo charakterystyczna i w branży funkcjonuje pod nazwą Full HD. Pomyłki biorą się często z tego, że nazwy handlowe typu 4K, Ultra HD czy HD Ready brzmią podobnie, a producenci sprzętu lubią je mieszać w reklamach. W efekcie wiele osób kojarzy „HD” ogólnie z dobrą jakością i nie rozróżnia konkretnych standardów. Tymczasem 4K oraz Ultra HD to wyraźnie wyższe rozdzielczości niż 1920×1080. Typowe konsumenckie 4K/UHD to 3840×2160 pikseli, czyli cztery razy więcej pikseli niż Full HD. To oznacza znacznie większą szczegółowość obrazu, ale również większe pliki, większe obciążenie łącza i sprzętu. W projektach webowych stosuje się 4K raczej do materiałów premium, dużych ekranów, telewizorów czy kin domowych, a nie jako standard „podstawowy”. Z kolei HD Ready to niższa rozdzielczość, zwykle 1280×720 pikseli (720p). Ten standard był popularny w starszych telewizorach i tańszych monitorach. W materiałach internetowych 720p traktuje się dziś jako minimum akceptowalnej jakości wideo, ale zdecydowanie nie jest to 1920×1080. Typowy błąd myślowy polega na tym, że ktoś widzi na obudowie telewizora napis „HD Ready” czy „HD” i automatycznie zakłada, że chodzi o Full HD, bo „przecież to też HD”. Niestety, marketing robi tu swoje. Dobra praktyka w pracy z multimediami jest taka, żeby zawsze patrzeć na konkretne wartości w pikselach, a nie tylko na hasło reklamowe. Dzięki temu, przygotowując treści na stronę WWW, do e‑learningu czy do materiałów promocyjnych, można świadomie dobrać rozdzielczość: 1280×720, gdy zależy nam na małej wadze pliku, 1920×1080 (Full HD) jako standard, a 4K/UHD raczej do zastosowań specjalnych, dużych ekranów i wysokiej klasy prezentacji. Rozpoznawanie tych różnic to podstawa pracy z grafiką i wideo w środowisku webowym.

Pytanie 18

W języku PHP wykonano poniższą operację. Aby uzyskać wszystkie rezultaty tego zapytania, należy:

$tab = mysqli_query($db, "SELECT imie FROM Osoby WHERE wiek < 18");
A. zastosować pętlę z poleceniem mysqli_fetch_row
B. użyć polecenia mysql_fetch
C. wyświetlić zmienną $db
D. zaindeksować zmienną tab, tab[0] to pierwsze imię
Pojawiające się koncepcje w odpowiedziach błędnych wskazują na niezrozumienie procesu pobierania danych z bazy danych w PHP. Zaindeksowanie zmiennej tab, w myśli o tym, że tab[0] zwróci pierwsze imię, jest podejściem, które nie uwzględnia, że zmienna $tab nie jest tablicą, lecz wynikiem zapytania, które może zawierać wiele wierszy. Otrzymujemy obiekt typu mysqli_result, który musi być przetworzony przez odpowiednie funkcje, a nie za pomocą prostego indeksowania. Zastosowanie polecenia mysql_fetch jest również niepoprawne, ponieważ mysql_fetch jest przestarzałą funkcją z rodziny mysql, która nie jest już wspierana i powinna być zastąpiona przez mysqli_fetch_ lub PDO. Wyświetlanie zmiennej $db nie ma sensu w kontekście uzyskania wyników zapytania, ponieważ zmienna ta odnosi się do połączenia z bazą danych, a nie do danych z zapytania. Te błędne podejścia prowadzą do szerszego problemu, którym jest brak znajomości mechanizmów obsługi baz danych w PHP oraz różnicy między różnymi typami metod dostępu do danych. Kluczowe jest, aby nie tylko znać składnię, ale także rozumieć koncepty stojące za pobieraniem i przetwarzaniem danych w systemach baz danych. Właściwe podejście do zarządzania danymi wymaga umiejętności korzystania z odpowiednich funkcji oraz znajomości struktur danych, które są wykorzystywane w PHP.

Pytanie 19

Która funkcja edytora grafiki wektorowej spowoduje przekształcenie z przedstawionych po lewej stronie figur koła i prostokąta do figury półkola widocznej po prawej stronie?

Ilustracja do pytania
A. Różnica.
B. Wykluczenie.
C. Podział.
D. Część wspólna.
W grafice wektorowej operacje na kształtach, takie jak Różnica, Podział, Wykluczenie czy Część wspólna, to tzw. operacje boole’owskie. One nie są losowe – każda z nich ma bardzo konkretne, matematyczne znaczenie. Typowy błąd polega na tym, że patrzymy tylko na „intuicyjną” nazwę funkcji, a nie na to, co faktycznie dzieje się z obszarami wypełnienia. Różnica (ang. Subtract / Difference) polega na tym, że jedna figura „wycina” fragment z drugiej. Gdyby w naszym przykładzie użyć różnicy, to z jednej figury zostałby usunięty fragment zajmowany przez drugą. W efekcie dostalibyśmy kształt przypominający np. prostokąt z zaokrąglonym wycięciem, a nie pełne półkole. To przydaje się np. do robienia otworów, ramek, ikon z „dziurą”, ale nie do budowy półkola. Podział (ang. Divide / Fragment) dzieli obszar wszędzie tam, gdzie kształty się przecinają, na kilka osobnych obiektów. Wizualnie może to chwilowo wyglądać podobnie, ale końcowy efekt to kilka fragmentów, które trzeba ręcznie usuwać lub scalać. W testowym zadaniu chodzi o jedną, gotową figurę półkola, bez dodatkowego sprzątania, więc to nie jest optymalna operacja. Wykluczenie (ang. Exclude / XOR) działa odwrotnie do części wspólnej – usuwa obszar nakładania się, a zostawia tylko to, co jest „na zewnątrz” przecięcia. Gdyby użyć wykluczenia na kole i prostokącie, środek, czyli miejsce ich wspólnego nakładania, zniknie, a zostaną dwa osobne dziwne kształty po bokach. To dobra funkcja do tworzenia bardziej dekoracyjnych, ażurowych form, ale kompletnie nie nadaje się do uzyskania klasycznego półkola. W tym zadaniu kluczowe jest zrozumienie, że półkole jest dokładnie tym obszarem, gdzie koło i prostokąt się pokrywają. Stąd jedynie „Część wspólna” daje czysty, poprawny efekt bez dodatkowej obróbki. Warto przy takich pytaniach wyobrażać sobie, które fragmenty zostaną, a które zostaną usunięte, zamiast sugerować się tylko nazwą funkcji w menu programu.

Pytanie 20

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

Ilustracja do pytania
A. table: left;
B. clear: both;
C. float: right;
D. float: left;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Właściwość float: right; w CSS to naprawdę fajne narzędzie, bo pozwala na umieszczenie rzeczy, jak na przykład obrazek, z prawej strony kontenera. Dzięki temu tekst ładnie opływa go z lewej strony, co jest super w responsywnych projektach. Często to widzę na stronach, gdzie musimy dostosować układ do różnych ekranów. Użycie float: right; zgodne jest z dobrymi praktykami CSS i daje nam większą kontrolę nad tym, jak wygląda strona. Przykładowo, w artykułach, gdzie obrazki są często po jednej stronie tekstu, float naprawdę ułatwia życie. Tylko pamiętaj, żeby używać clearfix, bo elementy pływające mogą czasami zamieszać w układzie. Dobrze jest też wiedzieć, że float zmienia sposób, w jaki przeglądarka wyświetla elementy, więc znajomość jego wpływu na model pudełkowy CSS jest bardzo ważna. Dzięki float: right; możemy ładnie oprawić tekst wokół obrazków w blogach, co sprawia, że wygląda to estetycznie i jest bardziej czytelne.

Pytanie 21

Taki styl CSS sprawi, że na stronie internetowej

ul{ list-style-image: url('rys.gif'); }
A. punkt listy nienumerowanej będzie rys.gif
B. rys.gif wyświetli się jako tło dla listy nienumerowanej
C. rys.gif stanie się ramką dla listy nienumerowanej
D. każdy punkt listy zyska osobne tło z grafiki rys.gif

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Deklaracja CSS ul{ list-style-image: url('rys.gif'); } powoduje, że każdy element listy nienumerowanej (ul) używa obrazu rys.gif jako punktora. Właściwość list-style-image pozwala na zamianę domyślnego stylu punktów listy, takiego jak kropki czy kwadraty, na dowolny obrazek. Jest to przydatne, gdy chcemy nadać stronie unikalny wygląd lub dostosować ją do identyfikacji wizualnej marki. W praktyce oznacza to, że zamiast klasycznego punktora, użytkownicy zobaczą wybrany obraz, co może wpłynąć na estetykę i czytelność strony. Ważne jest, aby obraz był odpowiednio skalowany, aby nie zaburzał układu listy. List-style-image to standardowa właściwość CSS uznawana przez większość przeglądarek, co czyni ją uniwersalnym narzędziem w rękach projektanta stron. W procesie projektowania warto upewnić się, że wybrany obrazek jest dostępny dla wszystkich użytkowników, co można osiągnąć np. poprzez dodanie atrybutu alt w wersji tekstowej listy dla lepszej dostępności.

Pytanie 22

W jaki sposób funkcjonuje instrukcja do łączenia wyników zapytań INTERSECT w SQL?

A. Zwraca te wiersze, które wystąpiły w wyniku drugiego zapytania, natomiast nie było ich w wyniku pierwszego zapytania
B. Zwraca część wspólną wyników dwóch zapytań
C. Zwraca zbiór wyników z pierwszego zapytania oraz zbiór wyników z drugiego zapytania, automatycznie eliminując powtarzające się wiersze
D. Zwraca te wiersze, które wystąpiły w wyniku pierwszego zapytania, jednak nie były obecne w wyniku drugiego zapytania

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcja INTERSECT w języku SQL jest używana do zwracania wspólnych wyników dwóch lub więcej zapytań SELECT. W praktyce INTERSECT identyfikuje i zwraca jedynie te wiersze, które występują zarówno w pierwszym, jak i w drugim zbiorze wyników. Warto zauważyć, że podczas używania tej instrukcji, domyślnie usuwane są duplikaty, co oznacza, że każde unikalne wystąpienie wspólnych wierszy zostanie zwrócone tylko raz. Na przykład, jeżeli mamy dwa zapytania: pierwsze zwracające klientów z miasta A, a drugie klientów z miasta B, zastosowanie INTERSECT pozwoli nam uzyskać listę klientów, którzy znajdują się w obu zbiorach, co może być istotne w kontekście analizy danych lub segmentacji rynku. W kontekście standardów SQL, INTERSECT jest jednym z operatorów zbiorowych, obok UNION i EXCEPT, co czyni go fundamentalnym narzędziem w pracy z relacyjnymi bazami danych. Użycie INTERSECT może być korzystne w sytuacjach, gdy chcemy uzyskać analizę porównawczą lub zidentyfikować wspólne elementy pomiędzy różnymi zestawami danych, co jest kluczowe w wielu zastosowaniach analitycznych i raportowych.

Pytanie 23

W języku JavaScript zapisano funkcję. Co ona ma za zadanie.

function fun1(f) {
    if (f < 0) f = f * (-1);
    return f
}
A. zwrócić wartość odwrotną do f
B. wypisać wartość bezwzględną z f
C. wypisać wartość odwrotną do f
D. zwrócić wartość bezwzględną z f

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Twoja odpowiedź jest poprawna. Funkcja, o której mówi pytanie, zwraca wartość bezwzględną z argumentu f. W języku programowania JavaScript wartość bezwzględną możemy obliczyć w różny sposób. W tym przypadku, dla f mniejszego od zera funkcja mnoży f przez -1, co jest równoznaczne z obliczeniem wartości bezwzględnej dla liczby ujemnej. Dla liczby nieujemnej, funkcja zwraca jej wartość bez zmian. To jest zgodne z definicją wartości bezwzględnej, która mówi, że jest to odległość liczby od zera na osi liczb rzeczywistych, bez względu na kierunek. W praktyce, wartość bezwzględna często jest używana w algorytmach, w których interesuje nas tylko 'rozmiar' wartości, a nie jej kierunek, np. w algorytmach statystycznych, graficznych czy fizycznych.

Pytanie 24

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Progowanie.
B. Inwersja.
C. Krzywe.
D. Barwienie.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowo wskazana funkcja to „Progowanie”, bo dokładnie ona zamienia obraz kolorowy lub w odcieniach szarości na obraz dwuwartościowy: piksel jest albo czarny, albo biały, w zależności od tego, czy jego jasność przekracza ustawiony próg. W GIMP-ie znajdziesz ją w menu Kolory → Progowanie. Suwakami ustalasz zakres poziomów jasności, które mają zostać potraktowane jako „białe”, a wszystko poza tym zakresem staje się „czarne”. Efekt, który się wtedy uzyskuje, jest bardzo charakterystyczny: mocno kontrastowy, bez półtonów, coś w stylu skanu czarno-białego lub grafiki do druku na ploterze tnącym. Z mojego doświadczenia progowanie świetnie nadaje się do przygotowania logotypów, szkiców technicznych, schematów, a także do wyciągania konturów z lekko rozmytych zdjęć. Często używa się go też przed wektoryzacją, żeby program śledzący krawędzie miał wyraźne granice między czernią a bielą. W pracy z grafiką na potrzeby stron WWW próg bywa stosowany np. przy tworzeniu prostych ikon, piktogramów albo masek (maski przezroczystości można przygotować właśnie na bazie obrazu progowanego). Dobrą praktyką jest najpierw sprowadzenie obrazu do odcieni szarości i dopiero potem użycie progowania, bo wtedy masz większą kontrolę nad tym, jak rozkłada się jasność i gdzie wypadnie granica progu. Warto też pamiętać, że progowanie jest operacją destrukcyjną – traci się informacje o półtonach – więc najlepiej pracować na kopii warstwy, żeby w razie czego móc wrócić do oryginału i poprawić ustawienia progu.

Pytanie 25

W języku HTML, aby uzyskać efekt taki jak na przykładzie, należy zastosować konstrukcję

Duży tekst zwykły tekst

A. <p><big>Duży tekst</big> zwykły tekst</p>
B. <p><strike>Duży tekst zwykły tekst</p>
C. <p><strike>Duży tekst</strike> zwykły tekst</p>
D. <p><big>Duży tekst</p> zwykły tekst

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W języku HTML, użycie znacznika <big> jest właściwym sposobem na zwiększenie rozmiaru tekstu, co w efekcie pozwala na wyróżnienie go w kontekście pozostałej treści. Znacznik ten jest jednak przestarzały i niezalecany w nowoczesnych praktykach, ponieważ CSS oferuje bardziej elastyczne i zaawansowane metody stylizacji. Przykładowo, zamiast stosować <big>, można wykorzystać stylizację CSS, aby uzyskać podobny efekt, co zwiększa kontrolę nad wyglądem elementów. Ponadto, zastosowanie znacznika <p> jako kontenera dla tekstu zapewnia semantyczną strukturę dokumentu, co jest zgodne z wytycznymi W3C i poprawia dostępność. Przykładowo, użycie CSS może wyglądać tak: <p style='font-size: 1.5em;'>Duży tekst</p>zwykły tekst, co jest bardziej zalecane dla zachowania zgodności ze standardami. Warto pamiętać, że unikanie przestarzałych znaczników i stosowanie CSS zwiększa elastyczność i estetykę projektów HTML.

Pytanie 26

Znacznik <strong> tekst</strong> w HTML będzie ukazywany przez przeglądarkę w identyczny sposób, jak znacznik

A. <sub>tekst</sub>
B. <b>tekst</b>
C. <h1>tekst</h1>
D. <big>tekst</big>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Znacznik <strong> w języku HTML jest używany do oznaczania tekstu, który ma być wyświetlany w sposób wyróżniony, co sugeruje jego większe znaczenie, natomiast znacznik <b> jest używany tylko do pogrubienia tekstu, bez dodatkowego kontekstu semantycznego. Oba znaczniki są wizualnie identyczne w większości przeglądarek, co powoduje, że można je stosować zamiennie w niektórych przypadkach. Jednakże, zgodnie z najnowszymi standardami HTML, zaleca się używanie <strong> dla tekstu, który ma większe znaczenie, ponieważ to pomaga w SEO i dostępności. Na przykład, tekst umieszczony w znaczniku <strong> może być lepiej interpretowany przez technologie wspomagające, takie jak czytniki ekranu, co czyni go bardziej dostępnym dla osób z niepełnosprawnościami. Przykład użycia: <strong>ważne informacje</strong> w odróżnieniu od <b>ważne informacje</b>, gdzie znaczenie semantyczne jest pominięte. Dlatego, mimo że wizualnie nie widać różnicy, semantyka HTML jest kluczowym aspektem, który wpływa na sposób, w jaki treść jest interpretowana i przetwarzana przez różnorodne systemy.

Pytanie 27

Który typ danych należy przypisać do atrybutu Telefon encji Student zakładając, że numer rozpoczyna się od znaku + i następującego po nim numeru kierunkowego kraju?

A. Binarny
B. Tekstowy
C. Liczbowy
D. Wyliczeniowy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawny typ danych dla atrybutu Telefon w encji Student to typ tekstowy, ponieważ numer telefonu nie jest zwykłą liczbą, tylko ciągiem znaków o określonej strukturze. Mamy tam znak plus na początku, potem numer kierunkowy kraju, często spacje, czasem myślniki, nawiasy. System informatyczny nie powinien wykonywać na tym polu działań arytmetycznych, tylko przechowywać dokładnie to, co użytkownik wpisał. W bazach danych i w większości języków programowania przyjętym standardem jest traktowanie numerów telefonów jako stringów, właśnie po to, żeby nie tracić formatu i nie usuwać znaków specjalnych. Moim zdaniem to jedna z takich pułapek początkujących: skoro są cyfry, to kusi, żeby dać typ liczbowy. A potem wychodzą kwiatki, typu ucinanie zera na początku, problemy z numerami międzynarodowymi, brak możliwości zapisania +48 albo numeru wewnętrznego. W praktyce w modelu danych stosuje się typ tekstowy (np. VARCHAR o rozsądnej długości) i ewentualnie nakłada się walidację po stronie aplikacji lub bazy, np. wyrażeniem regularnym, żeby pilnować formatu zgodnego z E.164 (+48123456789 itd.). Dobre praktyki mówią też, żeby nie łączyć w jednym polu różnych znaczeń, więc jeśli oprócz numeru trzeba przechowywać np. opis typu telefonu (komórkowy, stacjonarny, służbowy), to lepiej dać osobny atrybut albo nawet osobną tabelę. Sam numer jednak zawsze jako tekst, bo jego „wartość” logiczna to identyfikator, a nie wielkość liczbowa.

Pytanie 28

Jak, wykorzystując język PHP, można zapisać w ciasteczku wartość znajdującą się w zmiennej dane na okres jednego dnia?

A. setcookie("dane", $dane, time());
B. setcookie("dane", $dane, time() + (3600*24));
C. setcookie("dane", "dane", 0);
D. setcookie("dane", $dane, 0);

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to setcookie("dane", $dane, time() + (3600*24));, ponieważ umożliwia ona zapisanie wartości zmiennej $dane w ciasteczku o nazwie "dane" na okres jednego dnia. Funkcja setcookie() w PHP przyjmuje trzy podstawowe argumenty: nazwę ciasteczka, jego wartość oraz czas wygaśnięcia. W tym przypadku, używając time() + (3600*24), ustawiamy czas wygaśnięcia ciasteczka na aktualny czas plus 24 godziny (3600 sekund w godzinie razy 24). Jest to zgodne z najlepszymi praktykami zarządzania sesjami i danymi użytkowników, ponieważ pozwala na przechowywanie informacji, które są dostępne dla użytkownika przez dłuższy czas, co może być przydatne w różnych scenariuszach, takich jak zapamiętywanie preferencji użytkownika lub stanu logowania. Użycie odpowiednich czasów wygaśnięcia wpływa na bezpieczeństwo i prywatność danych. Dobre praktyki sugerują także, aby ciasteczka były używane w sposób przemyślany, aby nie obniżać wydajności aplikacji ani nie narażać danych użytkowników na nieautoryzowany dostęp.

Pytanie 29

Metainformacja “Description" zawarta w pliku źródłowym HTML powinna zawierać

<head>
    <meta name="Description" content="..." >
</head>
A. nazwę programu, przy użyciu którego została stworzona strona.
B. informację, kto jest autorem strony.
C. opis, co znajduje się na stronie.
D. wyrazy kluczowe, z których korzystają wyszukiwarki sieciowe.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to 'opis, co znajduje się na stronie'. Metainformacja 'Description' w pliku źródłowym HTML jest wykorzystywana przez wyszukiwarki internetowe do wyświetlania opisu strony w wynikach wyszukiwania. Dzięki temu użytkownik może zobaczyć na pierwszy rzut oka, czy strona jest związana z jego zapytaniem, czy też nie. Jest to jedno z kluczowych narzędzi w SEO (Search Engine Optimization), które ma na celu zwiększenie widoczności strony w wynikach wyszukiwania. W praktyce, opis powinien być krótki, zwięzły i zawierać ważne informacje o treści strony. Dobrą praktyką jest również uwzględnienie kluczowych słów, na które użytkownicy mogą szukać. Opis ten powinien być zrozumiały dla użytkowników, a także jest to miejsce, gdzie można wykorzystać strategie marketingowe, aby zachęcić do odwiedzenia strony.

Pytanie 30

Tabela o nazwie naprawy posiada kolumny klient oraz czyNaprawione. W celu usunięcia rekordów, w których wartość pola czyNaprawione wynosi prawda, należy użyć komendy

A. DELETE FROM naprawy WHERE czyNaprawione = TRUE;
B. DELETE naprawy WHERE czyNaprawione = TRUE;
C. DELETE FROM naprawy;
D. DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "DELETE FROM naprawy WHERE czyNaprawione = TRUE;" jest poprawna, ponieważ wykorzystuje właściwą składnię SQL do usunięcia rekordów z tabeli. Komenda DELETE jest używana do usuwania danych z bazy danych, a klauzula WHERE precyzuje, które rekordy mają być usunięte na podstawie określonych warunków. W tym przypadku, usuwane są tylko te rekordy, które mają wartość TRUE w polu czyNaprawione. Zastosowanie klauzuli WHERE jest kluczowe, ponieważ umożliwia precyzyjne wybranie danych do usunięcia, co zapobiega przypadkowemu skasowaniu wszystkich rekordów w tabeli. W praktyce, taką komendę można wykorzystać w różnych aplikacjach związanych z zarządzaniem danymi, np. w systemach informatycznych do obsługi klienta, gdzie zachodzi potrzeba bieżącego zarządzania statusami napraw. Dobre praktyki w programowaniu baz danych nakazują zawsze stosować klauzulę WHERE przy usuwaniu danych, aby uniknąć niezamierzonych skutków. Warto również przetestować zapytania w środowisku testowym przed ich zastosowaniem w produkcji, co zwiększa bezpieczeństwo operacji na danych.

Pytanie 31

Znacznik <ins> w HTML ma na celu wskazanie

A. bloku tekstu, który jest cytowany
B. tekstu, który został dodany
C. tekstu, który został usunięty
D. tekstu, który został przerobiony

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Znacznik <ins> w HTML jest używany do oznaczania tekstu, który został dodany w kontekście edytowania treści. Zgodnie ze standardem HTML5, element <ins> reprezentuje wprowadzenie nowego tekstu, co jest szczególnie przydatne w kontekście śledzenia zmian w dokumentach. Używając <ins>, możemy nie tylko oznaczyć dodany tekst, ale także dostarczyć kontekstu dla jego wprowadzenia, na przykład poprzez dodanie atrybutu datetime, który wskazuje, kiedy zmiana została wprowadzona. Praktyczne zastosowanie tego znacznika można zauważyć w edytorach treści, gdzie użytkownicy mogą wprowadzać poprawki, a powstałe zmiany są wizualizowane. Dzięki temu osoby przeglądające dokument mogą łatwo zauważyć, co zostało dodane. Warto również wspomnieć, że w połączeniu z odpowiednim stylem CSS, zmiany te mogą być wyróżnione w sposób, który zwiększa czytelność tekstu. Standardy W3C zalecają stosowanie znaczników semantycznych, takich jak <ins>, aby poprawić dostępność oraz zrozumiałość treści.

Pytanie 32

W analizowanym fragmencie algorytmu wykorzystano

Ilustracja do pytania
A. jeden blok decyzyjny.
B. trzy bloki operacyjne (procesy).
C. dwie pętle.
D. jedną pętlę.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Na tym schemacie blokowym mamy jedną pętlę, co oznacza, że jeden z kroków powtarza się aż do momentu, kiedy spełni się określony warunek. Pętle to podstawa programowania, bo dzięki nim możemy wielokrotnie coś robić, co jest super przydatne. Używamy ich na przykład do sortowania danych w tablicy albo przetwarzania informacji w aplikacjach. Warto pamiętać, żeby nie robić zbyt skomplikowanych pętli, bo mogą potem sprawiać problemy, co do łatwości w utrzymaniu kodu. Dobrze jest też dodawać komentarze do warunków kończących pętle, bo to znacznie poprawia czytelność. Na prezentowanym schemacie pętla jest przedstawiona jako połączenie bloku decyzyjnego z wcześniejszym krokiem, co pokazuje, że proces się powtarza – to całkiem typowe w takich schematach.

Pytanie 33

Kompresja bezstratna pliku graficznego zapewnia

A. oryginalną jakość grafiki
B. rozmiar większy niż w oryginale
C. mniejszą ilość warstw
D. wyższą jakość

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kompresja bezstratna pliku graficznego to technika, która pozwala na zmniejszenie rozmiaru pliku graficznego bez utraty jakichkolwiek informacji wizualnych. Oznacza to, że po procesie kompresji, obraz zachowuje swoją pierwotną jakość, a wszystkie detale, kolory i tekstury pozostają nienaruszone. Przykładami formatów wykorzystujących kompresję bezstratną są PNG (Portable Network Graphics) oraz TIFF (Tagged Image File Format). W przypadku PNG, algorytm kompresji, znany jako DEFLATE, pozwala na efektywne zmniejszenie rozmiaru pliku poprzez usuwanie nadmiarowych danych bez wpływu na jakość obrazu. Kompresja bezstratna jest szczególnie ważna w dziedzinach, gdzie jakość grafiki ma kluczowe znaczenie, na przykład w druku, gdzie jakiekolwiek zniekształcenia mogłyby wpłynąć na finalny efekt. Umożliwia ona również edytowanie obrazów bez obawy o degradację jakości, co jest istotne w pracy z grafiką komputerową oraz fotografią. Dzięki temu technologia ta zyskuje na popularności wśród grafików i profesjonalistów zajmujących się obróbką zdjęć.

Pytanie 34

Ile razy zostanie wykonana zaprezentowana pętla w języku PHP, zakładając, że zmienna sterująca nie jest zmieniana wewnątrz pętli?

 for ($i = 0; $i <= 10; $i++) {
    // kod pętli
}
A. Nieskończenie wiele
B. 0
C. 10
D. 11

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź wynika z analizy działania pętli for w języku PHP. W przedstawionej pętli warunek iteracji jest ustawiony na '$i <= 10', co oznacza, że pętla będzie wykonywana tak długo, jak długo zmienna $i będzie mniejsza lub równa 10. Zmienna $i jest inicjalizowana wartością 0 i inkrementowana o 1 przy każdym obiegu pętli. W efekcie, pętla będzie wykonywana dla wartości $i od 0 do 10, co daje 11 iteracji. Praktycznym zastosowaniem takiej pętli może być na przykład generowanie listy numerów lub przetwarzanie elementów w tablicy. Dobrą praktyką podczas używania pętli jest również upewnienie się, że warunek zakończenia jest poprawnie zdefiniowany, aby uniknąć niezamierzonych nieskończonych iteracji. Warto także uwzględnić możliwość modyfikowania zmiennej sterującej w ciele pętli, co może prowadzić do złożonych przypadków, ale w tym konkretnym przykładzie nie mamy takiej sytuacji.

Pytanie 35

Aby grupować sekcje na poziomie bloków, które będą stilizowane za pomocą znaczników, jakiego należy użyć?

A. <param>
B. <p>
C. <div>
D. <span>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Znak <div> jest jednym z podstawowych elementów HTML, który służy do grupowania i organizowania zawartości w dokumentach HTML. Umożliwia on stosowanie stylów CSS oraz skryptów JavaScript na grupach elementów, co czyni go niezwykle użytecznym w budowie responsywnych i złożonych układów stron. W przeciwieństwie do znaku <p>, który zarezerwowany jest dla akapitów tekstu, lub <span>, który jest używany do izolowania niewielkich fragmentów tekstu w ramach większego kontekstu, <div> działa jako kontener wypełniający swoje otoczenie. Ponadto, <div> jest znacznikiem blokowym, co oznacza, że zajmuje całą szerokość dostępnego miejsca w swoim rodzicu, co jest kluczowe w projektowaniu układów. W praktyce może być używany do tworzenia sekcji strony, nagłówków, stopki czy artykułów, co pozwala na lepszą organizację kodu i stylów. W kontekście standardów, <div> jest częścią W3C HTML5, co zapewnia jego szeroką akceptację i zgodność z przeglądarkami. Użycie <div> do grupowania obszarów na poziomie bloków jest zatem najlepszą praktyką w nowoczesnym web designie.

Pytanie 36

Podstawowym celem korzystania z edytora WYSIWYG jest

A. automatyzacja odtwarzania plików multimedialnych
B. szybka wizualizacja tworzonej strony
C. ściąganie z Internetu pełnych portali WWW
D. wykrywanie błędów w bazie danych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Edytory WYSIWYG (What You See Is What You Get) są narzędziami, które umożliwiają tworzenie i edytowanie treści internetowych w sposób wizualny, co oznacza, że użytkownik widzi na ekranie dokładnie to, co otrzyma po zapisaniu dokumentu. Głównym celem ich stosowania jest przyspieszenie procesu projektowania stron internetowych poprzez natychmiastowe wizualizowanie zmian. Dzięki temu, osoby nieposiadające zaawansowanej wiedzy programistycznej mogą łatwo tworzyć atrakcyjne wizualnie strony, co ma ogromne znaczenie w kontekście szybkiego rozwoju branży webowej. Przykłady zastosowania edytorów WYSIWYG to platformy takie jak WordPress, Wix czy Squarespace, które umożliwiają użytkownikom dodawanie treści, obrazów i multimediów bez potrzeby pisania kodu. Warto również zauważyć, że edytory te wspierają standardy webowe, takie jak HTML5 i CSS3, co pozwala na optymalizację stron pod kątem SEO oraz responsywności. W związku z rosnącą popularnością edytorów WYSIWYG, znajomość ich działania staje się kluczowa dla każdego, kto pragnie efektywnie zarządzać treściami w sieci.

Pytanie 37

Hermetyzacja to zasada programowania obiektowego, która wskazuje, że

A. klasy i obiekty mogą mieć zdefiniowane metody wirtualne, które są realizowane w klasach lub obiektach pochodnych.
B. pola oraz metody, które są używane wyłącznie przez daną klasę lub obiekt, są ograniczane zasięgiem private lub protected.
C. klasy i obiekty mogą dzielić się funkcjonalnością.
D. typy pól w klasach i obiektach mogą być zmieniane dynamicznie w zależności od przypisywanych danych.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Hermetyzacja (ang. encapsulation) to kluczowa zasada programowania obiektowego, która polega na ukrywaniu wewnętrznej logiki obiektów oraz ograniczaniu dostępu do ich wewnętrznych danych. Dzięki hermetyzacji, pola i metody, które są używane tylko przez daną klasę lub obiekt, mogą być oznaczone jako private lub protected. Oznaczenie private sprawia, że dany element jest dostępny tylko w obrębie klasy, w której został zdefiniowany, natomiast protected pozwala na dostęp do niego również w klasach potomnych. Przykładowo, w języku Java można zdefiniować klasę 'Samochod', w której pole 'numerRejestracyjny' jest oznaczone jako private. Oznacza to, że inne klasy nie mogą bezpośrednio modyfikować tego pola, co zwiększa bezpieczeństwo danych i zmniejsza ryzyko błędów. Hermetyzacja wspiera również zasadę pojedynczej odpowiedzialności, ograniczając zasięg zmian w kodzie do konkretnej klasy. Standardy programowania obiektowego, takie jak SOLID, również podkreślają znaczenie hermetyzacji jako sposobu na osiągnięcie lepszej organizacji kodu i jego większej elastyczności. W praktyce, hermetyzacja pozwala programistom tworzyć bardziej spójne i łatwiejsze w utrzymaniu systemy, gdzie komponenty są od siebie odseparowane, a interakcje między nimi są dobrze zdefiniowane.

Pytanie 38

Którego formatu należy użyć do zapisu zdjęcia z kompresją stratną?

A. JPEG
B. GIF
C. PCX
D. PNG

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Format JPEG (Joint Photographic Experts Group) jest powszechnie stosowany do zapisu obrazów z kompresją stratną, co oznacza, że ​​część danych jest usuwana, aby zmniejszyć rozmiar pliku. JPEG jest szczególnie efektywny w przypadku fotografii i obrazów z wieloma kolorami oraz gradientami, gdzie niewielka utrata jakości jest akceptowalna dla użytkowników. Ten format kompresji stratnej działa na zasadzie analizy obrazu i eliminacji informacji, które są mniej zauważalne dla ludzkiego oka, co pozwala na znaczne zmniejszenie rozmiaru pliku. Przykładem zastosowania JPEG jest publikacja zdjęć w sieci, gdzie prędkość ładowania strony ma duże znaczenie. W praktyce format JPEG jest szeroko stosowany w mediach społecznościowych, portalach internetowych i w fotografii cyfrowej, co czyni go jednym z najpopularniejszych formatów graficznych. Dodatkowo, JPEG wspiera różne profile kolorów, co pozwala na lepszą reprezentację kolorystyczną w różnych urządzeniach wyjściowych, takich jak monitory i drukarki, co jest zgodne z najlepszymi praktykami w dziedzinie obróbki obrazu.

Pytanie 39

W języku JavaScript należy uzyskać dostęp do elementu w pierwszym akapicie podanego kodu HTML. Jak można to zrobić za pomocą funkcji

<p>pierwszy paragraf</p>
<p>drugi paragraf</p>
<p>trzeci paragraf</p>
...
A. getElementByClassName('p.1')[0];
B. getElementById('p1');
C. getElement('p');
D. getElementByTagName('p')[0];

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Metoda getElementsByTagName('p')[0] jest prawidłowym sposobem odwołania się do pierwszego elementu <p> w dokumencie HTML. Funkcja getElementsByTagName zwraca kolekcję wszystkich elementów o określonej nazwie tagu. W przypadku użycia tagu 'p', funkcja zwraca tablicę wszystkich paragrafów. Aby uzyskać dostęp do pierwszego paragrafu, korzystamy z indeksu [0], co jest zgodne z konwencją numerowania od zera w językach programowania. Praktyczne zastosowanie tej metody obejmuje manipulację treścią lub stylami pierwszego paragrafu, na przykład zmiana jego tekstu za pomocą innerHTML lub dodanie klasy CSS w celu zmiany jego wyglądu. Stosowanie getElementsByTagName jest zgodne z powszechnymi standardami i dobrymi praktykami w pracy z DOM (Document Object Model) w JavaScript. Ważne jest zrozumienie tego mechanizmu, aby efektywnie operować na elementach HTML oraz tworzyć dynamiczne i interaktywne strony internetowe. Warto również pamiętać, że metoda ta zwraca dynamiczną kolekcję, co oznacza, że zmiany w DOM automatycznie wpływają na zawartość zwróconej kolekcji.

Pytanie 40

Wymień dwa sposoby na zabezpieczenie bazy danych Microsoft Access

A. Ustalanie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika
B. Zaszyfrowanie pliku bazy danych oraz wiadomości SMS z kodem autoryzacyjnym
C. Ustalenie zabezpieczeń na poziomie użytkownika oraz w sesji
D. Funkcje anonimowe oraz ustawienie hasła do otwarcia bazy danych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Ustalanie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika to kluczowe elementy ochrony danych w Microsoft Access. Ustalenie hasła otwarcia bazy danych zapewnia podstawowy poziom bezpieczeństwa, uniemożliwiając nieautoryzowanym użytkownikom dostęp do pliku. W praktyce, aby ustawić hasło, wystarczy przejść do opcji 'Informacje' w menu, a następnie wybrać 'Szyfrowanie z hasłem'. Zabezpieczenia na poziomie użytkownika natomiast pozwalają na definiowanie ról i uprawnień dla różnych użytkowników, co jest istotne w sytuacjach, gdzie dostęp do danych powinien być ograniczony do wybranych osób. Implementacja tych rozwiązań jest zgodna z dobrymi praktykami bezpieczeństwa danych, które zalecają stosowanie wielowarstwowych mechanizmów ochrony. Przykładem może być firma, która przechowuje wrażliwe dane klientów, gdzie konieczne jest, aby tylko wyznaczeni pracownicy mieli dostęp do konkretnych informacji, co można zrealizować właśnie poprzez zabezpieczenia na poziomie użytkownika.