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: 5 maja 2026 09:08
  • Data zakończenia: 5 maja 2026 09:28

Egzamin zdany!

Wynik: 29/40 punktów (72,5%)

Wymagane minimum: 20 punktów (50%)

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

Jakie prawa: CREATE, ALTER, DROP zostały użyte w poleceniu GRANT?

A. przyznawania uprawnień innym użytkownikom
B. pracy ze strukturą
C. pracy z danymi
D. pobierania danych z bazy
Analiza pozostałych odpowiedzi prowadzi do nieporozumień związanych z różnymi rodzajami uprawnień w systemach baz danych. Manipulowanie danymi odnosi się głównie do operacji takich jak SELECT, INSERT, UPDATE i DELETE, które są używane do odczytywania i zmieniania danych przechowywanych w tabelach. Zestaw praw użyty w poleceniu GRANT nie obejmuje tych operacji, co czyni tę odpowiedź niewłaściwą. W przypadku wybierania informacji z bazy danych, odpowiednie prawa to SELECT, które nie mają związku z manipulowaniem strukturą. Ponadto, nadawanie praw innym użytkownikom jest związane z używaniem polecenia GRANT, ale nie odnosi się bezpośrednio do zestawu praw CREATE, ALTER i DROP. To ważne, aby zrozumieć, że każdy z tych typów uprawnień ma swoje specyficzne zastosowanie i nie mogą być mylone. W praktyce, administratorzy baz danych muszą wiedzieć, które uprawnienia są niezbędne dla użytkowników, aby zrealizować konkretne zadania, a błędne przypisanie uprawnień może prowadzić do poważnych problemów bezpieczeństwa i integralności danych. Takie myślenie o uprawnieniach wymaga zrozumienia ich różnorodności i kontekstu ich zastosowania w architekturze bazy danych.

Pytanie 2

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ć inicjowany wartością 0, a nie 1
B. parametr i pętli powinien być zmniejszany zamiast zwiększany
C. zmienna a powinna być ustawiona na 0 zamiast 1
D. w drugim warunku pętli powinno być porównanie i < 6 zamiast i < 5
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 3

W języku PHP zmienna o nazwie $_SESSION przechowuje

A. zmienne zarejestrowane w aktualnej sesji
B. zmienne przesyłane do skryptu poprzez formularze
C. zmienne przesyłane do skryptu za pośrednictwem ciasteczek (cookie)
D. listę aktywnych sesji na serwerze WWW
Zmienna predefiniowana $_SESSION w PHP jest kluczowym elementem zarządzania sesjami, który umożliwia przechowywanie danych użytkownika w trakcie jego wizyty na stronie internetowej. Sesja jest identyfikowana przez unikalny identyfikator, który jest zazwyczaj przechowywany w ciasteczku na komputerze użytkownika, co pozwala na zachowanie stanu między różnymi żądaniami HTTP. Przechowywane w $_SESSION zmienne są dostępne na wszystkich stronach związanych z daną sesją, co sprawia, że jest to niezwykle przydatne w przypadku aplikacji wymagających autoryzacji lub personalizacji treści. Przykładem może być strona logowania, gdzie po wprowadzeniu poprawnych danych użytkownika, zmienne takie jak 'username' czy 'user_id' mogą zostać zapisane w $_SESSION, co umożliwia późniejsze wykorzystanie tych danych do wyświetlania spersonalizowanych informacji. PHP automatycznie rozpoczyna sesję po wywołaniu funkcji session_start(), co oznacza, że wszystkie zmienne zarejestrowane w $_SESSION będą dostępne do odczytu i zapisu podczas całej aktywności użytkownika na stronie. Warto również zaznaczyć, że dane w $_SESSION są przechowywane po stronie serwera, co czyni je bardziej bezpiecznymi w porównaniu do danych przechowywanych w ciasteczkach.

Pytanie 4

Integralność referencyjna w relacyjnych bazach danych wskazuje, że

A. każdemu kluczowi głównemu przyporządkowany jest dokładnie jeden klucz obcy w danej tabeli lub powiązanych tabelach
B. klucz główny lub klucz obcy nie zawierają żadnych wartości NULL
C. wartość klucza obcego w konkretnej tabeli musi być równa wartości klucza głównego w powiązanej tabeli lub mieć wartość NULL
D. wartość klucza głównego oraz klucza obcego nie może być pusta
Pierwsza z niepoprawnych odpowiedzi odnosi się do stwierdzenia, że wartość klucza głównego oraz klucza obcego nie jest pusta. Choć jest to istotne, nie uwzględnia to kontekstu integralności referencyjnej, gdyż klucz obcy może przyjąć wartość NULL, co jest zgodne z zasadą, że nie każdy rekord musi mieć przypisane powiązanie. Kolejny błąd pojawia się w twierdzeniu, że klucz główny lub klucz obcy nie zawierają wartości NULL. Z definicji klucz główny nie może mieć wartości NULL, ale klucz obcy może, co jest istotne dla elastyczności projektowania baz danych. Również stwierdzenie, że każdemu kluczowi głównemu odpowiada dokładnie jeden klucz obcy, jest mylne, ponieważ klucz główny może być powiązany z wieloma kluczami obcymi w innych tabelach, co umożliwia bardziej złożone relacje. W kontekście relacyjnych baz danych, klucz obcy może odnosić się do jednego klucza głównego, ale nie wymaga, aby istniał tylko jeden klucz obcy do danego klucza głównego, co jest typowe w praktyce projektowania baz danych. Tak więc, w kontekście integralności referencyjnej, klucz obcy może być NULL i może odnosić się do jednego klucza głównego, ale nie ogranicza się do jednego powiązania, co czyni te odpowiedzi niepoprawnymi.

Pytanie 5

Funkcja colspan umożliwia łączenie komórek tabeli w układzie poziomym, natomiast rowspan w układzie pionowym. Która z poniższych tabel odpowiada fragmentowi kodu w języku HTML?

Ilustracja do pytania
A. Odpowiedź C
B. Odpowiedź A
C. Odpowiedź D
D. Odpowiedź B
Polecenie rowspan w języku HTML służy do łączenia komórek tabeli w pionie. W podanym fragmencie kodu HTML, atrybut rowspan jest użyty z wartością 2 w pierwszej komórce pierwszego wiersza. Oznacza to, że ta komórka będzie się rozciągać na dwa wiersze, co jest widoczne w odpowiedzi B. Tabelę HTML można wykorzystać do tworzenia złożonych struktur danych, gdzie rowspan jest kluczowe w przypadku, gdy chcemy zminimalizować liczbę komórek i lepiej zorganizować dane w pionowe bloki. Użycie rowspan jest zgodne ze standardami HTML5, które zalecają semantyczne i logiczne układanie danych. Praktyczne zastosowanie rowspan można znaleźć w projektach takich jak raporty finansowe czy skomplikowane formularze, gdzie często wymagane jest łączenie komórek w pionie. W projektowaniu stron internetowych zaleca się stosowanie tabel w przypadkach rzeczywistych danych tabelarycznych, a nie do układu strony, co jest zgodne z wytycznymi dotyczącymi dostępności WCAG.

