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: 24 kwietnia 2026 13:32
  • Data zakończenia: 24 kwietnia 2026 13:50

Egzamin zdany!

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

W SQL, przy użyciu polecenia ALTER, można

A. usunąć tabelę
B. zmienić strukturę tabeli
C. dodać dane do tabeli
D. stworzyć nową tabelę
Odpowiedź jest poprawna, ponieważ polecenie ALTER w języku SQL służy do modyfikacji istniejącej struktury tabeli. Umożliwia ono wykonywanie różnych operacji, takich jak dodawanie nowych kolumn, zmiana typu danych istniejących kolumn, a także usuwanie kolumn. Przykładem użycia może być zmiana typu danych kolumny 'wiek' w tabeli 'Użytkownicy' z INTEGER na VARCHAR, co można osiągnąć za pomocą zapytania: ALTER TABLE Użytkownicy MODIFY COLUMN wiek VARCHAR(3). Zmiana struktury tabeli jest istotna w kontekście dostosowywania bazy danych do zmieniających się wymagań aplikacji i użytkowników, co jest kluczowe dla utrzymania jej elastyczności i wydajności. Warto również pamiętać, że modyfikacje struktury tabeli powinny być przeprowadzane z zachowaniem zasad bezpieczeństwa danych oraz odpowiednich procedur kontroli wersji, aby zminimalizować ryzyko utraty danych lub wprowadzenia błędów. Dzięki zrozumieniu i umiejętnemu stosowaniu polecenia ALTER, administratorzy baz danych mogą skuteczniej zarządzać strukturą i integralnością danych.

Pytanie 2

Dla tablicy n-elementowej o nazwie t[n], algorytm, zapisany w formie kroków, ma za zadanie obliczenie sumy

Ilustracja do pytania
A. n-elementów tablicy
B. co drugiego elementu tablicy
C. sumy wszystkich elementów tablicy
D. sumy tych elementów tablicy, których wartości są nieparzyste
Algorytm, który masz na zdjęciu, ma na celu sumowanie co drugiego elementu w tablicy. Na początku ustalamy zmienne i=0 oraz wynik=0. Używamy pętli while, żeby przejść przez tablicę, a zmienna i zwiększa się o 2 za każdym razem, więc idealnie nadaje się do zbierania co drugiego elementu. W kroku K3 dodajemy aktualny element tablicy do zmiennej wynik, co w praktyce oznacza, że sumujemy elementy, które są na parzystych indeksach (czyli te z miejsc 0, 2, 4 i tak dalej). Takie podejście jest dosyć popularne, kiedy musimy wyodrębniać fragmenty danych z większej tablicy. Można to wykorzystać w różnych sytuacjach, gdzie liczy się efektywność, jak na przykład przy przetwarzaniu dużych zbiorów danych. Dzięki temu zmniejszamy złożoność obliczeniową i lepiej zarządzamy pamięcią. W branży często doradza się unikanie niepotrzebnych iteracji i skupianie się na mądrym projektowaniu algorytmów, co zdecydowanie prowadzi do lepszego kodu.

Pytanie 3

W języku PHP, aby otworzyć już istniejący plik lektury.txt w trybie dodawania treści, tak aby wskaźnik pliku został umieszczony na końcu tego pliku należy zastosować instrukcję

A. fopen("lektury.txt", "a")
B. fopen("lektury.txt", "x")
C. fopen("lektury.txt", "w")
D. fopen("lektury.txt", "r")
Poprawnie – w PHP tryb "a" w funkcji fopen() oznacza otwarcie pliku w trybie dopisywania (append). To dokładnie to, czego wymaga pytanie: plik ma już istnieć, a wskaźnik pliku (file pointer) ma zostać ustawiony na koniec, żeby nowa treść była dopisywana za tym, co już jest. Instrukcja fopen("lektury.txt", "a") otwiera pliki tylko do zapisu, nie nadpisuje istniejącej zawartości, tylko dokleja nowe linie na końcu. Jeśli plik nie istnieje, PHP spróbuje go utworzyć, oczywiście jeśli uprawnienia systemu plików na to pozwalają. W praktyce taki tryb stosuje się np. do prowadzenia logów, dzienników zdarzeń, prostych liczników odwiedzin albo dopisywania nowych rekordów tekstowych bez kasowania starych danych. Typowy fragment kodu może wyglądać tak: $fh = fopen("lektury.txt", "a"); fwrite($fh, "Pan Tadeusz\n"); fclose($fh); Po takim zapisie wcześniejsza zawartość lektury.txt zostaje nietknięta, a tekst „Pan Tadeusz” trafia na sam koniec pliku. Z mojego doświadczenia to jest bezpieczniejsza opcja niż tryb "w", kiedy chcemy tylko coś dopisać i absolutnie nie wolno stracić danych, które już w pliku są. Warto też pamiętać o dobrych praktykach: zawsze sprawdzamy wynik fopen() (czy nie zwrócił false), obsługujemy ewentualne błędy i po zakończeniu pracy domykamy uchwyt funkcją fclose(). W większych projektach sensowne jest też blokowanie pliku (flock) przy jednoczesnym dostępie wielu skryptów, żeby dane się nie pomieszały. Tryb "a" jest więc standardowym i zalecanym rozwiązaniem w sytuacjach, gdy trzeba dopisywać dane na końcu istniejącego pliku tekstowego.

Pytanie 4

W języku CSS określono formatowanie znacznika h1 według wzoru. Zakładając, że żadne inne formatowanie nie jest dodane do znacznika h1, wskaż sposób formatowania tego znacznika

Ilustracja do pytania
A. B
B. A
C. D
D. C
Formatowanie znacznika h1, określone w podanym kodzie CSS, wprowadza kilka charakterystycznych cech stylistycznych. Przede wszystkim, zastosowanie 'font-style: oblique;' zmienia wygląd tekstu, nadając mu ukośny styl. To oznacza, że tekst będzie wyświetlany w wyraźnie przechylonej formie, co jest często używane do podkreślenia ważnych elementów. Dodatkowo, 'font-variant: small-caps;' odpowiedzialne jest za przekształcenie małych liter w małe kapitałki, co nadaje tekstowi elegancki i formalny wygląd. Taki zabieg jest często wykorzystywany w tytułach lub nagłówkach, aby wyróżnić je wśród pozostałego tekstu. Ostatni element, 'text-align: right;', wyrównuje tekst do prawej krawędzi kontenera, co jest mniej powszechnie stosowane w porównaniu do wyrównania do lewej lub wyśrodkowanego, ale może być użyteczne w specyficznych układach strony. W przypadku, gdyby były dodatkowe style CSS przypisane do tego znacznika, mogłyby one wpłynąć na ostateczny wygląd, jednak w tym przypadku zakładamy, że są to jedyne zastosowane style. Standardy CSS jasno określają, jak różne właściwości mogą być używane do stylizacji elementów HTML, co czyni je niezwykle potężnym narzędziem w tworzeniu estetycznych i funkcjonalnych stron internetowych.

Pytanie 5

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. next
B. foreach
C. while
D. for
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 6

W zaprezentowanej części formularza HTML znajduje się pole, które można określić jako?

<input type="password" name="pole">
A. domyślnie posiada wpisany tekst "pole".
B. wyświetla wprowadzone znaki.
C. pozwala na wprowadzanie jedynie wartości liczbowych.
D. ukrywa wprowadzone znaki.
Twoja odpowiedź jest właściwa. W tym fragmencie formularza HTML mamy pole <i>input</i>, które wprowadzone znaki ukrywa. To dzięki atrybutowi 'type="password"' w elemencie <i>input</i>. W HTML atrybut 'type' mówi nam, jaki typ danych użytkownik może wprowadzić do tego pola. Jak masz 'password', to wpisane rzeczy są zasłonięte symbolami, jak np. gwiazdki czy kropki, żeby chronić dane użytkownika. To standardowa sprawa, szczególnie dla haseł i innych ważnych informacji, żeby nikt ich nie zobaczył. Pamiętaj, że takie pola powinny być zawsze dobrze oznaczone i zabezpieczone, to ważne dla bezpieczeństwa.

