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: 7 sierpnia 2026 23:30
  • Data zakończenia: 7 sierpnia 2026 23:49

Egzamin niezdany

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

Określ rezultat działania podanego kodu PHP, przy założeniu, że zmienna tab jest tablicą.

$tab = explode(",", "jelenie,sarny,dziki,lisy,borsuki"); 
echo $tab[1]." ".$tab[2];
A. dziki lisy
B. sarny dziki
C. jelenie sarny
D. lisy borsuki
Wybór odpowiedzi 'jelenie sarny' wskazuje na brak zrozumienia podstawowych zasad przydzielania indeksów w tablicach w PHP. Elementy tablicy są indeksowane od zera, co oznacza, że $tab[0] odpowiada pierwszemu elementowi, którym jest 'jelenie', a $tab[1] to 'sarny'. Stąd wynika, że kombinacja 'jelenie sarny' nie jest wynikiem wykonania podanego kodu. Podobnie, wybór 'lisy borsuki' także jest błędny, ponieważ $tab[3] to 'lisy', a $tab[4] to 'borsuki', co nie znajduje się w kontekście użycia echo. W przypadku 'dziki lisy', nie uwzględnia on odpowiednich indeksów, ponieważ $tab[2] to 'dziki', a $tab[3] to 'lisy', a więc również nie odpowiada wynikowi zwróconemu przez kod. Takie pomyłki mogą wynikać z nieuwagi lub braku zrozumienia struktury tablic oraz ich indeksowania. Kluczowe jest, aby programista zdawał sobie sprawę, jak funkcje PHP manipulują danymi oraz jak poprawnie odwoływać się do elementów tablicy, co jest fundamentalne dla efektywnego programowania i unikania błędów w aplikacjach.

Pytanie 2

Jaką wartość w systemie szesnastkowym przyjmie kolor określony kodem RGB rgb(255, 128, 16)?

A. #ff0f10
B. #008010
C. #ff8010
D. #ff8011
Odpowiedź #ff8010 jest prawidłowa, ponieważ kolor o wartości rgb(255, 128, 16) w systemie szesnastkowym przekłada się na poszczególne wartości RGB. Wartości te są konwertowane w sposób następujący: 255 w systemie dziesiętnym odpowiada FF w systemie szesnastkowym, 128 to 80, a 16 to 10. Zatem, łącząc te składniki, otrzymujemy #ff8010. W praktyce, kolory te są często stosowane w projektowaniu graficznym oraz tworzeniu stron internetowych, gdzie dokładne odwzorowanie kolorów jest kluczowe. Kod szesnastkowy jest powszechnie używany ze względu na swoją kompaktowość i łatwość odczytu dla programistów. Warto więc zaznaczyć, że znajomość konwersji kolorów między różnymi systemami jest ważnym elementem w pracy nad kolorystyką w projektach cyfrowych oraz w branżach zajmujących się grafiką i designem. Dobre praktyki obejmują stosowanie narzędzi do wizualizacji kolorów oraz testowanie ich na różnych urządzeniach, aby zapewnić spójność wizualną.

Pytanie 3

Ile razy zostanie wykonana pętla przedstawiona w kodzie PHP?

for($i = 0; $i < 25; $i += 5) { ...... }
A. 5
B. 26
C. 25
D. 0
Pętla for w PHP, zdefiniowana jako for($i = 0; $i < 25; $i += 5), będzie wykonywana do momentu, gdy warunek $i < 25 będzie spełniony. Początkowa wartość $i to 0, a w każdej iteracji zwiększamy $i o 5. Wartości $i w kolejnych iteracjach będą wynosiły: 0, 5, 10, 15, 20. Po piątej iteracji, gdy $i osiągnie wartość 25, warunek $i < 25 przestanie być spełniony, co zakończy działanie pętli. W sumie, pętla wykona się dokładnie pięć razy. Zrozumienie działania pętli for jest kluczowe w programowaniu, ponieważ pozwala na automatyzację wielu zadań, co jest niezbędne w tworzeniu efektywnych i zoptymalizowanych aplikacji. Przykłady zastosowania to iteracja przez elementy tablic, generowanie numerów identyfikacyjnych czy przetwarzanie danych w bazach.

Pytanie 4

Atrybut colspan służy do poziomego łączenia komórek tabeli, natomiast rowspan pozwala na łączenie ich w pionie. Którą z poniższych tabel ukazuje fragment kodu napisany w języku HTML?
<table border="1" cellspaing="0" cellpadding="10" >
<tr> <td rowspan="2"> </td> <td> </td> </tr>
<tr> <td> </td> </tr>
</table>

Ilustracja do pytania
A. rys. C
B. rys. A
C. rys. B
D. rys. D
Zastosowanie atrybutu rowspan w HTML wymaga zrozumienia jak działa scalanie komórek w pionie co może prowadzić do pewnych nieporozumień w interpretacji wynikowego układu tabeli Błąd w rozumieniu funkcji rowspan może wynikać z mylnego przypisania skali poziomej do pionowej co wprowadza chaos w strukturze tabeli Jeśli zamiast rowspan użyto by colspan komórki byłyby łączone w poziomie co zmieniłoby całkowicie układ i wizualizację tabeli Niepoprawne rozumienie tego mechanizmu często skutkuje wyborem niewłaściwej odpowiedzi ponieważ kolumny z atrybutem rowspan są błędnie postrzegane jako poziome połączenia Dodatkowo brak świadomości że odstępy między komórkami oraz ich ramki mogą być konfigurowane wpływa na percepcję układu tabeli co może prowadzić do złego rozpoznania poprawnego rysunku W przypadku złego przypisania rowspan w tabeli możemy uzyskać niespójny układ co jest sprzeczne z dobrą praktyką projektowania interfejsów użytkownika gdzie spójność i czytelność są kluczowe Dlatego ważne jest aby dokładnie analizować kod i jego efekty na strukturę tabeli oraz stosować się do standardów HTML które zapewniają poprawność i czytelność danych w tabelach

Pytanie 5

Komunikat ma pojawiać się tylko przy PIERWSZEJ wizycie użytkownika. Którą funkcję PHP wykorzystać?

A.
mysqli_change_user
B.
define
C.
setcookie
D.
session_destroy
Pozostałe funkcje nie zapamiętają faktu wizyty. define() tworzy stałą istniejącą tylko podczas jednego wykonania skryptu. session_destroy() niszczy sesję, a mysqli_change_user() zmienia użytkownika połączenia z bazą. Trwały ślad między wizytami zostawia setcookie().

Pytanie 6

Wskaż polecenie, które zostało opisane w ramce.

