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: 28 kwietnia 2026 14:22
  • Data zakończenia: 28 kwietnia 2026 14:34

Egzamin zdany!

Wynik: 27/40 punktów (67,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Jakie typy danych w języku C++ służą do reprezentacji liczb zmiennoprzecinkowych?

A. float, double
B. float, long
C. double, bool
D. double, short
Odpowiedź 'float, double' jest poprawna, ponieważ w języku C++ to właśnie te dwa typy danych są używane do reprezentacji liczb rzeczywistych. Typ 'float' (zmienna pojedynczej precyzji) przechowuje liczby rzeczywiste w formacie zmiennoprzecinkowym, co oznacza, że może reprezentować liczby z częściami dziesiętnymi, ale z ograniczoną precyzją – zazwyczaj do 7 miejsc znaczących. Z kolei typ 'double' (zmienna podwójnej precyzji) oferuje znacznie większą precyzję, umożliwiając reprezentację do 15 miejsc znaczących. Stosowanie tych typów jest kluczowe w kontekście obliczeń naukowych, inżynieryjnych oraz wszędzie tam, gdzie precyzyjne operacje na liczbach rzeczywistych są niezbędne, na przykład w obliczeniach dotyczących grafiki komputerowej czy symulacji fizycznych. C++ przestrzega standardów IEEE 754 dla reprezentacji liczb zmiennoprzecinkowych, co sprawia, że te typy danych są zgodne z innymi językami programowania i technologiami. Dlatego wybór 'float' i 'double' jest zgodny z najlepszymi praktykami programistycznymi, które priorytetowo traktują zarówno wydajność, jak i dokładność obliczeń.

Pytanie 2

W aplikacji PHP, która zarządza bazą danych, aby uzyskać numer błędu oraz jego opis po dokonaniu jakiejkolwiek operacji, jakie funkcje powinny być wykorzystane?

A. funkcje mysqli_error i mysqli_connect_errno
B. funkcje mysqli_error i mysqli_errno
C. funkcje mysqli_error i mysqli_error_number
D. tylko funkcję mysqli_error
Wybór funkcji mysqli_error i mysqli_connect_errno nie jest właściwy, ponieważ mysqli_connect_errno jest funkcją przeznaczoną do uzyskiwania numeru błędu połączenia z bazą danych, a nie błędu SQL. Użycie tej funkcji w kontekście operacji na bazie danych prowadzi do mylnego wniosku, że jej zastosowanie jest uniwersalne dla wszystkich błędów. W rzeczywistości, mysqli_connect_errno powinno być stosowane głównie podczas nawiązywania połączenia, natomiast dla błędów związanych z zapytaniami SQL właściwe są inne funkcje. Z kolei wskazanie tylko na funkcję mysqli_error nie jest wystarczające, ponieważ sama dostarcza jedynie opisu błędu, a nie jego numeru, co ogranicza możliwości analizy i diagnostyki. Użytkownicy często popełniają błąd myślowy, zakładając, że pojedyncza funkcja może spełnić wszystkie potrzeby związane z obsługą błędów. W prawidłowym procesie zarządzania błędami w programowaniu, kluczowe jest użycie zestawu funkcji, które dostarczają zarówno opisy, jak i kody błędów, co pozwala na bardziej wszechstronną reakcję na różne sytuacje awaryjne. Ignorowanie tej zasady może prowadzić do nieefektywnego debugowania i długotrwałych problemów w działaniu aplikacji.

Pytanie 3

Którą kwerendę należy wykonać, aby zaktualizować wszystkim rekordom z tabeli pracownicy wartość w kolumnie plec na K, przyjmując na potrzeby zadania, że każde imię żeńskie kończy się literą a?

A. ALTER TABLE pracownicy SET plec='K' WHERE imie='%a';
B. UPDATE pracownicy SET plec='K' WHERE imie LIKE '%a';
C. ALTER TABLE pracownicy SET plec='K' WHERE imie LIKE '%a';
D. UPDATE pracownicy SET plec='K' WHERE imie='%a';
Poprawna jest kwerenda: UPDATE pracownicy SET plec='K' WHERE imie LIKE '%a';. Po pierwsze użyty jest właściwy typ polecenia SQL do modyfikacji danych w tabeli. Do zmiany wartości w istniejących rekordach zawsze używamy instrukcji UPDATE, a nie ALTER TABLE. ALTER TABLE służy do zmiany struktury tabeli (np. dodanie kolumny, zmiana typu danych, usunięcie kolumny), a nie do operowania na danych w wierszach. To jest taki podstawowy podział: DDL (Data Definition Language) – np. ALTER TABLE, CREATE, DROP – do definicji struktury; DML (Data Manipulation Language) – np. SELECT, INSERT, UPDATE, DELETE – do pracy na rekordach. W tym zadaniu ewidentnie potrzebna jest operacja DML. Druga ważna rzecz to warunek WHERE imie LIKE '%a'. Operator LIKE służy do porównywania tekstów z wykorzystaniem wzorców. Symbol % oznacza „dowolny ciąg znaków (również pusty)”, więc wzorzec '%a' oznacza: dowolny ciąg znaków zakończony literą „a”. Dokładnie o to chodzi w zadaniu: przyjmujemy założenie, że każde imię żeńskie kończy się na „a”, więc chcemy zaktualizować wszystkie rekordy, gdzie kolumna imie kończy się na „a”. Gdybyśmy chcieli szukać imion zaczynających się na „A”, używalibyśmy 'A%'. Moim zdaniem warto zapamiętać ten schemat, bo w praktyce bardzo często stosuje się LIKE do prostych filtrów tekstowych: wyszukiwanie użytkowników po fragmencie loginu, znajdowanie produktów po części nazwy, filtrowanie adresów e-mail po domenie itp. Przykład: UPDATE klienci SET status='VIP' WHERE nazwisko LIKE 'Nowak%'; – zaktualizuje wszystkich Nowaków. Albo: UPDATE produkty SET promocja=1 WHERE nazwa LIKE '%kabel%'; – zaznaczy jako promocyjne wszystkie produkty, których nazwa zawiera słowo „kabel”. W dobrych praktykach zaleca się uważać z aktualizacjami bez WHERE, bo wtedy zmieniamy wszystkie rekordy w tabeli. Tutaj warunek LIKE '%a' pełni rolę bezpiecznego filtra. W wielu systemach bazodanowych warto też pamiętać, że domyślnie porównania tekstowe mogą być niewrażliwe na wielkość liter (collation), więc 'a' i 'A' mogą być traktowane tak samo, ale to już zależy od konfiguracji bazy. W kontekście egzaminów zawodowych i pracy z SQL-em takie zadanie to klasyk – łączy poprawne użycie UPDATE z właściwym użyciem LIKE i symbolu % jako wieloznakowego wildcarda.

Pytanie 4

Jak kwerenda SQL przedstawiona w ramce wpłynie na tabelę pracownicy?

ALTER TABLE pracownicy MODIFY plec char(9);
A. Doda kolumnę plec ze znakowym typem danych o stałej długości 9
B. Zmieni typ danych kolumny plec na znakowy o stałej długości 9
C. Doda kolumnę plec ze znakowym typem danych o zmiennej długości 9
D. Zmieni typ danych kolumny plec na znakowy o zmiennej długości 9
Inne odpowiedzi, które podałeś, dotyczą różnych operacji SQL, które nie mają związku z tym, co robi ALTER TABLE pracownicy MODIFY plec char(9). Musisz zrozumieć, że różnica między CHAR a VARCHAR jest dość istotna. CHAR ma stałą długość, to znaczy, że każda wartość w kolumnie zawsze ma tę samą liczbę znaków, uzupełnianą spacjami. Z kolei VARCHAR przechowuje dane o zmiennej długości, co może oszczędzać miejsce, ale wymaga więcej uwagi w zarządzaniu długością. Dodatkowo, jeśli chciałbyś dodać nową kolumnę, musiałbyś użyć polecenia ADD, a nie MODIFY. Ta różnica między dodawaniem a modyfikowaniem często myli początkujących w projektowaniu baz danych. Z mojego doświadczenia, wybór odpowiedniego typu danych i operacji jest kluczowy, bo źle przypisane polecenie może prowadzić do problemów z aplikacjami i zarządzaniem danymi. Tak że kluczowe jest zrozumienie, jak działają te polecenia SQL, żeby dobrze projektować efektywne bazy danych.

Pytanie 5

Język JavaScript wspiera

A. wysyłanie ciastek z identycznymi informacjami do wielu użytkowników strony
B. abstrakcyjne klasy
C. funkcje wirtualne
D. obiekty DOM
Obiekty DOM (Document Object Model) są fundamentalnym aspektem języka JavaScript, umożliwiającym interakcję z dokumentami HTML i XML. Dzięki DOM, programiści mogą dynamicznie manipulować strukturą dokumentu, co pozwala na tworzenie interaktywnych aplikacji webowych. Na przykład, za pomocą JavaScript można zmieniać tekst w elementach HTML, dodawać lub usuwać elementy, a także reagować na zdarzenia użytkownika, takie jak kliknięcia czy ruchy myszy. Przykładowy kod: document.getElementById('example').innerHTML = 'Nowa zawartość'; ilustruje, jak można zmienić zawartość elementu z identyfikatorem 'example'. Zrozumienie i umiejętność pracy z DOM jest kluczowe w nowoczesnym tworzeniu stron internetowych oraz aplikacji w JavaScript, co wpisuje się w najlepsze praktyki rozwoju oprogramowania, takie jak separacja logiki od prezentacji i programowanie obiektowe.

Pytanie 6

W języku HTML, dane dotyczące autora, opisu oraz słów kluczowych strony powinny być zamieszczone

A. pomiędzy znacznikami <head> i </head>, w znaczniku <meta>
B. pomiędzy znacznikami <head> i </head>, w znaczniku <style>
C. pomiędzy znacznikami <body> i </body>, w znaczniku <meta>
D. pomiędzy znacznikami <body> i </body>, w znaczniku <html>
W HTML informacje dotyczące autora, streszczenia i słów kluczowych strony powinny być umieszczone pomiędzy znacznikami <head> i </head>, w znaczniku <meta>. Znacznik <head> jest przeznaczony do przechowywania metadanych strony, które nie są wyświetlane bezpośrednio na stronie, ale są istotne dla przeglądarek internetowych oraz wyszukiwarek. Informacje te pomagają w indeksowaniu strony, co ma kluczowe znaczenie dla SEO. Przykładowe metadane to <meta name='author' content='Imię Nazwisko'>, które wskazuje autora treści, <meta name='description' content='Opis strony'>, które dostarcza krótkie streszczenie jej zawartości oraz <meta name='keywords' content='słowo1, słowo2'>, które definiuje słowa kluczowe związane z treścią. Umieszczanie tych informacji w sekcji <head> jest standardem w HTML, co zapewnia ich poprawne rozpoznanie przez roboty wyszukiwarki, a także pozwala na odpowiednie wyświetlanie w wynikach wyszukiwania. Dlatego kluczowe jest, aby stosować się do tych zaleceń, aby poprawić widoczność strony w Internecie.

Pytanie 7

Wykonanie zapytania SQL: DELETE FROM mieszkania WHERE status=1; spowoduje usunięcie

A. tabeli mieszkania w bazie danych
B. pola o nazwie status w tabeli mieszkania
C. tabel, w których pole status ma wartość 1, z bazy danych mieszkania
D. rekordów, gdzie pole status ma wartość 1, z tabeli mieszkania
Użycie kwerendy SQL: DELETE FROM mieszkania WHERE status=1; jest poprawne, ponieważ polecenie DELETE ma na celu usunięcie rekordów z określonej tabeli, w tym przypadku z tabeli mieszkania. Klauzula WHERE filtruje te rekordy, które mają wartość pola status równą 1. To podejście jest zgodne z zasadami zarządzania danymi, które sugerują, że operacje usuwania powinny być przeprowadzane z użyciem odpowiednich filtrów, aby zminimalizować ryzyko przypadkowego usunięcia niezamierzonych danych. Na przykład, jeśli w tabeli mieszkania mamy 1000 rekordów, a tylko 150 z nich ma status równy 1, to po wykonaniu tej kwerendy usunięte zostaną dokładnie te 150 rekordów, a pozostałe pozostaną nienaruszone. Dobrą praktyką jest również tworzenie kopii zapasowych danych przed wykonaniem operacji usuwania, aby móc je przywrócić w razie potrzeby. Kwerendy DELETE są niezwykle przydatne w zarządzaniu bazami danych, zwłaszcza w sytuacjach, gdzie wymagana jest aktualizacja danych lub usunięcie nieaktualnych informacji.

Pytanie 8

Aby grupować sekcje na poziomie bloków, które będą stilizowane za pomocą znaczników, jakiego należy użyć?

A. <span>
B. <param>
C. <div>
D. <p>
Znak <div> jest jednym z podstawowych elementów HTML, który służy do grupowania i organizowania zawartości w dokumentach HTML. Umożliwia on stosowanie stylów CSS oraz skryptów JavaScript na grupach elementów, co czyni go niezwykle użytecznym w budowie responsywnych i złożonych układów stron. W przeciwieństwie do znaku <p>, który zarezerwowany jest dla akapitów tekstu, lub <span>, który jest używany do izolowania niewielkich fragmentów tekstu w ramach większego kontekstu, <div> działa jako kontener wypełniający swoje otoczenie. Ponadto, <div> jest znacznikiem blokowym, co oznacza, że zajmuje całą szerokość dostępnego miejsca w swoim rodzicu, co jest kluczowe w projektowaniu układów. W praktyce może być używany do tworzenia sekcji strony, nagłówków, stopki czy artykułów, co pozwala na lepszą organizację kodu i stylów. W kontekście standardów, <div> jest częścią W3C HTML5, co zapewnia jego szeroką akceptację i zgodność z przeglądarkami. Użycie <div> do grupowania obszarów na poziomie bloków jest zatem najlepszą praktyką w nowoczesnym web designie.

Pytanie 9

Aby uzyskać dane z tabeli pracownicy wyłącznie dla osób, które osiągnęły 26 lat, należy zastosować zapytanie

A. SELECT * FROM pracownicy AND wiek > '25'
B. SELECT * FROM wiek WHERE pracownicy > '25'
C. SELECT * FROM pracownicy OR wiek > '25'
D. SELECT * FROM pracownicy WHERE wiek > '25'
Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > '25';'. To zapytanie jest zgodne z zasadami SQL i pozwala na wyświetlenie wszystkich rekordów z tabeli 'pracownicy', które spełniają określony warunek dotyczący wieku. Używając klauzuli WHERE, precyzyjnie filtrujemy wyniki i zwracamy tylko tych pracowników, którzy mają więcej niż 25 lat. Warto pamiętać, że w SQL operator '>' jest wykorzystywany do porównywania wartości, a w tym przypadku pozwala nam na wybranie pracowników, którzy ukończyli 26 lat. Przy projektowaniu zapytań SQL, kluczowe jest stosowanie odpowiednich warunków filtrujących, aby ograniczyć zwracane dane do tych istotnych dla analiz. Przykładowo, analiza wieku pracowników w kontekście przyznawania dodatków lub przeprowadzania szkoleń może opierać się na takich zapytaniach. W praktyce, ważne jest także wykorzystanie indeksów w bazach danych, aby zwiększyć wydajność zapytań, zwłaszcza w dużych zbiorach danych.

Pytanie 10

Jakie zasady dotyczące tworzenia sekcji w języku HTML są właściwe?

A. W sekcji <head> znajduje się sekcja <body>
B. W sekcji <head> można ustalać szablon strony za pomocą znaczników <div>
C. W sekcji <head> mogą się pojawić znaczniki <meta>, <title>, <link>
D. W sekcji <head> nie wolno umieszczać kodu CSS, tylko odniesienie do pliku CSS
Wybór odpowiedzi, że w części <head> mogą wystąpić znaczniki <meta>, <title>, <link> jest jak najbardziej poprawny. Część <head> dokumentu HTML jest kluczowa dla określenia właściwości oraz meta-informacji o stronie. Znacznik <meta> służy do przechowywania danych o stronie, takich jak opis, słowa kluczowe czy konfiguracja kodowania. Znacznik <title> definiuje tytuł strony, który jest wyświetlany na karcie przeglądarki oraz w wynikach wyszukiwania, co jest istotne dla SEO. Z kolei znacznik <link> pozwala na połączenie dokumentu HTML z zewnętrznymi arkuszami stylów CSS lub innymi zasobami. Stosowanie tych znaczników jest zgodne z obowiązującymi standardami W3C oraz najlepszymi praktykami w zakresie tworzenia stron internetowych. Dobrze zorganizowana sekcja <head> wpływa na efektywność i widoczność strony w wyszukiwarkach, a także na jej ogólną jakość. Przykładem użycia może być dodanie metadanych do strony internetowej, co pozwala na lepsze pozycjonowanie w wyszukiwarkach oraz ułatwia zarządzanie stylem poprzez odwołanie do pliku CSS.

Pytanie 11

W poniższym kodzie CSS czcionka zmieni kolor na żółty

a[target="_blank"]
{
  color: yellow;
}
A. odnośników, które otwierają się w tej samej karcie
B. odnośników, które otwierają się w nowej karcie
C. tekstu akapitu
D. każdego linku
Rozważając inne odpowiedzi, należy zrozumieć, dlaczego są one niepoprawne w kontekście podanego selektora CSS. Gdy mówimy o odnośnikach otwierających się w tej samej karcie, nie stosuje się atrybutu target="_blank", więc taki selektor jak a[target="_blank"] nie będzie się do nich odnosił. Oznacza to, że koloryzacja na żółto nie dotyczy odnośników otwierających się w tej samej karcie, co jest często typowym zachowaniem, chyba że określono inaczej. W przypadku tekstu paragrafu, selektor użyty w kodzie CSS nie będzie miał żadnego wpływu, ponieważ jest on specyficznie dopasowany do elementów a (odnośników), a nie do tekstu zawieranego w tagach p (paragrafów). CSS operuje na elementach HTML zgodnie z selektorami, dlatego nie można zmieniać stylu niepasujących elementów. Ostatnia możliwość, czyli stylizacja każdego odnośnika bez wyjątku, wymagałaby użycia bardziej ogólnego selektora a, a nie tak szczególnego jak a[target="_blank"]. Błędnym przekonaniem może być założenie, że selektor obejmuje wszystkie odnośniki, jednak atrybut target precyzyjnie wskazuje, które elementy mają być stylizowane. Zrozumienie tych różnic jest kluczowe dla efektywnego stosowania CSS w projektach webowych oraz poprawnego rozumienia specyfiki selektorów, co jest fundamentem efektywnego kodowania wizualnego wyglądu stron.

Pytanie 12

Wskaż pole edycyjne sformatowane przedstawionym stylem CSS

input {
  border: none;
  border-bottom: 2px solid Blue;
  color: Gray;
  font-weight: 900;
}

Input 1. Podaj imię:

Input 2. Podaj imię:

Input 3. Podaj imię:

Input 4. Podaj imię: Agnieszka

A. Input 2.
B. Input 1.
C. Input 4.
D. Input 3.
Dobrze wybrałeś! Odpowiedź 'Input 2.' jest rzeczywiście poprawna. To, co oferuje ten element, to wszystko, co potrzebne do spełnienia wymagań stylu CSS, czyli ma niebieskie dolne obramowanie o grubości 2px, szary tekst oraz pogrubioną czcionkę. Wygląd elementów formularza jest mega ważny, bo to właśnie od niego zależy, jak użytkownicy będą się poruszać po stronie. Dzięki CSS możemy to wszystko kontrolować, co daje nam spójność i ładny wygląd. Różne właściwości CSS, takie jak 'border-bottom', 'color' czy 'font-weight', pozwalają na dokładne dostosowanie stylu każdego elementu strony. W sumie, jak już się bardziej wkręcisz w CSS, zauważysz, że można dodać też różne efekty, jak hover, focus czy active, co dodatkowo wzbogaca interakcję. Rozumienie, jak te różne właściwości działają, jest kluczowe, żeby tworzyć fajne i funkcjonalne interfejsy.

Pytanie 13

Do ilu pól edycyjnych zostanie przypisane tło Teal dla przedstawionego fragmentu dokumentu HTML i stylu CSS?

<input type="text">
<input type="number">
<input type="email">
<input type="number">
<input>

input[type="number"] {
    background-color: Teal;
}
A. Do wszystkich.
B. Do trzech.
C. Do żadnego.
D. Do dwóch.
Bardzo dobrze! Wybrałeś prawidłową odpowiedź, mówiącą, że tło Teal zostanie przypisane do dwóch pól edycyjnych. W przedstawionym fragmencie dokumentu HTML mamy pięć pól edycyjnych (input), z których tylko dwa mają typ 'number'. Tło Teal jest zdefiniowane w stylu CSS i ma być zastosowane tylko do pól typu 'number'. Jest to zgodne z dobrymi praktykami stosowania selektorów atrybutów w CSS, które pozwalają na precyzyjne określenie, do jakich elementów strony internetowej powinien być zastosowany dany styl. Dzięki temu możemy na przykład zastosować różne style dla różnych typów pól wejściowych, jak to jest w tym przypadku. To jest przykład, jak możemy wykorzystać moc CSS do kontroli wyglądu różnych elementów na naszej stronie.

Pytanie 14

Jak nazywa się edytor, który wspiera proces tworzenia stron internetowych i którego działanie można opisać w polskim tłumaczeniu jako "otrzymujesz to, co widzisz"?

A. VISUAL EDITOR
B. WYSIWYG
C. WEB STUDIO
D. IDE
IDE, czyli zintegrowane środowisko programistyczne, to narzędzie, które wspomaga programistów w pisaniu kodu, debugowaniu i kompilacji aplikacji. IDE oferuje zaawansowane funkcje, takie jak podpowiedzi składni, integracja z systemami kontroli wersji oraz narzędzia do analizy kodu, jednak nie jest to narzędzie WYSIWYG. Głównym celem IDE jest ułatwienie pracy programistom, a nie wizualne projektowanie stron internetowych. WEB STUDIO to termin ogólny, który może odnosić się do różnych platform i narzędzi do tworzenia stron internetowych, ale nie jest on powszechnie uznawany za standardowy termin w branży. Nie ma on jednoznacznego znaczenia i nie wskazuje na edytor WYSIWYG, co wprowadza w błąd. VISUAL EDITOR, mimo że brzmi podobnie, także nie jest konkretnym terminem odnoszącym się do edytora WYSIWYG. Może być używany w różnych kontekstach, aby opisać edytory wizualne, jednak nie ma takiej samej rozpoznawalności jak termin WYSIWYG, co prowadzi do nieporozumień. W podsumowaniu, IDE, WEB STUDIO oraz VISUAL EDITOR nie oddają w pełni funkcji edytora WYSIWYG, który jest dedykowany do kreacji stron internetowych w sposób wizualny.

Pytanie 15

W formularzu zdefiniowano kontrolki do wpisania imienia i nazwiska. Który atrybut reprezentuje podpowiedź umiejscowioną w polu kontrolki, znikającą w momencie, gdy użytkownik rozpocznie wpisywanie wartości?

<label for="imie">Imię: </label>
<input id="imie" value="Wpisz dane" title="Wpisz imię"><br>
<label for="nazw">Nazwisko: </label>
<input id="nazw" placeholder="Wpisz dane" title="Wpisz nazwisko">
A. for
B. value
C. placeholder
D. title
Dobrze! Poprawna odpowiedź to 'placeholder'. Atrybut 'placeholder' w elemencie input HTML jest używany do wyświetlania podpowiedzi wewnątrz pola formularza, która znika, gdy użytkownik zaczyna wpisywanie danych. Jest to zgodne z pytaniem, w którym poproszono o atrybut reprezentujący podpowiedź w polu formularza, która znika, gdy użytkownik rozpoczyna wpisywanie. Przykładem może być formularz logowania, gdzie w polach 'Użytkownik' i 'Hasło' można umieścić podpowiedzi 'Wpisz nazwę użytkownika' i 'Wpisz hasło' odpowiednio. Atrybut 'placeholder' jest bardzo przydatny w interaktywnym designie, pomagając użytkownikom zrozumieć, jakie informacje są od nich oczekiwane w danym polu formularza.

Pytanie 16

W ramce przedstawiono kod JavaScript z błędem logicznym. Program powinien wypisywać informację, czy liczby są sobie równe, czy nie, lecz nie wykonuje tego. Wskaż odpowiedź, która dotyczy błędu.

var x=5;
var y=3;
if(x=y) document.getElementById("demo").innerHTML='zmienne są równe';
else    document.getElementById("demo").innerHTML='zmienne się różnią';
A. W klauzuli if użyto przypisania zamiast porównania
B. Zmienne zostały zadeklarowane w niewłaściwy sposób
C. Brak średnika przed klauzulą else
D. Zawartość sekcji if oraz else powinna być zamieniona miejscami
W kontekście analizy błędów w kodzie JavaScript, istnieje kilka odpowiedzi, które nie są poprawne. Po pierwsze, stwierdzenie, że zmienne zostały nieprawidłowo zadeklarowane, jest mylące. W rzeczywistości zmienne x i y zostały zadeklarowane poprawnie za pomocą słowa kluczowego var, co jest standardową praktyką w JavaScript. Wartości, które przypisano do tych zmiennych, są również poprawne i zgodne z typem liczbowym. Po drugie, stwierdzenie, że przed klauzulą else nie powinno być średnika, również nie jest adekwatne. W JavaScript średnik jest opcjonalny na końcu instrukcji, a jego brak w tym przypadku nie wpływa na działanie programu. Klauzula else działa prawidłowo, niezależnie od obecności średnika w kodzie. Ponadto, twierdzenie, że instrukcje wewnątrz sekcji if oraz else powinny być zamienione miejscami, jest błędne, ponieważ logika programu nie wymaga takiej zamiany. Program powinien najpierw sprawdzić, czy zmienne są równe, a następnie zareagować w zależności od wyniku tego porównania. Właściwa struktura kontrolna jest kluczowa dla poprawności działania kodu, dlatego zamiana sekcji if i else prowadziłaby do wyświetlania błędnych komunikatów.

Pytanie 17

Do zdefiniowania listy nienumerowanej w języku HTML, jaki znacznik należy zastosować?

A. <ol>
B. <dd>
C. <ul>
D. <dt>
Aby zdefiniować w języku HTML listę nienumerowaną, należy użyć znacznika <ul>, co jest standardem w HTML. Znacznik <ul> oznacza "unordered list", czyli listę, w której poszczególne elementy nie są uporządkowane w kolejności numeracyjnej. Elementy tej listy są zazwyczaj wyświetlane z ikoną (punktami) przed każdym elementem, co podkreśla ich nienumerowany charakter. Każdy element listy jest definiowany za pomocą znacznika <li> (list item). Przykładowo, pełna struktura HTML dla listy nienumerowanej może wyglądać następująco: <ul><li>Pierwszy element</li><li>Drugi element</li></ul>. Używanie list nienumerowanych jest szczególnie pomocne w organizowaniu treści w sposób, który nie wymaga hierarchii, ale raczej prezentuje różne elementy na równym poziomie. W standardach W3C HTML5, <ul> jest zalecanym znakiem do tworzenia takich struktur, co czyni go kluczowym elementem w budowie przejrzystych i zrozumiałych stron internetowych. Implementacja list nienumerowanych w HTML jest istotnym krokiem w tworzeniu semantycznie poprawnych dokumentów, co wpływa na dostępność oraz SEO.

Pytanie 18

Aby zwiększyć wydajność operacji w bazie danych, należy skupić się na polach, które są często wyszukiwane lub sortowane

A. utworzyć indeks
B. stworzyć oddzielną tabelę przechowującą wyłącznie te pola
C. dodać klucz obcy
D. dodać więzy integralności
Utworzenie indeksu w bazie danych jest kluczowym krokiem w optymalizacji operacji wyszukiwania i sortowania. Indeksy działają jak spis treści w książce, umożliwiając szybsze odnajdywanie danych bez konieczności przeszukiwania całej tabeli. Gdy zapytania często wykorzystują konkretne kolumny do filtracji lub sortowania, indeksowanie tych kolumn znacznie przyspiesza wydajność. Na przykład, jeśli często wyszukujesz klientów według ich nazwisk, utworzenie indeksu na kolumnie nazwiska pozwoli bazie danych szybko zlokalizować odpowiednie rekordy. Standardy branżowe, takie jak SQL Server czy MySQL, zalecają stosowanie indeksów zwłaszcza na dużych tabelach, gdzie operacje skanowania mogą być czasochłonne. Dobrą praktyką jest również monitorowanie wydajności i regularne dostosowywanie indeksów w zależności od zmieniających się wzorców zapytań. Należy jednak pamiętać, że nadmierna liczba indeksów może wpłynąć negatywnie na operacje zapisu, dlatego kluczowe jest znalezienie odpowiedniej równowagi.

Pytanie 19

W kodzie HTML stworzono formularz, który wysyła informacje do pliku formularz.php. Po naciśnięciu przycisku typu submit, przeglądarka zostaje przekierowana na wskazany adres. Na podstawie podanego adresu /formularz.php?imie=Anna&nazwisko=Kowalska można stwierdzić, że dane do pliku formularz.php zostały wysłane za pomocą metody:

A. POST
B. GET
C. COOKIE
D. SESSION
Poprawna odpowiedź wskazuje na metodę GET. Jako jedna z dwóch podstawowych metod przesyłania danych w protokole HTTP, GET przesyła informacje poprzez dołączenie ich do adresu URL. I tak, jeżeli na załączonym obrazku widzimy adres URL zawierający parametry (np. imię=Anna&nazwisko=Kowalska) dołączone do adresu pliku formularz.php, to oznacza, że dane zostały przesłane właśnie tą metodą. Jest to zgodne z dobrymi praktykami i standardami branżowymi, które zalecają użycie metody GET zwłaszcza przy przesyłaniu niewielkich ilości danych, które nie wymagają specjalnego zabezpieczenia. Ważne jednak jest zrozumienie, że metoda GET nie jest odpowiednia, gdy przesyłane dane są poufne, np. hasła, ponieważ są one widoczne w pasku adresu przeglądarki. Ponadto, warto zauważyć, że dane przesyłane metodą GET mogą być zapisane w historii przeglądarki, co również ma swoje implikacje bezpieczeństwa.

Pytanie 20

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Barwienie.
B. Krzywe.
C. Inwersja.
D. Progowanie.
Prawidłowo wskazana funkcja to „Progowanie”, bo dokładnie ona zamienia obraz kolorowy lub w odcieniach szarości na obraz dwuwartościowy: piksel jest albo czarny, albo biały, w zależności od tego, czy jego jasność przekracza ustawiony próg. W GIMP-ie znajdziesz ją w menu Kolory → Progowanie. Suwakami ustalasz zakres poziomów jasności, które mają zostać potraktowane jako „białe”, a wszystko poza tym zakresem staje się „czarne”. Efekt, który się wtedy uzyskuje, jest bardzo charakterystyczny: mocno kontrastowy, bez półtonów, coś w stylu skanu czarno-białego lub grafiki do druku na ploterze tnącym. Z mojego doświadczenia progowanie świetnie nadaje się do przygotowania logotypów, szkiców technicznych, schematów, a także do wyciągania konturów z lekko rozmytych zdjęć. Często używa się go też przed wektoryzacją, żeby program śledzący krawędzie miał wyraźne granice między czernią a bielą. W pracy z grafiką na potrzeby stron WWW próg bywa stosowany np. przy tworzeniu prostych ikon, piktogramów albo masek (maski przezroczystości można przygotować właśnie na bazie obrazu progowanego). Dobrą praktyką jest najpierw sprowadzenie obrazu do odcieni szarości i dopiero potem użycie progowania, bo wtedy masz większą kontrolę nad tym, jak rozkłada się jasność i gdzie wypadnie granica progu. Warto też pamiętać, że progowanie jest operacją destrukcyjną – traci się informacje o półtonach – więc najlepiej pracować na kopii warstwy, żeby w razie czego móc wrócić do oryginału i poprawić ustawienia progu.

Pytanie 21

Grafik pragnie zmienić obraz JPG na format PNG bez utraty jakości, tak aby w obszarach, gdzie pierwotnie był kolor biały, w finalnym obrazie występowała przezroczystość. W tym celu powinien

A. dodać kanał alfa
B. zaimportować obraz do edytora grafiki wektorowej
C. zmniejszyć rozdzielczość obrazu
D. przekształcić obraz w odcienie szarości
Zarówno zmniejszenie rozdzielczości obrazu, jak i przekształcenie go w odcienie szarości są podejściami, które nie spełniają wymagań postawionych w pytaniu. Zmniejszenie rozdzielczości oznacza, że zmniejszamy liczbę pikseli w obrazie, co skutkuje utratą detali i jakości, co jest zupełnie niezgodne z celem przekształcenia bez utraty jakości. Takie działanie nie ma również związku z dodawaniem przezroczystości, a może wręcz pogorszyć wizualną jakość końcowego obrazu. Ponadto, konwersja obrazu do odcieni szarości eliminuje wszystkie kolory, co sprawia, że problem z białym kolorem, który ma zostać przekształcony w przezroczystość, staje się bezprzedmiotowy. Importowanie obrazu do edytora grafiki wektorowej, chociaż może być użyteczne w niektórych przypadkach, nie jest odpowiednim narzędziem do przekształcania bitmapy z JPG na PNG z przezroczystością. Grafika wektorowa jest oparta na matematycznych formułach, a nie na pikselach, więc nie można w prosty sposób przenieść bitmapowych właściwości obrazu. Podejścia te mogą prowadzić do błędnych wniosków, w których użytkownicy mogą sadzić, że redukcja jakości i przekształcanie kolorów są wystarczającymi krokami do osiągnięcia zamierzonych efektów graficznych.

Pytanie 22

Jak określa się program, który realizuje polecenia zawarte w kodzie źródłowym tworzonego oprogramowania bez wcześniejszego generowania programu wynikowego?

A. Kompilator
B. Konwerter kodu
C. Konwerter języka
D. Interpreter
Interpreter to program, który wykonuje instrukcje zawarte w kodzie źródłowym bez potrzeby wcześniejszego generowania kodu wynikowego. Działa on na zasadzie analizy i wykonywania kodu w czasie rzeczywistym, co pozwala na szybkie testowanie i debugowanie aplikacji. Dzięki temu programiści mogą wprowadzać zmiany w kodzie i natychmiastowo sprawdzać ich efekty, co znacznie przyspiesza proces tworzenia oprogramowania. Interpretery są często wykorzystywane w językach skryptowych, takich jak Python, JavaScript czy Ruby, gdzie szybka iteracja jest kluczowa. Warto również zaznaczyć, że interpretery mogą być częścią większych środowisk programistycznych, co jest zgodne z praktykami Agile, które promują elastyczność i szybkie dostosowywanie się do zmieniających się wymagań. Dlatego znajomość działania interpreterów jest niezbędna dla każdego programisty, który chce skutecznie rozwijać swoje umiejętności i dostosowywać się do nowoczesnych trendów w programowaniu.

Pytanie 23

Pętla w kodzie JavaScript zostanie uruchomiona

Ilustracja do pytania
A. 26 razy
B. 2 razy
C. 3 razy
D. 27 razy
Pętla do-while w JavaScript wykonuje się co najmniej raz ze względu na swoją konstrukcję. W tym przypadku pętla zaczyna się od wartości x równej 1 i w każdej iteracji mnoży x przez 3. Zmienna i jest inkrementowana przy każdej iteracji, co zlicza liczbę wykonanych iteracji. Pętla kontynuuje aż do momentu, gdy x osiągnie wartość 27. Przebieg pętli wygląda następująco: początkowo x=1, po pierwszej iteracji x=3, po drugiej x=9, a po trzeciej x=27. Gdy x osiąga wartość 27, warunek pętli x!=27 przestaje być spełniony i pętla się kończy. Dlatego pętla wykonuje dokładnie 3 iteracje. Zrozumienie działania pętli do-while jest kluczowe, zwłaszcza w kontekście sytuacji, gdzie musimy zagwarantować, że blok kodu wykona się przynajmniej raz niezależnie od warunku na końcu. Tego typu pętle są często używane w aplikacjach wymagających walidacji danych wejściowych, gdzie przynajmniej jedna próba przetworzenia danych musi być wykonana.

Pytanie 24

W HTML, aby utworzyć poziomą linię, należy zastosować znacznik

A. <hl>
B. <line>
C. <br>
D. <hr>
Znacznik <line> nie jest standardowym elementem HTML i nie istnieje w specyfikacji tego języka. Z tego powodu nie może być użyty do tworzenia poziomej linii. Użytkownicy mogą mylić go z innymi terminami związanymi z grafiką wektorową, gdzie pojawia się pojęcie 'linia', jednak HTML nie przewiduje takiego znacznika. Kolejnym błędnym rozwiązaniem jest znacznik <br>, który jest używany do łamania linii w tekście. Umożliwia on przejście do nowej linii, ale nie daje efektu poziomej linii oddzielającej sekcje treści. Jest to element samodzielny, jednak jego funkcjonalność jest zupełnie inna. Z kolei znacznik <hl> nie istnieje w standardach HTML. Użytkownicy mogą go pomylić z innymi znacznikami, ale <hl> nie jest zdefiniowany w żadnym z wersji HTML, co oznacza, że przeglądarki go nie rozpoznałyby, co skutkowałoby brakiem jakiegokolwiek wizualnego efektu. Użycie niepoprawnych znaczników może prowadzić do problemów z interpretacją dokumentów HTML i ich wyświetlaniem w przeglądarkach, co negatywnie wpłynie na użytkowników oraz SEO strony.

Pytanie 25

Przedstawiono efekt formatowania CSS oraz kod HTML. Jak należy zdefiniować styl, aby osiągnąć takie formatowanie?

<p>
Mimozami jesień się zaczyna,<br>
Złotawa, krucha i miła.<br>
To ty, to ty jesteś ta dziewczyna,<br>
Która do mnie na ulicę wychodziła.
</p>
Ilustracja do pytania
A. .first-line { font-size: 200%; color: brown; }
B. #first-line { font-size: 200%; color: brown; }
C. p.first-line { font-size: 200%; color: brown; }
D. p::first-line { font-size: 200%; color: brown; }
Gratulacje! Wybrałeś prawidłową odpowiedź. Pseudoelement ::first-line jest specyficznym selektorem CSS służącym do formatowania pierwszej linii wewnątrz bloku tekstu. Jest to zgodne ze standardami CSS3. Wszystkie style zdefiniowane za pomocą ::first-line będą miały wpływ tylko na pierwszą linię paragrafu, niezależnie od tego, ile zdań zawiera. W tym konkretnym przypadku, zastosowanie selektora `p::first-line` powoduje powiększenie czcionki do 200% oraz zmianę jej koloru na brązowy, ale tylko dla pierwszej linii tekstu zawartego w paragrafie (znacznik `<p>`). Jest to przydatne, gdy chcemy wyróżnić pierwszą linię tekstu, na przykład w dużej ilości tekstu lub artykułach. Pseudoelementy, takie jak ::first-line, pomagają w tworzeniu bardziej złożonych i precyzyjnych stylów bez konieczności dodawania dodatkowych znaczników do naszego kodu HTML.

Pytanie 26

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 <= 54; $x += 2) {echo $x." ";}
C. for($x = 1; $x <= 55; $x += 1) {echo $x." ";}
D. for($x = 2; $x <= 56; $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 27

Jakim poleceniem SQL można zlikwidować z tabeli artykuly wiersze, które zawierają słowo "sto" w dowolnej lokalizacji pola tresc?

A. DELETE * FROM artykuly WHERE tresc = "%sto%"
B. DELETE FROM artykuly WHERE tresc = "%sto%"
C. DELETE FROM artykuly WHERE tresc LIKE "%sto%"
D. DELETE * FROM artykuly WHERE tresc LIKE "%sto%"
Odpowiedź "DELETE FROM artykuly WHERE tresc LIKE '%sto%';" jest okej, bo używasz operatora LIKE. To pozwala na szukanie wzorców w tekście. W SQL to polecenie usunie wszystkie wiersze z tabeli 'artykuly', które mają słowo 'sto' w polu 'tresc', niezależnie od tego, gdzie się ono znajduje. Te znaki procentu (%) przed i po 'sto' to takie wildcardy, które mogą oznaczać dowolny tekst przed lub po. To zgodne z dobrymi praktykami programowania w SQL, gdzie można używać LIKE, gdy nie mamy ściśle określonego formatu. Na przykład, takie zapytanie może się przydać, żeby usunąć artykuły z niepożądanym zwrotem, co ma znaczenie przy moderowaniu treści na stronach internetowych.

Pytanie 28

W języku JavaScript stworzono obiekt Samochod. Aby wywołać jedną z jego metod, trzeba wpisać

A. Samochod()
B. Samochod.spalanie_na100
C. Samochod.kolor
D. Samochod.spalanie()
W języku JavaScript obiekt to podstawowa jednostka, która pozwala na grupowanie danych i funkcji w jednym miejscu. W kontekście zdefiniowanego obiektu Samochod, aby wywołać jego metodę, należy skorzystać z notacji kropkowej. Poprawne użycie to Samochod.spalanie(), co wskazuje na wywołanie metody 'spalanie' z obiektu 'Samochod'. Ta metoda może zawierać logikę obliczającą zużycie paliwa lub inne operacje związane z danym samochodem. Warto zauważyć, że metody w JavaScript są funkcjami przypisanymi do obiektów, co umożliwia ich wywołanie za pomocą notacji kropkowej. Przykładowo, jeśli obiekt Samochod ma zdefiniowaną metodę spalanie, możemy ją zainicjować i uzyskać wynik, co czyni nasz kod bardziej modularnym i czytelnym. Użycie odpowiednich metod jest zgodne z zasadami programowania obiektowego, które są fundamentem JavaScript. Metody obiektów mogą korzystać z właściwości innych obiektów, co zwiększa elastyczność programowania. Ta architektura jest zgodna ze standardem ECMAScript, który definiuje zasady dotyczące obiektów i funkcji w JavaScript.

Pytanie 29

Który z wartości atrybutu background-attachment w CSS powinien być użyty, aby tło strony pozostało nieruchome w stosunku do okna przeglądarki?

A. Inherit
B. Scroll
C. Fixed
D. Local
Atrybut background-attachment w języku CSS służy do określenia, w jaki sposób tło elementu jest powiązane z przewijaniem okna przeglądarki. Wybór wartości 'fixed' sprawia, że tło jest nieruchome w stosunku do widoku przeglądarki, co oznacza, że podczas przewijania zawartości strony tło pozostaje na swoim miejscu. Przykładowo, jeśli ustawimy tło za pomocą 'background-attachment: fixed;' w naszym arkuszu stylów, efekt wizualny pozwoli na stworzenie głębi oraz wrażenia trójwymiarowości, co jest często wykorzystywane w projektach graficznych i stronach internetowych. Ta technika jest zgodna z standardami CSS, które umożliwiają deweloperom tworzenie atrakcyjnych interfejsów użytkownika. Ponadto, zastosowanie tła nieruchomego może wpłynąć na doświadczenia użytkownika, zwłaszcza w przypadku stron zawierających dużą ilość przewijanej treści. Warto również wspomnieć, że background-attachment: fixed; może być używane z innymi atrybutami, takimi jak background-image, background-size czy background-position, aby uzyskać jeszcze lepsze efekty wizualne.

Pytanie 30

Głównym zadaniem systemu CMS jest

A. ułatwienie zarządzania treścią na stronie internetowej.
B. konwersja obiektowego języka programowania na strukturalny.
C. ujednolicenie tematyczne zawartości stron internetowych.
D. przyspieszenie projektowania aplikacji desktopowych.
Poprawnie wskazana odpowiedź dobrze oddaje istotę systemów CMS (Content Management System). Głównym zadaniem CMS-a jest właśnie ułatwienie zarządzania treścią na stronie internetowej bez konieczności ciągłego grzebania w kodzie HTML, PHP czy JavaScript. W praktyce oznacza to, że redaktor, nauczyciel, pracownik biura czy nawet właściciel małej firmy może samodzielnie dodawać newsy, edytować teksty, podmieniać zdjęcia, tworzyć nowe podstrony, a czasem nawet zarządzać menu – wszystko z poziomu przeglądarki, przez panel administracyjny. Z mojego doświadczenia w szkole i w pracy wynika, że to właśnie CMS sprawia, że strona żyje, bo ktoś nietechniczny może ją na bieżąco aktualizować. Typowe systemy CMS, jak WordPress, Joomla czy Drupal, oferują edytor WYSIWYG (podobny do Worda), zarządzanie mediami, wersjonowanie treści, role i uprawnienia użytkowników (np. redaktor, administrator), a także szablony i wtyczki. Z punktu widzenia dobrych praktyk w branży webowej, CMS oddziela warstwę prezentacji (szablony, motywy) od warstwy treści (artykuły, strony, wpisy). To jest zgodne z zasadą separacji logiki, treści i wyglądu, co ułatwia rozwój i utrzymanie serwisu. W nowoczesnych projektach często stosuje się tzw. headless CMS, gdzie treść jest zarządzana w panelu, a następnie udostępniana przez API do różnych front-endów (strona WWW, aplikacja mobilna). Niezależnie jednak od technologii, główna idea jest ta sama: CMS ma usprawnić i uporządkować cały proces tworzenia, edycji, publikacji oraz archiwizacji treści. Dzięki temu programista nie musi za każdym razem zmieniać kodu, gdy ktoś chce poprawić przecinek w artykule, a firma ma kontrolę nad tym, kto co może opublikować, kiedy i w jakiej formie.

Pytanie 31

Na ilustracji przedstawiono dwie tabele. Aby ustanowić między nimi relację jeden do wielu, gdzie jedna strona to Klienci, a druga strona to Zamowienia, należy

Ilustracja do pytania
A. powiązać relacją pola ID z obu tabel.
B. wprowadzić pole klucza obcego do tabeli Zamowienia i powiązać je z ID tabeli Klienci.
C. stworzyć trzecią tabelę z dwoma kluczami obcymi. Jeden klucz połączyć z ID tabeli Klienci, a drugi klucz połączyć z ID tabeli Zamowienia.
D. dodać pole klucza obcego do tabeli Klienci i powiązać je z ID tabeli Zamowienia.
Tworzenie relacji jeden do wielu między tabelami w bazie danych wymaga zrozumienia, jak działa klucz podstawowy i klucz obcy. W tym przypadku tabela Klienci posiada pole ID, które jest kluczem podstawowym. Aby utworzyć relację jeden do wielu, należy dodać do tabeli Zamowienia pole klucza obcego, które będzie połączone z polem ID z tabeli Klienci. Dzięki temu każdy rekord w tabeli Zamowienia będzie mógł być przypisany do jednego klienta, ale jeden klient może mieć wiele zamówień. Taka struktura jest zgodna z normalizacją baz danych, która ma na celu eliminację redundancji danych i zapewnienie integralności danych. W praktyce, w systemach takich jak SQL, relacje te są wykorzystywane do wykonywania operacji takich jak wyszukiwanie wszystkich zamówień dla konkretnego klienta, co jest wykonywane przez dołączenie tabel za pomocą klucza obcego. Implementacja kluczy obcych w bazach danych jest standardową praktyką, która zwiększa spójność i bezpieczeństwo danych, minimalizując ryzyko błędów podczas operacji CRUD (Create Read Update Delete).

Pytanie 32

W PHP użyto funkcji is_float(). Które z wymienionych wywołań tej funkcji zwróci wartość true?

A. is_float(3.34)
B. is_float(NULL)
C. is_float(334)
D. is_float('3,34')
W przypadku odpowiedzi is_float('3,34') oraz is_float(334) obie są nieprawidłowe z powodów związanych z typem danych. Pierwsza z nich przekazuje wartość jako ciąg znaków (string) z przecinkiem, co w PHP nie jest interpretowane jako liczba zmiennoprzecinkowa. PHP nie rozumie przecinka jako separatora dziesiętnego, co prowadzi do błędu w rozpoznawaniu typu. Wartości numeryczne powinny być podawane w formie, która jest zgodna z oczekiwaną konwencją, co w większości języków programowania, w tym PHP, wymaga kropki jako separatora dziesiętnego. Tak więc, is_float('3,34') zwróci false, ponieważ argument nie jest typu float. W przypadku is_float(334), wartość ta jest liczbą całkowitą (integer), co również nie spełnia kryteriów funkcji is_float(). W kontekście programowania, bywa, że programiści mylą różne typy danych i ich konwersje, co prowadzi do nieprawidłowych wniosków na temat typów. Ostatnia odpowiedź, is_float(NULL), również zwraca false, ponieważ NULL nie jest typem danych numerycznych. Użycie NULL często stosowane jest do reprezentowania braku wartości, co jest odrębnym stanem od jakiejkolwiek liczby. Zrozumienie różnicy między typami danych oraz odpowiednie ich użycie jest fundamentem efektywnego programowania i uniknięcia wielu błędów w aplikacjach.

Pytanie 33

W HTML, aby dodać obrazek z tekstem umieszczonym pośrodku obrazka, konieczne jest użycie znacznika

A. <img src="obrazek.png" alt="obraz3" height="50%"> tekst
B. <img src="obrazek.png" alt="obraz4"> tekst
C. <img src="obrazek.png" alt="obraz2" align="middle"> tekst
D. <img src="obrazek.png" alt="obraz1" hspace="30px"> tekst
Odpowiedź <img src="obrazek.png" alt="obraz2" align="middle"> tekst jest prawidłowa, ponieważ wykorzystuje atrybut align z wartością middle, który umożliwia wyśrodkowanie tekstu w poziomie w stosunku do obrazka. Zgodnie z HTML 4.01, atrybut align pozwala na określenie, jak elementy są położone względem siebie, a w tym przypadku sprawia, że tekst pojawia się pośrodku obrazka, co jest często pożądanym efektem wizualnym. W praktyce, użycie takiego podejścia jest przydatne szczególnie w tworzeniu estetycznych i czytelnych układów, gdzie obrazki ilustrują konkretne treści. Warto jednak zauważyć, że w nowoczesnym HTML oraz w CSS rekomenduje się stosowanie bardziej zaawansowanych metod stylizacji, takich jak Flexbox lub Grid, które umożliwiają bardziej elastyczne i responsywne projektowanie stron internetowych. Na przykład, można użyć CSS do osiągnięcia podobnego efektu, co sprawia, że kod HTML jest czystszy i bardziej zgodny z aktualnymi standardami. Zastosowanie arkuszy stylów do zarządzania układem i prezentacją treści zwiększa również dostępność i ułatwia zarządzanie projektem.

Pytanie 34

Która rozdzielczość jest wyrażana za pomocą jednostki ppi (ang. pixels per inch)?

A. Skanerów.
B. Obrazów tworzonych przez drukarki i plotery.
C. Obrazów rastrowych.
D. Cyfrowych urządzeń wykonujących pomiary.
Jednostka ppi (pixels per inch) wielu osobom myli się z innymi rodzajami rozdzielczości, co jest całkiem zrozumiałe, bo w grafice i poligrafii mamy kilka podobnie brzmiących pojęć. Ppi opisuje gęstość pikseli w obrazie rastrowym, czyli informację, jak gęsto ułożone są piksele w danym fizycznym rozmiarze. To cecha samego obrazu lub projektu, a nie cecha urządzenia pomiarowego czy drukarki. Częsty błąd polega na kojarzeniu ppi z rozdzielczością skanera. Skaner co prawda pracuje na pikselach, ale standardowo jego rozdzielczość określa się w dpi (dots per inch). W uproszczeniu: mówimy o tym, ile punktów skaner jest w stanie „odczytać” z jednego cala skanowanego dokumentu. Efektem pracy skanera jest obraz rastrowy i to właśnie ten wynikowy plik ma swoją rozdzielczość w pikselach i może mieć zdefiniowaną wartość ppi, ale sama specyfikacja urządzenia jest zwykle opisana w dpi. Podobnie mylące bywa kojarzenie ppi z cyfrowymi urządzeniami pomiarowymi. One najczęściej operują na zupełnie innych parametrach: dokładności pomiaru, częstotliwości próbkowania, rozdzielczości przetwornika ADC, liczbie bitów itp. Tam nie ma siatki pikseli w sensie graficznym, więc jednostka ppi po prostu nie pasuje do charakteru tych urządzeń. Dużo osób utożsamia też ppi z rozdzielczością drukarek i ploterów. W świecie druku standardową jednostką jest dpi, bo urządzenie fizycznie „strzela” punktami tuszu lub toneru na papier. Drukarka może z jednego piksela obrazu rastrowego wygenerować wiele mikroskopijnych punktów farby, aby uzyskać odpowiedni kolor i odcień, dlatego jej rozdzielczość w dpi bywa znacznie wyższa niż rozdzielczość samego pliku. Tu właśnie tkwi subtelna różnica: ppi opisuje obraz, dpi opisuje urządzenie drukujące. Pomylenie tych pojęć prowadzi do złego przygotowania materiałów – np. za niska rozdzielczość obrazu rastrowego przy wysokiej rozdzielczości drukarki da nieostry, „rozmyty” wydruk, mimo że specyfikacja drukarki wygląda imponująco. Z mojego doświadczenia, dobrą praktyką jest zawsze pytać: „czy mówimy o pliku graficznym (rastrowym), czy o urządzeniu?” – wtedy łatwiej poprawnie zastosować ppi i dpi i uniknąć nieporozumień przy projektach graficznych i webowych.

Pytanie 35

Która z definicji tablicy asocjacyjnej w PHP jest składniowo poprawna?

A. $wiek = array("Anna"=35, "Ewa"=37, "Oliwia"=43);
B. $wiek = array([Anna, 35], [Ewa, 37], [Oliwia, 43]);
C. $wiek = array({"Anna", "35"}, {"Ewa", "37"}, {"Oliwia", "43"});
D. $wiek = array("Anna"=>"35", "Ewa"=>"37", "Oliwia"=>"43");
W analizowanych odpowiedziach można zauważyć kilka istotnych błędów składniowych, które uniemożliwiają prawidłowe zdefiniowanie tablicy asocjacyjnej w PHP. Pierwsza opcja, $wiek = array("Anna"=35, "Ewa"=37, "Oliwia"=43);, myli operator przypisania z operatorem asocjacyjnym. Użycie znaku = zamiast => jest kluczowe, ponieważ PHP wymaga użycia operatora => do parowania kluczy z wartościami. W drugiej opcji, $wiek = array([Anna, 35], [Ewa, 37], [Oliwia, 43]);, zastosowano niepoprawną składnię tablicy, gdzie zewnętrzne nawiasy kwadratowe powinny być zastąpione funkcją array() lub nawiasami klamrowymi, a także brakuje kluczy. Trzecia odpowiedź, $wiek = array({"Anna", "35"}, {"Ewa", "37"}, {"Oliwia", "43"});, również jest niepoprawna, ponieważ użyto nawiasów klamrowych, które nie są stosowane w definicji tablic asocjacyjnych w PHP. Nawiasy klamrowe mogą być używane do tworzenia tablic wielowymiarowych, ale w tym kontekście są nieodpowiednie. Typowe błędy myślowe, które prowadzą do takich pomyłek, to mylenie różnych typów struktur danych oraz niewłaściwe zrozumienie zasad parowania kluczy i wartości, co w rezultacie skutkuje błędami w składni i logice kodu.

Pytanie 36

W poniższym kodzie CSS zdefiniowano cztery klasy formatowania, które następnie zostały użyte do formatowania paragrafów. Efekt widoczny na rysunku powstał po zastosowaniu klasy o nazwie:

.format1 {    text-decoration: overline;     }
.format2 {    text-decoration: line-through; }
.format3 {    text-decoration: underline;    }
.format4 {    text-decoration: none;         }
formatowanie
A. format3
B. format2
C. format4
D. format1
Odpowiedź z klasy format2 jest trafna, bo definiuje styl text-decoration line-through, który służy do przekreślenia tekstu. W CSS ta właściwość jest mega przydatna, bo pozwala zmieniać wygląd tekstu, dodając różne linie, takie jak podkreślenie czy nadkreślenie. Przekreślenie stosuje się często, żeby pokazać, że coś zostało usunięte lub jest już nieaktualne. Na przykład w sklepach online, gdzie można oznaczyć przecenione ceny. Według standardów CSS, warto stawiać na prostotę i czytelność definicji stylów, bo to ułatwia później zrozumienie kodu dla innych programistów. Takie podejście jest zgodne z dobrymi praktykami kodowania, które mówią, że kod powinien być łatwy do zrozumienia. A co ważne, jeśli chodzi o dostępność, to przekreślony tekst jest znany narzędziom wspierającym, jak czytniki ekranowe, co zwiększa dostępność treści dla osób z niepełnosprawnościami.

Pytanie 37

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

A. <link rel="script" href="przyklad.js">
B. <script link="przyklad.js"></script>
C. <script>przyklad.js</script>
D. <script src="przyklad.js"></script>
Odpowiedź <script src="przyklad.js"></script> jest naprawdę na miejscu, bo użycie atrybutu 'src' w znaczniku <script> to taki standardowy sposób dołączania zewnętrznych skryptów JS do HTML-a. Atrybut 'src' mówi przeglądarce, gdzie znaleźć ten skrypt, więc może go załadować i wykonać. Dzięki temu, skrypt z pliku 'przyklad.js' wchodzi w interakcję ze stroną i może dodawać różne funkcje, jak na przykład reagowanie na działania użytkownika czy manipulowanie elementami na stronie. Pamiętaj, że najlepiej dołączać skrypty na końcu dokumentu, zaraz przed </body>, bo wtedy cała zawartość strony ładuje się najpierw. Warto też pomyśleć o atrybucie 'defer' lub 'async', żeby lepiej zoptymalizować ładowanie skryptów i nie blokować renderowania strony. Na przykład, <script src="przyklad.js" defer></script> pozwoli na asynchroniczne ładowanie, co z pewnością poprawia wydajność.

Pytanie 38

DOM oferuje funkcje i atrybuty, które w JavaScript umożliwiają

A. manipulowanie łańcuchami zadeklarowanymi w kodzie
B. pobieranie i modyfikowanie elementów strony załadowanej w przeglądarce
C. wykonywanie operacji na zmiennych przechowujących wartości liczbowe
D. przesyłanie danych formularza bezpośrednio do bazy danych
DOM (Document Object Model) to interfejs programistyczny, który umożliwia manipulację strukturą dokumentu HTML lub XML za pomocą języka JavaScript. Odpowiedź dotycząca pobierania i modyfikowania elementów strony jest poprawna, ponieważ DOM dostarcza zestaw metod, takich jak getElementById, getElementsByClassName, czy querySelector, które pozwalają programistom na selekcję, edytowanie, dodawanie lub usuwanie elementów w drzewie DOM. Na przykład, używając metody document.getElementById('example'), możemy uzyskać dostęp do konkretnego elementu na stronie oraz zmienić jego zawartość, styl czy atrybuty. Takie manipulacje są kluczowe w tworzeniu interaktywnych aplikacji webowych, które reagują na działania użytkownika, co jest zgodne z najlepszymi praktykami w zakresie programowania front-end. Zmiany w DOM mogą także wpływać na wydajność strony, dlatego stosowanie odpowiednich metod i technik, takich jak unikanie zbyt częstych reflowów czy repaints, jest niezbędne dla optymalizacji. Warto również zaznaczyć, że stosowanie bibliotek, takich jak jQuery, może uprościć proces manipulacji DOM.

Pytanie 39

Hermetyzacja to zasada programowania obiektowego mówiąca o tym, że

A. klasy mogą współdzielić ze sobą funkcjonalność.
B. klasy mogą mieć zdefiniowane metody wirtualne, które są implementowane w pochodnych klasach.
C. pola i metody wykorzystywane tylko przez daną klasę są ograniczane zasięgiem private lub protected.
D. typy pól w klasach/obiektach mogą być dynamicznie zmieniane w zależności od danych im przypisywanych.
Hermetyzacja to pojęcie, które dość często miesza się z innymi zasadami programowania obiektowego, takimi jak dziedziczenie, polimorfizm czy współdzielenie funkcjonalności między klasami. W efekcie powstaje takie wrażenie, że chodzi po prostu o „współpracę obiektów” albo „możliwość rozszerzania klas”, co jest tylko częścią obrazu, ale nie definicją hermetyzacji. Sedno hermetyzacji polega na ukrywaniu stanu obiektu i szczegółów implementacyjnych za dobrze zdefiniowanym interfejsem. Klasa ma swoje pola i metody pomocnicze, ale kod na zewnątrz widzi tylko to, co programista świadomie wystawi jako public. Pozostałe odpowiedzi dotykają innych cech obiektowości. Współdzielenie funkcjonalności między klasami to bardziej temat dziedziczenia, kompozycji albo używania wspólnych modułów czy interfejsów. To, że dwie klasy mogą mieć podobne metody i wykorzystywać wspólny kod, nie ma bezpośrednio nic wspólnego z hermetyzacją. Można mieć świetnie współdzieloną logikę, a kompletnie zignorować ukrywanie szczegółów implementacji i bezpieczeństwo stanu obiektów. Z kolei pomysł, że typy pól w klasach mogą się dynamicznie zmieniać w zależności od danych, dotyczy raczej systemu typów i języków dynamicznych, jak JavaScript czy PHP w trybie bez ścisłego typowania. To jest kwestia dynamicznego typowania, a nie hermetyzacji. Można mieć język statycznie typowany (np. Java, C#) i świetną hermetyzację, i można mieć język dynamicznie typowany, w którym hermetyzacja jest słaba lub w ogóle nieprzestrzegana. Natomiast metody wirtualne, nadpisywanie ich w klasach pochodnych, późne wiązanie wywołań – to klasyczny polimorfizm, nie hermetyzacja. Owszem, te koncepcje często występują razem w jednym projekcie, przez co łatwo się mylą, ale ich cele są inne. Polimorfizm pozwala różnym klasom reagować inaczej na to samo wywołanie metody, hermetyzacja zaś skupia się na tym, żeby ukryć wnętrze obiektu i wystawić tylko kontrolowany interfejs. Typowym błędem myślowym jest utożsamianie „obiektowości jako całości” z pojedynczymi jej elementami. Ktoś widzi dziedziczenie albo metody wirtualne i zakłada, że to już automatycznie „hermetyzacja”. W praktyce dobra hermetyzacja to przede wszystkim rozsądne używanie private/protected, unikanie publicznych pól, a także pilnowanie, żeby stan obiektu był spójny i nie dało się go przypadkiem popsuć z zewnątrz. To właśnie ta ochrona wnętrza klasy, a nie możliwość dziedziczenia czy dynamicznego typowania, jest tutaj kluczowa.

Pytanie 40

Jaki wynik daje poniższy kod PHP?

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. określa tablicę zawierającą sześć wartości
B. jest błędny, ponieważ indeksami tablicy mogą być wyłącznie liczby całkowite
C. definiuje tablicę z trzema wartościami
D. jest niepoprawny, nieznany operator =>
W tym przypadku mówimy o tablicach w PHP, które są podstawą zarządzania danymi w tym języku. Jednak stwierdzenie, że tablice asocjacyjne mogą mieć tylko klucze liczbowe, to nieprawda. W rzeczywistości klucze asocjacyjne mogą być wszelkimi wartościami skalarnymi, a najczęściej używa się ciągów znaków dla lepszej czytelności kodu. Operator '=>' w PHP jest powszechnie stosowany do przypisywania wartości do kluczy tablic asocjacyjnych, co jest totalnie normalne. Wydaje mi się, że błędne rozumienie tego operatora może pochodzić z braku praktyki z PHP albo z mieszania z innymi językami. Przykład zawiera trzy pary klucz-wartość, więc twierdzenie, że definiuje sześć wartości, jest grube nieporozumienie. Zrozumienie, jak PHP działa z tablicami, jest kluczowe, zwłaszcza w aplikacjach webowych, bo tablice są mega przydatne do przetwarzania danych. Dlatego warto przyłożyć się do analizowania struktury tych tablic, co pomoże unikać błędów w projektach.