Pytanie 7

Tworząc raport w systemie zarządzania relacyjnymi bazami danych, umożliwia się

A. analizę wybranych danych
B. usuwanie danych z tabel
C. dodawanie danych do tabel
D. aktualizowanie danych w tabelach
Analiza wybranych danych w systemie obsługi relacyjnych baz danych jest kluczowym aspektem raportowania. Umożliwia to zrozumienie wzorców i trendów, co jest niezbędne dla podejmowania świadomych decyzji biznesowych. Poprzez odpowiednie zapytania SQL, użytkownicy mogą selektywnie wybierać dane, które są dla nich istotne, a następnie przetwarzać je w celu generowania raportów. Przykładem może być analiza sprzedaży w danym okresie czasu, co pozwala na identyfikację najlepiej sprzedających się produktów. Praktyczne zastosowanie raportów obejmuje również monitoring efektywności działań marketingowych, co jest zgodne z najlepszymi praktykami w dziedzinie zarządzania danymi. W kontekście standardów branżowych, raportowanie powinno opierać się na zasadzie przejrzystości, co oznacza, że użytkownicy powinni mieć łatwy dostęp do zrozumiałych i czytelnych wyników analizy. Umożliwia to nie tylko identyfikację problemów, ale również wykorzystanie danych do prognozowania i planowania przyszłych działań.

Pytanie 8

W programie Microsoft Access mechanizmem ochrony danych związanym z tabelą i kwerendą jest

A. wykorzystanie makr
B. określanie zakresu tabel
C. przypisanie uprawnień
D. ustalanie limitów przestrzeni na dysku
Przypisanie uprawnień jest kluczowym elementem zarządzania bezpieczeństwem w Microsoft Access, ponieważ pozwala na kontrolowanie, kto ma dostęp do danych w tabelach i kwerendach. W praktyce, administratorzy baz danych mogą definiować, które grupy użytkowników mogą przeglądać, edytować lub usuwać dane. To podejście jest zgodne z zasadą najmniejszych uprawnień, co oznacza, że użytkownicy otrzymują tylko te uprawnienia, które są im niezbędne do wykonywania swoich zadań. Na przykład, jeśli pracownik potrzebuje jedynie przeglądać dane w konkretnej tabeli, administrator może przyznać mu jedynie uprawnienia do odczytu, co minimalizuje ryzyko nieautoryzowanych zmian. Warto także wspomnieć, że przypisanie uprawnień nie ogranicza się tylko do tabel, ale dotyczy również kwerend, formularzy i raportów, co pozwala na szczegółowe zarządzanie dostępem do różnych zasobów systemu. Dobre praktyki w zakresie bezpieczeństwa baz danych zalecają regularne audyty uprawnień, aby upewnić się, że są one nadal odpowiednie do zmieniających się potrzeb organizacji oraz roli użytkowników.

Pytanie 9

Jakie są przykłady standardowych poleceń w języku zapytań SQL, odnoszących się do operacji na danych SQL DML, takich jak wstawianie, usuwanie oraz modyfikacja danych?

A. SELECT, SELECT INTO
B. DENY, GRANT, REVOKE
C. ALTER, CREATE, DROP
D. DELETE, INSERT, UPDATE
Poprawna odpowiedź to DELETE, INSERT, UPDATE, które są podstawowymi poleceniami w języku SQL dla operacji manipulacji danymi (DML, Data Manipulation Language). Polecenie INSERT służy do dodawania nowych rekordów do tabeli, na przykład: 'INSERT INTO pracownicy (imie, nazwisko) VALUES ('Jan', 'Kowalski');'. DELETE umożliwia usunięcie istniejących danych, co można zrealizować poprzez 'DELETE FROM pracownicy WHERE nazwisko = 'Kowalski';', co kasuje rekordy spełniające określony warunek. Natomiast UPDATE pozwala na modyfikację danych w tabeli, na przykład: 'UPDATE pracownicy SET imie = 'Anna' WHERE nazwisko = 'Kowalski';'. Te instrukcje są zgodne z międzynarodowymi standardami SQL i są kluczowe w codziennym zarządzaniu bazami danych, umożliwiając efektywne manipulowanie danymi w różnych systemach zarządzania bazami danych, takich jak MySQL, PostgreSQL czy Microsoft SQL Server.

Pytanie 10

Który z poniższych sposobów na dodawanie komentarzy do kodu nie jest używany w języku PHP?

A. // komentarz
B. # komentarz
C. <!-- komentarz -->
D. /* komentarz */
Komentarze w kodzie PHP są kluczowym aspektem, który wspomaga zrozumienie i utrzymanie kodu. W PHP możemy korzystać z różnych metod komentowania, które są standardowo akceptowane w branży. Użycie # lub // pozwala na tworzenie komentarzy jedno-liniowych, co jest szczególnie przydatne w przypadku krótkich uwag lub przypomnienia o szczególnych funkcjach kodu. Komentarze wielo-liniowe, z kolei, realizowane przy pomocy /* komentarz */ są idealne do bardziej rozbudowanych objaśnień lub do tymczasowego wyłączenia większych bloków kodu podczas testowania. Zastosowanie <!-- komentarz --> jest błędne, ponieważ jest to sposób komentowania stosowany w HTML, a nie w PHP. To mylne powiązanie może prowadzić do nieporozumień i błędów w kodzie, szczególnie dla programistów, którzy pracują z różnymi językami programowania. Kluczowe jest, aby przy pracy z różnymi językami programowania znać specyfikę ich składni oraz standardy. W praktyce, niepoprawne stosowanie komentarzy może skutkować poważnymi problemami w zrozumieniu kodu, co może prowadzić do zwiększenia czasu potrzebnego na jego debugowanie oraz mniejsze zrozumienie między członkami zespołu. W związku z tym, istotne jest, aby programiści byli świadomi różnorodnych konwencji komend oraz ich kontekstu, co jest kluczowe dla skutecznej współpracy i efektywności wszystkich pracujących nad projektem.

Pytanie 11

W tabeli pracownicy utworzono klucz główny typu INTEGER z atrybutami NOT NULL oraz AUTO-INCREMENT. Dodatkowo zdefiniowano pola imie oraz nazwisko. W przypadku użycia przedstawionej w ramce kwerendy SQL wprowadzającej dane, gdzie pominięto pole klucza, w bazie danych MySQL dojdzie do

Ilustracja do pytania
A. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
B. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
C. błędu związane z nieprawidłową liczbą pól
D. zignorowania polecenia, tabela nie ulegnie zmianie
W przypadku bazy danych MySQL, klucz główny zdefiniowany z atrybutem AUTO-INCREMENT pełni ważną funkcję automatycznego przydzielania unikalnych wartości liczbowych dla każdego nowego rekordu. Jest to szczególnie przydatne w dużych bazach danych, gdzie ręczne przypisywanie wartości klucza mogłoby prowadzić do błędów czy konfliktów. W przedstawionym przypadku, query SQL typu INSERT INTO pracownicy (imie, nazwisko) VALUES ('Anna', 'Nowak'); pomija pole klucza głównego. Dzięki zastosowaniu AUTO-INCREMENT, MySQL automatycznie przydzieli nową wartość klucza głównego, która będzie kolejną w sekwencji, zapewniając integralność danych. Tego rodzaju mechanizm jest standardem w zarządzaniu relacyjną bazą danych, co pozwala na efektywne i bezpieczne operowanie danymi bez ryzyka wystąpienia błędów związanych z ręcznym zarządzaniem kluczami. Dobre praktyki sugerują, aby w takich przypadkach polegać na funkcji AUTO-INCREMENT, co nie tylko ułatwia pracę z bazą danych, ale również minimalizuje możliwość wystąpienia duplikatów czy niespójności w danych. To podejście jest szeroko stosowane w branży IT, szczególnie w przypadkach systemów wymagających dużego wolumenu danych.

