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: 15 czerwca 2026 12:56
  • Data zakończenia: 15 czerwca 2026 12:59

Egzamin niezdany

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

Która lista jest interpretacją przedstawionego kodu?

<ol>
    <li>muzyka
        <ul>
            <li>Wpis1</li>
            <li>Wpis2</li>
        </ul>
    </li>
    <li>filmy
        <ul>
            <li>Wpis3</li>
            <li>Wpis4</li>
        </ul>
    </li>
</ol>
A. Lista nieuporządkowana zawierająca wszystkie składniki, jeden za drugim.
B. Lista uporządkowana z sześcioma następującymi elementami.
C. Lista uporządkowana z dwoma składnikami, z których każdy ma wewnętrzną listę nieuporządkowaną.
D. Lista uporządkowana z podpunktami zapisanymi w formie numeracji dziesiętnej (np. 1.1, 1.2).
Często błędnym założeniem przy interpretacji zagnieżdżonych list w HTML jest pomylenie uporządkowanych i nieuporządkowanych struktur. Listy uporządkowane oznaczone są tagiem <ol> i wprowadzenie błędnego zrozumienia ich znaczenia może prowadzić do niepoprawnego wyświetlania treści w przeglądarce. Nieuporządkowane listy z kolei identyfikowane są przez tag <ul> i często stosowane są tam gdzie kolejność nie ma znaczenia. W błędnych odpowiedziach często widzimy brak zrozumienia semantyki HTML gdzie hierarchia i zagnieżdżenie elementów mają istotne znaczenie. Niepoprawna interpretacja może skutkować utratą przejrzystości kodu co wpływa na dalszą możliwość jego rozwijania i utrzymania. Typowym błędem jest także nieuwzględnienie poprawnego zamknięcia tagów co jest fundamentalnym wymogiem w HTML aby zapewnić poprawne parsowanie dokumentu przez przeglądarki. W kontekście tworzenia stron internetowych dobór odpowiednich elementów HTML i ich poprawne stosowanie jest fundamentem zgodności ze standardami sieciowymi oraz praktykami projektowania stron co wpływa bezpośrednio na ich funkcjonalność i dostępność dla użytkowników i przeglądarek internetowych. Zrozumienie tych zasad jest kluczowe dla każdego rozwijającego się profesjonalisty zajmującego się frontendem webowym i wpływa na jakość tworzonego oprogramowania internetowego.

Pytanie 2

Który atrybut znacznika <img> określa lokalizację (ścieżkę) pliku graficznego?

A.
link
B.
src
C.
href
D.
alt
Obraz osadza się znacznikiem <img>, a jego atrybut src (source) wskazuje ścieżkę do pliku graficznego, np. <img src="logo.png" alt="Logo">. Drugi ważny atrybut, alt, podaje tekst alternatywny. Dlatego lokalizację pliku obrazu określa src.

Pytanie 3

Zestawienie dwóch kolorów leżących naprzeciw siebie w kole barw to zestawienie:

A. trójkątne
B. sąsiadujące (analogiczne)
C. dopełniające
D. monochromatyczne
Barwy dopełniające (komplementarne) to dwa kolory leżące dokładnie naprzeciw siebie na kole barw, np. czerwony i zielony albo niebieski i pomarańczowy. Zestawione razem dają silny kontrast i wzajemnie się „wzmacniają”, dlatego stosuje się je, by przyciągnąć uwagę. Inne schematy kolorystyczne to triada (trzy kolory w równych odstępach), analogiczny (kolory sąsiednie) i monochromatyczny (odcienie jednej barwy). Dlatego kolory naprzeciw siebie to barwy dopełniające.

Pytanie 4

W języku PHP, aby otworzyć już istniejący plik lektury.txt w trybie dodawania treści, tak aby wskaźnik pliku został umieszczony na końcu tego pliku należy zastosować instrukcję

A. fopen("lektury.txt", "r")
B. fopen("lektury.txt", "w")
C. fopen("lektury.txt", "x")
D. fopen("lektury.txt", "a")
W tym zadaniu kluczowe są dwa elementy: tryb otwarcia pliku oraz pozycja wskaźnika pliku. W PHP funkcja fopen() przyjmuje drugi parametr właśnie po to, żeby określić, co chcemy zrobić z plikiem: tylko czytać, tylko pisać, nadpisywać, dopisywać, tworzyć nowy itd. Pomyłki biorą się najczęściej z tego, że ktoś zna ogólne działanie funkcji, ale nie pamięta dokładnie znaczenia poszczególnych liter.

Tryb "r" oznacza otwarcie pliku tylko do odczytu. Wskaźnik pliku ustawiany jest na początku, a nie na końcu. W tym trybie nie wolno pisać do pliku – próba użycia fwrite() skończy się ostrzeżeniem lub błędem. To dobry wybór, gdy chcemy np. wczytać konfigurację lub treść pliku, ale zupełnie nie nadaje się do dopisywania nowych danych. Typowym błędem myślowym jest założenie, że skoro fopen otwiera plik, to zawsze można do niego pisać. Niestety, nie – tryb ma tutaj kluczowe znaczenie.

Tryb "w" otwiera plik do zapisu, ale przy tym kasuje jego dotychczasową zawartość (truncation). W praktyce oznacza to, że gdy użyjemy fopen("lektury.txt", "w"), cały wcześniejszy tekst zostanie usunięty, a wskaźnik pliku znajdzie się na początku pustego pliku. To jest bardzo ważne: "w" jest dobre, gdy chcemy stworzyć nową wersję pliku od zera, np. generowany raport, ale całkowicie sprzeczne z wymaganiem zadania, które mówi o „dodawaniu treści” do istniejącego pliku bez utraty danych.

Tryb "x" z kolei służy do tworzenia nowego pliku i zakończy się błędem, jeśli plik już istnieje. To mechanizm ochronny, używany często tam, gdzie nie chcemy przypadkiem nadpisać istniejącego pliku (np. przy generowaniu unikalnych plików). W kontekście pytania jest to odwrotność tego, co trzeba: my właśnie chcemy pracować z już istniejącym plikiem, a nie wymuszać jego nowość.

Moim zdaniem najczęstsza pułapka polega na myleniu „w” i „a”. Oba tryby umożliwiają zapis, ale tylko "a" gwarantuje, że wskaźnik ustawi się na końcu, a dane będą dopisywane, a nie nadpisywane. Dlatego, gdy w zadaniu pojawia się fraza „tryb dodawania treści” i „wskaźnik na końcu pliku”, praktycznie zawsze chodzi o tryb append, czyli właśnie "a".

Pytanie 5

Która funkcja PHP pozwala sprawdzić, czy ciąg jest CZĘŚCIĄ innego ciągu?