Pytanie 6

DOM oferuje metody oraz właściwości, które w języku JavaScript umożliwiają

A. pobieranie i zmianę elementów strony, która jest wyświetlana przez przeglądarkę
B. przeprowadzanie operacji na zmiennych zawierających liczby
C. przesyłanie danych formularzy bezpośrednio do bazy danych
D. manipulację łańcuchami zdefiniowanymi w kodzie
Dobra robota! Odpowiedź jest poprawna, bo to właśnie DOM, czyli Document Object Model, pozwala programistom na zmianę struktury i stylu dokumentów HTML i XML. Dzięki DOM w JavaScript można na bieżąco zmieniać treść i układ strony bez konieczności jej przeładowania. Weźmy na przykład taki przypadek: chcemy zmienić tekst w elemencie <h1>. Robimy to, wybierając ten element metodą `document.getElementById()` i przypisując nową wartość do `innerHTML`. Standardy W3C mówią, jak to wszystko ma działać, dzięki czemu DOM jest uznawany w branży. Umiejętność manipulacji DOM jest mega ważna przy tworzeniu interaktywnych aplikacji webowych, jak różne formularze, które pozwalają użytkownikom dodawać i edytować dane. Dobrze wykorzystany DOM sprawia, że aplikacje są szybsze i bardziej responsywne, co jest kluczowe w nowoczesnym programowaniu front-end.

Pytanie 7

Wskaż styl CSS za pomocą, którego uzyskano przedstawiony efekt

Styl 1.
img {
  width: 100px;
  border-radius: 10%;
}
Styl 2.
img {
  width: 100px;
  border-radius: 50px;
}
Styl 3.
img {
  width: 100px;
  border: 50% green;
}
Styl 4.
img {
  width: 100px;
  shape: circle;
}
Ilustracja do pytania
A. Styl 4.
B. Styl 2.
C. Styl 1.
D. Styl 3.
Dobrze! Wybrałeś właściwą odpowiedź, która jest 'Styl 2.'. Ten styl CSS składa się z właściwości border-radius z wartością 50px. Właściwość border-radius jest używana do zaokrąglania rogów elementu. Wartość tej właściwości może być ustawiona na dowolną liczbę pikseli, a w tym przypadku ustawiona jest na 50px, co daje efekt widoczny na obrazie. Jest to ważna cecha w CSS, ponieważ pozwala na dodanie subtelnego zaokrąglenia do elementów na stronie internetowej, co może zdecydowanie poprawić jej wygląd. Pamiętaj, że dobre praktyki projektowania stron internetowych polegają na wykorzystywaniu tej właściwości z umiarem, aby uniknąć przekombinowania i utraty profesjonalizmu strony.

Pytanie 8

Znacznik <s> w HTML generuje

A. podkreślenie tekstu
B. migotanie tekstu
C. pochylenie tekstu
D. przekreślenie tekstu
Wybrałeś odpowiedź o pochyleniu tekstu, ale to nie jest poprawne. Do pochylenia używamy znaczników <em> lub <i>, a one mają trochę inne zadanie. Pochylenie tekstu zazwyczaj wyróżnia ważne elementy, co różni się od przekreślenia. A migotanie tekstu, chociaż może fajnie wygląda, to nie jest wspierane w HTML i zazwyczaj osiąga się to przez CSS, co nie jest najlepszym pomysłem z punktu widzenia dostępności. Może to frustrować użytkowników i nawet powodować problemy zdrowotne, na przykład migreny. Co do podkreślenia, to jest robione przez znacznik <u>, który też ma inne przeznaczenie. Często ludzie mylą podkreślenie z przekreśleniem, bo oba zmieniają wygląd, ale ich znaczenie jest inne. Podkreślenie sugeruje link, co też może wprowadzać zamieszanie. Takie nieporozumienia mogą wynikać z braku zrozumienia, jak działają znaczniki HTML oraz jak je stosować w praktyce, by tworzyć treści, które są zrozumiałe i dostępne. Dobre używanie znaczników poprawia nie tylko estetykę, ale też wspiera standardy dostępności, co jest naprawdę istotne w nowoczesnym projektowaniu stron.

Pytanie 9

Czego nie należy robić, aby zabezpieczyć serwer bazy danych przed atakami hakerów?

A. defragmentacja dysków.
B. aktywacja zapory.
C. blokowanie portów związanych z bazą danych.
D. używanie skomplikowanych haseł do bazy.
Defragmentacja dysków nie jest bezpośrednio związana z zabezpieczaniem serwera bazy danych przed atakami hakerskimi. Choć defragmentacja może poprawić wydajność systemu plików poprzez uporządkowanie fragmentów plików na dysku, nie ma wpływu na kwestie bezpieczeństwa. Przykłady skutecznych działań w zakresie zabezpieczeń obejmują włączenie zapory, co stanowi pierwszą linię obrony, blokowanie portów, które mogą być wykorzystywane przez potencjalnych intruzów, oraz stosowanie złożonych haseł, co minimalizuje ryzyko nieautoryzowanego dostępu. W kontekście zarządzania bezpieczeństwem baz danych, kluczowe jest przestrzeganie najlepszych praktyk, takich jak regularne aktualizacje oprogramowania, monitorowanie logów dostępu oraz stosowanie zasad minimalnych uprawnień. Właściwe zabezpieczenia powinny być wdrażane zgodnie z wytycznymi standardów takich jak ISO/IEC 27001.

Pytanie 10

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. tylko funkcję mysqli_error
B. funkcje mysqli_error i mysqli_errno
C. funkcje mysqli_error i mysqli_connect_errno
D. funkcje mysqli_error i mysqli_error_number
Wybór funkcji mysqli_error i mysqli_connect_errno nie jest właściwy, ponieważ mysqli_connect_errno jest funkcją przeznaczoną do uzyskiwania numeru błędu połączenia z bazą danych, a nie błędu SQL. Użycie tej funkcji w kontekście operacji na bazie danych prowadzi do mylnego wniosku, że jej zastosowanie jest uniwersalne dla wszystkich błędów. W rzeczywistości, mysqli_connect_errno powinno być stosowane głównie podczas nawiązywania połączenia, natomiast dla błędów związanych z zapytaniami SQL właściwe są inne funkcje. Z kolei wskazanie tylko na funkcję mysqli_error nie jest wystarczające, ponieważ sama dostarcza jedynie opisu błędu, a nie jego numeru, co ogranicza możliwości analizy i diagnostyki. Użytkownicy często popełniają błąd myślowy, zakładając, że pojedyncza funkcja może spełnić wszystkie potrzeby związane z obsługą błędów. W prawidłowym procesie zarządzania błędami w programowaniu, kluczowe jest użycie zestawu funkcji, które dostarczają zarówno opisy, jak i kody błędów, co pozwala na bardziej wszechstronną reakcję na różne sytuacje awaryjne. Ignorowanie tej zasady może prowadzić do nieefektywnego debugowania i długotrwałych problemów w działaniu aplikacji.

