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: 27 kwietnia 2026 14:10
  • Data zakończenia: 27 kwietnia 2026 14:34

Egzamin zdany!

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

Polecenie serwera MySQL w postaci

REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost'
spowoduje, że użytkownikowi tKowal zostaną
A. odebrane uprawnienia usuwania oraz dodawania rekordów w tabeli pracownicy
B. odebrane prawa usuwania i modyfikowania danych w tabeli pracownicy
C. przydzielone uprawnienia do usuwania oraz aktualizowania danych w tabeli pracownicy
D. przydzielone uprawnienia do wszelkich zmian struktury tabeli pracownicy
Odpowiedź wskazuje, że użytkownikowi tKowal odebrane zostały prawa usuwania i modyfikowania danych w tabeli pracownicy za pomocą polecenia REVOKE. W kontekście zarządzania uprawnieniami w MySQL, polecenie REVOKE jest kluczowym narzędziem, które umożliwia administratorom bazy danych kontrolowanie dostępu użytkowników do różnych operacji na danych. W tym przypadku, przy użyciu REVOKE DELETE, UPDATE, administrator zdejmuje z użytkownika tKowal możliwość usuwania (DELETE) oraz aktualizowania (UPDATE) rekordów w tabeli pracownicy. Praktycznym zastosowaniem tej funkcji może być sytuacja, gdy administrator chce ograniczyć dostęp do wrażliwych danych, aby zapobiec przypadkowemu lub nieuprawnionemu usunięciu informacji. Dobrą praktyką jest regularne przeglądanie i aktualizowanie uprawnień użytkowników, aby zapewnić, że mają oni tylko te uprawnienia, które są im niezbędne do wykonywania swoich obowiązków, co przyczynia się do zwiększenia bezpieczeństwa danych.

Pytanie 2

Zaprezentowano kod dla tabeli 3x2. Jaką modyfikację należy wprowadzić w drugim wierszu, aby tabela przypominała tę z obrazka, gdzie wiersz jest niewidoczny?

<table>
    <tr>
        <td style="border: solid 1px;">Komórka 1</td>
        <td style="border: solid 1px;">Komórka 2</td>
    </tr>
    <tr>
        <td style="border: solid 1px;">Komórka 3</td>
        <td style="border: solid 1px;">Komórka 4</td>
    </tr>
    <tr>
        <td style="border: solid 1px;">Komórka 5</td>
        <td style="border: solid 1px;">Komórka 6</td>
    </tr>
</table>
/efekt jest na obrazie - nie dołączam - nie analizuj/
Ilustracja do pytania
A. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"display: table-cell"</span>&gt;</pre>
B. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"display: none"</span>&gt;</pre>
C. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"clear: none"</span>&gt;</pre>
D. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"visibility: hidden"</span>&gt;</pre>
Odpowiedź jest prawidłowa, ponieważ użycie stylu 'visibility: hidden' w wierszu tabeli skutkuje tym, że wiersz ten nie jest widoczny, ale nadal zajmuje miejsce w układzie tabeli. Oznacza to, że komórki poniżej nie przesuwają się w górę, a struktura tabeli pozostaje niezmieniona. To podejście jest zgodne z sytuacjami, w których chcemy ukryć zawartość bez zmiany rozmieszczenia innych elementów. Jest to przydatne w aplikacjach, gdzie układ strony musi pozostać stabilny dla zachowania spójności wizualnej lub funkcjonalnej. Przykładem może być ukrywanie tymczasowych informacji, które nie powinny wpływać na pozostały układ interfejsu użytkownika. Jest to zgodne z dobrymi praktykami projektowania front-endu, gdzie stylizacje powinny wspierać czytelność i przewidywalność układu strony. Alternatywnie, 'display: none' usunęłoby element z przepływu dokumentu, co zmienia układ, ale w tym przypadku zastosowanie 'visibility: hidden' jest właściwym wyborem dla zachowania struktury.

Pytanie 3

Zamieszczony kod w języku PHP

Ilustracja do pytania
A. jest błędny, indeksami tablicy mogą być wyłącznie liczby całkowite
B. definiuje tablicę z trzema wartościami
C. określa tablicę z sześcioma wartościami
D. jest niepoprawny, nieznany operator =>
W przedstawionym kodzie PHP definiowana jest tablica asocjacyjna. Jest to typ tablicy, która pozwala na użycie łańcuchów znaków jako kluczy, nie ograniczając się jedynie do liczb całkowitych. Twierdzenie, że operator '=>' jest nieznany, jest błędne. Operator ten jest kluczowym elementem składni PHP, używanym do przypisywania wartości do kluczy w tablicach asocjacyjnych. Ponadto twierdzenie, że indeksy tablicy mogą być tylko liczbami całkowitymi, nie jest prawdziwe dla tablic asocjacyjnych, które są powszechnie używane w PHP do tworzenia bardziej czytelnych i zorganizowanych struktur danych. Tego typu tablice są przydatne wszędzie tam, gdzie dane mają bardziej strukturalny charakter, jak w przypadku danych użytkowników. Pogląd, że tablica definiuje sześć wartości, jest błędny, ponieważ każda para klucz-wartość stanowi pojedynczą jednostkę w tablicy, a nie oddzielne elementy. Częstym błędem jest myślenie o każdej wartości w tablicy jako osobnym elemencie, pomijając fakt, że klucz i wartość tworzą integralną parę. W praktycznym zastosowaniu znajomość i właściwe wykorzystanie tablic asocjacyjnych w PHP znacząco poprawia efektywność pisania i zarządzania kodem oraz jego zrozumienie przez innych programistów.

Pytanie 4

Jaką właściwość CSS należy zastosować, aby uzyskać linie przerywaną w obramowaniu?

Ilustracja do pytania
A. dotted
B. dashed
C. solid
D. double
Odpowiedź dashed jest poprawna ponieważ w CSS właściwość ta służy do definiowania stylu obramowania w postaci linii kreskowanej Jest to często używane do wizualnego oddzielenia zawartości na stronie internetowej bez zbytniego skupiania uwagi Użycie dashed sprawia że linia jest bardziej subtelna w porównaniu do solid co czyni ją dobrym wyborem w przypadku chęci zachowania minimalistycznego wyglądu Zgodnie ze standardami CSS właściwość border-style może przyjmować kilka wartości w tym solid dotted double i dashed Każda z tych wartości ma swoje unikalne zastosowania na przykład solid tworzy ciągłą linię natomiast dotted tworzy linię z kropkami Linia dashed składa się z krótkich kresek co różni ją od linii double która jest podwójną linią W praktyce dashed jest często stosowane w projektach gdzie ważne jest wskazanie na określone sekcje lub elementy bez przytłaczania użytkownika Zgodnie z dobrymi praktykami można dostosować szerokość i kolor obramowania co pozwala na lepszą integrację z ogólnym stylem strony CSS daje dużą elastyczność w projektowaniu co pozwala na tworzenie różnorodnych i responsywnych interfejsów użytkownika

Pytanie 5

Powszechnie stosowanym narzędziem SZBD do tworzenia zestawień danych, które można wydrukować, jest

