Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 11 czerwca 2026 15:47
  • Data zakończenia: 11 czerwca 2026 16:05

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Która z funkcji SQL nie wymaga podania argumentów?

A.
LEN()
B.
NOW()
C.
YEAR()
D.
UPPER()
Funkcja NOW() zwraca bieżącą datę i godzinę z serwera bazy i nie przyjmuje żadnych argumentów - wystarczy SELECT NOW(). Używa się jej np. do automatycznego zapisania znacznika czasu utworzenia rekordu. Pozostałe podane funkcje muszą dostać dane wejściowe, na których działają. Dlatego funkcją bez argumentów jest NOW().

Pytanie 2

W języku SQL, w wyniku wykonania poniższego zapytania:

ALTER TABLE osoba DROP COLUMN grupa;
A. zostanie dodana kolumna grupa
B. zostanie usunięta kolumna grupa
C. zostanie zmieniona nazwa tabeli na grupa
D. zostanie zmieniona nazwa kolumny na grupa
Zapytanie SQL 'ALTER TABLE osoba DROP COLUMN grupa;' jest komendą, która służy do usunięcia kolumny o nazwie 'grupa' z tabeli 'osoba'. Komenda ta wykorzystuje instrukcję ALTER TABLE, która jest standardową konstrukcją SQL używaną do modyfikacji struktury istniejącej tabeli. W kontekście baz danych, usunięcie kolumny może być nieodwracalne, co oznacza, że wszystkie dane zawarte w tej kolumnie zostaną trwale usunięte. Przykładem zastosowania tej komendy może być sytuacja, w której kolumna 'grupa' nie jest już potrzebna, na przykład, po zmianie wymagań aplikacji lub po analogicznym przekształceniu modelu danych. Zgodnie z normami SQL, aby uniknąć błędów, przed wykonaniem takiej operacji warto wykonać kopię zapasową bazy danych. Warto również pamiętać, że niektóre systemy zarządzania bazami danych mogą wymagać dodatkowych opcji, aby zrealizować tę operację, na przykład, jeśli kolumna jest kluczem obcym lub jest związana z innymi strukturami. Podsumowując, użycie tej komendy skutkuje trwałym usunięciem kolumny 'grupa' z tabeli 'osoba'.

Pytanie 3

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. for
B. next
C. while
D. foreach
Instrukcja 'foreach' w językach programowania, takich jak PHP, C# czy Java, jest zaprojektowana specjalnie do iteracji po elementach kolekcji, takich jak tablice lub kolekcje. Działa to poprzez przypisanie bieżącego elementu tablicy do zmiennej w każdej iteracji pętli oraz automatyczne przesuwanie wskaźnika do następnego elementu, co czyni ten mechanizm bardzo wygodnym w użyciu. Przykładowo, w PHP możemy użyć 'foreach' w następujący sposób: 'foreach ($tablica as $element) { echo $element; }'. W tej konstrukcji, dla każdego elementu w tablicy, zmienna $element będzie zawierać jego wartość, a pętla zakończy się automatycznie po osiągnięciu ostatniego elementu. Taki sposób iteracji jest bardziej przejrzysty i mniej podatny na błędy, ponieważ nie musimy zarządzać indeksami ręcznie, co może prowadzić do pomyłek, takich jak przekroczenie granic tablicy. Ponadto, instrukcje 'foreach' są bardziej czytelne, co ułatwia współpracę w zespołach programistycznych i utrzymanie kodu w dłuższej perspektywie. W dokumentacji wielu języków programowania 'foreach' jest rekomendowane jako najlepsza praktyka do iteracji po elementach kolekcji, co czyni je bardziej efektywnymi w kontekście programowania obiektowego oraz funkcjonalnego.

Pytanie 4

Hermetyzacja to zasada programowania obiektowego, która mówi, że:

A. klasy i obiekty mogą współdzielić funkcjonalność
B. pola i metody używane tylko wewnątrz klasy ogranicza się zasięgiem private lub protected
C. klasy mogą mieć metody wirtualne implementowane w klasach pochodnych
D. typy pól mogą zmieniać się dynamicznie w zależności od danych
Pozostałe odpowiedzi opisują inne pojęcia obiektowe. Współdzielenie funkcjonalności między klasami to raczej dziedziczenie lub kompozycja, a nie ukrywanie szczegółów. Metody wirtualne implementowane w klasach pochodnych dotyczą polimorfizmu i dziedziczenia - pozwalają różnie realizować tę samą metodę w klasach potomnych. Dynamiczna zmiana typu pola w zależności od danych to cecha typowania dynamicznego języka, niezwiązana z zasadami OOP. Hermetyzacja polega na ograniczaniu dostępu do wewnętrznych pól i metod (private/protected), dlatego ta odpowiedź jest poprawna.

Pytanie 5

Który z przedstawionych kodów XHTML sformatuje tekst według podanego wzorca?
Ala ma kota
a kot ma Alę

A. <p>Ala ma <b>kota</b><br>
a <b>kot</b> ma Alę</p>
B. <p>Ala ma <b>kota</i><br>
a <b>kot</b> ma Alę</p>
C. <p>Ala ma <b>kota<br>
a <i>kot</i> ma Alę</p>
D. <p>Ala ma <b>kota</b><br>
a <i>kot</i> ma Alę</p>
Poprawna odpowiedź to <p>Ala ma <b>kota</b><br/>a <i>kot</i> ma Alę</p>. W tym kodzie XHTML tekst 'Ala ma kota' jest odpowiednio sformatowany dzięki zastosowaniu znaku <b>, który definiuje tekst pogrubiony, oraz <i>, który oznacza tekst kursywą. Ponadto <br/> jest używane do wstawienia przerwy w linii, co jest zgodne z praktykami formatowania tekstu w HTML/XHTML. Zgodnie ze standardami W3C, XHTML jest stricte oparty na XML, co oznacza, że wszystkie elementy muszą być poprawnie zagnieżdżone i zamknięte. Użycie <i> w drugiej części tekstu jest poprawne, ponieważ wskazuje na pewną formę wyróżnienia, a jednocześnie zachowuje semantykę. Przy tworzeniu stron internetowych ważne jest, aby formatowanie tekstu było zarówno estetyczne, jak i zgodne z regułami semantycznymi, co ta odpowiedź spełnia. Przykładowo, tekst ten można umieścić w dowolnym dokumencie HTML, aby zachować poprawne formatowanie, co wpływa na czytelność.