Pytanie 12

Aby obraz umieszczony za pomocą kodu HTML mógł być rozpoznawany przez programy wspierające osoby niewidome, konieczne jest określenie atrybutu

A. border
B. sizes
C. alt
D. src
Atrybut 'alt' (alternatywny tekst) jest kluczowym elementem w kontekście dostępności stron internetowych, szczególnie dla osób niewidzących. Jego głównym celem jest dostarczenie opisowej informacji o obrazie, który nie może być bezpośrednio widziany. W przypadku obrazów, które nie są widoczne z różnych powodów (np. uszkodzenie pliku, brak połączenia internetowego lub korzystanie z czytników ekranu), tekst alternatywny pomaga zrozumieć kontekst i znaczenie danego obrazu. Przykład zastosowania: dla obrazka przedstawiającego logo firmy, można użyć atrybutu alt w następujący sposób: <img src='logo.png' alt='Logo firmy XYZ'>. W ten sposób, jeśli obrazek nie załadowałby się, użytkownik korzystający z czytnika ekranu otrzyma informację o tym, co ten obraz przedstawia. Definiowanie atrybutu 'alt' jest zgodne z wytycznymi WCAG (Web Content Accessibility Guidelines), które zalecają, aby wszystkie obrazki, które pełnią funkcję informacyjną, były opisane w taki sposób, aby zapewnić pełny dostęp do treści wszystkim użytkownikom. W praktyce takie podejście nie tylko poprawia dostępność, ale również pozytywnie wpływa na SEO, ponieważ wyszukiwarki również analizują ten atrybut.

Pytanie 13

Którą technologię poleca się przy tworzeniu serwisów WWW, tak aby zmiany w treści można było wykonywać bez potrzeby ich kodowania, przez użytkowników bez kompetencji programistycznych?

A. SEO
B. CMS
C. FTP
D. SSL
Prawidłowa odpowiedź to CMS, czyli Content Management System – system zarządzania treścią. W praktyce chodzi o takie oprogramowanie (np. WordPress, Joomla, Drupal), które pozwala edytować stronę WWW przez przeglądarkę, bez dotykania kodu HTML, CSS czy PHP. Użytkownik loguje się do panelu administracyjnego, dostaje prosty edytor przypominający Worda i może dodawać newsy, podstrony, zdjęcia, pliki do pobrania. To dokładnie rozwiązuje problem opisany w pytaniu: zmiany w treści wykonują osoby nietechniczne, a programista przygotowuje tylko szablon i funkcjonalność. Moim zdaniem to jeden z kluczowych standardów w branży – praktycznie każdy profesjonalny serwis firmowy, portal informacyjny, blog czy sklep internetowy stoi na jakimś CMS-ie lub systemie pokrewnym (np. headless CMS). Dzięki temu rozdziela się warstwę prezentacji (frontend) od warstwy treści i logiki biznesowej. Dobra praktyka jest taka, żeby nie „twardo” wpisywać treści w pliki HTML/PHP, tylko trzymać je w bazie danych i udostępniać przez panel CMS. Upraszcza to utrzymanie, pozwala na wersjonowanie treści, pracę kilku redaktorów naraz, zarządzanie uprawnieniami, a nawet planowanie publikacji w czasie. Z mojego doświadczenia, dobrze wdrożony CMS to ogromna oszczędność czasu dla programistów – nie muszą oni za każdym razem poprawiać tekstu czy wymieniać obrazka, tylko skupiają się na rozwoju funkcji. Redaktorzy mogą bez stresu pracować na stagingu, sprawdzać podgląd, korzystać z szablonów bloków, a potem jednym kliknięciem opublikować treść. To też sprzyja zgodności z dobrymi praktykami SEO, bo wiele CMS-ów ma wbudowane moduły do ustawiania meta tagów, przyjaznych adresów URL czy mapy strony.

Pytanie 14

Którą relację w projekcie bazy danych należy ustalić między tabelami widocznymi na ilustracji zakładając, że każdy klient sklepu internetowego dokona przynajmniej dwóch zamówień?

Ilustracja do pytania
A. 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia
B. n:n
C. 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta
D. 1:1
Poprawnie wskazana relacja 1:n (jeden do wielu), gdzie „1” jest po stronie tabeli Klient, a „n” po stronie tabeli Zamówienie, dokładnie odzwierciedla opisany przypadek biznesowy: jeden klient sklepu internetowego może złożyć wiele zamówień, a każde zamówienie należy do jednego, konkretnego klienta. W praktyce projektowania relacyjnych baz danych oznacza to, że w tabeli Zamówienie umieszczamy klucz obcy (np. kolumnę id_klienta), który wskazuje na klucz główny w tabeli Klient (np. id_klienta jako PRIMARY KEY). To jest klasyczny przykład relacji nadrzędny–podrzędny (parent–child). Z mojego doświadczenia w systemach e‑commerce taka struktura jest standardem, bo pozwala łatwo wykonywać typowe kwerendy: wyszukiwanie wszystkich zamówień danego klienta, liczenie wartości zamówień na klienta, analizę historii zakupów. Dodatkowo założenie, że każdy klient dokona co najmniej dwóch zamówień, wpływa na tzw. krotność minimalną po stronie Zamówienia (min 2), ale nie zmienia samego typu relacji – nadal jest to 1:n. W modelu logicznym i fizycznym realizujemy to przez odpowiednie więzy integralności: klucz główny w tabeli Klient i klucz obcy w tabeli Zamówienie z ON DELETE RESTRICT lub CASCADE (w zależności od polityki biznesowej). Taka relacja ułatwia normalizację danych: dane klienta trzymamy w jednym miejscu, unikamy duplikacji w wielu zamówieniach, a w razie zmiany np. adresu e‑mail aktualizujemy tylko jeden rekord. W dobrze zaprojektowanych schematach (np. zgodnych z 3NF) dokładnie tak modeluje się powiązanie Klient–Zamówienie.

Pytanie 15

Wymień dwa sposoby na zabezpieczenie bazy danych Microsoft Access

A. Ustalenie zabezpieczeń na poziomie użytkownika oraz w sesji
B. Ustalanie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika
C. Funkcje anonimowe oraz ustawienie hasła do otwarcia bazy danych
D. Zaszyfrowanie pliku bazy danych oraz wiadomości SMS z kodem autoryzacyjnym
Zabezpieczenie bazy danych Microsoft Access wymaga zastosowania odpowiednich technik, które niestety nie są w pełni reprezentowane w niepoprawnych odpowiedziach. Funkcje anonimowe, choć mogą być używane w kontekście prywatności, nie odpowiadają rzeczywistym potrzebom ochrony bazy danych. Ustalanie hasła otwarcia bazy danych jest dobrym krokiem, ale sama metoda nie wystarcza w przypadku wysoce wrażliwych danych. Nie można opierać bezpieczeństwa wyłącznie na jednym mechanizmie. Zaszyfrowanie pliku bazy danych jest metodą, jednak SMS-y z kodem autoryzującym to błędne podejście, ponieważ nie są one standardowo wspierane w Microsoft Access jako forma zabezpieczenia bazy danych. Powinno się raczej korzystać z bardziej zaawansowanych systemów autoryzacji, które są lepiej zintegrowane z aplikacjami bazodanowymi. Ustalanie zabezpieczeń na poziomie użytkownika i sesji, mimo że teoretycznie mogą wydawać się skuteczne, w praktyce często pomijają kluczowe aspekty zarządzania rolami i uprawnieniami w systemach bazodanowych. To prowadzi do ryzyka nieautoryzowanego dostępu, jeśli nie zostaną spełnione odpowiednie normy zabezpieczeń. Warto zwrócić uwagę na metodologię zarządzania dostępem, która powinna być zgodna z zaleceniami branżowymi oraz regulacjami prawnymi dotyczącymi ochrony danych, takimi jak RODO.

