Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 19 grudnia 2025 22:46
  • Data zakończenia: 19 grudnia 2025 22:55

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

W jakim formacie powinien być zapisany obraz, aby mógł być wyświetlany na stronie internetowej z zachowaniem przezroczystości?

A. CDR
B. BMP
C. PNG
D. JPG
Format PNG (Portable Network Graphics) jest szeroko stosowany w sieci internetowej, ponieważ obsługuje przezroczystość, co jest kluczowe przy tworzeniu grafik, które mają być używane na stronach internetowych. Przezroczystość pozwala na nałożenie grafik na różne tła bez widocznych prostokątów czy kolorowych krawędzi, co znacznie poprawia estetykę oraz elastyczność projektów graficznych. PNG wykorzystuje kompresję bezstratną, co oznacza, że jakość obrazu nie ulega pogorszeniu podczas jego zapisywania, co jest istotne dla profesjonalnych projektów. Przykłady zastosowania formatu PNG obejmują ikony, logotypy oraz różnego rodzaju ilustracje, które muszą być wyświetlane na różnych tłach. W branży internetowej dobrym standardem jest używanie PNG do grafik wymagających przezroczystości, szczególnie w kontekście responsywnych projektów, gdzie różne elementy mogą mieć różne tła w zależności od urządzenia. Ponadto, PNG obsługuje kolor 24-bitowy oraz przezroczystość 8-bitową, co daje możliwość tworzenia bardziej złożonych efektów wizualnych. Zastosowanie tego formatu jest zgodne z dobrymi praktykami w projektowaniu stron, co czyni go preferowanym wyborem w wielu sytuacjach.

Pytanie 2

W języku JavaScript, aby zweryfikować, czy liczba mieści się w zakresie (100;200>, należy użyć zapisu:

A. if (liczba < 100 || liczba >= 200)
B. if (liczba > 100 || liczba <= 200)
C. if (liczba < 100 && liczba <= 200)
D. if (liczba > 100 && liczba <= 200)
Zaznaczyłeś odpowiedź 'if (liczba > 100 && liczba <= 200)', i to jest całkiem trafne! Warunek ten sprawdza, czy liczba jest w przedziale od 100 do 200, co jest mega ważne. Wiesz, '>' oznacza, że liczba musi być większa niż 100, a '<=' pozwala na 200, ale nic większego. To coś, co często wykorzystujemy w programach, żeby kontrolować dane od użytkowników. Jak na przykład przy rejestracji – chcemy mieć pewność, że wszystko jest w normie. Umiejętność walidacji danych to kluczowa sprawa w programowaniu, bo dzięki temu możemy unikać różnych błędów. Fajnie, że zauważasz, jak operatory logiczne, takie jak '&&', mogą pomóc w budowaniu bardziej złożonych warunków – to czyni nasze aplikacje lepszymi. Ważne, żebyś rozumiał, jak to działa, bo to na pewno przyda się w przyszłości!

Pytanie 3

W języku PHP zapisano fragment kodu działającego na bazie MySQL. Jego zadaniem jest wypisanie
$z=mysqli_query($db,"SELECT ulica, miasto, kod_pocztowy FROM adresy");
$a=mysqli_fetch_row($z);
echo "$a[1], $a[2]";

A. miasta i kodu pocztowego ze wszystkich zwróconych wpisów
B. ulicy oraz miasta z pierwszego zwróconego wpisu
C. ulicy oraz miasta ze wszystkich zwróconych wpisów
D. miasta i kodu pocztowego z pierwszego zwróconego wpisu
Fragment kodu PHP przedstawiony w pytaniu wykonuje zapytanie do bazy danych MySQL, a jego celem jest uzyskanie danych z tabeli 'adresy', w tym pola 'ulica', 'miasto' i 'kod_pocztowy'. Funkcja mysqli_query wykonuje zapytanie, a następnie mysqli_fetch_row pobiera pojedynczy wiersz wyników jako tablicę. Wartości z tablicy są dostępne za pomocą indeksów, gdzie $a[0] to 'ulica', $a[1] to 'miasto', a $a[2] to 'kod_pocztowy'. Kod wypisuje na ekranie wartości $a[1] i $a[2], co odpowiada miastu i kodowi pocztowemu z pierwszego zwróconego rekordu. W praktyce, aby uzyskać pełną funkcjonalność, należy również zadbać o obsługę błędów oraz o zabezpieczenia przed SQL Injection, stosując np. prepared statements. Kod ten jest zgodny ze standardami PHP i MySQL, które zalecają używanie obiektowej lub proceduralnej wersji funkcji mysqli, co przyczynia się do większej przejrzystości oraz bezpieczeństwa aplikacji.

Pytanie 4

W HTML-u, aby połączyć w poziomie dwie sąsiednie komórki w danym wierszu tabeli, należy wykorzystać atrybut

A. colspan
B. cellpadding
C. cellspacing
D. rowspan
Wybór niewłaściwego atrybutu do scalania komórek w tabeli HTML wskazuje na pewne nieporozumienia dotyczące funkcji atrybutów. Atrybut cellpadding służy do określenia odstępu wewnętrznego między zawartością komórki a jej krawędzią, co nie ma żadnego wpływu na scalanie komórek. Z kolei atrybut cellspacing dotyczy odstępu pomiędzy samymi komórkami tabeli, również nie mając nic wspólnego z ich scalaniem. Zastosowanie tych atrybutów może poprawić estetykę tabeli, ale nie wpłynie na sposób, w jaki komórki są łączone. Z kolei atrybut rowspan, mimo że ma podobne zastosowanie do colspan, służy do łączenia komórek w pionie, a nie w poziomie. Użytkownicy często mylą te atrybuty, co prowadzi do błędnych założeń, że mogą one pełnić tę samą funkcję. Niezrozumienie różnicy między tymi atrybutami może prowadzić do niepoprawnych implementacji w praktyce, co z kolei wpływa na wydajność i czytelność stron internetowych. W kontekście projektowania stron internetowych ważne jest, aby dobrze rozumieć nie tylko działanie poszczególnych atrybutów, ale także ich zgodność z najlepszymi praktykami HTML i CSS, co zapewnia lepszą dostępność i doświadczenie użytkownika.

Pytanie 5

W instrukcji warunkowej w JavaScript powinno się zweryfikować sytuację, w której zmienne a oraz b są większe od zera, przy czym zmienna b jest mniejsza od 100. Taki warunek należy zapisać w następujący sposób:

A. if ( a > 0 || (b > 0 && b < 100))
B. if ( a > 0 && b > 0 && b < 100)
C. if ( a > 0 || b > 0 || b > 100)
D. if ( a > 0 && b > 0 || b > 100)
Odpowiedź if ( a > 0 && b > 0 && b < 100) jest poprawna, ponieważ precyzyjnie spełnia wszystkie wymagane warunki. Wyrażenie to sprawdza, czy obie zmienne a i b są dodatnie, przy czym dodatkowo b musi być mniejsze niż 100. W kontekście programowania, taki sposób sprawdzania warunków jest zgodny z najlepszymi praktykami, gdyż wykorzystuje operator logiczny AND (&&), co zapewnia, że wszystkie warunki muszą być spełnione jednocześnie. Na przykład, w aplikacji, w której mamy do czynienia z ograniczeniami dla zmiennej b, takie podejście pozwala na kontrolowanie wartości, co jest istotne w kontekście bezpieczeństwa danych. W przypadku, gdyby b miało mieć wartość większą lub równą 100, mogłoby to generować błędy, a więc taki warunek jest kluczowy w zabezpieczaniu logiki programu. Dodatkowo, stosowanie złożonych warunków w instrukcjach warunkowych pozwala na elastyczność i łatwość w modyfikacjach kodu w przyszłości, co jest zgodne z zasadą DRY (Don't Repeat Yourself).

Pytanie 6

Jaką wartość zwróci funkcja zao, która została zdefiniowana w języku C++, gdy zostanie wywołana z argumentem 3.55? int zaofloat x){returnx+0.5);}