Pytanie 6

Co powinno znaleźć się w KAŻDEJ tabeli, aby baza działała poprawnie i spójnie?

A. klucze PRIMARY KEY i FOREIGN KEY
B. klucz FOREIGN KEY z NOT NULL
C. klucz obcy z NOT NULL i UNIQUE
D. klucz PRIMARY KEY (unikalny i niepusty)
Każda tabela powinna mieć klucz główny (PRIMARY KEY) - pole o wartościach UNIKALNYCH i NIEPUSTYCH, które jednoznacznie identyfikuje każdy wiersz. Bez niego trudno odróżnić rekordy i utrzymać spójność. Dlatego w każdej tabeli potrzebny jest klucz główny.

Pytanie 7

W trakcie weryfikacji stron internetowych nie uwzględnia się

A. działania hiperłączy
B. błędów w składni kodu
C. zgodności z różnymi przeglądarkami
D. źródła pochodzenia narzędzi edytorskich
Walidacja stron internetowych to proces, który ma na celu zapewnienie, że HTML, CSS oraz inne elementy technologii webowych są zgodne ze standardami określonymi przez W3C (World Wide Web Consortium). W kontekście walidacji nie bada się źródła pochodzenia narzędzi edytorskich, ponieważ te narzędzia, takie jak edytory tekstu czy IDE (Integrated Development Environment), są jedynie medium do tworzenia kodu, a nie jego treści. Z perspektywy walidacji, kluczowe jest, aby kod był syntaktycznie poprawny oraz spełniał standardy interoperability, takie jak HTML5 czy CSS3. Przykładem walidacji może być użycie narzędzi takich jak W3C Validator, które analizują kod strony i wskazują błędy składniowe, problemy z dostępnością oraz niezgodności z różnymi przeglądarkami. Dzięki walidacji, developers mogą zapewnić, że ich strony będą działały poprawnie na różnych urządzeniach i przeglądarkach, co wpływa na lepsze doświadczenia użytkowników. Walidacja jest zatem kluczowym krokiem w procesie tworzenia stron internetowych, zapewniającym ich jakość i zgodność ze światowymi standardami.

Pytanie 8

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

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

Pytanie 9

Którego znacznika użyć, aby umieścić na stronie animację Flash (.swf)?

A.
<img>
B.
<audio>
C.
<video>
D.
<object>
Pozostałe znaczniki obsługują inne media. <img> wstawia STATYCZNY obraz (np. PNG, JPG), bez interaktywności. <audio> odtwarza dźwięk, a <video> film w formatach HTML5 (MP4, WebM, Ogg) - żaden nie uruchamia pliku Flash. Plik .swf osadza <object>.

Pytanie 10

Aby ustawić marginesy wewnętrzne elementu: górny 50px, prawy 20px, dolny 40px, lewy 30px, należy użyć deklaracji CSS:

A.
padding: 50px 40px 20px 30px;
B.
padding: 50px 20px 40px 30px;
C.
padding: 20px 40px 30px 50px;
D.
padding: 30px 20px 40px 50px;
Pozostałe zapisy mają wartości w złej kolejności. Skrót padding czyta cztery liczby jako górę, prawo, dół i lewo - po kolei, zgodnie z ruchem wskazówek zegara. Wariant padding: 50px 40px 20px 30px; zamienia miejscami prawy (powinno 20) z dolnym (powinno 40). Pozostałe zaczynają od innej wartości niż wymagane 50px dla góry, więc również nie odwzorują zadanych marginesów. Poprawny zapis to padding: 50px 20px 40px 30px; (góra-prawo-dół-lewo), dlatego ta odpowiedź jest właściwa.

Pytanie 11

Którym sposobem zapisuje się w PHP komentarz zajmujący kilka linii?

A.
#
B.
//
C.
/* */
D.
<!-- -->
Komentarz zajmujący kilka linii zapisuje się w PHP między /* a */ - wszystko w środku jest pomijane. Dlatego komentarz wieloliniowy to /* */.

Pytanie 12

Emblemat systemu CMS o nazwie Joomla! to

Ilustracja do pytania
A. Rys. A
B. Rys. B
C. Rys. C
D. Rys. D
Prawidłową odpowiedzią na to pytanie jest Rys. B, który przedstawia logo systemu Joomla!. Joomla! to jeden z najpopularniejszych systemów zarządzania treścią (CMS), używany do tworzenia stron internetowych i aplikacji online. Logo Joomla! składa się z czterech złączonych elementów, które symbolizują społeczność i współpracę, kluczowe wartości tej platformy open source. Joomla! oferuje wiele funkcji takich jak łatwe zarządzanie treścią, rozszerzalność przez moduły i komponenty oraz szerokie wsparcie dla różnych formatów multimedialnych. Platforma ta jest ceniona za elastyczność i możliwość dostosowania do specyficznych potrzeb projektowych, co czyni ją idealnym wyborem dla różnych typów stron, od prostych witryn po skomplikowane portale biznesowe. Wybierając Joomla! zyskujemy dostęp do społeczności deweloperów oraz bogatej bazy zasobów edukacyjnych i wsparcia technicznego. Zrozumienie znaczenia i zastosowania systemów CMS jak Joomla! jest kluczowe dla specjalistów zajmujących się tworzeniem i zarządzaniem stronami internetowymi, ponieważ umożliwia efektywną obsługę i rozwój dynamicznych treści.

Pytanie 13

W SQL, aby zmienić dane w tabeli, wykorzystuje się instrukcję