Pytanie 11

Jakie dane zostaną wyświetlone po wykonaniu podanych poleceń?

bool gotowe = true;
cout << gotowe;
A. nie
B. 1
C. tak
D. 0
W języku C++ zmienne typu bool mogą przyjmować jedynie dwie wartości: true i false. Gdy zmienna typu bool zostanie wypisana przy użyciu standardowego strumienia wyjściowego cout, to domyślnie wartości true i false są konwertowane na liczby całkowite 1 i 0 odpowiednio. Dlatego w zaprezentowanym fragmencie kodu zmiennej gotowe przypisano wartość true, a następnie jej zawartość została wypisana przy użyciu cout. Wynikiem tego działania będzie wyświetlenie liczby 1 na ekranie. Jest to zgodne z domyślnym zachowaniem cout w przypadku zmiennych typu bool w C++. Aby modyfikować to zachowanie i bezpośrednio wypisywać słowa true lub false, można użyć specjalnej flagi boolalpha, która sprawia, że wartości logiczne są reprezentowane jako tekst. Jednak w podanym przykładzie nie użyto tej flagi, co prowadzi do wypisania wartości liczbowej. Takie podejście jest powszechne w wielu aplikacjach, gdzie wartości logiczne muszą być szybko zamieniane na wartości liczbowe, na przykład w obliczeniach binarnych czy przy operacjach bitowych. Poprawne zrozumienie tego mechanizmu jest kluczowe dla programistów tworzących efektywne i czytelne aplikacje w C++.

Pytanie 12

Instrukcja w języku JavaScript

var napis1 = new napisy();
ma na celu
A. stworzenie nowej klasy napis1
B. zadeklarowanie zmiennej napis1 oraz uruchomienie funkcji, która przyjmuje jako argument napis1
C. stworzenie obiektu napis1 z klasy napisy
D. wykonanie metody obiektu napisy
Odpowiedź jest poprawna, ponieważ zapis "var napis1 = new napisy();" faktycznie tworzy nowy obiekt o nazwie "napis1" na podstawie klasy "napisy". W JavaScript, użycie słowa kluczowego "new" jest niezbędne do instancjonowania obiektu z klasy. Klasy w JavaScript definiują strukturę obiektów, a w tym przypadku "napisy" może być zdefiniowaną przez programistę klasą, która zawiera różne metody i właściwości związane z obiektami tego typu. Przykładowo, jeśli klasa "napisy" ma metody do manipulacji tekstem, to obiekt "napis1" może wykorzystywać te metody do operacji na łańcuchach tekstowych. W praktyce, prawidłowe stosowanie klas i obiektów w programowaniu obiektowym pozwala na lepsze organizowanie kodu, zwiększa jego czytelność oraz umożliwia ponowne wykorzystanie kodu. Warto również zauważyć, że tworzenie obiektów w ten sposób jest zgodne z najlepszymi praktykami programistycznymi, co przyczynia się do bardziej strukturalnego podejścia do rozwoju aplikacji webowych.

Pytanie 13

Jaką wartość wyświetli się po uruchomieniu poniższego kodu JavaScript? ```javascript document.write(Math.round(4.51) + Math.pow(2, 3)); ```

A. 11
B. 13
C. 12
D. 14
Przyjrzyjmy się innym odpowiedziom. Widać, że każda z nich ma jakieś błędy w zrozumieniu działania funkcji w kodzie. Niepoprawne odpowiedzi proponują różne sumy, ale są one wynikiem złych obliczeń. No bo na przykład, 11 wychodzi tylko z 4 + 7, ale to nie ma zastosowania w tym przypadku, bo zaokrąglanie i potęgowanie dają inne wartości. Liczba 12 mogłaby być wynikiem zaokrąglenia do 4 i zmniejszenia 8 z Math.pow(2, 3), ale to też nie zgadza się z tym, co wyszło. Z kolei 14 jako suma 6 i 8 jest mylna, bo 6 nie jest wynikiem zaokrąglenia 4.51, tylko 5. Jak analizujemy Math.round i Math.pow, to widzimy, że są zgodne z dokumentacją ECMAScript, co daje solidne podstawy do obliczeń. Jak nie rozumiemy tych funkcji, to łatwo o błędy, więc warto znać podstawowe operacje matematyczne w programowaniu.

Pytanie 14

Kolumna, która pełni funkcję klucza głównego w tabeli, powinna

A. być innego rodzaju niż inne kolumny
B. posiadać ciągłą numerację
C. zawierać wartości liczbowe
D. zawierać unikalne wartości
To stwierdzenie, że klucz główny musi być ciągły albo tylko liczbowy, jest nie do końca trafne. Klucz główny nie musi być tylko liczbowy ani też nie musi mieć ciągłej numeracji. Na przykład można używać stringów jako kluczy głównych, takich jak numery ID czy kody produktów. No a jeżeli byśmy mieli ciągłą numerację, to mogą wystąpić problemy, szczególnie gdy usuwamy jakieś rekordy. To może prowadzić do braku unikalności. Poza tym, klucz główny niekoniecznie musi być innego typu niż reszta kolumn. Przykładowo, kolumna z tekstem też może być kluczem, o ile wartości są unikalne. W kontekście projektowania baz danych najważniejsze jest, żeby klucz główny był unikalny, a niekoniecznie jaki to typ czy format. Ludzie zajmujący się bazami danych powinni wiedzieć, że klucz główny powinno się wybierać w zależności od kontekstu aplikacji i wymagań danych, a nie na podstawie błędnych założeń.

Pytanie 15

Tabela samochody zawiera poniższe rekordy.

idklasa_idmarkamodelrocznik
11fordka2017
22seattoledo2016
33opelzafira2018
42fiat500X2018
53opelinsignia2017
Po wykonaniu podanego zapytania SQL, jakie dane zostaną zwrócone?
SELECT model FROM samochody WHERE rocznik > 2017 AND marka = "opel";
A. zafira; insignia
B. opel zafira
C. opel zafira; opel insignia
D. zafira
Twoja odpowiedź jest nieprawidłowa, co sugeruje, że możesz nie do końca rozumieć, jak działa zapytanie SQL. Wszystkie odpowiedzi, które zawierały więcej niż jeden model samochodu, są niepoprawne, ponieważ zapytanie SQL jest skonstruowane tak, aby zwrócić tylko te modele, które spełniają oba warunki - markę 'opel' i rocznik większy niż 2017. W przypadku odpowiedzi zawierających tylko model 'zafira', ale bez wskazania marki, jest to błąd, ponieważ zapytanie SQL również wymaga, aby marka była równa 'opel'. W praktyce, błędy w konstrukcji zapytań SQL mogą prowadzić do błędnych wyników i potencjalnie do poważnych błędów w analizie danych lub oprogramowaniu. Dlatego, ważne jest, aby zrozumieć, jak prawidłowo konstruować zapytania SQL i jakie wyniki one zwracają.

