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: 12 maja 2026 12:43
  • Data zakończenia: 12 maja 2026 12:45

Egzamin niezdany

Wynik: 16/40 punktów (40,0%)

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

Jakim kodem określa się kolor czerwony?

A. #00EEEE
B. #0000EE
C. #00EE00
D. #EE0000
Wybór innych kolorów wynika z błędnego zrozumienia wartości RGB oraz ich wpływu na uzyskanie pożądanych barw. Kod #00EEEE to kolor cyjanowy, uzyskany z maksymalnej wartości zielonej i niebieskiej, co nie ma związku z czerwonym. Kod #0000EE z kolei odpowiada kolorowi niebieskiemu, gdzie jedynie niebieski składnik jest na maksymalnym poziomie, a czerwony i zielony są całkowicie nieobecne, przez co nie może być postrzegany jako czerwony. Kod #00EE00 reprezentuje kolor zielony, również nieodpowiedni w tym kontekście, gdzie znowu brak czerwonego komponentu sprawia, że wynik nie jest zgodny z wymaganym kolorem. Użytkownik może pomylić się w ocenie, myśląc, że różne kombinacje składników RGB mogą prowadzić do uzyskania koloru czerwonego, podczas gdy kluczowym aspektem jest to, że czerwony komponent musi być dominujący i obecny w odpowiedniej wartości. Wartości RGB są fundamentem wielu aplikacji webowych, a ich zrozumienie jest kluczowe dla projektantów i programistów. Używanie niewłaściwych kodów barw może prowadzić do niezgodności wizualnych i braku spójności w projektach, co jest niezgodne z najlepszymi praktykami w branży, które zalecają stosowanie kolorów zgodnie z ich rzeczywistymi wartościami w systemie RGB.

Pytanie 2

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

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

Pytanie 3

Wskaż problem z walidacją w podanym fragmencie kodu HTML

<h6>CSS</h6>
<p>Kaskadowe arkusze stylów (<b>ang. <i>Cascading Style Sheets</b></i>)<br>to język służący... </p>
A. Znacznik br nie został poprawnie zamknięty
B. Nieznany znacznik h6
C. Znacznik br nie może występować wewnątrz znacznika p
D. Znacznik zamykający /b niezgodny z zasadą zagnieżdżania
Znacznik zamykający b niezgodny z zasadą zagnieżdżania czyli poprawna odpowiedź 1 odnosi się do zasady poprawnego zagnieżdżania znaczników HTML Zasada ta mówi że znaczniki muszą być zamykane w odwrotnej kolejności do ich otwarcia W naszym przykładzie mamy otwierający znacznik b a następnie i co oznacza że najpierw powinien być zamknięty znacznik i a potem b Tego typu błąd jest często spotykany w kodzie HTML i może prowadzić do nieoczekiwanych problemów z wyświetlaniem strony Warto pamiętać że poprawne zagnieżdżanie znaczników wpływa na czytelność i utrzymanie kodu co jest kluczowe w większych projektach HTML jest językiem opartym na strukturze drzewiastej i każda niezgodność w zagnieżdżaniu może wpłynąć na sposób przetwarzania dokumentu przez przeglądarki Dbałość o szczegóły w strukturze dokumentu HTML jest zgodna z dobrymi praktykami branżowymi i wspomaga zgodność z różnymi przeglądarkami i urządzeniami co w konsekwencji poprawia dostępność i użyteczność strony internetowej

Pytanie 4

Zakładając, że zmienna tablicowa $tab jest wypełniona liczbami naturalnymi, wynikiem programu będzie wypisanie

$liczba = $tab[0];
foreach ($tab as $element)
{
    if ($element > $liczba)
        $liczba = $element;
}
echo $liczba;
A. elementu tablicy, który jest równy wartości $tab[0].
B. najmniejszego elementu tablicy.
C. największego elementu tablicy.
D. tych elementów, które są większe od zmiennej $liczba.
Poprawna odpowiedź sugeruje, że wynikiem programu będzie wypisanie największego elementu tablicy. To jest prawidłowe, ponieważ program używa techniki znanej jako pętla iteracyjna, aby przejść przez każdy element tablicy i porównać go z aktualnie największą znaną wartością. Na początku, największa znana wartość jest ustawiona na pierwszy element tablicy. Następnie, dla każdego elementu tablicy, program sprawdza, czy element jest większy od największej znanej wartości. Jeśli tak, to ta wartość staje się nową największą znaną wartością. Po przejściu przez wszystkie elementy, program wypisuje największą znaną wartość. Jest to standardowa technika stosowana w programowaniu, aby znaleźć największy element w tablicy lub liście.

Pytanie 5

Co uzyskujemy po wykonaniu zapytania SQL?

Ilustracja do pytania
A. liczbę uczniów, których średnia ocen wynosi 5
B. suma ocen uczniów, których średnia ocen wynosi 5
C. średnią wszystkich ocen uczniów
D. całkowitą liczbę uczniów
Analizując błędne koncepcje w tym pytaniu warto zwrócić uwagę na mechanizmy działania zapytań SQL które często są mylnie interpretowane. Zapytanie SELECT count(*) nie zwraca liczby wszystkich uczniów lecz tylko tych którzy spełniają określone warunki tutaj średnia ocen wynosi 5. Wybór SELECT count(*) jest kluczowy ponieważ w odróżnieniu od funkcji takich jak AVG() czy SUM() nastawiony jest na zliczanie wierszy a nie na obliczanie wartości średnich czy sum. Mylnym przekonaniem może być że tak skonstruowane zapytanie zwraca średnią ocen wszystkich uczniów; do tego celu służyłaby funkcja AVG(). Podobnie błędne byłoby oczekiwanie że zwróci sumę ocen studentów z daną średnią. Suma wymagałaby użycia funkcji SUM() i odpowiednich modyfikacji zapytania. Często popełnianym błędem jest także niedostrzeżenie że zapytanie z klauzulą WHERE ogranicza wyniki do podzbioru danych co jest kluczowe dla jego poprawnej interpretacji. Zrozumienie tych różnic jest istotne dla efektywnego wykorzystania SQL w praktyce zawodowej i unikania błędów analitycznych.

Pytanie 6

Jaką maksymalną liczbę znaczników &lt;td&gt; można zastosować w tabeli składającej się z trzech kolumn i trzech wierszy, która nie zawiera złączeń między komórkami oraz wiersza nagłówkowego?

