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 20:20
  • Data zakończenia: 27 kwietnia 2026 20:32

Egzamin zdany!

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

Reprezentacja znacznika HTML w formacie ```przejdź```

A. jest błędny, w atrybucie href należy wpisać adres URL
B. jest poprawny, po kliknięciu w odnośnik strona zostanie przewinięta do sekcji o nazwie "hobby"
C. jest poprawny, po kliknięciu w odnośnik otworzy się strona internetowa o URL "hobby"
D. jest błędny, użyto niewłaściwego znaku "#" w atrybucie href
Zapis znacznika HTML przedstawiony w pytaniu jest poprawny i spełnia standardy języka HTML. Użycie elementu <a> z atrybutem href i wartością #hobby oznacza, że użytkownik po kliknięciu w ten link zostanie przewinięty do sekcji na stronie, która ma przypisany identyfikator "hobby". Takie podejście jest zgodne z dobrymi praktykami w projektowaniu stron internetowych, umożliwiając tworzenie nawigacji wewnętrznej. Warto zaznaczyć, że użycie znaku hash (#) w atrybucie href wskazuje na lokalizację w obrębie tej samej strony. To jest powszechnie stosowane w przypadkach, gdy chcemy ułatwić użytkownikom dostęp do różnych sekcji na tej samej stronie, bez konieczności ładowania nowej strony. Przykładem zastosowania może być strona z długim artykułem, gdzie linki do poszczególnych nagłówków ułatwiają orientację czytelników. Oprócz tego, korzystając z takiej struktury, możemy również poprawić doświadczenia użytkowników oraz zwiększyć efektywność SEO, ponieważ wyszukiwarki są w stanie lepiej zrozumieć organizację treści na stronie.

Pytanie 2

Utworzono bazę danych z tabelą mieszkancy, która zawiera pola: nazwisko, imie, miasto. Następnie zrealizowano poniższe zapytanie do bazy: ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Kraków';``` Wskaź, które zapytanie zwróci te same dane.