A.
trim()
B.
strtok()
C.
strlen()
D.
strstr()
Funkcja strstr() sprawdza, czy dany ciąg jest CZĘŚCIĄ innego - szuka pierwszego wystąpienia podciągu i zwraca fragment od tego miejsca (albo false, gdy nie znajdzie). Pozwala więc wykryć obecność fragmentu w tekście. Dlatego do tego służy strstr().

Pytanie 6

Która instrukcja służy do iteracji (powtarzania)?

A.
else
B.
throw
C.
for
D.
switch
Instrukcja for to pętla - powtarza blok kodu określoną liczbę razy, ze zmienną licznikową, warunkiem i krokiem. Dlatego do iteracji służy for.

Pytanie 7

W języku PHP zapisano fragment kodu działającego na bazie MySQL. Jego zadaniem jest wypisanie

$z = mysqli_query($db, "SELECT ulica, miasto, kod_pocztowy FROM adresy");
$a = mysqli_fetch_row($z);
echo "$a[1], $a[2]";
A. ulicy i miasta ze wszystkich zwróconych rekordów.
B. miasta i kodu pocztowego ze wszystkich zwróconych rekordów.
C. ulicy i miasta z pierwszego zwróconego rekordu.
D. miasta i kodu pocztowego z pierwszego zwróconego rekordu.
Brawo, wybrałeś prawidłową odpowiedź. Twój fragment kodu PHP wykonuje zapytanie SQL, które wybiera kolumny 'ulica', 'miasto', 'kod_pocztowy' z tabeli 'adresy'. Następnie używasz funkcji mysqli_fetch_row(), która pobiera pierwszy zwrócony rekord jako indeksowaną tablicę. Funkcja echo wyświetla drugi i trzeci element tej tablicy (indeksy 1 i 2), które odpowiadają kolumnom 'miasto' i 'kod pocztowy'. To jest standardową praktyką w PHP, aby uzyskać dane z pierwszego zwróconego rekordu. Możesz zastosować tę wiedzę do tworzenia skomplikowanych zapytań SQL lub do tworzenia różnego rodzaju aplikacji webowych, które potrzebują interakcji z bazą danych.

Pytanie 8

W języku JavaScript, by zmodyfikować wartość atrybutu elementu HTML, po uzyskaniu obiektu za pomocą metody getElementById należy użyć

A. metody getAttribute
B. pola innerHTML
C. metody setAttribute
D. pola attribute oraz wskazać nazwę atrybutu
Wykorzystanie pola innerHTML do zmiany atrybutów elementów HTML może prowadzić do wielu problemów i nieefektywności. Pole to służy do modyfikacji zawartości wewnętrznej elementu, a jego użycie w kontekście zmiany atrybutów nie jest zalecane. Przykładowo, przypisując nową wartość do innerHTML, można przypadkowo nadpisać całą zawartość elementu, co skutkuje utratą innych atrybutów oraz zdarzeń powiązanych z tym elementem. Z kolei metody getAttribute oraz setAttribute mają różne zastosowania: getAttribute odczytuje wartość atrybutu, ale nie zmienia go. Zastosowanie metody attribute, która nie istnieje w standardzie DOM, może prowadzić do nieporozumień i błędów w kodzie. Często błędne podejście do manipulacji atrybutami wynika z braku zrozumienia, jak działa model DOM i jak można go efektywnie wykorzystywać w JavaScript. W praktyce, zamiast używać metod, które nie są przeznaczone do danego zadania, warto sięgnąć po metody dostosowane do manipulacji atrybutami, co zwiększa czytelność i stabilność kodu. W efekcie, zrozumienie różnicy między różnymi metodami i ich zastosowaniem jest kluczowe dla prawidłowego zarządzania elementami na stronie.

Pytanie 9

Jak sprawdzić spójność danych w tabeli bazy MySQL?

A.
mysqldump
B.
mysql
C.
REPAIR TABLE
D.
CHECK TABLE

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Spójność danych w tabeli MySQL sprawdza polecenie <code><span class="code-keyword">CHECK</span> <span class="code-keyword">TABLE</span></code> - analizuje tabelę pod kątem błędów i uszkodzeń, nie modyfikując jej. Naprawę wykonuje się dopiero osobno, gdy problem zostanie wykryty. Dlatego do sprawdzenia spójności służy <code><span class="code-keyword">CHECK</span> <span class="code-keyword">TABLE</span></code>.

Pytanie 10

Jaką wartość zwróci funkcja zoo zdefiniowana w języku C++, wywołana z aktualnym parametrem 3.55

int zao(float x){
    return (x + 0.5);
}
A. 4.05
B. 3
C. 4
D. 3.5

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Dobra robota! Wybrałeś poprawną odpowiedź, która wynosi 4. W języku C++ typy zmiennoprzecinkowe (float) są konwertowane do typów całkowitych (int) poprzez odrzucenie części ułamkowej liczby. W tym przypadku, nawet jeśli wynik działania wewnątrz funkcji wynosi 4.05, po konwersji do typu int, zostaje z tego tylko 4. Jest to dobra praktyka, aby zawsze pamiętać o tym zachowaniu podczas pracy z różnymi typami danych w językach programowania, zwłaszcza jeśli precyzja jest istotna dla twojego kodu. Odrzucenie części ułamkowej może prowadzić do nieoczekiwanych wyników, jeśli nie jest to świadome działanie. Dlatego w języku C++ zaleca się zawsze jasne i precyzyjne określenie typu danych.

Pytanie 11

Wskaż definicję metody, którą należy wstawić w miejscu kropek, aby na stronie WWW wyświetlił się tekst: Jan Kowalski

<p id="wynik"></p>
<script type="text/javascript">
    var osoba = { nazwisko: "Kowalski", imie: "Jan" };
    …
    document.getElementById("wynik").innerHTML = osoba.dane();
</script>

osoba.dane = function() {
    return this.imie+" "+this.nazwisko;
};                 A.

dane() = function() {
    return this.imie+" "+this.nazwisko;
};                 B.

osoba.dane = function() {
    return imie+" "+nazwisko;
};                 C.

dane() = function {
    this.imie+" "+this.nazwisko;
};                 D.
A. B.
B. A.
C. D.
D. C.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Fajnie, że wybrałeś dobrą odpowiedź! Metoda 'dane' jest powiązana z obiektem 'osoba', co pozwala ci używać słowa kluczowego 'this', żeby odwołać się do 'imię' i 'nazwisko'. To naprawdę ważna zasada w programowaniu obiektowym. 'This' to taki klucz, dzięki któremu możesz wskazać, z którego obiektu korzystasz w danej chwili. W tym przypadku odnosisz się do obiektu 'osoba'. Wyobraź sobie, że tworzysz aplikację i chcesz pokazać informacje o użytkowników, na przykład na stronie profilu. Dzięki metodzie 'dane', która jest częścią obiektu 'osoba', możesz łatwo wyświetlić imię i nazwisko. O to chodzi w programowaniu!

