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: 4 sierpnia 2026 15:43
  • Data zakończenia: 4 sierpnia 2026 16:14

Egzamin niezdany

Wynik: 19/40 punktów (47,5%)

Wymagane minimum: 20 punktów (50%)

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

Której wartości użyć w CSS, aby obramowanie było linią KRESKOWĄ?

A.
solid
B.
groove
C.
dashed
D.
dotted
Styl obramowania ustawia border-style. Wartość dashed rysuje ramkę linią KRESKOWĄ (z krótkich kresek). Dlatego linię przerywaną kreskową daje dashed.

Pytanie 2

Skrypt napisany w języku JavaScript wylicza cenę promocyjną dla swetrów w kolorach: zielonym i niebieskim (zmienna kolor) przy zakupach powyżej 200 zł (zmienna zakupy). Warunek do obliczeń powinien być sformułowany za pomocą wyrażenia logicznego?

A. zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')
B. zakupy > 200 || kolor == 'zielony' || kolor == 'niebieski'
C. zakupy > 200 || (kolor == 'zielony' && kolor == 'niebieski')
D. zakupy > 200 && kolor == 'zielony' && kolor == 'niebieski'
Poprawna odpowiedź to "zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')". Wyrażenie to jest zgodne z logiką obliczeń cen promocyjnych. Użycie operatora koniunkcji (&&) wskazuje, że oba warunki muszą być spełnione, aby cena promocyjna mogła być zastosowana. Po pierwsze, wartość zakupów musi przekraczać 200 zł, co jest kluczowym warunkiem, aby móc skorzystać z promocji. Po drugie, kolor swetra musi być jednym z dozwolonych, czyli zielonym lub niebieskim, co zostało zrealizowane za pomocą operatora alternatywy (||). Używając nawiasów, wyraźnie wskazujemy, że sprawdzenie koloru jest niezależne od warunku dotyczącego wartości zakupów. Taka konstrukcja jest zgodna z dobrą praktyką programistyczną, zapewniając czytelność i ułatwiając późniejszą modyfikację kodu. W kontekście praktycznym, można zastosować tę logikę w aplikacjach e-commerce, gdzie dynamiczne obliczenia cen promocyjnych w zależności od różnych kryteriów są powszechne. Przykładowo, przy dodawaniu nowych kolorów lub zmieniając próg zakupów, wystarczy jedynie edytować odpowiednie warunki, co czyni kod bardziej elastycznym i łatwym do zarządzania.

Pytanie 3

Wskaż styl CSS za pomocą którego został uzyskany przedstawiony efekt.

  • psy
  • koty
  • chomiki
  • świnki morskie
  • rybki
A. ul li:hover { background-color: DodgerBlue; }
B. ul li:active { background-color: DodgerBlue; }
C. ul li:nth-child(even) { background-color: DodgerBlue; }
D. ul li:nth-child(odd) { background-color: DodgerBlue; }
Wybrane przez Ciebie odpowiedzi są nieprawidłowe. Zacznijmy od selektora CSS 'ul li:active { background-color: DodgerBlue; }' - aktywny stan elementu to moment, kiedy jest on aktualnie klikany, co nie pasuje do obserwowanego efektu. Następnie 'ul li:nth-child(odd) { background-color: DodgerBlue; }' - ten selektor odnosi się do nieparzystych elementów listy, podczas gdy na obrazku parzyste elementy mają niebieskie tło. Na koniec 'ul li:hover { background-color: DodgerBlue; }' - pseudoklasa :hover odnosi się do stanu, kiedy kursor myszy jest nad elementem, co również nie jest zgodne z efektem na obrazku. Wybór nieodpowiedniej pseudoklasy sugeruje, że nie zrozumiałeś do końca ich zastosowania w CSS. Jest to typowy błąd, który można naprawić przez dokładniejsze zapoznanie się z tym aspektem języka CSS, konkretnie z różnymi pseudoklasami i ich zastosowaniem.

Pytanie 4

Formaty wideo, które są wspierane przez standard HTML5, to

A. Ogg, QuickTime
B. MP4, Ogg, WebM
C. MP4, AVI
D. Ogg, AVI, MPEG
Odpowiedź MP4, Ogg, WebM jest poprawna, ponieważ te trzy formaty wideo są oficjalnie obsługiwane przez standard HTML5, co oznacza, że są zgodne z różnymi przeglądarkami internetowymi bez potrzeby używania dodatkowych wtyczek. Format MP4, oparty na kontenerze MPEG-4, jest szeroko stosowany z uwagi na jego efektywność w kompresji oraz wysoką jakość obrazu i dźwięku. Ogg to otwarty format, który wspiera kodek VP8, co czyni go popularnym wśród projektów o otwartym oprogramowaniu. WebM, z kolei, jest również formatem otwartym, zoptymalizowanym dla wideo w Internecie, co czyni go dobrym wyborem dla zastosowań webowych. Te formaty są zgodne z najlepszymi praktykami w zakresie wydajności i dostępności, co sprawia, że są preferowane podczas tworzenia treści wideo do zastosowań online. Przykładem ich użycia może być osadzanie wideo na stronach internetowych, gdzie różnorodność formatów pozwala na ich odtwarzanie na różnych urządzeniach oraz w różnych systemach operacyjnych.

Pytanie 5

W tabeli artykuly (kolumna cena) chcemy wybrać artykuły, których cena NIE mieści się w przedziale od 1000 do 1500 zł. Którego warunku WHERE należy użyć?

A.
cena BETWEEN 1000 AND 1500
B.
cena < 1000 AND cena > 1500
C.
cena NOT BETWEEN 1000 AND 1500
D.
cena NOT IN (1000, 1500)
Aby wybrać wartości spoza zakresu, używa się NOT BETWEEN dolna AND górna. Warunek cena NOT BETWEEN 1000 AND 1500 zwróci artykuły tańsze niż 1000 lub droższe niż 1500 zł. To zwięzły odpowiednik cena < 1000 OR cena > 1500. Dlatego poprawny jest NOT BETWEEN.

Pytanie 6