A. 12
B. 6
C. 3
D. 9
Wybór innych odpowiedzi może wynikać z niepoprawnego rozumienia struktury tabeli lub zasadności użycia znaczników &lt;td&gt;. Odpowiedź 3, sugerująca 6 znaczników, pomija fakt, że każda kolumna powinna zawierać wszystkie wiersze, co w przypadku trzech wierszy prowadzi do stwierdzenia, że maksymalna liczba komórek powinna być znacznie wyższa. Natomiast odpowiedź 12 może wynikać z błędnego założenia, że każda komórka może być użyta wielokrotnie, co jednak narusza zasady HTML, które zakładają jednoznaczne przypisanie danych do danej komórki. Dlatego, aby uzyskać poprawną liczbę znaczników &lt;td&gt;, należy pomnożyć liczbę kolumn przez liczbę wierszy. W tym przypadku mamy trzy kolumny i trzy wiersze, więc całkowita liczba znaczników &lt;td&gt; wynosi 9. Kluczowe jest zrozumienie, że znaczniki &lt;td&gt; są przeznaczone wyłącznie do umieszczania danych w tabeli, a zasady ich użycia są ściśle określone w standardach HTML. W praktyce, błędy takie jak zbyt niska lub zbyt wysoka liczba znaczników mogą prowadzić do niepoprawnych wyświetleń tabeli oraz utrudniać użytkownikom dostęp do danych. Aby uniknąć podobnych nieporozumień, zawsze warto stosować się do dobrze zdefiniowanych zasad projektowania tabel w HTML.

Pytanie 7

Jaki jest domyślny port dla serwera HTTP?

A. 8080
B. 80
C. 21
D. 443
Port 80 to domyślny port dla protokołu HTTP (Hypertext Transfer Protocol), który jest najczęściej używany do przesyłania stron internetowych w sieci. Ten port jest zarezerwowany dla HTTP przez Internet Assigned Numbers Authority (IANA) i jest standardowo używany przez serwery WWW, aby umożliwić użytkownikom dostęp do stron internetowych bez konieczności podawania numeru portu w adresie URL. Gdy wpisujesz adres strony w przeglądarce, np. http://example.com, przeglądarka domyślnie łączy się z serwerem na porcie 80. W praktyce oznacza to, że serwery WWW zazwyczaj nasłuchują na tym porcie, aby odbierać i obsługiwać żądania HTTP od klientów, takich jak przeglądarki internetowe. Domyślne użycie portu 80 sprawia, że nie trzeba go podawać w adresie URL, co upraszcza korzystanie z sieci dla użytkowników końcowych. Z mojego doświadczenia, znajomość domyślnych portów jest kluczowa dla każdego administratora sieci i dewelopera aplikacji internetowych, ponieważ wpływa na sposób konfiguracji zarówno serwerów, jak i firewalli, a także pomaga w rozwiązywaniu problemów z łącznością.

Pytanie 8

Kolor Chartreuse przedstawiony w formie heksadecymalnej jako #7FFF00 odpowiada wartości RGB wynoszącej

A. rgb(127, 255, 0)
B. rgb(128, 255, 0)
C. rgb(192, 255, 0)
D. rgb(64, 255, 0)
Analizując pozostałe odpowiedzi, można zauważyć, że każda z nich nieprawidłowo interpretuje wartości heksadecymalne koloru Chartreuse, co prowadzi do błędnych konwersji na model RGB. Na przykład, odpowiedź z rgb(64, 255, 0) błędnie interpretuje wartość czerwonego odcienia jako 64, podczas gdy w rzeczywistości wartość ta wynosi 127. Błąd ten wynika z nieprawidłowego przeliczenia heksadecymalnej wartości 7F na system dziesiętny, co może być spowodowane błędnym założeniem, że każdy z dwóch symboli heksadecymalnych oznacza jedną z dwóch składowych RGB. Podobnie, odpowiedzi rgb(128, 255, 0) oraz rgb(192, 255, 0) również nie zgadzają się z rzeczywistą wartością, co jest wynikiem niewłaściwego zrozumienia zasady konwersji. Wartości te są zbyt wysokie, co może sugerować, że osoba udzielająca tych odpowiedzi nie miała pełnej wiedzy o systemie kolorów. W praktyce, niepoprawne obliczenia lub pomyłki w konwersji kolorów mogą prowadzić do niezgodności w projektach graficznych, co w efekcie wpływa na estetykę oraz spójność wizualną. Dlatego kluczowe jest zrozumienie, że system heksadecymalny jest oparty na szesnastkowej reprezentacji kolorów, gdzie każdy kolor składa się z trzech wartości: czerwonej, zielonej i niebieskiej, a ich prawidłowe przeliczenie jest podstawą profesjonalnego projektowania.

Pytanie 9

Jakiego elementu HTML należy użyć, aby uzyskać tekst z czcionką o stałej szerokości znaku, w którym uwzględnione są dodatkowe spacje, tabulacje oraz znaki końca linii?

A. <ins> ... </ins>
B. <code> ... </code>
C. <blockquote> ... </blockquote>
D. <pre> ... </pre>
Znacznik <ins> jest używany do oznaczania wstawionego tekstu, co jest przydatne w kontekście edytowania dokumentów lub zaznaczania nowego contentu. Nie wpływa on na formatowanie tekstu w sposób, który zachowałby dodatkowe spacje, tabulacje czy znaki końca linii. Jego głównym celem jest wskazanie na zmiany, a nie prezentacja tekstu w formacie preformatowanym. Znacznik <code> służy do wyświetlania fragmentów kodu, ale nie zachowuje on spacji i nowej linii w taki sposób, jak znaczniki preformatowane. Jest to bardziej semantyczny znacznik, który wskazuje, że zawarty tekst jest kodem, ale nie jest przeznaczony do zachowania struktury tekstu. Z kolei <blockquote> jest używany do cytowania dłuższych fragmentów tekstu, najczęściej z innych źródeł. Również nie zachowuje on formatowania tekstu w sposób, który by uwzględniał dodatkowe białe znaki, a jego główną funkcją jest wyróżnienie cytowanych treści. W kontekście prezentacji tekstu wymagającego precyzyjnego formatowania i zachowania wszystkich spacji, znaczników <ins>, <code> oraz <blockquote> są niewłaściwymi wyborami.

Pytanie 10

Sprawdzanie poprawności wypełnienia formularza, które ma przebiegać po stronie klienta, powinno być wykonane w języku

A. Ruby on Rails
B. CSS
C. PHP
D. JavaScript
Zastosowanie CSS do weryfikacji formularzy jest nieodpowiednie, ponieważ CSS jest językiem stylizacji, a nie programowania. Jego głównym zadaniem jest określenie wyglądu i układu elementów na stronie, a nie logika operacji lub przetwarzanie danych. CSS nie ma możliwości interakcji z danymi użytkownika ani przeprowadzania jakichkolwiek obliczeń, co czyni go całkowicie nieadekwatnym narzędziem do walidacji formularzy. Z kolei PHP jest językiem skryptowym działającym po stronie serwera, co oznacza, że wszelkie operacje związane z weryfikacją danych musiałyby odbywać się po przesłaniu formularza, co prowadzi do złego doświadczenia użytkownika. Użytkownik musiałby czekać na odpowiedź serwera, co często wiąże się z opóźnieniami i frustracją. Ruby on Rails, jako framework do rozwijania aplikacji webowych, również nie jest odpowiednim rozwiązaniem do realizacji walidacji po stronie klienta. Jego zastosowanie koncentruje się głównie na logice po stronie serwera i tworzeniu aplikacji, a nie na interakcji użytkownika z interfejsem. Tym samym zarówno PHP, jak i Ruby on Rails nie są w stanie efektywnie zrealizować wymogu weryfikacji formularzy przed ich przesłaniem.