Pytanie 12

W języku HTML, aby ustawić tytuł dokumentu na "Moja strona", który będzie widoczny na karcie przeglądarki internetowej, należy użyć zapisu

A. <meta title="Moja strona">
B. <title>Moja strona</title>
C. <meta name="title" content="Moja strona">
D. <head>Moja strona</head>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź <title>Moja strona</title> jest poprawna, ponieważ element <title> jest standardowym sposobem definiowania tytułu dokumentu HTML, który jest wyświetlany na pasku tytułowym przeglądarki. Zgodnie z normą HTML, element ten powinien być umieszczony wewnątrz sekcji <head> dokumentu. Przykładowa struktura dokumentu HTML z tytułem wygląda następująco: <html><head><title>Moja strona</title></head><body></body></html>. Tytuł jest istotny nie tylko dla użytkowników, ale również dla wyszukiwarek internetowych, ponieważ wpływa na SEO (Search Engine Optimization). Dobrze dobrany tytuł może zwiększyć klikalność linków w wynikach wyszukiwania. Dodatkowo, element <title> jest ważnym aspektem dostępności, ponieważ osoby korzystające z technologii asystujących polegają na nim, aby zrozumieć zawartość strony. W kontekście dobrych praktyk warto pamiętać, że tytuł powinien być krótki, zwięzły i adekwatny do treści strony. Warto również unikać duplikatów tytułów na różnych stronach tej samej witryny, co może prowadzić do chaosu w nawigacji i negatywnie wpływać na doświadczenia użytkowników oraz SEO.

Pytanie 13

Który z poniższych kodów HTML odpowiada opisanej tabeli? (W celu uproszczenia zrezygnowano z zapisu stylu obramowania tabeli oraz komórek)

Ilustracja do pytania
A. Odpowiedź D
B. Odpowiedź B
C. Odpowiedź C
D. Odpowiedź A

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź B jest prawidłowa, ponieważ wykorzystuje atrybut rowspan do połączenia dwóch wierszy w jednej kolumnie tabeli. HTML zapewnia atrybuty rowspan i colspan, które umożliwiają połączenie wielu komórek tabeli w jedną, co jest niezbędne w sytuacjach, gdy dane muszą być przedstawione w sposób bardziej przejrzysty i zwarty. W przedstawionej tabeli labelka Telefon jest wspólna dla dwóch numerów, co skutkuje koniecznością użycia rowspan=2 w komórce, która łączy dwa wiersze. Ta konstrukcja jest zgodna z dobrymi praktykami tworzenia semantycznie poprawnych i wizualnie uporządkowanych tabel w dokumentach HTML. Zastosowanie atrybutu rowspan może poprawić czytelność tabel, co jest szczególnie przydatne przy prezentacji złożonych danych w aplikacjach biznesowych czy raportach. Użycie tego podejścia pozwala na bardziej efektywne wykorzystanie przestrzeni w tabeli i jest zgodne ze standardami W3C, które promują semantykę i dostępność w sieci.

Pytanie 14

Która funkcja PHP zamieni słowo "kota" na "mysz" w napisie "ala ma kota"?

A.
str_replace("kota", "mysz", "ala ma kota");
B.
str_replace("ala ma kota", "kota", "mysz");
C.
replace("kota", "mysz", "ala ma kota");
D.
replace("ala ma kota", "kota", "mysz");

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zamiany fragmentu napisu dokonuje <code><span class="code-function">str_replace</span><span class="code-text">(</span><span class="code-text">$</span><span class="code-variable">szukane</span><span class="code-text">,</span> <span class="code-text">$</span><span class="code-variable">zamiennik</span><span class="code-text">,</span> <span class="code-text">$</span><span class="code-variable">tekst</span><span class="code-text">)</span></code> w tej kolejności argumentów, więc <code><span class="code-function">str_replace</span><span class="code-text">(</span><span class="code-string">"kota"</span><span class="code-text">,</span> <span class="code-string">"mysz"</span><span class="code-text">,</span> <span class="code-string">"ala ma kota"</span><span class="code-text">)</span></code> da „ala ma mysz”. Pierwszy argument to czego szukamy, drugi czym zastąpić, trzeci gdzie. Dlatego ta funkcja jest poprawna.

Pytanie 15

W wyniku wykonania przedstawionego poniżej kodu JavaScript zmienna x ma wartość:

<script>
    var x = 10;
    x++;
    console.log(x);
</script>
A. 11 i zostanie wypisana w konsoli przeglądarki internetowej.
B. 11 i zostanie wypisana w oknie pop-up.
C. 10 i zostanie wypisana w głównym oknie przeglądarki internetowej.
D. 10 i zostanie wypisana w dokumencie HTML.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kod w ramce to prosty przykład operacji na zmiennej i użycia konsoli w JavaScript: <script> var x = 10; x++; console.log(x); </script> Najpierw deklarowana jest zmienna `x` z użyciem słowa kluczowego `var` i przypisana jest do niej wartość 10. Następnie operator `x++` to tzw. inkrementacja postfiksowa – zwiększa wartość zmiennej `x` o 1. Po wykonaniu tej instrukcji `x` nie jest już równe 10, tylko 11. Ostatnia linia `console.log(x);` wypisuje aktualną wartość zmiennej do konsoli deweloperskiej przeglądarki, a nie do okna strony czy do popupu. Z mojego doświadczenia w pracy z JavaScript, `console.log()` to podstawowe narzędzie debugowania. W praktyce, gdy testujesz np. działanie pętli, obsługę formularzy, komunikację AJAX czy manipulację DOM, bardzo często wypisujesz dane właśnie do konsoli, żeby nie zaśmiecać interfejsu użytkownika. To jest zgodne z dobrymi praktykami front-endu: logi techniczne trafiają do konsoli, a nie do użytkownika końcowego. Warto też zauważyć różnicę między `x++` i `++x`. W tym konkretnym kodzie nie ma znaczenia, bo wartość jest tylko zwiększana i potem logowana, ale w wyrażeniach z przypisaniem kolejność ma już znaczenie. Operator `++` jest typowym elementem składni wielu języków (C, C++, Java, JavaScript), więc dobrze go rozumieć. W nowoczesnym kodzie częściej używa się `let` lub `const` zamiast `var`, ale mechanizm inkrementacji i logowania do konsoli pozostaje taki sam. Podsumowując: po inkrementacji `x` ma wartość 11 i ta wartość jest wyświetlana w konsoli przeglądarki przez `console.log()` – dokładnie tak, jak wskazuje poprawna odpowiedź.

Pytanie 16

Który zapis CSS wyrówna tekst akapitu do PRAWEJ strony?