Jak należy poprawnie udokumentować wzorzec weryfikacji dla pola nazwa w kodzie aplikacji JavaScript?

Ilustracja do pytania
A. /* Pole nazwa powinno składać się w tej kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i ciągu małych liter. */
B. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i dużych liter. */
C. /* Pole nazwa musi składać się w tej kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużych liter i dwóch małych liter. */
D. /* Pole nazwa może zawierać dowolny ciąg cyfr (z wyłączeniem 0), następnie musi zawierać dużą literę i ciąg minimum dwóch małych liter. */
Niepoprawne odpowiedzi zakładają niewłaściwą interpretację wymagań dotyczących wzorca walidacji. Pierwsza opcja sugeruje że pole 'nazwa' może składać się z dowolnych cyfr i liter co nie uwzględnia wymogu specyficznej kolejności i liczby znaków co może prowadzić do wprowadzenia nieprawidłowych danych. Taki brak restrykcji mógłby skutkować potencjalnymi lukami w zabezpieczeniach aplikacji. Inna odpowiedź zakłada że po cyfrze musi wystąpić duża litera a następnie ciąg małych liter co nie spełnia wymogu co najmniej dwóch małych liter. Podejście to ignoruje szczegółowe wymagania dotyczące liczby małych liter w końcowej części ciągu. Kolejne błędne założenie mówi o konieczności posiadania dwóch małych liter ale nie wymaga dużej litery co również jest sprzeczne ze wzorcem przedstawionym w zadaniu. Częstym błędem jest nieuwzględnianie pełnej struktury wzorca co powoduje że walidacja jest niekompletna i potencjalnie niewystarczająca do zapewnienia integralności danych. Prawidłowe użycie wyrażeń regularnych wymaga szczegółowego zrozumienia zarówno składni jak i logiki stojącej za walidacją danych aby skutecznie zabezpieczyć aplikację przed nieprawidłowymi wpisami które mogą wpłynąć na jej funkcjonalność i bezpieczeństwo. Zrozumienie zasad poprawnej walidacji jest kluczowym elementem w procesie tworzenia bezpiecznych i niezawodnych aplikacji webowych.

Pytanie 7

W języku CSS określono styl dla pola edycyjnego. Pole to będzie miało jasnozielony kolor tła, gdy będzie w trybie edycji.

A. jeśli jest to pierwsze wystąpienie tego elementu w dokumencie.
B. w każdej sytuacji.
C. gdy będzie na nie najechane kursorem bez kliknięcia.
D. po naciśnięciu na nie myszką w celu wpisania tekstu.
Odpowiedź "po kliknięciu myszą w celu zapisania w nim tekstu" jest prawidłowa, ponieważ reguła CSS <pre>input:focus { background-color: LightGreen; }</pre> odnosi się do stanu "focus" elementu formularza, który występuje, gdy pole edycyjne jest aktywne. To znaczy, że użytkownik musi kliknąć na pole, aby je aktywować, co pozwala na wprowadzenie danych. W momencie, gdy pole ma stan "focus", jego tło zmienia się na jasnozielone, co jest pomocne dla użytkowników, aby zidentyfikować, które pole aktualnie edytują. To zachowanie jest zgodne z dobrymi praktykami projektowania interfejsów użytkownika, które promują klarowność i intuicyjność. Dzięki zastosowaniu kolorów i wizualnych wskazówek, użytkownicy mogą łatwiej poruszać się po formularzach, co zwiększa ich efektywność. Ponadto, stosowanie takich reguł CSS jest zgodne z zaleceniami WCAG (Web Content Accessibility Guidelines), które składają się z wytycznych dotyczących dostępności treści internetowych, co sprawia, że aplikacje są bardziej przyjazne dla użytkowników z różnymi potrzebami.

Pytanie 8

Do poprawnego wyświetlania czego służy standard kodowania ISO-8859-2?

A. polskich liter (ś, ć, ń, ó, ą)
B. symboli matematycznych
C. znaków specjalnych języka kodu strony
D. znaków zarezerwowanych języka opisu strony
Standard kodowania ISO-8859-2 (Latin-2) zawiera znaki języków Europy Środkowej, w tym polskie litery diakrytyczne (ś, ć, ń, ó, ą). Dlatego służy do poprawnego wyświetlania polskich liter.

Pytanie 9

<form>
  <input type="email" id="addr" required>
  <input type="submit" value="Zapisz">
</form>
Na podstawie przedstawionego kodu formularza HTML można powiedzieć, że pole edycyjne:
A. nie powinno zawierać znaków numerycznych.
B. może być puste.
C. nie może być puste i wymaga wpisania tekstu ze znakiem @.
D. wymaga wpisania jedynie znaków alfanumerycznych.
W tym fragmencie kodu HTML masz dwa bardzo ważne atrybuty: type="email" oraz required. To właśnie one razem powodują, że poprawna jest odpowiedź, że pole nie może być puste i wymaga wpisania tekstu ze znakiem @.

Atrybut required oznacza, że pole jest obowiązkowe. Przeglądarka, zgodnie ze specyfikacją HTML5, nie pozwoli wysłać formularza, dopóki pole nie będzie wypełnione. Użytkownik kliknie przycisk „Zapisz”, a formularz po prostu się nie wyśle – pojawi się komunikat walidacyjny po stronie przeglądarki. To jest tzw. walidacja po stronie klienta, domyślnie wbudowana w HTML.

Z kolei type="email" uruchamia specjalny mechanizm sprawdzania formatu wpisanego tekstu. Przeglądarka sprawdza, czy ciąg znaków wygląda jak adres e‑mail: musi zawierać co najmniej znak @ i jakąś część przed i po nim. To nie jest super zaawansowana walidacja, ale wystarcza jako pierwszy filtr, np. "[email protected]" przejdzie, a "jan.domena.pl" już nie. Moim zdaniem to bardzo wygodne, bo nie trzeba od razu pisać własnego JavaScriptu tylko po to, żeby odsiać oczywiste błędy.