Pytanie 16

Które wyrażenie należy wstawić w miejsce ??? w pętli zapisanej w języku C++, aby zostały wyświetlone jedynie elementy tablicy tab

int tab[6];
for (int i = 0; ???; i++)
cout << tab[i];
A. i <= 6
B. i >= 6
C. i > 6
D. i < 6
Odpowiedź 'i >= 6' jest błędna, bo prowadzi do tego, że pętla opuści wszystkie elementy tablicy. Gdy i osiągnie 6 lub więcej, pętla staje, więc nic się nie wyświetli, bo przecież indeksy zaczynają się od 0, a kończą na 5. To jest typowy błąd, który wynika z nie do końca zrozumienia, jak działają tablice w C++. Z kolei 'i <= 6' też nie jest ok, bo wtedy pętla zakończy się po wyświetleniu elementu z indeksem 6, co prowadzi do niezdefiniowanego zachowania – a to nie jest fajne, bo nie ma takiego elementu w tablicy z sześcioma elementami. Odpowiedź 'i > 6' też jest źle, bo nie wykona żadnej iteracji, znowu pomijając całą tablicę. Ważne jest, żeby pamiętać, że indeksy tablic zaczynają się od 0, a ostatni indeks przy rozmiarze n wynosi n-1. Stosowanie złych warunków w pętlach może prowadzić do sporych problemów z pamięcią, więc trzeba uważać i pisać warunki, które dobrze pokazują rzeczywisty rozmiar tablicy.

Pytanie 17

Ile razy wykona się poniższa pętla napisana w języku PHP, przy założeniu, że zmienna kontrolna nie jest zmieniana w jej wnętrzu?

for ($i = 0; $i <= 10; $i+=2) { ... }
A. 5
B. 0
C. 6
D. 10
Prawidłowa odpowiedź to 6 iteracji, ponieważ pętla for w PHP jest zdefiniowana z inicjalizacją zmiennej $i na 0 oraz warunkiem kontynuacji, który sprawdza, czy $i jest mniejsze lub równe 10. Zmiana wartości $i zachodzi co 2 jednostki dzięki instrukcji $i+=2. Iteracje pętli będą wyglądały następująco: $i = 0, 2, 4, 6, 8, 10. W momencie, gdy $i osiągnie wartość 12, warunek $i <= 10 przestanie być spełniony. Zatem pętla wykona się 6 razy, co jest zgodne z dobrą praktyką programowania, polegającą na dokładnym zrozumieniu warunków i logiki pętli. Zrozumienie tego mechanizmu ma kluczowe znaczenie dla efektywnego pisania kodu, pozwalającego na automatyzację zadań i obliczeń. W praktycznych zastosowaniach pętle są używane do iteracji po elementach tablic, generowania raportów oraz w wielu algorytmach przetwarzania danych.

Pytanie 18

Rozważ tabelę pracownicy. Jakie jest polecenie MySQL, które usuwa wszystkie wpisy z tabeli, gdzie pole rodzaj_umowy jest puste?

A. DROP pracownicy FROM rodzaj_umowy = 0
B. DELETE pracownicy WHERE rodzaj_umowy ='brak'
C. DELETE FROM pracownicy WHERE rodzaj_umowy IS NULL
D. DROP pracownicy WHERE rodzaj_umowy IS NULL
Aby usunąć wszystkie rekordy z tabeli pracownicy, dla których pole rodzaj_umowy pozostaje puste, czyli ma wartość NULL, używamy polecenia DELETE FROM pracownicy WHERE rodzaj_umowy IS NULL. Klauzula DELETE FROM jest standardowym poleceniem SQL, które służy do usuwania danych z bazy danych. W tym przypadku warunek IS NULL jest kluczowy, ponieważ wskazuje, że chcemy usunąć jedynie te rekordy, w których pole rodzaj_umowy nie zawiera żadnej wartości. Warto zauważyć, że NULL w SQL oznacza brak wartości, co różni się od innych typów wartości, jak na przykład 0 czy pusty ciąg tekstowy. Przykład praktyczny użycia tego polecenia: jeśli w tabeli mamy pracowników z różnymi rodzajami umowy, w tym także takich, którzy nie mają przypisanego rodzaju, to powyższe polecenie usunie ich z bazy danych. Tego rodzaju operacje są niezwykle ważne w kontekście utrzymania bazy danych, gdyż pozwalają na eliminację nieaktualnych lub niekompletnych danych, co w efekcie prowadzi do poprawy jakości przechowywanych informacji i ułatwia późniejsze zapytania do bazy. Takie podejście jest zgodne z dobrymi praktykami w zakresie zarządzania danymi i normami ANSI SQL.

Pytanie 19

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

A. Barwienie.
B. Krzywe.
C. Inwersja.
D. Progowanie.
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 20

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

A. for(i=2;i<=12;i++) {i=i+2; document.write(i);}
B. for(i=2;i<=12;i+=2) {document.write(i);}
C. for(i=2;i<12;i++) {i++; document.write(i);}
D. for(i=2;i<12;i+=2) {document.write(i);}
Odpowiedź for(i=2;i<=12;i+=2) {document.write(i);} jest prawidłowa, ponieważ prawidłowo implementuje pętlę for w języku JavaScript, aby wydrukować sześć kolejnych liczb parzystych, zaczynając od 2 i kończąc na 12. Pętla ta inicjuje zmienną i na wartość 2, a następnie kontynuuje iterację, aż do osiągnięcia wartości 12, zwiększając i o 2 w każdej iteracji. Dzięki temu osiągamy pożądane liczby: 2, 4, 6, 8, 10 i 12. Użycie operatora inkrementacji (i+=2) jest zgodne z dobrymi praktykami programistycznymi, ponieważ jest bardziej zwięzłe i jednoznaczne w porównaniu do zwiększania zmiennej w każdej iteracji o 1, a następnie dodawania 1 w ciele pętli. W praktyce, można stosować takie podejście do generowania sekwencji liczb w różnych zastosowaniach, na przykład w wizualizacji danych lub grach, gdzie potrzebujemy pracować z parametrami o określonej wartości. Ponadto, pętle w JavaScript są fundamentalnym elementem skryptów, pozwalającym na automatyzację powtarzalnych zadań, co czyni programowanie bardziej efektywnym.

Pytanie 21

W CSS zapisano stylizację ```css p > i {color: blue} ``` oznacza to, że kolorem niebieskim zostanie wyświetlony