A. kwerenda UPDATE
B. raport
C. makro
D. formularz
Kwerenda UPDATE jest używana do modyfikacji istniejących danych w bazie danych. Głównym celem kwerendy jest aktualizacja wartości pól w określonych rekordach, co jest zupełnie innym zadaniem niż generowanie zestawień danych. Użytkownicy, którzy mylnie uważają, że kwerenda UPDATE może służyć do tworzenia raportów, mogą nie rozumieć podstawowego podziału funkcji w systemach bazodanowych. Z kolei formularz jest interfejsem użytkownika, który umożliwia wprowadzanie danych do bazy, ale nie jest narzędziem do generowania zestawień, co sprawia, że jego zastosowanie jest także niewłaściwe w kontekście tego pytania. Makro, z drugiej strony, to zestaw instrukcji automatyzujących różne operacje w bazie danych, ale także nie jest dedykowane do tworzenia raportów. Kluczowym błędem myślowym jest utożsamianie narzędzi do modyfikacji lub wprowadzania danych z narzędziami do ich analizy i raportowania. Warto zrozumieć, że każdy z tych elementów ma swoje specyficzne zastosowanie w systemach zarządzania bazami danych, a ich pomylenie może prowadzić do nieskutecznego wykorzystania zasobów oraz obniżenia jakości analizy danych.

Pytanie 6

W JavaScript funkcja document.getElementById(id) ma na celu

A. umieścić tekst o treści ’id’ na stronie internetowej
B. pobrać wartości z formularza i przypisać je do zmiennej id
C. zwrócić referencję do pierwszego elementu HTML o wskazanym id
D. zweryfikować poprawność formularza o identyfikatorze id
Niektóre twoje odpowiedzi trochę mylą rolę metody document.getElementById(id). Myślenie, że ta metoda pobiera dane z formularza i wkłada je do zmiennej id to zły trop. W rzeczywistości, ona służy do uzyskiwania dostępu do elementów, a jeśli chcesz odczytać wartości z pól formularzy, powinieneś użyć właściwości value. Mówienie o tym, że ta metoda sprawdza poprawność formularza, też nie jest na miejscu - do walidacji używa się innych funkcji, jak addEventListener() na zdarzenie 'submit' albo atrybutów HTML5, jak required. No i jeśli chodzi o wstawianie tekstu 'id' na stronę, to też nie tak to działa - document.getElementById(id) daje ci odnośnik do elementu, ale nie modyfikuje go w jakiś bezpośredni sposób. To błędy, które mogą wynikać z nie do końca jasnego zrozumienia, jak działają metody manipulacyjne w JavaScript.

Pytanie 7

W trakcie edycji grafiki rastrowej w oprogramowaniu obsługującym kanały, dodanie kanału alfa wskazuje na

A. wyostrzenie krawędzi obrazu
B. ustalenie prawidłowego balansu bieli
C. dodanie warstwy z przezroczystością
D. zwiększenie głębi ostrości obrazu
Dodanie kanału alfa w obróbce grafiki rastrowej oznacza wprowadzenie warstwy odpowiedzialnej za przezroczystość obrazu. Kanał alfa rozszerza możliwości tradycyjnych obrazów, które składają się tylko z trzech podstawowych kanałów kolorystycznych: czerwonego, zielonego i niebieskiego (RGB). Dzięki kanałowi alfa, każdy piksel w obrazie może mieć przypisaną wartość przezroczystości, co pozwala na tworzenie efektów takich jak cienie, rozmycia, a także na precyzyjne maskowanie elementów w projekcie. Przykładem zastosowania kanału alfa może być tworzenie grafik do użycia w reklamach czy wideo, gdzie elementy muszą być płynnie nałożone na różnorodne tła. W profesjonalnym oprogramowaniu graficznym, takim jak Adobe Photoshop czy GIMP, dodanie kanału alfa jest standardową praktyką w procesie tworzenia i edycji obrazów. Ponadto, tworząc animacje czy interaktywne projekty multimedialne, kanał alfa pozwala na bardziej elastyczne zarządzanie przezroczystością poszczególnych warstw, co jest kluczowe dla finalnego efektu wizualnego.

Pytanie 8

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

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

Pytanie 9

Jaki zapis w języku C++ definiuje komentarz jednoliniowy?