A. CREATE
B. UPDATE
C. SELECT
D. JOIN
Odpowiedź 'UPDATE' jest poprawna, ponieważ w języku SQL polecenie to służy do modyfikacji danych w istniejących rekordach tabeli. Umożliwia aktualizację wartości w jednym lub więcej polach w wybranych wierszach, których identyfikacja może być dokonana poprzez zastosowanie klauzuli WHERE. Na przykład, aby zaktualizować nazwisko użytkownika w tabeli 'Użytkownicy', można użyć polecenia: 'UPDATE Użytkownicy SET nazwisko = 'NoweNazwisko' WHERE id = 1;'. Dobrą praktyką jest zawsze uwzględnienie klauzuli WHERE, aby uniknąć przypadkowego zaktualizowania wszystkich rekordów w tabeli. Polecenie UPDATE jest częścią standardu SQL i szeroko stosowane w codziennej pracy z bazami danych, co czyni je kluczowym narzędziem w zarządzaniu danymi. Warto również pamiętać, że przed wykonaniem aktualizacji zaleca się wykonanie kopii zapasowej danych, aby zabezpieczyć się przed niezamierzonymi zmianami.

Pytanie 14

Integralność encji w bazie danych zostanie zachowana, jeżeli między innymi:

A. klucz główny będzie zawsze liczbą całkowitą
B. każdej kolumnie zostanie przypisany typ danych
C. dla każdej tabeli zostanie zdefiniowany klucz główny
D. każdy klucz główny będzie miał odpowiadający klucz obcy w innej tabeli
Pozostałe odpowiedzi nie opisują integralności encji. To, że klucz główny jest liczbą całkowitą, bywa wygodne, ale nie jest wymogiem - kluczem może być tekst (np. PESEL) albo zestaw kolumn. Przypisanie każdej kolumnie typu danych to ogólna zasada projektowania tabeli, dotycząca integralności dziedzinowej, a nie identyfikacji wierszy. Wymaganie, by każdy klucz główny miał odpowiadający mu klucz obcy w innej tabeli, opisuje integralność referencyjną (spójność powiązań). Integralność encji polega na istnieniu klucza głównego w każdej tabeli, dlatego ta odpowiedź jest poprawna.

Pytanie 15

W programie MS Access w ustawieniach pola klasa należy określić maskę wprowadzania danych. Jaką maskę należy ustawić, aby dane wprowadzone składały się z trzech znaków w formacie: obowiązkowa cyfra, następnie dwie obowiązkowe litery?

Ogólne
Rozmiar pola3
Format
Maska wprowadzania
Tytuł
Wartość domyślna
Reguła spr. poprawności
Tekst reguły spr. poprawności
WymaganeNie
Zerowa dł. dozwolonaTak
IndeksowaneNie
Kompresja UnicodeTak
Tryb IMEBez formantu
Tryb zdania edytora IMEBrak
Tagi inteligentne
A. 0LL
B. 0CC
C. 000
D. CLL
W MS Access maska wprowadzania danych jest używana do kontrolowania formatu danych wprowadzanych do pola. Dla pola, w którym dane muszą mieć postać jednej cyfry, a następnie dwóch liter, odpowiednia maska to 0LL. Zero (0) oznacza, że na tej pozycji musi znajdować się cyfra i jest to wymóg obowiązkowy. Litera L oznacza, że na tej pozycji musi znajdować się litera i jest to również wymóg obowiązkowy. W ten sposób maska 0LL wymusza, aby dane były dokładnie w formacie jednej cyfry i dwóch liter. Praktyczne zastosowanie tego typu maski może być widoczne w sytuacjach, gdzie istnieje konieczność katalogowania produktów, gdzie oznaczenie musiałoby zawierać numer identyfikacyjny w postaci cyfry i skrót literowy identyfikujący kategorię. Takie podejście do formatowania danych zapewnia spójność i poprawność danych wprowadzanych do bazy, zgodnie z dobrymi praktykami zarządzania danymi, co jest kluczowe w systemach bazodanowych, gdzie dane są często przetwarzane i analizowane.

Pytanie 16

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

$zapytanie = mysqli_query($db, "UPDATE ...");
A. dodanie nowych danych do bazy
B. zmianę struktury bazy
C. zmianę danych w bazie
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 17

W CSS wartości underline, overline, blink są przypisane do atrybutu

A. text-decoration
B. text-style
C. font-style
D. font-weight
Właściwość CSS 'text-decoration' to coś, co naprawdę może zmienić wygląd tekstu na stronach internetowych. Dzięki niej możemy dodać różne efekty dekoracyjne, jak podkreślenie, przekreślenie, czy nadkreślenie. Zdarzają się też nowinki, jak efekt 'blink', chociaż nie jest on zbyt popularny w profesjonalnym kodzie. Warto pamiętać, że stosowanie tej właściwości poprawia czytelność i estetykę tekstu. Na przykład, gdy chcemy wyróżnić ważne informacje, możemy użyć 'text-decoration: underline;'. Ciekawostka: niektóre efekty, jak 'blink', mogą sprawić problemy z dostępnością, więc lepiej ich unikać. Właściwe użycie 'text-decoration' w połączeniu z odpowiednimi znacznikami HTML, jak <span> lub <a>, może naprawdę poprawić interaktywność naszej strony. Dobrze jest o tym pamiętać, gdy pracujemy nad projektami.

Pytanie 18

Aby utworzyć różnicową kopię zapasową bazy danych na serwerze MS SQL, w poleceniu BACKUP należy użyć klauzuli:

A.
DIFFERENTIAL
B.
WITH FORMAT
C.
FULL
D.
RESTORE
Kopia różnicowa zapisuje wyłącznie dane zmienione od ostatniej kopii pełnej, więc jest mniejsza i szybsza. W MS SQL tworzy się ją poleceniem BACKUP DATABASE ... WITH DIFFERENTIAL. Przy odtwarzaniu wgrywa się najpierw kopię pełną, a potem różnicową. Dlatego za kopię różnicową odpowiada klauzula DIFFERENTIAL.

Pytanie 19

W przedstawionym kodzie JavaScript linie zostały ponumerowane dla wygody. Kod ten zawiera błąd, ponieważ po jego uruchomieniu nie wyświetla się żaden komunikat. Aby usunąć ten błąd, należy