A. pogrubiony tekst akapitu
B. wszystkie teksty nagłówków, niezależnie od formatowania
C. pochylony tekst akapitu
D. cały tekst akapitu, niezależnie od jego stylizacji
W definicji CSS `p > i {color: blue}`, mamy do czynienia z selektorem, który odnosi się do elementów typu <i> znajdujących się bezpośrednio wewnątrz elementu <p>. Oznacza to, że wszystkie elementy <i>, które są bezpośrednimi dziećmi elementu <p>, będą miały kolor tekstu ustawiony na niebieski. Element <i> w HTML jest często używany do oznaczania tekstu kursywą, co jest zgodne z semantyką dokumentu. Użycie koloru w tym kontekście podkreśla, że zmiana koloru dotyczy tylko tych fragmentów tekstu, które są specyficznie oznaczone jako kursywa. W praktyce, jeżeli mamy paragraf zawierający tekst oraz fragmenty w kursywie, to tylko te kursywne fragmenty będą przyjmować niebieski kolor. Przykładowo, w poniższym kodzie HTML: <p>To jest <i>kursywa</i> oraz <b>pogrubienie</b>.</p>, tylko słowo 'kursywa' będzie miało kolor niebieski. Zgodność z W3C i standardami CSS zapewnia, że taki zapis będzie działał na większości przeglądarek. Warto zwrócić uwagę na hierarchię selektorów, która pozwala na precyzyjne określenie, które elementy mają być stylizowane w określony sposób.

Pytanie 22

W bazie danych dotyczącej pojazdów pole kolor w tabeli samochody może mieć wartości jedynie z definicji lakier. Aby nawiązać relację między tabelami samochody a lakier, należy użyć kwerendy

A. ALTER TABLE samochody ADD FOREIGN KEY kolor REFERENCES lakier;
B. ALTER TABLE samochody ADD FOREIGN KEY barwa REFERENCES samochody.lakier;
C. ALTER TABLE samochody ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);
D. ALTER TABLE lakier ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
Odpowiedź "ALTER TABLE samochody ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);" jest poprawna, ponieważ prawidłowo definiuje klucz obcy w tabeli samochody, wskazując, że kolumna kolor w tej tabeli odnosi się do kolumny lakierId w tabeli lakier. Umożliwia to zapewnienie integralności referencyjnej, co oznacza, że wartości koloru w tabeli samochody będą mogły przyjmować tylko te wartości, które istnieją w tabeli lakier. Jest to standardowa praktyka w projektowaniu baz danych, która pomaga zapobiegać błędom, takim jak wprowadzenie koloru, który nie jest dostępny w zbiorze dozwolonych opcji. W praktyce, podczas dodawania nowego wpisu do tabeli samochody, system bazy danych automatycznie sprawdzi, czy dany kolor istnieje w tabeli lakier. Takie podejście zapewnia większą spójność danych oraz ułatwia zarządzanie them, zwłaszcza w większych aplikacjach, gdzie liczba potencjalnych wartości kolorów może być znaczna. Stosowanie kluczy obcych jest zgodne z zasadami normalizacji baz danych, co przyczynia się do ich efektywności i skalowalności.

Pytanie 23

Naciśnięcie przycisku o nazwie "niebieski" spowoduje uruchomienie podanego kodu JavaScript. Jaki będzie rezultat jego działania?

Ilustracja do pytania
A. Zmiana koloru tekstu "Przykładowy tekst" na niebieski
B. Zmiana koloru tekstu "i skrypt" na niebieski
C. Zmiana koloru tekstu "Przykładowy tekst i skrypt" na niebieski
D. Zmiana koloru przycisku na niebieski
Kod JavaScript przedstawiony w pytaniu korzysta z funkcji changeColor, która zmienia kolor tekstu elementu HTML. Funkcja ta przyjmuje parametr newColor, który w tym przypadku wynosi 'blue'. W momencie kliknięcia przycisku z atrybutem onClick, funkcja changeColor jest wywoływana z argumentem 'blue'. Kod wewnątrz funkcji używa metody document.getElementById aby uzyskać dostęp do elementu HTML o identyfikatorze 'para1'. Następnie zmienia kolor tekstu tego elementu, korzystając z właściwości style.color, na wartość przekazaną jako parametr, czyli 'blue'. Takie podejście jest zgodne z dobrymi praktykami w JavaScript, gdzie oddziela się logikę skryptu od treści HTML. W efekcie, po kliknięciu przycisku, zmieniony zostanie kolor tekstu zawartego w elemencie o id 'para1', co w tym przypadku odnosi się do tekstu 'Przykładowy tekst'. Takie rozwiązania są powszechnie stosowane w dynamicznych aplikacjach webowych, umożliwiając dynamiczną interakcję użytkownika z zawartością strony.

Pytanie 24

W CSS, stosowanie poniższego kodu na stronie z kilkoma akapitami, gdzie każdy składa się z kilku linijek, spowoduje, że

p::first-line
{
    font-size: 150%;
}
A. pierwsza linia każdego paragrafu będzie miała większą czcionkę niż pozostałe linie
B. pierwszy paragraf na stronie będzie miał powiększoną czcionkę w całości
C. pierwsza linia każdego z paragrafów będzie miała mniejszą wielkość czcionki od pozostałych linii
D. cały tekst w paragrafie zostanie powiększony o 150%
Zapis CSS p::first-line { font-size: 150%; } używa selektora pseudo-elementu ::first-line który stosuje stylizację do pierwszej linii każdego paragrafu. W tym przypadku zmieniamy rozmiar czcionki pierwszej linii na 150% jej domyślnej wartości co oznacza że będzie ona o 50% większa niż reszta tekstu. Pseudo-element ::first-line jest często stosowany w projektowaniu stron internetowych aby wyróżnić pierwsze zdanie lub akapit co może pomóc w lepszej organizacji treści i zwiększeniu czytelności. Ten sposób formatowania jest zgodny ze standardami CSS i jest wspierany przez większość nowoczesnych przeglądarek internetowych. Takie podejście może być użyteczne w projektach gdzie istotne jest nadanie unikalnego wyglądu nagłówkom sekcji lub wprowadzeniom bez zmieniania struktury HTML. Ważne jest aby pamiętać że ::first-line stosuje się tylko do elementów blokowych takich jak paragrafy co ogranicza jego użycie do tych specyficznych scenariuszy ale jednocześnie pozwala na precyzyjne dostosowanie stylu tekstu w dokumencie.

Pytanie 25

Które z poniższych formatowań nie jest zapisane w języku CSS?

A. Fragment pliku strona.html: <style> body {background-color: yellow;} </style>
B. Fragment pliku strona.html: <body bgcolor="yellow">
C. Fragment pliku formatowanie.css: body {background-color: yellow;}
D. Fragment pliku strona.html: <body style="background-color:yellow;">
Fragment <body bgcolor="yellow"> nie jest wyrażony w języku CSS, lecz w przestarzałym atrybucie HTML, który został uznany za niezalecany w nowoczesnych praktykach webowych. CSS (Cascading Style Sheets) to język służący do stylizacji dokumentów HTML i definiuje wizualne aspekty strony internetowej niezależnie od jej struktury. Atrybut 'bgcolor' był popularny w starszych wersjach HTML, jednak obecnie powinno się go unikać z uwagi na separację treści od prezentacji. Zastosowanie CSS w stylach wewnętrznych lub zewnętrznych, takich jak body {background-color: yellow;} pozwala na bardziej elastyczne i wydajne zarządzanie stylami strony. Warto również zauważyć, że zgodnie z aktualnymi standardami W3C, zaleca się używanie CSS do stylizacji, co pozwala na lepszą responsywność i łatwiejsze utrzymanie kodu. Przykłady zastosowania CSS w praktyce pokazują, jak można w prosty sposób zmieniać wygląd elementów na stronie, co jest kluczowe w nowoczesnym web designie, zwłaszcza w kontekście tworzenia stron mobilnych.