Pytanie 16

Metoda w języku PHP, która pełni rolę konstruktora, nosi nazwę

A. _create
B. _new
C. _open
D. _construct
Wybór innych opcji jako nazw konstruktorów w PHP zdradza pewne nieporozumienia co do zasad programowania obiektowego oraz właściwego użycia specjalnych metod w tym języku. Opcja _open sugeruje, że konstruktor mógłby być nazwany w sposób, który sugerowałby otwieranie zasobów, co nie jest zgodne z konwencją. W PHP nie istnieje funkcja o takiej nazwie, co może prowadzić do błędów w kodzie. Z kolei _new kojarzy się z procesem tworzenia instancji obiektów, jednak w PHP nie jest to odpowiednia nazwa dla konstruktora, ponieważ _new nie jest zdefiniowane jako metoda. Może to wprowadzać w błąd, sugerując, że istnieje alternatywna metoda do tworzenia obiektów, podczas gdy w rzeczywistości odpowiedzialna za to jest konstrukcja `new`. Ostatnia opcja, _create, również wprowadza nieporozumienie, sugerując, że istnieje metoda, która specjalizuje się w tworzeniu obiektów, co nie jest zgodne z konwencjami PHP. W kontekście dobrych praktyk programistycznych kluczowe jest, aby być świadomym poprawnych konwencji nazw oraz ich znaczenia w programowaniu obiektowym. Prawidłowa implementacja konstruktora i znajomość jego nazwy są fundamentalne dla prawidłowego zarządzania obiektami oraz ich właściwościami w kodzie.

Pytanie 17

Jeżeli rozmiar pliku graficznego jest zbyt duży do publikacji w sieci, co należy zrobić?

A. dodać kanał alfa
B. zmniejszyć jego rozdzielczość
C. zwiększyć jego głębię kolorów
D. zapisać w formacie BMP
Zmniejszenie rozdzielczości pliku graficznego jest jedną z najskuteczniejszych metod na zmniejszenie jego rozmiaru, co jest niezwykle ważne w kontekście publikacji w Internecie. Rozdzielczość obrazu odnosi się do liczby pikseli, które składają się na dany obraz, wyrażoną zazwyczaj w pikselach na cal (PPI) lub w całkowitej liczbie pikseli w szerokości i wysokości. Zmniejszając rozdzielczość, obniżamy liczbę pikseli, co w efekcie prowadzi do mniejszego rozmiaru pliku. Na przykład, obraz o rozdzielczości 4000x3000 pikseli ma 12 milionów pikseli, podczas gdy obraz o rozdzielczości 2000x1500 pikseli zaledwie 3 miliony pikseli. Oprócz zmniejszenia rozdzielczości, można również zastosować inne techniki kompresji, takie jak zmiana formatu pliku na JPEG, który jest bardziej efektywny w kompresji zdjęć, a także wykorzystanie narzędzi do optymalizacji grafiki, takich jak TinyPNG czy ImageOptim. Zmniejszając rozdzielczość, należy jednak pamiętać o zachowaniu odpowiedniej jakości obrazu, aby nie wpłynęło to negatywnie na jego czytelność i estetykę, co jest kluczowe w kontekście publikacji online.

Pytanie 18

Którego polecenia JavaScript należy użyć, aby w oknie przeglądarki wyświetliło się okno przedstawione na obrazie?

Ilustracja do pytania
A. prompt(’Ile masz lat?’)
B. confirm(’Ile masz lat?’)
C. document.write(’Ile masz lat?’)
D. alert(’Ile masz lat?’)
W tym zadaniu chodzi o rozróżnienie trzech podstawowych funkcji okien dialogowych w JavaScript i zwykłego wypisywania tekstu w dokumencie. Obrazek pokazuje okno z polem do wprowadzania danych, przyciskiem „OK” i przyciskiem „Anuluj”. Takie zachowanie zapewnia tylko funkcja prompt(). Częsty błąd polega na wrzucaniu do jednego worka wszystkich „wyskakujących okienek” i traktowaniu alert(), confirm() i prompt() jak równoważnych, a one pełnią różne role w interakcji z użytkownikiem. alert('Ile masz lat?') tworzy wyłącznie prosty komunikat z jednym przyciskiem, zazwyczaj „OK”. Nie ma żadnego pola tekstowego, nie można nic wpisać, a funkcja nie służy do pobierania danych od użytkownika, tylko do informowania go o czymś lub debugowania. W testach i zadaniach szkolnych mylenie alert z prompt wynika często z tego, że widać po prostu „popup” i tyle, bez zwracania uwagi na szczegóły interfejsu. confirm('Ile masz lat?') również nie jest poprawne, bo confirm tworzy okno z dwoma przyciskami (np. „OK” i „Anuluj” lub „Tak” i „Nie”), ale bez pola edycji. Zwraca wartość logiczną true/false w zależności od tego, który przycisk został kliknięty. Używa się go do prostych pytań typu „Czy na pewno chcesz usunąć plik?”, a nie do wpisywania konkretnej odpowiedzi tekstowej. Ostatnia propozycja, document.write('Ile masz lat?'), w ogóle nie tworzy okna dialogowego. To polecenie po prostu wpisuje podany tekst bezpośrednio do dokumentu HTML. Co gorsza, wywołane po załadowaniu strony nadpisuje całą zawartość dokumentu, więc w praktyce jest uznawane za złą praktykę i w nowoczesnym kodzie raczej się go unika. Jeśli chcemy wyświetlać treść na stronie, stosuje się manipulację DOM, np. element.textContent, innerHTML czy nowoczesne frameworki. Kluczowe jest więc kojarzenie: alert – tylko komunikat, confirm – wybór tak/nie, prompt – pytanie z polem do wpisania danych. Świadome rozróżnianie tych funkcji to podstawa dalszej pracy z interfejsem użytkownika w JavaScript i fundament do późniejszego tworzenia własnych, bardziej zaawansowanych komponentów dialogowych.

Pytanie 19

Globalne zmienne do przechowywania informacji o ciasteczkach oraz sesjach: $_COOKIE oraz $_SESSION stanowią część języka

A. C#
B. PHP
C. JavaScript
D. Perl
Odpowiedź PHP jest prawidłowa, ponieważ $_COOKIE i $_SESSION to superglobalne tablice w tym języku, które są wykorzystywane do zarządzania danymi sesyjnymi oraz ciasteczkami. $_COOKIE umożliwia przechowywanie danych na komputerze użytkownika w formie ciasteczek, które mogą być odczytywane przez serwer przy każdym żądaniu. Ciasteczka mogą być używane do identyfikacji użytkownika, zapamiętywania preferencji lub sesji. Przykładowe zastosowanie to np. pamiętanie, czy użytkownik jest zalogowany oraz jakie preferencje dotyczące wyświetlania treści ustawił. Z kolei $_SESSION jest używane do przechowywania danych sesji na serwerze, co zapewnia większe bezpieczeństwo, ponieważ dane nie są również dostępne po stronie klienta. Przykładem zastosowania $_SESSION jest przechowywanie informacji o użytkowniku, takich jak jego identyfikator, które mogą być używane do autoryzacji w różnych częściach aplikacji. W obu przypadkach, przy użyciu tych mechanizmów, programiści muszą pamiętać o optymalizacji wydajności oraz przestrzeganiu zasad ochrony prywatności użytkowników, co jest kluczowe w kontekście aktualnych regulacji dotyczących danych osobowych.

Pytanie 20