1  if(a < b)
2      document.write(a);
3      document.write("jest mniejsze");
4  else
5      document.write(b);
6      document.write("jest mniejsze");
A. w liniach 2 i 5 zmienne a i b umieścić w cudzysłowie
B. dodać nawiasy klamrowe do sekcji if i else
C. umieścić znaki $ przed nazwami zmiennych
D. w liniach 3 i 6 zastąpić znaki cudzysłowu apostrofami, np. 'jest mniejsze'
Odpowiedź zakłada wstawienie nawiasów klamrowych do sekcji if oraz else co jest kluczowym elementem praktyki programowania w JavaScript. Nawiasy klamrowe zapewniają prawidłowe wykonanie bloku kodu w przypadku warunków jeśli i else co jest standardową praktyką w większości języków programowania. Nawet jeśli blok kodu zawiera tylko jedną linię dodanie nawiasów klamrowych zwiększa czytelność kodu i ułatwia jego przyszłą edycję. Użycie nawiasów klamrowych jest również kluczowe gdyż zapobiega błędom logicznym i nieoczekiwanym zachowaniom programu. W implementacji systemów produkcyjnych oraz podczas pracy z zespołem przestrzeganie takich standardów jest niezmiernie ważne ponieważ zapewnia spójność kodu i ułatwia jego zrozumienie przez innych programistów. Przykładowo dodanie nawiasów klamrowych do instrukcji if w kodzie który jest często aktualizowany minimalizuje ryzyko wprowadzenia błędów. Programiści zawsze powinni dążyć do pisania kodu który jest łatwy do zrozumienia utrzymania i modyfikacji co jest jednym z fundamentów inżynierii oprogramowania.

Pytanie 20

Który z elementów w sekcji head dokumentu HTML 5 jest obowiązkowy według walidatora HTML, a jego niedobór skutkuje błędem (error)?

A. style
B. link
C. title
D. meta
Znak „title” jest fundamentalnym elementem sekcji head dokumentu HTML, który ma kluczowe znaczenie dla jego poprawnego działania oraz dla doświadczeń użytkowników. Jego obecność jest niezbędna, ponieważ zapewnia tytuł strony, który jest wyświetlany na pasku tytułowym przeglądarki oraz w wynikach wyszukiwania. Tytuł powinien być krótki, ale jednocześnie informacyjny, co pozwala na łatwe zidentyfikowanie zawartości strony. Przykładowo, w przypadku bloga dotyczącego zdrowia, tytuł mógłby brzmieć „Porady zdrowotne – Jak dbać o zdrowie”. Ponadto, zgodnie z wytycznymi W3C, brak tego znacznika jest traktowany jako błąd, co oznacza, że strona nie będzie spełniać standardów HTML5. W praktyce, obecność tytułu wpływa również na SEO (optymalizację pod kątem wyszukiwarek), ponieważ wyszukiwarki często wykorzystują ten element do zrozumienia tematyki strony oraz jej rankingu. Dlatego dobór odpowiednich słów do tytułu jest równie ważny.

Pytanie 21

W poniższym zapytaniu SQL, co oznacza symbol gwiazdki w jego wyniku?

SELECT * FROM mieszkancy WHERE imie = 'Anna';
A. wyświetlenie wszystkich rekordów z tabeli mieszkancy
B. pokazanie pola o nazwie '*' (gwiazdka)
C. wyświetlenie wszystkich kolumn z tabeli mieszkancy
D. zignorowanie warunku dotyczącego imienia
W zapytaniu SQL znak gwiazdki (*) nie oznacza wyświetlenia wszystkich rekordów w tabeli, lecz wskazuje, że w wyniku zapytania mamy otrzymać wszystkie kolumny. To ważne rozróżnienie, ponieważ mylenie tych pojęć prowadzi do nieporozumień dotyczących struktury wyników. Każde zapytanie z gwiazdką ograniczone jest jedynie kolumnami nie rekordami. W tym przypadku część WHERE imie = 'Anna' dodatkowo sie mplementuje ograniczenie do konkretnych rekordów co należy do odrębnej części logiki zapytania. Z kolei interpretacja gwiazdki jako pola o nazwie '*' jest błędnym założeniem ponieważ w standardzie SQL nie istnieje możliwość nadania pola o takiej nazwie poprzez użycie gwiazdki. Gdybyśmy chcieli wyświetlić pole o konkretnej nazwie musielibyśmy użyć jego dokładnej nazwy a nie gwiazdki. Interpretacja gwiazdki jako zignorowania warunku WHERE również jest niepoprawna ponieważ WHERE jest integralną częścią zapytania SQL określającą kryteria filtrowania rekordów i działa niezależnie od gwiazdki. Zrozumienie różnic między wyborem kolumn a wyborem rekordów jest kluczowe dla prawidłowego konstruowania zapytań SQL i optymalizacji ich działania w praktycznych zastosowaniach.

Pytanie 22

W SQL, aby zaktualizować informacje w wierszach w tabeli, konieczne jest użycie polecenia

A. ALTER TABLE
B. UPDATE
C. INSERT INTO
D. SELECT
Odpowiedź "UPDATE" jest właściwa, bo w SQL to właśnie to polecenie używamy do zmiany danych w już istniejących wierszach tabeli. Żeby zaktualizować konkretne kolumny w danym wierszu, trzeba wpisać coś takiego: "UPDATE nazwa_tabeli SET kolumna1 = wartość1, kolumna2 = wartość2 WHERE warunek". Dzięki klauzuli WHERE możemy dokładnie wskazać, które wiersze chcemy zmienić, co jest naprawdę ważne, żeby wszystko działało sprawnie i bezpiecznie. Na przykład, jeśli chcemy zmienić nazwisko użytkownika o id równym 1, napiszemy: "UPDATE Użytkownicy SET nazwisko = 'NoweNazwisko' WHERE id = 1". Używanie tego polecenia to dobra praktyka w zarządzaniu bazami danych. Nie zapominajmy o transakcjach, żeby mieć pewność, że dane są bezpieczne. A jak korzystamy z przygotowanych zapytań, to zminimalizujemy ryzyko ataków SQL injection, co jest bardzo istotne w kontekście bezpieczeństwa aplikacji bazodanowych.

Pytanie 23