A. 3
B. 4.05
C. 3.5
D. 4
Wartości zwracane przez funkcje w C++ mogą być mylące, gdy nie zrozumiemy, jak działa zaokrąglanie i operacje na liczbach zmiennoprzecinkowych. Rozważając odpowiedzi 3, 3.5 i 4.05, można zauważyć, że każda z tych odpowiedzi opiera się na błędnym zrozumieniu zastosowania funkcji zaofloat. Odpowiedź 3 wynika z błędu myślowego, który zakłada, że dodanie 0.5 do wartości 3.55 skutkuje zmniejszeniem wartości do najbliższej liczby całkowitej, co jest niezgodne z zasadami matematycznymi. Z kolei odpowiedź 3.5 może wydawać się logiczna dla kogoś, kto może pomyśleć, że dodanie 0.5 w jakimś sensie zmienia wartość do tej liczby, jednak w rzeczywistości, gdyby tak było, funkcja nie spełniałaby swojej podstawowej roli. Odpowiedź 4.05, mimo że jest poprawnym wynikiem dodania do 3.55 wartości 0.5, nie jest właściwą odpowiedzią w kontekście pytania, ponieważ nie uwzględnia zasady zaokrąglania do najbliższej liczby całkowitej. W praktyce programiści często napotykają podobne problemy i dlatego dobrym zwyczajem jest, aby jasno określać wymagania dotyczące wyników i stosować odpowiednie metody zaokrąglania, kiedy to konieczne, aby uniknąć nieporozumień.

Pytanie 7

Jaką wartość zwróci funkcja zoo zdefiniowana w języku C++, wywołana z aktualnym parametrem 3.55

int zao(float x){
    return (x + 0.5);
}
A. 4.05
B. 3
C. 4
D. 3.5
Niestety, wybrana odpowiedź jest niepoprawna. Możliwe, że zapomniano o specyficznych zasadach konwersji typów danych w języku C++. W języku tym, jeśli mamy do czynienia z wartościami zmiennoprzecinkowymi (float) i konwertujemy je do wartości całkowitych (int), część ułamkowa jest zawsze odrzucana. Nie ma tutaj zaokrąglenia do najbliższej liczby całkowitej. Dlatego, nawet jeśli wynik działania wewnątrz funkcji wynosi 4.05, po konwersji do typu int, zostaje z tego tylko 4. To jest typowy błąd, który może prowadzić do nieoczekiwanych wyników, szczególnie w programach, gdzie precyzja obliczeń jest kluczowa. Pamiętaj zawsze o tej specyfice języka C++ i dokładnie określaj typy danych, z którymi pracujesz.

Pytanie 8

W języku HTML zapisano formularz. Który z efektów działania poniższego kodu zostanie wyświetlony przez przeglądarkę, zakładając, że w pierwsze pole użytkownik wpisał wartość "Przykładowy tekst"?

<form>
    <textarea rows="3" cols="30"></textarea><br>
    <input type="checkbox"> Opcja1<br>
    <input type="checkbox"> Opcja2
</form>
Ilustracja do pytania
A. Efekt 3.
B. Efekt 1.
C. Efekt 2.
D. Efekt 4.
Twoja odpowiedź jest poprawna. Wybrałeś odpowiedź 'Efekt 2', która jest zgodna z zachowaniem formularza HTML w opisanym scenariuszu. Formularz zawiera pole tekstowe i dwa pola typu checkbox. Kiedy wpiszesz do pola tekstowego wartość 'Przykładowy tekst' i wyświetlisz formularz w przeglądarce, zobaczysz ten tekst w polu tekstowym oraz dwa pola wyboru typu checkbox poniżej z etykietami 'Opcja1' i 'Opcja2'. To dokładnie taki układ, co pokazuje Efekt 2. Tworzenie formularzy HTML to ważna umiejętność w projektowaniu stron internetowych. Pozwalają one na interakcję z użytkownikiem oraz zbieranie od niego informacji. Pamiętaj, że dobry formularz powinien być intuicyjny w użyciu i jasno prezentować swoje funkcje użytkownikowi.

Pytanie 9

Z przedstawionych tabel Artykuly i Autorzy należy wybrać jedynie nazwiska autorów i tytuły ich artykułów, które zostały ocenione na 5. Kwerenda wybierająca te dane ma postać

Ilustracja do pytania
A. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = artykuly.id;
B. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id;
C. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;
D. SELECT nazwisko, tytul FROM autorzy, artykuly WHERE ocena == 5;
Gratulacje! Wybrałeś poprawne zapytanie SQL, które dokładnie odpowiada na postawione pytanie. Zapytanie 'SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;' jest prawidłowe, bo łączy dwie tabele 'autorzy' i 'artykuly' za pomocą klucza obcego 'autorzy_id' w tabeli 'artykuly'. Dzięki temu uzyskujemy dostęp do nazwisk autorów i tytułów artykułów. Dodatkowo, część 'WHERE ocena = 5' filtruje wyniki tak, aby wyświetlane były tylko te rekordy, gdzie ocena wynosi 5. To jest kluczowy element, który pozwala nam skupić się tylko na tych danych, które są istotne dla pytania. W praktyce, tego typu zapytania pomagają nam w analizie wydajności autorów i jakości artykułów, co jest niezwykle ważne w branży wydawniczej.

Pytanie 10

W bazie danych dotyczącej sklepu znajduje się tabela artykuły, która posiada pole o nazwie nowy. Jak można zaktualizować to pole, aby dla każdego rekordu wprowadzić wartość TRUE, stosując odpowiednią kwerendę?