Pytanie 11

Która operacja nie wpłynie na wielkość zajmowanej pamięci przez plik graficzny?

A. Interpolacja
B. Kompresja
C. Zmiana rozmiaru obrazu z użyciem atrybutów HTML
D. Modyfikacja rozdzielczości obrazu
Skalowanie obrazu za pomocą atrybutów HTML jest prawidłową odpowiedzią, ponieważ ta operacja nie modyfikuje samego pliku graficznego, a jedynie zmienia sposób, w jaki obraz jest wyświetlany na stronie internetowej. Przykładowo, użycie atrybutów 'width' i 'height' w tagu <img> pozwala na dostosowanie rozmiarów obrazu w kontekście przeglądarki, nie ingerując w jego zawartość ani nie zmieniając rozdzielczości. W praktyce oznacza to, że oryginalny plik graficzny pozostaje niezmieniony, co jest zgodne z dobrymi praktykami w zakresie optymalizacji wydajności stron. Zmiana rozmiaru na poziomie HTML jest często stosowana, aby zapewnić elastyczność w projektowaniu responsywnych stron internetowych, gdzie obrazy muszą dostosowywać się do różnych rozmiarów ekranów bez potrzeby ich fizycznej edycji. Warto jednak pamiętać, że nadmierne skalowanie może prowadzić do pogorszenia jakości widocznej na ekranie, ale nie wpływa na wagę pliku. Istotnym aspektem jest również, że takie podejście wspiera standardy dostępności, umożliwiając lepsze dostosowanie treści wizualnych dla osób z różnymi potrzebami.

Pytanie 12

Zapis koloru w formacie #ff00e0 odpowiada zapisowi

A. rgb(f,0,e0)
B. rgb(ff,0,e0)
C. rgb(255,0,128)
D. rgb(255,0,224)
Analizując pozostałe odpowiedzi, można zauważyć kilka nieprawidłowości w ich interpretacji. Przy pierwszej odpowiedzi, zapis rgb(f,0,e0) jest błędny, ponieważ wartości w formacie RGB muszą być w przedziale od 0 do 255. 'f' jako wartość szesnastkowa odpowiada 15 w systemie dziesiętnym, co jest nieprawidłowe w kontekście całościowego zapisu koloru. Każda z trzech wartości RGB musi zawierać pełną gamę kolorów, co nie jest spełnione w tym przypadku. W drugiej odpowiedzi, rgb(ff,0,e0) również jest błędny, ponieważ zawiera nieprawidłowe dane. Chociaż 'ff' jest poprawnym zapisem szesnastkowym odpowiadającym wartości 255, to 'e0' nie zostało przeliczone na wartość dziesiętną, co skutkuje brakiem pełnej jasności koloru. Osoby zajmujące się projektowaniem powinny mieć na uwadze, że poprawne przeliczenie wartości jest kluczowe dla uzyskania zamierzonych efektów wizualnych. W trzeciej odpowiedzi, rgb(255,0,128) jest także błędne, ponieważ ta kombinacja odpowiada zupełnie innemu kolorowi, który jest mniej intensywnym odcieniem różowego. Wartości te przekładają się na kolor pomarańczowy, co nie jest zgodne z zadanym kolorem szesnastkowym #ff00e0. Przy projektowaniu graficznym, precyzyjność w definiowaniu kolorów jest niezwykle ważna, a każdy błąd w interpretacji wartości może prowadzić do niezamierzonych efektów.

Pytanie 13

W SQL po wykonaniu zapytania ALTER TABLE osoba DROP COLUMN grupa; co się stanie?

A. kolumna grupa zostanie usunięta
B. kolumna grupa zostanie dodana
C. nazwa tabeli zmieni się na grupa
D. nazwa kolumny zmieni się na grupa
Jak nie wskazałeś usunięcia kolumny 'grupa', to niestety nie zrozumiałeś, o co chodzi w tym poleceniu ALTER TABLE w SQL. Zmiana nazwy tabeli na 'grupa' to nie to, co tu mamy, bo ALTER TABLE nie pozwala na coś takiego w jednym ruchu. Można co prawda zmienić nazwę całej tabeli, ale to się robi inaczej. Stwierdzenie, że zmieniono nazwę kolumny na 'grupa' też jest błędne, bo DROP COLUMN ją usuwa, a nie zmienia nazwę. Jeśli chodzi o dodanie kolumny 'grupa', to także jest to nie na miejscu, bo dodawanie kolumny robisz za pomocą ALTER TABLE ... ADD COLUMN. Te wszystkie pomyłki mogą wynikać z mylenia różnych funkcji SQL, które mają różne zastosowania. Ważne, żeby dobrze zrozumieć składnię SQL oraz różnice między poleceniami, które zmieniają tabelę.

Pytanie 14

Jaką funkcję pełni CONCAT w języku SQL?

A. przycinanie wyświetlanego tekstu
B. usuniecie określonego tekstu
C. łączenie tekstu do wyświetlenia
D. określenie podłańcucha znaków z tekstu wejściowego
Funkcja CONCAT w języku SQL jest używana do łączenia dwóch lub więcej ciągów tekstowych w jeden. Jest to bardzo przydatne narzędzie w zarządzaniu danymi, gdyż pozwala na tworzenie bardziej złożonych i informacyjnych komunikatów tekstowych z pojedynczych elementów. Funkcja ta przyjmuje jako argumenty dowolną liczbę ciągów znakowych, a jej wynik to jeden skonsolidowany ciąg. Na przykład, jeżeli mamy dwie kolumny, 'imię' i 'nazwisko', używając CONCAT możemy stworzyć pełne imię i nazwisko: SELECT CONCAT(imię, ' ', nazwisko) AS pełne_imie FROM użytkownicy; W wyniku tego zapytania otrzymamy pełne imiona i nazwiska użytkowników. Funkcja ta jest zgodna z normami ANSI SQL i jest wspierana przez większość systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL, czy Microsoft SQL Server, co sprawia, że jest bardzo uniwersalnym narzędziem w świecie baz danych.

Pytanie 15

W PHP użyto funkcji is_int(). Które z wymienionych wywołań tej funkcji da wynik TRUE?

A. is_int(NULL)
B. is_int(135)
C. is_int(13.5)
D. is_int("135")
Analizując pozostałe wywołania funkcji is_int(), można zauważyć, że w przypadku is_int("135"), przekazujemy ciąg znaków, a nie liczbę całkowitą. Choć zawiera on liczby, jest on interpretowany jako tekst, co skutkuje zwróceniem wartości FALSE. Warto pamiętać, że PHP rozróżnia różne typy danych i w tym przypadku is_int() nie będzie w stanie zinterpretować ciągu jako liczby całkowitej. Podobnie, is_int(NULL) prowadzi do identycznego wyniku, ponieważ NULL nie jest liczbą i nie spełnia kryteriów is_int(). Dodatkowo, w przypadku wywołania is_int(13.5), przekazujemy wartość zmiennoprzecinkową, co również nie spełnia wymagań funkcji. Typowe błędy myślowe, które mogą prowadzić do takich niepoprawnych wniosków, to mniemanie, że wszystkie liczby w PHP są traktowane tak samo, niezależnie od ich reprezentacji. Ważne jest, aby programiści uważnie sprawdzali typy danych, z którymi pracują, zwłaszcza w kontekście dynamicznego typowania, jakie oferuje PHP. Zrozumienie, że is_int() działa tylko na typie integer, pozwala uniknąć nieprzewidzianych błędów i poprawić jakość kodu, co jest kluczowe w profesjonalnym programowaniu.