Dla każdego przebiegu pętli aktualna wartość elementu tablicy jest przypisywana do zmiennej, a wskaźnik tablicy jest przesuwany o jeden, aż do osiągnięcia ostatniego elementu tablicy
A. foreach
B. for
C. while
D. next
Pętla 'for' wymaga jawnego zarządzania indeksem i często jest stosowana, gdy potrzebujemy precyzyjnej kontroli nad iteracją, na przykład gdy musimy modyfikować indeks lub iterować w niestandardowy sposób. W przeciwieństwie do 'foreach', pętla 'for' nie zajmuje się automatycznym przypisywaniem elementów tablicy do zmiennych, co czyni ją mniej odpowiednią w kontekście opisanym w pytaniu. Instrukcja 'next' nie jest typową konstrukcją w najpopularniejszych językach programowania i może być myląca, ponieważ czasami jest używana w kontekście pętli w VBA lub jako element iteracyjny w innych, mniej popularnych językach. Natomiast pętla 'while' służy do wykonywania iteracji dopóki spełniony jest określony warunek logiczny, co nie jest zgodne z opisaną funkcjonalnością, w której pętla ma automatycznie przypisywać wartość elementów tablicy do zmiennej. Zrozumienie różnic między tymi strukturami pomaga w wyborze odpowiedniego narzędzia do zadania, zwiększając efektywność i czytelność kodu.

Pytanie 7

Który format wideo NIE jest natywnie obsługiwany przez element <video> w HTML5?

A. Ogg
B. WebM
C. AVI
D. MP4
Pozostałe formaty należą do standardu HTML5 dla <video>. MP4, WebM i Ogg działają bez wtyczek w przeglądarkach. AVI, choć popularny na dyskach, nie należy do tej grupy. Dlatego natywnie nieobsługiwany jest AVI.

Pytanie 8

Poniżej przedstawiono sposób obsługi:

<?php
if (!isset($_COOKIE[$nazwa]))
    echo "nie ustawiono!";
else
    echo "ustawiono, wartość: " . $_COOKIE[$nazwa];
?>
A. sesji
B. baz danych
C. zmiennych tekstowych
D. ciasteczek
Kod PHP przedstawiony w pytaniu ilustruje użycie mechanizmu ciasteczek w przeglądarce. Ciasteczka to małe pliki tekstowe, które serwer umieszcza na komputerze użytkownika, aby przechowywać informacje między sesjami HTTP. W tym przypadku kod sprawdza, czy zmienna o nazwie $nazwa jest ustawiona w tablicy superglobalnej $_COOKIE. Jeśli ciasteczko o danej nazwie nie zostało ustawione, skrypt zwraca komunikat 'nie ustawiono!'. Gdy ciasteczko istnieje, wyświetlana jest jego wartość. Ciasteczka są powszechnie stosowane do śledzenia sesji użytkowników, przechowywania preferencji czy zachowania stanu zalogowania. Ważnym aspektem jest zrozumienie, że ciasteczka działają po stronie klienta i mogą być modyfikowane przez użytkownika, dlatego powinny być używane z ostrożnością i w połączeniu z innymi mechanizmami zabezpieczeń. Warto pamiętać, że ciasteczka mają ograniczenia co do wielkości i liczby, które mogą być przechowywane przez przeglądarkę. Implementacja ciasteczek powinna być zgodna z regulacjami dotyczącymi prywatności, takimi jak RODO, które nakładają obowiązek informowania użytkowników o ich używaniu oraz uzyskiwania zgody.

Pytanie 9

Wyjątkowa metoda przynależąca do danej klasy w programowaniu obiektowym, która jest automatycznie wywoływana w momencie tworzenia obiektu i zazwyczaj ma na celu inicjalizację pól, to

A. obiekt
B. konstruktor
C. destruktor
D. specyfikator dostępu
Obiekt to instancja klasy, która zawiera konkretne wartości pól oraz metody zdefiniowane w klasie. Nie jest to jednak metoda, a raczej jej realizacja. W programowaniu obiektowym obiekty są tworzone za pomocą konstruktorów, co oznacza, że mylenie tych pojęć prowadzi do nieporozumień. Destruktor, z drugiej strony, to metoda wywoływana automatycznie podczas usuwania obiektu z pamięci. Jego zadaniem jest zwolnienie zasobów zajmowanych przez obiekt. Brak zrozumienia różnicy między konstruktorem a destruktorem może prowadzić do problemów z zarządzaniem pamięcią i wycieków zasobów. Specyfikator dostępu, natomiast, to mechanizm definiujący widoczność i dostępność pól oraz metod w klasie. Pomimo że jest kluczowym elementem programowania obiektowego, nie odnosi się bezpośrednio do tworzenia instancji obiektów. Powszechnym błędem jest zatem utożsamianie konstruktorów z innymi elementami języka obiektowego, co może prowadzić do nieefektywnej architektury oprogramowania oraz trudności w jego zrozumieniu i utrzymaniu. Kluczowe jest zatem zrozumienie roli, jaką konstruktor odgrywa w kontekście cyklu życia obiektu oraz zarządzania jego stanem.

Pytanie 10

Jakie działanie wykonuje polecenie DBCC CHECKDB("sklepAGD", Repair_fast) w MS SQL Server?

A. sprawdzi spójność bazy danych i utworzy kopię zapasową
B. zweryfikuje spójność danej tabeli
C. sprawdzi spójność bazy danych i naprawi uszkodzone indeksy
D. zweryfikuje spójność danej tabeli oraz naprawi uszkodzone rekordy
Polecenie DBCC CHECKDB w MS SQL Server to narzędzie używane do weryfikacji integralności bazy danych. W przypadku użycia opcji Repair_fast, polecenie to sprawdza spójność bazy danych oraz naprawia uszkodzone indeksy. Jest to istotne w kontekście zapewnienia, że wszystkie dane w bazie są prawidłowo zorganizowane i dostępne. Uszkodzone indeksy mogą prowadzić do problemów z wydajnością zapytań oraz błędów w dostępie do danych. Przykładowo, gdy baza danych ulega uszkodzeniu z powodu awarii sprzętu lub błędów oprogramowania, DBCC CHECKDB umożliwia przywrócenie funkcjonalności. Dobrą praktyką jest regularne wykonywanie tego polecenia jako część strategii utrzymania bazy danych, co pozwoli na wcześniejsze wykrycie potencjalnych problemów, zanim staną się one krytyczne. Warto również zaznaczyć, że DBCC CHECKDB powinno być uruchamiane w odpowiednich oknach serwisowych, by zminimalizować wpływ na wydajność aplikacji korzystających z bazy danych.

Pytanie 11

Wykonano następującą kwerendę SQL na tabeli dania, której wiersze zostały pokazane na obrazie:

SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;
Ile wierszy wybierze ta kwerenda?

idtypnazwacena
11Gazpacho20
21Krem z warzyw25
31Gulaszowa ostra30
42Kaczka i owoc30
52Kurczak pieczony40
62wieprzowy przysmak35
72Mintaj w panierce30
82Alle kotlet30
93Owoce morza20
103Grzybki, warzywka, sos15
113Orzechy i chipsy10
123Tatar i jajo15
133Bukiet warzyw10
A. 5
B. 8
C. 13
D. 2
Gratulacje, dobrze sobie poradziłeś z tym pytaniem! Wykonanie kwerendy SELECT na tabeli danych, oznacza wybieranie konkretnych wierszy z tej tabeli, które spełniają określone kryteria. Kwerendy SQL są podstawowym narzędziem w zarządzaniu bazami danych, a ich zrozumienie jest kluczowe dla efektywnej pracy z danymi. W tym przypadku, kwerenda SELECT wybrała 2 wiersze - jest to prawidłowa odpowiedź. W praktyce, mogłoby to oznaczać na przykład wybranie z bazy danych informacji o dwóch klientach, którzy spełnili określone kryteria. Ważne jest, aby pamiętać, że liczba wybranych wierszy zależy od kryteriów, które określamy w kwerendzie. W SQL mamy wiele możliwości filtrowania i sortowania danych, co pozwala na efektywne zarządzanie informacjami. Dobra praktyka to dokładne zrozumienie działania kwerendy, zanim zostanie ona wykonana na dużej ilości danych.

Pytanie 12

Tabela filmy ma klucz główny id i klucz obcy rezyserID. Tabela rezyserzy ma klucz główny id. Jak poprawnie połączyć je w SELECT (relacja jeden reżyser → wiele filmów)?

A.
... filmy JOIN rezyserzy ON filmy.id = rezyserzy.id ...
B.
... filmy JOIN rezyserzy ON filmy.rezyserID = rezyserzy.filmyID ...
C.
... filmy JOIN rezyserzy ON filmy.id = rezyserzy.filmyID ...
D.
... filmy JOIN rezyserzy ON filmy.rezyserID = rezyserzy.id ...
Złączenie musi zestawiać klucz obcy z głównym powiązanej tabeli. filmy.id = rezyserzy.id porównuje dwa klucze GŁÓWNE (bez sensu logicznego). Warianty z rezyserzy.filmyID odwołują się do nieistniejącej kolumny. Poprawne jest ON filmy.rezyserID = rezyserzy.id.

Pytanie 13

W języku PHP zapisano fragment kodu. Plik cookie stworzony tym poleceniem

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. zostanie usunięty po jednym dniu od jego utworzenia.
B. będzie przechowywany na serwerze przez jedną godzinę.
C. zostanie usunięty po jednej godzinie od jego utworzenia.
D. będzie przechowywany na serwerze przez jeden dzień.
Odpowiedź, którą zaznaczyłeś, to 'zostanie usunięty po jednym dniu od jego utworzenia'. W PHP działa to tak, że funkcja setcookie() bierze pod uwagę czas, po jakim cookie ma wygasnąć. To jest dodawane do aktualnego czasu, który dostajemy z funkcji time(). Kiedy widzisz wartość 3600 * 24, to znaczy, że mamy tu 86400 sekund, a to dokładnie jeden dzień. Czyli cookie zniknie z przeglądarki po upływie doby od założenia. Wydaje mi się, że to ważna sprawa, bo dobrze wiedzieć, jak działa cykl życia cookies w PHP. Pomoże to w ogarnianiu sesji i dbaniu o bezpieczeństwo w aplikacjach internetowych.

Pytanie 14

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

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

Pytanie 15

Język JavaScript wspiera

A. obiekty DOM
B. klasy abstrakcyjne
C. funkcje wirtualne
D. wysyłanie ciasteczek z identycznymi informacjami do wielu klientów witryny
Wybór klas abstrakcyjnych jako odpowiedzi na pytanie o możliwości JavaScript opiera się na mylnym przekonaniu o paradygmacie programowania obiektowego. W przeciwieństwie do języków takich jak Java, JavaScript nie wspiera klasycznych klas abstrakcyjnych. W JavaScript mamy do czynienia z prototypowym dziedziczeniem, a nie z hierarchicznymi klasami. Obiekty mogą być tworzone na podstawie prototypów, co oznacza, że nie ma potrzeby korzystania z klas abstrakcyjnych. W kontekście funkcji wirtualnych, również istnieje nieporozumienie. JavaScript nie używa tego pojęcia, ponieważ mechanizm dziedziczenia oparty na prototypach nie wymaga takiej funkcjonalności. Ponadto, odpowiedzi dotyczące wysyłania ciastek do wielu klientów są mylące, ponieważ ciasteczka są przypisane do domeny i nie istnieje możliwość ich wysyłania do wielu klientów na raz. Ciasteczka są przesyłane w nagłówkach HTTP, a ich działanie opiera się na współpracy między klientem a serwerem. Te błędne założenia mogą prowadzić do przekłamań w projektowaniu aplikacji webowych, gdzie zrozumienie podstawowych mechanizmów JavaScript oraz ich właściwości jest kluczowe dla efektywnego i wydajnego tworzenia stron internetowych. Zrozumienie różnic między podejściami obiektowymi w różnych językach jest istotne dla programistów, aby uniknąć pułapek myślowych oraz błędnych kierunków w kodowaniu.

Pytanie 16

Tabela naprawy ma kolumny klient i czyNaprawione. Jak usunąć rekordy, w których czyNaprawione jest prawdą?

A.
DELETE naprawy WHERE czyNaprawione = TRUE;
B.
DELETE FROM naprawy WHERE czyNaprawione = TRUE;
C.
DELETE FROM naprawy;
D.
DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;
DELETE FROM naprawy; bez WHERE usunęłoby WSZYSTKIE wiersze. DELETE naprawy WHERE ... pomija słowo FROM. DELETE klient FROM ... błędnie wskazuje kolumnę (DELETE usuwa całe wiersze). Poprawne jest DELETE FROM naprawy WHERE czyNaprawione = TRUE;.

Pytanie 17

Ustalenie klucza obcego jest konieczne do skonstruowania