W praktyce w aplikacjach webowych zwykle łączy się tę prostą walidację HTML5 z dodatkowymi sprawdzeniami po stronie serwera (np. w PHP czy w innym backendzie), bo dane z formularza zawsze trzeba traktować z ograniczonym zaufaniem. Dobrym nawykiem jest też dodanie atrybutu name, np. name="email", żeby serwer mógł poprawnie odebrać wartość pola.

Warto też wiedzieć, że niektóre przeglądarki mobilne, gdy widzą type="email", podpowiadają użytkownikowi specjalną klawiaturę z łatwym dostępem do znaku @ i kropki, co realnie poprawia wygodę wpisywania adresu. To taki mały szczegół, ale w profesjonalnych projektach UX ma znaczenie. Podsumowując: required blokuje puste wysłanie formularza, a type="email" wymusza poprawny, podstawowy format adresu ze znakiem @ – dokładnie to opisuje poprawna odpowiedź.

Pytanie 10

<?php  
$pi = 3.14;
var_dump($pi);
?>
Jakie będzie wyjście po wykonaniu przedstawionego kodu PHP?
A. int(314)
B. object(3.14)
C. float(3.14)
D. string(3)
Wynikiem działania kodu PHP nie mogą być wartości wskazane w pozostałych odpowiedziach, ponieważ każda z nich odnosi się do innego typu danych, co jest sprzeczne z zachowaniem PHP w kontekście definicji zmiennych. Odpowiedź sugerująca 'int(314)' myli pojęcie liczby całkowitej z liczbą zmiennoprzecinkową. Wartości zmiennoprzecinkowe w PHP są przechowywane z określoną precyzją, a próba konwersji wartości 3.14 do typu całkowitego skutkuje obcięciem wartości do 3, co w tym przypadku nie ma miejsca, ponieważ $pi jest zdefiniowane jako float. Z kolei odpowiedź 'string(3)' sugeruje, że zmienna \$pi jest traktowana jako ciąg znaków, co również jest błędne; float 3.14 nie jest konwertowane na string bezpośrednio, a var_dump() wskazuje typ zmiennej. Innym błędnym podejściem jest opcja 'object(3.14)', co wprowadza w błąd poprzez sugerowanie, że liczba zmiennoprzecinkowa może być reprezentowana jako obiekt. W PHP, chociaż można tworzyć obiekty, typy danych takie jak float nie są obiektami. Często programiści mylą typy zmiennych, co prowadzi do nieporozumień i błędów w kodzie, zwłaszcza w kontekście konwersji typów. Kluczowe jest, aby zrozumieć, jak PHP operuje na typach danych oraz jakie są różnice pomiędzy nimi, co znacznie poprawia jakość i efektywność kodu.

Pytanie 11

Który program przekłada kod źródłowy na język maszynowy (komputera)?

A. kompilator
B. środowisko programistyczne
C. debugger
D. edytor kodu źródłowego
Kompilator tłumaczy cały kod źródłowy na język MASZYNOWY (kod wynikowy), który komputer może wykonać. Dlatego tym programem jest kompilator.

Pytanie 12

Jaką złożoność obliczeniową ma algorytm wyszukiwania elementu w nieposortowanej tablicy jednowymiarowej?

A. silnia, O(n!)
B. liniową, O(n)
C. stała, O(1)
D. kwadratową, O(n²)
W nieposortowanej tablicy nie ma porządku, który pozwoliłby pominąć część elementów, więc element szuka się przeglądając kolejne pozycje (wyszukiwanie liniowe). W najgorszym przypadku trzeba sprawdzić wszystkie n elementów, dlatego złożoność wynosi O(n) - liniowa. Dlatego poprawna jest złożoność liniowa, O(n).

Pytanie 13

Gdzie umieścić informacje o autorze, opisie i słowach kluczowych strony?

A. w <body>, w znaczniku <meta>
B. w <body>, w znaczniku <html>
C. w <head>, w znaczniku <style>
D. w <head>, w znaczniku <meta>
Metadane należą do nagłówka, nie do treści. <style> zawiera reguły CSS, a nie opis strony. <meta> w <body> jest niepoprawne, a <html> to znacznik nadrzędny całego dokumentu. Autora, opis i słowa kluczowe podaje <meta> w <head>.

Pytanie 14

Jak w CSS ustawić, aby hiperłącze nieodwiedzone było żółte, a odwiedzone zielone?

A.
a:link { color: yellow; } a:visited { color: green; }
B.
a:hover { color: yellow; } a:visited { color: green; }
C.
a:hover { color: green; } a:link { color: yellow; }
D.
a:visited { color: yellow; } a:link { color: green; }
Pozostałe zapisy mylą pseudoklasy lub kolory. Wariant z a:visited { color: yellow; } i a:link { color: green; } zamienia kolory miejscami - nieodwiedzony wyszedłby zielony zamiast żółty. Dwie inne odpowiedzi używają :hover, które reaguje na najechanie kursorem, a nie na to, czy link był odwiedzony, i pomijają regułę dla stanu :link. Stan nieodwiedzony opisuje :link, a odwiedzony :visited, dlatego poprawny jest zapis a:link { color: yellow; } a:visited { color: green; }.

Pytanie 15

Który element CMS odpowiada bezpośrednio za WYGLĄD strony?

A. motyw (WordPress) / szablon (Joomla!)
B. kokpit (WordPress) / panel administracyjny (Joomla!)
C. widżet (WordPress) / moduł (Joomla!)
D. wtyczka (WordPress) / dodatek (Joomla!)
Pozostałe elementy pełnią inne role. Kokpit i panel administracyjny to interfejs ZARZĄDZANIA. Widżety i moduły to bloki treści w wyznaczonych miejscach. Wtyczki i dodatki rozszerzają FUNKCJE. Za wygląd odpowiada motyw (WordPress) lub szablon (Joomla!).

Pytanie 16

Program debugger służy do