A.
<p style="align: right">tekst</p>
B.
<p style="font: right">tekst</p>
C.
<p style="text-align: right">tekst</p>
D.
<p style="position: right">tekst</p>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poziome wyrównanie tekstu ustawia właściwość <code><span class="code-variable">text-align</span></code>, więc <code><span class="code-keyword">text-align</span><span class="code-text">:</span> <span class="code-variable">right</span></code> dosuwa treść akapitu do prawej krawędzi. Dlatego poprawny jest zapis <code><span class="code-text">&lt;</span><span class="code-keyword">p</span> <span class="code-variable">style</span><span class="code-text">=</span><span class="code-string">"text-align: right"</span><span class="code-text">&gt;</span></code>.

Pytanie 17

Deklaracja <!DOCTYPE HTML> wskazuje, że dokument napisano w której wersji HTML?

A. 5
B. 7
C. 6
D. 4

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Deklaracja <code><span class="code-text">&lt;</span><span class="code-text">!</span><span class="code-variable">DOCTYPE</span> <span class="code-variable">HTML</span><span class="code-text">&gt;</span></code> - krótka, bez numeru wersji ani odwołania do DTD - to znak rozpoznawczy HTML5. Informuje przeglądarkę, że dokument korzysta z najnowszego standardu. Dlatego oznacza HTML w wersji 5.

Pytanie 18

Jakie dane zostaną wybrane po wykonaniu poniższej kwerendy na pokazanych rekordach?

SELECT id FROM samochody WHERE rocznik LIKE "2%4";

idmarkamodelrocznik
1FiatPunto2016
2FiatPunto2002
3FiatPunto2007
4OpelCorsa2016
5OpelAstra2003
6ToyotaCorolla2016
7ToyotaCorolla2014
8ToyotaYaris2004
A. Brak danych
B. Pole id równe 7 oraz 8
C. Tylko id równe 8
D. Wszystkie id

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest prawidłowa, ponieważ zapytanie SQL SELECT id FROM samochody WHERE rocznik LIKE '2_4'; filtruje rekordy, które mają w kolumnie rocznik wartość z drugą cyfrą równą '2' i czwartą cyfrą równą '4'. W złożonym zapytaniu SQL zastosowano operator LIKE z użyciem symbolu podkreślenia (_) jako symbolu zastępczego dla pojedynczego znaku. To oznacza, że szukamy dowolnego roku, który zaczyna się od cyfry '2', ma dowolną cyfrę na drugiej pozycji i cyfrę '4' na ostatniej pozycji. Praktycznie oznacza to, że wybierane są identyfikatory pojazdów, które mają rocznik odpowiadający temu wzorcowi. W dostarczonym zbiorze danych tylko rekordy o id 7 i 8 spełniają ten warunek, ponieważ rocznik to 2014 i 2004. Tego rodzaju konstrukcja SQL jest użyteczna w sytuacjach, gdy potrzebujemy selektywnie uzyskać dane na podstawie wzorców. Operator LIKE jest bardzo efektywny w analizie danych tekstowych w bazach danych np. w raportach analitycznych gdzie kluczowe jest wyszukiwanie na podstawie wzorców. Warto zaznaczyć, że takie podejście jest zgodne ze standardami SQL, ułatwiającymi zarządzanie i filtrowanie danych w złożonych systemach bazodanowych.

Pytanie 19

Jaką funkcję pełni program debugger?

A. analizy działającego programu w celu wykrycia błędów
B. interpretacji kodu w ramach wirtualnej maszyny Java
C. przekładania kodu napisanego w języku wyższego poziomu na język maszynowy
D. badania kodu źródłowego w celu wykrycia błędów składniowych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Debugger jest narzędziem, które pozwala na analizowanie i monitorowanie działania programów w trakcie ich wykonywania. Jego głównym celem jest lokalizacja błędów, co jest kluczowe w procesie programowania. Umożliwia on programiście śledzenie wartości zmiennych, monitorowanie stanu aplikacji oraz identyfikowanie momentów, w których występują błędy. Dobre praktyki wskazują, że regularne korzystanie z debuggersów w procesie developmentu przyczynia się do wczesnego wykrywania problemów, co z kolei redukuje koszty i czas potrzebny na naprawę. Na przykład, w przypadku aplikacji webowych, debugger może pomóc w analizie, dlaczego dany fragment kodu nie działa tak, jak oczekiwano, umożliwiając programiście zatrzymanie wykonania w konkretnym punkcie oraz sprawdzenie stanu aplikacji. Współczesne środowiska programistyczne, takie jak Visual Studio czy IntelliJ IDEA, oferują rozbudowane funkcje debugowania, które są nieocenione w codziennej pracy programisty.

Pytanie 20

Wynikiem działania algorytmu dla c = 3 jest liczba

Ilustracja do pytania
A. 12
B. 60
C. 24
D. 6

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź 24 wynika z dokładnego prześledzenia działania algorytmu krok po kroku. Algorytm najpierw wczytuje wartość c, potem ustawia zmienne: a = 1 oraz b = 2. Następnie sprawdza warunek b <= c + 1. Dla c = 3 mamy c + 1 = 4, więc pętla działa tak długo, jak b <= 4. Teraz iteracje: 1) b = 2, 2 <= 4 – warunek spełniony, więc wykonujemy a = a * b, czyli a = 1 * 2 = 2, potem zwiększamy b: b = 3. 2) b = 3, 3 <= 4 – znowu TAK, więc a = 2 * 3 = 6, b zwiększa się do 4. 3) b = 4, 4 <= 4 – nadal TAK, więc a = 6 * 4 = 24, b rośnie do 5. 4) b = 5, 5 <= 4 – warunek już fałszywy, wychodzimy z pętli i wypisujemy a, czyli 24. W praktyce ten algorytm oblicza iloczyn kolejnych liczb naturalnych od 2 do c+1, czyli w tym przypadku 2 * 3 * 4. To jest po prostu część silni: 4! = 1 * 2 * 3 * 4, tylko bez początkowego 1, więc wynik jest taki sam. Warto tu zauważyć dobry nawyk: inicjacja zmiennej a wartością 1 jest klasycznym wzorcem przy obliczaniu iloczynów (neutralny element mnożenia). Tego typu konstrukcje pętli z warunkiem porównującym do c+1 pojawiają się bardzo często w programowaniu – zarówno w algorytmach obliczających silnię, jak i przy różnego rodzaju iteracjach po zakresach, np. w JavaScript czy PHP. Z mojego doświadczenia dobrze jest zawsze rozpisać sobie kolejne kroki na kartce, szczególnie gdy warunek zawiera dodawanie lub odejmowanie, bo to właśnie tam najłatwiej o pomyłkę o jeden krok (tzw. błąd off-by-one).

Pytanie 21

W skrypcie PHP konieczne jest stworzenie cookie o nazwie owoce, które przyjmie wartość jabłko. Cookie powinno być dostępne przez jedną godzinę od momentu jego utworzenia. W tym celu w skrypcie PHP należy wykorzystać funkcję:

A. cookie("jabłko","owoce",3600);
B. setcookie("jabłko","owoce",time()+3600);
C. cookie("owoce","jabłko",3600);
D. setcookie("owoce","jabłko",time()+3600);

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja setcookie w PHP jest kluczowym narzędziem do zarządzania ciasteczkami, a w szczególności do ich tworzenia. W przypadku prawidłowej odpowiedzi, setcookie("owoce","jabłko",time()+3600) poprawnie ustawia nazwę ciasteczka na 'owoce', przypisując mu wartość 'jabłko'. Funkcja time() zwraca aktualny czas w sekundach od 1 stycznia 1970 roku, a dodanie 3600 do tej wartości ustawia czas wygaśnięcia ciasteczka na jedną godzinę od momentu jego utworzenia. Jest to standardowa praktyka, by zapewnić, że cookie będzie dostępne przez określony czas. W kontekście aplikacji webowych, cookies są często wykorzystywane do przechowywania informacji o preferencjach użytkowników, sesjach logowania czy koszykach zakupowych. Ważne jest, aby przy tworzeniu ciasteczek upewnić się, że nazwa i wartość są odpowiednio sformatowane, a czas wygaśnięcia jest zgodny z oczekiwaniami. Prawidłowe zarządzanie ciasteczkami przyczynia się do lepszej interakcji z użytkownikami oraz zwiększa wydajność aplikacji.

Pytanie 22

Zaprezentowano rezultat zastosowania CSS oraz odpowiadający mu kod HTML. W jaki sposób trzeba zdefiniować styl, aby uzyskać takie formatowanie?