A. transakcji
B. relacji 1..1
C. klucza podstawowego
D. relacji 1..n
Zdefiniowanie klucza obcego nie jest bezpośrednio związane z relacjami 1..1, transakcjami czy kluczem podstawowym, ponieważ każde z tych pojęć odnosi się do innego aspektu zarządzania danymi w relacyjnych bazach danych. W przypadku relacji 1..1, każdemu rekordowi w jednej tabeli odpowiada dokładnie jeden rekord w drugiej tabeli, co oznacza, że nie ma potrzeby stosowania klucza obcego, gdyż relacja ta nie wymaga wskazywania powiązań między różnymi rekordami. Ponadto, transakcje są zbiorem operacji, które muszą być wykonane w całości lub wcale, a klucz obcy nie ma bezpośredniego wpływu na ich działanie - klucze obce służą głównie do zapewnienia integralności danych, a nie do zarządzania transakcjami. Klucz podstawowy, z drugiej strony, to unikalny identyfikator każdego rekordu w tabeli, a jego definicja jest odrębna od definicji klucza obcego. W praktyce, pomylenie tych pojęć prowadzi do błędnych wniosków o strukturyzacji danych oraz ich relacjach, co może skutkować nieefektywnym projektowaniem baz danych oraz trudnościami w późniejszym zarządzaniu danymi.

Pytanie 18

Na tabeli muzyka, przedstawionej na rysunku, zostało wykonane następujące zapytanie SQL. Jaki wynik zwróci ta kwerenda?

SELECT wykonawca FROM `muzyka` WHERE wykonawca LIKE 'C%w';
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzeslaw Niemen2005Przyjdz W Taka Noc itd.
2IkonaStan Borys2014
3AerolitCzeslaw Niemen2017Winylowa reedycja płyty „Aerolit”.
4JourneyMikolaj Czechowski2013
A. Czeslaw, Niemen
B. pusty wynik
C. Czeslaw
D. Czeslaw, Czechowski
Niepoprawna odpowiedź wynika ze złego zrozumienia, jak działa operator LIKE w zapytaniach SQL. Operator LIKE jest używany do porównania wartości z określonym wzorcem. W naszym przypadku, wzorzec to 'C%w', gdzie '%' oznacza dowolne zero lub więcej znaków. Czyli szukamy wykonawców, których nazwy zaczynają się na 'C' i kończą na 'w'. Błędne odpowiedzi sugerują, że niezrozumienie polega na tym, że '%w' miałoby oznaczać 'wszystkie nazwy kończące się na w', co nie jest prawdą. W rzeczywistości, '%w' oznacza 'dowolne znaki, po których następuje litera w'. Dlatego, żadne z podanych wykonawców nie spełnia tego kryterium, a wynik zapytania jest pusty. To ważne, aby zrozumieć, jak działają wzorce w SQL, gdyż są one bardzo użyteczne przy wyszukiwaniu danych w bazie.

Pytanie 19

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

var obiekt1 = {
    x: 0,
    y: 0,
    wsp: function() { [...] }
}
A. dwoma właściwościami oraz jedną metodą
B. trzema metodami
C. dwoma metodami oraz jedną właściwością
D. trzema właściwościami
Analizując strukturę obiektów w języku JavaScript, często spotykamy się z terminami właściwości i metody. Właściwości to elementy obiektu przechowujące dane, natomiast metody to funkcje przypisane jako wartości właściwości, które pozwalają na wykonywanie operacji na obiekcie. Błędne zrozumienie tych pojęć może prowadzić do niepoprawnej interpretacji struktury obiektu. Jeśli zakładamy, że obiekt ma dwie metody i jedną właściwość, oznaczałoby to, że w obiekcie znajdziemy dwie funkcje i jeden element przechowujący dane, co nie odpowiada rzeczywistości przedstawionej na obrazku. Podobnie, stwierdzenie, że obiekt zawiera trzy właściwości, ignoruje obecność funkcji, która pełni rolę metody. Z kolei twierdzenie, że obiekt ma trzy metody, oznaczałoby całkowity brak właściwości przechowujących dane, co jest sprzeczne z danymi stanowymi obiektu. Takie nieporozumienia wynikają często z braku zrozumienia struktury i natury obiektów w języku JavaScript. Dla poprawnego programowania kluczowe jest rozróżnienie tych elementów i poprawne przypisywanie ich ról w obiekcie, co prowadzi do bardziej wydajnego i przejrzystego kodu. Dobre praktyki programistyczne zalecają dokładne analizowanie wymagań i struktury danych przy projektowaniu obiektów, co pozwala na uniknięcie takich błędów w przyszłości i poprawia jakość aplikacji.

Pytanie 20

Co umożliwia funkcja phpinfo()?

A. rozpoczęcie wykonywania kodu PHP
B. sprawdzenie wartości zmiennych
C. debugowanie kodu PHP
D. uzyskanie informacji o środowisku serwera PHP
Pozostałe opisy mylą tę funkcję z innymi czynnościami. phpinfo() nie „rozpoczyna wykonywania kodu” (kod startuje od znacznika <?php) ani nie debuguje (od tego są narzędzia jak Xdebug). Nie służy też do podglądu wartości pojedynczych zmiennych - do tego używa się var_dump() czy print_r(). phpinfo() pokazuje informacje o środowisku serwera.

Pytanie 21

Kiedy stosuje się kwerendę SELECT DISTINCT?

A. gdy chcemy posortować rekordy
B. gdy rekordy występują w bazie tylko raz
C. gdy chcemy pogrupować rekordy
D. gdy w wybranej kolumnie wartości nie mają się powtarzać
SELECT DISTINCT stosuje się wtedy, gdy w wybranej kolumnie wartości nie mają się powtarzać w wyniku - baza zwróci wówczas tylko unikalne pozycje, np. SELECT DISTINCT miasto FROM klienci da listę różnych miast bez duplikatów. To typowy sposób na utworzenie zestawienia „każda wartość raz”. Dlatego używa się go dla niepowtarzających się wartości kolumny.

Pytanie 22

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. aside {float: left; }
B. nav { float: right; } section { float: right; }
C. nav { float: right; }
D. nav { float: left; } aside { float: left; }
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa float, a nie tylko samo skojarzenie, że „left to lewo, right to prawo”. Wiele osób myśli, że wystarczy ustawić jeden element na lewo, drugi na prawo i wszystko magicznie się poukłada. W praktyce przeglądarka trzyma się bardzo konkretnych reguł: najpierw liczy kolejność elementów w HTML, potem dopiero stosuje float i układa je możliwie jak najwyżej i jak najbliżej odpowiedniej krawędzi.

Jeśli nada się float tylko dla aside albo tylko dla nav, to zmienia się ich pozycja, ale układ trzech bloków nie spełni warunku z zadania: aside i nav nie zamienią się miejscami z pozostawieniem section w środku. Przykładowo, samo float: left na aside niczego nie „zamieni”, bo element i tak pojawia się jako pierwszy w kodzie, więc będzie u góry, tylko że „przyklejony” do lewej. Z kolei ustawienie nav na prawą stronę bez odpowiedniego floatowania section prowadzi do sytuacji, gdzie section nadal zachowuje się jak normalny blok, zwykle ląduje pod elementami pływającymi albo obok nich w sposób mało przewidywalny dla początkującego.