Pytanie 16

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

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

Pytanie 17

Aby grupować obszary na poziomie bloków, które będą stylizowane za pomocą znacznika: należy wykorzystać

A. <param>
B. <span>
C. <div>
D. <p>
Znaczniki <p>, <param> i <span> mają różne funkcje, ale nie nadają się do grupowania elementów w poziomie bloków. Element <p> jest używany głównie do akapitów tekstu, więc nie można go wykorzystać do organizowania innych rzeczy jak obrazy czy formularze. To znaczy, że nie sprawdzi się w bardziej złożonych strukturach, gdzie potrzebujesz elastyczności i różnych typów treści. Z <span> jest podobnie, bo on grupuje tekst w obrębie bloku, ale działa w linii, więc nie tworzy nowych wierszy ani nie zmienia układu. A <param> jest do osadzania obiektów, jak wideo, więc nie ma tu nic wspólnego z grupowaniem treści. Przypisywanie tych funkcji tym znacznikom to błąd, bo każdy z nich ma swoje konkretne zastosowanie, które musisz znać, żeby dobrze projektować strony zgodnie z nowoczesnymi standardami.

Pytanie 18

Aby za pomocą instrukcji SELECT uzyskać listę nazwisk osób mieszkających na osiedlu, przy czym nazwiska te nie mogą się powtarzać, należy sformułować zapytanie w następujący sposób

A. SELECT nazwisko FROM mieszkancy ORDER BY nazwisko
B. SELECT DISTINCT nazwisko FROM mieszkancy
C. SELECT TOP 10 nazwisko FROM mieszkancy
D. SELECT AVG(nazwisko) FROM mieszkancy
Odpowiedzi, które nie wykorzystują klauzuli DISTINCT, nie są w stanie spełnić wymogu eliminacji duplikatów w wynikach zapytania. Na przykład, użycie "SELECT nazwisko FROM mieszkancy ORDER BY nazwisko;" tylko sortuje wyniki według nazwisk, ale nie eliminuje powtarzających się rekordów. To jest typowy błąd w myśleniu, gdzie użytkownicy mogą myśleć, że sortowanie wystarczy, aby uzyskać unikalne wyniki. Jeżeli w tabeli znajduje się wiele osób o tym samym nazwisku, zapytanie to nadal zwróci wszystkie wystąpienia, co prowadzi do niepożądanych rezultatów. Z kolei "SELECT TOP 10 nazwisko FROM mieszkancy;" ogranicza wyniki do tylko 10 pierwszych rekordów, ale nie zapewnia ich unikalności. W zależności od kolejności, w jakiej dane są prezentowane, wynik może zawierać duplikaty, co nie spełnia wymagań zadania. Dodatkowo, "SELECT AVG(nazwisko) FROM mieszkancy;" ma na celu obliczenie średniej, co jest nonsensowne w kontekście kolumny tekstowej jak 'nazwisko', ponieważ średnia nie jest miarodajną miarą dla danych tekstowych. Takie podejście demonstruje niewłaściwe zrozumienie typów danych i ich zastosowań w SQL. W każdej sytuacji, umiejętność poprawnego formułowania zapytań SQL jest kluczowa dla efektywnej pracy z bazami danych i unikania błędów analitycznych.

Pytanie 19

Używając komendy BACKUP LOG w MS SQL Server, można

A. wykonać kopię zapasową dziennika transakcyjnego
B. zalogować się do kopii zapasowej
C. zrealizować pełną kopię zapasową
D. odczytać komunikaty generowane podczas tworzenia kopii
Wybór odpowiedzi dotyczący logowania się do kopii bezpieczeństwa wykazuje nieporozumienie dotyczące funkcji, jakie pełnią operacje backupu w MS SQL Server. Proces tworzenia kopii zapasowej dziennika transakcyjnego nie ma nic wspólnego z logowaniem się do wygenerowanej kopii; jest to osobny proces, który polega głównie na archiwizacji danych transakcyjnych. Kolejne stwierdzenie, że możliwe jest przeczytanie komunikatów wygenerowanych podczas tworzenia kopii, zakłada, że operacja backupu dostarcza interaktywnych danych na temat jej przebiegu, co nie jest zgodne z rzeczywistością. MS SQL Server zwykle loguje wyniki operacji do dziennika zdarzeń lub plików logów, ale nie jest to funkcjonalność, na którą można liczyć w codziennym użytkowaniu. Wreszcie, stwierdzenie, że BACKUP LOG pozwala na wykonanie pełnej kopii bezpieczeństwa, jest także błędne. BACKUP LOG dotyczy tylko dziennika transakcyjnego, podczas gdy pełna kopia bezpieczeństwa wykonana jest przy użyciu polecenia BACKUP DATABASE. W praktyce, wiele osób myli te dwa procesy, co prowadzi do nieefektywnego zarządzania danymi i ryzyka utraty informacji. Zrozumienie technicznych aspektów działania tych poleceń jest kluczowe dla prawidłowego administrowania bazami danych.

Pytanie 20

W aplikacjach webowych tablice asocjacyjne to takie tablice, w jakich