A. INSERT INTO artykuły VALUE nowy=TRUE
B. INSERT INTO nowy FROM artykuły SET TRUE
C. UPDATE nowy FROM artykuły VALUE TRUE
D. UPDATE artykuły SET nowy=TRUE
Odpowiedź UPDATE artykuły SET nowy=TRUE; jest poprawna, ponieważ wykorzystuje standardową składnię SQL do aktualizacji istniejących rekordów w tabeli. Kwerenda ta zmienia wartość pola 'nowy' na TRUE dla wszystkich rekordów w tabeli 'artykuły'. Metoda ta jest szeroko stosowana w praktyce, gdyż pozwala na masową aktualizację danych w bazie bez konieczności ich usuwania czy dodawania nowych rekordów. Z uwagi na fakt, że pole 'nowy' ma być uzupełnione dla wszystkich pozycji w tabeli, użycie kwerendy UPDATE jest najefektywniejszym i najbardziej intuicyjnym rozwiązaniem. Przykład zastosowania może obejmować sytuację, w której sklep wprowadza nową kategorię produktów, które są oznaczane jako 'nowe'. Stosowanie dobrze zdefiniowanych kwerend UPDATE jest zgodne z dobrymi praktykami w zarządzaniu bazami danych, ponieważ promuje integralność danych oraz umożliwia łatwą modyfikację i kontrolę nad bazą.

Pytanie 11

Jakie zapytanie SQL będzie odpowiednie do odnalezienia w podanej tabeli tylko imion oraz nazwisk pacjentów, którzy przyszli na świat przed rokiem 2002?

Ilustracja do pytania
A. SELECT * FROM Pacjenci WHERE rok_urodzenia <= 2002
B. SELECT imie, nazwisko FROM Pacjenci WHERE rok_urodzenia < 2002
C. SELECT * FROM Pacjenci WHERE rok_urodzenia LIKE 2002
D. SELECT imie, nazwisko FROM Pacjenci WHERE data_ostatniej_wizyty < 2002
W tym zapytaniu zastosowałeś składnię SELECT imie, nazwisko FROM Pacjenci WHERE rok_urodzenia < 2002, co jest super, bo pozwala wyciągnąć tylko te imiona i nazwiska pacjentów, którzy urodzili się przed rokiem 2002. Użycie konkretnych kolumn jak imie i nazwisko zamiast znaku * to niezła sprawa, bo ogranicza wyniki do tego, co naprawdę potrzebujesz. To z kolei może znacząco zwiększyć wydajność przesyłania danych. No i to WHERE rok_urodzenia < 2002 – świetny ruch! Fajnie, że potrafisz filtrować dane według konkretnego warunku. Bez tego miałbyś wszystkie osoby, nie tylko te sprzed 2002 roku. To jest właśnie selekcja warunkowa w SQL, a jej znajomość to podstawa przy analizie danych. Zgadzam się również, że uniknięcie znaków wieloznacznych jak LIKE w tej sytuacji to dobre podejście, bo używasz bezpośrednich porównań liczbowych, co generalnie działa lepiej i daje jaśniejsze wyniki.

Pytanie 12

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

A. blokowanie portów związanych z bazą danych.
B. defragmentacja dysków.
C. aktywacja zapory.
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 13

Aby stworzyć warunek w zapytaniu wybierającym nazwiska wszystkich uczniów z klas początkowych (od pierwszej do trzeciej), można zastosować klauzulę

A. WHERE klasa IN (1, 3)
B. WHERE klasa < 3
C. WHERE klasa >= 1 OR klasa <= 3
D. WHERE klasa BETWEEN 1 AND 3
Zestawienie innych odpowiedzi w kontekście tego zapytania ujawnia typowe nieporozumienia dotyczące logiki operacji SQL. Klauzula "WHERE klasa < 3" jest nieprawidłowa, ponieważ obejmuje jedynie klasy 1 i 2, co oznacza, że nie uwzględnia uczniów z klasy 3, a więc nie spełnia wymagań pytania. Również użycie klauzuli "WHERE klasa IN (1, 3)" jest mylące, ponieważ wybiera tylko uczniów z klasy 1 i 3, pomijając klasę 2, co jest sprzeczne z definicją klas nauczania początkowego. Kolejna odpowiedź, "WHERE klasa >= 1 OR klasa <= 3", generuje dodatkowe zamieszanie, ponieważ jest logicznie błędna; w praktyce ten warunek zawsze będzie prawdziwy dla wszystkich klas, ponieważ każda klasa będzie spełniać przynajmniej jeden z tych warunków, co prowadzi do zwrócenia wszystkich uczniów, a nie tylko tych z nauczania początkowego. Takie nieprawidłowe użycie operatorów może prowadzić do nieefektywnych zapytań oraz zwiększonego obciążenia bazy danych, a także do niezamierzonych wyników. W przypadku pracy z bazami danych kluczowe jest zrozumienie, jak różne klauzule wpływają na zestaw danych i jakie mogą przynieść konsekwencje w kontekście wyników, co często wymaga starannej analizy oraz testowania zapytań przed ich wdrożeniem.

Pytanie 14

Jaki jest cel zapisu w języku JavaScript?

var napis1 = new napisy();
A. zainicjowanie zmiennej napis1 oraz wywołanie funkcji, której argumentem jest napis1
B. wykonanie metody obiektu napisy
C. stworzenie obiektu napis1 z klasy napisy
D. założenie nowej klasy napis1
Prawidłowa odpowiedź dotyczy utworzenia obiektu napis1 klasy napisy. W języku JavaScript, aby stworzyć nowy obiekt na podstawie istniejącej klasy lub funkcji konstruktora, używamy słowa kluczowego new. Wyrażenie var napis1 = new napisy() inicjalizuje nowy obiekt napis1, który jest instancją klasy napisy. Taki zapis jest kluczowy w programowaniu obiektowym, które pozwala na tworzenie wielu instancji obiektów z podobnymi właściwościami i metodami. Praktyczne zastosowanie tego podejścia jest szerokie od modelowania danych po tworzenie modularnych i łatwych do zarządzania aplikacji. Dobra praktyka nakazuje, aby klasy były dobrze zdefiniowane z jasno określonymi właściwościami i metodami, co ułatwia ich ponowne wykorzystanie i rozszerzanie. W programowaniu funkcjonalnym JavaScript często wykorzystuje się prototypowe dziedziczenie, które pozwala na zmniejszenie liczby powtarzalnych kodów oraz efektywne zarządzanie pamięcią. Warto także pamiętać, że w nowoczesnych wersjach JavaScript stosowane są klasy ES6, które wprowadzają bardziej zrozumiałą składnię dla tworzenia klas i obiektów co poprawia czytelność i strukturę kodu.

Pytanie 15

Zapis tagu HTML w formie <a href="#hobby">przejdź</a>?