Częsty błąd myślowy polega też na tym, że ktoś próbuje wszystkim elementom dać float: left, licząc na to, że przeglądarka „ułoży je po swojemu”. Wtedy jednak wszystkie te bloki ustawiają się w jednym kierunku, w kolejności z HTML, więc nie ma mowy o świadomym „zamienianiu miejsc”. Brak zrozumienia, że float wyjmuje element z normalnego przepływu i wpływa na to, jak kolejne elementy zawijają się wokół niego, prowadzi właśnie do takich błędnych odpowiedzi. Z mojego doświadczenia lepiej jest najpierw narysować sobie prosty schemat: w jakiej kolejności idą znaczniki i które z nich mają pływać w prawo, a które zostać w naturalnym układzie. Dopiero wtedy dobiera się konkretne deklaracje CSS. Takie myślenie przydaje się nie tylko przy float, ale też przy nauce flexboxa czy grida, gdzie kolejność w DOM i własności układu też grają ogromną rolę.

Pytanie 23

Plik cookie utworzony przedstawionym poleceniem PHP:

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. wygaśnie po jednej dobie od jego utworzenia.
B. będzie przechowywany na serwerze przez jedną godzinę.
C. będzie przechowywany na serwerze przez jedną dobę.
D. wygaśnie po jednej godzinie od jego utworzenia.
W tym poleceniu PHP funkcja setcookie() dostaje jako trzeci parametr czas wygaśnięcia ciasteczka w postaci znacznika czasu UNIX (timestamp). Wyrażenie time() + (3600 * 24) oznacza: aktualny czas serwera (time()) powiększony o 3600 sekund (czyli jedną godzinę) razy 24, co razem daje 86400 sekund, czyli dokładnie jedną dobę. Przeglądarka zapisuje to jako tzw. cookie trwałe (persistent cookie) i będzie je przechowywać do momentu osiągnięcia tego czasu. Po upływie doby od utworzenia, przeglądarka automatycznie przestanie wysyłać to cookie w nagłówkach HTTP do serwera. To jest ważne: cookie jest przechowywane po stronie klienta, czyli w przeglądarce użytkownika, a nie na serwerze. Serwer tylko wysyła nagłówek Set-Cookie w odpowiedzi HTTP. W praktyce takie ustawienie przydaje się np. do zapamiętania imienia użytkownika, preferencji językowych, koszyka w prostym sklepie albo ustawień wyglądu strony na krótki czas, np. na jedną dobę. Moim zdaniem warto zapamiętać, że brak trzeciego parametru w setcookie() oznacza cookie sesyjne (kasowane po zamknięciu przeglądarki), a podanie konkretnego timestampu tworzy cookie, które ma określoną datę wygaśnięcia. Dobrą praktyką jest zawsze świadomie dobierać czas życia ciasteczek: dane wrażliwe powinny mieć raczej krótki czas ważności, a informacje czysto techniczne lub preferencje interfejsu mogą być przechowywane dłużej. W nowoczesnych aplikacjach webowych łączy się to też z innymi atrybutami cookie (Secure, HttpOnly, SameSite), ale sam mechanizm czasu wygaśnięcia pozostaje taki sam – jest to po prostu liczba sekund od epoki UNIX, kiedy cookie przestanie być uznawane za ważne.

Pytanie 24

W języku JavaScript wartość typu boolean może być przedstawiana przez

A. –20
B. 45.3
C. true
D. null
Typ boolean w języku JavaScript jest jednym z podstawowych typów danych, reprezentującym jedynie dwie możliwe wartości: true (prawda) oraz false (fałsz). Typ ten jest kluczowy w programowaniu, umożliwiając tworzenie warunków oraz podejmowanie decyzji w kodzie. W praktyce, boolean jest wykorzystywany w instrukcjach warunkowych, takich jak if, gdzie wyrażenia zwracające wartość logiczną decydują o dalszym przebiegu programu. Na przykład, wyrażenie 'if (x > 10)' zwraca true, jeśli x jest większe od 10, i false w przeciwnym razie. JavaScript, zgodnie ze specyfikacją ECMA-262, nie tylko definiuje typ boolean, ale również określa sposób konwersji innych typów danych na boolean. Funkcje takie jak Boolean() oraz operatory logiczne (&&, ||, !) są używane do uzyskania wartości boolean z innych typów. Warto również zauważyć, że JavaScript stosuje tzw. "truthy" i "falsy" wartości, co oznacza, że niemal każdy typ danych może być interpretowany jako boolean w kontekście warunków, jednak tylko true i false są typowymi wartościami tego typu. Zrozumienie działania typu boolean jest fundamentalne dla programistów, umożliwiając skuteczne kontrolowanie przepływu programu oraz implementację logiki decyzyjnej."

Pytanie 25

W sklepie internetowym wykorzystuje się tabelę faktura. W trakcie generowania faktury pole dataPlatnosci nie zawsze jest uzupełnione. Aby to skorygować, pod koniec dnia należy wprowadzić bieżącą datę do wierszy, gdzie to pole jest puste. W tym celu można wykorzystać kwerendę

A. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataplatnosci = '0000-00-00'
B. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL
C. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE id = 3
D. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE dataPlatnosci IS NOT NULL
Niepoprawne odpowiedzi zawierają różne koncepcje, które prowadzą do błędnych wniosków. W pierwszej z nich zastosowano 'UPDATE faktury SET dataPlatnosci=CURTIME() WHERE id = 3;', co jest niewłaściwe, ponieważ ta kwerenda aktualizuje tylko jedną fakturę o identyfikatorze 3 i używa CURTIME(), co zwraca czas, a nie datę. W rezultacie, pole 'dataPlatnosci' pozostanie puste dla większości faktur. W innej odpowiedzi znalazła się kwerenda 'UPDATE faktury SET dataPlatnosci=CURTIME() WHERE dataPlatnosci IS NOT NULL;', co jest sprzeczne z założeniem, że aktualizować powinno się tylko te wpisy, gdzie pole jest puste. Kwerenda ta mogłaby zaktualizować datę tylko dla wierszy, które już zawierają datę płatności, co nie ma sensu. Ostatnia odpowiedź 'UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataplatnosci = '0000-00-00';' również nie jest skuteczna, ponieważ nie uwzględnia sytuacji, gdy pole 'dataPlatnosci' jest NULL. Zastosowanie wartości '0000-00-00' nie jest standardem w bazach danych, a operacje na takich wartościach mogą prowadzić do niejednoznaczności oraz problemów z integralnością danych. W kontekście programowania baz danych, istotne jest, aby stosować się do standardów, które umożliwiają zachowanie spójności i poprawności danych. Kwestie takie jak brak wartości NULL w kolumnach powinny być rozwiązywane w sposób systematyczny, aby uniknąć problemów w przyszłości.