W tabeli psy znajdują się kolumny: imie, rasa, telefon_wlasciciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby uzyskać numery telefonów właścicieli psów, które były szczepione przed rokiem 2015?

A. SELECT imie, rasa FROM psy WHERE rok_szczepienia > 2015
B. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia > 2015
C. SELECT psy FROM rok_szczepienia < 2015
D. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015
Wybór odpowiedzi 'SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015' jest poprawny, ponieważ spełnia wszystkie kryteria zawarte w pytaniu. Kluczowym elementem jest zastosowanie klauzuli WHERE, która filtruje wyniki do tych, gdzie rok szczepienia jest mniejszy niż 2015. Używając SELECT, wybieramy tylko kolumnę 'telefon_wlasciciela', co odpowiada na konkretną potrzebę, jaką jest uzyskanie numerów telefonów właścicieli psów, które były szczepione przed określoną datą. W praktyce, takie zapytanie może być użyteczne w sytuacjach np. przypominania właścicielom o konieczności szczepień, co wpisuje się w szerszy kontekst zarządzania zdrowiem zwierząt. Dobre praktyki w SQL obejmują również staranność przy określaniu warunków filtracji, aby zminimalizować ryzyko błędnych wyników. Warto także pamiętać o indeksowaniu kolumn w bazie danych, co może przyspieszyć wykonywanie takich zapytań, zwłaszcza w dużych zbiorach danych.

Pytanie 24

Który znacznik lub grupa znaczników nie są stosowane do definiowania struktury strony HTML?

A. <div>
B. <i>, <b>, <u>
C. <header>, <footer>
D. <section>
Znacznik <i>, <b>, <u> jest stosowany głównie do celów prezentacyjnych, a nie do definiowania struktury dokumentu HTML. <i> oznacza tekst kursywą, <b> tekst pogrubiony, a <u> tekst podkreślony. Te znaczniki są częścią HTML, ale ich główną funkcją jest wzbogacenie wizualne treści, co nie ma związku z logiczną strukturą strony. W kontekście dobrych praktyk webowych, zaleca się stosowanie znaczników semantycznych, które dostarczają bardziej zrozumiałych informacji o treści strony wyszukiwarkom i asystentom technologicznym. Przykładowo, zamiast używać <b> dla podkreślenia znaczenia tekstu, warto skorzystać z <strong>, który również pogrubia tekst, ale dodatkowo wskazuje, że jest on istotny. Dobre praktyki sugerują, aby struktura strony była wyraźna i zrozumiała, co ułatwia nawigację oraz dostępność. Właściwe użycie znaczników takich jak <header>, <footer> czy <section> pomaga w tworzeniu jasnej i logicznej hierarchii dokumentu.

Pytanie 25

Utworzono bazę danych z tabelą mieszkancy, która zawiera pola: nazwisko, imie, miasto. Następnie zrealizowano poniższe zapytanie do bazy:

SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Poznań" UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Kraków"
Wskaż zapytanie, które zwróci te same dane:
A. SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Poznań" OR miasto="Kraków"
B. SELECT nazwisko, imie FROM mieszkancy AS "Poznań" OR "Kraków"
C. SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN "Poznań" OR "Kraków"
D. SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING "Poznań" OR "Kraków"
Wybrana odpowiedź jest poprawna, ponieważ wykorzystuje operator logiczny OR do połączenia dwóch warunków w klauzuli WHERE. W wyniku tego zapytania zostaną zwrócone wszystkie rekordy z tabeli 'mieszkancy', gdzie miasto to 'Poznań' lub 'Kraków'. To podejście jest zgodne z zasadami SQL, gdzie operator OR umożliwia łączenie warunków, co jest powszechnie stosowane w praktyce. Warto zauważyć, że zapytanie z wykorzystaniem operatora UNION ALL, które było pierwotnie zdefiniowane, również łączy wyniki z dwóch zapytań, ale każdy SELECT działa osobno. Użycie OR w tym przypadku jest bardziej efektywne, ponieważ pozwala na jedno zapytanie, co może przyspieszyć wykonanie w porównaniu do kilku zapytań UNION. W praktycznych zastosowaniach, gdy mamy do czynienia z wieloma kryteriami, stosowanie operatorów logicznych jest kluczowe dla uzyskania precyzyjnych wyników.

Pytanie 26

Co robi funkcja przedstawiona w kodzie JavaScript?

function tekst() {
var h = location.hostname;
document.getElementById("info").innerHTML = h;
}
A. umożliwić przejście do wskazanej lokalizacji hosta
B. pokazać na przycisku lokalizację hosta, a po jego naciśnięciu umożliwić przejście do określonej lokalizacji
C. wyświetlić w elemencie o id = "info" adres hosta wskazany przez pierwszy odnośnik
D. wyświetlić w elemencie o id = "info" nazwę hosta, z którego pochodzi wyświetlona strona
Prawidłowa odpowiedź wskazuje, że kod JavaScript wywołuje metodę location.hostname, która zwraca nazwę hosta aktualnie odwiedzanej strony. Hostname jest częścią obiektu Location, który reprezentuje bieżący URL dokumentu. Kod przypisuje wynik tej metody do zmiennej h, a następnie ustawia innerHTML elementu o id info na wartość tej zmiennej. Dzięki takim operacjom, kod efektywnie wyświetla nazwę hosta w elemencie o konkretnym identyfikatorze na stronie HTML. Jest to częsta technika używana w aplikacjach webowych, gdzie istotne jest dynamiczne wyświetlanie informacji o aktualnym połączeniu. Znajomość obiektu Location oraz jego właściwości, takich jak hostname, to podstawowa umiejętność w pracy z językiem JavaScript, szczególnie w kontekście manipulacji DOM. Takie podejście jest zgodne z dobrymi praktykami, gdyż unika bezpośredniego wpisywania danych w kodzie, co zwiększa elastyczność i ułatwia utrzymanie aplikacji.

Pytanie 27

Którym poleceniem wyświetlisz konfigurację serwera PHP (wersję PHP, system serwera, wartości zmiennych predefiniowanych)?