A. jest błędny, niepoprawnie użyto znaku "#" w atrybucie href
B. jest poprawny, po kliknięciu w odnośnik aktualna strona zostanie przewinięta do elementu o nazwie "hobby"
C. jest błędny, w atrybucie href trzeba wpisać adres URL
D. jest poprawny, po kliknięciu w odnośnik otworzy się strona internetowa o adresie "hobby"
Twoja odpowiedź jest trafna, bo znacznik <a href="#hobby">przejdź</a> naprawdę jest zgodny z tym, co mówi HTML. Jak to działa? No, ten znak '#' wskazuje na lokalny odnośnik, co oznacza, że przeglądarka szuka elementu na stronie, który ma id "hobby". Przykładowo, jeśli w kodzie HTML mamy coś jak <div id="hobby">, to klikając w link, przewinie widok do tej sekcji. To jest super przydatne, zwłaszcza w długich dokumentach czy różnych aplikacjach, bo pozwala szybko skakać do interesujących nas części. Z mojego doświadczenia, używanie takich lokalnych odnośników nie tylko ułatwia nawigację, ale też poprawia SEO i interakcję użytkowników z treścią. Warto to stosować!

Pytanie 16

Używając komendy BACKUP LOG w MS SQL Server, można

A. zalogować się do kopii zapasowej
B. odczytać komunikaty generowane podczas tworzenia kopii
C. wykonać kopię zapasową dziennika transakcyjnego
D. zrealizować pełną kopię zapasową
Polecenie BACKUP LOG w MS SQL Server służy do wykonywania kopii zapasowej dziennika transakcyjnego, co jest kluczowe dla zapewnienia integralności danych w bazach danych transakcyjnych. Dziennik transakcyjny rejestruje wszystkie zmiany dokonane w bazie, co pozwala na odtworzenie stanu bazy na dany moment oraz na przywrócenie bazy do stanu sprzed awarii. Wykonując kopię zapasową dziennika transakcyjnego, użytkownicy mogą minimalizować ryzyko utraty danych, ponieważ pozwala to na przywrócenie bazy do najnowszego stanu przed wystąpieniem awarii. W praktyce, regularne tworzenie takich kopii jest częścią polityki backupu, która powinna być dostosowana do potrzeb organizacji oraz do intensywności operacji na bazie danych. Ustalając harmonogram kopii zapasowych, należy także brać pod uwagę obciążenie bazy danych oraz wymagania dotyczące RPO (Recovery Point Objective) i RTO (Recovery Time Objective). Według najlepszych praktyk, zaleca się wykonywanie kopii zapasowych dziennika transakcyjnego przynajmniej co kilka godzin, a w środowisku o wysokiej dostępności – nawet co kilka minut.

Pytanie 17

W języku PHP nie można zrealizować

A. zmiany dynamicznej zawartości strony HTML w przeglądarce
B. obróbki danych przechowywanych w bazach danych
C. tworzenia dynamicznej treści strony
D. przetwarzania danych z formularzy
PHP, jako skryptowy język programowania po stronie serwera, nie jest w stanie dynamicznie zmieniać zawartości strony HTML w przeglądarce użytkownika po jej załadowaniu. Operacje, które wykonuje PHP, są realizowane na serwerze, a wyniki tych operacji przesyłane są jako statyczny HTML do przeglądarki. Oznacza to, że jakiekolwiek zmiany w treści strony muszą być przeprowadzane przed wysłaniem odpowiedzi do klienta. Dynamiczne zmiany w istniejącej zawartości HTML w przeglądarce są realizowane za pomocą JavaScriptu, który działa po stronie klienta. Na przykład, jeśli mamy formularz, który po wypełnieniu wymaga zmiany niektórej zawartości na stronie bez jej ponownego ładowania, to właśnie JavaScript, a nie PHP, będzie odpowiedzialny za te zmiany. PHP może generować zawartość w odpowiedzi na żądania, ale nie ma możliwości interakcji z już załadowanym DOM w przeglądarce. To ograniczenie wynika z architektury webowej, w której PHP i JavaScript pełnią różne role, co jest zgodne z ogólnymi standardami tworzenia aplikacji webowych, w tym modelu MVC (Model-View-Controller), gdzie PHP obsługuje model i widok, a JavaScript kontroler.

Pytanie 18

Który z rysunków obrazuje efekt działania przedstawionego fragmentu kodu HTML?

<table border="1">
 <tr><td rowspan="2">pierwszy</td><td>drugi</td></tr>
 <tr><td>trzeci</td></tr>
</table>
Ilustracja do pytania
A. D.
B. A.
C. B.
D. C.
Super, wybrałeś właściwą odpowiedź! To rysunek C. Kod HTML to taki jakby zestaw narzędzi, który pozwala tworzyć różne układy stron internetowych, w tym tabelki. W tym przypadku mamy do czynienia z tabelą, która ma dwa wiersze i dwie kolumny. Zauważ, że pierwsza komórka z tekstem 'pierwszy' zajmuje miejsce aż na dwa wiersze, dzięki atrybutowi rowspan='2'. To oznacza, że można ją rozciągnąć w pionie, co zmienia układ całej tabeli. W pierwszym wierszu obok tej komórki jest komórka z tekstem 'drugi', a w drugim wierszu mamy jedynie 'trzeci', bo obok 'pierwszy' już jest zajęte miejsce. Dzięki temu, rysunek C dokładnie pokazuje, jak to wszystko działa. Pamiętaj, że umiejętność pracy z tabelami w HTML jest naprawdę ważna, jeśli chcesz tworzyć estetyczne i funkcjonalne strony.

Pytanie 19

Kto z wymienionych zajmuje się nieprzerwanym przygotowaniem systemu bazy danych do pracy produkcyjnej, zarządzaniem kontami użytkowników oraz instalowaniem aktualizacji systemu bazodanowego?

A. Twórcy narzędzi dla deweloperów
B. Projektanci i programiści Systemu Zarządzania Bazą Danych
C. Administratorzy systemu bazy danych
D. Administratorzy serwerów oraz sieci komputerowych
Administratorzy systemu bazy danych to kluczowe osoby odpowiedzialne za wdrażanie, zarządzanie i utrzymanie baz danych w środowisku produkcyjnym. Ich zadania obejmują nie tylko konfigurację serwera baz danych, ale również dbanie o jego wydajność, bezpieczeństwo oraz integralność danych. Administratorzy monitorują działanie systemu, optymalizują zapytania i przeprowadzają regularne kopie zapasowe, co jest niezwykle istotne dla ochrony danych. Przykładem praktycznym może być zarządzanie bazą danych MySQL, gdzie administratorzy korzystają z narzędzi takich jak phpMyAdmin do monitorowania aktywności użytkowników i przeprowadzania aktualizacji systemu. Dodatkowo, administratorzy są odpowiedzialni za nadawanie i kontrolowanie uprawnień użytkowników, co polega na definiowaniu ról i przydzielaniu dostępu zgodnie z wymaganiami bezpieczeństwa. W oparciu o najlepsze praktyki branżowe, administratorzy systemów baz danych muszą być dobrze zaznajomieni z normami, takimi jak ISO/IEC 27001, które dotyczą zarządzania bezpieczeństwem informacji, co podkreśla ich ważną rolę w organizacji.

Pytanie 20

W systemie baz danych stworzono tabelę Mieszkancy zawierającą informacje. Aby usunąć tę tabelę wraz z danymi, należy użyć komendy