Pytanie 26

Narzędzie phpMyAdmin służy do administrowania serwerem:

A. plików
B. baz danych
C. FTP
D. WWW
phpMyAdmin nie zarządza innymi rodzajami serwerów. Serwerem WWW (np. Apache) administruje się jego własną konfiguracją, nie phpMyAdminem. Serwer FTP obsługuje klient FTP (np. FileZilla). Plikami na serwerze zarządza menedżer plików lub panel hostingu. phpMyAdmin odpowiada wyłącznie za serwer baz danych.

Pytanie 27

Które polecenie SQL usunie bazę danych o nazwie firma?

A.
DROP DATABASE firma;
B.
DROP firma;
C.
ALTER firma DROP DATABASE;
D.
ALTER firma DROP;
Samo DROP firma; nie wskazuje, CO usunąć (brak słowa DATABASE). ALTER służy do MODYFIKACJI obiektu, a nie do jego usunięcia, więc warianty z ALTER firma DROP są błędne. Bazę usuwa DROP DATABASE firma;.

Pytanie 28

W dokumencie XHTML znajduje się fragment kodu, w którym występuje błąd walidacyjny. Co jest przyczyną tego błędu?

Ilustracja do pytania
A. Znacznik <br> musi być zamknięty
B. Nie ma nagłówka szóstego poziomu
C. Znacznik <b> nie może być umieszczany wewnątrz znacznika <p>
D. Znaczniki powinny być pisane dużymi literami
Wybór odpowiedzi, że nie istnieje nagłówek szóstego stopnia, jest błędny, ponieważ w specyfikacji XHTML nagłówek szóstego stopnia <h6> jest jak najbardziej dopuszczalny i służy do oznaczania najmniej ważnych nagłówków, w hierarchii od <h1> do <h6>. Pisanie znaczników wielkimi literami nie jest wymogiem XHTML. Chociaż XHTML jest wrażliwy na wielkość liter, co oznacza, że nazwy znaczników i atrybutów muszą być pisane małymi literami, odpowiedź sugerująca, że tylko wielkie litery są poprawne, jest błędna. Użycie <b> jako zagnieżdżonego w <p> jest standardową praktyką i jest zgodne z normami XHTML, ponieważ <b> służy do pogrubienia tekstu wewnątrz elementu blokowego, jakim jest <p>. Problem z tą odpowiedzią polega na błędnym zrozumieniu struktury HTML, gdzie zagnieżdżanie elementów inline w elementach blokowych jest dozwolone. Ważnym aspektem jest umiejętność rozpoznania, które elementy są inline, a które blokowe, i jak mogą być poprawnie zagnieżdżane w kontekście specyfikacji XHTML. Poprawne zrozumienie tych zasad pomaga w tworzeniu wydajniejszych i bardziej zgodnych dokumentów internetowych.

Pytanie 29

Strona internetowa została stworzona w języku XHTML. Który z poniższych kodów reprezentuje realizację zaprezentowanego fragmentu strony, jeśli nie zdefiniowano żadnych stylów CSS?

Ilustracja do pytania
A. D
B. A
C. B
D. C
Odpowiedź B jest prawidłowa, ponieważ wykorzystuje znaczniki zgodne ze standardem XHTML do prawidłowego formatowania tekstu. W XHTML zaleca się używanie semantycznych znaczników takich jak <h1> dla nagłówków, co poprawia strukturę dokumentu i ułatwia jego interpretację przez przeglądarki oraz inne urządzenia czytające. Dodatkowo użycie znacznika <p> do oddzielenia akapitów jest zgodne z zaleceniami dotyczącymi dostępności i poprawności kodu. To również sprzyja lepszemu SEO, ponieważ wyszukiwarki lepiej rozumieją znaczenie semantycznych znaczników. Warto również wspomnieć o dobrych praktykach, takich jak zamykanie znaczników oraz stosowanie małych liter w nazwach znaczników, co zwiększa kompatybilność z przeglądarkami oraz zgodność ze standardami W3C. XHTML, jako język oparty na XML, wymaga bardziej restrykcyjnej składni, co jest spełnione w kodzie przedstawionym w odpowiedzi B. Dzięki temu zapewnia się lepszą walidację i niezawodność działania strony internetowej.

Pytanie 30

Jaką wartość uzyska zmienna x po wykonaniu kodu PHP zaprezentowanego w ramce?

Ilustracja do pytania
A. Ilość wierszy przetworzonych przez zapytanie DELETE FROM
B. Ilość wierszy w bazie danych
C. Ilość wierszy w tabeli produkty, gdzie pole status jest większe od zera
D. Ilość wierszy dodanych do tabeli produkty
W przedstawionym kodzie PHP funkcja mysqli_affected_rows() jest używana do uzyskania liczby wierszy zmienionych przez ostatnie zapytanie MySQL. W tym przypadku zapytanie DELETE FROM produkty WHERE status < 0 próbuje usunąć wszystkie rekordy z tabeli produkty, których pole status ma wartość mniejszą od zera. Po wykonaniu tego zapytania funkcja mysqli_affected_rows($db) zwróci liczbę wierszy, które zostały rzeczywiście usunięte. To jest szczególnie przydatne w kontekście sprawdzania wpływu operacji na bazę danych i pozwala na dynamiczne podejmowanie decyzji w aplikacjach bazodanowych. Przykładowo, jeśli po usunięciu chcemy wykonać dodatkowe operacje tylko wtedy, gdy co najmniej jeden rekord został usunięty, możemy użyć tej funkcji. Zgodnie z dobrymi praktykami, korzystanie z mysqli_affected_rows() jest standardem, gdyż pozwala również na obsługę wyjątków i błędów bazy danych. Optymalizacja operacji DELETE poprzez precyzyjne filtrowanie w WHERE, jak w naszym przykładzie, jest kluczowa dla zachowania wydajności bazy danych szczególnie w dużych systemach produkcyjnych.

Pytanie 31

Aby utworzyć tabelę w języku SQL, należy użyć polecenia