A. analizy wykonywanego programu w celu lokalizacji błędów.
B. tłumaczenia kodu zapisanego językiem wyższego poziomu na język maszynowy.
C. analizy kodu źródłowego w celu odnalezienia błędów składniowych.
D. interpretacji kodu w wirtualnej maszynie Java.
Debugger to specjalistyczne narzędzie używane dokładnie do tego, co opisuje poprawna odpowiedź: do analizy wykonywanego programu w celu lokalizacji błędów. Chodzi tu głównie o błędy logiczne i wykonania (runtime), których kompilator zwykle nie wychwyci. Kompilator sprawdza składnię i typy, a debugger pozwala zajrzeć „do środka” działającego programu. Można zatrzymać program w wybranym miejscu (breakpoint), krokować instrukcja po instrukcji (step into, step over), podglądać wartości zmiennych, rejestrów, stos wywołań funkcji (call stack) i obserwować, jak zmienia się stan aplikacji w czasie rzeczywistym. W praktyce, w profesjonalnym programowaniu, praca z debuggerem to standard. W IDE takich jak Visual Studio, IntelliJ, Eclipse, VS Code debugowanie jest wbudowane i używane praktycznie codziennie. Moim zdaniem, kto dobrze opanuje debugger, ten dużo szybciej rozumie, co się faktycznie dzieje w kodzie, a nie tylko co „wydaje się” że się dzieje. Debugger świetnie sprawdza się przy szukaniu błędów związanych z nieprawidłowym przepływem sterowania, błędnym warunkiem w if-ach, problemami z pętlami, dereferencją pustych wskaźników, wyjątkiem w konkretnym miejscu, czy np. przy analizie wycieków pamięci. Dobre praktyki mówią też, żeby nie polegać wyłącznie na printach/logach, tylko łączyć je z debugowaniem krokowym. W nowoczesnych środowiskach można nawet debugować aplikacje webowe (np. JavaScript w przeglądarce, PHP z Xdebug), aplikacje zdalne na serwerze, a także w trybie attach do już działającego procesu. Debugger nie zastępuje testów jednostkowych ani code review, ale jest jednym z kluczowych narzędzi w całym procesie inżynierii oprogramowania.

Pytanie 17

Jaką metodę używa się w języku PHP do tworzenia komentarza obejmującego więcej niż jedną linijkę?

A. //
B. /* */
C. #
D. <!-- -->
W języku PHP, użycie bloków komentarzy za pomocą składni /* */ jest standardowym sposobem na zapisanie wielolinijnych komentarzy. Ta metoda pozwala na umieszczanie tekstu komentarza w wielu liniach, co jest szczególnie przydatne w przypadku dłuższych objaśnień kodu. Komentarze pozwalają programistom na dokumentowanie funkcji, metod lub fragmentów kodu, co znacznie zwiększa przejrzystość i zrozumiałość kodu dla innych deweloperów. Przykładowo, można ich używać w następujący sposób:

/*
To jest komentarz, który
może zajmować wiele linii.
Możesz go używać do
szczegółowego opisu
funkcji lub zmiennych.
*/

Praktyka korzystania z opisowych komentarzy jest zgodna z najlepszymi standardami programowania, ponieważ zwiększa czytelność i ułatwia pracę w zespołach. Komentarze są nieocenione w trakcie konserwacji kodu, ponieważ pozwalają na szybsze zrozumienie intencji autora, a także na łatwiejsze wprowadzenie zmian w przyszłości. Warto również pamiętać, że komentarze nie wpływają na wydajność aplikacji, ponieważ są ignorowane przez interpreter PHP w trakcie wykonywania skryptu.

Pytanie 18

Który kod jest alternatywny do kodu zamieszczonego w ramce?

<?php
for($x = 1; $x <= 55; $x++)
{
  if($x % 2 != 0) continue;
  echo $x . " ";
}
?>
A. for($x = 1; $x <= 55; $x++) {echo $x." ";}
B. for($x = 2; $x <= 56; $x += 2) {echo $x." ";}
C. for($x = 1; $x <= 55; $x += 1) {echo $x." ";}
D. for($x = 2; $x <= 54; $x += 2) {echo $x." ";}
Niestety, wybrałeś błędną odpowiedź. Wszystkie opcje oprócz odpowiedzi A nie są alternatywą dla kodu zawartego w ramce. Cechą wspólną dla niepoprawnych odpowiedzi jest fakt, że nie uwzględniają one aspektu parzystości liczb, na którym operują. Kod w ramce pomija liczby parzyste za pomocą instrukcji 'continue', która jest wywoływana, gdy reszta z dzielenia przez 2 jest równa 0. W odpowiedzi A, pętla jest zaprojektowana tak, że wykonuje operacje tylko na liczbach parzystych (zaczyna od 2 i zwiększa wartość o 2 za każdą iterację). Błędne odpowiedzi nie uwzględniają takiego podziału na liczby parzyste i nieparzyste, co jest kluczowym aspektem funkcjonowania kodu w ramce. Pamiętaj, że podczas analizy kodu, zwracaj uwagę na wszystkie jego aspekty, takie jak warunki, instrukcje sterujące czy operacje wykonywane na danych.

Pytanie 19

Aby zmienić strukturę tabeli w bazie danych MySQL, należy użyć komendy

A. INSERT INTO
B. ALTER TABLE
C. UPDATE
D. GRANT
Odpowiedź 'ALTER TABLE' jest poprawna, gdyż to polecenie w MySQL służy do modyfikacji struktury istniejącej tabeli. Dzięki niemu możemy dodawać nowe kolumny, zmieniać typy danych kolumn, usuwać kolumny, a także zmieniać właściwości tabeli, takie jak klucze główne czy unikalne. Przykład zastosowania polecenia ALTER TABLE to dodanie kolumny do tabeli: 'ALTER TABLE pracownicy ADD COLUMN wiek INT;' co skutkuje dodaniem kolumny 'wiek' o typie INT do tabeli 'pracownicy'. Zgodnie z najlepszymi praktykami, przed wykonaniem takich operacji warto wykonać kopię zapasową bazy danych, aby uniknąć utraty danych w przypadku nieprawidłowego wykonania polecenia. Używanie ALTER TABLE jest kluczowe podczas rozwoju aplikacji, gdyż często zachodzi potrzeba dostosowania struktury bazy danych do zmieniających się wymagań biznesowych.

Pytanie 20

W kontekście PGP zmienna $_GET jest zmienną