Ilustracja do pytania
A. #first-letter { font-size: 400%; color: blue; }
B. p.first-letter { font-size: 400%; color: blue; }
C. .first-letter { font-size: 400%; color: blue; }
D. p::first-letter { font-size: 400%; color: blue; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest prawidłowa, ponieważ selektor CSS p::first-letter precyzyjnie określa, że stylizacja ma być zastosowana do pierwszej litery każdego akapitu, który jest oznaczony tagiem p. Jest to pseudo-element CSS, który umożliwia dostęp do pierwszej litery bloku tekstu w celu nadania jej unikalnego wyglądu. W tym przypadku zmieniono jej rozmiar na 400% oraz kolor na niebieski. Użycie ::first-letter jest zgodne z najlepszymi praktykami, gdyż pozwala na zachowanie semantyczności HTML i oddzielenie warstwy prezentacyjnej od treści, co jest kluczowe w responsywnym projektowaniu stron internetowych. Pseudo-elementy jak ::first-letter są niezwykle przydatne w tworzeniu estetycznych i czytelnych interfejsów użytkownika, zwłaszcza w przypadku publikacji zawierających dużo tekstu. Dobrą praktyką jest stosowanie pseudo-elementów w połączeniu z klasami i identyfikatorami, aby stylizacja była elastyczna i mogła być łatwo dostosowywana zgodnie z potrzebami projektu.

Pytanie 23

W skrypcie napisanym w języku PHP należy przeprowadzić operacje, gdy spełniony jest warunek, że adresy są parzystymi numerami na ulicach: Bratkowej oraz Nasturcjowej. Jakie wyrażenie logiczne to określa?

A. $ulica == "Bratkowa" && $ulica == "Nasturcjowa" && $numer % 2 == 0
B. ($ulica == "Bratkowa" || $ulica == "Nasturcjowa") && $numer % 2 == 0
C. $ulica == "Bratkowa" && $ulica == "Nasturcjowa" && $numer / 2 == 0
D. ($ulica == "Bratkowa" || $ulica == "Nasturcjowa") && $numer / 2 == 0

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wyrażenie logiczne ($ulica == "Bratkowa" || $ulica == "Nasturcjowa") && $numer % 2 == 0 jest poprawne, ponieważ łączy dwa istotne warunki: sprawdzenie, czy ulica jest jedną z dozwolonych (Bratkowa lub Nasturcjowa) oraz weryfikacja, czy numer adresu jest parzysty. Operator || (lub) skutkuje tym, że tylko jeden z warunków ulicy musi być prawdziwy, aby wyrażenie było spełnione. Z kolei operator % (modulo) skutkuje sprawdzeniem reszty z dzielenia przez 2, co jest standardowym podejściem do ustalania, czy liczba jest parzysta. W kontekście programowania w PHP, takie konstrukcje są powszechnie używane w celu walidacji danych wejściowych. Na przykład w formularzach rejestracyjnych, aby upewnić się, że użytkownik wprowadza prawidłowe informacje, można zastosować podobne wyrażenia. Warto również zauważyć, że jest to zgodne z dobrymi praktykami programowania, które zachęcają do stosowania czytelnych i zrozumiałych warunków logicznych, co ułatwia późniejsze utrzymanie kodu i jego rozbudowę.

Pytanie 24

Które polecenie MySQL porządkuje tabelę i odzyskuje miejsce zajmowane przez usunięte wcześniej wiersze?

A.
ANALYZE TABLE
B.
MODIFY TABLE
C.
OPTIMIZE TABLE
D.
UPDATE TABLE

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Po wielu operacjach usuwania i aktualizacji tabela bywa pofragmentowana i zajmuje więcej miejsca, niż potrzeba. Polecenie <code><span class="code-variable">OPTIMIZE</span> <span class="code-keyword">TABLE</span></code> porządkuje ją: reorganizuje dane i indeksy oraz zwalnia nieużywaną przestrzeń, co bywa też korzystne dla wydajności. Dlatego do uporządkowania tabeli i odzyskania miejsca służy <code><span class="code-variable">OPTIMIZE</span> <span class="code-keyword">TABLE</span></code>.

Pytanie 25

Który z poniższych fragmentów kodu HTML5 zostanie uznany za niepoprawny przez walidator HTML?

A. <pre>&lt;p class= &quot;stl&quot;&gt;tekst&lt;/p&gt;</pre>
B. <pre>&lt;p class= &quot;stl&quot; style= &quot;color: #F00 &quot;&gt;tekst&lt;/p&gt;</pre>
C. <pre>&lt;p class= &quot;stl&quot;&gt;&lt;style&gt;.a{color:#F00}&lt;/style&gt;tekst&lt;/p&gt;</pre>
D. <pre>&lt;p class= &quot;stl&quot; id= &quot;a&quot;&gt;tekst&lt;/p&gt;</pre>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź, która została wskazana jako błędna, jest przykładem kodu HTML5, który nie spełnia standardów walidacji, ponieważ zawiera tag &lt;style&gt; wewnątrz tagu &lt;p&gt;. Zgodnie z wytycznymi HTML, tag &lt;style&gt; powinien znajdować się w sekcji &lt;head&gt; dokumentu, a nie w treści. Wstawianie stylów CSS bezpośrednio w treści elementu blokowego jest niepraktyczne i niezgodne z dobrymi praktykami, które zalecają separację treści od prezentacji. Dobrą praktyką jest stosowanie arkuszy stylów CSS do zewnętrznego formatowania dokumentów, aby zwiększyć ich dostępność i ułatwić późniejsze modyfikacje. Przykładowo, zamiast używać tagu &lt;style&gt; wewnątrz &lt;p&gt;, należy zdefiniować style w sekcji &lt;head&gt; lub w zewnętrznym pliku CSS, a następnie odwołać się do tych klas w treści dokumentu. W ten sposób utrzymujemy porządek w kodzie i zapewniamy, że będzie on zgodny z zaleceniami W3C, co przekłada się na lepszą kompatybilność z przeglądarkami i urządzeniami. Zatem, poprawne podejście polega na unikalnym zarządzaniu stylami oraz treściami, co jest kluczowe dla efektywnego tworzenia stron internetowych.

Pytanie 26

Który efekt został zaprezentowany na filmie?

A. Zwiększenie ostrości zdjęcia.
B. Przenikanie zdjęć.
C. Zmniejszenie kontrastu zdjęcia.
D. Zmiana jasności zdjęć.

Brak odpowiedzi na to pytanie.

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

Pytanie 27

Testy związane ze skalowalnością aplikacji mają na celu zweryfikowanie, czy program

A. jest właściwie opisany w dokumentacji
B. jest w stanie funkcjonować przy zaplanowanym i większym obciążeniu
C. posiada odpowiednie funkcje
D. jest chroniony przed nieautoryzowanymi działaniami, np. dzieleniem przez zero

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź mówiąca o tym, że aplikacja potrafi działać przy zakładanym i większym obciążeniu, jest kluczowa, gdyż skalowalność oprogramowania odnosi się do zdolności systemu do efektywnego działania w warunkach wzrastającego zapotrzebowania na zasoby. Oznacza to, że aplikacja powinna być w stanie obsługiwać rosnącą liczbę użytkowników, transakcji lub innych operacji bez degradacji wydajności. Przykładem może być system e-commerce, który w okresie wyprzedaży musi obsługiwać znacznie więcej użytkowników niż w normalnych okolicznościach. Aby zapewnić skalowalność, programiści mogą wykorzystywać różne architektury, takie jak mikroserwisy, które pozwalają na niezależne skalowanie poszczególnych komponentów aplikacji. Dobre praktyki obejmują również wykorzystanie chmurowych rozwiązań, takich jak AWS czy Azure, które oferują elastyczność i automatyczne skalowanie w odpowiedzi na wzrost obciążenia. Warto także wdrażać mechanizmy monitorowania i optymalizacji wydajności, aby na bieżąco dostosowywać zasoby do potrzeb użytkowników.

Pytanie 28

Jakiego polecenia SQL należy użyć, aby usunąć z tabeli artykuly wiersze, które zawierają słowo "sto" w dowolnej lokalizacji pola tresc?

A. DELETE * FROM artykuly WHERE tresc LIKE "%sto%";
B. DELETE * FROM artykuly WHERE tresc = "%sto%";
C. DELETE FROM artykuly WHERE tresc = "%sto%";
D. DELETE FROM artykuly WHERE tresc LIKE "%sto%";

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to 'DELETE FROM artykuly WHERE tresc LIKE "%sto%";'. To polecenie SQL używa operatora LIKE, który pozwala na wyszukiwanie wzorców w danych tekstowych. Użycie znaków procentowych '%' jako symboli wieloznacznych umożliwia odnalezienie ciągów, w których słowo 'sto' występuje w dowolnym miejscu w kolumnie 'tresc'. W praktyce, tego rodzaju zapytanie jest niezwykle przydatne podczas zarządzania dużymi bazami danych, gdzie często zachodzi potrzeba filtrowania danych na podstawie ich zawartości. Zastosowanie tego polecenia jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi, ponieważ precyzyjnie określa, które wpisy mają zostać usunięte, minimalizując ryzyko przypadkowego usunięcia niewłaściwych danych. Warto znać i rozumieć różnice pomiędzy operatorami '=' a 'LIKE', ponieważ operator '=' wymaga dokładnego dopasowania, co w wielu przypadkach nie jest wystarczające do uzyskania pożądanych wyników. Przykładem może być sytuacja, gdy w kolumnie 'tresc' znajdują się artykuły zawierające słowo 'sto' w kontekście 'stołek', a operator '=' nie byłby w stanie ich zidentyfikować.

Pytanie 29

W SQL wykonano poniższe instrukcje GRANT. Kto będzie miał prawa do przeglądania oraz modyfikacji danych?

GRANT ALL ON firmy TO 'admin'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@'localhost';
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. Tomasz i Anna
B. Adam i Anna
C. Tylko Tomasz
D. Tomasz i Adam

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź to Tylko Tomasz ponieważ polecenie GRANT SELECT INSERT UPDATE ON firmy TO 'tomasz'@'localhost' przyznaje Tomaszowi uprawnienia do przeglądania danych i ich zmiany w bazie danych firmy. Uprawnienia SELECT INSERT i UPDATE są wystarczające do przeglądania i modyfikowania danych. SELECT pozwala na odczyt danych z tabeli INSERT umożliwia dodawanie nowych rekordów a UPDATE pozwala na modyfikację istniejących danych. To przyznaje Tomaszowi pełną kontrolę nad przeglądaniem i aktualizacją danych. Inni użytkownicy jak Anna czy Adam nie posiadają wszystkich tych uprawnień. Anna ma jedynie uprawnienia ALTER CREATE i DROP co pozwala na zmianę struktury bazy danych ale nie na przeglądanie i edytowanie danych. Zrozumienie tych różnic jest kluczowe w administracji bazami danych gdyż precyzyjne zarządzanie uprawnieniami użytkowników zapewnia bezpieczeństwo danych i efektywność działania systemu. Tomasz dzięki przyznanym uprawnieniom może efektywnie zarządzać danymi co jest ważnym aspektem w kontekście zarządzania bazami danych w organizacji.

Pytanie 30

Na stronie www znajduje się formularz, do którego należy zaimplementować następujące funkcje: walidacja: podczas wypełniania formularza w czasie rzeczywistym sprawdzana jest poprawność danych, oraz przesyłanie danych: po wypełnieniu formularza i jego zatwierdzeniu informacje są przesyłane do bazy danych na serwerze. Aby wprowadzić tę funkcjonalność w najprostszy sposób, trzeba zapisać

A. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
B. walidację i przesyłanie danych w języku JavaScript
C. walidację i przesyłanie danych w języku PHP
D. walidację w skrypcie PHP, a przesyłanie danych w JavaScript

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zdecydowanie dobrze to ogarnąłeś! Walidacja danych w JavaScript oraz przesyłanie ich w PHP to naprawdę dobry pomysł, jeśli chodzi o tworzenie formularzy online. Dzięki walidacji po stronie klienta, możesz natychmiast zareagować na błędy. To znaczy, że jak ktoś wpisze coś nie tak, to od razu dostaje informację, że np. e-mail jest w złym formacie albo jakieś pole jest puste. Używanie 'addEventListener' do śledzenia zdarzeń 'input' w polach formularza to świetny sposób, żeby poprawić doświadczenie użytkowników. Co więcej, dzięki temu nie obciążasz serwera, bo niepoprawne dane nie są w ogóle przesyłane. A jeśli chodzi o PHP, to super, że wspomniałeś o przesyłaniu danych po stronie serwera. PHP ma dostęp do bazy danych, więc dane mogą być tam bezpieczne i dobrze przetwarzane. Użycie PHP przy obsłudze formularzy to standard, dzięki któremu twoja aplikacja będzie stabilna i bezpieczna.

Pytanie 31

W JavaScript poprawnie zdefiniowana zmienna to

A. imie2
B. #imie
C. imię2
D. imię%

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'imie2' jest prawidłowa, ponieważ spełnia wszystkie zasady dotyczące nazewnictwa zmiennych w języku JavaScript. Zgodnie z tymi zasadami, nazwy zmiennych mogą zaczynać się od litery (a-z, A-Z), znaku podkreślenia (_) lub znaku dolara ($). Następnie, dozwolone są litery, cyfry (0-9), znaki podkreślenia oraz znaki dolara. Nazwa 'imie2' jest zgodna z tymi zasadami, ponieważ zaczyna się od litery, a następnie zawiera cyfrę, co jest akceptowalne. Przykładowo, dobra praktyka w programowaniu polega na nadawaniu zmiennym nazw związanych z ich przeznaczeniem, na przykład 'userAge' dla wieku użytkownika. Warto pamiętać, że unikanie użycia polskich znaków oraz specjalnych symboli w nazwach zmiennych, takich jak znaki procentu czy hashtagi, zwiększa czytelność i przenośność kodu, szczególnie w międzynarodowych projektach. Dobra praktyka sugeruje również używanie camelCase, co ułatwia identyfikację zmiennych w większych projektach.

Pytanie 32

Który z podanych kodów XHTML sformatuje tekst zgodnie z określonym schematem?

Ilustracja do pytania
A. Odpowiedź B
B. Odpowiedź C
C. Odpowiedź D
D. Odpowiedź A

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź D zawiera poprawne znaczniki XHTML i HTML, które umożliwiają formatowanie tekstu według wzoru. W pierwszym wierszu tekst Ala ma kota używa znacznika b do pogrubienia słowa kota, co jest zgodne ze standardami, ponieważ b jest szeroko stosowanym tagiem HTML do semantycznego pogrubienia tekstu. Następnie użyty jest znacznik br do wstawienia przerwy w linii, co sprawia, że kolejna część tekstu pojawia się w nowej linii, odzwierciedlając układ zaprezentowany na obrazku. W drugim wierszu tekst a kot ma Alę, znacznik i został użyty do pochylania słowa kot, co jest zgodne z praktykami formatowania tekstu, gdzie i oznacza kursywę. Zamknięcie całego tekstu w znacznikach p paragrafu zapewnia również odpowiedni odstęp i formatowanie, co jest zgodne z semantycznym i strukturalnym organizowaniem treści w dokumencie XHTML. Podejście to odzwierciedla dobre praktyki kodowania, w tym stosowanie właściwych znaczników dla odpowiednich stylów oraz zapewnienie kompatybilności z różnymi przeglądarkami.

Pytanie 33

Które z wymienionych stwierdzeń na temat zasad programowania w PHP jest prawdziwe?

A. Nazwy zmiennych poprzedza znak !
B. W nazwach zmiennych nie rozróżnia się wielkości liter
C. Deklaracja zmiennych następuje po słowie var
D. Jest to język o słabej kontroli typów

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
PHP jest językiem o słabej kontroli typów, co oznacza, że zmienne mogą zmieniać swój typ w trakcie działania programu, co nie jest typowe dla języków o silnej kontroli typów. Na przykład, w PHP możemy przypisać do zmiennej wartość liczbową, a następnie tę samą zmienną nadpisać tekstem. To daje programistom dużą elastyczność, jednak wymaga również ostrożności, aby unikać błędów związanych z nieoczekiwanym typem danych. W praktyce oznacza to, że programiści muszą być czujni na typy danych, aby nie wprowadzać błędów, które mogą prowadzić do trudnych do zdiagnozowania błędów w kodzie. Zasady projektowania w PHP zachęcają do stosowania funkcji typu is_int(), is_string() i innych, aby upewnić się, że zmienne mają oczekiwany typ przed ich użyciem. Współczesne standardy programowania, takie jak PHP-FIG, promują dobre praktyki kodowania, które mogą pomóc zminimalizować problemy związane z dynamiczną typizacją.

Pytanie 34

Jaki typ danych w PHP oznacza float?

A. całkowity
B. łańcuchowy
C. logiczny
D. zmiennoprzecinkowy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Typ <code><span class="code-variable">float</span></code> w PHP oznacza liczbę ZMIENNOPRZECINKOWĄ (rzeczywistą), czyli z częścią ułamkową, np. <code><span class="code-number">3.14</span></code>. Część dziesiętną zapisuje się kropką. Dlatego <code><span class="code-variable">float</span></code> to typ zmiennoprzecinkowy.

Pytanie 35

Którego atrybutu użyć, aby scalić w PIONIE dwie sąsiednie komórki tabeli?

A.
rowspan
B.
colspan
C.
cellpadding
D.
cellspacing

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Komórki tabeli scala się dwoma atrybutami: poziomo <code><span class="code-variable">colspan</span></code>, a pionowo <code><span class="code-variable">rowspan</span></code>. Zapis <code><span class="code-variable">rowspan</span><span class="code-text">=</span><span class="code-string">"2"</span></code> sprawia, że komórka rozciąga się na dwa wiersze, „wchłaniając” komórkę poniżej - dzięki temu np. jeden nagłówek może obejmować kilka rzędów tabeli. Dlatego do scalania w pionie służy <code><span class="code-variable">rowspan</span></code>.

Pytanie 36

W języku PHP do zmiennej a przypisano ciąg znaków, w którym wielokrotnie pojawia się słowo Kowalski. Aby jednym poleceniem wymienić w zmiennej a wszystkie wystąpienia słowa Kowalski na słowo Nowak, należy użyć polecenia

A. $a = str_rep('Kowalski', 'Nowak', $a);
B. $a = str_replace('Nowak', 'Kowalski', $a);
C. $a = str_replace('Nowak', 'Kowalski');
D. $a = str_replace('Kowalski', 'Nowak', $a);

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź $a = str_replace('Kowalski', 'Nowak', $a); jest jak najbardziej trafna. Funkcja str_replace w PHP działa tak, że zamienia wszystkie wystąpienia jednego ciągu znaków na inny w danym tekście. W tym przypadku zastępujemy 'Kowalski' słowem 'Nowak'. To działa tak, że jak masz tekst 'Jan Kowalski i Anna Kowalski' w zmiennej $a, po wykonaniu tego kodu $a zmieni się na 'Jan Nowak i Anna Nowak'. Tego typu operacje są naprawdę przydatne w PHP, zwłaszcza gdy zajmujemy się danymi, które musimy zmieniać lub aktualizować, na przykład w aplikacjach internetowych. Pamiętaj, żeby używać takich funkcji w odpowiednich miejscach, bo operacje na dużych zbiorach danych mogą być wymagające.

Pytanie 37

Która z zasad walidacji strony internetowej jest nieprawidłowa?

A. Wyłączanie tagów musi następować w odwrotnej sekwencji do ich włączenia, np. ```<p> ... <big>...</big></p>```
B. Tagi, poza samozamykającymi się, funkcjonują do momentu ich wyłączenia znakiem "/", np. ```<p> ..</p>```
C. W tagach nie jest brana pod uwagę różnica między dużymi a małymi literami, np. ```<p>``` i ```<P>``` to ten sam tag.
D. Jeżeli w poleceniu występuje kilka atrybutów, ich kolejność powinna być uporządkowana alfabetycznie np. ```<img alt="..." src="/.."/>```

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź dotycząca kolejności atrybutów w znacznikach HTML jest poprawna, ponieważ nie ma wymogu, aby atrybuty w znacznikach były uporządkowane alfabetycznie. W rzeczywistości, HTML pozwala na dowolną kolejność atrybutów, co czyni tę regułę błędną. Przykładowo, znacznik <img src="/path/to/image.jpg" alt="Opis obrazu" /> jest poprawny niezależnie od kolejności atrybutów. Ważne jest, aby atrybuty były odpowiednio używane w kontekście ich przeznaczenia, a nie w kontekście kolejności alfabetycznej. Dobrą praktyką jest również stosowanie atrybutów w sposób, który zwiększa czytelność kodu, jednak nie jest to wymóg techniczny. Zgodnie z zaleceniami W3C, kluczowym aspektem jest poprawność semantyczna i zgodność ze standardami, a nie kolejność atrybutów.

Pytanie 38

W JavaScript zdarzenie onKeydown zostanie wywołane, gdy klawisz

A. myszki został naciśnięty
B. klawiatury został naciśnięty
C. klawiatury został zwolniony
D. myszki został zwolniony

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zdarzenie onKeydown w JavaScript jest wywoływane, gdy użytkownik naciśnie klawisz na klawiaturze. To fundamentalne zdarzenie jest często wykorzystywane w aplikacjach webowych do obsługi interakcji użytkowników, takich jak wprowadzanie danych czy nawigacja po formularzach. W momencie naciśnięcia klawisza, przeglądarka emituje to zdarzenie, co pozwala programistom na reagowanie na konkretne akcje. Na przykład, jeśli chcemy stworzyć prostą grę opartą na ruchu postaci, możemy wykorzystać onKeydown do wykrywania klawiszy strzałek i poruszania postacią w odpowiednich kierunkach. Warto również zauważyć, że onKeydown różni się od onKeyup, które jest wywoływane, gdy klawisz jest zwolniony, co ma znaczenie w przypadku obsługi sekwencji klawiszy oraz klawiszy modyfikujących, takich jak Shift czy Ctrl. Zrozumienie tych różnic jest kluczowe dla tworzenia responsywnych i interaktywnych aplikacji webowych, zgodnych z najlepszymi praktykami programowania.

Pytanie 39

Definicja stylu zaprezentowana w CSS odnosi się do odsyłacza, który

a:visited {color: orange;}
A. jeszcze nie był odwiedzony
B. wskaźnik myszy znajduje się nad nim
C. został wcześniej odwiedzony
D. posiada błędny adres URL

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "został wcześniej odwiedzony" jest prawidłowa, ponieważ definicja stylu CSS `a:visited {color: orange;}` dotyczy odsyłaczy, które zostały już odwiedzone przez użytkownika. W CSS pseudo-klasa `:visited` jest stosowana do stylizacji odsyłaczy, które prowadzą do stron, które użytkownik już otworzył. Dzięki tej możliwości, twórcy stron internetowych mogą wprowadzać różne kolory dla odwiedzonych i nieodwiedzonych linków, co pozwala na szybszą orientację użytkowników w treści strony. Na przykład, jeżeli na stronie znajduje się wiele linków, użytkownik może łatwiej zrozumieć, które z nich już kliknął, a które są nowe. Dobrą praktyką jest stosowanie kontrastowych kolorów dla odsyłaczy, aby zwiększyć ich dostępność i użyteczność. Warto również zauważyć, że przeglądarki mogą mieć różne ograniczenia dotyczące stylizacji odwiedzonych linków, co jest podyktowane względami prywatności użytkowników. Z tego powodu zaleca się, aby nie opierać funkcjonalności strony jedynie na wyglądzie odwiedzonych linków.

Pytanie 40

W formularzu wartość z pola input o typie number została przypisana do zmiennej a, a następnie przetworzona w skrypcie JavaScript w sposób poniższy

var x = parseInt(a);

Jakiego typu jest zmienna x?

A. NaN
B. napisowego.
C. zmiennoprzecinkowego.
D. liczbowe, całkowite.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "liczbowego, całkowitego" jest poprawna, ponieważ funkcja <span>parseInt()</span> w JavaScript konwertuje argument na liczbę całkowitą. Kiedy zmienna <span>a</span> zawiera wartość z pola <span>input</span> o typie <span>number</span>, to ta wartość jest już reprezentacją liczby, co oznacza, że <span>parseInt()</span> przyjmuje ją jako argument i zwraca wartość liczbową całkowitą. Przykładowo, jeżeli użytkownik wprowadzi 42, to <span>parseInt(42)</span> zwróci 42 jako liczbę całkowitą. Dobrą praktyką jest używanie <span>parseInt()</span> z drugim argumentem, który określa system liczbowy (np. <span>parseInt(a, 10)</span>), co zapobiega niejednoznaczności w interpretacji liczby. Warto również pamiętać, że w przypadku, gdy wartość wprowadzona do <span>a</span> nie jest liczbą całkowitą, <span>parseInt()</span> nadal zwróci liczbę całkowitą, obcinając część dziesiętną (np. <span>parseInt(4.9)</span> zwróci 4). Dlatego w kontekście powyższego pytania, zmienna <span>x</span> przyjmuje typ liczbowy, całkowity.