A.
print_r(ini_get_all());
B.
phpinfo();
C.
phpcredits();
D.
echo phpversion();
Aby zobaczyć konfigurację serwera PHP - wersję, system, rozszerzenia i zmienne predefiniowane - używa się phpinfo();. Funkcja sama buduje czytelną stronę z tymi danymi, więc nie trzeba ich zbierać ręcznie. Zapamiętaj: jedno wywołanie phpinfo() zastępuje dziesiątki osobnych sprawdzeń środowiska.

Pytanie 28

Który z poniższych kodów XHTML sformatuje tekst zgodnie z podanym przykładem?

Ala ma kota
a kot ma Alę

A. <p>Ala ma <b>kota <br /> a <i>kot</i> ma Alę</p>
B. <p>Ala ma <b>kota</i><br/> a <b>kot</b> ma Alę</p>
C. <p>Ala ma <b>kota</b> <br/> a <i>kot</i> ma Alę</p>
D. <p>Ala ma <b>kota</b> <br/> a <b>kot</b> ma Alę</p>
Odpowiedź <p>Ala ma <b>kota</b> <br/> a <i>kot</i> ma Alę</p> jest poprawna, ponieważ zgodnie z zasadami XHTML, użycie znaczników <b> i <i> do formatowania tekstu jest odpowiednie; <b> stosowany jest do wyróżniania tekstu pogrubionego, a <i> do kursywy. W tej odpowiedzi zastosowano również poprawny znacznik <br/>, który jest samodzielnym znacznikiem i nie wymaga zamknięcia w parze. Zgodnie z dobrymi praktykami, kod XHTML powinien być poprawnie sformatowany, a każdy otwierający znacznik powinien mieć odpowiadający mu zamykający znacznik, chyba że jest to znacznik samodzielny, jak <br/>. Warto zaznaczyć, że XHTML wymaga również, aby wszystkie atrybuty były zapisane w formacie małych liter, co zostało spełnione w tej odpowiedzi. Przykład zastosowania tej wiedzy można znaleźć w tworzeniu stron internetowych, gdzie poprawne sformatowanie kodu HTML lub XHTML jest kluczowe dla prawidłowego wyświetlania treści w przeglądarkach.

Pytanie 29

W poleceniu CREATE TABLE zastosowanie klauzuli PRIMARY KEY przy definiowaniu kolumny tabeli spowoduje, że ta kolumna stanie się

A. kluczem podstawowym
B. indeksem klucza
C. kluczem obcym
D. indeksem unikalnym
Użycie klauzuli PRIMARY KEY w instrukcji CREATE TABLE pozwala na zdefiniowanie unikalnego identyfikatora dla każdego rekordu w tabeli. Klucz podstawowy zapewnia, że żadne dwa wiersze nie mogą mieć tej samej wartości w kolumnie, co jest kluczowe dla zachowania integralności danych. Przykładem praktycznym może być stworzenie tabeli użytkowników, gdzie 'id_użytkownika' jest kluczem podstawowym. Taki klucz może być typu INTEGER z automatycznym inkrementowaniem, co oznacza, że dla każdego nowego użytkownika wartość 'id_użytkownika' wzrasta automatycznie. Standardy branżowe zalecają definiowanie klucza podstawowego dla każdej tabeli, aby upewnić się, że rekordy można w sposób jednoznaczny zidentyfikować, co jest niezbędne dla relacyjnych baz danych. Dodatkowo, klucz podstawowy automatycznie tworzy indeks na tej kolumnie, co przyspiesza operacje wyszukiwania. Ważne jest, aby klucz podstawowy był dobrze przemyślany, ponieważ jego zmiana w przyszłości może wiązać się z dużymi komplikacjami w bazie danych.

Pytanie 30

W programie INKSCAPE / COREL aby uzyskać przedstawiony efekt napisu, należy

Ilustracja do pytania
A. zastosować funkcję sumy z kołem.
B. skorzystać z funkcji wstaw / dopasuj tekst do ścieżki.
C. zastosować funkcję wykluczenia z kołem.
D. skorzystać z funkcji gradientu.
Twoja odpowiedź jest prawidłowa. W programach graficznych takich jak Inkscape czy CorelDRAW, aby ułożyć tekst wzdłuż zakrzywionej ścieżki, stosuje się funkcję dopasowania tekstu do ścieżki. Taka funkcja pozwala na zastosowanie tekstu w dowolnym kierunku, co daje dużą swobodę w projektowaniu grafik. Można to robić na różne sposoby, na przykład poprzez ręczne rysowanie ścieżki, a następnie dopasowanie do niej tekstu lub poprzez użycie gotowych kształtów. W CorelDRAW funkcja ta nosi nazwę 'fit text to path', natomiast w Inkscape nazywa się 'text to path'. Jest to technika często stosowana w projektowaniu logo, plakatów, czy też w innych projektach, gdzie tekst musi być dostosowany do niestandardowych kształtów. Prawidłowe zrozumienie i umiejętność wykorzystania tej funkcji znacząco podnosi efektywność pracy w programach graficznych.

Pytanie 31

W języku PHP funkcja trim służy do

A. usuwania białych znaków lub innych określonych w parametrze znaków z obu końców tekstu
B. porównywania dwóch tekstów i wyświetlania ich wspólnej części
C. podawania długości tekstu
D. redukcji tekstu o liczbę znaków określoną w parametrze
Funkcja <i>trim</i> w języku PHP ma na celu usuwanie białych znaków oraz innych znaków, które są określone w jej parametrach, z obu końców napisu. To niezwykle przydatne narzędzie w programowaniu, szczególnie podczas przetwarzania danych wejściowych, gdzie użytkownicy mogą nieświadomie dodawać zbędne spacje, tabulatory lub nowe linie. Na przykład, gdy przetwarzamy dane formularzy, może się zdarzyć, że użytkownik wprowadzi swoje imię z dodatkowymi spacjami na początku lub końcu. Użycie <i>trim</i> pozwala na zapewnienie, że dane będą miały odpowiednią formę przed dalszym przetwarzaniem, co jest kluczowe w kontekście walidacji i normalizacji danych. Dodatkowo, funkcja ta wspiera podawanie własnych znaków do usunięcia, co czyni ją bardzo elastycznym narzędziem w codziennym programowaniu. Używanie <i>trim</i> jako standardowej praktyki przy obróbce danych tekstowych jest rekomendowane przez wielu ekspertów, ponieważ zwiększa to jakość i spójność przetwarzanych informacji.