A. DROP TABLE Mieszkancy;
B. ALTER TABLE Mieszkancy;
C. DELETE FROM Mieszkancy;
D. TRUNCATE TABLE Mieszkancy;
Polecenie 'DROP TABLE Mieszkancy;' jest właściwym sposobem na usunięcie tabeli wraz z jej zawartością w bazie danych. To polecenie nie tylko usuwa tabelę, ale również wszystkie dane, które w niej się znajdują oraz wszelkie powiązania, takie jak klucze obce. W praktyce, gdy programista chce całkowicie wyeliminować strukturę tabeli oraz jej dane, wykorzystuje 'DROP TABLE'. Jest to szczególnie przydatne w sytuacjach, gdy tabela nie jest już potrzebna w systemie, a jej usunięcie pozwala na zwolnienie zasobów oraz uproszczenie struktury bazy danych. Warto również pamiętać, że przed wykonaniem tego polecenia warto stworzyć kopię zapasową danych, jeśli są one istotne, ponieważ operacja ta jest nieodwracalna. Ponadto, zgodnie z zasadami dobrych praktyk, przed usunięciem tabeli należy upewnić się, że nie ma na nią żadnych zależności w innych częściach bazy danych, aby uniknąć potencjalnych problemów z integralnością danych.

Pytanie 21

W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. W nowym roku zdecydowano o podwyżce pensji dla wszystkich pracowników o 100 zł. Ta aktualizacja w bazie danych powinna mieć formę

A. UPDATE pensja SET 100
B. UPDATE pracownicy SET pensja = 100
C. UPDATE pensja SET +100
D. UPDATE pracownicy SET pensja = pensja + 100
Odpowiedź 'UPDATE pracownicy SET pensja = pensja + 100;' jest właściwa, ponieważ używa standardowej składni SQL do aktualizacji danych w tabeli. W tym przypadku, instruktacja 'SET pensja = pensja + 100' oznacza, że dla każdego rekordu w tabeli 'pracownicy', wartość kolumny 'pensja' zostanie zwiększona o 100 zł. To podejście jest zgodne z zasadami dobrych praktyk w programowaniu SQL, ponieważ aktualizuje wartość na podstawie jej bieżącej wartości, co pozwala na zachowanie pełnej kontroli nad danymi. Tego rodzaju aktualizacja jest często stosowana w bazach danych, gdy konieczne jest modyfikowanie istniejących danych na podstawie ich aktualnych wartości. Na przykład, jeśli w tabeli mamy pracowników z różnymi wynagrodzeniami, każdemu z nich dodamy stałą kwotę, co sprawia, że struktura danych pozostaje spójna. Dodatkowo, takie podejście ma zastosowanie w praktycznych scenariuszach, takich jak coroczne podwyżki wynagrodzeń, co jest powszechną praktyką w wielu organizacjach, a poprawność tej operacji można zweryfikować poprzez zapytania SELECT po aktualizacji.

Pytanie 22

Aby przeprowadzić walidację kontrolek formularza w momencie, gdy użytkownik wprowadza dane, można wykorzystać zdarzenie

A. onClick
B. onLoad
C. onFocusOut
D. onKeyDown
Odpowiedź 'onKeyDown' jest poprawna, ponieważ jest to zdarzenie, które jest wywoływane, gdy użytkownik naciśnie klawisz podczas interakcji z polem formularza. Użycie tego zdarzenia pozwala na walidację danych w czasie rzeczywistym, co oznacza, że programista może natychmiast reagować na wprowadzone znaki. Dzięki temu można na przykład sprawdzić, czy wprowadzone dane spełniają określone kryteria, takie jak format e-maila, długość hasła czy obecność cyfr. Praktyczne zastosowanie zdarzenia onKeyDown polega na tym, że można wprowadzić logikę walidacji bez konieczności czekania na zakończenie wprowadzania danych. Zamiast tego, możemy w realnym czasie informować użytkowników o ewentualnych błędach, co znacznie poprawia doświadczenia użytkowników. Ponadto, zgodnie z dobrymi praktykami, zaleca się używanie zdarzeń związanych z klawiaturą, takich jak onKeyDown czy onInput, które są bardziej odpowiednie dla dynamicznych interakcji niż na przykład onBlur, które może być mniej responsywne. Warto również zauważyć, że onKeyDown działa przed onKeyUp, co umożliwia szybsze reagowanie na wprowadzane dane, co jest kluczowe w kontekście walidacji w czasie rzeczywistym.

Pytanie 23

Warunek zapisany językiem PHP wypisze liczbę, gdy

if ($liczba % 2 == 0)
{
    echo $liczba;
}
A. jest ona parzysta.
B. jest ona dodatnia.
C. jest ona liczbą pierwszą.
D. wynik dzielenia liczby przez 2 jest równy 0.
Twoja odpowiedź jest poprawna. Warunek w języku PHP 'if($liczba % 2 == 0)' sprawdza faktycznie, czy dana liczba jest parzysta. Jak dobrze zauważyłeś, reszta z dzielenia liczby parzystej przez 2 jest zawsze równa 0. Jest to bezpośrednie odzwierciedlenie definicji liczby parzystej, która mówi, że jest to liczba, którą można podzielić przez 2 bez reszty. Dlatego warunek ten jest powszechnie stosowany w programowaniu do sprawdzania parzystości liczby. W praktyce, może on być wykorzystany np. do filtrowania danych, gdzie chcemy wykluczyć liczby nieparzyste albo też do różnego rodzaju operacji na tablicach, gdzie operacje wykonujemy tylko dla indeksów parzystych. Pamiętaj jednak, że ten warunek nie sprawdzi, czy liczba jest dodatnia, ujemna czy pierwsza. Do tego potrzebne będą inne warunki i operacje.

Pytanie 24

Jak nazywa się metoda, która pozwala na nawiązanie asynchronicznego połączenia między klientem a serwerem oraz umożliwia wymianę danych bez przeładowania całej strony WWW?

A. XML
B. YBScript
C. PHP
D. AJAX
XML to format danych, ale sam w sobie nie jest techniką komunikacji. W kontekście webowym, XML może przesyłać dane między serwerem a klientem, ale nie ma tu mowy o asynchroniczności. PHP to język skryptowy używany głównie po stronie serwera, więc nie robi bezpośredniej asynchronicznej komunikacji z klientem. PHP przetwarza żądania, a potem generuje stronę, przez co cała strona przeładowuje się przy każdym żądaniu. YBScript z kolei to w ogóle nie jest standard ani technologia w webie. Często można się pogubić w tych technologiach i ich zastosowaniu. Wiele osób myśli, że XML czy PHP mogą działać jak AJAX, ale to nieprawda. Ważne jest, żeby zrozumieć, że AJAX to narzędzie do asynchronicznej komunikacji, bo to kluczowe przy tworzeniu interaktywnych aplikacji webowych. Z dzisiejszymi standardami webowymi warto znać AJAX, JSON i JavaScript, bo to fundamenty budowy efektywnych aplikacji, które zapewniają użytkownikom płynne i responsywne doświadczenie.