Który z elementów relacyjnej bazy danych, będący kodem w języku SQL, może być użyty w zapytaniach zmieniających kolumny danych przedstawiane w formie tabeli, niezależnie od tego, czy jest tworzony ręcznie, czy też dynamicznie?

A. Wyzwalacz
B. Procedura składowa
C. Funkcja zdefiniowana
D. Reguła
Reguła, wyzwalacz oraz procedura składowa to inne obiekty, które jednak nie spełniają wymogów opisanych w pytaniu. Reguły, które są defektem w SQL, pozwalają na określenie, jak dane powinny być modyfikowane, ale są mniej elastyczne i nie pozwalają na dynamiczne przetwarzanie. Nie są one już powszechnie używane w nowoczesnych systemach zarządzania bazami danych (DBMS), ze względu na problemy z wydajnością i zrozumiałością kodu. Wyzwalacze to mechanizmy uruchamiane automatycznie w odpowiedzi na określone operacje na danych, takie jak INSERT, UPDATE lub DELETE. Chociaż wyzwalacze mogą być przydatne do automatycznego przetwarzania danych, nie mogą być wywoływane bezpośrednio w zapytaniach SQL, co ogranicza ich zastosowanie w przypadku złożonych logik. Procedura składowa natomiast, choć może zawierać logikę modyfikacji danych i być wywoływana w odpowiedzi na określone zdarzenia, jest zdefiniowana jako zestaw instrukcji, który nie zwraca wartości ani nie może być używana bezpośrednio w zapytaniach modyfikujących kolumny danych. Procedury składowe są bardziej złożone, a ich wywołanie często wymaga dodatkowych parametrów oraz kontekstu, co czyni je mniej odpowiednimi w sytuacjach, w których potrzebna jest prostota i elastyczność.

Pytanie 21

Jakiego języka skryptowego ogólnego zastosowania powinno się użyć do tworzenia aplikacji internetowych, które są zintegrowane z HTML i działają na serwerze?

A. C#
B. Perl
C. PHP
D. JavaScript
PHP (Hypertext Preprocessor) to język skryptowy ogólnego przeznaczenia, który został zaprojektowany do tworzenia dynamicznych stron internetowych, co czyni go idealnym rozwiązaniem do budowy aplikacji webowych. Jako język uruchamiany po stronie serwera, PHP generuje HTML, który jest następnie przesyłany do przeglądarki użytkownika, co pozwala na interakcję z bazami danych, sesjami użytkowników i innymi elementami. Dzięki bogatej bibliotece funkcji oraz rozbudowanej społeczności, PHP jest często wykorzystywany w aplikacjach takich jak WordPress, Drupal czy Joomla. Ponadto, PHP wspiera różnorodne bazy danych, w tym MySQL, co umożliwia tworzenie zaawansowanych aplikacji zintegrowanych z danymi. Przykładem dobrych praktyk w PHP jest stosowanie wzorców projektowych, takich jak MVC (Model-View-Controller), które zwiększają czytelność i modularność kodu. Dzięki temu, programiści mogą łatwiej utrzymywać i rozwijać aplikacje, co jest kluczowe w dynamicznie zmieniającym się świecie technologii webowych.

Pytanie 22

Rezultatem działania zamieszczonej pętli napisanej w języku PHP jest wypisanie następujących liczb

Ilustracja do pytania
A. od 10 do 1
B. od 1 do 10
C. od 2 do 10
D. od 10 do 2
Pętla for w języku PHP przedstawiona w pytaniu zaczyna od wartości początkowej 10 dla zmiennej iteracyjnej $i. Warunek zakończenia pętli to $i >= 1, co oznacza że pętla będzie działać dopóki wartość $i jest większa lub równa 1. W każdym kroku iteracji następuje dekrementacja zmiennej $i o 1 dzięki operatorowi $i--. W praktyce oznacza to że pętla wypisuje wartości od 10 do 1 w kolejnych liniach. Dekrementacja w pętlach jest często stosowana, kiedy chcemy przechodzić przez elementy w odwrotnej kolejności, co jest przydatne w algorytmach sortowania bądź odwracania danych. Dzięki jasnemu określeniu warunków początkowych, końcowych oraz kroku iteracji pętla for jest jednym z bardziej przejrzystych i zrozumiałych narzędzi w programowaniu. Warto pamiętać o optymalizacji kodu i unikanie nadmiernych iteracji, co jest dobrym standardem w praktykach programistycznych, zwłaszcza w projektach o dużej skali. Pisząc bardziej złożone skrypty, należy pamiętać także o możliwości wystąpienia błędów związanych z nieskończonymi pętlami jeśli warunek zakończenia nie jest poprawnie zdefiniowany.

Pytanie 23

Który z poniższych wpisów w dokumencie HTML umożliwia połączenie z zewnętrznym arkuszem stylów o nazwie style.css?

A. <link rel="stylesheet" href="/style.css">
B. <a src="/style.css">
C. <a href="/style.css">
D. <link rel="stylesheet' src="/style.css">
Czyli tak, zapis <link rel="stylesheet" href="/style.css"> to rzeczywiście dobry sposób na dodanie arkusza stylów zewnętrznych do HTML-a. Element <link> jest super dołączany do zewnętrznych zasobów, a ten atrybut rel mówi przeglądarce, co tak naprawdę dołączamy – w tym wypadku arkusz stylów CSS. Jak ustalamy rel="stylesheet", to mówimy przeglądarce: hej, ten plik to CSS. A atrybut href? No, on wskazuje, gdzie ten plik się znajduje, tutaj to będzie style.css w głównym katalogu serwera. Fajnie jest mieć zewnętrzne arkusze stylów, ponieważ to uporządkowuje nam kod. Możemy zmieniać style w jednym pliku, a nie bawić się w edytowanie każdej strony z osobna. Dodatkowo, przeglądarki mogą buforować te pliki, co przyspiesza ładowanie. No i nie zapominaj o dobrej organizacji plików i sensownych nazwach – to naprawdę ułatwia późniejsze życie z projektem.

Pytanie 24

W HTML, aby utworzyć hiperłącze, które otworzy się w nowej karcie przeglądarki, należy użyć atrybutu

A. target = "_new"
B. target = "_blank"
C. rel = "external"
D. rel = "prev"
Atrybut target="_blank" to standard w HTML, który pozwala otwierać linki w nowej karcie przeglądarki. W praktyce jest to bardzo popularne rozwiązanie, bo dzięki temu użytkownik może sobie przeglądać stronę, a jednocześnie otworzyć coś nowego. Działa to tak, że jeśli dodasz ten atrybut do linku, przeglądarka po prostu otworzy go w nowej karcie lub oknie - to już zależy od ustawień. To naprawdę przydaje się, gdy linkujesz do dokumentacji, stron zewnętrznych albo mediów społecznościowych, gdzie chcesz, żeby użytkownik nie musiał zamykać tego, co aktualnie ogląda. Ale uwaga! Trzeba z tym atrybutem uważać i stosować go z głową, bo czasem lepiej dać użytkownikowi wybór, czy chce otworzyć link w nowej karcie, czy nie, żeby nie czuł się zdezorientowany.

Pytanie 25

Dana jest tabela firmy zawierająca następujące kolumny: nazwa, adres, NIP, obrot (obrót w ostatnim miesiącu), rozliczenie, status. Wykonanie kwerendy SQL SELECT sprawi, że zostaną wyświetlone