Pytanie 32

Instrukcja przypisania elementu do tablicy w języku JavaScript dotyczy tablicy:

Tablica['technik'] = 'informatyk';
A. statycznej.
B. asocjacyjnej.
C. numerycznej.
D. wielowymiarowej.
Poprawna odpowiedź to 'asocjacyjna'. W języku JavaScript, tablice asocjacyjne są strukturami danych, które używają kluczy zamiast indeksów numerycznych. Kluczem może być dowolny ciąg znaków, co oznacza, że elementy tablicy są identyfikowane za pomocą unikalnych kluczy. W praktyce, gdy używamy tablicy asocjacyjnej, przypisujemy wartość do określonego klucza, jak w przedstawionym przykładzie, gdzie wartość 'informatyk' przypisana jest do klucza 'technik'. Jest to często stosowane w praktyce, ponieważ pozwala na bardziej intuicyjne i zrozumiałe indeksowanie danych. Ważne jest jednak, aby pamiętać, że mimo iż tablice asocjacyjne są bardzo użyteczne, nie są one oficjalnie uznawane przez specyfikację języka JavaScript, co oznacza, że różne środowiska mogą je obsługiwać w różny sposób.

Pytanie 33

W języku działającym po stronie serwera tworzysz ankietę, której wynik ma być zapamiętany w postaci małego pliku po stronie użytkownika. Jaki mechanizm wykorzystasz?

A. tablicę globalną $_FILES
B. sesję
C. bazę danych SQL
D. ciasteczka (cookies)
Ciasteczko (cookie) to niewielki plik zapisywany przez serwer w przeglądarce użytkownika i odsyłany przy kolejnych żądaniach. Idealnie nadaje się do zapamiętania drobnej informacji po stronie klienta, np. że ktoś wziął już udział w ankiecie. W PHP ustawia się je funkcją setcookie(). Dlatego dane zapisywane w małym pliku u użytkownika to ciasteczka.

Pytanie 34

Aby sprawdzić ustawienia konfiguracji PHP (z pliku php.ini), można uruchomić skrypt zawierający wywołanie:

A.
phpinfo()
B.
ini_set()
C.
phpversion()
D.
phpcredits()
Funkcja phpinfo() generuje stronę z pełną informacją o konfiguracji PHP: wartości dyrektyw z pliku php.ini, załadowane rozszerzenia, wersję, ścieżki i zmienne środowiskowe. Wystarczy uruchomić skrypt <?php phpinfo(); ?>, by sprawdzić, jak skonfigurowany jest serwer. Dlatego do podejrzenia ustawień PHP służy phpinfo().

Pytanie 35

Przedstawione zapytanie SELECT wykonane na tabeli przechowującej dane o uczestnikach konkursu ma za zadanie wybrać

SELECT MAX(wiek) - MIN(wiek) FROM uczestnicy;
A. minimalny oraz maksymalny wiek uczestników.
B. różnicę wieku pomiędzy najstarszym i najmłodszym uczestnikiem.
C. średnią arytmetyczną wieku uczestników.
D. liczbę najstarszych uczestników.
Gratulacje, ta odpowiedź jest poprawna. Zapytanie SQL używa funkcji agregujących MAX i MIN do określenia maksymalnej i minimalnej wartości wieku w tabeli uczestników. Użycie tych funkcji umożliwia nam zidentyfikowanie najstarszego i najmłodszego uczestnika. Następnie, zapytanie oblicza różnicę między tymi wartościami, co odpowiada różnicy wieku między najstarszym i najmłodszym uczestnikiem. To jest standardowe podejście w SQL do wykonywania tego typu zapytań. W praktyce, takie zapytania są często używane w analizie danych do określania różnorodności danych, takiej jak zakres wieku uczestników w danym konkursie. Pamiętaj, że funkcje agregujące w SQL, takie jak MAX i MIN, są niezwykle przydatne w analizie danych, umożliwiając nam podsumowanie i analizę dużych zbiorów danych.

Pytanie 36

Tabele: Studenci, Zapisy, Zajecia są powiązane relacją. Aby wybrać jedynie nazwiska studentów oraz odpowiadające im idZajecia dla studentów z grupy 15, należy wydać kwerendę

Ilustracja do pytania
A. SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idStudenta WHERE grupa = 15;
B. SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy ON Studenci.id = Zapisy.idStudenta;
C. SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy WHERE grupa= 15;
D. SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idZajecia WHERE grupa = 15;
Pierwszym istotnym problemem w niepoprawnych zapytaniach jest brak prawidłowego połączenia tabel na właściwych kluczach. W relacyjnych bazach danych, aby sensownie połączyć dane z różnych tabel, należy wykorzystać klucze główne i obce, które jasno definiują powiązania między obiektami. Jeśli zapomni się o warunku JOIN albo połączy się tabele po błędnych kolumnach (na przykład próbując połączyć idStudenta z idZajecia lub pomijając warunek ON), baza zwróci błędne wyniki lub wręcz nie pozwoli wykonać zapytania. To typowy błąd początkujących, którzy nie zawsze rozumieją, jak bardzo ważne jest precyzyjne określenie relacji – w rzeczywistych bazach danych relacji jest wiele, a niewłaściwe powiązanie może prowadzić do powstawania kartuzjańskiego iloczynu, czyli powielania danych bez rzeczywistego sensu. Brak filtru WHERE grupa = 15 skutkuje wyciągnięciem danych dla wszystkich studentów, co może być ogromnym problemem przy dużych bazach i całkowicie rozmija się z celem kwerendy. Moim zdaniem, wiele osób zapomina, że filtrowanie to podstawa – bez tego, szczególnie przy produkcyjnych bazach, można zarówno błędnie interpretować wyniki, jak i mocno przeciążyć system niepotrzebnym ruchem. Takie błędy wynikają często z braku systematycznego podejścia do projektowania zapytań i nieuważnego czytania struktury tabel. Warto od razu przyzwyczajać się do pracy zgodnie z konwencjami, bo to przekłada się na bezpieczeństwo, wydajność i poprawność działania całego systemu. W praktyce – nawet drobny błąd w składni JOIN lub brak filtrowania na kluczowej kolumnie może wywołać lawinę problemów, zwłaszcza gdy kwerenda staje się częścią większej aplikacji biznesowej lub raportu dla zarządu.