A. INSERT TABLE
B. CREATE TABLE
C. ADD TABLE
D. ALTER TABLE
Odpowiedź 'CREATE TABLE' jest poprawna, ponieważ w języku SQL to polecenie jest używane do tworzenia nowych tabel w bazie danych. Umożliwia definiowanie struktury tabeli, w tym nazw kolumn, typów danych oraz ograniczeń, takich jak klucze główne czy unikalność. Przykładowe użycie polecenia 'CREATE TABLE' może wyglądać następująco: 'CREATE TABLE pracownicy (id INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50));'. W tym przykładzie tworzymy tabelę 'pracownicy' z trzema kolumnami: 'id', 'imie' oraz 'nazwisko'. Warto zaznaczyć, że zgodnie z najlepszymi praktykami, przed wykonaniem polecenia warto sprawdzić, czy tabela o danej nazwie już istnieje, aby uniknąć błędów związanych z podwójnym tworzeniem. Zapewnienie odpowiedniej struktury bazy danych już na etapie jej tworzenia przekłada się na lepszą wydajność oraz łatwiejsze zarządzanie danymi w przyszłości.

Pytanie 32

Która reguła CSS wyśrodkowuje tekst w PIONIE?

A.
align: middle
B.
vertical-align: middle
C.
text-align: center
D.
vertical-align: center
Pozostałe zapisy są błędne. vertical-align: center używa nieistniejącej wartości (poprawna to middle). text-align: center wyrównuje w POZIOMIE, a właściwość align w CSS nie istnieje. Wyśrodkowanie w pionie daje vertical-align: middle.

Pytanie 33

Zakładając, że tablica $tab zawiera liczby naturalne, co program wyświetli?

$liczba = $tab[0];
foreach ($tab as $element)
{
  if ($element > $liczba)
    $liczba = $element;
}
echo $liczba;
A. element tablicy o wartości $tab[0]
B. największy element tablicy
C. najmniejszy element tablicy
D. elementy, które przewyższają zmienną $liczba
Niepoprawne odpowiedzi wynikają z nieporozumień dotyczących działania pętli iteracyjnej oraz logiki porównywania i aktualizowania wartości. Propozycja wyboru najmniejszego elementu tablicy jest błędna, ponieważ w programie brakuje mechanizmu do aktualizacji zmiennej $liczba na mniejszą wartość, co jest kluczowym wymogiem w tym kontekście. Pętla foreach z warunkiem if sprawia, że zmienna $liczba zwiększa swoją wartość tylko wtedy, gdy znajdzie się element większy od aktualnie przechowywanej wartości, eliminując tym samym możliwość identyfikacji najmniejszego elementu. Z kolei opcja dotycząca wypisania elementów większych od zmiennej $liczba również jest nietrafiona, ponieważ program nie zawiera żadnej instrukcji wypisującej takie elementy na ekran, a jedynie aktualizuje zmienną w celu znalezienia największej wartości. Taka funkcjonalność wymagałaby dodatkowej logiki, która przechowywałaby i obsługiwała wiele większych elementów, co nie jest realizowane w obecnym kodzie. Wreszcie, pomysł, że program wypisuje element równy $tab[0], również nie jest poprawny. Chociaż zmienna $liczba jest inicjalizowana wartością $tab[0], to jednak ulega ona zmianom w trakcie iteracji przez tablicę, jeśli znajdzie się większy element, a więc w większości przypadków nie kończy z wartością początkową. Zrozumienie tych mechanizmów jest kluczowe w projektowaniu efektywnego kodu i unikaniu nieporozumień w implementacji algorytmów operujących na zbiorach danych.

Pytanie 34

Jakie będzie działanie podanych instrukcji JavaScript?

var elementy = document.getElementsByClassName("styl1");
  for(var i = 0; i < elementy.length; i++)
    elementy[i].style.fontWeight = "bolder";
A. Dla wszystkich elementów na stronie zostanie zastosowany styl pogrubienia tekstu na bolder
B. Dla wszystkich elementów przypisanych do klasy styl1 zostanie nadany styl pogrubienia tekstu bolder
C. Jedynie dla elementu o id równym styl1 będzie przypisany styl pogrubienia tekstu na bolder
D. Wyłącznie dla pierwszego elementu przypisanego do klasy styl1 zostanie nadany styl pogrubienia tekstu bolder
Instrukcje JavaScript w pytaniu wykorzystują metodę getElementsByClassName aby pobrać kolekcję wszystkich elementów na stronie które posiadają przypisaną klasę styl1. Metoda ta zwraca obiekt typu HTMLCollection który przypomina tablicę i zawiera odniesienia do elementów DOM posiadających określoną klasę. Następnie za pomocą pętli for przechodzimy przez każdy z tych elementów i zmieniamy ich styl na bolder przypisując nową wartość do właściwości style.fontWeight. Dzięki temu każdy element w kolekcji zostaje zmodyfikowany i wyświetlany z pogrubioną czcionką. Takie podejście jest zgodne z dobrymi praktykami w zakresie manipulacji DOM w JavaScript gdyż jest to sposób efektywny i bezpośredni. Użycie klas do grupowania elementów HTML pozwala na jednoczesne stosowanie stylów i operacji na grupach elementów co jest kluczowe w dynamicznym modelu tworzenia stron internetowych. Warto zwrócić uwagę na fakt że nazwy klas są czułe na wielkość liter co oznacza że styl1 i Styl1 byłyby traktowane jako różne klasy.

Pytanie 35

Język HTML posiada nagłówki, które służą do tworzenia hierarchii treści. Nagłówki te występują tylko w zakresie

A. h1 – h4
B. h1 – h10
C. h1 – h6
D. h1 – h8
Odpowiedź h1 – h6 jest poprawna, ponieważ język HTML udostępnia sześć poziomów nagłówków, od h1 do h6, które służą do tworzenia hierarchii treści na stronie internetowej. Nagłówek h1 jest najważniejszy i powinien być używany do oznaczenia głównego tytułu strony, podczas gdy h2, h3, h4, h5 i h6 wskazują na kolejne poziomy nagłówków, które pomagają w organizacji treści. Przykładowo, nagłówek h2 może być używany do sekcji, natomiast h3 może oznaczać podsekcje w ramach danej sekcji. Używanie nagłówków w ten sposób nie tylko poprawia czytelność i zrozumienie treści przez użytkowników, ale także pozytywnie wpływa na SEO (optymalizację dla wyszukiwarek). Warto pamiętać, że zgodnie z najlepszymi praktykami, powinno się unikać pomijania poziomów nagłówków, co zapewnia logiczną strukturę treści i ułatwia indeksację przez roboty wyszukiwarek.

Pytanie 36

W języku C++ utworzono zmienną: char zml;. Jak można przypisać jej wartość, zgodnie ze składnią tego języka?