A. w każdej komórce tablicy znajduje się inna tablica
B. istnieją przynajmniej dwa wymiary
C. elementy tablicy są zawsze indeksowane od 0
D. indeks jest ciągiem znaków
Tablice asocjacyjne, znane również jako słowniki lub mapy, to struktury danych, które przechowują pary klucz-wartość, gdzie kluczem jest zazwyczaj łańcuch tekstowy. Umożliwia to dostęp do wartości na podstawie zrozumiałych identyfikatorów, co jest znacznie bardziej intuicyjne niż indeksowanie numeryczne. Przykładem zastosowania tablic asocjacyjnych może być przechowywanie informacji o użytkownikach w aplikacjach webowych, gdzie kluczem może być adres e-mail, a wartością obiekt zawierający dane użytkownika, takie jak imię, nazwisko czy wiek. W wielu językach programowania, takich jak JavaScript, Python czy PHP, tablice asocjacyjne są wbudowanymi strukturami, które pozwalają na efektywne zarządzanie danymi, ułatwiając ich przechowywanie i manipulację. W praktyce, używanie tablic asocjacyjnych poprawia czytelność kodu i jego utrzymanie, co jest zgodne z dobrymi praktykami programowania, takimi jak KISS (Keep It Simple, Stupid) i DRY (Don't Repeat Yourself).

Pytanie 21

Jaką cechę wyróżnia format PNG?

A. kompresję bezstratną
B. możliwość obsługi animacji
C. możliwość reprezentacji grafiki wektorowej
D. niedostępność kanału alfa
Format PNG (Portable Network Graphics) jest znany przede wszystkim z bezstratnej kompresji, co oznacza, że pliki zapisane w tym formacie zachowują pełną jakość oryginalnych obrazów, niezależnie od ich rozmiaru. Bezstratna kompresja w PNG polega na tym, że dane obrazów są redukowane w sposób, który nie prowadzi do utraty jakichkolwiek informacji, co czyni go idealnym wyborem dla grafik wymagających wysokiej jakości, takich jak logo, ilustracje czy zdjęcia z przezroczystością. Przy zapisywaniu obrazu w formacie PNG, algorytm kompresji analizuje dane pikseli i stosuje różne techniki, takie jak kodowanie LZ77 i filtracja, aby zmniejszyć rozmiar pliku bez degradacji jakości. Dzięki temu, użytkownicy mogą swobodnie edytować i ponownie zapisywać obrazy PNG bez obaw o pogorszenie jakości. Format ten obsługuje również kanał alfa, co pozwala na uzyskiwanie przezroczystości w obrazach, co jest niezwykle istotne w projektowaniu graficznym i web designie. PNG stał się standardem w branży, potwierdzonym przez organizację W3C oraz powszechnie używany w Internecie, zwłaszcza w kontekście grafiki na stronach internetowych.

Pytanie 22

Podczas testowania skryptu JavaScript można w konsoli wyświetlać obecnie przechowywane wartości zmiennych przy użyciu funkcji

A. console.log()
B. console.warn()
C. console.error()
D. console.count()
Funkcja console.log() jest najczęściej używaną metodą do wyświetlania informacji w konsoli JavaScript. Umożliwia ona programistom monitorowanie wartości zmiennych w czasie rzeczywistym, co jest niezwykle pomocne podczas debugowania aplikacji. Używając console.log(), można łatwo wprowadzić komunikaty do konsoli, co pozwala na śledzenie zachowań aplikacji oraz identyfikację potencjalnych problemów. Przykładowo, jeśli mamy zmienną 'x' i chcemy zobaczyć jej wartość, wystarczy wpisać console.log(x). Dobre praktyki inżynierii oprogramowania sugerują, aby używać tego narzędzia do logowania istotnych informacji, w tym danych wejściowych oraz wyników operacji, co ułatwia późniejszą analizę i utrzymanie kodu. Ponadto, console.log() jest częścią standardu Web API, co potwierdza jego znaczenie i powszechność w branży. Warto też pamiętać, że nadmierne logowanie może prowadzić do zagracenia konsoli, dlatego kluczowe jest stosowanie tej funkcji w umiarkowany sposób, szczególnie w środowisku produkcyjnym.

Pytanie 23

W języku JavaScript zdefiniowano funkcję potega. Funkcja ta

function potega(a, b = 2) { ... return wynik; }
A. wymaga podania dwóch argumentów przy wywołaniu
B. może być wywołana z jedną wartością
C. nie przyjmuje żadnych argumentów
D. nie zwraca wartości
Odpowiedź 3 jest poprawna, ponieważ funkcja potega w JavaScript została zdefiniowana z jednym parametrem obowiązkowym (a) oraz jednym parametrem opcjonalnym (b) z domyślną wartością wynoszącą 2. Oznacza to, że można ją wywołać z jednym argumentem, a wtedy drugi argument przyjmie wartość domyślną. Taka konstrukcja jest użyteczna w przypadku, gdy chcemy zapewnić elastyczność wywołania funkcji bez konieczności podawania wszystkich argumentów. W praktyce, użycie wartości domyślnych pozwala na tworzenie bardziej zwięzłego kodu i łatwiejsze utrzymywanie funkcji. Standard ECMAScript 2015 (ES6) wprowadził możliwość definiowania wartości domyślnych dla parametrów funkcji, co jest obecnie powszechną praktyką w JavaScript. Dzięki temu programiści mogą lepiej zarządzać przypadkami, w których nie wszystkie dane wejściowe są dostępne, co pozwala na unikanie błędów związanych z nieokreślonymi wartościami i zwiększa efektywność kodu.

Pytanie 24

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. lisy borsuki
B. jelenie sarny
C. sarny dziki
D. dziki lisy
Wynik wykonania kodu PHP przedstawionego w pytaniu to 'sarny dziki', co odpowiada trzeciej opcji. Analizując kod, najpierw wykorzystujemy funkcję explode, która dzieli ciąg znaków na elementy tablicy, używając przecinka jako separatora. W rezultacie zmienna $tab stanie się tablicą składającą się z pięciu elementów: 'jelenie', 'sarny', 'dziki', 'lisy', 'borsuki'. Następnie w instrukcji echo odwołujemy się do drugiego i trzeciego elementu tablicy, co odpowiada indeksom 1 i 2, ponieważ indeksowanie w PHP zaczyna się od zera. Zatem $tab[1] to 'sarny', a $tab[2] to 'dziki'. W kontekście praktycznym, znajomość pracy z tablicami oraz funkcji do ich manipulacji jest kluczowa w programowaniu w PHP, zwłaszcza przy pracy z danymi w formacie CSV lub innymi formatami wymagającymi podziału ciągów. Opanowanie takich technik jest istotne dla programistów zajmujących się tworzeniem aplikacji webowych, gdzie przetwarzanie danych wejściowych jest na porządku dziennym.

Pytanie 25

Badania dotyczące skalowalności oprogramowania mają na celu sprawdzenie, czy aplikacja

A. posiada właściwą funkcjonalność
B. jest chroniona przed nieautoryzowanymi operacjami, takimi jak dzielenie przez zero
C. jest odpowiednio opisana dokumentacją
D. jest w stanie funkcjonować przy przewidzianym oraz większym obciążeniu
Odpowiedź 'potrafi działać przy zakładanym i większym obciążeniu' jest prawidłowa, ponieważ testy skalowalności oprogramowania mają na celu ocenę, jak aplikacja radzi sobie w warunkach wzrastającego obciążenia. Skalowalność odnosi się do zdolności systemu do obsługi większej ilości użytkowników lub danych bez utraty wydajności. Przykładem może być aplikacja internetowa, która musi obsługiwać rosnącą liczbę zapytań w godzinach szczytu. Dobrą praktyką jest przeprowadzanie testów obciążeniowych i stresowych, aby zidentyfikować punkty krytyczne i wąskie gardła w architekturze aplikacji. W standardzie ISO/IEC 25010 definiuje się jakość produktu oprogramowania, gdzie skalowalność jest kluczowym zjawiskiem wpływającym na niezawodność i wydajność systemu. Testy te pozwalają również na ocenę, czy architektura aplikacji jest wystarczająco elastyczna, aby dostosować się do zmieniających się potrzeb użytkowników oraz na potwierdzenie, że infrastruktura serwerowa i sieciowa spełniają wymagania związane z przyszłym wzrostem obciążenia.

Pytanie 26

Zawarte polecenie SQL wykonuje

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. powiększyć wartość pola Uczen o jeden
B. ustalić wartość pola Uczen na 1
C. zwiększyć o jeden wartość w kolumnie id_klasy dla wszystkich rekordów tabeli Uczen
D. ustalić wartość kolumny id_klasy na 1 dla wszystkich rekordów w tabeli Uczen
Analizując podane odpowiedzi, możemy zauważyć pewne błędne założenia co do działania polecenia SQL. Pierwsza z opcji sugeruje ustawienie wartości pola `Uczen` na 1, co jest nieprawidłowe, ponieważ polecenie nie odnosi się bezpośrednio do pola o nazwie `Uczen`, lecz dotyczy kolumny `id_klasy` w tabeli `Uczen`. Druga odpowiedź koncentruje się na zwiększeniu wartości pola `Uczen`, lecz polecenie nie zawiera odniesienia do pola o takiej nazwie, zajmuje się kolumną `id_klasy`. Trzecia możliwość mówi o ustawieniu wartości `id_klasy` na 1 dla wszystkich rekordów, co również jest nieprawidłową interpretacją, gdyż zgodnie z poleceniem SQL, wartość ta nie jest ustawiana na stałą wartość 1, ale jest zwiększana o 1. Często spotykanym błędem jest nieuwzględnianie specyfiki polecenia `UPDATE`, które modyfikuje istniejące dane, i mylenie go z `SET`, które może być używane w kontekście `INSERT`, jeżeli chcemy przypisywać stałe wartości. Aby uniknąć takich nieporozumień, zawsze warto dokładnie analizować składnię i logikę poleceń SQL.

Pytanie 27

Jeśli zmienna $x przechowuje dowolną dodatnią liczbę naturalną, przedstawiony kod źródłowy PHP ma za zadanie wyświetlić:

$licznik = 0;
while ($licznik != $x)
{
    echo $licznik;
    $licznik++;
}
A. kolejne liczby od 0 do x-1
B. losowe liczby z przedziału (0, x)
C. liczby wczytywane z klawiatury, tak długo aż zostanie wczytana wartość x
D. kolejne liczby od x do 0
Niektóre odpowiedzi sugerują niepoprawne interpretacje kodu PHP. Na przykład, propozycja wyświetlenia losowych liczb z zakresu (0, x) nie jest prawidłowa, ponieważ nie ma w kodzie żadnego komponentu generującego liczby losowe. Również pomysł na wczytywanie liczb z klawiatury jest nieprawidłowy, kod nie zawiera żadnej funkcji umożliwiającej wprowadzanie danych przez użytkownika. Ostatecznie, propozycja wyświetlenia liczb od x do 0 również jest błędna, gdyż zmienna $licznik jest zawsze inkrementowana, co oznacza, że jej wartość zawsze wzrasta. Błędne interpretacje wynikają z niewłaściwego zrozumienia funkcjonowania pętli while oraz procesu inkrementacji zmiennych. Ważne jest, aby zawsze dokładnie analizować każdy fragment kodu, zwracając szczególną uwagę na instrukcje warunkowe i manipulacje zmiennymi.

Pytanie 28

Termin "front-end" w kontekście projektowania stron WWW odnosi się do

A. organizacji informacji na serwerze WWW
B. interfejsu witryny internetowej powiązanego z technologiami operującymi w przeglądarce internetowej
C. działania skryptów oraz aplikacji realizowanych po stronie serwera WWW
D. bazy danych z danymi publikowanymi na stronie
Ważne jest, by zrozumieć, że front-end i back-end pełnią różne role w tworzeniu aplikacji internetowych. Back-end zajmuje się tym, co dzieje się na serwerze, czyli organizowaniem danych i logiką aplikacji. Jeśli myślisz, że front-end to wszystko, co związane z serwerem, to musisz to przemyśleć. Front-end to rzeczywiście ta warstwa, którą widzisz, ale też komunikacja z serwerem przez technologie jak AJAX. A jeśli ktoś mówi, że front-end to baza danych, to totalnie nie tak. Bazy danych to sprawa back-endu. Często można też spotkać zamieszanie między interfejsem użytkownika a logiką aplikacji, co może prowadzić do nieporozumień w tworzeniu stron. Projektując coś, musisz myśleć o obu tych warstwach, żeby wszystko razem dobrze działało.

Pytanie 29

Które z komend przyznaje najniższy poziom uprawnień dla użytkownika uczen w zakresie modyfikacji danych oraz struktury tabeli?

A. DRANT DROP ON szkola.przedmioty TO uczen
B. GRANT SELECT ON szkola.przedmioty TO uczen
C. GRANT INSERT, DROP ON szkola.przedmioty TO uczen
D. GRANT ALTER, SELECT ON szkola.przedmioty TO uczen
W kontekście zarządzania uprawnieniami w systemach baz danych, polecenie GRANT SELECT ON szkola.przedmioty TO uczen przyznaje użytkownikowi uczeń jedynie prawo do odczytu danych z tabeli 'przedmioty' w schemacie 'szkola'. Oznacza to, że uczeń może wykonywać zapytania SELECT, aby uzyskać dostęp do danych, ale nie ma możliwości ich modyfikacji ani wpływania na strukturę tabeli. W praktyce, użytkownicy z takim poziomem uprawnień są ograniczeni do przeglądania zawartości tabeli, co minimalizuje ryzyko przypadkowego (lub celowego) usunięcia, zmiany lub dodania danych. W kontekście standardów zabezpieczeń w bazach danych, nadawanie minimalnych uprawnień zgodnie z zasadą najmniejszych uprawnień jest kluczowe dla ochrony integralności danych. Przykładowo, w systemach edukacyjnych, uczniowie powinni mieć dostęp do swoich ocen, ale nie powinni mieć możliwości ich zmian, co jest realizowane poprzez nadanie uprawnień SELECT. W ten sposób instytucje mogą zapewnić bezpieczeństwo danych, jednocześnie umożliwiając użytkownikom dostęp do informacji, które są im potrzebne.

Pytanie 30

Definicja obiektu została zapisana w języku JavaScript jako var osoba={imie:"Anna", nazwisko:"Kowalska", rok_urodzenia:1985}; Jak można odwołać się do właściwości nazwisko?

A. osoba::nazwisko
B. osoba[2]
C. osoba[1]
D. osoba.nazwisko
Wszystkie inne odpowiedzi są niepoprawne z różnych powodów technicznych. Pierwsza z nich, osoba[1], opiera się na indeksowaniu tablicy, co jest błędne w kontekście obiektów. W JavaScript obiekty nie mają indeksów; zamiast tego są zorganizowane w pary klucz-wartość, gdzie klucze są nazwami właściwości. Próba uzyskania dostępu do właściwości przez indeksowanie zwróci undefined, ponieważ obiekt nie ma takiego klucza. Kolejna niepoprawna odpowiedź, osoba[2], jest analogicznie błędna, ponieważ odnosi się do drugiego elementu, co również nie ma zastosowania w obiektach. Obiekty w JavaScript nie są tablicami i nie można do nich odwoływać się w sposób, który sugeruje, że mają one numerowane właściwości. Ostatnia odpowiedź, osoba::nazwisko, jest syntaktycznie niepoprawna w JavaScript. Notacja z podwójnymi dwukropkami nie jest stosowana w języku, a niepoprawne użycie operatorów prowadzi do błędów wykonania. W JavaScript poprawny jest tylko dostęp przez notację kropkową lub nawiasową, ponieważ język nie wspiera takiej składni. Te pomyłki mogą wynikać z nieporozumienia w zakresie struktur danych w JavaScript oraz ich właściwego dostępu.

Pytanie 31

W PHP operatorem odpowiedzialnym za sumę logiczną jest

A. +
B. &&
C. !
D. ||
Operator || w języku PHP reprezentuje sumę logiczną (OR). Oznacza to, że jeśli przynajmniej jedna z dwóch wartości logicznych jest prawdziwa, wynik również będzie prawdziwy. Przykładem zastosowania tego operatora może być warunek sprawdzający, czy użytkownik jest administratorem lub ma dostęp do pewnych zasobów w aplikacji. W takim przypadku można użyć: if ($user->isAdmin() || $user->hasAccess()). Dobrą praktyką jest stosowanie operatorów logicznych w złożonych warunkach, aby poprawić czytelność kodu. Zamiast łączyć wiele warunków w jednym wyrażeniu, warto stosować odpowiednie wcięcia i struktury, które ułatwiają zrozumienie logiki aplikacji. Operator || jest kluczowym elementem w programowaniu, szczególnie w kontekście podejmowania decyzji w kodzie, co czyni go fundamentalnym narzędziem dla programistów PHP.

Pytanie 32

Aby wykorzystać skrypt znajdujący się w pliku przyklad.js, konieczne jest połączenie go ze stroną przy użyciu kodu

A. <link rel="script" href="przyklad.js">
B. <script src="przyklad.js"></script>
C. <script>przyklad.js</script>
D. <script link="przyklad.js"></script>
No, odpowiedzi bez atrybutu 'src' są nie na miejscu, bo nie spełniają standardów HTML dołączania skryptów. W pierwszej odpowiedzi, w <script>przyklad.js</script>, użycie tego zapisu jest błędne, bo tag <script> musi mieć 'src', żeby pokazać, gdzie skrypt się znajduje. Po prostu dodanie samej nazwy pliku w środku znacznika nic nie zdziała, bo przeglądarka go nie załaduje. W drugiej odpowiedzi, <script link="przyklad.js"></script>, to też nie jest zgodne z HTML, bo 'link' nie istnieje w kontekście skryptów; powinno być tylko 'src'. Odpowiedź <link rel="script" href="przyklad.js"> jest całkiem myląca, bo <link> zazwyczaj służy do CSS, a nie do JavaScriptu. Nawet jeśli 'rel' można użyć, to nie ma sensu w kontekście skryptów JS. To może prowadzić do tego, że deweloperzy nie zrozumieją, jak poprawnie dodawać zasoby do HTML-a, a to może w przyszłości rodzić problemy z wydajnością i działaniem strony. Zrozumienie i stosowanie standardów HTML jest mega ważne przy projektach webowych, bo wpływa na jakość kodu i jego przyszłą obsługę.

Pytanie 33

Jakie mechanizmy są kluczowe dla Systemu Zarządzania Bazą Danych?

A. Moduł do wizualizacji diagramów encji
B. System do zarządzania wersjami bazy danych
C. Wielodostępność do danych
D. Narzędzia do generowania statystyk
Wielodostępność danych jest kluczowym mechanizmem dla systemów zarządzania bazami danych (DBMS), ponieważ umożliwia równoczesny dostęp wielu użytkowników do tych samych danych bez konfliktów. W praktyce oznacza to, że wiele aplikacji lub użytkowników może korzystać z bazy danych w tym samym czasie, co jest niezbędne w wielu złożonych środowiskach, takich jak systemy bankowe, platformy e-commerce czy aplikacje społecznościowe. Mechanizm wielodostępności zapewnia integralność danych oraz ich spójność, co jest osiągane poprzez zastosowanie technik takich jak blokowanie, transakcje i izolacja. Przykładem praktycznym może być system zarządzania rezerwacjami hoteli, w którym wiele osób próbuje zarezerwować ten sam pokój w tym samym czasie. DBMS musi zastosować odpowiednie mechanizmy, aby zrealizować tylko jedną z tych rezerwacji, jednocześnie informując pozostałych użytkowników o braku dostępności. Dobrą praktyką w projektowaniu baz danych jest także przemyślane stosowanie poziomów izolacji transakcji, co pozwala na dostosowanie wydajności i spójności w zależności od potrzeb aplikacji.

Pytanie 34

Jaki jest cel funkcji napisanej w PHP?

function fun1($liczba)
{
  if($liczba % 2 == 0)
    return 1;

  return 0;
}
A. Wypisanie liczby parzystej
B. Zwrócenie wartości 0, gdy liczba jest parzysta
C. Wypisanie liczby nieparzystej
D. Zwrócenie wartości 1, gdy liczba jest parzysta
Analizując błędne odpowiedzi, należy skupić się na różnicy między funkcją zwracającą wartość a funkcją wypisującą wynik. Wypisanie liczby parzystej sugerowałoby użycie funkcji echo lub print, co w kodzie nie występuje. Funkcja zwraca wartość za pomocą instrukcji return, co jest istotnym rozróżnieniem w kontekście projektowania funkcji. Wypisanie liczby nieparzystej również nie jest zgodne z treścią funkcji, ponieważ nie ma instrukcji ani warunku, który wskazywałby na takie działanie. Funkcja została zaprojektowana do zwracania wartości logicznej (w tym przypadku liczbowej 1 lub 0), które w dalszej części programu mogą być używane do podejmowania decyzji. Typowym błędem jest niezrozumienie różnicy między wypisywaniem a zwracaniem wartości oraz błędna interpretacja operatora modulo, który w tym przypadku jest kluczowy do zrozumienia działania funkcji. Brakującym elementem w niepoprawnych odpowiedziach jest również właściwe odczytanie instrukcji return i jej wpływu na przepływ sterowania w programie, co często prowadzi do nieporozumień w analizie kodu.

Pytanie 35

Wskaż przycisk sformatowany przedstawionym stylem CSS.

#przycisk {
    background-color: white;
    padding: 10px;
    border-width: 2px;
    border-bottom-style: dashed;
}



