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: 29 kwietnia 2026 14:33
  • Data zakończenia: 29 kwietnia 2026 15:01

Egzamin zdany!

Wynik: 35/40 punktów (87,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

Selektor CSS a:link {color:red} użyty w kaskadowych arkuszach stylów określa

A. identyfikator
B. pseudoklasę
C. klasę
D. pseudoelement
Odpowiedź, którą wybrałeś, to pseudoklasa. W CSS jest to typowa sprawa, bo selektor a:link to właśnie przykład użycia pseudoklas. Dzięki nim możesz stylizować różne elementy na podstawie ich stanu lub tego, jak się zachowują w dokumencie. Na przykład, selektor a:link definiuje styl dla linków, które jeszcze nie zostały odwiedzone - więc jeśli ktoś kliknął na link, zmienia się jego wygląd. Używając pseudoklas, możesz znacznie poprawić estetykę stron i sprawić, że będą bardziej przyjazne dla użytkowników. Pomyśl o takich pseudoklasach jak :hover, co zmienia styl, gdy najedziemy kursorem, albo :active, która wprowadza zmiany podczas klikania. To naprawdę dobra technika, żeby nadać stronom fajny, dynamiczny charakter. Rozumienie pseudoklas to istotna sprawa w web designie, a to, co się zgadza z tym, co mówi W3C, to dodatkowy atut.

Pytanie 2

Wskaż kod CSS, który odpowiada layoutowi bloków 2 – 5, zakładając, że są one utworzone na podstawie podanego kodu HTML.

Ilustracja do pytania
A. Kod 1
B. Kod 2
C. Kod 4
D. Kod 3
Prawidłowy układ bloków wymaga precyzyjnego zarządzania ich pozycjonowaniem za pomocą właściwości CSS float. W niepoprawnych odpowiedziach pojawiają się często błędy związane z nieodpowiednim pozycjonowaniem bloków, co skutkuje niepożądanym układem. Na przykład w Kodzie 1, użycie właściwości clear: both dla bloku 5 powoduje, że zaczyna on nowy wiersz, co jest niezgodne z założeniem układu, w którym blok 5 powinien znajdować się pod blokiem 3. Brak odpowiedniego wyrównania bloków może prowadzić do niepożądanego zapełnienia przestrzeni, co może być kłopotliwe szczególnie w responsywnym projektowaniu. Kod 3 nie uwzględnia potrzeby wyczyszczenia float, co może prowadzić do nakładania się bloków. W przypadku Kodu 4, brak użycia float dla bloku 3 powoduje, że ten nie zachowuje się jak oczekiwano, co może prowadzić do niezgodności z przedstawionym układem. Typowym błędem jest również niewłaściwe obliczenie sumarycznej szerokości bloków w jednym wierszu, co może prowadzić do przekroczenia dostępnej przestrzeni, a tym samym zaburzenia układu. Takie błędy często wynikały z braku zrozumienia działania mechanizmu float i clear, co jest kluczowe w tradycyjnym projektowaniu układów stron za pomocą CSS. Obecnie, dla bardziej zaawansowanych układów, zaleca się stosowanie takich technologii jak flexbox czy grid layout, które oferują większą elastyczność i kontrolę nad rozmieszczeniem elementów na stronie.

Pytanie 3

Z jakich elementów składa się tabela generowana przez poniższy kod?

<table border="1">
<tr>
<td> 1 </td>
<td> 2 </td>
</tr>
</table>
A. dwóch wierszy i dwóch kolumn
B. dwóch wierszy oraz jednej kolumny
C. jednego wiersza oraz jednej kolumny
D. jednego wiersza oraz dwóch kolumn
Kod w pytaniu przedstawia strukturę HTML dla tabeli. Tabela składa się z jednej pary znaczników <tr>, co oznacza, że zawiera jeden wiersz. Wewnątrz tego wiersza znajdują się dwa znaczniki <td>, reprezentujące dwie komórki, czyli kolumny. Praktyczne zastosowanie tabel w HTML obejmuje prezentację danych w sposób strukturalny, co jest szczególnie użyteczne w przypadku raportów, cenników czy kalendarzy. Dobre praktyki w projektowaniu stron internetowych sugerują stosowanie tabel do prezentacji danych, nie zaś do układania treści na stronie, co było popularne w starszych wersjach HTML. W nowoczesnym podejściu do front-endu, używa się CSS i Flexbox lub Grid do układania elementów. Jednak zrozumienie podstaw HTML, takich jak prawidłowa struktura tabeli, jest kluczowe dla tworzenia semantycznych i dostępnych stron WWW. Tabele powinny być też wzbogacone o elementy takie jak <thead>, <tbody> i <tfoot> dla lepszej organizacji danych i wsparcia przez technologie asystujące dla osób z niepełnosprawnościami.

Pytanie 4

W języku SQL, aby wstawić wiersz danych do tabeli w bazie danych, należy zastosować polecenie

A. INSERT INTO
B. SELECT ROW
C. CREATE INTO
D. CREATE ROW
Poprawną składnią do wstawiania nowych wierszy w SQL jest polecenie INSERT INTO i to jest taki absolutny fundament pracy z bazą danych. Standard SQL (ANSI/ISO) definiuje właśnie tę komendę jako podstawowy mechanizm dodawania rekordów do tabeli. Typowy zapis wygląda na przykład tak: INSERT INTO klienci (imie, nazwisko, email) VALUES ('Jan', 'Kowalski', '[email protected]');. Najpierw podajemy nazwę tabeli, potem listę kolumn, a następnie wartości w dokładnie tej samej kolejności. W praktyce, w aplikacjach webowych, to właśnie INSERT INTO stoi za dodawaniem nowych użytkowników, zamówień, wpisów na blogu czy logów systemowych. Moim zdaniem warto od razu wyrabiać sobie dobre nawyki: zawsze jawnie wypisuj nazwy kolumn, zamiast polegać na kolejności kolumn w tabeli. Dzięki temu, jeśli ktoś kiedyś doda nową kolumnę albo zmieni ich układ, Twoje zapytania dalej będą działały poprawnie. Jest też drugi, często używany wariant: INSERT INTO tabela VALUES (...), ale on jest bezpieczny tylko wtedy, gdy dokładnie kontrolujesz strukturę tabeli. INSERT INTO może też współpracować z SELECT, np. do masowego kopiowania danych: INSERT INTO archiwum_zamowien SELECT * FROM zamowienia WHERE data < '2023-01-01';. W systemach produkcyjnych łączy się tę komendę z transakcjami (BEGIN, COMMIT, ROLLBACK), żeby zapewnić spójność danych. Warto pamiętać, że różne silniki (MySQL, PostgreSQL, SQL Server) mają swoje rozszerzenia, ale sama idea INSERT INTO jest wspólna i zgodna ze standardem. To takie must-have dla każdego, kto poważnie myśli o pracy z bazami danych.

Pytanie 5

W PHP utworzenie oraz przypisanie tablicy asocjacyjnej do zmiennej odbywa się poprzez zapis

A. $tab = array (1, 2, 3, 4);
B. $tab = array (array (1, 2), array (3, 4));
C. $tab = array ("a" => 1, "b" => 2, "c" => 3);
D. $tab = array (); $tab[] = array (1, 2, 3, 4);
Żeby dobrze stworzyć i przypisać zmiennej tablicę asocjacyjną w PHP, trzeba użyć głównie składni, która pozwoli nam przypisać wartości do konkretnych kluczy. Jak mamy zapis $tab = array ("a" => 1, "b" => 2, "c" => 3); to definiujemy tablicę, w której klucze to "a", "b" i "c", a wartości to 1, 2 i 3. Takie tablice asocjacyjne w PHP są naprawdę super, bo ułatwiają zarządzanie danymi, dzięki czemu bez problemu możemy sięgać po wartości używając unikalnych kluczy zamiast nudnych indeksów. Można to sobie wyobrazić na przykładzie aplikacji, gdzie klucze są identyfikatorami użytkowników, a wartości to ich dane. Jest to mega pomocne, szczególnie w dużych projektach, gdyż kod staje się bardziej czytelny i łatwiejszy do naprawy. Tak więc umiejętne korzystanie z tablic asocjacyjnych to kluczowa umiejętność w programowaniu w PHP, a dobrze przypisane wartości do kluczy ułatwiają pracę z danymi.

Pytanie 6

Deklaracja typu dokumentu HTML: wskazuje, że kod został stworzony w wersji

A. 6
B. 4
C. 7
D. 5
Deklaracja typu dokumentu HTML, znana jako <!DOCTYPE HTML>, jest kluczowym elementem każdej strony internetowej, który informuje przeglądarkę, w jakiej wersji HTML została napisana strona. W przypadku <!DOCTYPE HTML> mówimy o wersji HTML5, która jest najnowszym standardem języka znaczników. HTML5 wprowadza wiele usprawnień i nowych funkcji w porównaniu do wcześniejszych wersji, takich jak semantyczne znaczniki, wsparcie dla multimediów (audio i wideo) oraz API do złożonych aplikacji internetowych. Przykładem zastosowania HTML5 mogą być formularze z nowymi typami inputów, które ułatwiają interakcję z użytkownikiem, takie jak 'date', 'email' czy 'url'. Również HTML5 wprowadza nowy model renderowania, który jest bardziej efektywny i dostosowany do nowoczesnych urządzeń mobilnych. Standardy HTML są ustalane przez W3C (World Wide Web Consortium), które regularnie aktualizuje specyfikacje, aby nadążać za rozwijającymi się technologiami internetowymi. W skrócie, poprawna deklaracja <!DOCTYPE HTML> jest niezbędna dla właściwego wyświetlania i działania strony w różnych przeglądarkach.

Pytanie 7

Które z wymienionych par znaczników HTML mają identyczny efekt wizualny na stronie internetowej, jeśli nie zastosowano żadnych stylów CSS?

A. <meta> oraz <title>
B. <b> i <big>
C. <p> oraz <h2>
D. <b> i <strong>
Odpowiedź <b> i <strong> jest poprawna, ponieważ oba znaczniki służą do wyróżniania tekstu, przy czym nie mają one różnicy w wizualizacji, jeśli nie zastosowano żadnych stylów CSS. Z punktu widzenia semantyki HTML, <strong> jest znacznikiem, który wyraża większe znaczenie dla zawartego w nim tekstu, co jest korzystne dla dostępności oraz SEO, ale wizualnie, bez dodatkowych stylów, obie etykiety wykazują te same cechy. Przykładowo, można ich używać w sytuacjach, gdy chcemy wyróżnić ważne informacje w artykule lub nagłówku. Zastosowanie tych znaczników zgodnie z dobrymi praktykami HTML pozwala na lepsze zrozumienie struktury strony przez wyszukiwarki oraz czytniki ekranu, co ma znaczenie w kontekście dostępności. W związku z tym, wyróżnianie tekstu za pomocą <b> i <strong> jest nie tylko estetyczne, ale także funkcjonalne, wspierając zarówno użytkowników, jak i algorytmy wyszukiwania.

Pytanie 8

W językach programowania strukturalnego do przechowywania danych o 50 uczniach (ich imionach, nazwiskach, średniej ocen) należy zastosować

A. tablicę 50 elementów o składowych strukturalnych.
B. klasę 50 elementów typu tablicowego.
C. tablicę 50 elementów o składowych typu łańcuchowego.
D. strukturę 50 elementów o składowych tablicowych.
Odpowiedź wskazująca na użycie tablicy 50 elementów o składowych strukturalnych jest poprawna z kilku powodów. Po pierwsze, struktury (lub klasy) są idealnym rozwiązaniem do przechowywania złożonych danych, takich jak imiona, nazwiska i średnie oceny uczniów. Struktura pozwala na grupowanie tych składowych w jedną jednostkę, co zwiększa czytelność i organizację kodu. Na przykład, w języku C można zdefiniować strukturę 'Uczeń' z odpowiednimi polami, a następnie stworzyć tablicę, która pomieści 50 takich obiektów. W praktyce, struktury są szeroko stosowane w programowaniu, gdyż umożliwiają łatwe przekazywanie grup danych jako jednego obiektu, co jest zgodne z zasadami programowania obiektowego. Dodatkowo, korzystanie z tablicy struktur zamiast oddzielnych tablic dla każdego atrybutu ucznia minimalizuje ryzyko błędów związanych z synchronizacją danych i ułatwia manipulację danymi. W standardach programowania, szczególnie w kontekście zarządzania danymi, takie podejście jest uznawane za najlepszą praktykę, gdyż pozwala na spójną reprezentację oraz operowanie na danych.

Pytanie 9

Którego znacznika NIE NALEŻY umieszczać w nagłówku dokumentu HTML?

A. <link>
B. <meta>
C. <title>
D. <h2>
Odpowiedź <h2> jest trafna, bo ten znacznik jest właśnie do nagłówków w HTML. Powinien być używany w sekcji <body>, nie w <head>. Jak dobrze wiesz, nagłówki, czyli <h1> do <h6>, mają spore znaczenie w organizacji tekstu i hierarchii, co wpływa później na SEO i dostępność strony. Dzięki <h2> możesz dodać podtytuł, co sprawia, że tekst jest bardziej przejrzysty i łatwiejszy do zrozumienia. Stosowanie nagłówków w odpowiedni sposób to ważna zasada, żeby dokument miał sens i był logicznie poukładany. Warto też wiedzieć, że znaczniki takie jak <link>, <meta> i <title> są super ważne dla strony, ale pełnią inne funkcje niż nagłówki. Więc ogólnie rzecz biorąc, fajnie, że to rozumiesz!

Pytanie 10

Jakie funkcje może pełnić program FileZilla?

A. publikacji strony internetowej
B. kompilacji skryptu na stronie
C. walidacji strony internetowej
D. debugowania skryptu na stronie
FileZilla to popularny klient FTP, który umożliwia przesyłanie plików między lokalnym komputerem a serwerem internetowym. Publikacja strony internetowej polega na umieszczeniu plików strony – takich jak HTML, CSS, JavaScript czy obrazy – na serwerze, aby były dostępne dla użytkowników w Internecie. Dzięki FileZilla użytkownicy mogą łatwo zarządzać tym procesem, korzystając z przyjaznego interfejsu graficznego, który pozwala na przeciąganie i upuszczanie plików. Program obsługuje różne protokoły, w tym FTP, FTPS i SFTP, co zapewnia bezpieczeństwo podczas przesyłania danych. Dobry klient FTP, taki jak FileZilla, jest niezbędnym narzędziem w pracy web developerów, pozwalając na efektywne zarządzanie plikami oraz synchronizację lokalnych zasobów z serwerem. Dodatkowo, FileZilla udostępnia funkcje takie jak edycja plików na serwerze, co umożliwia szybką modyfikację treści bez potrzeby ponownego przesyłania całej strony. W kontekście publikuje się również znaczenie zachowania odpowiednich struktur katalogów oraz standardów, co ułatwia przyszłe aktualizacje i konserwację strony.

Pytanie 11

char str1[30] = 'Ala ma kota';
printf("%s", str1); 
Jakie jest źródło błędu w prezentowanym kodzie napisanym w języku C++?
A. Napis powinien być umieszczony w cudzysłowie.
B. Napis powinien mieć dokładnie 30 znaków.
C. Do funkcji printf przekazano za mało argumentów.
D. W funkcji printf nie można używać formatowania %s.
Stwierdzenie, że do funkcji printf przekazano zbyt mało argumentów, jest błędne, ponieważ printf w tym przypadku otrzymuje jeden argument, który jest zgodny z jego prototypem. Funkcja printf przyjmuje łańcuch formatowania jako pierwszy argument, a pozostałe argumenty, które mogą być przekazane, są opcjonalne. Ponadto, pomijanie argumentów nie skutkuje błędem w kontekście tej konkretnej funkcji. Kolejne twierdzenie, że napis powinien mieć dokładnie 30 znaków, jest również mylące. W praktyce, długość napisu nie musi odpowiadać rozmiarowi tablicy, pod warunkiem, że na końcu napisu znajduje się znak null, co jest automatycznie dołączane przez kompilator przy użyciu cudzysłowów. Wreszcie, stwierdzenie, że w funkcji printf nie można stosować formatowania %s, jest fałszywe, ponieważ %s jest standardowym formatem używanym do wyświetlania łańcuchów znaków. Właściwe użycie formatów jest kluczowe w programowaniu w C/C++, a ich znajomość jest niezbędna do prawidłowego wyświetlania danych. Typowe błędy myślowe prowadzące do tych niepoprawnych wniosków obejmują nieznajomość podstaw języków C/C++ oraz niewłaściwe rozumienie zasad dotyczących łańcuchów i formatów w funkcjach wyjściowych.

Pytanie 12

Funkcja agregująca MIN w języku SQL ma na celu określenie

A. wartości minimalnej z kolumny zwróconej przez kwerendę
B. średniej wartości kolumny obserwowanej w wyniku zapytania
C. liczby wierszy zwróconych przez kwerendę
D. liczby znaków w rekordach zwróconych przez kwerendę
Funkcja agregująca MIN w języku SQL służy do wyznaczania wartości minimalnej w zadanej kolumnie, co jest kluczowym aspektem analizy danych w bazach danych. Przykładowo, gdy korzystasz z zapytania SELECT MIN(wiek) FROM pracownicy, otrzymasz najniższy wiek pracownika w tabeli. To narzędzie jest niezwykle przydatne w raportowaniu oraz przy podejmowaniu decyzji opartych na danych, gdyż pozwala na szybkie określenie najniższych wartości w zestawieniach, takich jak najstarszy pracownik w firmie, najniższa cena produktu, czy najkrótszy czas realizacji zamówienia. W praktyce, używanie funkcji MIN pomaga organizacjom w identyfikacji problemów oraz w optymalizacji procesów. Stosowanie funkcji agregujących, takich jak MIN, jest zgodne z najlepszymi praktykami w zakresie analizy danych, ponieważ umożliwia efektywne przetwarzanie dużych zbiorów informacji i wyciąganie z nich wartościowych wniosków, co jest kluczowe w zarządzaniu danymi i tworzeniu raportów analitycznych.

Pytanie 13

Jakie słowo kluczowe wykorzystuje się do deklaracji zmiennej w języku JavaScript?

A. var
B. new
C. instanceof
D. variable
W JavaScript, żeby zadeklarować zmienną, używa się słowa 'var'. To jeden z najważniejszych elementów tego języka. Używając 'var', tworzysz zmienną, która może mieć zasięg tylko w danej funkcji albo być dostępna globalnie, w zależności od tego, jak ją zadeklarujesz. Jeśli na przykład napiszesz 'var x = 10;', to stworzysz zmienną 'x' i przypiszesz jej wartość 10. Warto jednak zauważyć, że od momentu, gdy wprowadzono ES6, zaleca się używanie 'let' oraz 'const' do deklaracji zmiennych, bo są bardziej przewidywalne, zwłaszcza jeśli chodzi o zasięg zmiennych (block scope). Mimo to, 'var' wciąż można spotkać w wielu starych projektach i dobrze jest znać to słowo, żeby lepiej rozumieć, jak działa JavaScript. Fajnie jest ograniczać 'var' na rzecz 'let' i 'const', bo dzięki temu kod staje się bardziej przejrzysty i łatwiejszy do ogarnienia w większych projektach.

Pytanie 14

W języku PHP znajduje się instrukcja pętli umieszczona w ramce. Ile razy zostanie wykonana ta pętla, o ile zmienna kontrolna nie jest zmieniana w jej wnętrzu, a także nie dodano instrukcji przerywającej pętlę, takiej jak break?

Ilustracja do pytania
A. 9 powtórzeń
B. 11 powtórzeń
C. 10 powtórzeń
D. 100 powtórzeń
Pętla for w języku PHP została skonstruowana z trzech części: inicjalizacji zmiennej sterującej $i=10 warunku zakończenia $i<=100 oraz modyfikatora $i+=10. Analizując te elementy widzimy że pętla zaczyna się od wartości 10 i przy każdym przejściu zwiększa $i o 10 aż do osiągnięcia wartości 100 włącznie. Oznacza to że pętla wykona się dla wartości 10 20 30 40 50 60 70 80 90 oraz 100 co daje łącznie 10 powtórzeń. Takie podejście jest efektywne i zgodne z dobrymi praktykami programistycznymi które zakładają wyraźne określenie warunków wejściowych i wyjściowych pętli. W praktyce stosowanie pętli for dla iteracji o znanym zakresie jest preferowane ze względu na swoją przejrzystość i czytelność. Warto też dodać że pętle for są mniej podatne na błędy wynikające z nieodpowiedniego modyfikowania zmiennej sterującej co jest częstym problemem w przypadku pętli while. Przy programowaniu w PHP ważne jest aby zawsze sprawdzać poprawność warunków zapętlających by uniknąć pułapek związanych z nieskończonymi pętlami.

Pytanie 15

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

A. foreach
B. for
C. next
D. while
Instrukcja 'foreach' w językach programowania, takich jak PHP, C# czy Java, jest zaprojektowana specjalnie do iteracji po elementach kolekcji, takich jak tablice lub kolekcje. Działa to poprzez przypisanie bieżącego elementu tablicy do zmiennej w każdej iteracji pętli oraz automatyczne przesuwanie wskaźnika do następnego elementu, co czyni ten mechanizm bardzo wygodnym w użyciu. Przykładowo, w PHP możemy użyć 'foreach' w następujący sposób: 'foreach ($tablica as $element) { echo $element; }'. W tej konstrukcji, dla każdego elementu w tablicy, zmienna $element będzie zawierać jego wartość, a pętla zakończy się automatycznie po osiągnięciu ostatniego elementu. Taki sposób iteracji jest bardziej przejrzysty i mniej podatny na błędy, ponieważ nie musimy zarządzać indeksami ręcznie, co może prowadzić do pomyłek, takich jak przekroczenie granic tablicy. Ponadto, instrukcje 'foreach' są bardziej czytelne, co ułatwia współpracę w zespołach programistycznych i utrzymanie kodu w dłuższej perspektywie. W dokumentacji wielu języków programowania 'foreach' jest rekomendowane jako najlepsza praktyka do iteracji po elementach kolekcji, co czyni je bardziej efektywnymi w kontekście programowania obiektowego oraz funkcjonalnego.

Pytanie 16

Po wykonaniu poniższego fragmentu kodu w języku C/C++, zmiennej o nazwie zmienna2 przypisany zostanie

int zmienna1 = 158;
int *zmienna2 = &zmienna1;
A. ta sama wartość, którą zawiera zmienna1, zostanie przypisana
B. liczba w kodzie binarnym, która odpowiada wartości przechowywanej w zmienna1, zostanie przypisana
C. adres zmiennej o nazwie zmienna1 zostanie przypisany
D. wartość przechowywana w zmienna1 zostanie przypisana jako zamieniona na łańcuch
W przedstawionym kodzie zmiennej o nazwie zmienna2 przypisywany jest adres zmiennej zmienna1, co jest typowym działaniem przy pracy z wskaźnikami w języku C/C++. Wskaźniki są zmiennymi, które przechowują adresy innych zmiennych. W przypadku użycia operatora & przed zmienną zmienna1, otrzymujemy jej adres w pamięci. Przykładowo, jeśli chcemy przekazać zmienną do funkcji, ale nie chcemy kopiować jej wartości, możemy użyć wskaźników, co jest wydajniejsze, zwłaszcza w przypadku dużych struktur czy obiektów. Pomaga to także w implementacji złożonych struktur danych, takich jak listy, drzewa czy grafy. Znajomość wskaźników jest kluczowa dla programistów w C/C++, jednocześnie umożliwiając optymalizację kodu oraz efektywne zarządzanie pamięcią, co jest zgodne z najlepszymi praktykami programowania.

Pytanie 17

W bazie danych znajduje się tabela uczniowie z kolumnami: imie, nazwisko, klasa. Jakie polecenie SQL należy wykorzystać, aby znaleźć imiona oraz nazwiska uczniów, których nazwiska zaczynają się na literę M?

A. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN 'M%';
B. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE 'M%';
C. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN 'M%';
D. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko = 'M%';
Wybrana odpowiedź jest poprawna, ponieważ używa operatora LIKE, który jest standardowym rozwiązaniem w SQL do wyszukiwania wzorców w danych. W tym przypadku 'M%' oznacza, że chcemy znaleźć wszystkie nazwiska, które zaczynają się na literę M. Operator LIKE jest szczególnie przydatny w sytuacjach, gdy potrzebujemy elastycznego wyszukiwania, umożliwiającego zastosowanie symboli wieloznacznych, takich jak '%' oznaczający dowolną liczbę znaków. Przykład zastosowania tego zapytania może obejmować generowanie listy uczniów dla nauczycieli, którzy chcą szybko zobaczyć wszystkich uczniów z nazwiskiem zaczynającym się na M, co może być przydatne przy organizowaniu wydarzeń czy klas. Dobrą praktyką jest także używanie odpowiednich indeksów w bazie danych, co może znacznie przyspieszyć wykonanie zapytań, zwłaszcza w dużych zbiorach danych. Znajomość operatorów SQL i ich zastosowań, jak również umiejętność formułowania zapytań, jest kluczowa w pracy z relacyjnymi bazami danych.

Pytanie 18

W zakresie ochrony serwera bazy danych przed atakami hakerównie wlicza się

A. blokada portów powiązanych z bazą danych
B. defragmentacja dysków
C. aktywacja zapory
D. używanie skomplikowanych haseł do bazy
Defragmentacja dysków to proces, który ma na celu optymalizację wydajności dysków twardych poprzez reorganizację danych na nośniku. Choć jest to operacja ważna dla poprawy wydajności systemu, nie ma ona bezpośredniego wpływu na bezpieczeństwo serwera bazy danych. W kontekście zabezpieczeń, kluczowymi działaniami są m.in. blokowanie portów związanych z bazą danych, co zapobiega nieautoryzowanemu dostępowi z zewnątrz; włączenie zapory, która filtruje ruch do i z serwera; oraz stosowanie złożonych haseł do bazy, które utrudniają ataki typu brute force. Przykładowo, wiele firm przyjmuje politykę wymuszania zmian haseł co kilka miesięcy oraz minimalnych wymagań dotyczących ich złożoności. Właściwa strategia zabezpieczeń obejmuje także regularne aktualizacje oprogramowania oraz monitorowanie logów serwera w poszukiwaniu nietypowych aktywności. Zastosowanie tych praktyk znacząco podnosi poziom bezpieczeństwa danych przechowywanych w bazie.

Pytanie 19

Wykres słupkowy należy zapisać w formacie rastrowym tak, aby jakość jego krawędzi była jak najlepsza, również dla dużego powiększenia, unikając efektu aliasingu. Do tego celu można zastosować format

A. SVG
B. CDR
C. PNG
D. JPEG
Analizując dostępne możliwości, łatwo się pogubić między formatami rastrowymi a wektorowymi, bo w praktyce często mieszają się te pojęcia. Format JPEG mimo swojej popularności w fotografii zupełnie nie nadaje się do wykresów słupkowych – kompresja stratna silnie degraduje jakość ostrych krawędzi i tekstów, przez co nawet lekko powiększony wykres wygląda nieestetycznie, pojawiają się brzydkie artefakty, rozmycia czy wręcz fragmentacja kolorów. To powszechny błąd, że JPEG jest uniwersalny – tak naprawdę sprawdza się tylko przy zdjęciach i obrazach z płynnymi przejściami kolorów. Z kolei SVG to już zupełnie inna liga, bo to format wektorowy. W nim krawędzie są zawsze idealnie ostre nawet przy dowolnym powiększeniu, bo są opisane matematycznie, a nie jako siatka pikseli. Problem w tym, że pytanie dotyczyło formatu rastrowego, więc SVG – choć fantastyczny do wykresów – nie spełnia tego warunku. CDR, czyli CorelDRAW, to natomiast format projektu wektorowego, popularny raczej w poligrafii i druku, a nie w codziennym zapisie wykresów do prezentacji czy publikacji elektronicznych. Pliki CDR są niekompatybilne z większością standardowych przeglądarek czy edytorów graficznych i wymagają specjalistycznego oprogramowania, więc to raczej ślepy zaułek. Wiele osób nie odróżnia również pojęcia aliasingu – czyli poszarpanych krawędzi w grafice rastrowej – od rozmycia czy utraty jakości wynikającej ze złego formatu. PNG jako jedyny z wymienionych formatów rastrowych umożliwia uzyskanie bardzo ostrych krawędzi, a przy zachowaniu wysokiej rozdzielczości pozwala niemal całkowicie uniknąć efektu aliasingu. Moim zdaniem to jeden z tych tematów, gdzie praktyka bardzo szybko weryfikuje teorię i wybierając PNG, po prostu nie ma się później problemów z jakością czy kompatybilnością. Trzeba pamiętać, że dobór formatu ma ogromny wpływ na ostateczną prezentację danych, dlatego nie warto iść na skróty, tylko dobrać narzędzie do konkretnego celu.

Pytanie 20

Element zadeklarowany w języku C++ double x*; oznacza

A. parametr formalny o typie zmiennoprzecinkowym
B. wskaźnik
C. typ zmiennoprzecinkowy
D. typ całkowity
Odpowiedzi, które wskazują, że <b>double x*;</b> to zmienna całkowita, zmienna rzeczywista lub parametr formalny typu rzeczywistego, opierają się na nieporozumieniach dotyczących definicji typów danych w języku C++. Po pierwsze, zmienna całkowita to typ, który przechowuje liczby całkowite, a składnia <b>double x*;</b> wyraźnie mówi, że jest to wskaźnik do zmiennej typu <b>double</b>, która jest używana do reprezentacji liczb rzeczywistych, w tym zmiennoprzecinkowych. Stąd, mylenie wskaźnika z typem zmiennoprzecinkowym może prowadzić do błędnych wniosków. Ponadto, parametr formalny typu rzeczywistego odnosi się do deklaracji funkcji, a nie do zmiennej. W C++ funkcje mogą przyjmować wskaźniki jako argumenty, co pozwala na efektywne przekazywanie dużych obiektów bez ich kopiowania, lecz sam wskaźnik nie jest parametrem formalnym, lecz zmienną przechowującą adres innej zmiennej. Często spotykaną pułapką w rozumieniu wskaźników jest ich pomylenie z odniesieniami (<b>double& x</b>), które w C++ działają nieco inaczej. Warto zatem poszerzyć wiedzę o wskaźnikach, aby lepiej zrozumieć ich rolę w zarządzaniu pamięcią i przekazywaniu argumentów w funkcjach.

Pytanie 21

W skrypcie JavaScript zmienne mogą być definiowane

A. wyłącznie na początku skryptu
B. jedynie wtedy, gdy podamy typ zmiennej oraz jej nazwę
C. zawsze poprzedzone znakiem $ przed nazwą
D. w chwili pierwszego użycia zmiennej
Wykorzystanie zmiennych w JavaScript jest bardziej elastyczne i złożone, niż sugerują tego niektóre odpowiedzi. Faktem jest, że w JavaScript nie ma wymogu deklarowania zmiennych na początku skryptu. Odpowiedź sugerująca, że zmienne mogą być deklarowane tylko na początku, jest nieprawidłowa, ponieważ JavaScript pozwala na deklarację w dowolnym miejscu kodu, a silnik interpretuje zmienne zgodnie z regułami hoistingu. Kolejna niepoprawna koncepcja związana jest z mylnym przekonaniem, że wcześniej należy określić typ zmiennej. JavaScript jest językiem dynamicznie typowanym, co oznacza, że nie jest konieczne podawanie typu przy deklaracji zmiennej. Dla przykładu, w wielu językach programowania, jak Java czy C#, typ musi być jawnie określony, lecz w JavaScript nie jest to wymagane, co czyni kod bardziej zwięzłym i elastycznym. Ponadto, stwierdzenie, że zmienne w JavaScript muszą być poprzedzone znakiem '$', również jest błędne. Chociaż '$' jest dozwolony w nazwach zmiennych, nie jest to wymóg. Dobre praktyki programistyczne sugerują, aby nazwy zmiennych były zrozumiałe i opisywały ich zawartość, co zwiększa czytelność kodu. W związku z tym, zrozumienie, jak i gdzie można deklarować zmienne w JavaScript, jest kluczowe dla efektywnego pisania kodu w tym języku.

Pytanie 22

Podczas przechowywania hasła użytkownika serwisu internetowego (np. bankowości online), aby chronić je przed ujawnieniem, zazwyczaj stosuje się funkcję

A. klucza.
B. cyklometrycznych.
C. mieszających.
D. abstrakcyjnych.
Użycie klucza do zabezpieczenia haseł użytkowników w systemach takich jak bankowość internetowa jest kluczowym elementem zapewnienia prywatności i bezpieczeństwa danych. Funkcje klucza, takie jak szyfrowanie, pozwalają na przekształcenie haseł w nieczytelne ciągi znaków, które są niemożliwe do odtworzenia bez odpowiedniego klucza. Przykładem jest zastosowanie algorytmów takich jak AES (Advanced Encryption Standard), które są szeroko uznawane i stosowane w branży. Dobre praktyki w zakresie zabezpieczania danych sugerują używanie silnych, losowych kluczy oraz regularne ich aktualizowanie. Ponadto, najnowsze standardy, takie jak NIST (National Institute of Standards and Technology), rekomendują stosowanie dodatkowych technik, takich jak solenie haseł, co zwiększa ich odporność na ataki. Dzięki temu, nawet w przypadku wycieku bazy danych, potencjalny atakujący napotyka na trudności w odzyskaniu oryginalnych haseł. Zrozumienie i wdrożenie funkcji klucza jest niezbędne dla każdej organizacji, która pragnie skutecznie chronić wrażliwe dane swoich użytkowników.

Pytanie 23

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

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

Pytanie 24

Funkcja, która wywołuje samą siebie to

A. rekurencja
B. iteracja
C. dziedziczenie
D. hermetyzacja
Rekurencja to technika programistyczna, w której funkcja wywołuje samą siebie w celu rozwiązania problemu. Jest to szczególnie użyteczne w sytuacjach, gdy problem można podzielić na mniejsze, podobne podproblemy. Przykładem rekurencji może być obliczanie silni liczby. Silnia n (n!) jest definiowana jako n * (n-1)!, co oznacza, że obliczenie silni dla n wymaga obliczenia silni dla n-1, aż do osiągnięcia podstawowego przypadku, którym jest 0! = 1. Rekurencja ma zastosowanie w wielu algorytmach, w tym w wyszukiwaniu binarnym, sortowaniu przez scalanie oraz w rozwiązywaniu problemów związanych z drzewami, takich jak przechodzenie przez struktury drzewiaste. Ważne jest, aby prawidłowo zdefiniować warunki zakończenia rekurencji, aby uniknąć nieskończonego wywoływania funkcji, co prowadzi do przekroczenia limitu stosu. Rekurencja jest często stosowana w językach programowania takich jak Python, Java i C++, a jej zrozumienie jest kluczowe dla każdego programisty, który chce efektywnie rozwiązywać złożone problemy.

Pytanie 25

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

A. Krzywe.
B. Barwienie.
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 26

W systemie baz danych sklepu znajdują się dwie tabele powiązane ze sobą relacją: produkty oraz oceny. Tabela oceny zawiera dowolną liczbę ocen wystawionych przez klientów dla konkretnego produktu, które są zdefiniowane przez pola: id, ocena (pole numeryczne), produktID (klucz obcy). Aby uzyskać maksymalną ocenę dla produktu o ID równym 10, należy użyć zapytania

A. MAX SELECT ocena FROM oceny WHERE produktID = 10;
B. SELECT MAX COUNT(ocena) FROM oceny WHERE produktID = 10;
C. SELECT MAX(ocena) FROM oceny WHERE produktID = 10;
D. COUNT MAX SELECT ocena FROM oceny WHERE produktID = 10;
Odpowiedź "SELECT MAX(ocena) FROM oceny WHERE produktID = 10;" jest prawidłowa, ponieważ wykorzystuje odpowiednią składnię SQL do uzyskania maksymalnej wartości z kolumny "ocena" dla produktu o określonym ID. Funkcja agregująca MAX() umożliwia znalezienie najwyższej oceny w zbiorze danych spełniających określone kryteria. W tym przypadku, zapytanie przeszukuje tabelę "oceny" i filtruje wyniki na podstawie "produktID" równym 10. Takie podejście jest zgodne z najlepszymi praktykami w obszarze SQL, ponieważ zapewnia prostotę i efektywność. W praktycznym zastosowaniu, w momencie gdy mamy do czynienia z dużymi zbiorami danych, takie zapytanie pozwala na szybkie uzyskanie potrzebnych informacji, co jest kluczowe dla analizy wydajności produktów w sklepie. Używanie funkcji agregujących, takich jak MAX(), jest standardem w relacyjnych bazach danych, co czyni to podejście odpowiednim w kontekście zarządzania danymi.

Pytanie 27

Instrukcja zapisana w SQL, przedstawiona poniżej, ilustruje kwerendę:

UPDATE katalog SET katalog.cena = [cena]*1.1;
A. usuwającej
B. aktualizującej
C. krzyżowej
D. dołączającej
Odpowiedź "aktualizującej" jest prawidłowa, ponieważ instrukcja SQL, którą przedstawiono, służy do modyfikacji istniejących danych w tabeli. Kwerenda ta używa polecenia UPDATE, które jest standardowym poleceniem w SQL do zmiany wartości w jednej lub wielu kolumnach w wybranych wierszach tabeli. W tym przypadku, kwerenda zwiększa wartość ceny o 10% dla wszystkich rekordów w tabeli 'katalog'. Takie operacje są powszechnie stosowane w zarządzaniu bazami danych, szczególnie w kontekście aktualizacji cen produktów, co jest kluczowe w handlu elektronicznym i zarządzaniu zapasami. Ważne jest również, aby przy każdej aktualizacji danych uwzględnić warunki, jeśli zmiana ma dotyczyć tylko określonych wierszy, co można osiągnąć poprzez dodanie klauzuli WHERE. Ponadto, dobrym nawykiem jest zawsze tworzenie kopii zapasowych danych przed przeprowadzeniem masowych aktualizacji, aby zminimalizować ryzyko utraty informacji.

Pytanie 28

Jaką metodę przesyłania danych za pomocą formularza do kodu PHP należy uznać za najbardziej bezpieczną dla poufnych informacji?

A. Metoda GET, przy użyciu protokołu HTTPS
B. Metoda GET, przy użyciu protokołu HTTP
C. Metoda POST, przy użyciu protokołu HTTP
D. Metoda POST, przy użyciu protokołu HTTPS
Metoda POST, za pomocą protokołu HTTPS jest najbezpieczniejszym sposobem przesyłania danych poufnych w formularzach internetowych. Główną zaletą metody POST jest to, że dane nie są widoczne w adresie URL, co redukuje ryzyko ich ujawnienia w przypadku zapisania historii przeglądania lub w logach serwera. Co więcej, HTTPS, czyli HTTP Secure, zapewnia dodatkową warstwę zabezpieczeń poprzez szyfrowanie danych przesyłanych pomiędzy klientem a serwerem. Dzięki temu, nawet jeśli dane zostaną przechwycone przez nieautoryzowany podmiot, będą one zaszyfrowane, co znacznie utrudnia ich odczytanie. Zastosowanie tej metody jest szczególnie kluczowe w przypadku formularzy wymagających wprowadzenia danych osobowych, informacji finansowych lub logowania do konta użytkownika. W praktyce, wiele współczesnych aplikacji internetowych wymaga stosowania POST i HTTPS jako standardu do przesyłania wrażliwych informacji, co jest zgodne z najlepszymi praktykami bezpieczeństwa oraz standardami branżowymi takim jak OWASP.

Pytanie 29

Dla których imion klauzula LIKE jest prawdziwa?

SELECT imie FROM mieszkancy WHERE imie LIKE 'o_%_a';
A. Oktawia, Oktawian, Olga
B. Oksana, Oktawia, Olga
C. Oksana, Ola, Olga
D. Oda, Oksana, Oktawia
Odpowiedź „Oksana, Oktawia, Olga" jest prawidłowa. Aby zrozumieć, dlaczego właśnie te imiona spełniają warunek, należy dokładnie przeanalizować wzorzec użyty w klauzuli LIKE. Wzorzec 'o_%_a' składa się z pięciu elementów: litery „o" na początku, znaku podkreślenia oznaczającego dokładnie jeden dowolny znak, symbolu procentu reprezentującego zero lub więcej dowolnych znaków, kolejnego znaku podkreślenia (znów dokładnie jeden znak) oraz litery „a" na końcu. Z tej struktury wynika, że prawidłowe imię musi spełniać trzy warunki: zaczynać się od litery „o", kończyć się na literę „a" oraz mieć co najmniej cztery znaki długości. Ta ostatnia zasada jest kluczowa - dwa znaki podkreślenia wymuszają obecność minimum dwóch znaków pomiędzy pierwszą a ostatnią literą. Dlatego imiona takie jak „Ola" czy „Oda", mimo że zaczynają się na „o" i kończą na „a", są zbyt krótkie. Z kolei „Oktawian" odpada, ponieważ kończy się na literę „n", nie „a". Pozostają więc Oksana, Oktawia i Olga - każde z nich ma odpowiednią długość i właściwe litery na początku oraz końcu.

Pytanie 30

Jakiej funkcji w języku PHP należy użyć, aby nawiązać połączenie z bazą danych pod nazwą zwierzaki?

A. $polacz = db_connect('localhost', 'root', '', 'zwierzaki')
B. $polacz = sql_connect('localhost', 'root', '', 'zwierzaki')
C. $polacz = mysqli_connect('localhost', 'root', '', 'zwierzaki')
D. $polacz = server_connect('localhost', 'root', '', 'zwierzaki')
Odpowiedź $polacz = mysqli_connect('localhost', 'root', '', 'zwierzaki'); jest poprawna, ponieważ wykorzystuje funkcję mysqli_connect, która jest dedykowana do nawiązywania połączeń z bazami danych MySQL w języku PHP. Funkcja ta przyjmuje cztery argumenty: adres serwera (w tym przypadku 'localhost'), nazwę użytkownika ('root'), hasło (które jest puste w tym przykładzie) oraz nazwę bazy danych ('zwierzaki'). Użycie mysqli jest zgodne z aktualnymi standardami i dobrą praktyką w programowaniu, ponieważ oferuje szereg usprawnień w porównaniu do starszych metod, takich jak mysql_connect, które zostały usunięte w nowszych wersjach PHP. Mysqli (MySQL Improved) wspiera zarówno programowanie obiektowe, jak i proceduralne, co czyni go bardziej elastycznym. W przypadku nawiązywania połączenia warto również pamiętać o obsłudze błędów, co można osiągnąć poprzez dodatkowe sprawdzenie, czy połączenie zostało nawiązane pomyślnie za pomocą funkcji mysqli_connect_error(). Przykład poprawnego użytkowania w kodzie mógłby wyglądać następująco: $polacz = mysqli_connect('localhost', 'root', '', 'zwierzaki'); if (!$polacz) { die('Connection failed: ' . mysqli_connect_error()); }

Pytanie 31

W której superglobalnej tablicy w PHP należy przechowywać informacje dotyczące logowania użytkownika w sposób gwarantujący ich bezpieczeństwo?

A. $_FILES
B. $_COOKIE
C. $_SESSION
D. $_SERVER
Odpowiedź $_SESSION jest spoko, bo ta superglobalna tablica jest stworzona do trzymania danych związanych z sesjami, co jest mega ważne przy logowaniu. Fajna rzecz w $_SESSION jest taka, że informacje w niej są dostępne tylko podczas, gdy sesja jest aktywna, co poprawia bezpieczeństwo i chroni przed kradzieżą ciasteczek. Używając $_SESSION, można śmiało przechowywać dane logowania, jak ID użytkownika czy jego uprawnienia. Na przykład można użyć $_SESSION do zapamiętania, czy użytkownik jest zalogowany, co pomaga w kontrolowaniu dostępu do różnych części aplikacji. I według mnie, po zakończeniu sesji dobrze jest wyczyścić te dane, bo to dodatkowo zabezpiecza aplikację przed niechcianym dostępem. Ogólnie, korzystając z $_SESSION, programiści mogą się skupić na logice aplikacji, wiedząc, że dane są zarządzane w miarę bezpiecznie.

Pytanie 32

O obiekcie przedstawionym w JavaScript można powiedzieć, że posiada

var obiekt1 = {
    x: 0,
    y: 0,
    wsp: function() { [...] }
}
A. trzema metodami
B. dwoma metodami oraz jedną właściwością
C. trzema właściwościami
D. dwoma właściwościami oraz jedną metodą
Obiekt w języku JavaScript, taki jak przedstawiony na obrazku, składa się z par klucz-wartość zwanych właściwościami. W tym przypadku mamy dwie właściwości x i y, które są przypisane wartości 0. Właściwości te przechowują dane i mogą być dowolnego typu, jak liczby, ciągi znaków czy inne obiekty. Trzecim elementem obiektu jest wsp, który jest przypisany funkcji, co czyni go metodą obiektu. Metoda w JavaScript jest funkcją przypisaną jako wartość właściwości, która może być wywoływana na obiekcie. Tego rodzaju struktura pozwala na efektywne organizowanie kodu i jest często stosowana w programowaniu obiektowym w JavaScript. Dzięki metodom można dynamicznie manipulować danymi wewnątrz obiektu. Takie podejście jest zgodne z zasadami hermetyzacji, które są częścią paradygmatu programowania obiektowego, zwiększając czytelność i utrzymanie kodu. W praktyce, znajomość właściwości i metod obiektów JavaScript jest kluczowa dla tworzenia dynamicznych i interaktywnych aplikacji webowych.

Pytanie 33

Wymień dwa sposoby na zabezpieczenie bazy danych Microsoft Access

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

Pytanie 34

Która z funkcji agregujących wbudowanych w język SQL służy do obliczania średniej wartości w określonej kolumnie?

A. COUNT
B. MIN
C. AVG
D. SUM
Funkcja AVG w języku SQL jest jedną z kluczowych funkcji agregujących, która pozwala na obliczenie średniej wartości w określonej kolumnie zestawienia danych. Użycie tej funkcji jest szczególnie istotne w analizie statystycznej, gdyż pozwala uzyskać bardziej reprezentatywny wynik, eliminując wpływ skrajnych wartości, które mogą zniekształcać obraz danych. Na przykład, gdy mamy tabelę "sprzedaż" z kolumną "kwota", można użyć zapytania SELECT AVG(kwota) FROM sprzedaż, aby uzyskać średnią wartość sprzedaży. Funkcja ta jest nie tylko przydatna w kontekście analizy, ale także stanowi standardową praktykę w raportowaniu wyników finansowych, co może pomóc w podejmowaniu decyzji biznesowych. Warto również zauważyć, że AVG jest funkcją, która ignoruje wartości NULL, co jest ważne w kontekście danych, które mogą nie być pełne. Dobre praktyki sugerują, aby zawsze sprawdzać dane wejściowe przed stosowaniem funkcji agregujących, aby zapewnić ich jakość i dokładność wyników.

Pytanie 35

Tabela Pacjenci zawiera kolumny: imie, nazwisko, wiek oraz lekarz_id. W celu stworzenia raportu z imionami i nazwiskami pacjentów, którzy mają mniej niż 18 lat i są zapisani do lekarza o id wynoszącym 6, należy zastosować kwerendę SQL

A. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6
B. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 OR lekarz_id = 6
C. SELECT imie, nazwisko WHERE wiek < 18 AND lekarz_id = 6
D. SELECT imie, nazwisko WHERE wiek < 18 OR lekarz_id = 6
Odpowiedź 'SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6' jest poprawna, ponieważ precyzyjnie określa, jakie dane mają zostać zwrócone. Kwerenda ta wykorzystuje klauzulę 'FROM', aby wskazać, z której tabeli mają zostać pobrane dane, oraz 'WHERE', aby nałożyć odpowiednie warunki. W tym przypadku chcemy uzyskać imiona i nazwiska pacjentów, którzy są poniżej 18 roku życia oraz zapisani do lekarza o identyfikatorze 6. Używanie operatora 'AND' jest kluczowe w tym kontekście, ponieważ tylko pacjenci spełniający obydwa warunki będą uwzględniani w wynikach. W praktyce, taka kwerenda jest niezwykle użyteczna w systemach medycznych, gdzie konieczne jest operowanie na danych demograficznych pacjentów oraz ich przypisania do lekarzy. Dobre praktyki w SQL wymagają jasności w określaniu warunków filtracji, co ta kwerenda osiąga, unikając niejednoznaczności, które mogłyby wyniknąć z użycia operatora 'OR'.

Pytanie 36

W tabeli personel znajdują się pola: imię, nazwisko, pensja, staż. Aby obliczyć średnią pensję osób zatrudnionych z doświadczeniem od 10 do 20 lat włącznie, należy przeprowadzić kwerendę:

A. SELECT COUNT(*) FROM personel WHERE staz >= 10 AND staz <= 20
B. SELECT AVG(pensja) FROM personel WHERE staz >= 10 AND staz <= 20
C. SELECT COUNT(pensja) FROM personel WHERE staz >= 10 AND staz <= 20
D. SELECT AVG(*) FROM personel WHERE staz >= 10 AND staz <= 20
Ta odpowiedź jest prawidłowa, ponieważ używa funkcji agregującej AVG, która oblicza średnią wartość z określonego pola, w tym przypadku pensji. Warunek WHERE zapewnia, że tylko pracownicy z stażem od 10 do 20 lat są brani pod uwagę w obliczeniach. Użycie funkcji AVG w kontekście SQL jest standardową praktyką, gdy chcemy uzyskać średnią z danych numerycznych. Na przykład, jeśli w tabeli mamy pracowników z różnymi pensjami, a chcemy zrozumieć, jak wygląda średnia wynagrodzeń w określonym przedziale stażu, to właśnie ta kwerenda dostarcza nam niezbędnej informacji. Dobre praktyki w analizie danych wskazują, że obliczenie średniej pensji jest kluczowe dla zarządzania zasobami ludzkimi i podejmowania decyzji dotyczących polityki wynagrodzeń. Przykładem może być sytuacja, gdy firma decyduje o podwyżkach lub bonusach, a analiza średniej pensji w danej grupie pracowników może znacząco wpłynąć na te decyzje.

Pytanie 37

Które z poniższych stwierdzeń jest poprawne w kontekście grafiki rastrowej?

A. Jest to przedstawienie obrazu poprzez siatkę pikseli, które są odpowiednio kolorowane w układzie pionowo-poziomym na ekranie komputera, drukarce lub innym urządzeniu wyjściowym.
B. Obraz zapisywany jest za pomocą figur geometrycznych rozmieszczonych w układzie współrzędnych.
C. Grafika rastrowa nie jest zapisywana w formacie WMF (ang. Windows Metafile Format - format metaplików Windows).
D. Podczas skalowania obraz nie traci na jakości.
Grafika rastrowa, znana również jako bitmapa, to sposób przedstawiania obrazu poprzez siatkę pikseli. Piksel, będący najmniejszym elementem obrazu, jest odpowiednio kolorowany, co pozwala na uzyskanie pełnozakresowego obrazu. Takie podejście jest powszechnie stosowane w różnych dziedzinach, od fotografii cyfrowej po projektowanie graficzne. W przypadku grafiki rastrowej, każdy piksel jest przypisany do konkretnego miejsca na siatce, co skutkuje tym, że zmieniając rozmiar obrazu poprzez skalowanie, jakość obrazu ulega pogorszeniu, gdyż piksele mogą być rozciągane lub stłumione. Warto też zauważyć, że formaty plików, takie jak JPEG, PNG czy BMP, są typowymi formatami dla grafiki rastrowej, gdzie każdy z nich ma swoje zastosowanie i charakterystyki. Przykładowo, JPEG jest idealny do zdjęć ze względu na kompresję stratną, podczas gdy PNG obsługuje przezroczystość. Zrozumienie tego, jak grafika rastrowa działa i jakie są jej ograniczenia, jest kluczowe dla każdego, kto pracuje z obrazem w środowisku cyfrowym.

Pytanie 38

Jaki zestaw terminów określa interfejs użytkownika witryny internetowej?

A. Obróbka danych, system zarządzania treścią, projektowanie informacji
B. Przesyłanie zapytań do bazy, skrypty PHP
C. Szkic strony, diagram witryny, diagram przepływu informacji
D. Przyciski, menu, interakcja użytkownika z aplikacją
Interfejs użytkownika (UI) strony internetowej to kluczowy element, który odpowiada za interakcję użytkownika z aplikacją internetową. W jego skład wchodzą różnorodne elementy, takie jak przyciski, menu, formularze, ikony oraz inne komponenty, które umożliwiają użytkownikowi nawigację, wprowadzanie danych oraz podejmowanie akcji. Zastosowanie standardów projektowania, takich jak Material Design czy Human Interface Guidelines, pozwala na tworzenie intuicyjnych i estetycznych interfejsów, co zwiększa użyteczność strony. Przykładowo, przycisk „Zatwierdź” umieszczony w formularzu powinien być wyraźnie oznaczony i łatwo dostępny, aby użytkownicy mogli szybko zakończyć proces rejestracji lub zakupu. Dobre praktyki w zakresie projektowania UI obejmują także responsywność, co oznacza, że interfejs powinien dostosowywać się do różnych rozmiarów ekranów, zapewniając optymalne wrażenia użytkownika na urządzeniach mobilnych oraz desktopowych. Interakcja użytkownika z aplikacją jest kluczowym aspektem, a właściwie zaprojektowany interfejs wpływa na satysfakcję użytkowników oraz ich skłonność do powrotu na stronę.

Pytanie 39

Którą czynność gwarantującą poprawne wykonanie przedstawionego kodu JavaScript należy wykonać przed pętlą?

var text;
for(var i=0; i<tab.length; i++ ){
    text+=tab[i] + "<br>";
}
A. Zainicjować zmienną text
B. Zadeklarować zmienną i
C. Sprawdzić długość tablicy tab
D. Upewnić się, że text jest typu string
W przedstawionym kodzie JavaScript kluczowe jest zainicjowanie zmiennej 'text' przed rozpoczęciem pętli for. Zmienna ta ma za zadanie zbierać wartości z tablicy 'tab' i konkatenuje je w formie tekstu z dodanym znacznikiem HTML <br>, który służy do łamania linii w przeglądarkach. Gdyby zmienna 'text' nie została zainicjowana, kod próbowałby wykonać operację konkatenacji na niezainicjowanej zmiennej, co skutkowałoby błędem. W JavaScript, zmienne, które nie zostały zainicjowane, mają wartość 'undefined', co może prowadzić do nieprzewidywalnych rezultatów. Dlatego przed pętlą, konieczne jest przypisanie zmiennej 'text' wartości początkowej, na przykład pustego łańcucha: text = ''. Dzięki temu, każda kolejna iteracja pętli doda nowy element tablicy do 'text' w sposób zgodny z zamierzeniem. Praktycznie, inicjalizowanie zmiennej jest fundamentalną praktyką w programowaniu, która zapobiega błędom oraz zapewnia klarowność kodu, co jest zgodne z najlepszymi standardami programowania.

Pytanie 40

W poniższym zapisie CSS kolor zielony zostanie zastosowany do

h2
{
    background-color: green;
}
A. czcionki nagłówka drugiego poziomu
B. tła całej witryny
C. czcionki wszystkich nagłówków na stronie
D. tła tekstu nagłówka drugiego poziomu
Zapis CSS h2 { background-color: green; } oznacza, że każdemu elementowi nagłówka drugiego stopnia przypisany zostanie zielony kolor tła. W CSS selektor h2 odnosi się bezpośrednio do wszystkich elementów HTML o tagu <h2>. Właściwość background-color służy do definiowania koloru tła elementu, nie wpływając na kolor czcionki samego nagłówka. W praktyce takie podejście pozwala na wyraźne wyróżnienie nagłówków na tle innych elementów strony, co może być kluczowe dla poprawy czytelności. Przyjęte w kodzie standardy zapewniają zgodność z najnowszymi wytycznymi W3C, pozwalając na efektywne zarządzanie stylami w projekcie. Wiedza o tym jak stylizować nagłówki za pomocą background-color jest fundamentalna dla każdego web developera, umożliwiając tworzenie atrakcyjnych i czytelnych interfejsów użytkownika w sposób zgodny z zasadami responsywnego projektowania. Ponadto, stosowanie takich stylizacji wspiera semantyczne podejście do strukturyzacji treści, co jest ważne dla optymalizacji SEO.