Pytanie 26

<script>
  var imiona = ["Ala", "Ola", "Ela", ""];
  tymczasowa=imiona.length;
</script>
Przedstawiony kod JavaScript powoduje przypisanie do zmiennej tymczasowa wartości:
A. 3
B. 9
C. 1
D. 4
W tym fragmencie kodu tworzona jest tablica `imiona` z czterema elementami: "Ala", "Ola", "Ela" oraz pusty łańcuch znaków `""`. W JavaScript właściwość `.length` tablicy zwraca liczbę elementów w tablicy, a nie długość tekstu, ani sumę długości napisów. Niezależnie od tego, że ostatni element jest pustym stringiem, on nadal jest pełnoprawnym elementem tablicy. Dlatego `imiona.length` zwraca wartość 4, która następnie jest przypisywana do zmiennej `tymczasowa`. Moim zdaniem warto zapamiętać jedną prostą zasadę: dla obiektów typu Array w JavaScript `.length` oznacza ilość elementów, a dla stringów `.length` oznacza ilość znaków w napisie. To jest częste źródło pomyłek, szczególnie na początku nauki. Gdybyśmy napisali `"Ala".length`, wtedy dostalibyśmy 3, bo napis ma trzy znaki. Ale `imiona.length` patrzy tylko na to, ile pozycji ma tablica, więc wynik to 4. W praktyce `.length` jest bardzo często używane w pętlach, np. `for (var i = 0; i < imiona.length; i++) { ... }`, żeby przejść po wszystkich elementach tablicy. Dobrą praktyką jest też świadome operowanie na długości tablicy, bo w JavaScript można ją zmienić: ustawienie `imiona.length = 2` przytnie tablicę do dwóch elementów, a ustawienie większej wartości doda puste miejsca (tzw. `empty slots`). W nowoczesnym kodzie warto też pamiętać o metodach takich jak `forEach`, `map`, `filter`, które ukrywają bezpośrednią pracę z `.length`, ale nadal działają na tej samej koncepcji liczby elementów w tablicy. Z mojego doświadczenia dokładne rozumienie, co zwraca `.length` w różnych typach danych, bardzo ułatwia debugowanie i pisanie czytelnego kodu.

Pytanie 27

W analizowanym fragmencie algorytmu wykorzystano

Ilustracja do pytania
A. dwie pętle.
B. jeden blok decyzyjny.
C. trzy bloki operacyjne (procesy).
D. jedną pętlę.
W tym algorytmie na schemacie nie ma dwóch pętli, co jest pewnym nieporozumieniem. Gdyby były dwie pętle, to mielibyśmy dwa różne fragmenty kodu, które by się powtarzały, a tutaj tego nie widać. Często ludzie mylą zagnieżdżanie pętli z posiadaniem kilku pętli, a to jest całkiem inna sprawa. Mówiąc, że algorytm ma jeden blok decyzyjny, to również jest błąd, bo schemat pokazuje kilka bloków decyzyjnych, co jest normalne, gdy algorytm podejmuje różne decyzje na różnych etapach. W algorytmach zazwyczaj jest kilka bloków decyzyjnych, co pozwala na dynamiczne zarządzanie danymi. Co do trzech bloków operacyjnych, to też jest nieprawda. Bloki operacyjne wykonują operacje na danych, które są efektem decyzji z bloków decyzyjnych. Aby dobrze zrozumieć schematy blokowe, trzeba umieć rozpoznać te elementy, co jest kluczowe w analizie i projektowaniu algorytmów. Niepoprawne zrozumienie struktury algorytmu może prowadzić do błędów przy jego implementacji, co w konsekwencji wpływa na wydajność i poprawność działania.

Pytanie 28

Do uruchomienia kodu napisanego w języku PHP konieczne jest posiadanie w systemie

A. serwera WWW z bazą danych MySQL
B. przeglądarki internetowej
C. serwera WWW z interpreterem PHP
D. serwera WWW, parsera PHP oraz bazy danych MySQL
Pierwsza z niepoprawnych odpowiedzi sugeruje, że wystarczy zainstalować przeglądarkę internetową do uruchamiania kodu PHP. To podejście jest błędne, ponieważ przeglądarki internetowe są narzędziami do wyświetlania zawartości HTML i nie mają zdolności do interpretowania skryptów PHP. PHP musi być przetwarzany na serwerze, a przeglądarka jedynie odbiera już przetworzone dane. Kolejna niepoprawna odpowiedź wskazuje na konieczność posiadania serwera WWW wraz z serwerem MySQL. Chociaż MySQL jest popularnym systemem zarządzania bazami danych używanym w połączeniu z PHP, nie jest on niezbędny do uruchamiania samych skryptów PHP, zwłaszcza w sytuacjach, gdy aplikacja nie korzysta z bazy danych. Ostatnia z niepoprawnych odpowiedzi odnosi się do potrzeby posiadania serwera WWW, parsera PHP oraz serwera MySQL. Choć jest to podejście bardziej kompleksowe, to znowu, do uruchomienia kodu PHP wystarczy jedynie serwer WWW z interpreterem PHP. MySQL jest opcjonalny i wykorzystywany tylko wtedy, gdy aplikacja wymaga interakcji z bazą danych. Wnioskując, aby uruchomić kod PHP, kluczowym elementem jest serwer WWW z interpreterem PHP, co czyni inne odpowiedzi niepoprawnymi w kontekście podstawowych wymagań.

Pytanie 29

Który atrybut należy dodać do znacznika <video>, aby wyciszyć dźwięk odtwarzanego w przeglądarce filmu?

<video>
    <source src="film.mp4" type="video/mp4">
</video>
A. muted
B. controls
C. autoplay
D. loop
Twoja odpowiedź jest poprawna. Atrybut 'muted' jest używany w znaczniku <video>, aby wyłączyć dźwięk dla filmu wyświetlanego w przeglądarce. Jest to sposób na sterowanie dźwiękiem bez konieczności korzystania z dodatkowych elementów kontrolujących odtwarzanie filmu. Jest to bardzo przydatne, gdy chcemy, aby film był odtwarzany w tle bez zakłócania użytkownika dźwiękiem, co jest często stosowane na stronach internetowych. Ważne jest to, że to atrybut 'muted' jest odpowiedzialny za początkowy stan dźwięku filmu, a nie za to, czy użytkownik będzie mógł go później włączyć. Dodatkowo, dobrą praktyką jest pozostawienie użytkownikowi możliwości sterowania dźwiękiem, nawet jeśli jest on domyślnie wyłączony, co można osiągnąć dodając atrybut 'controls'.