Przycisk 1

Przycisk 2

Przycisk 3

Przycisk 4
A. Przycisk 2
B. Przycisk 1
C. Przycisk 4
D. Przycisk 3
Niestety, twoja odpowiedź nie była prawidłowa. Wybór innego przycisku niż Przycisk 2 sugeruje, że mogłeś nie do końca zrozumieć, jak działa selekcja i stylizacja elementów za pomocą CSS. Białe tło, odstęp wewnętrzny 10 pikseli, szerokość obramowania 2 piksele oraz przerywana dolna krawędź obramowania są elementami, które zostały ustawione w stylach CSS dla przycisku 2. Pozostałe przyciski miały inne cechy, które nie były zgodne z opisanym stylem CSS. Przy niewłaściwym wyborze przycisku lub innego elementu do stylizacji, strona może nie wyglądać zgodnie z zamierzeniem, co może negatywnie wpłynąć na doświadczenie użytkownika. Dlatego ważne jest, aby zrozumieć, jak działa selekcja i stylizacja CSS. Pamiętaj, że zrozumienie CSS to klucz do tworzenia atrakcyjnych i funkcjonalnych projektów webowych.

Pytanie 36

Który fragment kodu stanowi zamiennik dla kodu umieszczonego w ramce?

Ilustracja do pytania
A. C
B. D
C. B
D. A
Odpowiedzi B i D są nieprawidłowe ponieważ ignorują kluczową część logiki oryginalnego kodu mianowicie filtrację parzystych liczb. Odpowiedź B iteruje przez wszystkie liczby od 1 do 55 wypisując je wszystkie bez wyjątku co diametralnie odbiega od zamierzonego wyniku kodu źródłowego. Odpowiedź D jest identyczna z B z tym że format zapisu jest nieco odmienny nie ma to jednak wpływu na logikę działania co czyni ją również błędną. Odpowiedź C inicjuje pętlę od 2 i inkrementuje x o 2 co teoretycznie powinno zbliżyć się do rozwiązania jednak zakres iteracji kończy się na 56 co wykracza poza zadany limit 55 oraz wypisuje nieistniejącą w oryginalnej pętli dodatkową liczbę co jest błędne. Wybory te mogą wynikać z niewłaściwego zrozumienia zakresu pętli lub metody przeskakiwania wartości co jest częstym błędem przy interpretacji pętli iteracyjnych. Kluczowe jest zrozumienie jak zastosowana logika i zakres wpływają na wynik końcowy oraz jak można optymalnie odwzorować te zasady w alternatywnym kodzie.