A. /*
B. <
C. #
D. //
Komentarz jednoliniowy w języku C++ jest definiowany przez zapis //. Używanie tej składni pozwala programiście na dodanie uwag w kodzie, które są ignorowane przez kompilator. Komentarze są niezwykle przydatne, gdyż umożliwiają dokumentowanie kodu, co ułatwia jego zrozumienie i utrzymanie w przyszłości. Na przykład, jeśli mamy fragment kodu, który oblicza sumę dwóch liczb, możemy dodać komentarz jednoliniowy, aby wyjaśnić, co dany fragment robi: // Oblicza sumę dwóch liczb. Warto dodać, że w standardzie C++ zaleca się użycie komentarzy w miejscach, gdzie kod może być trudny do zrozumienia lub wymaga dodatkowego wyjaśnienia. Dobre praktyki programistyczne podkreślają znaczenie dokumentowania kodu, co ułatwia współpracę w zespole oraz przyszłe modyfikacje. Warto również wspomnieć, że komentarze nie powinny być nadmierne, aby nie wprowadzać w błąd lub nie zniechęcać do czytania samego kodu.

Pytanie 10

Który z poniższych sposobów na komentarz jednoliniowy jest akceptowany w języku JavaScript?

A. !
B. //
C. <!
D. #
W JavaScript, jeśli chcesz dodać komentarz jednoliniowy, musisz użyć podwójnych ukośników, czyli '//' na początku linii. Te komentarze są naprawdę przydatne, bo pozwalają ci opisać, co robi dany kawałek kodu, albo czasami wyłączyć fragmenty podczas testowania. Co fajne, to że wszystko, co napiszesz za '//' zostanie zignorowane przez interpreter, więc nie będzie miało wpływu na działanie skryptu. Przykład: masz linijkę 'let x = 5; // Ustawia wartość x na 5', i wszystko po '//' nie będzie brane pod uwagę przez JavaScript. Komentarze są zgodne z ECMAScript, który jest takim standardem dla tego języka. Szczerze mówiąc, dobrze jest używać komentarzy do dokumentacji, bo to ułatwia czytanie kodu i pracę z innymi programistami. Pamiętaj, żeby robić je zwięzłe, ale muszą też dobrze tłumaczyć, co miał na myśli autor kodu.

Pytanie 11

Które znaczniki HTML umożliwiają wyświetlenie tekstu w jednym wierszu na stronie, zakładając brak zdefiniowanego formatu CSS?

Dobre strony m o j e j  s t r o n y
A. <div>Dobre strony </div><div style="letter-spacing:3px">mojej strony</div>
B. <p>Dobre strony </p><p style="letter-spacing:3px">mojej strony</p>
C. <span>Dobre strony </span><span style="letter-spacing:3px">mojej strony</span>
D. <h3>Dobre strony </h3><h3 style="letter-spacing:3px">mojej strony</h3>
Elementy <h3> <p> i <div> są znacznikami HTML które domyślnie zachowują się jako elementy block-level co oznacza że każdy z nich zaczyna się w nowej linii i wprowadza przerwę przed i po sobie. Element <h3> jest używany do oznaczania nagłówków trzeciego poziomu co nadaje mu dodatkowego semantycznego znaczenia w strukturze dokumentu ale nie jest odpowiedni do użycia tam gdzie wymagane jest wyświetlenie tekstu w jednym wierszu. Podobnie <p> jest przeznaczony do oznaczania akapitów tekstu i dlatego również wprowadza przerwy przed i po swoim zawartości. Znacznik <div> jest uniwersalnym kontenerem w HTML używanym do grupowania elementów w celu stylizacji lub manipulacji za pomocą CSS i JavaScript ale także działa jako element block-level. Typowym błędem przy nauce HTML jest niezdawanie sobie sprawy z różnicy między elementami inline i block-level co prowadzi do problemów z układem strony gdy elementy block-level są stosowane tam gdzie potrzebny jest płynny układ w jednym wierszu. Zrozumienie i umiejętność właściwego zastosowania tych znaczników jest kluczowe dla każdej osoby zajmującej się profesjonalnie tworzeniem stron internetowych pozwalając na tworzenie bardziej intuicyjnych i estetycznych interfejsów użytkownika. Właściwe stosowanie elementów inline i block-level jest również istotne w kontekście responsywności i dostępności stron internetowych co ma kluczowe znaczenie we współczesnym środowisku webowym. Umiejętność rozróżniania i stosowania odpowiednich elementów w kodzie HTML jest kluczowym aspektem w tworzeniu wydajnych i semantycznie poprawnych stron internetowych które są zarówno estetyczne jak i funkcjonalne dla szerokiego grona użytkowników i urządzeń.

Pytanie 12

Podaj nazwę Systemu Zarządzania Treścią, którego logo jest pokazane na dołączonym rysunku?

Ilustracja do pytania
A. MediaWiki
B. Drupal
C. Joomla!
D. WordPress
Odpowiedź Joomla! jest poprawna ponieważ logo przedstawione na rysunku jest oficjalnym znakiem identyfikacyjnym tego systemu zarządzania treścią CMS. Joomla! to jeden z najpopularniejszych systemów CMS używany do tworzenia stron internetowych oraz aplikacji. Dzięki swojej elastyczności i dużej liczbie dostępnych rozszerzeń Joomla! pozwala na tworzenie zarówno prostych stron wizytówkowych jak i zaawansowanych serwisów e-commerce. Główne zalety Joomla! to intuicyjny interfejs użytkownika który ułatwia zarządzanie treściami oraz silna społeczność użytkowników zapewniająca wsparcie techniczne i rozwój oprogramowania. Joomla! jest zgodna z wieloma standardami webowymi co czyni ją wszechstronnym narzędziem do wdrażania profesjonalnych projektów internetowych. Korzystanie z Joomla! umożliwia szybkie i efektywne tworzenie responsywnych stron które dobrze współdziałają na różnych urządzeniach mobilnych. Praktyczne zastosowanie Joomla! obejmuje tworzenie stron korporacyjnych portali społecznościowych oraz serwisów informacyjnych. Dzięki modulowej architekturze użytkownicy mogą łatwo dostosowywać funkcjonalność swoich stron do specyficznych potrzeb branżowych co jest zgodne z dobrymi praktykami projektowania zorientowanego na użytkownika. Platforma Joomla! obsługuje także wielojęzyczność i różne metody uwierzytelniania co czyni ją idealnym rozwiązaniem dla międzynarodowych projektów.

Pytanie 13

Co należy zrobić, gdy rozmiar pliku graficznego jest zbyt duży do umieszczenia w Internecie?

A. dodać kanał alfa
B. zwiększyć jego głębię kolorów
C. zapisać w formacie BMP
D. zmniejszyć jego rozdzielczość
Zmniejszenie rozdzielczości pliku graficznego to jedna z najskuteczniejszych metod redukcji jego rozmiaru, co jest kluczowe przy publikacji w Internecie. Rozdzielczość odnosi się do ilości pikseli, które tworzą obraz, a jej zmniejszenie prowadzi do mniejszej ilości danych do przechowania. Przykładowo, zamiast publikować obraz o rozdzielczości 4000x3000 pikseli, można zmniejszyć go do 1920x1080, co drastycznie zmniejszy wielkość pliku bez zauważalnej utraty jakości wizualnej na ekranach komputera czy urządzeń mobilnych. Zmniejszenie rozdzielczości jest zgodne z najlepszymi praktykami w zakresie optymalizacji zasobów internetowych, w tym zasadami dotyczącymi czasu ładowania strony i wydajności. Dodatkowo, odpowiednia rozdzielczość może poprawić doświadczenia użytkowników, zmniejszając czas ładowania i zwiększając responsywność witryn. Warto również pamiętać o formatowaniu plików graficznych, gdzie JPEG jest często preferowanym formatem dla zdjęć, a PNG dla obrazów z przezroczystością. Stosowanie technologii takich jak responsywne obrazy również przyczynia się do efektywnej prezentacji graficznej w sieci, co ma kluczowe znaczenie w dzisiejszym świecie online.

Pytanie 14

Aby przekształcić obraz z formatu JPEG do PNG bez utraty jakości, tak aby kolor biały w oryginalnym obrazie został zastąpiony przezroczystością w wersji docelowej, należy najpierw

A. usunięcie gumką wszystkich białych miejsc
B. obniżyć rozdzielczość obrazu
C. załadować obraz do programu do edycji grafiki wektorowej
D. dodać kanał alfa
Żeby zmienić obrazek z formatu JPEG na PNG i zachować przezroczystość tam, gdzie wcześniej był biały kolor, ważny krok to dodanie kanału alfa. To w zasadzie taka dodatkowa warstwa w obrazie, która mówi, które piksele mają być przezroczyste. JPEG nie umie obsługiwać przezroczystości, więc białe obszary będą się pokazywać jako nieprzezroczyste. Jak już dodasz ten kanał alfa, możesz ustawić przezroczystość dla białych pikseli, co pozwoli na ich ukrycie lub zamianę na przezroczystość w końcowym obrazku. Na przykład, w programach jak Adobe Photoshop można użyć narzędzia do zaznaczania kolorów, żeby wybrać wszystkie białe piksele i potem je usunąć, zostawiając tylko przezroczystość. W ten sposób dostajesz efekt, którego chcesz w obrazie PNG, co jest zgodne z dobrą praktyką w obróbce grafiki i pomaga utrzymać wysoką jakość obrazu bez żadnych strat.

Pytanie 15

Który z poniższych znaczników HTML nie służy do formatowania tekstu?

A. <div>
B. <strong>
C. <em>
D. <sub>
Każdy z pozostałych znaczników jest określony jako element do formatowania tekstu w HTML. Znacznik <em> służy do oznaczania tekstu, który ma być wyrażony z naciskiem, co zazwyczaj przekłada się na kursywę w przeglądarkach internetowych. To podejście jest zgodne z zasadami semantyki HTML, które zalecają użycie odpowiednich znaczników dla różnych typów treści, co poprawia dostępność oraz SEO. Znacznik <sub> jest używany do oznaczania tekstu jako dolnego indeksu, co jest powszechnie stosowane w naukowych notacjach i chemii. W końcu, <strong> jest używany do zaznaczania tekstu jako ważnego, co zazwyczaj skutkuje pogrubieniem. Zrozumienie ról tych znaczników jest kluczowe dla projektowania stron internetowych. Często mylnie przyjmuje się, że każdy znacznik jest tym samym, co prowadzi do nieefektywnego kodowania i braku semantyki w stronach. Dlatego ważne jest, aby stosować odpowiednie znaczniki zgodnie z ich przeznaczeniem, co jest fundamentalne w tworzeniu dostępnych i dobrze zorganizowanych aplikacji internetowych.

Pytanie 16

Zarządzanie procesem przekształcania kodu źródłowego stworzonego przez programistę na kod maszynowy, który jest zrozumiały dla komputera, nosi nazwę

A. analizowanie
B. wdrażanie
C. rozpoczynanie
D. kompilowanie
Kompilowanie to proces, w którym kod źródłowy, napisany w języku programowania wysokiego poziomu, jest przekształcany na kod maszynowy, który może być zrozumiany i wykonany przez komputer. Działa to na zasadzie analizy składniowej i semantycznej kodu źródłowego, a następnie generowania odpowiednich instrukcji dla procesora. Przykładem narzędzi, które realizują ten proces, są kompilatory, takie jak GCC dla języka C czy javac dla języka Java. Kompilowanie ma kluczowe znaczenie w programowaniu, ponieważ pozwala na optymalizację kodu, co zwiększa wydajność aplikacji. Dobre praktyki wskazują, że kompilowanie powinno być częścią cyklu programowania, a regularne kompilowanie kodu pomaga w szybszym wykrywaniu błędów oraz zapewnia, że kod jest zawsze zgodny z wymaganiami projektowymi. Warto również zaznaczyć, że proces kompilacji może obejmować różne etapy, takie jak prekompilacja, generacja kodu pośredniego oraz linkowanie, co czyni go złożonym i wieloetapowym działaniem.

Pytanie 17

W CSS jednostką miary, która jest wyrażona w punktach edytorskich, oznaczana jest symbolem

A. px
B. em
C. in
D. pt
Jednostki 'em', 'px' oraz 'in' nie są związane z punktami edytorskimi, co czyni je nieodpowiednimi w tym kontekście. 'em' jest jednostką miary, która jest zależna od rozmiaru czcionki elementu nadrzędnego. To oznacza, że wartość '1em' odpowiada rozmiarowi czcionki zastosowanemu w danym kontekście. Używanie 'em' jest korzystne w przypadku responsywnego projektowania, ponieważ pozwala na skalowanie elementów w zależności od rozmiaru tekstu. Z kolei 'px', czyli piksel, to jednostka miary, która jest niezależna od rozmiaru czcionki i oznacza stałą wartość wyrażoną w pikselach. W świecie web designu, 'px' jest często preferowane ze względu na swoją przewidywalność i prostotę. Ostatnią z jednostek, 'in', oznacza cale i jest rzadko wykorzystywana w CSS, ponieważ jest bardziej związana z drukiem i rzadko stosowana w kontekście nawigacji webowej. W kontekście druku takie jednostki jak 'in' mogą być użyteczne, jednak w projektowaniu stron internetowych ich zastosowanie jest ograniczone. Każda z wymienionych jednostek ma swoje zastosowanie, ale nie można ich stosować zamiennie z 'pt', która jest jednoznacznie związana z punktami edytorskimi.

Pytanie 18

Upload danych to termin, który oznacza

A. przesyłanie plików na serwer.
B. opóźnienie w transmisji pliku.
C. trasę transferu pliku.
D. pobieranie plików z serwera.
Pojęcie „upload danych” w praktyce oznacza wysyłanie, czyli przesyłanie plików lub innych danych z komputera klienta (Twojego urządzenia) na zdalny serwer albo do chmury. W typowym środowisku webowym klientem jest przeglądarka lub aplikacja, a serwerem – np. serwer HTTP, FTP, serwer aplikacyjny czy usługa w chmurze typu AWS S3 czy Google Drive. W standardowym modelu klient–serwer upload to ruch „w górę” – od użytkownika do usługi sieciowej. Download jest odwrotnością, czyli pobieraniem danych z serwera na komputer użytkownika. W protokołach takich jak HTTP upload odbywa się najczęściej poprzez żądania POST lub PUT, gdzie treść wysyłana jest w body requestu. W formularzach HTML odpowiada za to atrybut enctype="multipart/form-data" oraz odpowiednia konfiguracja input type="file". To właśnie wtedy następuje upload pliku – plik z Twojego dysku jest przesyłany na serwer, który może go zapisać w systemie plików, w bazie danych lub przetworzyć w inny sposób. W FTP termin upload jest wręcz podstawowy: komenda STOR służy do wysyłania pliku na serwer. Z mojego doświadczenia warto kojarzyć upload również z kwestiami bezpieczeństwa i wydajności. Dobrą praktyką jest ograniczanie maksymalnego rozmiaru przesyłanych plików, filtrowanie rozszerzeń, skanowanie antywirusowe oraz walidacja typu MIME, żeby nie dopuścić do wgrania złośliwych skryptów. W regulaminach usług i politykach RODO często pojawia się też zapis, że użytkownik jest odpowiedzialny za dane, które uploaduje na serwer. W pracy admina czy programisty webowego umiejętność poprawnej obsługi uploadu (limit czasu, przerwane połączenie, obsługa błędów) jest absolutnie standardem branżowym i jednym z podstawowych elementów każdej poważniejszej aplikacji internetowej.

Pytanie 19

W języku PHP przeprowadzono operację przedstawioną w ramce. Jak można postąpić, aby wyświetlić wszystkie wyniki tego zapytania?

$tab = mysqli_query($db, "SELECT imie FROM Osoby WHERE wiek < 18");
A. użyć polecenia mysql_fetch
B. pokazać zmienną $db
C. zaindeksować zmienną tab, tab[0] to pierwsze imię
D. zastosować pętlę z poleceniem mysqli_fetch_row
W przypadku wyświetlania wyników zapytania SQL w PHP, ważne jest zrozumienie mechanizmu działania funkcji dostępnych w bibliotece mysqli. Wśród niewłaściwych koncepcji można wymienić próbę wyświetlenia zmiennej $db, która jest zazwyczaj uchwytem połączenia do bazy danych a nie bezpośrednim wynikiem zapytania. To podejście często prowadzi do błędów logicznych, ponieważ $db reprezentuje połączenie a nie dane wynikowe. Polecenie mysql_fetch, choć kiedyś używane w starszej wersji PHP, obecnie nie jest zalecane z powodu przestarzałości i braku wsparcia dla rozszerzenia mysql, które zostało zastąpione przez mysqli i PDO. Próba zaindeksowania zmiennej tab jako tab[0] bez odpowiedniego pobrania danych wynikowych jest również błędna. Zmienna tab przechowuje rezultat zapytania w postaci obiektu typu mysqli_result, a bez użycia odpowiednich funkcji fetch nie można bezpośrednio uzyskać dostępu do danych. Takie podejście wynika z niezrozumienia struktury danych zwracanych przez zapytania. Iteracyjne pobieranie wyników za pomocą funkcji typu mysqli_fetch_row czy mysqli_fetch_assoc jest standardem w nowoczesnych aplikacjach PHP, ponieważ umożliwia elastyczne i efektywne zarządzanie danymi. Zastosowanie odpowiednich mechanizmów fetch pozwala na bezbłędne iterowanie przez wiersze wynikowe co jest kluczowe dla poprawnego przetwarzania danych z bazy.

Pytanie 20

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

Ilustracja do pytania
A. Efekt 3.
B. Efekt 2.
C. Efekt 4.
D. Efekt 1.
Dobra robota! Odpowiedź, którą wybrałeś, to Efekt 2. W formularzu HTML masz różne elementy, które służą do zbierania danych od użytkownika. Tutaj mamy pole tekstowe i dwa checkboxy. Jak wpiszesz 'Przykładowy text' w pole tekstowe i wyślesz formularz, to właśnie to się wyświetli w przeglądarce. Efekt 2 pokazuje, że pole tekstowe ma wpisany tekst i dwa niezaznaczone checkboxy. Dlatego to jest zgodne z tym, co zobaczysz w przeglądarce. A to oznacza, że Efekt 2 jest poprawną odpowiedzią. Właściwie to wszystko jest zgodne z tym, jak HTML działa, czyli jak powinny wyglądać i działać różne elementy formularza.

Pytanie 21

Wskaż funkcję w JavaScript, która pozwoli obliczyć połowę kwadratu liczby podanej jako argument.

A. function wynik(a) { return 2*a/a; }
B. function wynik(a) { return a/2+a/2; }
C. function wynik(a) { return a*a/2; }
D. function wynik(a) { return a*2/2; }
Wybór nieodpowiedniej funkcji do obliczenia połowy kwadratu liczby pokazuje, że można się jeszcze wiele nauczyć o podstawowych operacjach arytmetycznych. Na przykład, funkcje takie jak function wynik(a) { return a/2+a/2; } czy function wynik(a) { return a*2/2; } w ogóle nie mają sensu w tym kontekście. Pierwsza z tych funkcji po prostu dzieli liczbę przez dwa i dodaje ją z powrotem, przez co dostajemy z powrotem oryginalną wartość, a nie jej kwadrat. Druga funkcja też nie działa jak trzeba, bo mnożenie przez 2 i dzielenie przez 2 nic nie zmienia, więc dostajemy tylko 'a' z powrotem. A funkcja function wynik(a) { return 2*a/a; } też nie jest trafiona, bo dzielenie nie pomaga w obliczeniu kwadratu. Ważne jest, żeby zrozumieć, że kwadrat liczby obliczamy mnożąc tę liczbę przez samą siebie. Żeby dostać połowę kwadratu, musimy podzielić wynik mnożenia przez 2. Zrozumienie tych błędów pomoże Ci unikać ich w przyszłości i lepiej rozumieć matematykę oraz programowanie, co jest naprawdę ważne, gdy piszesz kod.

Pytanie 22

O zmiennej predefiniowanej

$_POST 
w języku PHP można stwierdzić, że
A. jest odwzorowaniem tablicy $_COOKIE
B. zawiera dane bezpośrednio dostarczone do skryptu z ciasteczka
C. zawiera dane przesłane do skryptu za pośrednictwem formularza
D. jest rozwiniętą wersją tablicy $_SESSION
Odpowiedź, że zmienna predefiniowana $_POST zawiera dane przesłane do skryptu z formularza, jest w pełni poprawna. W języku PHP, $_POST to jedna z superglobalnych tablic, która umożliwia dostęp do danych przesyłanych metodą POST. Metoda ta jest powszechnie stosowana w formularzach HTML, gdzie użytkownik może wprowadzać dane, które następnie są wysyłane do serwera. Na przykład, formularz kontaktowy, w którym użytkownik wprowadza swoje imię i adres e-mail, może być przetwarzany za pomocą $_POST, co pozwala na łatwą i bezpieczną obsługę danych. Dobrą praktyką jest również walidacja danych przed ich użyciem, aby zminimalizować ryzyko ataków, takich jak SQL Injection czy XSS. Dzięki zastosowaniu $_POST, programiści mogą przechwytywać i przetwarzać dane użytkowników w bardziej zaawansowany sposób, co pozwala na dynamiczne generowanie treści i interakcję z użytkownikami.

Pytanie 23

Co robi funkcja przedstawiona w kodzie JavaScript?

function tekst() {
var h = location.hostname;
document.getElementById("info").innerHTML = h;
}
A. wyświetlić w elemencie o id = "info" nazwę hosta, z którego pochodzi wyświetlona strona
B. umożliwić przejście do wskazanej lokalizacji hosta
C. wyświetlić w elemencie o id = "info" adres hosta wskazany przez pierwszy odnośnik
D. pokazać na przycisku lokalizację hosta, a po jego naciśnięciu umożliwić przejście do określonej lokalizacji
Prawidłowa odpowiedź wskazuje, że kod JavaScript wywołuje metodę location.hostname, która zwraca nazwę hosta aktualnie odwiedzanej strony. Hostname jest częścią obiektu Location, który reprezentuje bieżący URL dokumentu. Kod przypisuje wynik tej metody do zmiennej h, a następnie ustawia innerHTML elementu o id info na wartość tej zmiennej. Dzięki takim operacjom, kod efektywnie wyświetla nazwę hosta w elemencie o konkretnym identyfikatorze na stronie HTML. Jest to częsta technika używana w aplikacjach webowych, gdzie istotne jest dynamiczne wyświetlanie informacji o aktualnym połączeniu. Znajomość obiektu Location oraz jego właściwości, takich jak hostname, to podstawowa umiejętność w pracy z językiem JavaScript, szczególnie w kontekście manipulacji DOM. Takie podejście jest zgodne z dobrymi praktykami, gdyż unika bezpośredniego wpisywania danych w kodzie, co zwiększa elastyczność i ułatwia utrzymanie aplikacji.

Pytanie 24

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

A. rel = "prev"
B. target = "_blank"
C. target = "_new"
D. rel = "external"
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

body{
background-image: url"rysunek.gif");
background-repeat: repeat-y;
}
W przedstawionej definicji stylu CSS, powtarzanie dotyczy

A. tła każdego znacznika akapitu
B. rysunku osadzonego znacznikiem img
C. rysunku umieszczonego w tle strony w poziomie
D. rysunku znajdującego się w tle strony w pionie
W definicji stylu CSS, zastosowane tło z rysunkiem 'rysunek.gif' jest powtarzane w pionie dzięki właściwości 'background-repeat: repeat-y'. Oznacza to, że obrazek będzie powielany wzdłuż osi Y, co skutkuje tym, że obrazek jest umieszczany jeden nad drugim, tworząc wrażenie ciągłości. Aby lepiej zrozumieć działanie tej właściwości, warto przyjrzeć się innym ustawieniom tła. Na przykład, właściwość 'background-repeat: repeat' powtarza obraz zarówno w poziomie, jak i w pionie, natomiast 'background-repeat: no-repeat' zapobiega jakimkolwiek powtórzeniom. W standardach CSS, takich jak CSS3, definiowanie tła w ten sposób jest zgodne z zasadami, które pozwalają na elastyczne projektowanie stron internetowych. W praktyce, użycie powtarzającego się tła może być przydatne w przypadku prostych wzorów, które mają stworzyć efekt wizualny, nie obciążając jednocześnie zbytnio zasobów, co jest istotne dla wydajności ładowania strony.

Pytanie 26

Jakie są wyniki wykonania zapytania SQL?

SELECT count(*) FROM Uczniowie WHERE srednia=5;
A. ilość uczniów, których średnia ocen wynosi 5
B. średnia wszystkich ocen uczniów
C. suma ocen uczniów z średnią 5
D. łączna liczba uczniów
Zapytanie SQL używa funkcji COUNT aby policzyć liczbę rekordów w tabeli Uczniowie spełniających warunek srednia=5 Klauzula WHERE ogranicza zestaw zliczanych rekordów do tych gdzie średnia ocen ucznia wynosi dokładnie 5 W efekcie wynik zapytania odpowiada liczbie uczniów mających średnią ocen równą 5 Takie podejście jest powszechnie stosowane w analizie danych gdzie wymagane jest określenie liczby jednostek spełniających konkretne kryteria Zastosowanie COUNT w połączeniu z WHERE umożliwia precyzyjną kontrolę nad analizowanym zbiorem danych co jest standardem w wielu systemach bazodanowych Praktyczne zastosowanie tej techniki można spotkać w raportowaniu wyników nauczania generowaniu statystyk czy w analizach biznesowych gdzie kluczowe jest zrozumienie struktury i charakterystyki danych Zapytanie to ilustruje dobrą praktykę pracy z bazami danych polegającą na efektywnym i precyzyjnym formułowaniu zapytań w celu uzyskania wartościowych i precyzyjnych informacji

Pytanie 27

Aby skutecznie stworzyć relację typu m…n, która będzie wolna od redundancji danych, konieczne jest

A. uporządkowanie przynajmniej jednej z tabel.
B. bezpośrednie połączenie kluczy podstawowych obu tabel.
C. bezpośrednie połączenie kluczy obcych z obu tabel.
D. zaprojektowanie tabeli pomocniczej.
Bezpośrednie połączenie kluczy obcych obu tabel w relacji m:n nie jest wystarczające, aby uniknąć redundancji danych. W rzeczywistości, klucze obce mają swoje zastosowanie w relacjach jeden do wielu, gdzie jedna z tabel zawiera odniesienia do drugiej. W przypadku relacji m:n, takie podejście prowadziłoby do powstania złożonych i nieczytelnych struktur, w których dane byłyby przetrzymywane wielokrotnie, co naruszałoby zasady normalizacji. Na przykład, gdybyśmy spróbowali bezpośrednio połączyć klucze obce studentów i kursów, każda kombinacja studenta i kursu byłaby wprowadzana do tej samej tabeli, co prowadziłoby do powielania informacji i wzrostu rozmiaru bazy danych bez rzeczywistej wartości. Ponadto, sortowanie jednej z tabel nie ma wpływu na strukturę relacji m:n; sortowanie jest operacją na poziomie zapytań, a nie na poziomie architektury bazy danych. Łączenie kluczy podstawowych także nie rozwiązuje problemu redundancji, ponieważ nie tworzy połączenia, które umożliwiłoby wielokrotne przypisanie tych samych elementów między tabelami. Właściwe podejście wymaga utworzenia tabeli pomocniczej, co jest powszechną praktyką w projektowaniu baz danych i zapewnia przejrzystość oraz efektywność operacyjną.

Pytanie 28

Przedstawiona w języku C++ definicja typu wyliczeniowego sprawi, że enumerator CZWARTEK będzie równy

enum dni {PONIEDZIALEK = 1, WTOREK, SRODA, CZWARTEK, PIATEK, SOBOTA, NIEDZIELA};
A. liczbie 1
B. napisowi 'CZWARTEK'
C. liczbie 4
D. napisowi "CZWARTEK"
Odpowiedzi wskazujące na napisy, zarówno w pojedynczych cudzysłowach, jak i podwójnych, są niepoprawne, ponieważ w kontekście definicji typów wyliczeniowych w C++ wartością enumeratora nie jest tekst, lecz liczba całkowita. Typy wyliczeniowe zostały zaprojektowane, aby reprezentować zestaw stałych, które mają konkretne wartości numeryczne, co czyni je bardziej efektywnymi w użyciu w porównaniu do zwykłych zmiennych. Próbując utożsamiać CZWARTEK z napisem, można dojść do mylnego wniosku, że nazwy enumeratorów są tego samego rodzaju co stringi, co prowadzi do nieprawidłowego zrozumienia ich roli w programowaniu. Warto również zauważyć, że w C++ używanie typów wyliczeniowych przyczynia się do zwiększenia bezpieczeństwa typów, ponieważ pozwala na ograniczenie wartości, które zmienna może przyjąć. Typowe błędy myślowe, które mogą prowadzić do nieprawidłowych odpowiedzi, obejmują mylenie reprezentacji tekstowej zmiennych z ich wartościami numerycznymi lub nieuważne czytanie definicji enum, co może prowadzić do błędnych wniosków na temat tego, jak działają enumeratory. W systemach, które operują na złożonych danych, takich jak dni tygodnia, wykorzystanie enumów jest kluczowe dla poprawnego działania logiki programu, dlatego istotne jest zrozumienie ich właściwego użycia i przypisania wartości.

Pytanie 29

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

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

Pytanie 30

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. części wspólnej.
B. wykluczenia.
C. grupowania.
D. sumy.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 31

W SQL komenda ALTER TABLE ma na celu

A. zmianę danych rekordów w tabeli
B. usunięcie tabeli z bazy danych
C. zmianę kolumn w tabeli
D. dodanie tabeli do bazy danych
Wybór odpowiedzi dotyczących usuwania lub dodawania tabeli jest niepoprawny, ponieważ polecenie ALTER TABLE nie ma zastosowania w tych przypadkach. Usuwanie tabeli jest realizowane za pomocą polecenia DROP TABLE, które całkowicie eliminuje wskazaną tabelę z bazy danych, wraz z jej danymi i strukturą, co nie jest celem ALTER TABLE. Z kolei dodawanie tabeli do bazy danych odbywa się za pomocą polecenia CREATE TABLE, które tworzy nową tabelę z określoną strukturą. Natomiast modyfikacja danych rekordów w tabeli nie jest zadaniem ALTER TABLE, lecz realizowana jest przez polecenie UPDATE, które pozwala na aktualizację wartości w jednym lub wielu rekordach tabeli. Operacje te są fundamentalnie różne od modyfikacji struktury tabeli, jaką pozwala wykonywać ALTER TABLE. W związku z tym, odpowiedzi związane z usuwaniem, dodawaniem tabeli oraz modyfikacją rekordów są niepoprawne i nie odzwierciedlają rzeczywistego działania tego polecenia w SQL.

Pytanie 32

Reguła CSS, która ustawia tekst paragrafu w pionie na środku, to:

A. vertical-align: middle
B. vertical-align: center
C. text-align: center
D. align: middle
Odpowiedzi, które zostały podane jako alternatywne, są niepoprawne z różnych powodów. 'Vertical-align: center' nie jest uznawane za poprawną regułę CSS, ponieważ nie istnieje właściwość 'center' w kontekście 'vertical-align'. Tylko wartości takie jak 'top', 'middle', 'bottom' oraz 'baseline' są dozwolone. Z kolei 'text-align: center' jest właściwością, która odpowiada za poziome centrowanie tekstu wewnątrz elementu blokowego lub kontenera, a nie za wyśrodkowanie w pionie. Użycie tej reguły sprawi, że tekst będzie wyśrodkowany w poziomie, co jest zupełnie inną operacją niż pionowe centrowanie. Ostatnia propozycja, 'align: middle', jest również niepoprawna, ponieważ nie jest to właściwość CSS. W kontekście wyśrodkowywania elementów w CSS, 'align' nie jest używane, a zamiast tego powinno się stosować 'vertical-align' lub techniki takie jak flexbox, które pozwalają na bardziej elastyczne i nowoczesne podejście do układania elementów. Zrozumienie różnicy między tymi właściwościami jest kluczowe dla efektywnego projektowania stron internetowych, ponieważ stosowanie niewłaściwych reguł może prowadzić do nieoczekiwanych rezultatów w układzie strony.

Pytanie 33

Aby w PHP uzyskać dostęp do danych formularza przesyłanych w sposób bezpieczny, należy użyć tablicy

A. $_SESSION
B. $_FILES
C. $_POST
D. $_SERVER
W języku PHP tablica $_POST jest kluczowym narzędziem do obsługi danych przesyłanych za pomocą metody POST, która jest jedną z najczęściej stosowanych metod przesyłania formularzy w aplikacjach webowych. Odpowiedź ta jest prawidłowa, ponieważ $_POST umożliwia dostęp do danych wprowadzonych przez użytkownika w formularzu, które są wysyłane na serwer. Metoda POST jest bezpieczniejsza od metody GET, ponieważ nie ujawnia danych w URL, co jest istotne w kontekście prywatności i bezpieczeństwa. Przykłady zastosowania obejmują formularze logowania, gdzie dane użytkownika, takie jak hasło, są przesyłane do serwera. Stosując $_POST, programista może w łatwy sposób przetwarzać te dane, walidować je, a następnie zapisać w bazie danych lub wykonać inne operacje. W dobrych praktykach programistycznych zaleca się również stosowanie odpowiednich zabezpieczeń, takich jak filtrowanie i walidacja danych, aby uniknąć ataków typu SQL Injection czy XSS. Użycie $_POST jest kluczowe w tworzeniu nowoczesnych i bezpiecznych aplikacji internetowych.

Pytanie 34

W języku JavaScript zapis ```x = przedmiot.nazwa();``` oznacza, że

A. nazwa jest polem klasy przedmiot.
B. nazwa jest właściwością obiektu przedmiot.
C. zmienna x będzie przechowywać wynik działania funkcji przedmiot.
D. zmienna x będzie przechowywać wynik działania metody nazwa.
Twoja odpowiedź jest niepoprawna. Wybierając opcję, że 'nazwa jest właściwością obiektu przedmiot' możesz mylić funkcje i właściwości. Właściwości to wartości przechowywane w obiekcie, natomiast metody to funkcje związane z obiektem. Jeśli zapis jest w formie 'przedmiot.nazwa();', to 'nazwa' jest metodą, a nie właściwością obiektu. Druga niepoprawna odpowiedź, 'nazwa jest polem klasy przedmiot', sugeruje, że JavaScript jest językiem typu klasowego, jak Java czy C#. W rzeczywistości, JavaScript jest językiem prototypowym, co oznacza, że nie ma klas. Zamiast tego, obiekty dziedziczą bezpośrednio od innych obiektów. Ostatnia niepoprawna odpowiedź, 'zmienna x będzie przechowywać wynik działania funkcji przedmiot', prawdopodobnie wynika z niezrozumienia różnicy między metodami a wolno stojącymi funkcjami. W JavaScript, funkcje są 'wolno stojące', co oznacza, że nie są związane z żadnym obiektem, podczas gdy metody są funkcjami zdefiniowanymi na obiekcie.

Pytanie 35

Aby wyszukać w tabeli Pracownicy tylko te nazwiska, które kończą się na literę "i", można zastosować kwerendę SQL

A. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i"
B. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i"
C. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i%"
D. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i%"
Fajnie, że wybrałeś tę kwerendę SQL: 'SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i";'. To jest naprawdę dobra robota, bo zastosowałeś operator LIKE w odpowiedni sposób. Wzorzec '%i' pozwala na wyszukiwanie nazwisk kończących się na literę 'i'. Ten symbol '%' to taki wildcard, który mówi SQL, żeby szukał czegokolwiek przed 'i', nawet niczego. To jest mega przydatne w codziennej pracy z bazami danych, bo często musimy wyciągać konkretne dane, żeby coś załatwić. Na przykład, jeśli chcemy stworzyć listę pracowników, którzy mają nazwiska kończące się na 'i', to ta kwerenda będzie strzałem w dziesiątkę. Pamiętaj, że dobrze jest testować swoje kwerendy na próbnych danych, żeby mieć pewność, że wyniki są takie, jakie chcemy.

Pytanie 36

Polecenie MySQL pokazane poniżej spowoduje, że użytkownikowi tkowal zostaną odebrane określone uprawnienia:

REVOKE DELETE, UPDATE ON pracownicy FROM 'tkowal'@'localhost';
A. odebrane uprawnienia do usuwania i modyfikacji danych w tabeli pracownicy
B. przydzielone uprawnienia do wszelkich zmian struktury tabeli pracownicy
C. odebrane uprawnienia do usuwania i dodawania rekordów w tabeli pracownicy
D. przydzielone uprawnienia do usuwania oraz aktualizacji danych w tabeli pracownicy
W kontekście zarządzania uprawnieniami w MySQL istotne jest zrozumienie różnicy między przydzielaniem a odbieraniem praw dostępu. Polecenie REVOKE nie przydziela uprawnień lecz je odbiera co jest kluczowym aspektem w zarządzaniu bezpieczeństwem bazy danych. Przydzielanie uprawnień odbywa się za pomocą polecenia GRANT które umożliwia nadanie użytkownikowi określonych praw dostępu do tabeli lub innych obiektów bazy danych. Zrozumienie tego rozróżnienia jest fundamentalne ponieważ wpływa ono na sposób w jaki zarządzamy dostępem użytkowników do wrażliwych danych. W niektórych przypadkach można błędnie założyć że REVOKE dotyczy struktury tabeli co jest mylnym podejściem ponieważ takie działania związane są z prawami DDL a nie DML. Dlatego pomyłka w interpretacji tego polecenia może prowadzić do niezamierzonych konsekwencji takich jak niekontrolowane modyfikacje danych. Typowym błędem jest także przypuszczenie że REVOKE może być używane do przydzielania praw co pokazuje brak zrozumienia podstawowych mechanizmów kontroli dostępu w MySQL. Zarządzanie dostępem jest kluczowe w zapewnieniu integralności i poufności danych dlatego ważne jest aby jasno rozróżniać między przydzielaniem i odbieraniem uprawnień.

Pytanie 37

W dokumentacji języka PHP znajduje się informacja dotycząca jednej z jego funkcji:
„Warning. This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.”.
Zgodnie z tą informacją użycie tej funkcji jest:

A. niezalecane w wersji PHP 5.5.0 i dostępne od wersji 7.0.0.
B. niemożliwe w wersjach PHP 5.5.0 lub starszych i dostępne dopiero od wersji 7.0.0.
C. przestarzałe od wersji PHP 5.5.0 i całkowicie usunięte w wersji 7.0.0.
D. dostępne w wersjach PHP od 5.5.0 do 7.0.0 (włącznie) i niedostępne w innych wersjach.
Opis w dokumentacji PHP, że dane rozszerzenie „was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0”, ma bardzo konkretne znaczenie i jest częścią szerszej polityki utrzymania kompatybilności wstecznej. „Deprecated” nie oznacza ani wprowadzenia funkcji, ani jej czasowej dostępności między jakimiś wersjami, tylko etap przejściowy: funkcja jeszcze działa, ale jest już oznaczona jako przestarzała i przeznaczona do usunięcia w przyszłej głównej wersji języka. Typowym błędem myślowym jest traktowanie słowa „deprecated” jako „od tej wersji pojawia się funkcja” albo „od tej wersji zaleca się jej używanie”. Jest dokładnie odwrotnie – od tej wersji należy zacząć planować rezygnację z tej funkcji. Dlatego interpretacja, że coś jest „niezalecane w 5.5.0 i dostępne od 7.0.0” kompletnie nie trzyma się kupy, bo „removed in 7.0.0” znaczy fizyczne usunięcie, a nie udostępnienie. Innym częstym nieporozumieniem jest myślenie, że skoro pojawia się ostrzeżenie „deprecated”, to w starszych wersjach (np. 5.4, 5.3) ta funkcja nie istniała. W praktyce bardzo często jest tak, że funkcja działała od dawna, w 5.5 została oznaczona jako przestarzała, a dopiero w 7.0 znikła – więc stwierdzenie, że jest „niemożliwa w 5.5.0 lub starszych i dostępna dopiero od 7.0.0” odwraca chronologię do góry nogami. Pojawia się też błędne założenie, że komunikat określa dokładnie zakres wersji, w których funkcja jest dostępna, np. „od 5.5 do 7.0 włącznie”. Tymczasem słowo „removed” jasno wskazuje, że od podanej wersji w górę funkcji już nie ma. Dobry nawyk w pracy z PHP to: zawsze czytać dokładnie notki w dokumentacji, sprawdzać sekcję „Changelog” i traktować ostrzeżenia o przestarzałości jako sygnał do migracji kodu, a nie jako informację o dodaniu nowej funkcji. Z mojego doświadczenia niedokładne zrozumienie tych komunikatów kończy się tym, że po aktualizacji do PHP 7 lub 8 projekt nagle przestaje działać, bo opierał się na funkcjach formalnie wycofanych kilka lat wcześniej.

Pytanie 38

Na podstawie tabeli Towar zrealizowano poniższe zapytanie SQL: ```SELECT nazwa_towaru FROM `Towar` WHERE cena_katalogowa < 65 ORDER BY waga DESC``` Jaki będzie rezultat tej operacji?

Ilustracja do pytania
A. Zeszyt A5 w linie, Zeszyt A5, Kredki 24 kolory, Papier ksero A4
B. Papier ksero A4, Kredki 24 kolory, Zeszyt A5, Zeszyt A5 w linie
C. Zeszyt A5, Zeszyt A5 w linie, Kredki 24 kolory, Papier ksero A4
D. Papier ksero A4, Kredki 24 kolory, Zeszyt A5 w linie, Zeszyt A5
Zapytanie SQL selekcjonuje towary z tabeli Towar, których cena katalogowa jest mniejsza niż 65, a następnie sortuje wyniki malejąco według wagi. Dzięki temu otrzymujemy listę towarów uporządkowaną od najcięższego do najlżejszego, a jednocześnie wykluczamy towary, które nie spełniają kryterium ceny. W podanym zestawie danych znajdują się cztery towary spełniające warunek cenowy: Papier ksero A4, Zeszyt A5, Zeszyt A5 w linie i Kredki 24 kolory. Spośród tych towarów najcięższy jest Papier ksero A4 (2.3), następnie Kredki 24 kolory (0.3), Zeszyt A5 (0.13), a najlżejszy jest Zeszyt A5 w linie (0.12). Kolejność wyników odpowiada zatem prawidłowej odpowiedzi numer 3. W praktyce umiejętność tworzenia zapytań SQL z warunkami filtrowania i sortowania jest niezwykle istotna w analizie danych, umożliwiając precyzyjne wyodrębnienie potrzebnych informacji z dużych zbiorów danych. Dobrym standardem jest zawsze testowanie zapytań na przykładowych danych, aby potwierdzić poprawność wyników przed ich zastosowaniem w środowisku produkcyjnym.

Pytanie 39

Aby uzyskać dane dotyczące środowiska, w którym działa serwer obsługujący PHP, należy użyć funkcji

A. php()
B. phpinfo()
C. phpgetinfo()
D. phpinformation()
Odpowiedzi, które nie są poprawne, wynikają z nieznajomości funkcji PHP oraz ich zastosowania. Funkcja php() nie istnieje w standardowej bibliotece PHP, co czyni ją niepoprawną. Jej podanie sugeruje mylne rozumienie dostępnych funkcji, co może prowadzić do frustracji podczas programowania. Z kolei phpgetinfo() to nazwa, która nie jest zdefiniowana w dokumentacji PHP, co sprawia, że jest to funkcja, której użycie zakończyłoby się błędem. Nazwa ta może sugerować, że ma na celu zdobycie informacji o PHP, ale w rzeczywistości nie istnieje. Wreszcie, phpinformation() również nie jest funkcją obecnie dostępna w PHP. Brak tej funkcji w dokumentacji PHP jest dowodem na to, że nie została ona zaimplementowana przez twórców języka. Wszystkie te niepoprawne odpowiedzi pokazują, jak ważne jest zrozumienie dokumentacji oraz standardów PHP przy tworzeniu aplikacji. Właściwe zrozumienie funkcji i ich zastosowania jest kluczowe dla efektywnego programowania i uniknięcia błędów w kodzie.

Pytanie 40

Jakie skutki przynosi wielokrotne uruchomienie poniższego kodu PHP?

if (!isset($_COOKIE["ciastko"]) 
 $zm = 1; 
 else 
 $zm = intval($_COOKIE["ciastko"]) + 1; 
setcookie("ciastko", $zm);
A. Liczenie liczby wejść na stronę.
B. Pokazanie ciasteczka z wartością zmiennej.
C. Zapisywanie wartości 1 w ciasteczku przy każdym odświeżeniu strony.
D. Przechowywanie informacji w ciasteczku tylko przy pierwszym otwarciu strony.
Błędne odpowiedzi wskazują na zrozumienie podstawowych operacji związanych z ciasteczkami, ale nie uchwycają ich rzeczywistego zastosowania w kontekście analizy odwiedzin. Pierwsza z niepoprawnych opcji, dotycząca wyświetlenia ciasteczka z zapisaną zmienną, myli pojęcie z jego funkcją. Kod nie posiada żadnych instrukcji wyświetlania, a jedynie operuje na danych, które są zapisywane w ciasteczkach. Takie nieporozumienie jest powszechne wśród początkujących programistów, którzy mogą sądzić, że operacje na ciasteczkach automatycznie wiążą się z ich prezentacją użytkownikowi. Druga z opcji sugeruje, że ciasteczko jest ustawiane na wartość 1 przy każdym odświeżeniu strony, co jest nieprawidłowe. W rzeczywistości, wartość ciasteczka jest zwiększana z każdym odwiedzeniem, co oznacza, że wartość 1 jest przypisywana tylko przy pierwszym wejściu. To błędne zrozumienie działania ciasteczek prowadzi do mylnych konkluzji na temat ich zastosowania. Ostatnia propozycja sugeruje, że dane są zapisywane jedynie przy pierwszym uruchomieniu strony, co jest fałszywe, ponieważ aktualizacja ciasteczka zachodzi przy każdym nowym odczycie, a nie tylko przy pierwszym dostępie. Zrozumienie, jak działa mechanizm ciasteczek, jest kluczowe dla prawidłowego ich wykorzystania i analizy interakcji użytkownika z witryną.