Pytanie 30

Podaj dwa sposoby ochrony bazy danych Microsoft Access?

A. Ustalenie zabezpieczeń na poziomie użytkownika i sesji
B. Ustalenie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika
C. Funkcje anonimowe oraz ustawienie hasła do bazy danych
D. Zaszyfrowanie pliku bazy danych oraz wiadomości SMS z kodem autoryzacyjnym
Zabezpieczenie bazy danych Microsoft Access jest kluczowym procesem, który ma na celu ochronę danych przed nieautoryzowanym dostępem oraz zapewnienie ich integralności. Ustalenie hasła do otwarcia bazy danych to pierwszy krok w kierunku zabezpieczenia. Pozwala to na ograniczenie dostępu tylko do osób, które znają hasło, co jest fundamentalnym środkiem ochrony informacji w systemach informatycznych. Dodatkowo, zabezpieczenia na poziomie użytkownika umożliwiają różnicowanie uprawnień dla poszczególnych użytkowników. Można przydzielać różne poziomy dostępu, co minimalizuje ryzyko, że niepowołane osoby będą mogły wprowadzać zmiany w bazie danych. Ważne jest również, aby stosować najlepsze praktyki związane z bezpieczeństwem, takie jak regularna aktualizacja haseł oraz audyty dostępu. Utrzymanie zgodności z międzynarodowymi standardami, takimi jak ISO/IEC 27001, może również pomóc w identyfikacji luk w zabezpieczeniach oraz w implementacji odpowiednich procedur ochrony danych. W codziennym użytkowaniu, skuteczne wdrożenie tych zabezpieczeń pozytywnie wpływa na bezpieczeństwo danych oraz ochronę prywatności użytkowników.

Pytanie 31

Jakie obiekty w bazie danych służą do podsumowywania, prezentacji oraz drukowania danych?

A. zestawienie
B. zapytanie
C. formularz
D. raport
Raport jest narzędziem w bazach danych, które umożliwia podsumowywanie, wyświetlanie i wydruk danych w zorganizowanej formie. Jego głównym celem jest przedstawienie informacji w sposób zrozumiały i estetyczny, co jest szczególnie ważne w kontekście analizy danych oraz podejmowania decyzji biznesowych. Raporty mogą być wykorzystane do generowania zestawień wyników finansowych, analiz sprzedaży czy statystyk użytkowników. Umożliwiają one również prezentację danych w formie tabel, wykresów i diagramów, co zwiększa ich czytelność. W branży IT i zarządzania danymi, dobrą praktyką jest korzystanie z narzędzi raportowych, które integrują się z bazami danych, co pozwala na automatyczne aktualizowanie danych oraz lepszą wizualizację. Warto również wspomnieć o różnych formatach, w jakich raporty mogą być generowane, takich jak PDF, XLSX czy HTML, co umożliwia ich łatwe udostępnianie i archiwizowanie.

Pytanie 32

W JavaScript poprawnie zdefiniowana zmienna to

A. imię%
B. #imie
C. imie2
D. imię2
Odpowiedź 'imie2' jest prawidłowa, ponieważ spełnia wszystkie zasady dotyczące nazewnictwa zmiennych w języku JavaScript. Zgodnie z tymi zasadami, nazwy zmiennych mogą zaczynać się od litery (a-z, A-Z), znaku podkreślenia (_) lub znaku dolara ($). Następnie, dozwolone są litery, cyfry (0-9), znaki podkreślenia oraz znaki dolara. Nazwa 'imie2' jest zgodna z tymi zasadami, ponieważ zaczyna się od litery, a następnie zawiera cyfrę, co jest akceptowalne. Przykładowo, dobra praktyka w programowaniu polega na nadawaniu zmiennym nazw związanych z ich przeznaczeniem, na przykład 'userAge' dla wieku użytkownika. Warto pamiętać, że unikanie użycia polskich znaków oraz specjalnych symboli w nazwach zmiennych, takich jak znaki procentu czy hashtagi, zwiększa czytelność i przenośność kodu, szczególnie w międzynarodowych projektach. Dobra praktyka sugeruje również używanie camelCase, co ułatwia identyfikację zmiennych w większych projektach.

Pytanie 33

Celem testów wydajnościowych jest ocena

A. ciągu zdarzeń, w którym prawdopodobieństwo danego zdarzenia zależy tylko od wyniku zdarzenia wcześniejszego
B. zdolności programu do funkcjonowania w sytuacjach, gdy sprzęt działa niepoprawnie
C. zdolności programu do funkcjonowania w sytuacjach, gdy system działa niepoprawnie
D. stopnia, w jakim system lub moduł spełnia wymagania dotyczące wydajności
Testy wydajnościowe są kluczowym elementem procesu zapewnienia jakości oprogramowania, mającym na celu ocenę zdolności systemu lub modułu do spełnienia określonych wymagań wydajnościowych. Ich głównym celem jest zmierzenie, jak system radzi sobie w warunkach obciążenia, a także w różnych scenariuszach użytkowania. W ramach testów wydajnościowych analizuje się takie parametry jak czas reakcji, przepustowość oraz zasoby zużywane przez aplikację. Praktycznym przykładem może być testowanie aplikacji internetowej w warunkach, gdy korzysta z niej wielu użytkowników jednocześnie, co pozwala ocenić, jak skaluje się system. W kontekście standardów, organizacje często odnoszą się do metodologii takich jak Performance Testing Framework, a także do narzędzi jak JMeter czy LoadRunner, które umożliwiają automatyzację procesu testowania. Testy te pomagają w identyfikacji wąskich gardeł, które mogą wpływać na wydajność, co przekłada się na lepsze doświadczenia użytkowników oraz minimalizację kosztów związanych z utrzymaniem systemu.

Pytanie 34

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

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

Pytanie 35

Dla jakich nazwisk użyta w zapytaniu klauzula LIKE jest poprawna?

SELECT imie FROM mieszkancy WHERE imie LIKE '_r%';
A. Arleta, Krzysztof, Krystyna, Tristan
B. Gerald, Jarosław, Marek, Tamara
C. Rafał, Rebeka, Renata, Roksana
D. Krzysztof, Krystyna, Romuald
Prawidłowa odpowiedź Arleta Krzysztof Krystyna Tristan jest zgodna z klauzulą LIKE w języku SQL która pozwala na wyszukiwanie wzorców w danych tekstowych W zapytaniu użyto wzorca '_r%' gdzie podkreślenie oznacza dowolny pojedynczy znak a procent dowolną liczbę znaków W tym przypadku imiona muszą mieć 'r' jako drugi znak co jest spełnione dla Arleta Krzysztof Krystyna i Tristan Klauzula LIKE jest często używana w aplikacjach bazodanowych do filtrowania danych tekstowych na przykład w systemach zarządzania klientami gdzie można wyszukiwać nazwiska klientów zaczynające się na określoną literę Dobre praktyki zalecają ostrożne używanie wzorców które mogą prowadzić do pełnych skanów tabel co wpływa na wydajność Indeksowanie kolumn może poprawić szybkość zapytań LIKE jednak należy unikać wzorców zaczynających się od symbolu procenta gdyż pomijają indeksy Warto zrozumieć że LIKE jest potężnym narzędziem w SQL które może znacznie ułatwić pracę z tekstem jednak wymaga ono przemyślanego użycia by nie pogorszyć wydajności bazy danych