A. predefiniowaną, służącą do zbierania wartości z formularzy po nagłówkach zapytań HTTP (dane z formularzy nie są widoczne w URL)
B. zwykłą, stworzoną przez autora strony
C. zdefiniowaną przez autora strony, wykorzystywaną do przesyłania danych z formularzy przez adres URL
D. predefiniowaną, stosowaną do przesyłania informacji do skryptów PHP poprzez adres URL
Zmienna $_GET w języku PHP jest predefiniowaną superglobalną tablicą, która umożliwia dostęp do danych przesyłanych metodą GET za pomocą adresu URL. Oznacza to, że można przekazywać dane do skryptu PHP poprzez dodanie parametrów do adresu strony, co jest powszechnie stosowane w aplikacjach webowych. Na przykład, w adresie URL 'example.com/page.php?name=John&age=30', zmienna $_GET będzie zawierać tablicę z danymi ['name' => 'John', 'age' => '30']. Dzięki temu programista może łatwo odczytać i wykorzystać te dane w skrypcie, co jest kluczowe dla dynamicznych stron internetowych. Zgodnie z dokumentacją PHP, zmienna $_GET jest jedną z kilku superglobalnych tablic, obok takich jak $_POST, $_SESSION, i $_COOKIE, które ułatwiają zarządzanie danymi użytkownika. Ważne jest, aby pamiętać o zabezpieczeniach, takich jak walidacja i sanitizacja danych wejściowych, aby uniknąć ataków typu SQL Injection czy XSS (Cross-Site Scripting).

Pytanie 21

W każdej iteracji pętli wartość aktualnego elementu tablicy jest przypisywana do zmiennej, a wskaźnik tablicy jest przesuwany o jeden, aż do ostatniego elementu tablicy. Czy to zdanie odnosi się do instrukcji?

A. while
B. for
C. next
D. foreach
Odpowiedzi takie jak 'for', 'next' oraz 'while' mają swoje specyficzne zastosowania w kontekście iteracji, ale nie są w pełni dostosowane do opisanego zachowania w pytaniu. Instrukcja 'for' wymaga zdefiniowania zmiennych kontrolnych, co wiąże się z ręcznym zarządzaniem indeksami. Kiedy wykorzystujemy pętlę 'for', musimy samodzielnie określić warunki początkowe, warunki kontynuacji oraz sposób inkrementacji, co może prowadzić do błędów, zwłaszcza w kontekście tablic. Z kolei 'next' nie jest samodzielną konstrukcją w wielu językach programowania, a jego użycie jest często związane z iteracją po kolekcjach, ale nie definiuje pętli jako takiej. Instrukcja ta działa w kontekście iteratora, co czyni ją mniej elastyczną i bardziej złożoną w użyciu dla prostych iteracji po tablicach. Co więcej, 'while' również wymaga manualnego zarządzania warunkami zakończenia pętli, co oznacza, że programista musi samodzielnie kontrolować zmienną, która decyduje o zakończeniu iteracji. To znowu zwiększa ryzyko błędów związanych z granicami tablicy oraz niewłaściwym przypisaniem wartości. Każda z tych metod ma swoje miejsce w programowaniu, jednak nie są one tak optymalne i wygodne jak 'foreach', który automatycznie zarządza iteracją po elementach kolekcji, co czyni ten proces znacznie bardziej przejrzystym i mniej podatnym na błędy.

Pytanie 22

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

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

Pytanie 23

Którego słowa kluczowego używa się w CSS, aby dołączyć zewnętrzny arkusz stylów?

A. require
B. include
C. import
D. open
W CSS zewnętrzny arkusz stylów można dołączyć regułą @import, np. @import url("style.css");, umieszczoną na początku arkusza. Alternatywnie (i najczęściej) robi się to w HTML znacznikiem <link rel="stylesheet" href="style.css">, który zwykle działa szybciej. Spośród podanych słów kluczowych poprawne jest import.

Pytanie 24

Przedstawiony kod PHP nawiązuje połączenie z serwerem bazy danych. Jakiego typu operacje powinny się znaleźć w instrukcji warunkowej w miejscu trzech kropek?
$db = mysqli_connect("localhost", "root", "qwerty", "baza1");
if (!$db) {
...
}

A. Obsługa danych uzyskanych z bazy
B. Zamknięcie połączenia z bazą danych
C. Informacja o udanym połączeniu z bazą
D. Obsługa błędu połączenia
Zamknięcie bazy danych w kontekście nieudanego połączenia jest koncepcją, która nie ma sensu. Jeśli połączenie się nie uda, to nie ma nawet nawiązanej sesji, która mogłaby być zamknięta. Połączenie z bazą danych powinno być zamykane tylko w momencie, gdy zostało nawiązane i jest już niepotrzebne, a nie w przypadku, gdy wystąpił błąd w trakcie łączenia. Komunikat o pomyślnym połączeniu także nie ma zastosowania w tej sytuacji, ponieważ, skoro połączenie się nie udało, nie ma podstaw do informowania użytkownika o jego powodzeniu. Obsługa danych pobranych z bazy również nie ma miejsca, jeśli połączenie nie zostało ustanowione, co czyni te odpowiedzi błędnymi. Właściwe podejście w takich sytuacjach to zawsze najpierw sprawdzenie, czy połączenie zostało nawiązane, a następnie działania w przypadku usunięcia błędu. Ignorowanie tej zasady może prowadzić do nieprzewidzianych zachowań aplikacji, a nawet do wycieków danych lub awarii serwerów.

Pytanie 25

Jaką maksymalną ilość znaczników <td> można zastosować w tabeli składającej się z trzech kolumn i trzech wierszy, w której nie ma złączeń komórek ani wiersza nagłówkowego?