Pytanie 37

Instrukcja języka PHP tworząca obiekt pkt dla zdefiniowanej w ramce klasy Punkt ma postać

class Punkt {  public $x;
                public $y;  }
A. pkt = new Punkt();
B. Punkt() pkt;
C. pkt Punkt;
D. pkt Punkt();
Twoja odpowiedź nie jest prawidłowa. Wybrałeś konstrukcję, która nie jest poprawnym sposobem tworzenia obiektu w języku PHP. PHP jest językiem obiektowym, a do tworzenia obiektów używamy konstrukcji z słowem kluczowym 'new' i nazwą klasy. Instrukcje, które wybrałeś, nie są poprawnymi instrukcjami w PHP i prawdopodobnie spowodują błąd składni. W odpowiedziach 2, 3 i 4 brakuje słowa kluczowego 'new', które jest niezbędne do tworzenia nowych instancji klas, a także brakuje znaku równości i prawidłowego ułożenia elementów. Rozumienie, jak tworzyć obiekty, jest kluczowe do efektywnego programowania w PHP, więc warto poświęcić temu więcej czasu. Spróbuj jeszcze raz, z pewnością sobie poradzisz!

Pytanie 38

Po uruchomieniu poniższego fragmentu kodu PHP:

echo date("Y");
na ekranie pojawi się bieżąca data zawierająca tylko:
A. dzień
B. miesiąc i rok
C. rok
D. dzień i miesiąc
Wybór odpowiedzi dotyczącej dnia, miesiąca czy kombinacji dnia i miesiąca wynika z nieporozumienia dotyczącego funkcji date() w PHP. Funkcje związane z datami w PHP są niezwykle wszechstronne i pozwalają na formatowanie dat w różnorodne sposoby. Odpowiedzi sugerujące wyświetlenie dnia lub miesiąca nie uwzględniają faktu, że przekazany argument "Y" jednoznacznie określa, że interesującą nas wartością jest rok. Typowym błędem jest mylenie formatów daty; na przykład, przekazanie "d" do funkcji date() zademonstrowałoby nam bieżący dzień miesiąca, a "m" zwróciłoby bieżący miesiąc. W realnych aplikacjach, gdzie często wymagana jest prezentacja dat, kluczowe jest zrozumienie, który format daty chcemy uzyskać. Wybór niewłaściwego formatu może prowadzić do niejednoznaczności w prezentacji danych oraz ograniczania możliwości ich analizy. Zastosowanie funkcji date() w sposób niezgodny z jej dokumentacją często skutkuje nieprecyzyjnymi wynikami lub błędami w kodzie. Dlatego tak istotne jest stosowanie odpowiednich znaczników przy korzystaniu z tej funkcji, aby uniknąć nieporozumień i zapewnić przejrzystość kodu, co jest jedną z podstawowych zasad dobrego programowania.

