Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 29 kwietnia 2026 14:11
  • Data zakończenia: 29 kwietnia 2026 14:14

Egzamin niezdany

Wynik: 15/40 punktów (37,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Na podstawie relacji przedstawionej na ilustracji, można stwierdzić, że jest to relacja

Ilustracja do pytania
A. wiele do wielu pomiędzy kluczami głównymi obu tabel
B. jeden do wielu, gdzie kluczem obcym jest pole w tabeli kadra
C. jeden do jednego, gdzie obie tabele mają przypisane klucze obce
D. jeden do wielu, gdzie kluczem obcym jest pole w tabeli uslugi
Odpowiedzi błędne opierają się na niewłaściwym zrozumieniu relacji w bazach danych. Pierwsza z błędnych koncepcji sugeruje relację jeden do wielu, gdzie kluczem obcym jest pole w tabeli kadra, co jest odwrotne do przedstawionej struktury, gdyż w rzeczywistości pole kadra_id znajduje się w tabeli uslugi, wskazując na tabelę kadra. Relacja jeden do jednego, w której obie tabele mają klucze obce, oznaczałoby, że każdy rekord w jednej tabeli jest ściśle powiązany z jednym rekordem w drugiej, co nie jest przypadkiem dla tych danych. Takie podejście zwykle stosuje się, gdy tabele przechowują różne aspekty tego samego podmiotu, co nie jest odzwierciedlone na diagramie. Relacja wiele do wielu między kluczami głównymi obu tabel wymagałaby użycia dodatkowej tabeli łączącej, co umożliwiałoby powiązanie wielu rekordów każdej z tabel z wieloma rekordami drugiej, co również nie jest przedstawione tutaj. Typową pomyłką przy analizie tego typu relacji jest nieuwzględnienie struktury kluczy obcych i ich roli w łączeniu danych poprzez zrozumienie ich jako jedynie strukturalne powiązania, zamiast narzędzi umożliwiających integralność i spójność danych w bazie. Ważne jest, aby zawsze analizować kierunek relacji i rolę kluczowych pól w kontekście aplikacji i modelu danych, co zapobiega błędnym interpretacjom i wspiera prawidłowe projektowanie bazy danych, zgodnie z jej wymaganiami funkcjonalnymi i wydajnościowymi.

Pytanie 2

Który efekt został zaprezentowany na filmie?

A. Przenikanie zdjęć.
B. Zwiększenie ostrości zdjęcia.
C. Zmniejszenie kontrastu zdjęcia.
D. Zmiana jasności zdjęć.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 3

Aby zweryfikować ustawienia w pliku php.ini, można wykonać skrypt PHP, który zawiera polecenie

A. <?php phpinfo(); ?>
B. <?php ini_set(); ?>
C. <?php echo phpversion(); ?>
D. <?php phpcredits(); ?>
Pomimo że inne funkcje podane w odpowiedziach mogą być użyteczne w różnych kontekstach, nie są one odpowiednie do wyświetlania pełnych ustawień konfiguracyjnych PHP. Funkcja ini_set(), na przykład, służy do dynamicznego zmieniania ustawień konfiguracyjnych w czasie działania skryptu, ale nie dostarcza informacji o aktualnych wartościach tych ustawień. Można ją użyć do modyfikacji konfiguracji, ale nie do ich przeglądania, co czyni ją nieodpowiednią do omawianego zadania. Ponadto, echo phpversion() zwraca jedynie wersję PHP, co jest zbyt ograniczone, aby zapewnić pełny przegląd środowiska konfiguracyjnego. Z kolei phpcredits() wyświetla informacje o wkładzie programistów PHP i nie ma związku z konfiguracją systemu, przez co również nie spełnia wymagań związanych z pytaniem. Często programiści mogą mylić te funkcje, zakładając, że są one w stanie dostarczyć kompleksowych informacji o ustawieniach PHP. Kluczowe jest zrozumienie różnic między tymi funkcjami i umiejętność zastosowania ich w odpowiednich kontekstach, co jest niezbędne do efektywnego zarządzania aplikacjami PHP.

Pytanie 4

W zaprezentowanej klasie zdefiniowane zostały

class a {
    public $b;
    public $c;
    public function d() {}
}
A. dwie metody
B. dwie właściwości
C. jedna właściwość
D. dwa obiekty
Odpowiedzi wskazujące na dwa obiekty lub dwie metody są błędne z powodu niepoprawnej interpretacji struktury klasy. Obiekty są instancjami klas, a nie ich składnikami. W kodzie zadań nie ma definicji żadnych obiektów tylko konstrukcja klasy. Z kolei w kontekście programowania obiektowego metody to funkcje zdefiniowane wewnątrz klasy które mogą operować na danych obiektu i realizować jego funkcje. W przedstawionym kodzie znajduje się tylko jedna metoda o nazwie d. Właściwość jest składnikiem klasy i może być polem lub zmienną instancji która przechowuje dane specyficzne dla instancji klasy. Poprawna odpowiedź zawiera dwie właściwości $b i $c zdefiniowane w klasie jako public. Częstym błędem jest mylenie pojęć metod i właściwości co wynika z braku zrozumienia różnicy między nimi. Metody wykonują operacje na danych obiektu natomiast właściwości przechowują te dane. Zrozumienie tej różnicy jest fundamentem poprawnego stosowania paradygmatu obiektowego w programowaniu i pozwala na bardziej efektywne projektowanie kodu oraz zarządzanie stanem obiektów.

Pytanie 5

Model, w którym wszystkie informacje są zgromadzone w jednej tabeli, określa się jako struktura prostych baz danych

A. relacyjnym
B. hierarchicznym
C. sieciowym
D. jednorodnym
Model jednorodny, znany też jako model płaskiej tabeli, to taka struktura bazy, w której trzymamy wszystkie dane w jednej tabeli. To najprostsza opcja do zrozumienia i wdrożenia, dlatego świetnie nadaje się do małych i prostych aplikacji. W tym modelu dane są poukładane w wiersze i kolumny – każdy wiersz to jakiś rekord, a kolumny to różne cechy lub atrybuty tego rekordu. Na przykład, wyobraź sobie tabelę z informacjami o książkach: każda książka to osobny wiersz, a kolumny mogą zawierać tytuł, autora, rok wydania czy ISBN. Oczywiście, ma to swoje ograniczenia, zwłaszcza jeśli chodzi o wydajność i zarządzanie dużymi zbiorami danych. Dlatego w praktyce często przechodzi się na bardziej zaawansowane modele, jak relacyjny. Mimo to, model jednorodny sprawdza się w prototypowaniu albo tam, gdzie liczy się prostota i szybki dostęp do danych. Warto też wiedzieć, że nie korzysta się tu do końca ze standardów typu SQL, bo nie ma relacji między danymi.

Pytanie 6

Aby w tabeli praca, tworzonej w SQL, dodać warunek w kolumnie stawka, który nakazuje przyjmowanie dodatnich wartości rzeczywistych mniejszych niż 50, należy zastosować zapis

A. ... stawka float CHECK(stawka>0 AND stawka<50.00)
B. ... stawka float CHECK(stawka>0 OR stawka<50.00)
C. ... stawka float CHECK(stawka BETWEEN 0 AND 50.00)
D. ... stawka float CHECK(stawka IN (0, 50.00))
Pierwsza z niepoprawnych odpowiedzi wykorzystuje operator IN, który nie jest odpowiedni dla tego przypadku. Operator IN służy do sprawdzania, czy wartość znajduje się w zbiorze dozwolonych wartości. W kontekście stawki, nie ma sensu ograniczać się tylko do wartości 0 i 50.00, ponieważ chcemy, by 'stawka' mogła przyjmować wiele wartości w przedziale od 0 do 50, a nie tylko te dwa. Kolejna odpowiedź stosuje operator OR, co prowadzi do błędnej interpretacji wymagań. Użycie OR oznacza, że 'stawka' mogłaby być większa od 0 lub mniejsza od 50, co w efekcie pozwalałoby na wprowadzenie wartości, które nie spełniają założonego kryterium, takich jak liczby ujemne. Ostatnia z odpowiedzi używa operatora BETWEEN, który również nie jest odpowiedni, ponieważ tworzy zakres od 0 do 50, co nie spełnia warunku, że stawka musi być większa od 0. Zatem, wszystkie trzy odpowiedzi nie zapewniają poprawnej weryfikacji danych w kolumnie 'stawka' w tabeli SQL, co jest kluczowe dla utrzymania jakości i integralności danych.

Pytanie 7

W języku JavaScript następujący zapis: var napis1 = new napisy); ma na celu