Pytanie 36

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

A. obcy
B. inkrementacyjny
C. przestawny
D. podstawowy
Klucz podstawowy (ang. primary key) to fundamentalny element projektowania baz danych, który jednoznacznie identyfikuje każdy wiersz w tabeli. Jego główną funkcją jest zapewnienie unikalności danych, co oznacza, że żaden z wierszy nie może mieć tej samej wartości klucza podstawowego. W praktyce często wykorzystuje się pole takie jak 'id', które jest autoinkrementowane, dzięki czemu każdy nowy rekord otrzymuje unikalny numer. Klucze podstawowe są kluczowe dla zapewnienia integralności referencyjnej – umożliwiają powiązanie danych z różnych tabel. Na przykład, w tabeli 'Klienci' możemy mieć klucz podstawowy 'KlientID', który jest następnie używany jako klucz obcy w tabeli 'Zamówienia', co pozwala na łatwe śledzenie zamówień przypisanych do konkretnego klienta. Dobrą praktyką jest także stosowanie kluczy podstawowych jako indeksów, co zwiększa wydajność zapytań w bazie danych. Ważne jest, aby klucz podstawowy był jak najbardziej stabilny i niezmienny w czasie, aby uniknąć problemów z integracją danych.

Pytanie 37

Funkcją w PHP, która służy do tworzenia ciasteczek, jest

A. addcokie()
B. setcookie()
C. createcookie()
D. echocokie()
Funkcja setcookie() w języku PHP jest kluczowym narzędziem do zarządzania ciasteczkami (cookies) na poziomie serwera. Umożliwia ona tworzenie i konfigurowanie ciasteczek, które następnie są przesyłane do przeglądarki użytkownika. Ciasteczka są używane do przechowywania informacji o sesji, preferencjach użytkownika oraz danych śledzących. Funkcja setcookie() przyjmuje kilka argumentów, w tym nazwę ciasteczka, jego wartość, czas wygaśnięcia (w postaci znacznika czasowego), ścieżkę, domenę oraz flagi bezpieczeństwa. Przykładowe użycie funkcji może wyglądać następująco: setcookie('user', 'John Doe', time() + 86400, '/'); co tworzy ciasteczko o nazwie 'user', z wartością 'John Doe', które wygasa po jednym dniu. Ważne jest, aby zwrócić uwagę, że funkcja ta musi być wywoływana przed jakimkolwiek wysyłaniem nagłówków HTTP, co oznacza, że należy ją umieścić na początku skryptu PHP. Również, aby znacząco poprawić bezpieczeństwo, warto korzystać z flagi HttpOnly, aby zminimalizować ryzyko ataków XSS. Zastosowanie setcookie() w odpowiedni sposób przyczynia się do poprawy doświadczeń użytkowników oraz zwiększa funkcjonalność aplikacji internetowych.

Pytanie 38

Aby obraz dodany za pomocą kodu HTML był zrozumiały dla programów wspierających osoby niewidome, konieczne jest zdefiniowanie atrybutu

A. border
B. sizes
C. src
D. alt
Atrybut 'alt' w znaczniku <img> jest kluczowy dla dostępności treści internetowych. Jego główną funkcją jest dostarczenie alternatywnego opisu obrazu, który jest odczytywany przez programy wspierające osoby niewidome i niedowidzące, takie jak czytniki ekranu. Dzięki atrybutowi 'alt', użytkownicy, którzy nie mogą zobaczyć obrazu, są w stanie zrozumieć, co on przedstawia. Na przykład, jeśli obrazek przedstawia psa bawiącego się w parku, odpowiednia treść atrybutu 'alt' mogłaby brzmieć: 'Pies bawiący się w parku'. To nie tylko zwiększa dostępność strony, ale również poprawia doświadczenia użytkowników. Zgodnie z wytycznymi WCAG (Web Content Accessibility Guidelines), dostarczenie tekstu alternatywnego dla wszystkich obrazów jest niezbędne do zapewnienia pełnej dostępności treści. Przykład zastosowania: W przypadku strony e-commerce, gdzie obrazy produktów są kluczowe, odpowiednio zdefiniowany atrybut 'alt' pozwala osobom z ograniczeniami wzrokowymi na pełne zrozumienie oferty, co może wpłynąć na ich decyzje zakupowe.

Pytanie 39

W CSS wprowadzono formatowanie

p > i {color: blue} 

Co oznacza, że tekst zapisany będzie w kolorze niebieskim

A. cały tekst nagłówków bez względu na ich formatowanie
B. pochylony tekst akapitu
C. cały tekst akapitu bez względu na jego formatowanie
D. pogrubiony tekst akapitu
W podanym przypadku, zapis CSS <code>p > i {color: blue}</code> odnosi się do selektora, który aplikuje kolor niebieski do elementu <code><i></code> znajdującego się bezpośrednio wewnątrz elementu <code><p></code>. Oznacza to, że tylko tekst, który jest otoczony znacznikiem <code><i></code> w danym paragrafie, zostanie wyróżniony kolorem niebieskim. Ten sposób selekcji jest zgodny z zasadą kaskadowości i specyficzności CSS, co jest kluczowym elementem w zarządzaniu stylem dokumentów HTML. W praktyce, używanie takich selektorów pozwala na precyzyjne formatowanie tekstu w obrębie większych struktur, co jest szczególnie ważne w skomplikowanych projektach webowych. Dobrym przykładem zastosowania tego stylu może być sytuacja, gdy chcemy wyróżnić cytaty lub słowa kluczowe w tekście paragrafu, stosując odpowiednie znaczniki HTML oraz style CSS, co zwiększa czytelność i estetykę treści.

Pytanie 40

Jaką wartość przyjmie zmienna $a po wykonaniu poniższej sekwencji poleceń w języku PHP?

$a = 1; $a++; $a += 10; --$a;
A. 12
B. 1
C. 10
D. 11
Gratulacje, Twoja odpowiedź jest prawidłowa. Instrukcje wykonane w kodzie PHP prowadzą do osiągnięcia wartości 11 przez zmienną 'a'. Proces ten jest realizowany w czterech krokach. Najpierw zmienna 'a' jest inicjowana wartością 1. Następnie wartość ta jest zwiększana o 1, co daje nam 2. Do tej wartości dodawane jest 10, co daje nam łącznie 12. Na końcu, wartość ta jest zmniejszana o 1, co daje nam ostateczną wartość 11. Warto przypomnieć, że w języku programowania PHP, tak jak w większości języków, operacje są wykonywane od lewej do prawej. To jest ważne do zapamiętania, gdy mamy do czynienia z bardziej skomplikowanymi sekwencjami operacji.