A. 3
B. 12
C. 9
D. 6
Wybór 3 jako liczby znaczników <td> jest niewłaściwy, ponieważ nie uwzględnia pełnej struktury tabeli. W przypadku tabeli o trzech kolumnach i trzech wierszach, każdy wiersz powinien zawierać wszystkie kolumny, co skutkuje 3 komórkami w każdym wierszu. To oznacza, że w sumie powstaje 3 x 3 = 9 komórek. Odpowiedź 6 mogłaby być mylona z sytuacją, w której w rozważanym układzie zredukowano by liczbę wierszy lub kolumn, lecz nie jest to zgodne z treścią pytania. Wybierając 12, sugeruje się zrozumienie, że można zwiększyć liczbę kolumn lub wierszy, co w tym kontekście nie jest możliwe, gdyż pytanie jednoznacznie określa ich liczbę. Błędne odpowiedzi mogą wynikać z niepełnego zrozumienia struktury tabel w HTML oraz ich zasady działania. Ważne jest, aby pamiętać, że każda tabela powinna być projektowana z myślą o przejrzystości i dostępności danych, a liczba znaczników <td> musi odzwierciedlać rzeczywiste dane, które mają być prezentowane. W praktyce, błędy te mogą prowadzić do chaosu w prezentacji danych, co utrudnia zarówno użytkownikom, jak i innym systemom, takich jak wyszukiwarki, właściwe zrozumienie struktury strony.

Pytanie 26

Jak nazywa się rodzaj programowania, w którym program to ciąg poleceń (sekwencja instrukcji) przekazywanych komputerowi?

A. funkcyjne
B. imperatywne
C. stanowe
D. logiczne
Programowanie IMPERATYWNE opisuje program jako CIĄG poleceń (instrukcji) wykonywanych krok po kroku - mówisz komputerowi DOKŁADNIE, co i w jakiej kolejności ma robić. To najbardziej klasyczne podejście (C, Pascal). Zapamiętaj: imperatywne = „rozkazujące”, sekwencja instrukcji.

Pytanie 27

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

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

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

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

Pytanie 28

Jaką funkcję pełni atrybut name w polu formularza, np. <input type="text" name="login">?

A. określa wartość domyślną pola
B. określa nazwę pola, pod którą dane trafiają na serwer
C. ogranicza maksymalną długość pola
D. ustawia pole jako tylko do odczytu
Atrybut name nadaje polu formularza nazwę, pod którą jego wartość jest przesyłana na serwer. To po niej skrypt odbierający (np. w PHP przez $_POST["login"]) rozpoznaje konkretne pole. Bez name wartość pola zwykle nie zostanie wysłana. Dlatego name określa nazwę pola w formularzu.

Pytanie 29

W języku PHP w konstrukcji switch powinno się znajdować

A. przynajmniej dwie instrukcje case
B. konstrukcja switch(wyrażenie)
C. instrukcja break po każdej instrukcji case
D. instrukcja default
Wybór odpowiedzi, która sugeruje, że instrukcja default jest wymagana w konstrukcji switch, jest błędny z kilku powodów. Po pierwsze, instrukcja default jest opcjonalna, a jej obecność jest uzasadniona tylko w przypadku, gdy chcemy zdefiniować domyślne działanie, gdy żaden z przypadków nie pasuje do wartości wyrażenia. Brak default nie wpływa na poprawność działania switch. Co więcej, wiele programistów decyduje się na pominięcie tej instrukcji, gdyż nie ma takiej potrzeby. Kolejną niepoprawną odpowiedzią jest twierdzenie, że w switch musi występować przynajmniej dwie instrukcje case. W rzeczywistości konstrukcja switch może składać się z jednego przypadku, co oznacza, że programista ma pełną swobodę w definiowaniu liczby użytych case'ów, w zależności od potrzeb aplikacji. Ostatni błędny wybór odnosi się do konieczności użycia instrukcji break po każdej instrukcji case. Choć stosowanie break jest dobrą praktyką, ponieważ zapobiega 'spadaniu' do kolejnych case'ów, jego brak nie czyni całej konstrukcji switch nieważną. Gdy break nie jest użyty, kod przechodzi do kolejnych instrukcji case, co może prowadzić do niezamierzonych wyników, ale nie wpływa na samą poprawność konstrukcji switch. Dlatego wszystkie te odpowiedzi są niepoprawne w kontekście wymagań dotyczących stosowania instrukcji switch w PHP.

Pytanie 30

Wykonanie następującego polecenia PHP umożliwia:

$zapytanie = mysqli_query($db, "UPDATE ...");
A. dodanie nowych danych do bazy
B. zmianę danych w bazie
C. zmianę struktury bazy
D. pobranie danych z bazy
Odpowiedzi sugerujące zapis nowych danych do bazy oraz modyfikację struktury bazy są nieprawidłowe, ponieważ mysqli_query z instrukcją SQL UPDATE nie służy do tych celów. Zapis nowych danych do bazy odbywa się za pomocą instrukcji INSERT, która dodaje nowe rekordy do tabeli. Funkcja INSERT INTO jest używana, gdy chcemy dodać nowe dane, a nie je modyfikować. W przypadku modyfikacji struktury bazy danych, takich jak dodawanie nowych kolumn czy zmiany w tabelach, używane są instrukcje DDL (Data Definition Language) jak ALTER TABLE. Te operacje są istotne, gdy zmienia się schemat bazy danych, co jest zupełnie inną operacją niż modyfikacja danych. Odczyt danych z bazy to kolejna funkcjonalność, która jest realizowana za pomocą instrukcji SELECT, służącej do pobierania danych z tabel. SELECT umożliwia wyświetlanie danych bez ich zmiany, co jest podstawową operacją w aplikacjach potrzebujących dostępu do informacji przechowywanych w bazie. Typowe błędy to mylenie tych różnych operacji, co wynika z niepełnego zrozumienia podstawowych operacji SQL i ich zastosowań. Poprawne rozróżnianie tych funkcji jest kluczowe dla efektywnego zarządzania bazą danych i unikania błędów logicznych w aplikacjach.

Pytanie 31

Tabela samochody zawiera dane przedstawione poniżej:

idklasa_idmarkamodelrocznik
11fordka2017
22seattoledo2016
33opelzafira2018
42fiat500X2018
53opelinsignia2017
Wydając zamieszczone zapytanie SQL, jakie dane zostaną zwrócone:
SELECT model FROM samochody WHERE rocznik > 2017 AND marka = "opel";
A. zafira; insignia
B. zafira
C. opel zafira; opel insignia
D. opel zafira
Wszystkie niepoprawne odpowiedzi zawierają błędy związane z interpretacją wyników zapytania SQL. Odpowiedź 'opel zafira' jest niepoprawna, ponieważ zapytanie nie zwraca modelu w formie złożonej, a jedynie oczekuje nazwy modelu. Podobnie, odpowiedzi 'zafira; insignia' oraz 'opel zafira; opel insignia' sugerują, że obie te nazwy są zwracane przez zapytanie, co jest błędne. W rzeczywistości, zapytanie filtruje dane tak, że tylko jeden model – 'zafira' – jest odpowiedzią na podane warunki. Przykłady takich błędnych założeń często wynikają z niepełnego zrozumienia działania operatorów w zapytaniach SQL oraz ich wpływu na wyniki. Analizując odpowiedzi, należy zwracać uwagę na precyzyjność zapytań oraz na zastosowanie odpowiednich warunków filtrujących, aby uniknąć błędnych wniosków. W praktyce, dobre zrozumienie działania SQL i umiejętność właściwego formułowania zapytań to kluczowe umiejętności w każdej pracy związanej z danymi, co podkreśla znaczenie dokładności i staranności w tym obszarze. Każdy analityk danych powinien dążyć do mistrzostwa w tej dziedzinie, aby skutecznie wspierać podejmowanie decyzji na podstawie danych.

Pytanie 32

Którego znacznika HTML użyć, aby tekst miał czcionkę o stałej szerokości i zachował dodatkowe spacje, tabulacje oraz znaki końca linii?

A.
<pre> ... </pre>
B.
<ins> ... </ins>
C.
<blockquote> ... </blockquote>
D.
<code> ... </code>
Znacznik <pre> (preformatted) wyświetla tekst czcionką o stałej szerokości i ZACHOWUJE formatowanie źródłowe: dodatkowe spacje, tabulacje i znaki końca linii (których HTML normalnie by „zwinął”). Dlatego idealnie nadaje się do fragmentów kodu czy tekstu z wyrównaniem. Zapamiętaj: <pre> = „pokaż dokładnie tak, jak napisałem”.

Pytanie 33

Która zasada dotycząca sekcji <head> w HTML jest POPRAWNA?

A. w sekcji <head> zawiera się sekcja <body>
B. w sekcji <head> buduje się szablon strony znacznikami <div>
C. w sekcji <head> nie wolno umieszczać kodu CSS, tylko odwołanie do pliku
D. w sekcji <head> mogą wystąpić <meta>, <title>, <link>
<body> to OSOBNA sekcja z treścią, nie jest zagnieżdżona w <head>. <div> buduje układ w <body>, nie w nagłówku. W <head> WOLNO też umieścić CSS w <style>, nie tylko odwołanie do pliku. Poprawne jest stwierdzenie o <meta>, <title> i <link>.

Pytanie 34

Jaki rezultat uzyskamy po uruchomieniu załączonego skryptu?

<?php
class Owoc {
  function __construct() {     echo "test1";     }
  function __destruct() {     echo "test2";     }
}
$gruszka = new Owoc();
?>
A. Nie zostanie wyświetlony żaden komunikat
B. Na ekranie pojawią się oba komunikaty: "test1" oraz "test2"
C. Pojawi się jedynie komunikat "test2"
D. Pojawi się tylko komunikat "test1"
W analizie skryptu PHP ważne jest zrozumienie roli metod specjalnych jak __construct() i __destruct(). __construct() uruchamia się podczas tworzenia obiektu, a __destruct() w momencie niszczenia obiektu. Odpowiedź wskazująca, że żaden napis się nie wyświetli, ignoruje fakt, że zarówno konstruktor jak i destruktor wywołują funkcję echo. Przy odpowiedzi, że wyświetli się tylko napis test1, pominięto działanie metody __destruct(), która następuje po zakończeniu skryptu. Natomiast stwierdzenie, że wyświetli się tylko napis test2 ignoruje działanie konstruktora, który zostaje niezwłocznie aktywowany po stworzeniu obiektu $gruszka. Częstym błędem jest nieujmowanie pełnego cyklu życia obiektu, co prowadzi do nieprawidłowego zrozumienia działania destruktorów, zwłaszcza że uruchamiane są one automatycznie, wpływając na zarządzanie zasobami i pamięcią. Zrozumienie tych mechanizmów jest kluczowe w efektywnym zarządzaniu kodem w PHP, szczególnie w zaawansowanych projektach obiektowych.

Pytanie 35

Aby utworzyć relację wiele do wielu pomiędzy tabelami A i B, należy

A. tabela A będzie miała identyczne pola jak tabela B
B. tabelę A połączyć z tabelą B przez utworzenie kluczy obcych
C. wiele wpisów z tabeli A zduplikuje się w tabeli B
D. wprowadzić trzecią tabelę zawierającą klucze obce do tabel A i B
Twierdzenie, że wystarczy połączyć tabelę A z tabelą B za pomocą zdefiniowania kluczy obcych, jest błędne, ponieważ taka operacja tworzy jedynie relację jeden do wielu, a nie wiele do wielu. W przypadku relacji jeden do wielu jedna tabela (np. tabela A) może być połączona z wieloma rekordami w drugiej tabeli (np. tabela B), ale nie odwrotnie. Co więcej, zduplikowanie wielu rekordów z tabeli A w tabeli B prowadziłoby do powstania redundancji i nieefektywnego zarządzania danymi, co jest sprzeczne z zasadami normalizacji baz danych. Wreszcie, posiadanie tabeli A z takimi samymi polami co tabela B jest nieadekwatne i niezgodne z ideą relacji wiele do wielu. Tego typu rozwiązanie prowadziłoby do chaosu w strukturze bazy danych oraz utrudniałoby jakiekolwiek operacje na zbiorach danych. Aby zrealizować relację wiele do wielu, należy zawsze wprowadzić osobną tabelę, która będzie w stanie efektywnie łączyć obie oryginalne tabele, umożliwiając ich prawidłowe powiązanie i zarządzanie danymi.