A. stworzenie instancji obiektu napis1 klasy napisy
B. zadeklarowanie zmiennej napis1 oraz wywołanie funkcji, w której argumentem jest napis1
C. stworzenie nowej klasy napis1
D. wywołanie metody dla obiektu napisy
Pierwsza z niepoprawnych odpowiedzi sugeruje, że kod tworzy nową klasę 'napis1', co jest błędem. W rzeczywistości, w JavaScript klasy są definiowane za pomocą słowa kluczowego 'class', a 'new napisy()' uruchamia konstruktor, a nie definiuje klasę. Klasy w JavaScript można zdefiniować w następujący sposób: 'class napisy { constructor() { this.text = ''; }}', co wyraźnie różni się od podanego przykładu. Kolejna odpowiedź mówi o wywołaniu metody obiektu 'napisy', co również jest mylące, ponieważ aby wywołać metodę, obiekt musi być już stworzony, a 'new napisy()' nie wywołuje metody, lecz tworzy instancję obiektu. Ostatnia z odpowiedzi wskazuje na zadeklarowanie zmiennej 'napis1' i wywołanie funkcji z argumentem 'napis1', co jest całkowicie niezgodne z intencją podanego kodu. Nie ma tu żadnego wywołania funkcji z argumentem, a 'new' jest używane do instancjonowania klasy, co nie ma nic wspólnego z przekazywaniem argumentów do funkcji. Tak więc, wszystkie te odpowiedzi nie oddają prawidłowego zrozumienia działania konstrukcji obiektowych w JavaScript.

Pytanie 8

Który format graficzny rastrowy jest obsługiwany przez przeglądarki internetowe?

A. FLIF
B. PCX
C. PNG
D. TGA
Format PNG (Portable Network Graphics) to jeden z tych formatów, które są naprawdę popularne w sieci. Przeglądarki go dobrze obsługują, co jest dużym plusem. Został stworzony jako lepsza wersja formatu GIF i do tego ma większą paletę kolorów oraz wspiera przezroczystość. To oznacza, że jakość obrazka pozostaje wysoka, kiedy go zapisujesz, bo PNG korzysta z bezstratnej kompresji. Dodatkowo, ten format pozwala na różne stopnie przezroczystości, co czyni go idealnym do różnych grafik w Internecie, na przykład logo czy ikony. Fajnie, że jest zgodny z HTML5 i CSS, bo to ułatwia pracę przy projektowaniu stron. Można go używać z kolorami w trybie RGBA, dzięki czemu można dodawać fajne efekty z przezroczystością, co zdecydowanie poprawia wygląd stron. W praktyce wiele witryn korzysta z PNG, bo nie tylko zachowuje jakość, ale też nie zajmuje dużo miejsca na serwerze, co sprawia, że strony ładują się szybciej i użytkownicy mają lepsze doświadczenia.

Pytanie 9

W jakich formatach można przechować wideo razem z dźwiękiem?

A. AAC
B. WAV
C. MP4
D. WMA
AAC, WAV i WMA to formaty, które służą głównie do przechowywania dźwięku, a nie wideo. AAC (Advanced Audio Codec) jest formatem kompresji audio, który zapewnia wysoką jakość dźwięku przy niskiej przepływności, ale nie obsługuje obrazu, co sprawia, że nie nadaje się do zapisywania materiałów wideo. WAV (Waveform Audio File Format) to nieskompresowany format dźwiękowy, który oferuje doskonałą jakość audio, jednak jego dużą wadą jest rozmiar pliku, co czyni go mało praktycznym do przechowywania wideo. WAV jest często używany w kontekście profesjonalnej produkcji audio, ale nie ma możliwości zapisu ścieżki wideo w tym formacie. WMA (Windows Media Audio) to kolejny format audio, który jest stosowany głównie w systemach Windows. Mimo że WMA może oferować dobrą jakość dźwięku, jest to format zaprojektowany wyłącznie do przechowywania plików audio, co wyklucza go z możliwości zapisu materiałów wideo. Dlatego też, wszystkie te formaty są niewłaściwe w kontekście zapisu materiałów wideo z dźwiękiem, ponieważ każdy z nich skupia się wyłącznie na audio lub nie obsługuje wideo wcale.

Pytanie 10

Wskaż poprawne stwierdzenie dotyczące przedstawionego kodu HTML.
<video width="640" height="480" controls>
<source src="animacja.mp4" type="video/mp4">
</video>

A. Kod może nie działać w przeglądarkach, które nie obsługują HTML5.
B. Lokalizacja pliku jest nieprawidłowa, brak w niej ścieżki bezwzględnej.
C. Użytkownik nie będzie miał możliwości kontrolowania odtwarzania wideo.
D. Plik animacja.mp4 powinien mieć rozdzielczość 640x480 pikseli, aby był odtwarzany.
Pierwsze stwierdzenie sugeruje, że plik animacja.mp4 musi mieć dokładnie rozdzielczość 640x480 pikseli, co jest nieprawdziwe. Format &lt;video&gt; w HTML umożliwia odtwarzanie filmów w różnych rozdzielczościach, a przeglądarka automatycznie dostosuje odtwarzanie w zależności od dostępnych zasobów i jakości pliku wideo. Drugie stwierdzenie, że użytkownik nie będzie miał możliwości sterowania odtwarzaniem, jest sprzeczne z definicją atrybutu 'controls', który dodaje elementy sterujące do odtwarzacza, takie jak play, pause i seek. Trzecie stwierdzenie odnosi się do lokalizacji pliku, podczas gdy w rzeczywistości plik animacja.mp4 może być lokalizowany w różnych folderach, a nie tylko w ścisłej ścieżce bezwzględnej. HTML5 wprowadza wiele standardów i uproszczeń, a deweloperzy są zobowiązani do przestrzegania tych standardów, aby zapewnić, że ich treści będą dostępne na różnych platformach. Typowe błędy myślowe prowadzące do takich wniosków obejmują nieznajomość zasad działania znaczników HTML oraz niepełne zrozumienie mechanizmów, jakie przeglądarki stosują w kontekście odtwarzania multimediów.

Pytanie 11

Jakie jest zadanie funkcji agregującej AVG w zapytaniu?

SELECT AVG(cena) FROM uslugi;
A. obliczyć średnią arytmetyczną wartości wszystkich usług
B. sprawdzić, ile usług znajduje się w tabeli
C. zliczyć całkowity koszt wszystkich usług
D. określić najwyższą wartość spośród cen usług
Funkcja AVG w SQL jest jednym z podstawowych narzędzi do analizy danych w bazach danych. Jej głównym celem jest obliczenie średniej arytmetycznej wartości w kolumnie, co jest kluczowe w raportowaniu i analizie danych. W zapytaniu SQL SELECT AVG(cena) FROM uslugi; funkcja AVG jest użyta, aby uzyskać średnią cenę wszystkich usług zapisanych w tabeli uslugi. Taka średnia jest przydatna w wielu kontekstach biznesowych na przykład przy tworzeniu raportów finansowych czy analizie kosztów w celu optymalizacji oferty. Średnia arytmetyczna pozwala zrozumieć przeciętną wartość danego zestawu danych co jest istotne w podejmowaniu decyzji. Standardy branżowe zalecają użycie funkcji AVG wszędzie tam gdzie potrzebna jest szybka i efektywna analiza danych liczbowych. Zrozumienie działania funkcji AVG jest kluczowe w pracy z bazami danych SQL gdyż pozwala na bardziej złożone analizy jak np. porównanie średnich z różnych okresów czasu lub segmentów rynku.