Pytanie 25

W którym z poniższych przykładów walidacja fragmentu kodu CSS zakończy się sukcesem?

A. <p style="font-size:bold;">
B. <p style="font-style:bold;">
C. p { text-size:bold; }
D. p { font-weight:bold; }
Odpowiedź p { font-weight:bold; } jest poprawna, ponieważ jest zgodna z obowiązującą składnią CSS. W tym przypadku użyto selektora typu, który odnosi się do wszystkich elementów <p> w dokumencie HTML, a właściwość font-weight umożliwia ustawienie grubości czcionki. Wartością 'bold' informujemy przeglądarkę, aby wyświetliła tekst w pogrubionej formie, co jest częstą praktyką w stylizacji tekstu. Stosowanie selektorów typu w CSS pozwala na efektywne zarządzanie stylami w całym dokumencie, zatem jest to zgodne z najlepszymi praktykami projektowania stron internetowych. Przykładowo, w celu nadania pogrubienia wszystkim nagłówkom w dokumencie, można by użyć: h1, h2, h3 { font-weight: bold; }. Zastosowanie takiej reguły pozwala na łatwe i szybkie wprowadzenie zmian w stylu dokumentu, co jest kluczowe w kontekście responsywnego projektowania i modernizacji stron. Dobre praktyki wskazują, aby unikać inline styles (stylów wewnętrznych) na rzecz zewnętrznych arkuszy stylów, co poprawia przejrzystość i utrzymanie kodu.

Pytanie 26

Wykonano następującą kwerendę SQL na tabeli dania, której wiersze zostały pokazane na obrazie:

SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;
Ile wierszy wybierze ta kwerenda?

idtypnazwacena
11Gazpacho20
21Krem z warzyw25
31Gulaszowa ostra30
42Kaczka i owoc30
52Kurczak pieczony40
62wieprzowy przysmak35
72Mintaj w panierce30
82Alle kotlet30
93Owoce morza20
103Grzybki, warzywka, sos15
113Orzechy i chipsy10
123Tatar i jajo15
133Bukiet warzyw10
A. 2
B. 13
C. 5
D. 8
Niestety, Twoja odpowiedź jest nieprawidłowa. Kwerenda SELECT w SQL służy do wybierania wierszy z tabeli, które spełniają określone kryteria. W tym przypadku, kwerenda wybrała 2 wiersze, a nie 8, 5, czy 13. Błędne odpowiedzi w tym pytaniu mogą wynikać z niewłaściwego zrozumienia działania kwerendy SELECT. Zrozumienie, jakie dane zostaną wybrane przez daną kwerendę, jest kluczowe dla efektywnej pracy z bazami danych. Mogło to na przykład oznaczać wybranie informacji o zbyt wielu klientach, co mogłoby spowodować przekroczenie limitu zasobów lub zwrócenie niepotrzebnych danych. Dlatego ważne jest, aby dobrze zrozumieć, jakie kryteria określamy w kwerendzie i jakie konkretnie dane chcemy uzyskać. W SQL mamy wiele możliwości filtrowania i sortowania danych, a błąd w jednym z tych aspektów może prowadzić do nieefektywnego zarządzania informacjami. Dlatego szczegółowe zrozumienie kwerend SQL jest kluczowe dla każdej osoby pracującej z danymi.

Pytanie 27

W języku HTML kolor biały można przedstawić przy użyciu wartości

A. #000000
B. rgb(255,255,255)
C. rgb(FFFF,FF)
D. #255255
Kolory w HTML można zapisać na kilka sposobów, ale nie każda opcja jest dobra. Zobaczmy błędne odpowiedzi. Pierwsza, #255255, jest zła, bo w systemie szesnastkowym (hex) kolory powinno się zapisywać w formacie #RRGGBB. Tutaj brakuje cyfr, więc to jest błędny zapis. Druga opcja, #000000, to kolor czarny. Wszędzie mamy 0, czyli brak światła w trzech kanałach RGB, co daje nam czarny, a nie biały. Ostatnia odpowiedź, rgb(FFFF,FF), też jest niepoprawna, ponieważ w rgb muszą być liczby całkowite od 0 do 255. Używanie szesnastkowych wartości tutaj to zły pomysł. Generalnie, zrozumienie jak poprawnie zapisywać kolory w HTML jest kluczowe, jeśli chcesz robić fajne i funkcjonalne projekty w sieci.

Pytanie 28

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

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

Pytanie 29

W języku CSS, aby ustalić wewnętrzny górny margines, czyli przestrzeń pomiędzy elementem a jego otaczającym obramowaniem, należy zastosować komendę

A. outline-top
B. padding-top
C. local-top
D. border-top
W języku CSS, aby zdefiniować wewnętrzny górny margines elementu, należy użyć właściwości padding-top. Marginesy wewnętrzne (padding) to przestrzeń, która znajduje się pomiędzy zawartością elementu a jego obramowaniem, co pozwala na stworzenie efektu oddzielenia treści od krawędzi. Wartości padding-top można ustalać w jednostkach takich jak px, em, rem czy %. Na przykład, kod CSS 'padding-top: 20px;' doda 20 pikseli odstępu od górnej krawędzi obramowania do zawartości elementu. Właściwość ta jest standardowo wspierana we wszystkich nowoczesnych przeglądarkach i jest częścią specyfikacji CSS Box Model, która określa, jak przestrzeń jest zorganizowana w obrębie elementów HTML. Użycie padding-top jest kluczowe, gdy chcemy, aby nasza strona była estetyczna i czytelna, co ma istotne znaczenie w projektowaniu responsywnym, gdzie różne urządzenia mogą wymagać różnych wartości paddingu, aby utrzymać spójność wizualną. Poprawne stosowanie padding-top przyczynia się również do lepszej dostępności strony, co jest istotnym aspektem w nowoczesnym web designie.

Pytanie 30

Na podstawie przydzielenia wartości do zmiennych w języku PHP można zauważyć, że

$zmienna1 = 15;
$zmienna2 = "15";
$zmienna3 = (string) $zmienna1;
A. zmienna1 i zmienna3 mają ten sam typ.
B. wszystkie zmienne mają ten sam typ.
C. zmienna1 i zmienna2 mają ten sam typ.
D. zmienna2 i zmienna3 mają ten sam typ.
Dobrze widzisz, że $zmienna2 i $zmienna3 mają ten sam typ. Obie przechowują wartości jako stringi, co jest spoko. $zmienna2 to łańcuch z "15", a $zmienna3 to wynik rzutowania $zmienna1 (która jest liczbą całkowitą) na string. W PHP takie rzutowanie to normalna sprawa i nie zmienia wartości, tylko jej format. W praktyce, jeżeli dobrze rozumiesz typy danych, to ułatwia Ci to życie w programowaniu. Różne typy mogą wpływać na to, jak działają operacje i jak dane są przechowywane. Warto więc pamiętać, żeby w kodzie jasno definiować typy zmiennych i używać rzutowania tam, gdzie trzeba, bo to pomaga unikać błędów. Jak się w to wczujesz, to łatwiej będzie Ci ogarniać pamięć i optymalizować kod, zwłaszcza w większych projektach.