SELECT nazwa, NIP FROM firmy WHERE obrot < 4000;
A. jedynie nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót co najmniej 4000 zł.
B. wszystkie dane firm, które w ostatnim miesiącu miały obrót mniejszy niż 4000 zł.
C. jedynie nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót mniejszy niż 4000 zł.
D. wszystkie dane firm, które w ostatnim miesiącu miały obrót co najmniej 4000 zł.
Twoja odpowiedź jest poprawna. Przy wykonywaniu zapytań SQL często wybieramy nie wszystkie, a jedynie niektóre kolumny z tabeli. W tym przypadku, pytanie dotyczyło wybrania tylko nazwy i NIPu firm, które w ostatnim miesiącu miały obrót mniejszy niż 4000 zł. Do realizacji tego zadania użyliśmy kwerendy SELECT z określeniem kolumn oraz warunku w klauzuli WHERE. Jest to częsty scenariusz w praktyce, gdy potrzebujemy wyfiltrować dane według określonych kryteriów. Ważne jest zrozumienie, że instrukcja SELECT jest używana do wybrania jednej lub wielu kolumn, które chcemy zobaczyć w wynikach, a klauzula WHERE służy do definiowania warunków, które muszą spełniać dane wyświetlane w wynikach.

Pytanie 26

W języku PHP do zmiennej a przypisano tekst, w którym słowo Kowalski pojawia się wielokrotnie. Aby jednym poleceniem zamienić wszystkie wystąpienia słowa Kowalski na słowo Nowak, trzeba użyć polecenia

A. $a = str_rep('Kowalski','Nowak',$a);
B. $a = str_replace('Nowak', 'Kowalski',$a);
C. $a = str_replace('Nowak','Kowalski');
D. $a = str_replace('Kowalski','Nowak',$a);
Pierwsza odpowiedź jest nieprawidłowa, ponieważ funkcja str_rep nie istnieje w PHP. Wszelkie próby użycia takiego polecenia skutkują błędami, ponieważ PHP nie rozpoznaje tej funkcji. Zrozumienie właściwych nazw funkcji oraz ich składni jest kluczowe w programowaniu, aby uniknąć błędów. W drugiej odpowiedzi, funkcja str_replace została wywołana z niewłaściwymi parametrami, ponieważ brakuje trzeciego argumentu, który jest wymagany do zdefiniowania zmiennej, w której dokonujemy zamiany. Nieprawidłowe podejście do składni funkcji prowadzi do nieefektywnego kodu. Kolejna odpowiedź, w której zamieniamy 'Nowak' na 'Kowalski', także jest błędna, ponieważ nie spełnia celu zamiany wskazanego w pytaniu. Całkowicie odwrotne podejście do problemu może prowadzić do wprowadzenia błędnych danych. Warto zwrócić uwagę, że typowe błędy myślowe, takie jak nieprawidłowe przypisanie argumentów funkcji, mogą wynikać z braku znajomości dokumentacji lub niewłaściwego zrozumienia działania funkcji. Ostatecznie, kluczem do skutecznego programowania jest nie tylko znajomość składni, ale także umiejętność analizy i testowania kodu, co można osiągnąć poprzez praktykę oraz korzystanie z zasobów edukacyjnych.

Pytanie 27

W skrypcie napisanym w języku PHP należy przeprowadzić operacje, gdy spełniony jest warunek, że adresy są parzystymi numerami na ulicach: Bratkowej oraz Nasturcjowej. Jakie wyrażenie logiczne to określa?

A. ($ulica == "Bratkowa" || $ulica == "Nasturcjowa") && $numer % 2 == 0
B. $ulica == "Bratkowa" && $ulica == "Nasturcjowa" && $numer % 2 == 0
C. ($ulica == "Bratkowa" || $ulica == "Nasturcjowa") && $numer / 2 == 0
D. $ulica == "Bratkowa" && $ulica == "Nasturcjowa" && $numer / 2 == 0
Wyrażenie logiczne ($ulica == "Bratkowa" || $ulica == "Nasturcjowa") && $numer % 2 == 0 jest poprawne, ponieważ łączy dwa istotne warunki: sprawdzenie, czy ulica jest jedną z dozwolonych (Bratkowa lub Nasturcjowa) oraz weryfikacja, czy numer adresu jest parzysty. Operator || (lub) skutkuje tym, że tylko jeden z warunków ulicy musi być prawdziwy, aby wyrażenie było spełnione. Z kolei operator % (modulo) skutkuje sprawdzeniem reszty z dzielenia przez 2, co jest standardowym podejściem do ustalania, czy liczba jest parzysta. W kontekście programowania w PHP, takie konstrukcje są powszechnie używane w celu walidacji danych wejściowych. Na przykład w formularzach rejestracyjnych, aby upewnić się, że użytkownik wprowadza prawidłowe informacje, można zastosować podobne wyrażenia. Warto również zauważyć, że jest to zgodne z dobrymi praktykami programowania, które zachęcają do stosowania czytelnych i zrozumiałych warunków logicznych, co ułatwia późniejsze utrzymanie kodu i jego rozbudowę.

Pytanie 28

Który z poniższych formatów plików nie jest używany do publikacji grafiki lub animacji w internecie?

A. SWF
B. AIFF
C. PNG
D. SVG
Format AIFF (Audio Interchange File Format) jest standardowym formatem plików audio stworzonym przez firmę Apple. Został zaprojektowany do przechowywania danych dźwiękowych i nie jest przeznaczony do publikacji grafiki ani animacji na stronach internetowych. W przeciwieństwie do formatów takich jak PNG, SWF czy SVG, które są powszechnie używane w kontekście grafiki i multimediów, AIFF koncentruje się na audio. Format PNG (Portable Network Graphics) jest popularnym formatem rastrowym, który obsługuje przezroczystość i kompresję bezstratną, co czyni go idealnym do obrazów w sieci. SWF (Shockwave Flash) to format plików wykorzystywany do animacji i interaktywnych aplikacji w Adobe Flash, a SVG (Scalable Vector Graphics) to wektorowy format grafiki, który pozwala na skalowanie bez utraty jakości. AIFF nie ma zastosowania w tych obszarach, co czyni go odpowiedzią, której szukamy.