Pytanie 37

W którym z bloków powinien znaleźć się warunek pętli?

Ilustracja do pytania
A. A.
B. B.
C. C.
D. D.
Wybór innego bloku niż C jako miejsca na umieszczenie warunku pętli wprowadza błędne zrozumienie struktury diagramów przepływu. Blok A, reprezentujący proces lub działanie, jest używany do przedstawienia operacji lub kroków bez podejmowania decyzji. Umieszczenie w nim warunku pętli byłoby mylące, ponieważ nie oddaje istoty kontrolowania przepływu w programie. Blok B, w kształcie elipsy, jest powszechnie używany jako punkt startowy lub końcowy procesu, a nie do określania logiki decyzji. Użycie go do pętli nie jest zgodne z konwencjami diagramów przepływu i może prowadzić do błędnej interpretacji algorytmu. Blok D, reprezentujący magazyn danych, skupia się na przechowywaniu i zarządzaniu informacjami, a nie na logice sterowania przepływem. Typowe błędy, które mogą prowadzić do wyboru niewłaściwego bloku, to mylenie funkcji symboli w diagramach przepływu oraz niezrozumienie zasad ich użycia zgodnie z praktykami przemysłowymi. Zrozumienie, dlaczego każdy blok ma swoją specyficzną rolę, jest kluczowe dla tworzenia efektywnych i dokładnych modeli programistycznych, co z kolei ułatwia komunikację między programistami oraz innymi interesariuszami w projekcie.

Pytanie 38

W JavaScript metoda getElementById odnosi się do

A. zmiennej numerycznej
B. klasy zdefiniowanej w CSS
C. znacznika HTML o wskazanym id
D. znacznika HTML o podanej nazwie klasy
Metoda getElementById w JavaScript jest kluczowym narzędziem do interakcji z modelowaniem DOM (Document Object Model). Służy do uzyskiwania dostępu do pojedynczego elementu HTML na podstawie jego atrybutu id, co jest zgodne z zasadą unikalności identyfikatorów w dokumencie HTML. Dzięki temu programiści mogą stosunkowo łatwo manipulować pojedynczymi elementami, co jest istotne w dynamicznych aplikacjach internetowych. Przykładem zastosowania tej metody może być zmiana tekstu w elemencie <h1>, gdzie używamy getElementById('myHeader').innerHTML = 'Nowy nagłówek';. Zgodnie z dobrymi praktykami, powinno się unikać używania zduplikowanych id w dokumencie, aby zapewnić, że metoda ta zawsze zwraca jeden, a nie wiele elementów. Warto również pamiętać, że w przypadku braku elementu o podanym id, metoda zwróci null, co powinno być uwzględnione w logice aplikacji, aby uniknąć błędów. Użycie tej metody jest standardem w programowaniu JavaScript i stanowi fundament dla wielu bardziej zaawansowanych technik manipulacji DOM.

Pytanie 39

Aby zdefiniować styl akapitu <p>, który występuje bezpośrednio po znaczniku <img>, należy w arkuszu CSS zastosować selektor:

A.
img p
B.
img [p]
C.
img + p
D.
img > p
Akapit występujący bezpośrednio po obrazie wybiera selektor sąsiadujący img + p. Operator + oznacza element, który jest następnym rodzeństwem (sąsiadem) poprzedzającego - tu: pierwszy <p> stojący tuż po <img> na tym samym poziomie. Dzięki temu stylujesz dokładnie ten jeden akapit, nie ruszając pozostałych. Dlatego poprawny jest img + p.

Pytanie 40

Którego polecenia JavaScript należy użyć, aby w oknie przeglądarki wyświetliło się okno przedstawione na obrazie?

Ilustracja do pytania
A. alert(’Ile masz lat?’)
B. prompt(’Ile masz lat?’)
C. confirm(’Ile masz lat?’)
D. document.write(’Ile masz lat?’)
Prawidłowo – żeby wyświetlić w przeglądarce okno z polem tekstowym do wpisania odpowiedzi, trzeba użyć funkcji prompt(). W JavaScript wywołanie prompt('Ile masz lat?') powoduje pokazanie natywnego okna dialogowego z komunikatem oraz jednym polem input typu tekstowego. Funkcja zwraca to, co użytkownik wpisze, jako łańcuch znaków (string), albo null, jeśli kliknie „Anuluj”. Dzięki temu od razu możesz przypisać wynik do zmiennej, np.: const wiek = prompt('Ile masz lat?'); i dalej go przetwarzać w skrypcie, np. konwertować na liczbę: const wiekNum = Number(wiek); albo parseInt(wiek, 10). Z mojego doświadczenia prompt() jest często używany w prostych przykładach dydaktycznych, do szybkiego testowania logiki programu, np. pytanie o imię, wiek, hasło dostępu w wersji „demo”. W realnych aplikacjach produkcyjnych raczej unika się prompt(), bo jest mało elastyczny, trudno go ostylować i blokuje interfejs (jest modalny i synchroniczny). Standardem branżowym jest budowanie własnych okien dialogowych w HTML/CSS/JS, np. z użyciem <dialog>, frameworków UI albo bibliotek typu modal. Jednak do nauki podstaw JavaScript, zrozumienia przepływu danych między użytkownikiem a skryptem i pokazania prostych interakcji prompt() jest bardzo wygodny. Warto też pamiętać, że prompt zawsze zwraca tekst, więc jeśli dalej chcesz wykonywać obliczenia, to zgodnie z dobrymi praktykami najpierw jawnie rzutuj go na typ liczbowy i sprawdź, czy użytkownik nie wpisał bzdury (isNaN, walidacja zakresu itp.).