Pytanie 36

Która operacja NIE zmieni rozmiaru (wagi) pliku graficznego?

A. zmiana rozmiaru WYŚWIETLANIA obrazu atrybutami HTML
B. kompresja
C. interpolacja
D. zmiana rozdzielczości obrazu
Pozostałe operacje realnie zmieniają plik. Zmiana rozdzielczości modyfikuje liczbę pikseli zapisanych w obrazie, interpolacja przelicza piksele przy zmianie wymiarów, a kompresja celowo redukuje ilość danych. Każda z nich wpływa na wagę pliku - inaczej niż samo skalowanie wyświetlania w HTML.

Pytanie 37

Co można powiedzieć o wyświetlonym przez witrynę tekście "test kolorów"?

<p id="p1" style="color:blue;">test kolorów</p>
<button type="button"
  onclick="document.getElementById('p1').style.color='red'">
  test</button>
A. Po wciśnięciu przycisku test kolor tekstu jest czerwony.
B. Po wciśnięciu przycisku test kolor tekstu jest niebieski.
C. Wciskanie przycisku test sprawia, że kolor tekstu jest na przemian niebieski i czerwony.
D. Zaraz po załadowaniu witryny kolor tekstu jest czerwony.
Zauważyłem, że w kodzie HTML kolor tekstu na początku jest niebieski. Jest to ustawione w atrybucie style dla elementu o id='p1'. Po kliknięciu w przycisk, uruchamia się funkcja JavaScript, która zmienia kolor na czerwony. Ta funkcja jest przypisana w atrybucie onclick. Takie podejście to świetny sposób na interakcję użytkownika z witryną, korzystając ze skryptów JavaScript. Myślę, że to bardzo dobry przykład, który pokazuje, jak można robić interaktywne elementy na stronach. Wiedza na ten temat może pomóc lepiej zrozumieć, jak działają strony internetowe i co można zrobić z JavaScriptem.

Pytanie 38

Co realizuje polecenie zaczynające się od ALTER TABLE USA ...?

A. nadpisanie starej tabeli USA
B. utworzenie nowej tabeli USA
C. modyfikację (zmianę struktury) tabeli USA
D. usunięcie tabeli USA
Polecenie zaczynające się od ALTER TABLE USA ... modyfikuje STRUKTURĘ istniejącej tabeli USA - w zależności od dalszej części doda, usunie lub zmieni kolumnę albo ograniczenie. ALTER znaczy „zmień”, a TABLE USA wskazuje, której tabeli dotyczy. Dlatego polecenie realizuje modyfikację struktury tabeli USA.

Pytanie 39

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

var x = parseInt(a);
A. liczbowy, całkowity
B. zmiennoprzecinkowy
C. NaN
D. napisowy
Rzeczywiście, rozumienie tego, jak działa parseInt(), to klucz do ogarnięcia problemów związanych z danymi liczbowymi w JavaScript. Często można spotkać błąd polegający na myśleniu, że parseInt() zwraca liczby zmiennoprzecinkowe, co jest totalnie nieprawidłowe, bo zawsze dostajesz liczbę całkowitą, obcinając część dziesiętną. Inny typowy błąd to oczekiwanie, że dostaniemy NaN, kiedy dane wejściowe to liczby. NaN pojawia się tylko wtedy, gdy string nie zaczyna się od cyfry, a parseInt() nie może nic wyciągnąć. Ważne jest też to, że ta funkcja daje ci liczbę całkowitą, a nie tekst. W praktyce, jeśli nie rozumiesz dobrze konwersji typów, możesz narobić błędów w aplikacjach, co jest istotne, zwłaszcza gdy dokładność danych ma duże znaczenie. Programiści powinni mieć to na uwadze, żeby dobrze zarządzać danymi i unikać zaskakujących rezultatów, co jest zgodne z tym, co mówią najlepsze praktyki w pisaniu kodu. Warto także pamiętać o dodaniu podstawy liczbowej jako drugiego argumentu dla parseInt(), żeby uniknąć pomyłek przy interpretacji danych liczbowych w różnych systemach liczbowych, jak na przykład ósemkowy czy szesnastkowy. To naprawdę wpływa na poprawność działania aplikacji w praktyce.

Pytanie 40

W dokumencie HTML zdefiniowano listę oraz dodano do niej formatowanie CSS. Który z efektów odpowiada tej definicji?

<ul>
  <li>Foksterier
  <li>Bokser
  <li>Baset
</ul>
li::after {
  content: " - Pies";
  background-color: teal;
  color: white;
}
Efekt 1
  • Foksterier
  • Bokser
  • Baset
Efekt 2
  • Foksterier
  • Bokser
  • Baset
Efekt 3
  • Foksterier
  • Bokser
  • Baset
Efekt 4
  • Foksterier
  • Bokser
  • Baset
A. Efekt 3.
B. Efekt 2.
C. Efekt 4.
D. Efekt 1.
Wybór każdej z niepoprawnych odpowiedzi wskazuje na niezrozumienie jak działają niektóre elementy CSS. 'Efekt 2', 'Efekt 3' i 'Efekt 1' nie pokazują tekstu '- Pies' dodanego za każdym elementem listy, co jest wynikiem zastosowania pseudoelementu ::after w kodzie CSS. Pseudoelementy w CSS są używane do style'owania określonych części elementu, jak na przykład jego początek lub koniec. W tym konkretnym przypadku, pseudoelement ::after dodaje treść do elementu po jego treści, ale zanim nastąpi jego zamknięcie. Jeżeli nie widzisz tego efektu w wybranym przez Ciebie efekcie, prawdopodobnie nie zrozumiałeś poprawnie jak działają pseudoelementy w CSS. Dodatkowo, jeśli wybrana przez Ciebie odpowiedź nie ma tła w kolorze 'teal' i tekstu w kolorze 'white', prawdopodobnie nie zwróciłeś uwagi na szczegółowe style CSS zastosowane do listy w kodzie. Zachęcamy do dalszego studiowania tematu CSS i HTML, aby zrozumieć, jak te dwie technologie współpracują ze sobą przy tworzeniu stron internetowych.