Pytanie 31

W programowaniu obiektowym proces, dzięki któremu klasa podrzędna może wykorzystywać metody z klasy nadrzędnej, określa się mianem

A. dziedziczeniem
B. hermetyzacją
C. polimorfizmem
D. wirtualizacją
Polimorfizm, hermetyzacja i wirtualizacja to pojęcia związane z programowaniem obiektowym, ale nie odnoszą się do mechanizmu współdzielenia pól i metod klasy. Polimorfizm to koncepcja, która pozwala obiektom różnych klas być traktowanymi jako obiekty jednej klasy bazowej. Umożliwia to pisanie bardziej elastycznego kodu, który może pracować z różnymi typami obiektów. Na przykład, jeśli mamy metodę, która przyjmuje jako argument obiekt klasy 'Pojazd', możemy przekazać zarówno obiekt 'Samochód', jak i 'Motocykl', a metoda zadziała poprawnie w obu przypadkach. Hermetyzacja to natomiast technika ograniczania dostępu do wewnętrznych danych klasy, co pozwala na ochronę stanu obiektu przed nieautoryzowanymi modyfikacjami. Oznacza to, że pola klasy są często oznaczane jako prywatne, a dostęp do nich uzyskuje się za pomocą metod publicznych. Wirtualizacja odnosi się do technik umożliwiających tworzenie wirtualnych instancji, co jest bardziej związane z wirtualizacją systemów operacyjnych niż z dziedziczeniem w OOP. Typowe błędy myślowe mogą wynikać z mylenia tych pojęć z dziedziczeniem, co często zdarza się osobom, które dopiero zaczynają swoją przygodę z programowaniem obiektowym. Kluczowe jest zrozumienie, że każda z tych koncepcji ma swoje unikatowe zastosowanie i nie można ich stosować zamiennie bez utraty sensu i poprawności kodu.

Pytanie 32

Jedną z charakterystyk relacyjnej bazy danych jest

A. stosowanie kluczy głównych do identyfikacji rekordów w tabelach
B. obecność klas, obiektów i metod
C. zdefiniowanie jej stanu według obiektowego modelu danych
D. używanie języka zapytań OQL
Relacyjne bazy danych opierają się na koncepcji tabel, gdzie dane są przechowywane w wierszach i kolumnach. Klucze główne odgrywają kluczową rolę w zapewnieniu unikalności rekordów w tabelach i umożliwiają ich identyfikację. Klucz główny to kolumna (lub zestaw kolumn), której wartości są unikalne w obrębie tabeli i nie mogą być puste. Przykładem może być tabela 'Użytkownicy', w której identyfikatorem użytkownika (kluczem głównym) może być numer PESEL lub unikalny ID. Dzięki kluczom głównym, można łatwo odnaleźć konkretne rekordy, a także powiązać je z innymi tabelami przy pomocy kluczy obcych, co jest fundamentalne dla relacyjnej struktury bazy danych. Standardy takie jak SQL (Structured Query Language) dostarczają narzędzi do definiowania, modyfikowania i manipulowania danymi z wykorzystaniem kluczy głównych, co jest podstawą projektowania baz danych zgodnie z najlepszymi praktykami. Dobre praktyki projektowe sugerują również, aby klucze główne były proste, stabilne i unikalne, co ułatwia zarządzanie danymi w relacyjnych systemach zarządzania bazą danych (RDBMS).

Pytanie 33

Pojęcie krotka odpowiada

A. tabeli
B. wierszowi
C. relacji
D. kolumnie
Relacje, tabele i kolumny są istotnymi pojęciami w kontekście baz danych, ale nie można ich mylić z pojęciem krotki. Relacja jest abstrakcyjnym pojęciem odnoszącym się do zbioru danych w tabeli oraz opisuje sposób, w jaki dane są związane ze sobą. To nie jest to samo, co konkretne wpisy w tabeli. Tabela to struktura, która organizuje dane w formie wierszy i kolumn, ale sama w sobie nie reprezentuje jednostkowego rekordu danych. Kolumna z kolei odnosi się do pojedynczego atrybutu w tabeli, który przechowuje dane jednego typu, na przykład wszystkich adresów e-mail. Typowym błędem jest mylenie tych pojęć, co może prowadzić do niepoprawnych założeń na temat struktury danych oraz ich interakcji. Właściwe zrozumienie tego, czym jest krotka, jest kluczowe dla efektywnej pracy z bazami danych, ponieważ pozwala uniknąć problemów z integracją danych i ich późniejszym przetwarzaniem. W praktyce, brak znajomości różnic między tymi pojęciami może prowadzić do błędów w projektowaniu baz danych oraz w zapytaniach SQL, co negatywnie wpływa na wydajność i jakość danych.

Pytanie 34

Definicja formularza została użyta na stronie internetowej, która przesyła dane do pliku napisanego w języku PHP. W jakiej tablicy będą dostępne dane z tego formularza?

Ilustracja do pytania
A. $_ACTION
B. $_COOKIE
C. $_GET
D. $_POST
Tablica $_POST w PHP służy do przechwytywania danych przesyłanych za pomocą metody POST. Jest to standardowa praktyka w przypadku formularzy, które zawierają dane wrażliwe lub dużą ilość informacji. Metoda POST przesyła dane w treści żądania HTTP, co oznacza, że nie są one widoczne w adresie URL, co zwiększa bezpieczeństwo w porównaniu do metody GET. Przykładem zastosowania mogą być formularze logowania czy przesyłania plików. W PHP dostęp do danych z formularza można uzyskać poprzez prostą składnię, na przykład $_POST['nazwa_pola']. Ważne jest, aby zawsze walidować i filtrować dane wejściowe, aby zabezpieczyć aplikację przed atakami typu SQL Injection czy XSS. Zastosowanie metody POST jest zgodne z ogólnymi zasadami bezpieczeństwa i standardami projektowania aplikacji webowych, które zalecają ograniczanie widoczności danych przesyłanych przez użytkownika. Dobre praktyki obejmują również stosowanie HTTPS, aby dodatkowo zaszyfrować dane przesyłane pomiędzy klientem a serwerem.

Pytanie 35

Jaką rolę odgrywa kwerenda krzyżowa w systemie baz danych MS Access?