A. zml = ' w ' ;
B. zml = "wiadro";
C. zml[2] = 32;
D. zml == 0x35;
Odpowiedź zml = ' w '; jest poprawna, ponieważ w języku C++ przypisywanie wartości do zmiennej typu char może być wykonane za pomocą pojedynczych cudzysłowów. Zmienna char przechowuje pojedynczy znak, a użycie podwójnych cudzysłowów sugeruje, że zamierzamy przypisać łańcuch znaków (string), co jest niezgodne z deklarowanym typem zmiennej. Przykład zastosowania to sytuacja, w której chcemy przechować literę, na przykład: char zml = 'A'; co jest prawidłowym przypisaniem. Dzięki temu, wywołując zmienną zml, otrzymamy przechowywaną wartość, co jest kluczowe w programowaniu, gdyż pozwala na manipulację danymi na poziomie znaków. Warto również pamiętać, że w C++ możemy używać zmiennych typu char w kontekście kodowania ASCII, gdzie każdemu znakowi przypisany jest unikalny numer, co czyni je niezwykle użytecznymi w operacjach na tekstach i danych.

Pytanie 37

Elementem, który odnosi się do imienia Agata w pokazanej tablicy JavaScript, jest

Ilustracja do pytania
A. Imiona[3]
B. Imiona['Agata']
C. Imiona[4]
D. Imiona[Agata]
W przypadku odpowiedzi Imiona[4] jest kilka błędów związanych z tym, jak działają tablice. Wiesz, w JavaScript zaczynamy liczyć od zera, więc pierwszy element ma indeks 0, a ostatni w tablicy o długości n to n-1. Nasza tablica ma pięć imion, więc ostatni element Agata ma indeks 3, a nie 4. Użycie Imiona[Agata] jest po prostu błędne, bo w tablicach musisz dawać liczby jako indeksy, nie tekst. Jak spróbujesz użyć tekstu jako indeksu, to interpreter nie znajdzie tego elementu i wywali błąd. W kontekście Imiona['Agata'] sytuacja jest ta sama, bo tablice przyjmują tylko numery. Wydaje mi się, że mogło być nieporozumienie między tablicami a obiektami, bo tam można używać tekstowych kluczy. Pamiętaj, że poprawne indeksowanie tablicy to bardzo ważna umiejętność w programowaniu, bo dzięki temu zarządzasz danymi i unikasz różnych błędów.

Pytanie 38

Zapis CSS

margin: auto;
wskazuje, że marginesy są
A. obliczane przez przeglądarkę w taki sposób, aby element został wyśrodkowany poziomo
B. równe domyślnym wartościom marginesów elementu, do którego są przypisane
C. stałe dla konkretnej przeglądarki, niezależnie od rozmiaru jej okna
D. dziedziczone z elementu nadrzędnego dla danego obiektu
Zapis CSS 'margin: auto;' jest kluczowy w kontekście wyśrodkowywania elementów blokowych w poziomie w ich rodzicach. Gdy zastosujemy ten styl, przeglądarka dynamicznie oblicza wartość marginesów po lewej i prawej stronie elementu, aby równomiernie rozłożyć pozostałą przestrzeń w kontenerze. W praktyce oznacza to, że jeśli mamy element o stałej szerokości umieszczony w szerszym kontenerze, zastosowanie 'margin: auto;' spowoduje, że ten element zostanie wyśrodkowany, co jest szczególnie przydatne w responsywnym projektowaniu stron internetowych. Dobrym przykładem może być użycie 'margin: auto;' w przypadku kontenera obrazka, gdzie chcemy, aby obrazek był zawsze wyśrodkowany na stronie niezależnie od rozmiaru okna przeglądarki. To podejście jest zgodne z najlepszymi praktykami CSS i jest szeroko stosowane w nowoczesnym web designie, co czyni strony bardziej estetycznymi i przyjaznymi dla użytkowników.

Pytanie 39

Który zapis znacznika <meta> jest poprawny w kontekście użytych atrybutów?

A. <meta name = '!DOCTYPE'>
B. <meta background = blue>
C. <meta title = 'Strona dla hobbystów'>
D. <meta name = 'description' content = 'Masz jakieś hobby? To jest strona dla Ciebie!'>
Poprawny zapis znacznika <meta> to <meta name = "description" content = "Masz jakieś hobby? To jest strona dla Ciebie!">. Ten znacznik odgrywa kluczową rolę w SEO, ponieważ pozwala na dostarczenie wyszukiwarkom informacji o treści strony. Atrybut 'name' definiuje typ informacji, którą dostarczamy, w tym przypadku 'description', co pozwala wyszukiwarkom zrozumieć, co znajduje się na stronie. Atrybut 'content' zawiera właściwą treść, która powinna być zwięzła i trafna, aby przyciągnąć użytkowników. Zgodnie z najlepszymi praktykami SEO, opis powinien mieć od 150 do 160 znaków, aby był w pełni widoczny w wynikach wyszukiwania. Poprawne użycie tego znacznika zwiększa szanse na wyższe pozycje w wynikach wyszukiwania oraz poprawia współczynnik klikalności (CTR) poprzez przyciągający opis, który może zachęcić użytkowników do odwiedzenia strony. Zgodność z tymi standardami jest niezbędna dla skutecznej optymalizacji witryn internetowych oraz poprawy ich widoczności w Internecie.

Pytanie 40

Jakie typy danych w C++ są używane do reprezentacji liczb rzeczywistych?

A. double oraz short
B. float oraz long
C. double oraz bool
D. float oraz double
Odpowiedź 'float i double' jest prawidłowa, ponieważ te dwa typy danych w języku C++ są przeznaczone do reprezentowania liczb rzeczywistych. Typ 'float' zajmuje 4 bajty pamięci i służy do przechowywania liczb zmiennoprzecinkowych o pojedynczej precyzji, co oznacza, że może reprezentować liczby z ograniczoną dokładnością. Typ 'double', z kolei, zajmuje 8 bajtów pamięci i pozwala na przechowywanie liczb zmiennoprzecinkowych o podwójnej precyzji. Dzięki temu 'double' umożliwia reprezentację znacznie większych i bardziej precyzyjnych wartości. W praktyce, typ 'float' jest często używany w sytuacjach, gdzie oszczędność pamięci jest kluczowa, na przykład w grafice komputerowej, natomiast 'double' jest preferowany w obliczeniach naukowych i inżynieryjnych, gdzie precyzja jest priorytetem. Dlatego zrozumienie różnicy między tymi typami danych oraz ich zastosowań jest niezbędne do efektywnego programowania w C++. Zgodnie z najlepszymi praktykami, programiści powinni dobierać typy danych odpowiednio do wymagań swojego projektu, zwracając uwagę na równowagę między precyzją a wydajnością.