A. ```SELECT nazwisko, imie FROM mieszkancy AS 'Poznań' OR 'Kraków';```
B. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';```
C. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków';```
D. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING 'Poznań' OR 'Kraków';```
Zapytanie SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków'; jest poprawne, ponieważ umożliwia uzyskanie danych mieszkańców, którzy znajdują się w jednym z dwóch zadanych miast. Użycie operatora 'OR' pozwala na połączenie dwóch warunków, co sprawia, że zapytanie zwróci mieszkańców zarówno z Poznania, jak i z Krakowa. Takie podejście jest zgodne z zasadami SQL i umożliwia elastyczne filtrowanie danych. Alternatywnie, zastosowanie operatora UNION ALL w pierwszym zapytaniu łączy wyniki z dwóch oddzielnych zapytań, co jest również poprawne, ale może być mniej wydajne w przypadku dużych zbiorów danych. Używając UNION ALL, zwracane są wszystkie wiersze, w tym duplikaty, natomiast w przypadku zapytania z OR, uzyskujemy wiersze spełniające przynajmniej jeden z warunków. Dobrą praktyką jest testowanie zapytań w rzeczywistej bazie danych, aby ocenić ich wydajność i poprawność. W kontekście standardów SQL, takie zapytania są zgodne z definicjami języka zapytań i są stosowane do przetwarzania danych w relacyjnych bazach danych.

Pytanie 3

W programowaniu zmienna typu integer jest wykorzystywana do przechowywania

A. liczby całkowitej
B. znaku
C. liczby rzeczywistej
D. wartości logicznej
Zmienna typu integer w programowaniu to taki typ, który służy do przechowywania liczb całkowitych. Oznacza to, że nie ma tam żadnych przecinków ani części dziesiętnych, tylko całe liczby. W wielu językach, jak C, C++, czy Python, typ integer jest naprawdę podstawowym narzędziem. Warto zaznaczyć, że te liczby mogą mieć różny zakres w zależności od języka i platformy, ale najczęściej w systemach 32-bitowych zmieszczą się w granicach od -2,147,483,648 do 2,147,483,647. Co więcej, operacje na zmiennych typu integer są zazwyczaj szybsze niż na float czy double, co w praktyce oznacza, że lepiej nadają się do obliczeń, zwłaszcza tych prostych. Na przykład, możemy stworzyć program, który zlicza wszystkie liczby całkowite w jakiejś liście. Warto też wiedzieć, że w standardzie ISO C99 mówimy, że typ int powinien mieć przynajmniej 16 bitów, co pokazuje, jak ważny jest ten typ w programowaniu. Dlatego znajomość zmiennych typu integer jest naprawdę kluczowa dla każdego programisty, który chce pisać szybkie i efektywne aplikacje.

Pytanie 4

Parametr face w znaczniku <font> jest używany do określenia

A. rozmiaru czcionki
B. stylów czcionki
C. typy czcionki
D. koloru czcionki
Zrozumienie parametrów stylizacji tekstu jest kluczowe w pracy z HTML i często napotyka na nieporozumienia. Wiele osób błędnie interpretuje funkcję parametru <b>face</b> w znaczniku <b>&lt;font&gt;</b>, co prowadzi do niepoprawnych odpowiedzi. Na przykład, nie jest on używany do określenia barwy czcionki, co jest zadaniem innego parametru, jak 'color'. Barwa czcionki dotyczy estetyki i może być ustawiana niezależnie od samej czcionki. Kolejnym błędnym założeniem jest możliwość korzystania z parametru <b>face</b> do definiowania efektów czcionki, takich jak pogrubienie czy kursywa; te efekty są zwykle osiągane przy użyciu osobnych znaczników lub stylów CSS, takich jak 'font-weight' czy 'font-style'. Wreszcie, pomylenie parametru <b>face</b> z określeniem wielkości czcionki również jest częstym błędem myślowym, ponieważ do tego celu używa się atrybutu 'size', który skoncentrowany jest na rozmiarze tekstu, a nie na jego typie. Warto pamiętać, że precyzyjne zrozumienie tych różnic nie tylko wpływa na jakość tworzonego kodu, ale również na dostępność i estetykę stron internetowych.

Pytanie 5

Sprawdzenie poprawności pól formularza polega na weryfikacji

A. który użytkownik wprowadził informacje
B. czy istnieje plik PHP, który przetworzy dane
C. czy użytkownik jest zalogowany
D. czy wprowadzone dane spełniają określone reguły
Walidacja pól formularza jest kluczowym elementem w procesie zbierania danych od użytkowników. Jej głównym celem jest upewnienie się, że dane, które użytkownik wprowadza, są zgodne z określonymi regułami i standardami. Na przykład, jeśli pole formularza wymaga adresu e-mail, walidacja może sprawdzić, czy wprowadzone dane mają odpowiedni format (np. zawierają '@' i końcówkę domeny). Ważne jest, aby walidację przeprowadzać zarówno po stronie klienta, jak i serwera. Walidacja po stronie klienta (np. za pomocą JavaScript) może szybko informować użytkownika o błędach, ale nie powinna być jedyną metodą, gdyż można ją łatwo obejść. Walidacja po stronie serwera, przeprowadzana w językach takich jak PHP lub Python, zapewnia, że dane są na pewno zgodne z wymaganiami systemu przed ich przetworzeniem. Przykładami reguł walidacji mogą być wymagania dotyczące długości tekstu, formatów numerów telefonów czy też wymagalności pewnych pól, co jest zgodne z dobrymi praktykami UX oraz standardami bezpieczeństwa danych.

Pytanie 6

Jaką formę ma instrukcja w języku PHP, która tworzy obiekt pkt w klasy Punkt zdefiniowanej w klasie?

Ilustracja do pytania
A. pkt= new Punkt();
B. Punkt() pkt;
C. pkt Punkt;
D. pkt Punkt();
Instrukcja pkt= new Punkt(); jest prawidłowa, ponieważ w języku PHP tworzenie nowego obiektu klasy odbywa się przy użyciu słowa kluczowego new. Operator new inicjalizuje nową instancję klasy, co umożliwia dostęp do jej metod i właściwości. W tym przypadku Punkt jest wcześniej zdefiniowaną klasą zawierającą publiczne właściwości $x i $y. Konstrukcja ta jest fundamentalna w programowaniu obiektowym, pozwalając na enkapsulację i bardziej strukturalne podejście do kodowania. Tworzenie obiektów w PHP jest w zgodzie z dobrymi praktykami projektowymi, które zakładają pisanie modułowego i łatwego w utrzymaniu kodu. Przykładem praktycznego zastosowania może być modelowanie rzeczywistego układu współrzędnych, gdzie każdy punkt na płaszczyźnie jest reprezentowany przez obiekt tej klasy. Warto zwrócić uwagę, że użycie new Punkt() z przypisaniem do zmiennej pkt pozwala na manipulowanie danymi punktowymi w bardziej złożony sposób, jak na przykład obliczanie odległości między punktami czy też transformacje geometryczne. Takie podejście zwiększa czytelność kodu oraz ułatwia jego późniejsze modyfikacje. Zastosowanie obiektów sprzyja także wielokrotnemu użyciu kodu, co jest kluczowe w dużych projektach oprogramowania. Przyjęcie konwencji programowania obiektowego wspiera ponadto współpracę zespołową poprzez wykorzystanie zrozumiałych i dobrze zdefiniowanych interfejsów klasowych.

Pytanie 7

Jak powinna wyglądać odpowiednia sekwencja procesów przetwarzania dźwięku z analogowego na cyfrowy?

A. kwantyzacja, kodowanie, próbkowanie
B. kwantyzacja, próbkowanie, kodowanie
C. próbkowanie, kodowanie, kwantyzacja
D. próbkowanie, kwantyzacja, kodowanie
Wiesz, przetwarzanie dźwięku w analogowo-cyfrowy sposób jest dość ciekawe. To cała procedura, która składa się z trzech głównych kroków: próbkujemy, kwantyzujemy i kodujemy. Próbkowanie to jakby robienie zdjęć sygnału analogowego w regularnych odstępach. Tak tworzymy zestaw wartości, które potem możemy jakoś ogarnąć. Potem przychodzi kwantyzacja, gdzie te wartości zamieniamy na konkretne poziomy – to trochę jak zaokrąglanie do najbliższej liczby. I na końcu kodowanie, które zamienia to wszystko na format cyfrowy, co sprawia, że możemy to zapisać i przetwarzać na różnych urządzeniach. Zwykle używamy standardów, jak PCM, które gwarantują dobrą jakość dźwięku, bo dobrze ustawione próbki i kwantyzacja to klucz do sukcesu. Na przykład, kiedy przerabiasz dźwięk z winyla na MP3, każdy etap jest super ważny, żeby zachować tę fajną jakość dźwięku.

Pytanie 8

Która z czynności nie wpłynie na objętość zajmowanej pamięci pliku graficznego?

A. Zmiana rozmiaru obrazu przy użyciu atrybutów HTML
B. Modyfikacja rozdzielczości obrazu
C. Kompresja
D. Interpolacja
Skalowanie obrazu za pomocą atrybutów HTML to technika, która pozwala na dostosowanie rozmiaru wyświetlanego obrazu w przeglądarce internetowej bez zmiany jego rzeczywistego rozmiaru pliku. Atrybuty takie jak 'width' i 'height' w tagach <img> wpływają jedynie na to, jak obraz jest prezentowany na stronie, a nie na jego fizyczne właściwości. Przykładem może być użycie <img src='obraz.jpg' width='300' height='200'>, co sprawia, że obraz wyświetla się w określonych wymiarach, ale plik graficzny pozostaje niezmieniony. Takie podejście jest zgodne z dobrymi praktykami w projektowaniu stron internetowych, ponieważ pozwala na utrzymanie jakości obrazu bez dodatkowego obciążania serwera. W sytuacjach, gdy szybkość ładowania strony jest kluczowa, użycie odpowiednich atrybutów HTML może przyczynić się do lepszego doświadczenia użytkownika bez potrzeby modyfikacji oryginalnych plików graficznych. Warto również zaznaczyć, że w przypadku responsywnych stron internetowych stosuje się techniki CSS, które umożliwiają dalsze dostosowanie wielkości obrazów, ale także nie wpływają na ich wagę w pamięci.

Pytanie 9

Aby stworzyć poprawną kopię zapasową bazy danych, która będzie mogła zostać później przywrócona, należy najpierw sprawdzić

A. uprawnienia dostępu do serwera bazy danych
B. spójność bazy
C. poprawność składni zapytań
D. możliwość udostępnienia bazy danych
Spójność bazy danych jest kluczowym elementem, który należy sprawdzić przed wykonaniem kopii bezpieczeństwa, ponieważ zapewnia, że wszystkie dane są zgodne i nie zawierają błędów. Spójność oznacza, że wszelkie reguły i ograniczenia, takie jak klucze główne, klucze obce oraz unikalne indeksy, są spełnione. W przypadku naruszenia spójności, kopia bazy danych mogłaby zawierać uszkodzone lub niekompletne dane, co mogłoby uniemożliwić jej prawidłowe odtworzenie w przyszłości. Przykładem może być sytuacja, gdy mamy tabelę zamówień, która odwołuje się do tabeli klientów. Jeśli rekord klienta został usunięty, a zamówienia pozostają, to mamy do czynienia z naruszeniem spójności. Standardy, takie jak ACID (Atomicity, Consistency, Isolation, Durability), podkreślają znaczenie spójności w zarządzaniu bazami danych, co czyni ją niezbędnym krokiem w procesie tworzenia kopii zapasowych.

Pytanie 10

Jaki jest domyślny port dla serwera HTTP?

A. 80
B. 443
C. 8080
D. 21
Port 8080 często jest używany jako alternatywne rozwiązanie dla HTTP, zwłaszcza w środowiskach deweloperskich lub tam, gdzie port 80 jest już zajęty. Mimo że jest to popularny wybór, nie jest to domyślny port przypisany do HTTP. Port 443 to standardowy port dla HTTPS, czyli szyfrowanego protokołu HTTP. HTTPS zapewnia bezpieczną komunikację poprzez szyfrowanie danych przesyłanych między klientem a serwerem, co jest kluczowe dla ochrony prywatności i integralności danych w Internecie. W przypadku portu 21, jest on przypisany do protokołu FTP (File Transfer Protocol), który służy do transferu plików między klientem a serwerem. FTP jest zupełnie innym protokołem niż HTTP i służy do innych celów. Błędne skojarzenie portu 21 z HTTP może wynikać z podstawowej znajomości protokołów internetowych, gdzie czasem mylnie przypisuje się porty znane z innych zastosowań. Ważne jest, aby dokładnie rozumieć, które porty są przypisane do jakich protokołów, aby uniknąć problemów w konfiguracji sieciowej i błędów w projektowaniu aplikacji internetowych. Zrozumienie tych różnic jest kluczowe dla każdego, kto pracuje w branży IT.

Pytanie 11

W CSS, aby zmienić kolor tekstu dowolnego elementu HTML po najechaniu na niego myszą, należy wykorzystać pseudoklasę

A. :visited
B. :active
C. :hover
D. :coursor
:hover jest pseudoklasą wykorzystywaną w CSS do stylizacji elementów w momencie, gdy użytkownik na nie najedzie kursorem. To bardzo przydatne narzędzie, pozwalające na interaktywne zmiany wyglądu strony internetowej, co znacznie poprawia doświadczenia użytkownika. Przykładem zastosowania może być zmiana koloru tekstu linków. Można to osiągnąć, definiując odpowiednie reguły CSS, takie jak: `a:hover { color: red; }`, co spowoduje, że linki zmienią kolor na czerwony, gdy na nie najedziemy. Pseudoklasa :hover jest zgodna z W3C CSS, a jej zastosowanie w projektowaniu stron zapewnia lepszą dostępność i intuitwność interfejsu. Warto pamiętać, że efekty hover powinny być subtelne i dobrze przemyślane, aby nie odwracać uwagi od głównych treści strony, ale jednocześnie umożliwić użytkownikom szybkie zauważenie działań, które mogą podjąć.

Pytanie 12

Do zapisania prostej animacji na stronę internetową można zastosować format

A. GIF
B. JPG
C. PNG
D. CDR
Format GIF (Graphics Interchange Format) jest idealny do zapisywania prostych animacji na potrzeby stron internetowych. GIF obsługuje do 256 kolorów w palecie, co czyni go odpowiednim do animacji o niskiej rozdzielczości i małej liczbie kolorów. Animacje GIF składają się z serii klatek, które są wyświetlane w szybkim tempie, co pozwala na płynne przejścia między różnymi etapami animacji. Dzięki swojej powszechności i wsparciu w większości przeglądarek internetowych, GIF stał się standardem dla prostych animacji w sieci. Format ten wspiera również przezroczystość, co pozwala na umiejscowienie animacji na różnych tłach bez widocznego prostokątnego obramowania. Przykłady zastosowania GIF obejmują ikony ładowania, animacje przycisków czy krótkie klipy wideo zamienione na animacje. GIF jest także często wykorzystywany w marketingu internetowym i mediach społecznościowych, aby przyciągnąć uwagę użytkowników. Standardy dotyczące GIF są określone przez specyfikacje formatów obrazów i są szeroko akceptowane przez deweloperów webowych, co czyni go wygodnym wyborem dla twórców stron internetowych.

Pytanie 13

Jakiej funkcji w edytorze grafiki rastrowej należy użyć, aby przygotować obraz do wyświetlenia na stronie tak, aby widoczne było jedynie to, co mieści się w ramce?

Ilustracja do pytania
A. Kadrowanie
B. Lustro
C. Perspektywa
D. Zmiana rozmiaru
Kadrowanie w edytorze grafiki rastrowej to naprawdę fajna technika, bo pozwala nam na wycięcie konkretnej części obrazu, którą chcemy pokazać. Dzięki temu skupiamy uwagę na tym, co w grafice najważniejsze, eliminując to, co jest zbędne. Przygotowując grafikę do wrzucenia na stronę www, dobrze jest pomyśleć o kadrowaniu, bo nie tylko poprawia estetykę, ale też sprawia, że strona działa szybciej. Mniejsza grafika to krótszy czas ładowania, co wszyscy lubią. Kadrowanie jest kluczowe, zwłaszcza w responsywnym web designie, gdzie musimy dostosować obrazy do różnych ekranów. Z praktyki wiem, że dobrze wykadrowany obraz to lepsza jakość przy mniejszej wadze pliku, co korzystnie wpływa na SEO i wrażenia użytkowników. W programach jak Adobe Photoshop czy GIMP kadrowanie jest dość proste i pozwala na szybkie dostosowanie obrazu do potrzeb projektu.

Pytanie 14

W języku JavaScript rezultat wykonania polecenia zmienna++; będzie identyczny jak polecenia

A. zmienna --;
B. zmienna===zmienna+1;
C. zmienna=zmienna+10;
D. zmienna+=1;
W języku JavaScript operator inkrementacji '++' zwiększa wartość zmiennej o 1. Zapis 'zmienna++' jest równoważny z 'zmienna += 1', ponieważ obydwa polecenia prowadzą do tej samej końcowej wartości zmiennej. Operator '+=' to skrót, który dodaje wartość po prawej stronie operatora do aktualnej wartości zmiennej. Warto nadmienić, że 'zmienna++' działa w trybie post-inkrementacji, co oznacza, że zwraca pierwotną wartość przed inkrementacją, podczas gdy '++zmienna' działa w trybie pre-inkrementacji, zwracając wartość po inkrementacji. Przykładowo, jeśli zmienna wynosi 5, to po zastosowaniu 'zmienna++' jej nowa wartość stanie się 6, a jej wartość zwracana to 5. Zastosowanie operatora '+=' jest zgodne z ECMAScript, standardem, na którym oparty jest JavaScript. Użycie tych operatorów jest powszechne w programowaniu, zwłaszcza w iteracjach i obliczeniach. Przykładając to do praktyki, w kodzie można zobaczyć takie zastosowanie: let x = 5; x++; console.log(x); // wypisze 6, a let y = 5; y += 1; console.log(y); // również wypisze 6.

Pytanie 15

Dla celu strony internetowej stworzono grafikę rysunek.jpg o wymiarach: szerokość 200 px, wysokość 100 px. Aby zaprezentować tę grafikę jako miniaturę – pomniejszoną z zachowaniem proporcji, można użyć znacznika

A. <img src="/rysunek.png">
B. <img src="/rysunek.png" style="width: 25px; height:50px;">
C. <img src="/rysunek.png" style="width: 25px; height:25px;">
D. <img src="/rysunek.png" style="width: 50px">
Odpowiedź <img src="/rysunek.png" style="width: 50px"> jest poprawna, ponieważ umożliwia wyświetlenie grafiki w formacie miniatury, zachowując proporcje oryginalnego obrazu. Przy zmniejszaniu rozmiaru obrazu, kluczowe jest ustawienie tylko jednego z wymiarów (szerokości lub wysokości), co pozwala na automatyczne dostosowanie drugiego wymiaru w taki sposób, aby nie zniekształcić proporcji. W tym przypadku, ustawienie szerokości na 50 px pozwala na proporcjonalne zmniejszenie wysokości do około 25 px, co jest zgodne z zasadą, że proporcje powinny pozostawać niezmienione. W praktyce, korzystanie z CSS do określenia rozmiarów obrazków poprawia responsywność strony oraz jej estetykę, co jest zgodne z dobrymi praktykami w web designie. Warto również pamiętać, że do poprawy ładowania stron i doświadczenia użytkownika, często zastosowanie rozmiarów odpowiednich do urządzeń mobilnych oraz desktopowych jest kluczowe.

Pytanie 16

Testy aplikacji webowej, których celem jest ocena wydajności aplikacji oraz bazy danych, a także architektury serwera i konfiguracji, określane są mianem testów

A. bezpieczeństwa
B. funkcjonalności
C. użyteczności
D. kompatybilności
Testy kompatybilności są kluczowym elementem w procesie zapewniania jakości aplikacji internetowych. Ich głównym celem jest weryfikacja, czy aplikacja działa poprawnie w różnych środowiskach, systemach operacyjnych oraz przeglądarkach internetowych. Testy te obejmują również analizę skalowalności, która ma na celu ocenić, jak aplikacja radzi sobie z rosnącą liczbą użytkowników oraz jak skutecznie współpracuje z bazami danych i serwerami. W praktyce oznacza to, że po przeprowadzeniu testów kompatybilności, można zidentyfikować potencjalne problemy z wydajnością, które mogą wystąpić w momencie, gdy liczba równoległych użytkowników wzrasta. Przykładem mogą być testy obciążeniowe, które symulują dużą liczbę użytkowników, by sprawdzić, w jaki sposób system reaguje na taką sytuację. W kontekście standardów, ważne jest odniesienie do norm ISO/IEC 25010, które definiują jakość oprogramowania i wskazują na znaczenie kompatybilności jako jednego z kluczowych atrybutów. Dbałość o kompatybilność aplikacji wpływa nie tylko na jej funkcjonalność, ale również na doświadczenia użytkowników, co jest niezbędne w dzisiejszym zglobalizowanym rynku.

Pytanie 17

W języku JavaScript, aby zweryfikować, czy liczba leży w zakresie 100,200>, należy użyć:

A. if (liczba>100 || liczba<=200)
B. if(liczba>100 && liczba <=200)
C. if(liczba<100 && liczba<=200)
D. if(liczba<100 || liczba>=200)
Aby sprawdzić, czy liczba znajduje się w przedziale od 100 do 200 włącznie w języku JavaScript, należy użyć operatora logicznego AND (&&). Wyrażenie if(liczba > 100 && liczba <= 200) oznacza, że liczba musi być większa niż 100 oraz jednocześnie mniejsza lub równa 200. Przykład: jeśli mamy liczby 150 i 250, to 150 spełnia warunki tego warunku (jest większa od 100 i mniejsza lub równa 200), podczas gdy 250 nie spełnia (jest większa od 200). Kluczowe jest zrozumienie operatorów porównania oraz logicznych w JavaScript. Zgodnie z ECMAScript, językiem, na którym oparty jest JavaScript, użycie operatora AND w tym kontekście jest standardowym podejściem do określenia, czy wartość znajduje się w danym przedziale. Poprawne użycie tych operatorów jest istotne dla logiki programów oraz dostosowywania warunków do różnych sytuacji, co jest niezbędne w codziennej pracy programisty.

Pytanie 18

W formularzu, wartości z pola input o typie number zostały przypisane do zmiennej a, a następnie przetworzone w skrypcie JavaScript w pokazany sposób. Jaki typ będzie miała zmienna x?

var x = parseInt(a);
A. zmiennoprzecinkowy
B. liczbowy, całkowity
C. NaN
D. napisowy
Funkcja parseInt() w JavaScript jest super przydatna, bo pozwala zamienić ciąg znaków na liczbę całkowitą. Jak masz zmienną a, która bierze dane z inputu typu number, to parseInt() łapie te liczby i wyrzuca wszystko, co nie jest cyfrą. Dzięki temu dostajesz liczby całkowite. Warto wiedzieć, że ta funkcja nie zaokrągla wyników, tylko obcina część dziesiętną. To świetna opcja, gdy potrzebujesz tylko całkowitych wartości. parseInt() dobrze działa w programowaniu – często wykorzystuje się go do walidacji i manipulacji liczbami. Z mojego doświadczenia, kiedy pracujesz z różnymi typami danych, musisz zadbać, żeby przekształcenia były na miejscu, bo to bardzo ważne dla aplikacji. Użycie parseInt() jest zgodne z zasadami ECMAScript, co oznacza, że działa w różnych środowiskach JavaScript. Przykładem dobrego zastosowania są aplikacje webowe, gdzie często potrzebujesz liczb całkowitych, na przykład w kalkulatorach czy formularzach z wyborem ilości produktów.

Pytanie 19

Programista stworzył w języku C++ pętlę mającą na celu obliczenie wartości 5! (5! = 1 * 2 * 3 * 4 * 5). Niestety, popełnił błąd logiczny, gdyż

int a = 1; 
for (int i=1; i < 5; i++)
{
a = a * i;
}
cout << a;
A. W drugim parametrze pętli powinno być porównanie i < 6 zamiast i < 5.
B. Parametr i pętli powinien być zmniejszany zamiast zwiększany.
C. Parametr i pętli powinien być rozpoczęty od wartości 0 zamiast 1.
D. Zmienna a powinna być inicjowana wartością 0 zamiast 1.
W poprawnej odpowiedzi wskazano, że w drugim parametrze pętli powinno być porównanie i < 6 zamiast i < 5. W kontekście obliczania silni 5! (czyli 5*4*3*2*1), pętla for powinna iterować od 1 do 5, co oznacza, że końcowy warunek pętli powinien uwzględniać 5. W przeciwnym razie, ostatnia iteracja, w której i wynosi 5, nie będzie wykonana, co skutkuje błędnym wynikiem. Prawidłowa pętla powinna wyglądać tak: for (int i=1; i <= 5; i++) lub for (int i=1; i < 6; i++). Takie podejście jest zgodne z zasadami programowania, które zalecają, aby końcowy warunek pętli obejmował ostatnią wartość, która ma być przetwarzana. Dobrą praktyką w programowaniu jest również przemyślenie granic pętli, aby zapewnić, że wszystkie wymagane wartości są uwzględniane w obliczeniach, co jest kluczowe w takich obliczeniach matematycznych jak silnia.

Pytanie 20

Które z poniższych twierdzeń o zasadach programowania w PHP jest poprawne?

A. Deklaracja zmiennych odbywa się po słowie kluczowym var
B. W nazwach zmiennych nie rozróżnia się wielkości liter
C. Nazwy zmiennych zaczynają się od znaku !
D. Jest to język o słabej kontroli typów
PHP jest językiem o słabej kontroli typów, co oznacza, że nie wymaga określenia typu zmiennej podczas jej deklaracji. W praktyce, PHP automatycznie konwertuje typy danych w zależności od kontekstu, w którym są używane. Przykładowo, jeśli przypiszesz do zmiennej wartość liczbową, a następnie użyjesz jej w kontekście tekstowym, PHP przekształci tę liczbę na łańcuch znaków automatycznie. Dzięki temu programiści mogą skupić się na logice aplikacji, a nie na zarządzaniu typami danych. Ważne jest jednak, aby pamiętać, że ta elastyczność może prowadzić do błędów, jeśli nie będziemy ostrożni. Dlatego dobrym podejściem jest stosowanie jawnych konwersji typów, gdy jest to możliwe, co zwiększa czytelność kodu i ułatwia jego późniejsze utrzymanie. Używanie funkcji takich jak (int), (float) czy (string) w celu wymuszenia określonych typów danych przed operacjami arytmetycznymi lub logicznymi, to praktyka, która może zapobiec wielu problemom z nieoczekiwanym zachowaniem skryptów. Znalezienie równowagi między wygodą a bezpieczeństwem typów jest kluczowym elementem programowania w PHP.

Pytanie 21

Jaką złożoność obliczeniową mają problemy związane z przeprowadzaniem operacji na łańcuchach lub tablicach w przypadku dwóch zagnieżdżonych pętli przetwarzających wszystkie elementy?

A. O(n)
B. O(n!)
C. O(log n)
D. O(n2)
Odpowiedź O(n²) jest jak najbardziej trafna. Wiesz, jak to działa? Gdy masz dwie zagnieżdżone pętle, które przetwarzają elementy w kolekcji, to liczba operacji rośnie kwadratowo w zależności od tego, ile tych elementów masz. Dla n elementów w tablicy, każda z tych n elementów wymaga n operacji w drugiej pętli, co daje razem n*n, czyli n². Przykłady? Algorytmy sortowania bąbelkowego czy przez wstawianie świetnie to ilustrują – obydwa działają w czasie O(n²). Pamiętaj, że jako programiści musimy zwracać uwagę na złożoność algorytmów, bo to wpływa na wydajność naszych aplikacji, szczególnie gdy mamy do czynienia z dużymi zbiorami danych. Dobrze jest próbować optymalizować złożoność, żeby nie wpaść w pułapki wydajnościowe. No i fakt, przy problemach, gdzie musimy porównywać wszystkie elementy, O(n²) to często jedyna opcja, która się sprawdza.

Pytanie 22

Po wykonaniu poniższego kodu JavaScript, który operuje na wcześniej przygotowanej tablicy liczby, w zmiennej wynik znajduje się suma

var wynik = 0;
for (i = 0; i < 100; i++)
  if (liczby[i] % 2 == 0)
    wynik += liczby[i];
A. nieparzystych elementów tablicy
B. parzystych elementów tablicy
C. wszystkich elementów tablicy
D. dodatnich elementów tablicy
Przedstawiony kod JavaScript oblicza sumę wszystkich parzystych elementów tablicy liczby. W języku JavaScript operator modulo (%) jest używany do obliczania reszty z dzielenia. W tym przypadku liczby[i] % 2 == 0 sprawdza, czy dany element tablicy liczby jest parzysty. Jeśli reszta z dzielenia przez 2 wynosi 0, oznacza to, że liczba jest parzysta. Dlatego każda parzysta liczba z tablicy jest dodawana do zmiennej wynik. Warto zauważyć, że pętla for przechodzi przez pierwsze 100 elementów tablicy, co sugeruje, że tablica liczby musi mieć co najmniej 100 elementów. Tego typu operacje są często wykorzystywane w praktycznych zastosowaniach, takich jak analiza danych, gdzie konieczne jest filtrowanie i przetwarzanie określonych wartości z dużych zbiorów danych. Dobre praktyki zalecają, aby zrozumieć zarówno składnię, jak i zastosowanie operacji warunkowych i pętli, co jest kluczowe w efektywnym programowaniu. Takie rozwiązania są fundamentem optymalnego przetwarzania danych, a ich zrozumienie umożliwia tworzenie bardziej złożonych algorytmów.

Pytanie 23

Barwy kolorów reprezentowane na stożku można uzyskać w modelu

A. CMYK
B. CIEXYZ
C. HSV
D. RGB
Poprawna odpowiedź to HSV, bo właśnie ten model barw jest najczęściej przedstawiany w formie stożka (albo podwójnego stożka / walca). W HSV mamy trzy składowe: Hue (odcień), Saturation (nasycenie) i Value (jasność). Jeśli wyobrazisz sobie stożek: kąt wokół osi stożka to Hue – czyli przechodzenie przez kolory tęczy, od czerwieni przez zieleń do niebieskiego i z powrotem. Odległość od środka do krawędzi to Saturation – w środku szare, wypłowiałe barwy, na brzegu maksymalnie nasycone. Wysokość stożka to Value – na dole ciemno (prawie czerń), na górze jasno. Z mojego doświadczenia w grafice komputerowej i DTP model HSV jest dużo wygodniejszy przy doborze kolorów niż czyste RGB, bo jest bardziej „ludzki” – myślisz: chcę ten sam kolor, tylko jaśniejszy i mniej nasycony, a nie: zwiększę trochę składową G i zmniejszę B. W większości profesjonalnych programów graficznych (Photoshop, GIMP, Krita, narzędzia webowe typu Figma) koła barw i selektory kolorów bazują właśnie na HSV lub jego odmianach (HSL, HSB), często wizualizowanych jako stożek, walec albo koło z trójkątem. To jest zgodne z dobrymi praktykami projektowania interfejsów kolor-pickerów: użytkownik operuje na odcieniu, nasyceniu i jasności, a nie bezpośrednio na sygnałach składowych jak w RGB. W praktyce webowej możesz np. wygodnie generować palety kolorów, zmieniając tylko Value, żeby dostać całą serię odcieni do hoverów, borderów czy tła – i to właśnie sensowne jest w modelu HSV.

Pytanie 24

W algorytmie jeden z bloków ma wpisaną akcję "Wypisz liczbę". Który z kształtów może przyjąć tę akcję?

Ilustracja do pytania
A. Kształt 3.
B. Kształt 2.
C. Kształt 4.
D. Kształt 1.
Gratulacje, udzieliłeś prawidłowej odpowiedzi. Algorytm to uporządkowany ciąg czynności prowadzących do rozwiązania danego problemu. W algorytmie, akcje takie jak 'wypisz liczbę' są zwykle zawarte w blokach oznaczających konkretne działania, które algorytm powinien wykonać. Kształt 1 jest standardowym oznaczeniem dla bloków akcji w notacjach diagramów przepływu, co oznacza, że algorytm powinien wykonać pewną operację lub działanie. W tym przypadku, kształt 1 symbolizuje akcję 'wypisz liczbę'. Jest to ważne do zrozumienia, gdyż umiejętność czytania i tworzenia diagramów przepływu jest kluczowa dla zrozumienia logicznego przepływu programów i algorytmów. Praktyka ta jest powszechnie stosowana w programowaniu i analizie systemów, pomagając w efektywnym projektowaniu i debugowaniu programów.

Pytanie 25

Zmienna zadeklarowana w C++ jako double x*; to

A. zmienna typu całkowitego
B. zmienna zmiennoprzecinkowa
C. parametr formalny typu zmiennoprzecinkowego
D. wskaźnik
Element zadeklarowany w języku C++ jako 'double x*;' odnosi się do wskaźnika na zmienną typu podwójnej precyzji. Wskaźniki w C++ są zmiennymi, które przechowują adresy innych zmiennych, co pozwala na dynamiczne zarządzanie pamięcią oraz efektywną manipulację danymi. W przypadku 'double x*;', zmienna 'x' jest wskaźnikiem, który może wskazywać na obiekt typu double. Użycie wskaźników jest kluczowe w programowaniu obiektowym oraz przy tworzeniu struktur danych, takich jak listy połączone czy tablice dynamiczne. Przykład użycia wskaźnika: double a = 5.0; double* x = &a; pozwala na manipulację wartością 'a' przez wskaźnik 'x'. C++ umożliwia również operacje na wskaźnikach, takie jak dereferencja, co pozwala na uzyskiwanie wartości przechowywanych pod wskazywanym adresem. W standardzie C++ wskaźniki są fundamentalnym elementem, który jest niezbędny do zrozumienia zaawansowanych konceptów, takich jak zarządzanie pamięcią oraz dynamiczne alokacje. Warto zaznaczyć, że wskaźniki muszą być używane ostrożnie, aby uniknąć błędów typu 'null pointer dereference' czy 'memory leaks'.

Pytanie 26

Która właściwość języka CSS może przyjmować wartości: underline, overline, line-through?

A. font-weight
B. font-style
C. text-style
D. text-decoration
Poprawna odpowiedź to właściwość CSS `text-decoration`. To właśnie ona odpowiada za dodawanie różnych „linii” do tekstu: podkreślenia (`underline`), nadkreślenia (`overline`) oraz przekreślenia (`line-through`). W praktyce zapis wygląda np. tak: `a { text-decoration: underline; }` – klasyczny przykład dla linków, albo `del { text-decoration: line-through; }` dla tekstu usuniętego. W nowszych specyfikacjach CSS (CSS Text Decoration Module Level 3) ta właściwość została trochę rozbita na bardziej szczegółowe, jak `text-decoration-line`, `text-decoration-style`, `text-decoration-color`, ale w codziennym kodowaniu dalej bardzo często używa się skrótu `text-decoration`. Moim zdaniem warto od razu kojarzyć, że `text-decoration` nie służy do zmiany kroju pisma, pogrubienia czy kursywy, tylko właśnie do „ozdabiania” tekstu dodatkowymi liniami. Dobra praktyka jest taka, żeby świadomie używać tej właściwości przy stylowaniu linków: np. usuwamy podkreślenie `a { text-decoration: none; }`, a potem przy najechaniu myszką dajemy `a:hover { text-decoration: underline; }`. Dzięki temu interfejs jest czytelniejszy, a użytkownik widzi, że element jest klikalny. Warto też wiedzieć, że `text-decoration` może przyjmować kilka wartości naraz, np. `text-decoration: underline overline;`, co rzadko się używa, ale czasem w jakichś specyficznych projektach UI może się przydać. Z mojego doświadczenia w projektach komercyjnych najczęściej korzysta się z `underline`, `none` i czasem `line-through` np. przy cenach promocyjnych: stara cena przekreślona, nowa obok. To jest taki mały szczegół CSS, ale bardzo często używany w praktyce.

Pytanie 27

W języku PHP symbol "//" oznacza

A. początek komentarza jednoliniowego
B. operator dzielenia całkowitego.
C. początek programu.
D. operator alternatywy.
Znak "//" w PHP to początek komentarza jednoliniowego. Komentarze to naprawdę ważna część kodowania, bo dzięki nim można dodawać notatki, które wyjaśniają, co się dzieje w kodzie. Ułatwia to późniejsze zrozumienie przy pracy nad projektem. Kiedy programista wpisuje "//", mówi interpreterowi PHP, żeby zignorował wszystko, co znajduje się w tej linii po tym znaku. Dzięki temu można opisywać funkcje czy klasy albo tymczasowo wyłączać część kodu, gdy testujemy różne rzeczy. To dobra praktyka, bo czytelność i dokumentacja kodu są kluczowe, szczególnie w większych projektach. Przykładowo, można zobaczyć taki komentarz: // Funkcja oblicza sumę dwóch liczb function suma($a, $b) { return $a + $b; } Dzięki takiemu komentarzowi inny programista szybko zrozumie, co ta funkcja robi, co jest super ważne w sytuacjach, gdy w zespole jest więcej osób.

Pytanie 28

Jak powinna wyglądać prawidłowa, zgodna ze standardami języka HTML, forma samozamykającego się znacznika, który odpowiada za łamanie linii?

A. <br> </br>
B. </br>
C. <br/>
D. </ br>
Pierwsza z podanych odpowiedzi, </br>, jest błędna, ponieważ znacznik kończący nie powinien występować w kontekście samo-zamykających się znaczników. W HTML nie ma potrzeby używania tagu kończącego dla znacznika <br/>. Druga odpowiedź, <br> </br>, również jest niepoprawna, ponieważ pomimo że <br> jest poprawnym znacznikiem, jego użycie w połączeniu z dodatkowym znacznikiem końcowym nie ma sensu, jako że <br> nie wymaga zamknięcia. Tego rodzaju zapis prowadzi do niejasności w interpretacji dokumentu przez przeglądarki, a także może wpływać na wydajność renderowania strony. Ostatnia z odpowiedzi, </ br/>, jest błędna z dwóch powodów: po pierwsze, jest to niepoprawna składnia, a po drugie, ilustruje nieporozumienie dotyczące funkcji samo-zamykających się znaczników w HTML. W standardzie HTML nie stosuje się znaczników kończących dla elementów, które są zaprojektowane do samodzielnego zamykania. Rozumienie różnicy między tymi zapisami jest kluczowe dla programistów i projektantów stron, którzy dążą do tworzenia stron zgodnych z najlepszymi praktykami oraz standardami webowymi.

Pytanie 29

W języku JavaScript zdefiniowano obiekt ```obiekt = { q: 1, w: 2, e: 3, r: 4 };``` W jaki sposób można uzyskać wartość właściwości ```w```?

A. obiekt->w
B. obiekt::w
C. obiekt:w
D. obiekt.w
Aby uzyskać dostęp do wartości własności obiektu w JavaScript, stosuje się notację kropkową. Odpowiedź obiekt.w jest poprawna, ponieważ w JavaScript, odwołując się do właściwości obiektu, używamy kropki jako separatora między nazwą obiektu a nazwą właściwości. W podanym przykładzie obiekt ma cztery właściwości: q, w, e oraz r, z których każda ma przypisaną wartość. Używając notacji obiekt.w, możemy bezpośrednio uzyskać wartość 2, która jest przypisana do właściwości w. W praktyce, notacja kropkowa jest powszechnie stosowana i jest preferowaną metodą dostępu do właściwości obiektów, ponieważ jest bardziej czytelna i łatwiejsza w użyciu. Alternatywnie, można również użyć notacji nawiasowej, jak obiekt['w'], co może być przydatne, gdy nazwa właściwości zawiera znaki niedozwolone w identyfikatorach, ale w większości przypadków notacja kropkowa jest bardziej ergonomiczna i zalecana zgodnie z dobrymi praktykami programowania.

Pytanie 30

Proces normalizacji tabel ma na celu

A. wyłącznie stworzenie tabel oraz powiązań w bazie
B. dodanie danych do bazy
C. wizualizację bazy
D. weryfikację i poprawę efektywności bazy danych
Normalizacja tabel jest procesem, który ma na celu organizację struktury bazy danych w taki sposób, aby zminimalizować redundancję danych oraz zapewnić integralność danych. Proces ten polega na podziale dużych tabel na mniejsze i łączeniu ich za pomocą relacji, co pozwala na efektywniejsze zarządzanie danymi. Przykładem normalizacji może być podział tabeli zawierającej informacje o klientach i ich zamówieniach na dwie oddzielne tabele: jedna do przechowywania danych klientów, a druga do danych zamówień, z relacją między nimi. W praktyce normalizacja, zgodna z metodologią Codd'a, obejmuje kilka poziomych form normalnych, takich jak 1NF, 2NF, i 3NF, z których każda wprowadza dodatkowe ograniczenia i zasady. Przy odpowiedniej normalizacji można uniknąć problemów z aktualizacją danych, takich jak anomalie aktualizacji czy usuwania, co jest kluczowe w utrzymywaniu wysokiej jakości danych w systemach bazodanowych.

Pytanie 31

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

A. wykluczenia.
B. części wspólnej.
C. sumy.
D. grupowania.
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 32

Poniżej przedstawiono fragment kodu obsługującego

<?php
if ( !isset($_COOKIE[$nazwa]) )
  echo "nie ustawiono!";
else
  echo "ustawiono, wartość: " . $_COOKIE[$nazwa];
?>
A. sesji
B. baz danych
C. ciasteczek
D. zmiennych tekstowych
Odpowiedź "ciasteczek" jest poprawna, ponieważ kod PHP przedstawiony w pytaniu zajmuje się obsługą ciasteczek HTTP. Ciasteczka są to małe pliki przechowywane na urządzeniu użytkownika, które pozwalają na zachowanie stanu sesji oraz przechowywanie danych o użytkowniku. W tym przypadku, kod sprawdza, czy ciasteczko o danej nazwie (przechowywane w zmiennej $nazwa) zostało ustawione. Jeśli nie, wyświetla komunikat "nie ustawiono!", a jeśli tak, wyświetla jego wartość. Przykład zastosowania ciasteczek obejmuje przechowywanie preferencji użytkowników na stronach internetowych, takich jak wybór języka czy ostatnio przeglądane produkty w sklepie internetowym. Ważne jest, aby pamiętać o dobrych praktykach dotyczących bezpieczeństwa ciasteczek, takich jak ustalanie odpowiednich flag (np. HttpOnly, Secure), aby chronić je przed atakami typu XSS oraz CSRF. Ciasteczka pozwalają również na śledzenie sesji, co jest istotne dla personalizacji treści i analizy zachowań użytkowników. Zgodnie z RODO, należy również informować użytkowników o używaniu ciasteczek oraz uzyskać ich zgodę na ich przetwarzanie.

Pytanie 33

W języku JavaScript rezultat działania instrukcji zmienna1 –= 1; będzie identyczny jak wynik instrukcji

A. zmienia1 = zmienna1 - 0;
B. zmienna1 === zmienna1 - 1;
C. zmienna1++;
D. zmienna1––;
Instrukcja 'zmienna1 -= 1;' w języku JavaScript jest skróconą formą zapisu, która oblicza nową wartość zmiennej 'zmienna1', odejmując od niej 1. Działa to na zasadzie równania, gdzie zmienna zostaje zaktualizowana do nowej wartości. Z kolei zapis 'zmienna1--;' również dokonuje dekrementacji zmiennej 'zmienna1' o 1, ale w formie operatora post-dekrementacji. W praktyce oznacza to, że obie instrukcje mają ten sam efekt końcowy, czyli zmiana wartości 'zmienna1' o 1 w dół. Przykładowo, jeżeli 'zmienna1' wynosi 5 przed wykonaniem powyższych operacji, to po ich wykonaniu jej wartość wyniesie 4. Takie skrócone formy zapisu są powszechną praktyką w programowaniu, ponieważ umożliwiają bardziej zwięzłe i czytelne przedstawienie operacji na zmiennych, co jest zgodne z zasadami czystego kodu. Używanie operatorów skróconych, takich jak '+=' i '-=', jest zalecane, ponieważ poprawia czytelność i zrozumiałość kodu.

Pytanie 34

Tabele Klienci oraz Zgloszenia są związane relacją jeden do wielu. Jakie polecenie należy wydać, aby uzyskać tylko opis zgłoszenia oraz odpowiadające mu nazwisko klienta dla zgłoszenia numer 5?

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.id WHERE Zgloszenia.id = 5
B. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci WHERE Klienci.id = 5
C. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Klienci.id = 5
D. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Zgloszenia.id = 5
Ta odpowiedź jest prawidłowa, ponieważ używa poprawnej składni SQL do wykonania zapytania z dwóch tabel powiązanych relacją jeden do wielu. Kluczowym elementem jest użycie klauzuli JOIN, która łączy tabelę Zgloszenia z tabelą Klienci poprzez pole Klienci_id, będące kluczem obcym w tabeli Zgloszenia. Dzięki temu możliwe jest powiązanie odpowiednich rekordów z dwóch tabel. Warunek w klauzuli WHERE Zgloszenia.id = 5 precyzuje, że zapytanie ma zwrócić dane tylko dla zgłoszenia o identyfikatorze 5. Taki sposób pisania zapytań SQL jest zgodny z normami ANSI SQL i jest powszechnie stosowany w systemach zarządzania bazami danych jak MySQL, PostgreSQL czy SQL Server. Korzystanie z JOIN, zwłaszcza z klauzulą ON, jest dobrą praktyką, ponieważ zapewnia czytelność i bezpieczeństwo zapytań. W realnych zastosowaniach, takie zapytania są używane do łączenia danych z różnych źródeł w celu ich analizy lub raportowania. Prawidłowa struktura zapytania ułatwia jego modyfikację i integrację z innymi operacjami bazy danych, co jest niezbędne w zarządzaniu danymi w dużych systemach informatycznych. Zrozumienie mechanizmu JOIN oraz użycie klauzuli WHERE w celu ograniczenia wyników jest kluczowe w efektywnym zarządzaniu i analizie danych w relacyjnych bazach danych.

Pytanie 35

Na podstawie fragmentu dokumentu HTML, określ co należy wpisać w miejsce kropek w odnośniku w menu, aby przenosił on do rozdziału 2.

Fragment menu
<a ...>Rozdział 2</a>

Fragment dalej w dokumencie
<h1 id="r2" name="sekcja2" class="rozdzial2">Rozdział 2<h1>
A. href = "#r2"
B. href = "#sekcja2"
C. href = "sekcja2"
D. href = "r2"
Gratulacje, Twoja odpowiedź jest prawidłowa. Wybrałeś 'href="#r2"', co jest poprawne, ponieważ w HTML, atrybut 'href' w tagu 'a' służy do określenia miejsca docelowego odnośnika. W tym przypadku, miejsce docelowe to identyfikator (id) elementu na tej samej stronie. Przed identyfikatorem umieszcza się znak '#', który informuje przeglądarkę, że ma poszukać elementu z danym 'id' na tej samej stronie. W tym konkretnym przypadku, 'r2' jest identyfikatorem rozdziału 2 na stronie, dlatego 'href="#r2"' skieruje odnośnik do tego rozdziału. W praktyce, używanie identyfikatorów pozwala na tworzenie skomplikowanych stron z wieloma sekcjami, gdzie odsyłacze umożliwiają łatwe i szybkie nawigowanie. To jest zgodne ze standardami i dobrymi praktykami dla tworzenia stron internetowych.

Pytanie 36

Wartości, które może przyjąć zmienna typu double, to:

A. 1,44; 2,55
B. 2.4; 4; 3.2
C. "Ala"; 'd'
D. 1979-12-05; 12:33
Zmienna typu double jest typem danych, który jest powszechnie używany w programowaniu, szczególnie w językach takich jak Java, C++ czy Python, do przechowywania liczb zmiennoprzecinkowych o podwójnej precyzji. W przeciwieństwie do typów całkowitych, typ double może reprezentować liczby z częścią dziesiętną, co czyni go idealnym do obliczeń wymagających precyzyjnych wartości, takich jak obliczenia finansowe czy naukowe. Przykłady wartości, które mogą być przechowywane w zmiennej typu double obejmują 2.4, 4, 3.2, gdzie każda z nich jest liczbą zmiennoprzecinkową. Ważne jest, aby stosować ten typ w odpowiednich kontekstach, aby uniknąć błędów związanych z precyzją. Zgodnie z najlepszymi praktykami, podczas definiowania zmiennych należałoby jasno określić ich typ, aby zapewnić przejrzystość kodu oraz jego przyszłą konserwację.

Pytanie 37

Język JavaScript wspiera

A. klasy abstrakcyjne
B. obiekty DOM
C. wysyłanie ciasteczek z identycznymi informacjami do wielu klientów witryny
D. funkcje wirtualne
JavaScript to język skryptowy, który ma wbudowaną obsługę obiektowego modelu dokumentu (DOM), co umożliwia dynamiczne manipulowanie strukturą HTML oraz CSS stron internetowych. Dzięki DOM programiści mogą dodawać, usuwać lub modyfikować elementy na stronie w czasie rzeczywistym, co czyni aplikacje bardziej interaktywnymi. Przykładem może być zmiana tekstu przycisku po jego kliknięciu, co można osiągnąć dzięki metodom takim jak `getElementById` oraz `innerHTML`. JavaScript jest nieodłącznym elementem nowoczesnego podejścia do tworzenia aplikacji webowych, a jego kompatybilność z DOM sprawia, że jest to kluczowa umiejętność dla programistów. Wiedza na temat manipulacji DOM jest fundamentem dla technologii takich jak React czy Angular, które opierają się na zasadach wydajnego zarządzania interfejsem użytkownika przez wirtualny DOM. Współczesne standardy, takie jak ECMAScript, rozwijają możliwości JavaScript, a znajomość DOM jest niezwykle cenna na rynku pracy.

Pytanie 38

Poprzez zdefiniowanie var x="true"; w języku JavaScript powstaje zmienna należąca do typu

A. liczbowym
B. nieokreślonego (undefined)
C. logicznym
D. string (ciąg znaków)
Deklaracja <b>var x="true";</b> w języku JavaScript tworzy zmienną typu string (ciąg znaków). Wartość "true" jest tekstem, a nie wartością logiczną. W JavaScript, zmienne są dynamicznie typowane, co oznacza, że ich typ może się zmieniać w zależności od wartości, którą przechowują. Przykładem zastosowania tego typu zmiennej może być przechowywanie danych użytkownika w aplikacjach webowych, gdzie często korzysta się z ciągów znaków do reprezentacji różnych informacji, takich jak nazwy użytkowników, hasła, czy inne dane tekstowe. Dobrymi praktykami w programowaniu w JavaScript jest unikanie pomylenia wartości logicznych z ciągami znaków, ponieważ mogą one prowadzić do trudnych do zdiagnozowania błędów. Warto również pamiętać, że w JavaScript stringi są otoczone pojedynczymi lub podwójnymi cudzysłowami, co pozwala na jednoznaczną identyfikację ich jako typów danych. Dobre zrozumienie typów danych w JavaScript jest kluczowe dla skutecznego programowania i zarządzania danymi.

Pytanie 39

Zidentyfikuj poprawnie zbudowany warunek w języku PHP, który sprawdza brak połączenia z bazą MySQL.

A. if (mysql_connect_error())()
B. if (mysqli_connect_errno()){}
C. if {mysqli_connect_error()}{}
D. if {mysql_connect_errno()}{}
Odpowiedź, którą zaznaczyłeś, to 'if (mysqli_connect_errno()){}'. Funkcja 'mysqli_connect_errno()' mówi nam, jaki błąd wystąpił, jeśli nie udało się połączyć z bazą danych MySQL. Jeśli zwraca coś innego niż zero, to znaczy, że coś poszło nie tak. Używamy warunku 'if' w PHP, żeby sprawdzić, czy coś jest prawdą, a w tym wypadku badamy, czy wystąpił błąd podczas łączenia się. Kiedy już wiemy, że są problemy, warto dodać logikę do obsługi błędów, na przykład powiedzieć użytkownikowi, co się wydarzyło lub zapisywać szczegóły w logach. Pamiętaj, żeby korzystać z 'mysqli', bo 'mysql' to już staroć i nie jest rozwijana. ‘Mysqli’ to lepszy wybór, bo daje nam więcej możliwości oraz lepsze bezpieczeństwo i wydajność w aplikacjach webowych.

Pytanie 40

Który z linków ma poprawną formę?

A. <a href="http://adres">tekst</a>
B. <a href='http://:adres'>tekst</a>
C. <a href='mailto:adres'>tekst</a>
D. <a href="mailto:adres">tekst</a>
Poprawna konstrukcja odsyłacza HTML do adresu e-mail, przedstawiona w odpowiedzi czwartej, jest zgodna z obowiązującymi standardami HTML. Kluczowym elementem jest użycie atrybutu 'href' z prefiksem 'mailto:', co wskazuje przeglądarkom, że link powinien otworzyć domyślną aplikację pocztową użytkownika, umożliwiając bezpośrednie wysłanie wiadomości e-mail. Poprawny format to <a href='mailto:adres'>tekst</a>, gdzie 'adres' jest zastępowany rzeczywistym adresem e-mail, a 'tekst' to widoczny fragment, na który użytkownik może kliknąć. Taka konstrukcja jest kluczowa w interakcji użytkowników z aplikacjami pocztowymi, a także zwiększa użyteczność i dostępność stron internetowych. Zgodnie z wytycznymi W3C, stosowanie odpowiednich atrybutów pozwala na lepszą indeksację przez wyszukiwarki, co ma pozytywny wpływ na SEO. Użycie standardowych cudzysłowów (") w konstrukcji HTML jest również zalecane, co dodatkowo podnosi jakość kodu oraz jego czytelność."