A. Zmienia już istniejące dane w tabeli
B. Eliminuje rekordy z tabel zgodnie z określonymi kryteriami
C. Dodaje do wskazanej tabeli dane z innej tabeli
D. Prezentuje zliczone wartości z określonego pola, organizując je w wiersze oraz kolumny
Kwerenda krzyżowa w MS Access jest niezwykle przydatnym narzędziem, które umożliwia prezentację zliczonych wartości w formie tabeli przestawnej. Dzięki tej funkcji użytkownicy mogą analizować dane w sposób bardziej zrozumiały i przejrzysty, przyporządkowując wartości do odpowiednich wierszy i kolumn. Na przykład, w przypadku bazy danych sprzedaży, kwerenda krzyżowa może przedstawiać zliczenie sprzedaży według miesięcy w układzie tabelarycznym, gdzie wiersze reprezentują poszczególne miesiące, a kolumny różne kategorie produktów. To znacznie ułatwia porównania i analizę trendów. Kwerendy krzyżowe są zgodne z najlepszymi praktykami analizy danych, ponieważ pozwalają na efektywne podsumowywanie informacji i umożliwiają łatwe generowanie raportów, co jest kluczowe w procesach decyzyjnych w organizacjach. W kontekście analizy danych, warto również zwrócić uwagę na możliwość stosowania dodatkowych funkcji agregujących, takich jak SUMA, ŚREDNIA czy MAX, co zwiększa elastyczność i dokładność wyników.

Pytanie 36

W kontekście baz danych, co oznacza termin atrybut?

A. związek między dwoma lub większą liczbą danych
B. element składający się z charakterystyk opisanych przez kolumny
C. wpis w tabeli, który zawiera informacje dotyczące pojedynczego egzemplarza elementu
D. nazwa kolumny w tabeli, która określa konkretną cechę
Twoje odpowiedzi są trochę mylne, bo opierają się na niepoprawnych założeniach o strukturze baz danych. Na przykład, mówienie, że atrybut to obiekt składający się z cech nie jest precyzyjne – atrybut to raczej konkretna kolumna w tabeli. Kolumny to zbiory atrybutów, a nie obiekty. W dodatku, myślenie, że atrybut to jakieś połączenie danych, nie oddaje rzeczywistej definicji atrybutu. Atrybuty to pojedyncze jednostki danych, a nie relacje między różnymi danymi. Relacje tworzy się z pomocą kluczy obcych, nie samych atrybutów. Na koniec, mówienie, że atrybut to rekord tabeli, który zawiera dane o jednym obiekcie, jest błędne. Rekordy to całe instancje, podczas gdy atrybuty to tylko ich elementy. Zrozumienie tego jest naprawdę istotne, żeby dobrze pracować z bazami danych i uniknąć problemów w projektowaniu, co potem wpływa na wydajność i użyteczność bazy.

Pytanie 37

Z tabel Artykuly oraz Autorzy należy wyodrębnić tylko nazwiska autorów oraz tytuły ich artykułów, które uzyskały ocenę 5. Odpowiednia kwerenda do pozyskania tych informacji ma postać

Ilustracja do pytania
A. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;
B. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = artykuly.id;
C. SELECT nazwisko, tytul FROM autorzy, artykuly WHERE ocena == 5;
D. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id;
Odpowiedź SELECT nazwisko tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5; jest poprawna ponieważ precyzyjnie wykorzystuje konstrukcję SQL do połączenia tabel Autorzy i Artykuly. JOIN łączy te tabele na podstawie klucza obcego autorzy_id w tabeli Artykuly który odpowiada kluczowi głównemu id w tabeli Autorzy. To pozwala na uzyskanie pełnej informacji o autorach i ich artykułach. Klauzula WHERE ocena = 5 filtruje wyniki i zwraca jedynie te które mają ocenę równą 5. Jest to standardowe podejście w SQL do pobierania danych na podstawie określonych kryteriów co jest bardzo efektywne w zarządzaniu dużymi zbiorami danych. Praktyczne zastosowanie tego typu kwerend obejmuje na przykład systemy rekomendacji artykułów gdzie tylko dobrze ocenione treści są pokazywane użytkownikom. Stosowanie takich kwerend zgodnie z najlepszymi praktykami pozwala na utrzymanie wydajności bazy danych oraz na zapewnienie integralności danych co jest kluczowe w profesjonalnym zarządzaniu bazami danych.

Pytanie 38

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

bool gotowe = true;
cout << gotowe;
A. tak
B. nie
C. 0
D. 1
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 39

Jakie działania należy podjąć, aby stworzyć stronę internetową dostosowaną do potrzeb osób z niepełnosprawnościami, zgodnie z wytycznymi WCAG 2.x?

A. podpisywać wszystkie obrazy tekstem alternatywnym oraz kontrolki etykietami
B. używać jedynie paragrafów, nie wykorzystywać nagłówków h1 – h6
C. wybrać najczęściej stosowaną przeglądarkę i na niej przeprowadzać testy tworzonej strony
D. używać jedynie jednej palety barw z jednym głównym kolorem oraz jego różnymi odcieniami
Podpisywanie wszystkich obrazów tekstem alternatywnym oraz etykietowanie kontrolek jest kluczowym elementem tworzenia dostępnych stron internetowych i jest zgodne z wytycznymi WCAG 2.x. Tekst alternatywny (alt text) dla obrazów umożliwia użytkownikom korzystającym z technologii asystujących, takich jak czytniki ekranu, zrozumienie kontekstu wizualnego, co jest szczególnie istotne dla osób z niepełnosprawnościami wzrokowymi. Etykiety dla kontrolek, takich jak pola formularzy, również pełnią ważną rolę w dostępności, ponieważ zapewniają jasne wskazówki dotyczące interakcji i funkcji. Przykładem poprawnego zastosowania jest dodanie atrybutu alt do obrazów, jak <img src='obraz.jpg' alt='Opis obrazu'> oraz stosowanie etykiet w formularzach, np. <label for='imie'>Imię:</label>. Praktyki te są zgodne z zasadą percepcji z WCAG, która mówi, że wszystkie informacje i komponenty interaktywne muszą być dostępne dla użytkowników.

Pytanie 40

Aby zidentyfikować błędy w składni kodu HTML, trzeba użyć

A. kompilatora
B. interpretera
C. walidatora
D. debuggera
Walidator to narzędzie służące do sprawdzania poprawności składniowej oraz semantycznej kodu HTML. Umożliwia on programistom wychwycenie błędów, które mogą prowadzić do problemów z wyświetlaniem strony internetowej w przeglądarkach. Walidatory, takie jak W3C Validator, analizują kod HTML pod kątem zgodności z aktualnymi standardami oraz najlepszymi praktykami. Na przykład, walidator może wykryć brakujące tagi, niewłaściwe atrybuty czy błędne zagnieżdżenie elementów. Przy pomocy walidatora można również sprawdzić, czy strona jest dostosowana do wymagań dotyczących dostępności i użyteczności. Używanie walidatorów jest kluczowe w procesie tworzenia stron internetowych, ponieważ pozwala na identyfikację i eliminację błędów przed opublikowaniem witryny. W ten sposób projektanci i deweloperzy mogą zapewnić, że ich strony będą działały prawidłowo na różnych urządzeniach i przeglądarkach, co jest istotne dla doświadczenia użytkowników oraz SEO.