Pytanie 12

Jaką rolę pełni funkcja PHP o nazwie mysql_select_db()?

A. nawiązać połączenie bazy danych z serwerem SQL
B. określić bazę, z której będą pobierane dane
C. pobrać dane z bazy danych na podstawie zapytania
D. określić tabelę, z której będą pobierane informacje
Funkcja mysql_select_db() służy do określenia, która baza danych będzie używana w kontekście bieżącego połączenia z serwerem MySQL. W momencie, gdy nawiązuje się połączenie z serwerem za pomocą funkcji mysql_connect(), należy jasno zdefiniować, w której bazie danych będą wykonywane zapytania. Właściwe ustawienie aktualnej bazy danych jest kluczowe, ponieważ wszelkie operacje związane z pobieraniem lub modyfikowaniem danych będą odnosiły się tylko do tej wskazanej bazy. Przykładowo, jeżeli mamy bazę danych 'sklep' i chcemy pobrać dane o produktach, najpierw musimy wywołać mysql_select_db('sklep'). Dobrą praktyką jest również sprawdzenie, czy operacja wyboru bazy danych zakończyła się sukcesem, co można zrobić, sprawdzając zwracany wynik. Należy pamiętać, że funkcja mysql_select_db() jest częścią starzejącego się interfejsu MySQL, a w nowoczesnych aplikacjach rekomendowane są bardziej aktualne rozszerzenia, takie jak MySQLi lub PDO, które oferują lepsze możliwości obsługi błędów oraz bezpieczeństwo.

Pytanie 13

Jaką klauzulę należy użyć w instrukcji CREATE TABLE w SQL, żeby pole rekordu nie mogło być puste?

A. CHECK
B. NULL
C. NOT NULL
D. DEFAULT
Klauzula NOT NULL w poleceniu CREATE TABLE języka SQL służy do zapewnienia, że dane w danym polu rekordu nie mogą być puste. To oznacza, że podczas wstawiania nowych rekordów do tabeli, każde pole, które zostało zdefiniowane z tą klauzulą, musi zawierać wartość. Na przykład, jeśli mamy tabelę pracowników, w której kolumna 'nazwisko' jest zdefiniowana jako NOT NULL, to każde dodanie nowego pracownika do tej tabeli musi zawierać wartość w kolumnie 'nazwisko'. W praktyce jest to bardzo ważne, ponieważ pozwala na utrzymanie integralności danych i zapobiega sytuacjom, w których kluczowe informacje mogłyby zostać pominięte. Użycie NOT NULL jest zgodne z dobrymi praktykami projektowania baz danych, które podkreślają znaczenie pełnych i kompletnych danych. Zastosowanie tej klauzuli zwiększa jakość danych oraz ułatwia późniejsze operacje na tabeli, takie jak zapytania czy raporty.

Pytanie 14

Fragment formularza zaprezentowany powyżej został przetworzony w skrypcie PHP. Wskaż poprawny sposób pobierania wartości z pola edycyjnego.

Ilustracja do pytania
A. name = $_GET[imie]
B. $name = $_POST['imie']
C. $name = $POST['Imię']
D. name = GET['imie']
W przypadku niepoprawnych odpowiedzi kluczowym problemem jest niezrozumienie sposobu działania metod przesyłania danych w HTTP oraz odpowiedniego ich odczytywania w PHP. Odpowiedź z użyciem GET['imie'] pomija istotny element składniowy: znak dolara ($) przed GET, co jest konieczne w PHP dla wszystkich zmiennych. Ponadto, $_GET nie jest odpowiednia dla formularza, który został przesłany metodą POST jak w przedstawionym formularzu; użycie $_GET wskazuje na próbę pobrania danych z URL-a, co nie jest zgodne z metodą POST. Kolejna odpowiedź z użyciem $POST['Imię'] jest błędna z dwóch powodów: brak znaku dolara przy POST oraz niezachowanie poprawnej nazwy klucza który jest case-sensitive. Klucz 'Imię' różni się od 'imie' co prowadzi do błędu, gdy próbujemy odwołać się do nieistniejącego klucza. W PHP, nazwy kluczy w superglobalnych tablicach są case-sensitive, co oznacza, że każde odstępstwo od zadeklarowanej nazwy w formularzu będzie prowadziło do błędów. Te błędy często wynikają z pośpiechu lub niedokładności, co podkreśla wagę staranności i dokładności podczas pracy z kodem. Zarówno GET jak i POST mają swoje zastosowania, ale muszą być używane zgodnie z przeznaczeniem i w odpowiedni sposób, co jest kluczowe dla poprawnego działania aplikacji webowych. Zrozumienie tych różnic jest istotne dla programistów, aby unikać typowych pułapek związanych z bezpieczeństwem i funkcjonalnością aplikacji webowych. Poprawne użycie superglobalnych tablic PHP jest fundamentem tworzenia solidnych i bezpiecznych aplikacji internetowych.

Pytanie 15

W skrypcie JavaScript operatory: ||, && zaliczane są do kategorii operatorów

A. bitowych
B. logicznymi
C. przypisania
D. arytmetycznych
Odpowiedzi przypisania, bitowe oraz arytmetyczne są błędne z kilku powodów, które dotyczą ich definicji i zastosowania w kontekście języka JavaScript. Operatory przypisania, takie jak '=', służą do przypisywania wartości do zmiennych, co jest fundamentalnym aspektem zarządzania danymi w programowaniu. Nie mają one jednak związku z operacjami logicznymi, które koncentrują się na manipulacji wartościami prawda/fałsz. Z kolei operatory bitowe, takie jak '&' i '|', operują na bitach liczby i są używane do wykonywania operacji na poziomie binarnym. Chociaż operatorzy bitowi mogą wydawać się podobni do operatorów logicznych, ich zastosowanie i efekty są zupełnie inne. Operatorzy arytmetyczni, natomiast, obejmują takie operacje jak dodawanie, odejmowanie, mnożenie i dzielenie, które są stosowane do wartości liczbowych. Ostatecznie, mylenie operatorów logicznych z tymi trzema kategoriami może prowadzić do poważnych błędów w kodzie, takich jak nieprawidłowe warunki w instrukcjach warunkowych, co może skutkować nieoczekiwanym zachowaniem aplikacji. Zrozumienie różnic pomiędzy tymi operatorami jest kluczowe dla każdego programisty, aby uniknąć typowych pułapek związanych z logiką programowania.

Pytanie 16

Wskaż stwierdzenie, które jest prawdziwe dla następującej definicji stylu:

<style type="text/css">
<!--
  p {color: blue; font-size: 14pt; font-style: italic}
  a { font-size: 16pt; text-transform: lowercase; }
  td.niebieski { color: blue }
  td.czerwony { color: red }