Pytanie 29

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. td, th { background-color: Pink; }
B. tr:active { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. tr { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 30

Na przedstawionym obrazie widać wynik formatowania przy użyciu styli CSS oraz kod HTML, który go generuje. Przy założeniu, że marginesy wewnętrzne wynoszą 50 px, a zewnętrzne 20 px, jak wygląda styl CSS dla tego obrazu?

Ilustracja do pytania
A. Rys. A
B. Rys. C
C. Rys. B
D. Rys. D
Poprawna odpowiedź, Rys. C, przedstawia styl CSS, który prawidłowo definiuje marginesy i marginesy wewnętrzne obrazu. W tym przypadku margines wewnętrzny wynosi 50px, a zewnętrzny 20px, co jest zgodne z wymaganiami zawartymi w pytaniu. Kod CSS zawiera solidną linię graniczną o wartości 4px w kolorze czarnym, co jest dobrze praktykowane w projektowaniu stron internetowych, ponieważ solidna linia jest bardziej widoczna i profesjonalna niż linia przerywana. Kolor tła teal zapewnia atrakcyjny kontrast. Zastosowanie właściwego marginesu i marginesu wewnętrznego jest kluczowe w tworzeniu responsywnych układów, które są teraz standardem w branży. Poprawne ustawienie tych parametrów zapewnia estetyczny wygląd oraz prawidłowe rozmieszczenie elementów na stronie. Praktyczne zastosowanie tej wiedzy obejmuje projektowanie layoutów w CSS Grid czy Flexbox, gdzie marginesy i marginesy wewnętrzne pełnią kluczową rolę w zarządzaniu przestrzenią elementów. Właściwe wykorzystanie tych stylów wspiera tworzenie stron zgodnych ze standardami W3C, co jest fundamentem profesjonalnego web developmentu.

Pytanie 31

Jakie zapytanie SQL umożliwi wyszukanie z podanej tabeli tylko imion i nazwisk pacjentów, którzy przyszli na świat przed rokiem 2002?

Ilustracja do pytania
A. SELECT imie, nazwisko FROM Pacjenci WHERE data_ostatniej_wizyty < 2002
B. SELECT * FROM Pacjenci WHERE rok_urodzenia <= 2002
C. SELECT * FROM Pacjenci WHERE rok_urodzenia LIKE 2002
D. SELECT imie, nazwisko FROM Pacjenci WHERE rok_urodzenia < 2002
To zapytanie SQL, które napisałeś, czyli SELECT imie, nazwisko FROM Pacjenci WHERE rok_urodzenia < 2002, jest całkiem trafione. Po pierwsze, używasz operatora SELECT, żeby wskazać, jakie kolumny chcesz zwrócić - czyli imię i nazwisko. To jest dokładnie to, co było potrzebne. Po drugie, warunek WHERE z rokiem urodzenia zapewnia, że do wyników dostają się tylko pacjenci, którzy przyszli na świat przed 2002 rokiem. No i to jest ważne, bo masz tutaj operator mniejszości <, który wyklucza sam rok 2002. Takie podejście jest super przydatne w bazach danych, bo pozwala na filtrowanie informacji w oparciu o lata, co często wykorzystuje się w raportach i analizach. Generalnie, dobre praktyki w SQL mówią, że warto precyzyjnie określać, jakie kolumny chcesz uwzględnić, bo to pomaga odciążyć system i zrobione zapytanie będzie działać wydajniej. Twoje zapytanie nie tylko spełnia wymagania, ale także jest optymalne, co jest naprawdę istotne w pracy z bazami danych.

Pytanie 32

Ile razy należy wprowadzić instrukcję warunkową, aby zrealizować przedstawiony algorytm w danym języku programowania?

Ilustracja do pytania
A. Dwa razy.
B. Cztery razy.
C. Raz.
D. Trzy razy.
Instrukcja warunkowa jest kluczowym elementem w programowaniu, pozwalającym na podejmowanie decyzji w trakcie wykonywania programu. W algorytmie przedstawionym na diagramie, widzimy dwie sytuacje, w których możliwe są różne ścieżki działania w zależności od spełnienia określonych warunków. Każda z tych sytuacji wymaga użycia instrukcji warunkowej w kodzie. W praktyce, oznacza to konieczność zapisania instrukcji takich jak if-else dwa razy, aby poprawnie odwzorować logikę algorytmu. Jest to zgodne ze standardami programowania, które promują klarowność i czytelność kodu. Stosowanie instrukcji warunkowych umożliwia optymalizację przepływu sterowania, co jest istotne dla efektywności i wydajności programów. Przykład z życia codziennego to system zarządzania ruchem sygnalizacji świetlnej, który używa wielu instrukcji warunkowych do reagowania na zmienne warunki ruchu. Zrozumienie, gdzie i jak zastosować instrukcje warunkowe, jest kluczowe dla tworzenia elastycznych i skalowalnych rozwiązań programistycznych. Ważne jest także stosowanie dobrych praktyk, takich jak unikanie nadmiernego zagnieżdżania instrukcji, co wpływa na czytelność i utrzymywalność kodu.

Pytanie 33

W języku CSS zdefiniowano style dla znacznika h1 zgodnie z podanym wzorem. Przy założeniu, że żadne inne style nie są zastosowane do znacznika h1, wskaż właściwy sposób stylizacji tego elementu

Ilustracja do pytania
A. A
B. D
C. C
D. B
Odpowiedź C jest prawidłowa, ponieważ zastosowane style CSS poprawnie odzwierciedlają zasady formatowania zdefiniowane w pytaniu. Styl font-style: oblique; powoduje, że tekst jest pochylony, ale nie jest to zwykła kursywa używana w normalnym tekście. Oblique jest bardziej subtelne i mniej formalne. Font-variant: small-caps; przekształca małe litery w małe kapitaliki, co nadaje tekstowi bardziej formalny i elegancki wygląd. Jest to użyteczne w nagłówkach, które często wymagają wyrazistości i czytelności. Text-align: right; wyrównuje tekst do prawej, co może być stosowane do tworzenia asymetrycznych, nowoczesnych projektów stron internetowych. Takie formatowanie stosowane jest dla zwiększenia czytelności lub dostosowania tekstu do innych elementów strony. Właściwe stosowanie CSS pozwala na pełne kontrolowanie wyglądu i prezentacji treści, co jest kluczowe w profesjonalnym tworzeniu stron internetowych. Przykładowo, użycie oblique i small-caps może być stosowane w projektach graficznych, takich jak logotypy, gdzie pożądany jest specyficzny styl wizualny. Dobre praktyki w CSS to unikanie nadmiernego użycia stylów, które mogą wpłynąć negatywnie na dostępność i użyteczność strony. W tym kontekście, wybrane style są skutecznie zastosowane, zapewniając zarówno estetykę, jak i funkcjonalność.

Pytanie 34

W kodzie JavaScript aby wywołać okno z polem do wprowadzania danych i przyciskami OK i ANULUJ, należy zastosować metodę

A. confirm();
B. alert();
C. message();
D. prompt();
W tym zadaniu wszystko kręci się wokół trzech podstawowych funkcji dialogowych JavaScriptu: alert(), confirm() i prompt(). Bardzo łatwo je ze sobą pomylić, bo wszystkie wywołują okienka przeglądarkowe i na pierwszy rzut oka wyglądają podobnie. Jednak ich przeznaczenie jest inne i warto to sobie raz porządnie poukładać w głowie. alert() służy wyłącznie do wyświetlenia komunikatu. Pokazuje okno z tekstem i jednym przyciskiem OK. Nie ma żadnego pola do wpisywania danych, nie zwraca też żadnej wartości od użytkownika – po prostu informuje. Typowe użycie to komunikaty ostrzegawcze albo bardzo proste debugowanie na początku nauki. Jeśli ktoś wybierze alert() przy pytaniu o wprowadzanie danych, to zwykle dlatego, że kojarzy „okienko w przeglądarce” właśnie z alertem, bo to najczęściej pokazywany przykład. confirm() to trochę inna bajka. To okno z komunikatem i dwoma przyciskami: OK i Anuluj. Ta funkcja zwraca wartość typu boolean: true dla OK, false dla Anuluj. Używa się jej, gdy chcesz zapytać użytkownika o potwierdzenie jakiejś akcji, np. „Czy na pewno chcesz usunąć ten rekord?”. I tu pojawia się częsty błąd: skoro są dwa przyciski, to wielu osobom wydaje się, że to jest dokładnie to, o co chodzi w pytaniu. Brakuje jednak kluczowego elementu – pola tekstowego do wpisania danych. confirm() niczego nie pobiera, jedynie pyta o decyzję tak/nie. Z kolei message() w ogóle nie jest standardową funkcją w JavaScripcie. Jeśli ktoś ją wybierze, to zwykle wynika to z domysłu na zasadzie „brzmi sensownie”. W specyfikacji ECMAScript nie ma takiej wbudowanej metody, więc w normalnym kodzie przeglądarkowym jej użycie zakończy się błędem ReferenceError. Tego typu odpowiedzi uczą, żeby nie zgadywać po nazwie, tylko kojarzyć konkretne funkcje z ich działaniem. Podsumowując, jedyna funkcja, która łączy w sobie pole tekstowe oraz przyciski OK i Anuluj, to prompt(). alert() tylko informuje, confirm() tylko pyta o potwierdzenie, a message() po prostu nie istnieje jako standardowa metoda. Typowy błąd myślowy polega na skupieniu się na samych przyciskach i pominięciu wymogu „pola do wprowadzania danych”, które jest tutaj kluczowe z punktu widzenia logiki języka JavaScript i sposobu komunikacji z użytkownikiem.

Pytanie 35

Na ilustracji przedstawiono kompozycję bloków strony www. Który z elementów formatowania strony odpowiada temu układowi? (Dla uproszczenia pominięto właściwości dotyczące koloru tła, wysokości oraz czcionki)

Ilustracja do pytania
A. Odpowiedź 2: B
B. Odpowiedź 1: A
C. Odpowiedź 3: C
D. Odpowiedź 4: D
Jeśli chodzi o inne odpowiedzi, to niestety mają spore błędy. W odpowiedzi A zastosowano clear:both dla drugiego bloku, co sprawia, że ten blok wyląduje poniżej pierwszego, a nie obok. To uniemożliwia uzyskanie układu wielokolumnowego, a to dość powszechny błąd, gdy korzysta się z float. Z kolei odpowiedź C całkowicie pomija użycie float, ustawiając tylko szerokość elementów. Bez float lub innego sposobu na układ w poziomie, elementy będą się ustawiać jeden pod drugim, co nie jest tym, czego byśmy chcieli. Odpowiedź D używa float dla bloku czwartego, co sprawia, że wyświetli się obok pierwszych bloków, zamiast pod nimi, co burzy strukturę strony. Takie błędne użycie CSS prowadzi do chaosu wizualnego i utrudnia nawigację użytkownikowi, a w perspektywie przyszłego zarządzania kodem HTML i CSS może być kłopotliwe. Dlatego warto zrozumieć, jak działają właściwości float i clear oraz ich interakcje w kontekście całego układu, co jest istotne w projektach, które chcą być przejrzyste i responsywne.

Pytanie 36

Przedstawiona jest tabela pracownicy, w której umieszczono rekordy widoczne obok. Jaką wartość zwróci wykonanie umieszczonej w ramce kwerendy SQL?

SELECT MAX(pensja) FROM pracownicy WHERE pensja < 3000;
idimienazwiskopensja
1AnnaKowalska3400
2MonikaNowak1300
3EwelinaNowakowska2600
4AnnaPrzybylska4600
5MariaKowal2200
6EwaNowacka5400
A. 2200
B. 5400
C. 1300
D. 2600
Kwerenda SQL SELECT MAX(pensja) FROM pracownicy WHERE pensja < 3000; służy do znalezienia maksymalnej wartości w kolumnie pensja z rekordów spełniających warunek pensja mniejsza niż 3000. Przeszukując tabelę pracownicy widzimy że wartości spełniające ten warunek to 1300 2600 i 2200. Najwyższą z tych wartości jest 2600 co czyni tę odpowiedź poprawną. Zrozumienie tego typu kwerend SQL jest kluczowe w pracy z bazami danych ponieważ pozwala na wyciąganie konkretnych informacji z dużych zbiorów danych. W praktyce takie zapytania mogą być używane do analizowania danych pracowniczych w firmach gdzie na przykład chcemy zidentyfikować pracowników z wynagrodzeniem poniżej określonego progu. Jest to zgodne z dobrymi praktykami w branży gdzie używa się agregacji danych do celów analitycznych. Zrozumienie jak działa funkcja MAX() w połączeniu z klauzulą WHERE umożliwia efektywne filtrowanie i przetwarzanie danych co jest niezbędne w wielu aplikacjach biznesowych.

Pytanie 37

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

$a = 1; $a++; $a += 10; --$a;
A. 12
B. 11
C. 1
D. 10
Niepoprawna odpowiedź, ale nie przejmuj się, pomyłki zdarzają się. W tym przypadku warto zrozumieć, jak działają operacje matematyczne w języku PHP. W kodzie PHP, kiedy mamy sekwencję operacji, są one wykonywane od lewej do prawej. Najpierw inicjalizujemy zmienną wartością 1, następnie zwiększamy tę wartość o 1 (co daje nam 2), dodajemy do niej 10 (co daje nam 12), a na końcu pomniejszamy tę wartość o 1 (co daje nam 11). Jeśli wybrałeś odpowiedź 12, to być może pominąłeś ostatnią operację, którą jest odjęcie 1. Jeśli wybrałeś odpowiedź 10, to prawdopodobnie zignorowałeś operację dodawania 10. A jeśli wybrałeś odpowiedź 1, to być może nie zrozumiałeś, że operacje są wykonane sekwencyjnie, a nie izolowane.

Pytanie 38

Jaki znacznik powinien być zastosowany, aby wprowadzić nową linię tekstu bez tworzenia akapitu w dokumencie internetowym?

A. </br>
B. </b>
C. <br>
D. <p>
Znak <br> jest używany w HTML do wstawiania przełamania linii w tekstach, co pozwala na kontynuację pisania w tym samym akapicie bez jego formalnego kończenia. Jest to element blokowy, który nie tworzy nowego akapitu, co jest istotne w kontekście układu strony i czytelności tekstu. Przykładem zastosowania może być sytuacja, gdy chcemy umieścić kilka zdań w jednej sekcji, ale z pewnymi odstępami między nimi, na przykład: 'To jest pierwsze zdanie.<br>To jest drugie zdanie, które zaczyna się w nowej linii, ale nie jest nowym akapitem.' Zastosowanie znacznika <br> jest zgodne z zasadami semantyki HTML i sprzyja tworzeniu czytelnych i dobrze zorganizowanych treści. Praktyki branżowe zalecają stosowanie tego znacznika głównie w kontekście formatowania tekstu, w którym istotne jest zachowanie ciągłości akapitu oraz uniknięcie zbędnych przerw w treści.

Pytanie 39

Który z wymienionych systemów nie należy do systemów CMS?

A. Joomla!
B. WordPress
C. Drupal
D. Adobe Flash
Adobe Flash to platforma do tworzenia animacji oraz interaktywnych aplikacji internetowych, a nie system zarządzania treścią (CMS). CMS to oprogramowanie, które umożliwia użytkownikom łatwe tworzenie, zarządzanie i publikowanie treści na stronach internetowych bez potrzeby znajomości języków programowania. Flash, stworzony przez firmę Adobe, był wykorzystywany głównie do animacji, gier i aplikacji multimedialnych w sieci, ale nie oferował funkcji typowych dla systemów CMS, takich jak zarządzanie bazą danych, szeregowanie treści czy obsługa użytkowników. Przykłady popularnych CMS-ów to WordPress, który dominuje wśród blogów i prostych stron internetowych, Joomla! znany z elastyczności i szerokich możliwości, oraz Drupal, który zapewnia zaawansowane funkcje dla większych i bardziej skomplikowanych projektów. Użytkownicy mogą łatwo edytować treści, zmieniać układ strony, dodawać nowe funkcjonalności poprzez wtyczki i modyfikować szablony bez potrzeby kodowania, co jest głównym powodem, dla którego CMS-y stały się tak popularne wśród osób nieposiadających umiejętności programistycznych.

Pytanie 40

Kolor reprezentowany w formacie heksadecymalnym #0000FF to

A. czarny
B. niebieski
C. czerwony
D. zielony
Kolor zapisany w notacji heksadecymalnej #0000FF to odcień niebieskiego. Notacja heksadecymalna jest powszechnie stosowana w projektowaniu stron internetowych oraz grafice komputerowej do definicji kolorów w systemie RGB. W tej notacji sześć znaków reprezentuje wartości czerwonego, zielonego i niebieskiego (RGB), gdzie pierwsze dwa znaki to wartość czerwonego, kolejne dwa to wartość zielonego, a ostatnie dwa to wartość niebieskiego. W przypadku #0000FF, wartości są następujące: 00 (czerwony), 00 (zielony), FF (niebieski), co oznacza maksymalny poziom niebieskiego światła. Taki kolor jest czystym niebieskim, uzyskiwanym gdy intensywność czerwonego i zielonego jest zerowa, a niebieskiego maksymalna. Przykładami użycia niebieskiego w designie mogą być logo Facebooka, które wykorzystuje podobny odcień, czy tła niektórych stron internetowych. Heksadecymalne kody kolorów są zgodne z standardem W3C, co zapewnia ich uniwersalność i spójność w różnych aplikacjach graficznych i interfejsach użytkownika.