Pytanie 39

Do uruchomienia systemu CMS Joomla!, dla domyślnej konfiguracji, wymagane jest środowisko

A. Apache, PHP i MySQL
B. C++ i MySQL
C. Python i MySQL
D. IIS, PERL i MySQL
W tym pytaniu łatwo wpaść w pułapkę skojarzeń z innymi technologiami programistycznymi i zapomnieć, że Joomla! to konkretny system CMS napisany w określonym języku i zaprojektowany pod typowe środowisko serwerowe. Niektóre odpowiedzi wyglądają sensownie na pierwszy rzut oka, bo łączą język programowania z bazą danych, ale kompletnie mijają się z rzeczywistością techniczną Joomla!. Joomla! nie jest napisana w C++, więc środowisko C++ i MySQL w ogóle nie ma tutaj zastosowania. C++ oczywiście może być używany do tworzenia wysokowydajnych serwerów, silników gier czy komponentów systemowych, ale nie jest standardem w typowych CMS-ach webowych. Podobnie Python – bardzo popularny w aplikacjach webowych (Django, Flask), ale Joomla! nie korzysta z Pythona, więc nawet jeśli Python dobrze współpracuje z MySQL, to nie ma to znaczenia przy uruchamianiu tego konkretnego CMS. Kolejny trop to IIS, PERL i MySQL. IIS to serwer WWW od Microsoftu, PERL to stary, ale nadal używany język skryptowy. Da się na IIS uruchamiać różne technologie, ale Joomla! została zbudowana z myślą o PHP i serwerach zgodnych z typowym środowiskiem LAMP. PERL nie jest językiem, w którym powstała Joomla!, więc taki zestaw jest po prostu niekompatybilny z jej kodem. Typowy błąd myślowy przy tego typu pytaniach polega na tym, że ktoś patrzy: „jest język + jest baza danych, to pewnie zadziała”. Niestety tak to nie działa. Każdy CMS ma jasno określone wymagania środowiskowe, opisane w dokumentacji: wersja PHP, typ i wersja bazy danych, zalecany serwer HTTP, czasami konkretne rozszerzenia PHP. Dobre praktyki w administracji serwerami mówią, żeby zawsze sprawdzać oficjalne wymagania systemu, zamiast zgadywać na podstawie ogólnej wiedzy o programowaniu. W przypadku Joomla! takim wymaganiem jest właśnie PHP jako język, MySQL jako baza oraz typowe serwery WWW jak Apache (ewentualnie Nginx), a nie C++, Python czy PERL.

Pytanie 40

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

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