-->
</style>
A. Jest to styl lokalny.
B. Akapit będzie transponowany na małe litery.
C. Zdefiniowano dwie klasy.
D. Odnośnik będzie pisany czcionką 14 punktów.
Gratulacje, dobrze odpowiedziałeś. W załączonym kodzie CSS zdefiniowano dwie klasy, a mianowicie 'niebieski' i 'czerwony'. Klasy te są przypisane do elementów TD, co oznacza, że komórki tabeli mogą mieć kolor niebieski lub czerwony w zależności od przypisanej klasy. Klasy CSS są jednym z podstawowych sposobów formatowania elementów na stronie internetowej, które pozwalają na stylizowanie grup elementów na podstawie wspólnego identyfikatora klasy. Zamiast formatować każdy element HTML osobno, możemy jednorazowo zdefiniować styl dla klasy, a następnie przypisać tę klasę do dowolnej liczby elementów. To jest zgodne z dobrymi praktykami programowania DRY (Don't Repeat Yourself), co zwiększa czytelność i utrzymanie kodu. W kontekście pytania, każda komórka tabeli przypisana do klasy 'niebieski' lub 'czerwony' będzie miała odpowiednio niebieski lub czerwony kolor.

Pytanie 17

Tabela o nazwie naprawy zawiera kolumny klient oraz czyNaprawione. Jakie polecenie należy wykonać, aby usunąć te rekordy, w których wartość w kolumnie czyNaprawione jest prawdziwa?

A. DELETE klient FROM naprawy WHERE czyNaprawione= TRUE;
B. DELETE naprawy WHERE czyNaprawione= TRUE;
C. DELETE FROM naprawy;
D. DELETE FROM naprawy WHERE czyNaprawione= TRUE;
Odpowiedź 'DELETE FROM naprawy WHERE czyNaprawione= TRUE;' jest poprawna, ponieważ precyzyjnie wskazuje, które rekordy mają być usunięte z tabeli 'naprawy'. W SQL, polecenie DELETE jest używane do usuwania rekordów z bazy danych, a klauzula WHERE jest kluczowa, aby ograniczyć operację do tych rekordów, które spełniają określone warunki. W tym przypadku, warunek 'czyNaprawione= TRUE' wskazuje, że chcemy usunąć tylko te rekordy, dla których naprawa została już zakończona. W praktyce, stosowanie klauzuli WHERE jest niezbędne, aby uniknąć usunięcia wszystkich rekordów z danej tabeli, co mogłoby prowadzić do utraty cennych danych. W kontekście dobrych praktyk, zawsze należy być ostrożnym przy używaniu polecenia DELETE i dokładnie weryfikować warunki znajdujące się w klauzuli WHERE. Dodatkowo, przed przeprowadzeniem operacji usuwania, warto wykonać zapytanie SELECT z tymi samymi warunkami, aby upewnić się, które rekordy zostaną usunięte, co pozwala na uniknięcie niezamierzonych skutków.

Pytanie 18

Zamieszczony kod w języku PHP

Ilustracja do pytania
A. definiuje tablicę z trzema wartościami
B. określa tablicę z sześcioma wartościami
C. jest niepoprawny, nieznany operator =>
D. jest błędny, indeksami tablicy mogą być wyłącznie liczby całkowite
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 19

Jakie mechanizmy przydzielania zabezpieczeń, umożliwiające przeprowadzanie operacji na bazie danych, są powiązane z zagadnieniami dotyczącymi zarządzania kontami, użytkownikami oraz uprawnieniami?

A. Z atrybutami
B. Z przywilejami obiektowymi
C. Z przywilejami systemowymi
D. Z regułami
Uprawnienia związane z atrybutami i regułami mogą mylnie wydawać się odpowiednie w kontekście zarządzania dostępem, ale ich zrozumienie jest kluczowe, aby uniknąć błędnych wniosków. Atrybuty w kontekście systemów zarządzania bazami danych są często używane do definiowania cech obiektów, takich jak kolumny w tabelach, ale nie są bezpośrednio związane z mechanizmami nadawania uprawnień. Reguły, choć mogą być wykorzystywane do definiowania polityk bezpieczeństwa, nie są tym samym co przywileje systemowe. Przywileje obiektowe, z kolei, dotyczą dostępu do konkretnych obiektów w bazie danych, takich jak tabele czy widoki, a nie ogólnych uprawnień administracyjnych. Często występuje nieporozumienie, że wszystkie te mechanizmy są równoważne, co prowadzi do niewłaściwego stosowania uprawnień w systemach. Kluczowe jest zrozumienie, że przywileje systemowe są tymi, które kontrolują dostęp do całej struktury bazy danych, a nie tylko do jej poszczególnych elementów, co stanowi podstawę dla skutecznego zarządzania bezpieczeństwem w środowiskach IT. W praktyce niepoprawne przypisywanie uprawnień może prowadzić do nieautoryzowanego dostępu do danych, co jest sprzeczne z najlepszymi praktykami ochrony informacji.

Pytanie 20

Przedstawione polecenie MySQL ma za zadanie

 ALTER TABLE ksiazki
 MODIFY tytul VARCHAR(100) NOT NULL;
A. zmienić nazwę kolumny w tabeli ksiazki.
B. usunąć kolumnę tytul z tabeli ksiazki.
C. dodać do tabeli ksiazki kolumnę tytul.
D. zmienić typ kolumny tytul w tabeli ksiazki.
Dobra robota, Twoja odpowiedź jest właściwa! W poleceniu użyto ALTER TABLE, co to jest ten typowy sposób na modyfikowanie tabel w bazach danych. No i to słowo kluczowe MODIFY wskazuje, że zmieniamy coś w już istniejącej kolumnie. W tym przypadku chodzi o kolumnę 'tytul' w tabeli 'ksiazki', której typ zmieniamy na VARCHAR(100), co znaczy, że teraz może ona mieć teksty do 100 znaków długości. Dodatkowo dodajemy ograniczenie NOT NULL, więc 'tytul' musi być zawsze wypełniony. To normalna rzecz, kiedy na przykład musimy dostosować strukturę danych, gdy na przykład zauważymy, że tytuły książek stają się dłuższe albo musimy mieć pewność, że zawsze są wprowadzone.

Pytanie 21

Który z komentarzy przedstawia opis działania funkcji zdefiniowanej w języku PHP?

A. /* Funkcja zwraca większą z dwóch podanych wartości, a w przypadku ich równości zwraca -1 */
B. /* Funkcja zwraca większą z dwóch podanych wartości, a w przypadku ich równości zwraca wartość $a */
C. /* Funkcja zwraca mniejszą z dwóch podanych wartości, a w przypadku ich równości zwraca wartość $a */
D. /* Funkcja zwraca mniejszą z dwóch podanych wartości, a w przypadku ich równości zwraca -1 */
W analizowanych odpowiedziach można zauważyć kilka nieporozumień dotyczących działania funkcji. Niektóre propozycje podają informację, że funkcja zwraca wartość niższą z dwóch podanych argumentów, co jest absolutnie błędne. Funkcja jest zaprojektowana tak, aby zawsze zwracała wartość wyższą, co jest kluczowym aspektem jej działania. Inne odpowiedzi wskazują, że w przypadku równości funkcja zwraca wartość $a, co także jest niezgodne z kodem źródłowym. W rzeczywistości, zgodnie z implementacją, zwracana jest wartość -1, co jest istotne, ponieważ wskazuje na brak różnicy między argumentami. Tego rodzaju pomyłki mogą wynikać z nieścisłości w interpretacji warunków logicznych. Ważne jest, aby przy analizie funkcji dokładnie zwracać uwagę na każdy element kodu, aby nie przeoczyć istotnych szczegółów. Przykładowo, błędne rozumienie tego, co oznacza 'wyższa' wartość w kontekście porównania, może prowadzić do złych wniosków w dalszym programowaniu, w szczególności w funkcjach, które bazują na porównaniach. Dlatego tak istotne jest, aby korzystać z praktyk kodowania, które zapewniają jasność i przejrzystość działania funkcji.

Pytanie 22

Jakie jest znaczenie powtarzania w zdefiniowanym stylu CSS?

body {
  background-image: url("rysunek.gif");
  background-repeat: repeat-y;
}
A. obrazu umieszczonego przy użyciu znacznika img
B. obrazu umieszczonego w tle strony w pionie
C. tła każdego z paragrafów
D. obrazu umieszczonego w tle strony w poziomie
Rozważając inne odpowiedzi nietrudno dostrzec podstawowe błędy w ich koncepcjach Rysunek umieszczony w tle strony w poziomie odpowiadałby wartości repeat-x a nie repeat-y To fundamentalne rozróżnienie wynika z konwencji nazewnictwa CSS która jasno określa kierunki powtarzania W przypadku użycia znacznika img obraz jest osadzony w treści dokumentu HTML a nie jako tło CSS Powtarzanie w takim kontekście nie ma miejsca ponieważ obrazki w znacznikach img są kontrolowane za pomocą innych mechanizmów jak szerokość wysokość czy pozycjonowanie w ramach układu strony Ostatnia opcja odnosząca się do tła każdego ze znaczników akapitu wykazuje niezrozumienie kontekstu CSS Deklaracja body odnosi się do całego dokumentu a nie do poszczególnych elementów takich jak akapity aby zmienić tło akapitów należałoby użyć selektora p lub innego klasyfikatora odpowiadającego tym elementom Nietrafne odpowiedzi wynikają z nieznajomości podstawowych zasad działania CSS oraz ich zastosowania w praktyce co podkreśla potrzebę dogłębnego zrozumienia jak poszczególne właściwości wpływają na układ i wygląd strony internetowej

Pytanie 23

W języku JavaScript stworzono funkcję o nazwie liczba_max, która porównuje trzy liczby naturalne przekazane jako argumenty i zwraca największą z nich. Jak powinno wyglądać prawidłowe wywołanie tej funkcji oraz uzyskanie jej wyniku?

A. liczba_max(a,b,c)=wynik;
B. var wynik=liczba_max(a,b,c);
C. liczba_max(a,b,c,wynik);
D. liczba_max(a,b,c);
Odpowiedzi takie jak "liczba_max(a,b,c);" nie są poprawne, ponieważ brak w nich przypisania wyniku funkcji do zmiennej. W języku JavaScript funkcje są wywoływane, ale ich rezultat musi być z miejsca przechowywany, jeśli mamy zamiar go wykorzystać. Prawidłowe wywołanie funkcji powinno zawsze uwzględniać kontekst, w którym wynik ma być użyty. W przypadku "liczba_max(a,b,c,wynik);" występuje nieprawidłowa liczba argumentów, ponieważ funkcja nie wymaga czwartego parametru, co prowadzi do błędów wykonania. Odpowiedź "liczba_max(a,b,c)=wynik;" również nie jest poprawna, ponieważ w JavaScript nie możemy przypisać wartości bezpośrednio do wywołania funkcji. To podejście narusza zasady składniowe języka. W przypadku kiedy spróbujemy zastosować takie zapisy, interpreter języka zgłosi błąd. Warto zauważyć, że błędne myślenie o strukturze funkcji i jej wywołaniu wynika często z nieznajomości podstaw składni oraz koncepcji programowania. Dobre praktyki w programowaniu rekomendują, aby zawsze przy wywołaniu funkcji, której wynik chcemy przechować, użyć operatora przypisania. W przeciwnym wypadku, nie będziemy mogli uzyskać dostępu do wartości, które funkcja generuje.

Pytanie 24

Opracowanie logicznego układu strony internetowej wiąże się z

A. umiejscowieniem elementów w konkretnych punktach strony.
B. określeniem zawartości strony.
C. zdefiniowaniem adresów URL dla podstron strony.
D. stworzeniem zbioru grafik dla strony.
Zdefiniowanie treści witryny to proces, który dotyczy stworzenia zawartości, ale nie ma bezpośredniego związku z logicznym układem witryny. Treść jest ważnym aspektem, ale sama w sobie nie definiuje, jak użytkownicy będą się poruszać po stronie, ani nie wpływa na jej strukturalne rozmieszczenie. Opracowanie zestawu grafik dla witryny jest kluczowe dla estetyki, ale to nie elementy wizualne decydują o organizacji treści. Grafiki powinny wspierać rozmieszczenie elementów, a nie go definiować. Ustalanie adresów URL dla podstron witryny, choć istotne dla SEO i nawigacji, również nie odnosi się bezpośrednio do logicznego układu witryny. Adresy URL są technicznymi identyfikatorami zasobów, ale ich struktura nie ma wpływu na to, jak elementy są rozmieszczone w kontekście wizualnym i funkcjonalnym witryny. Właściwe podejście do projektowania witryny wymaga zrozumienia, że wszystkie aspekty muszą współgrać ze sobą, ale to właśnie rozmieszczenie elementów w przestrzeni decyduje o jej użyteczności.

Pytanie 25

Jaki typ danych w MySQL należy zastosować, aby w jednym polu zapisać zarówno datę, jak i czas?

A. BOOLEAN
B. DATE
C. YEAR
D. TIMESTAMP
Odpowiedzi DATE, YEAR i BOOLEAN są niewłaściwe w kontekście przechowywania zarówno daty, jak i czasu w bazie danych MySQL. DATE jest typem danych, który przechowuje tylko datę, bez informacji o godzinie. Użycie DATE oznaczałoby utratę ważnych informacji o czasie, co może być istotne w wielu aplikacjach, na przykład w systemach rejestracji zdarzeń. YEAR, z kolei, jest ograniczonym typem danych, który służy jedynie do przechowywania roku. Oznacza to, że nie może być użyty do rejestrowania pełnej daty ani czasu, co jest niewystarczające w przypadku wielu praktycznych zastosowań. BOOLEAN to typ danych, który przechowuje jedynie wartości logiczne (prawda/fałsz) i nie ma zastosowania w kontekście daty i czasu. Typowe błędy myślowe, które mogą prowadzić do wyboru niewłaściwych typów danych, obejmują myślenie, że daty i czasy można zrealizować oddzielnie, co w praktyce może prowadzić do problemów z synchronizacją i zarządzaniem danymi. Właściwe rozumienie dostępnych typów danych w MySQL jest kluczowe dla efektywnego projektowania baz danych i zapewnienia ich integralności.

Pytanie 26

Zamieszczone zapytanie SQL przyznaje prawo SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla użytkownika root na serwerze localhost
B. do wszystkich tabel w bazie hurtownia
C. dla użytkownika root na serwerze sprzedawca
D. do wszystkich kolumn w tabeli hurtownia
Polecenie GRANT SELECT ON hurtownia.* TO sprzedawca@localhost; jest często źle interpretowane co prowadzi do błędnego przypisania uprawnień. Częstym problemem jest mylne przekonanie, że przyznanie uprawnień do wszystkich pól w tabeli oznacza to samo co do wszystkich tabel. Symbol * w poleceniu odnosi się do wszystkich tabel w bazie hurtownia a nie do wszystkich pól pojedynczej tabeli. To ważne rozróżnienie wpływa na sposób przyznawania i zarządzania uprawnieniami w kontekście bezpieczeństwa i dostępu do danych. Błędna interpretacja że uprawnienie dotyczy użytkownika root jest wynikiem niezrozumienia konwencji dotyczącej składni SQL gdzie specyficzna definicja użytkownika pojawia się po słowie TO w naszym przypadku jest to sprzedawca@localhost. To wyklucza użytkownika root z opcji możliwych odbiorców tego uprawnienia. Warto zwrócić uwagę że identyfikacja użytkownika sprzedawca@localhost jednoznacznie określa użytkownika działającego z lokalnego serwera a nie z dowolnego hosta co jest istotne z punktu widzenia bezpieczeństwa systemu. Zrozumienie tych niuansów jest kluczowe dla efektywnego zarządzania bazami danych i ochrony przed nieautoryzowanym dostępem. W praktyce przyznanie uprawnień powinno być starannie rozważone i dostosowane do potrzeb zgodnie z zasadą najmniejszych uprawnień co minimalizuje ryzyko błędów i nadużyć systemowych.

Pytanie 27

Za pomocą zapytania SQL trzeba uzyskać z bazy danych nazwiska pracowników, którzy pełnią funkcję kierownika, a ich wynagrodzenie mieści się w przedziale jednostronnie domkniętym (3000, 4000>. Która klauzula sprawdza ten warunek?

A. WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000
B. WHERE kierownik = true OR pensja > 3000 OR pensja <= 4000
C. WHERE kierownik = true AND pensja => 3000 OR pensja < 4000
D. WHERE kierownik = true AND pensja => 3000 AND pensja <= 4000
Odpowiedź WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000 jest poprawna, ponieważ precyzyjnie definiuje warunki, które muszą być spełnione, aby zwrócić odpowiednich pracowników. Klauzula WHERE jest fundamentalnym elementem zapytań SQL, który pozwala na filtrację wyników na podstawie określonych kryteriów. W tym przypadku, warunek 'kierownik = true' zapewnia, że tylko pracownicy pełniący rolę kierowników zostaną uwzględnieni w wynikach. Dodatkowo, użycie operatorów porównania '>' oraz '<=' dla pensji umożliwia dokładne zdefiniowanie przedziału, w którym pensja musi się mieścić. W praktyce, w kontekście baz danych, taka filtracja pozwala na efektywne zarządzanie danymi oraz generowanie raportów zgodnych z wymaganiami analizy. Stosowanie tego typu warunków w zapytaniach SQL jest zgodne z najlepszymi praktykami, gdyż umożliwia precyzyjne i wydajne wyszukiwanie danych, co jest kluczowe w zarządzaniu informacjami w złożonych systemach bazodanowych.

Pytanie 28

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

A. przesyłanie danych formularza bezpośrednio do bazy danych
B. pobieranie oraz modyfikowanie elementów strony widocznej w przeglądarce
C. przeprowadzanie operacji na zmiennych przechowujących liczby
D. manipulowanie łańcuchami zadeklarowanymi w kodzie
Odpowiedź dotycząca pobierania i modyfikowania elementów strony wyświetlonej przez przeglądarkę jest poprawna, ponieważ DOM (Document Object Model) stanowi interfejs programistyczny, który umożliwia skryptom JavaScript dostęp do struktury dokumentu HTML lub XML. Dzięki DOM programiści mogą dynamicznie zmieniać zawartość, strukturę i styl dokumentu. Na przykład, za pomocą metody document.getElementById('elementId') można uzyskać dostęp do konkretnego elementu na stronie, a następnie modyfikować jego właściwości, jak tekst czy atrybuty, za pomocą elementów takich jak innerHTML lub setAttribute. Stosowanie DOM jest zgodne z najlepszymi praktykami, takimi jak minimalizowanie manipulacji na stronie, co prowadzi do lepszej wydajności aplikacji. Warto również zwrócić uwagę na standardy W3C, które promują poprawne użycie DOM w kontekście dostępu i użyteczności stron internetowych. Umiejętność efektywnej pracy z DOM jest kluczowa w nowoczesnym web developmencie, gdzie interaktywność i dynamika są niezbędne do tworzenia atrakcyjnych i responsywnych aplikacji internetowych.

Pytanie 29

Wskaź, która instrukcja jest równoważna z instrukcją switch w języku PHP?

Ilustracja do pytania
A. Instrukcja 4
B. Instrukcja 1
C. Instrukcja 2
D. Instrukcja 3
Wybierając równoważną instrukcję dla switcha w PHP, kluczowe jest zrozumienie, jakie wartości są sprawdzane i jakie operacje są wykonywane dla każdej z nich. W przypadku podanego switcha, wartości 10 i 20 prowadzą do zwiększenia zmiennej $liczba o 1, a inne wartości do przypisania 0 do zmiennej. Instrukcja 1 nie uwzględnia warunku dla wartości 20, co sprawia, że nie jest równoważna dla switcha, ponieważ brakuje jednego z przypadków. Instrukcja 3 również jest niepoprawna, ponieważ nie obsługuje przypadku domyślnego z przypisaniem 0, co oznacza, że dla innych wartości nie zostanie podjęte żadne działanie. Instrukcja 4 stosuje operator and, co wymaga jednoczesnego spełnienia obu warunków ($liczba==10 i $liczba==20), co jest logicznie niemożliwe, ponieważ zmienna liczba nie może jednocześnie przyjmować dwóch różnych wartości, dlatego nie spełnia wymagań postawionych przez strukturę switch. Takie błędne rozumowanie często wynika z niepełnego zrozumienia operatorów logicznych i ich działania w kontekście warunków decyzyjnych. Dlatego istotne jest, aby dokładnie analizować każdy przypadek użycia i zrozumieć, jak różne struktury kontrolne mogą być wykorzystane do osiągnięcia zamierzonego efektu w kodzie PHP, dbając o poprawność logiczną i efektywność rozwiązania w kontekście różnych scenariuszy programistycznych. W kontekście nauki programowania, takie zrozumienie pozwala na tworzenie bardziej zrozumiałego i mniej podatnego na błędy kodu, co jest kluczowe dla rozwoju umiejętności programistycznych i utrzymania wysokiej jakości oprogramowania.

Pytanie 30

Aby obliczyć liczbę wszystkich wierszy w tabeli Koty, należy zastosować zapytanie:

A. SELECT COUNT(Koty) AS ROWNUM
B. SELECT COUNT(ROWNUM) FROM Koty
C. SELECT ROWNUM() FROM Koty
D. SELECT COUNT(*) FROM Koty
W przypadku niepoprawnych odpowiedzi zauważamy różne nieporozumienia dotyczące zliczania wierszy w tabelach. Pierwsza z błędnych odpowiedzi, 'SELECT COUNT(ROWNUM) FROM Koty', opiera się na nieprawidłowym zrozumieniu pojęcia ROWNUM w SQL. ROWNUM jest pseudokolumną, która numeruje wiersze w wynikach zapytania, ale nie jest odpowiednia do zliczania wszystkich wierszy w tabeli, ponieważ nie zwraca poprawnego wyniku w kontekście zliczania. To prowadzi do błędnych interpretacji oraz nieefektywnych zapytań. Dalej, odpowiedź 'SELECT COUNT(Koty) AS ROWNUM' w ogóle nie zrozumiała zasady działania funkcji COUNT. W tym przypadku, próbując użyć tabeli jako argumentu, nie uzyskujemy żadnego sensownego rezultatu, ponieważ COUNT powinien operować na kolumnie, a nie na samej tabeli. Ostatnia odpowiedź, 'SELECT ROWNUM() FROM Koty', jest również błędna, ponieważ ROWNUM nie jest funkcją, co skutkuje błędem składniowym. Warto zrozumieć, że na wczesnych etapach nauki SQL, błędne interpretacje i użycie funkcji mogą prowadzić do niezgodnych z oczekiwaniami wyników. Zrozumienie, jak działają funkcje agregujące i pseudokolumny, jest kluczowe dla efektywnego tworzenia zapytań i przeprowadzania analiz w bazach danych. Prawidłowe podejście do zliczania wierszy jest podstawą w pracy z danymi i fundamentalnym elementem w każdej aplikacji bazodanowej.

Pytanie 31

Na ilustracji przedstawiono rezultat stosowania stylów CSS oraz odpowiadający mu kod HTML, który generuje ten przykład. Przyjmując, że marginesy wewnętrzne mają wartość 50 px, natomiast zewnętrzne wynoszą 20 px, styl CSS dla tego obrazu wygląda następująco

Ilustracja do pytania
A. Odpowiedź A
B. Odpowiedź C
C. Odpowiedź B
D. Odpowiedź D
W niepoprawnych odpowiedziach pojawiają się pewne niedociągnięcia, które mogą prowadzić do nieodpowiedniego wyświetlania elementów na stronie. Przykładowo, ustawienie marginesów i paddingów w nieodpowiedni sposób zmienia przestrzenność wokół obrazu, co może wpłynąć na jego rozmieszczenie i estetykę na stronie. Wybór nieodpowiedniego stylu obramowania, jak np. linia przerywana zamiast solidnej, może znacząco wpłynąć na odbiór wizualny i profesjonalizm projektu. Takie aspekty mogą być istotne w przypadku projektowania stron dla branż, które kładą nacisk na elegancję i prostotę. Ponadto, niespójne użycie kolorów tła i ramki może wprowadzać wizualny chaos, co jest przeciwieństwem dobrych praktyk projektowych. Edukując się z zakresu CSS warto zwrócić uwagę na to, jak różne właściwości stylów interakcji wpływają na ogólną harmonię projektu. Uwzględnianie wszelkich standardów i konwencji pozwala na tworzenie stron internetowych, które nie tylko będą estetyczne, ale również funkcjonalne i zgodne z oczekiwaniami użytkowników.

Pytanie 32

W sklepie z farbami obowiązuje określony sposób obliczania kosztu farby: dla koloru niebieskiego i zielonego przy pojemności 2 litry cena farby wynosi cena bazowa + 20%. Wyrażenie logiczne w języku JavaScript, które weryfikuje tę zasadę, ma formę

A. kolor = 'niebieski' || kolor = 'zielony' && pojemnosc = 2
B. (kolor = 'niebieski' || kolor = 'zielony') || pojemnosc = 2
C. (kolor == 'niebieski' || kolor == 'zielony') && pojemnosc == 2
D. kolor == 'niebieski' && kolor == 'zielony' && pojemnosc == 2
Odpowiedź jest poprawna, ponieważ stosuje właściwą składnię języka JavaScript i prawidłowo określa warunki, które muszą być spełnione, aby cena farby zwiększyła się o 20%. Wyrażenie '(kolor == 'niebieski' || kolor == 'zielony') && pojemnosc == 2' skutecznie sprawdza, czy zmienna 'kolor' przyjmuje wartość 'niebieski' lub 'zielony', a jednocześnie czy 'pojemnosc' wynosi 2. Użycie operatora logicznego '||' (lub) oraz '&&' (i) jest kluczowe w definiowaniu logiki warunkowej, co jest podstawą w programowaniu. Dzięki tej metodzie można z łatwością rozszerzyć logikę o inne kolory czy pojemności w przyszłości. Przykładem zastosowania tej logiki w praktyce może być tworzenie dynamicznego kalkulatora cen w aplikacji internetowej, gdzie użytkownicy wybierają różne kolory i pojemności, a program automatycznie oblicza cenę na podstawie zadanych reguł. Ważne jest przestrzeganie dobrych praktyk programistycznych, takich jak jasne nazewnictwo zmiennych i unikanie złożonych wyrażeń, co zwiększa czytelność kodu. Warto również pamiętać, że stosując operator '==' zamiast '=' unikamy przypisania wartości, co jest kluczowe w kontekście debugowania i poprawności działania skryptu.

Pytanie 33

Jakie jest zadanie funkcji PHP o nazwie mysql_select_db?

A. wyznaczyć bazę, z której będą pobierane informacje
B. nawiązać połączenie bazy danych z serwerem SQL
C. wyznaczyć tabelę, z której będą pobierane informacje
D. pobrać dane z bazy danych na podstawie zapytania
Funkcja PHP mysql_select_db() jest używana do wyboru aktywnej bazy danych w kontekście połączenia z serwerem MySQL. Jej głównym celem jest określenie, z której bazy danych będą pobierane dane podczas wykonywania zapytań SQL. Działa to w ten sposób, że po nawiązaniu połączenia z serwerem MySQL za pomocą funkcji mysql_connect(), musimy wskazać, którą bazę danych chcemy używać. Przykład użycia to: mysql_select_db('nazwa_bazy');. Jeśli baza danych o podanej nazwie istnieje, zostaje ustawiona jako aktywna i wszystkie subsequentne zapytania będą odnosiły się do tej bazy. Warto również zauważyć, że w nowszych wersjach PHP zaleca się korzystanie z rozszerzenia mysqli lub PDO, ponieważ mysql_select_db() oraz inne funkcje z rodziny mysql zostały usunięte w PHP 7. Standardy dotyczące korzystania z baz danych, takie jak SQL, wymagają, aby przed wykonaniem zapytania, zdefiniować bazę danych, co czyni mysql_select_db() kluczowym elementem zarządzania danymi.

Pytanie 34

Rodzaj zmiennej w języku JavaScript

A. istnieje tylko jeden
B. powinien być zadeklarowany na początku skryptu
C. nie występuje
D. następuje poprzez przypisanie wartości
W języku JavaScript typ zmiennej jest określany poprzez przypisanie wartości, co oznacza, że zmienna może przyjmować różne typy danych w trakcie działania programu. JavaScript jest językiem, który wspiera dynamiczne typowanie, co pozwala na elastyczność w programowaniu. Przykładowo, można zadeklarować zmienną i przypisać do niej wartość liczbową: let x = 5; a następnie przypisać wartość tekstową: x = 'Hello';. W momencie przypisania wartości, JavaScript automatycznie dostosowuje typ zmiennej w zależności od typu przypisanej wartości. To podejście jest zgodne z dobrymi praktykami programowania, ponieważ umożliwia łatwe tworzenie i modyfikowanie kodu, bez potrzeby wcześniejszego określania typów zmiennych, co jest charakterystyczne dla języków statycznie typowanych. Warto również zaznaczyć, że w JavaScript mamy do czynienia z różnymi typami danych, takimi jak liczby, łańcuchy tekstowe, obiekty, tablice czy wartości logiczne (boolean), co daje programistom dużą swobodę w modelowaniu danych.

Pytanie 35

Jakie stwierdzenie dotyczące zaprezentowanego kodu jest prawdziwe?

Ilustracja do pytania
A. Znak "=" pełni rolę operatora porównania dwóch zmiennych
B. W zmiennej $a wartość "Ala" zostanie zmieniona na "Ola"
C. Znak kropki "." jest operatorem konkatenacji
D. Zostanie wyświetlony komunikat "OlaA"
W analizowanym kodzie występuje kilka nieporozumień dotyczących działania operatorów Znak równości w PHP pełni rolę operatora przypisania a nie porównania Działa on poprzez przypisywanie wartości znajdującej się po prawej stronie do zmiennej po lewej stronie Operator porównania w PHP to podwójny znak równości == który sprawdza czy dwie wartości są sobie równe lub potrójny === który dodatkowo sprawdza typy danych Z kolei operator kropki w PHP jest używany do łączenia ciągów znaków a nie do przypisywania wartości lub porównywania W przedstawionym kodzie $a Ola używa operatora kropek z przypisaniem aby dołączyć Ola do zmiennej $a która zawierała wcześniej Ala Co więcej twierdzenie że zmienna zostanie zmieniona z Ala na Ola jest błędne ponieważ operacja konkatenacji powoduje dodanie drugiej wartości do pierwszej a nie jej zastąpienie Każda z tych błędnych interpretacji może wynikać z mylnego zrozumienia podstawowych operatorów PHP i ich funkcji w manipulatorze ciągów znaków oraz przypisywaniu wartości Operator konkatenacji jest fundamentalnym narzędziem w programowaniu PHP pozwalającym na dynamiczne zarządzanie i modyfikację tekstu w aplikacjach co czyni jego znajomość kluczową dla każdego programisty Aby uniknąć takich błędów warto dobrze poznać podstawy składni i semantyki języka PHP oraz regularnie ćwiczyć ich zastosowanie w praktycznych scenariuszach projektowych

Pytanie 36

Atrybut value w elemencie formularza XHTML

 <input type="text" name="name" value="value">
A. definiuje maksymalną długość pola
B. ustawia pole jako tylko do odczytu
C. określa nazwę pola
D. określa domyślną wartość
Atrybut 'value' w polu formularza XHTML ma kluczowe znaczenie, ponieważ określa wartość, która będzie domyślnie wyświetlana w polu tekstowym. Kiedy użytkownik otworzy formularz, będzie widział w polu tekstowym wpisaną wartość, co ułatwia interakcję, zwłaszcza w przypadkach, gdy potrzebne są przykłady lub domyślne odpowiedzi. Na przykład, w formularzu rejestracyjnym można ustawić atrybut 'value' na 'Jan Kowalski', co sugeruje użytkownikowi, jak powinien wypełnić swoje imię i nazwisko. Jest to zgodne z dobrymi praktykami projektowania formularzy, które dążą do poprawy użyteczności i zmniejszenia liczby błędów użytkowników. Warto również zauważyć, że w przypadku formularzy, jeśli użytkownik zdecyduje się nie zmieniać tej wartości, atrybut 'value' sprawia, że odpowiedź zostanie przesłana w formularzu po jego wysłaniu. To podkreśla znaczenie predefiniowania wartości w kontekście UX, ponieważ dobrze zaprojektowane formularze mogą znacznie poprawić doświadczenia użytkowników.

Pytanie 37

Poniższe zapytanie zwróci

SELECT COUNT(cena) FROM uslugi;
A. łączną wartość cen usług w tabeli
B. wszystkie wartości cen usług w tabeli
C. liczbę wszystkich cen usług w tabeli
D. średnią wartość cen usług w tabeli
Wszystkie pozostałe odpowiedzi wynikają z nieporozumienia dotyczącego funkcji COUNT oraz jej zastosowania w SQL. Przede wszystkim, odpowiedź sugerująca sumę cen usług jest błędna, ponieważ COUNT nie sumuje wartości, lecz zlicza ich ilość. W SQL do obliczenia sumy używa się funkcji SUM. W kontekście średniej ceny, podobnie, funkcja COUNT nie dostarcza takiej informacji; do obliczeń średnich wykorzystuje się funkcję AVG. Innym częstym błędem jest mylenie zliczania wszystkich rekordów z wyświetlaniem ich wartości. Użycie COUNT zawsze odnosi się do ilości, a nie do treści poszczególnych rekordów. Warto zrozumieć, że funkcje agregujące, takie jak COUNT, SUM, AVG, MAX czy MIN, mają różne zastosowania i dostarczają różnych informacji. Każda z tych funkcji ma swoje specyficzne zadanie i nie można ich stosować zamiennie. Na przykład, błędna interpretacja może prowadzić do sytuacji, w której analityk danych podejmuje decyzje na podstawie niewłaściwie zrozumianych wyników zapytania, co może skutkować poważnymi konsekwencjami biznesowymi. W związku z tym istotne jest nie tylko znajomość składni SQL, ale także zrozumienie logiki stojącej za funkcjami agregującymi, co jest kluczowe dla analizy danych.

Pytanie 38

echo date"Y"); Po uruchomieniu tego kodu PHP na ekranie ukaże się bieżąca data, obejmująca wyłącznie

A. miesiąc i rok
B. rok
C. dzień
D. dzień i miesiąc
Odpowiedzi wskazujące na inne elementy daty są błędne z kilku powodów. Jeśli wybierzesz 'dzień', będzie to niepoprawne, ponieważ format 'd' w funkcji date zwraca jedynie dzień miesiąca, a nie rok. Podobnie, odpowiedź 'miesiąc i rok' sugeruje, że funkcja date mogłaby zwrócić te dwa elementy jednocześnie. W rzeczywistości, aby uzyskać miesiąc i rok w jednym poleceniu, trzeba by użyć formatu 'm Y'. Odpowiedź 'dzień i miesiąc' jest również myląca, ponieważ aby wyświetlić dzień i miesiąc, używa się formatu 'd m'. Typowe błędy myślowe, które prowadzą do tych niepoprawnych wniosków, obejmują nieznajomość argumentów używanych w funkcji date oraz brak zrozumienia, jakie konkretne dane można uzyskać z danego formatu. Użycie jednego symbolu formatu, takiego jak 'Y', ogranicza wynik do jednego elementu - w tym przypadku roku, co jest kluczowe dla poprawnego zrozumienia działania funkcji. Pamiętaj, że zrozumienie funkcji i argumentów w PHP jest niezbędne do tworzenia efektywnego kodu, a także zapobiegania błędom w przyszłych projektach.

Pytanie 39

W języku JavaScript, element został uzyskany przy pomocy metody getElementById. Jaką właściwość należy zastosować, aby zmienić zawartość tego elementu?

A. innerBody
B. Body
C. innerHTML
D. HTML
W każdej z niepoprawnych odpowiedzi występują podstawowe nieporozumienia dotyczące właściwości i metod związanych z manipulacją elementami DOM w JavaScript. Odpowiedź 'Body' odnosi się do całego dokumentu HTML i nie jest to właściwość, która pozwala na bezpośrednią modyfikację zawartości konkretnego elementu. Z kolei 'HTML' nie jest właściwością, lecz odnosi się do formatu dokumentu, co nie ma związku z manipulacją wewnętrzną pojedynczych elementów. Odpowiedź 'innerBody' jest nieprawidłowa, ponieważ nie istnieje taka właściwość w standardowym zestawie właściwości DOM; być może była to próba odwołania się do właściwości innerHTML, jednak jest to błędny termin. W kontekście programowania, ważne jest, aby rozumieć, że właściwości i metody muszą być zgodne z aktualnym standardem ECMAScript oraz specyfikacją DOM. Przykładowo, używanie textContent zamiast innerHTML jest preferowane w przypadkach, gdy nie chcemy, aby wprowadzany HTML został zinterpretowany lub gdy unikamy ryzyk związanych z bezpieczeństwem. Dlatego kluczowe jest zrozumienie różnicy pomiędzy tymi właściwościami i ich zastosowaniami oraz trzymanie się najlepszych praktyk w programowaniu, aby unikać błędów i potencjalnych luk bezpieczeństwa.

Pytanie 40

Technologia, w której komunikacja użytkownika z serwerem odbywa się bez konieczności przeładowywania całego dokumentu HTML, to

A. PHP
B. AJAX
C. Ruby
D. Django
W tym pytaniu łatwo się pomylić, bo wszystkie podane technologie w jakiś sposób kojarzą się z tworzeniem aplikacji webowych, ale tylko jedna opisuje mechanizm komunikacji bez przeładowania całej strony. Kluczowe jest zrozumienie różnicy między językiem programowania, frameworkiem backendowym a techniką asynchronicznej komunikacji po stronie przeglądarki. Django to framework działający po stronie serwera, napisany w Pythonie. Służy do obsługi logiki biznesowej, generowania szablonów HTML, pracy z bazą danych, routingu adresów URL itd. Samo użycie Django nie powoduje automatycznie, że strona staje się „dynamiczna bez przeładowania”. To, czy strona przeładowuje się w całości, zależy od tego, jak zachowuje się kod w przeglądarce, a nie od tego, jaki framework stoi po stronie serwera. Podobnie PHP to język skryptowy po stronie serwera. Generuje HTML, JSON lub inne odpowiedzi HTTP, ale komunikacja odbywa się standardowo: przeglądarka wysyła żądanie, serwer z PHP odsyła odpowiedź. Bez zastosowania JavaScript i mechanizmów asynchronicznych każda interakcja użytkownika, która wymaga kontaktu z serwerem, kończy się pełnym przeładowaniem dokumentu. Częsty błąd myślowy polega na tym, że skoro PHP „tworzy dynamiczne strony”, to odpowiada też za ich dynamiczne odświeżanie w przeglądarce. W rzeczywistości dynamika po stronie serwera i dynamika interfejsu w przeglądarce to dwie różne warstwy. Ruby również jest tylko językiem programowania, a w świecie webowym najczęściej używany jest z frameworkiem Ruby on Rails. Znowu – świetnie nadaje się do tworzenia API, generowania widoków, obsługi baz danych, ale sam z siebie nie rozwiązuje problemu komunikacji asynchronicznej w przeglądarce. Bez JavaScriptu i odpowiednich wywołań HTTP od strony klienta, strona w Ruby zachowuje się tak samo jak w przypadku PHP czy Django: każda odpowiedź to nowy dokument HTML. Sedno jest takie, że AJAX opisuje konkretną technikę po stronie klienta: asynchroniczne wysyłanie żądań HTTP z przeglądarki i aktualizowanie tylko fragmentów strony. Django, PHP i Ruby mogą być serwerowym „końcem” tych zapytań AJAX, ale nie są samą technologią odpowiedzialną za brak przeładowania strony. Rozdzielenie w głowie: frontendowa komunikacja asynchroniczna vs backendowa logika serwera, to bardzo ważna dobra praktyka w programowaniu webowym.