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 czerwca 2026 14:58
  • Data zakończenia: 28 czerwca 2026 15:11

Egzamin zdany!

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

Którą wartość zwróci funkcja zapisana w języku C++, jeżeli jej parametrem wejściowym jest tablica wypełniona w następujący sposób: tablica[6] = {3, 4, 2, 4, 10, 0};?

int fun1(int tab[]) {
    int wynik = 0;
    for (int i = 0; i < 6; i++)
        wynik += tab[i];
    return wynik;
}
A. 23
B. 10
C. 960
D. 0
Gratulacje, Twoja odpowiedź jest poprawna. W języku C++ funkcja zwraca sumę wszystkich elementów w tablicy. W podanym pytaniu mamy tablicę z sześcioma elementami, którymi są liczby: 3, 4, 2, 4, 10, 0. Dodając te liczby otrzymujemy 23, co jest poprawną odpowiedzią. To jest typowy scenariusz, kiedy potrzebujemy obliczyć sumę wszystkich elementów w tablicy. Na przykład, możemy mieć program, który oblicza średnią wartość z zestawu danych. W takim przypadku najpierw musimy zsumować wszystkie elementy, a następnie podzielić przez ich liczbę. Pamiętaj, że w języku C++ tablice indeksowane są od zera, co oznacza, że pierwszy element tablicy ma indeks 0, a ostatni element ma indeks o jeden mniejszy niż rozmiar tablicy. Jest to powszechny standard w programowaniu i jest istotny do zrozumienia, jak działają tablice.

Pytanie 2

Który z rysunków obrazuje efekt działania przedstawionego fragmentu kodu HTML?

<table border="1">
 <tr><td rowspan="2">pierwszy</td><td>drugi</td></tr>
 <tr><td>trzeci</td></tr>
</table>
Ilustracja do pytania
A. C.
B. B.
C. A.
D. D.
Super, wybrałeś właściwą odpowiedź! To rysunek C. Kod HTML to taki jakby zestaw narzędzi, który pozwala tworzyć różne układy stron internetowych, w tym tabelki. W tym przypadku mamy do czynienia z tabelą, która ma dwa wiersze i dwie kolumny. Zauważ, że pierwsza komórka z tekstem 'pierwszy' zajmuje miejsce aż na dwa wiersze, dzięki atrybutowi rowspan='2'. To oznacza, że można ją rozciągnąć w pionie, co zmienia układ całej tabeli. W pierwszym wierszu obok tej komórki jest komórka z tekstem 'drugi', a w drugim wierszu mamy jedynie 'trzeci', bo obok 'pierwszy' już jest zajęte miejsce. Dzięki temu, rysunek C dokładnie pokazuje, jak to wszystko działa. Pamiętaj, że umiejętność pracy z tabelami w HTML jest naprawdę ważna, jeśli chcesz tworzyć estetyczne i funkcjonalne strony.

Pytanie 3

Tabela Pracownicy zawiera informacje o zatrudnionych w różnych działach, co jest określone przez pole liczbowe dzial. Z uwagi na to, że zazwyczaj wykonuje się kwerendy jedynie dla działu równego 2, można uprościć zapytania do tej tabeli, tworząc wirtualną tabelę o nazwie Prac_dzial2 przy użyciu zapytania

A. VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2
B. VIEW Prac_dzial2 SELECT FROM Pracownicy WHERE dzial=2
C. CREATE VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2
D. CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2
Odpowiedź 'CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2;' jest poprawna, ponieważ syntaktycznie i semantycznie odnosi się do standardów SQL używanych do tworzenia widoków. Komenda 'CREATE VIEW' służy do zdefiniowania wirtualnej tabeli, która agreguje dane według określonych kryteriów. W tym przypadku, widok 'Prac_dzial2' wyciąga wszystkie rekordy z tabeli 'Pracownicy', które spełniają warunek, że wartość pola 'dzial' wynosi 2. Używanie widoków jest praktyką zalecaną, ponieważ pozwala na uproszczenie złożonych zapytań oraz zabezpiecza przed niepożądanym dostępem do danych. Dzięki temu, użytkownicy mogą łatwiej filtrować dane, co zwiększa wydajność zapytań i poprawia organizację kodu. Widoki są także korzystne w kontekście zarządzania danymi, ponieważ mogą być zaktualizowane, a ich struktura może być zmieniana w zależności od potrzeb użytkownika, co czyni je elastycznym narzędziem w bazach danych.

Pytanie 4

Zawarty w ramce fragment kodu w języku JavaScript

Ilustracja do pytania
A. przypisze zmiennej s długość tekstu ze zmiennej t
B. przypisze do zmiennej s fragment tekstu ze zmiennej t o długości określonej przez zmienną length
C. przypisze do zmiennej s zmienną t
D. wyświetli długość tekstu ze zmiennej t
Funkcja length w JavaScript jest prostą i potężną metodą, która zwraca długość łańcucha znaków. W przypadku zmiennej t przypisanej do wartości Ala ma kota., kiedy wywołujemy t.length, otrzymujemy liczbę znaków w tym łańcuchu, która wynosi 12, wliczając spacje i znak kropki. Przypisanie s=t.length; oznacza, że zmienna s przyjmie wartość liczbową 12. Jest to standardowy sposób mierzenia długości tekstu w większości języków programowania i jest szeroko stosowany w codziennym programowaniu, np. przy walidacji danych wejściowych, budowaniu dynamicznych interfejsów użytkownika czy przetwarzaniu tekstu. Metoda ta jest częścią podstawowej składni JavaScriptu i jest dobrze wspierana przez wszystkie współczesne przeglądarki, co czyni ją niezawodnym narzędziem w pracy z tekstem. Rozumienie tego mechanizmu jest kluczowe dla efektywnego zarządzania danymi tekstowymi i może być rozwijane poprzez praktyczne ćwiczenia w projektach związanych z analizą tekstu czy tworzeniem dynamicznych aplikacji webowych.

Pytanie 5

Fragment skryptu w języku JavaScript umieszczony w ramce

t = "Ala ma kota.";
s = t.length;
A. wyświetli długość tekstu z zmiennej t
B. przypisze zmiennej s długość tekstu z zmiennej t
C. przypisze zmiennej s zmienną t
D. przypisze zmiennej s część tekstu z zmiennej t, o długości określonej przez zmienną length
W podanym kodzie zmiennej t przypisano wartość ciągu znaków Ala ma kota.. Następnie zmiennej s przypisano wynik wywołania właściwości length na zmiennej t. W JavaScript length jest właściwością obiektów String używaną do określenia długości łańcucha znaków czyli liczby znaków w napisie. W tym przypadku t.length zwróci liczbę 12 ponieważ włącznie ze spacjami i kropką ciąg Ala ma kota. składa się z 12 znaków. Przypisanie tego wyniku do zmiennej s oznacza że s będzie miało wartość 12. Takie wykorzystanie właściwości length jest zgodne z dobrymi praktykami i często stosowane w programowaniu w JavaScript. Pozwala na dynamiczne określanie długości łańcuchów co jest przydatne przy przetwarzaniu danych tekstowych. Umiejętność manipulacji łańcuchami znaków jest kluczowa w tworzeniu aplikacji webowych i skryptów które muszą obsługiwać dane użytkowników. Prawidłowe zrozumienie jak działa właściwość length pozwala na efektywne zarządzanie i przetwarzanie tekstu co jest istotne w pracy każdego programisty.

Pytanie 6

Klucz obcy w bazie danych jest tworzony w celu

A. określenia relacji 1..n łączącej go z kluczem głównym innej tabeli
B. stworzenia formularza do wprowadzania danych do tabeli
C. łączenia go z innymi kluczami obcymi w tabeli
D. umożliwienia jednoznacznej identyfikacji rekordu w bazie danych
Zrozumienie roli klucza obcego w tabeli wymaga głębszego spojrzenia na struktury relacyjnych baz danych. Klucz obcy definiuje relacje pomiędzy tabelami, co jest niezwiązane z jednoznaczną identyfikacją rekordu w tabeli. Ta koncepcja jest często mylona, ponieważ klucz główny, a nie klucz obcy, jest odpowiedzialny za zapewnienie unikalności każdego rekordu. Klucz obcy jest używany do wskazywania na klucz główny w innej tabeli, co tworzy powiązania, ale nie ma on na celu identyfikacji rekordu w swojej tabeli. Dodatkowo, klucz obcy nie ma związku z tworzeniem formularzy do wprowadzania danych. Formularze są narzędziem interfejsu użytkownika, które mogą wykorzystywać dane z tabel bazodanowych, ale nie są bezpośrednio związane z pojęciami klucza obcego i klucza głównego. Tworzenie formularzy nie zmienia struktury danych czy relacji między nimi. W kontekście łączenia kluczy obcych z innymi kluczami obcymi, również jest to niepoprawne, gdyż klucz obcy nie jest używany do tworzenia połączeń z innymi kluczami obcymi w tej samej tabeli. Klucz obcy ma na celu jedynie odniesienie do klucza głównego z innej tabeli, co ilustruje podstawowe zasady projektowania baz danych, w tym zapewnienie integralności referencyjnej i unikanie cyklicznych odniesień, które mogą prowadzić do błędów i niepoprawnych danych. Zrozumienie tych różnic jest kluczowe dla skutecznego projektowania relacyjnych baz danych.

Pytanie 7

Jaką metodę przesyłania należy wykorzystać, by zapewnić największe bezpieczeństwo danych zaszyfrowanych w formularzu, które są wysyłane do kodu PHP?

A. Metoda POST, za pomocą protokołu HTTP
B. Metoda POST, za pomocą protokołu HTTPS
C. Metoda GET, za pomocą protokołu HTTP
D. Metoda GET, za pomocą protokołu HTTPS
No niestety, wybór metody GET i protokołu HTTP to jak skakanie z przepaści, jeśli chodzi o bezpieczeństwo. Metoda GET wrzuca dane do adresu URL, co jest totalnie kiepskie, bo potem wszystko można łatwo zobaczyć w historii przeglądarki czy logach serwera. To oznacza, że ktoś może przechwycić dane, które są przesyłane, jak hasła czy inne wrażliwe informacje. A korzystanie z samego HTTP bez szyfrowania jest jeszcze gorsze. Oznacza, że nasze dane są jakoś tam przesyłane, ale nikt się nimi nie przejmuje, co otwiera drogę do ataków typu Man-in-the-Middle. Wiele aplikacji myśli, że jak coś leci w URL to jest w miarę bezpieczne, a to nieprawda. Musimy zawsze stawiać na HTTPS, żeby naprawdę chronić nasze dane. W dzisiejszych czasach, gdzie ataki w sieci są na porządku dziennym, warto być ostrożnym, bo RODO też robi swoje. Dlatego lepiej unikać GET i HTTP, kiedy chodzi o przesyłanie poufnych danych.

Pytanie 8

Jakie jest zastosowanie programu debugger?

A. badania kodu źródłowego w celu znalezienia błędów składniowych
B. tłumaczenia kodu napisanego w języku wyższego poziomu na język maszynowy
C. analizy wykonywanego programu w celu lokalizacji błędów
D. interpretacji kodu w wirtualnej maszynie Java
Interpretacja kodu w wirtualnej maszynie Java odnosi się do działania maszyny wirtualnej, która wykonuje kod bajtowy stworzony przez kompilatory języków programowania, takich jak Java. Chociaż maszyna wirtualna jest istotna w procesie uruchamiania aplikacji Java, nie jest to funkcjonalność debuggera, który ma na celu inną rolę. Podobnie, analiza kodu źródłowego w celu odnalezienia błędów składniowych to proces, który wykonuje kompilator przed uruchomieniem programu. Debugger nie zajmuje się analizą składni, lecz koncentruje się na wykrywaniu błędów podczas wykonywania kodu. Tłumaczenie kodu zapisanego w języku wyższego poziomu na język maszynowy jest zadaniem kompilatora, a nie debuggera. Debugger działa na poziomie wykonania programu, a nie na poziomie jego kompilacji, co jest kluczowym aspektem odróżniającym te dwie funkcjonalności. Poprawne zrozumienie ról kompilatora i debuggera jest niezbędne, aby uniknąć mylnych wniosków dotyczących procesów tworzenia i uruchamiania oprogramowania.

Pytanie 9

Deklaracja background-attachment: scroll sprawia, że:

A. grafika tła będzie powtarzana (kafelki)
B. tło będzie przewijane razem z zawartością strony
C. tło będzie nieruchome, a treść będzie się przewijać
D. grafika tła pojawi się w prawym górnym rogu
Właściwość background-attachment określa, jak zachowuje się tło podczas przewijania strony. Wartość scroll (domyślna) sprawia, że tło przewija się razem z zawartością elementu - znika z widoku, gdy przewiniemy stronę. Przeciwna wartość fixed „przykleja” tło do okna, więc treść przesuwa się po nieruchomym tle. Dlatego scroll oznacza, że tło przewija się z treścią.

Pytanie 10

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

A. Barwienie.
B. Krzywe.
C. Progowanie.
D. Inwersja.
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 11

Program napisany w PHP ma na celu obliczenie średniej pozytywnych ocen ucznia w zakresie od 2 do 6.
Warunek selekcji ocen w pętli liczącej średnią powinien zawierać wyrażenie logiczne

A. $ocena > 2 and $ocena < 6
B. $ocena >= 2 and $ocena <= 6
C. $ocena > 2 or $ocena < 6
D. $ocena >= 2 or $ocena <= 6
Wybór odpowiedzi $ocena >= 2 and $ocena <= 6 jest poprawny, ponieważ precyzyjnie określa zakres, w jakim dopuszczalne są oceny ucznia. Operator logiczny 'and' zapewnia, że obie części warunku muszą być spełnione jednocześnie: ocena musi być większa lub równa 2 oraz mniejsza lub równa 6. Taki sposób definiowania zakresu jest zgodny z dobrymi praktykami programowania, gdzie ważne jest, aby warunki logiki były jednoznaczne i precyzyjne. Dla przykładu, w kontekście obliczania średniej, wykorzystanie tego warunku pozwala na uwzględnienie wszystkich ocen, które są zgodne z regulaminem szkoły, co jest kluczowe dla uzyskania dokładnego wyniku. W praktyce, przy implementacji tego typu logiki w PHP, możemy spotkać się z używaniem podobnych zapytań w kontekście przetwarzania danych uczniów, co podkreśla znaczenie poprawnego definiowania warunków w programach. Dodatkowo, stosowanie takich wyrażeń pozwala na łatwe rozbudowywanie kodu, gdyż łatwo można dodawać nowe warunki lub modyfikować istniejące, co wpisuje się w założenia elastyczności i czytelności kodu.

Pytanie 12

Które z instrukcji algorytmu odpowiada graficznemu przedstawieniu bloku pokazanego na ilustracji?

Ilustracja do pytania
A. n > 70
B. Zrealizuj podprogram do sortowania tablicy t
C. n ← n – 3
D. Wyświetl w konsoli wartość zmiennej n
Wybór opcji wykonaj podprogram sortowania tablicy t jest dość złożony i zazwyczaj przedstawia się go w formie bloku procesu, ale nie powinno to być prostokątne. Takie operacje to nie tylko jedna czynność, trzeba wybrać odpowiedni algorytm, jak np. szybkie sortowanie, bąbelkowe czy przez wstawianie. Operacja n > 70 z kolei to logiczny warunek, który zwykle pokazuje się w notacji algorytmicznej jako romb, a nie prostokąt. Warunki są istotne w programach, pozwalają na podejmowanie decyzji. Jeśli warunki są źle napisane, to psuje to całą logikę kodu, co jest ważne, bo w testowaniu i debugowaniu ma to ogromne znaczenie. Wypisywanie wartości zmiennej n na konsolę to kolejna operacja związana z wejściem i wyjściem, która w diagramach reprezentowalibyśmy równoległobokiem, a nie prostokątem. Te działania pozwalają nam na interakcję z użytkownikami i pokazywanie wyników. Wszystkie te odpowiedzi źle przypisują elementy do prostokątnego bloku, co pokazuje, jak ważne jest zrozumienie notacji algorytmicznej w codziennej pracy programisty. Jeśli nie zrozumiemy tych różnic, to może się to odbić na wydajności i trudności w utrzymaniu kodu.

Pytanie 13

W kodzie HTML5 znajduje się fragment, który zawiera błąd walidacji. Jakiego rodzaju jest to błąd?

<h6>tekst</h6>
<p>pierwsza <b>linia</b><br>
<p>Druga linia</p>
A. Pierwszy znacznik <p> nie został zamknięty.
B. Nagłówek szóstego poziomu nie istnieje.
C. Znaczniki powinny być zapisane wielkimi literami.
D. Znacznik <br> musi być zamknięty.
W pytaniu pojawia się kilka typowych nieporozumień dotyczących składni HTML5, które często się przewijają podczas nauki. Jednym z nich jest przekonanie, że znaczniki HTML powinny być pisane wielkimi literami – to nieprawda. Współczesny HTML, zgodnie ze standardem HTML5, jest case-insensitive, ale powszechną best practice jest używanie małych liter dla lepszej czytelności i zgodności z narzędziami walidującymi. Wielkie litery to już raczej relikt epoki XHTML, a nawet tam nie były konieczne. Kolejna sprawa to rzekomy brak nagłówka szóstego poziomu – <h6> – co nie ma pokrycia w rzeczywistości. <h6> to absolutnie poprawny i często używany element HTML, szczególnie przy rozbudowanej hierarchii nagłówków w dużych dokumentach. Pominięcie lub zakwestionowanie istnienia tego znacznika może świadczyć o powierzchownym zapoznaniu się ze strukturą HTML. Inna wątpliwość dotyczy znacznika <br> i jego zamykania. W HTML5 nie jest wymagane samo-domykanie tego znacznika (czyli <br />), ponieważ parsery przeglądarek rozumieją zarówno wersję z ukośnikiem, jak i bez niego – to różnica względem XHTML, gdzie domknięcie było obowiązkowe. Często spotykam się też z mylnym przeświadczeniem, że pojedyncze <br> bez ukośnika powoduje błąd – to nieprawda. Prawdziwym źródłem problemu w tym kodzie jest nieuwzględnienie zamknięcia pierwszego paragrafu przed rozpoczęciem kolejnego bloku <p>. To właśnie ten aspekt narusza poprawną strukturę dokumentu HTML5 i prowadzi do niezgodności z walidacją. Moim zdaniem, zrozumienie, które elementy muszą być jawnie domykane, a które mogą być samo-domykające się, to klucz do uniknięcia niepotrzebnych błędów i frustracji podczas kodowania stron internetowych.

Pytanie 14

Fragment kodu SQL wskazuje, że klucz obcy

Ilustracja do pytania
A. wiąże się z kolumną imiona
B. jest obecny w tabeli obiekty
C. stanowi odniesienie do siebie samego
D. jest ustawiony na kolumnie obiekty
W przedstawionym fragmencie kodu SQL klucz obcy (foreign key) służy do zapewnienia integralności referencyjnej między dwiema tabelami. W tym przypadku klucz obcy wskazuje, że pole imie w jednej tabeli jest powiązane z polem imiona w tabeli obiekty. Takie podejście pomaga w utrzymaniu spójności danych, ponieważ wymusza istnienie każdej wartości w polu imie w kolumnie imiona tabeli obiekty. W praktyce oznacza to, że nie można dodać wartości do pola imie, jeśli nie istnieje odpowiadająca wartość w kolumnie imiona. Klucze obce są kluczowym elementem w projektowaniu baz danych, wspierając normalizację i redukcję redundancji danych. Prawidłowe wykorzystanie kluczy obcych pozwala na efektywne zarządzanie relacjami pomiędzy danymi, co jest zgodne z najlepszymi praktykami w zakresie projektowania baz danych. Dodatkowo, prawidłowe stosowanie kluczy obcych przyczynia się do poprawy wydajności zapytań, ponieważ umożliwia optymalizację operacji łączenia danych. To podejście jest zgodne ze standardami SQL, a jego zastosowanie jest powszechne w różnych systemach zarządzania bazami danych jak MySQL, PostgreSQL czy Oracle.

Pytanie 15

Który fragment definicji dwukolumnowej tabeli odpowiada efektowi scalenia komórki 1 i 3, przedstawionemu na ilustracji?

Ilustracja do pytania
A. <td colspan="2">komórka1+3</td>
B. <td rowspan="2">komórka1+3</td>
C. <td rowspan="3">komórka1+3</td>
D. <td colspan="3">komórka1+3</td>
Poprawnie wskazałeś fragment z atrybutem rowspan, czyli: <td rowspan="2">komórka1+3</td>. W HTML atrybut rowspan służy do scalania komórek tabeli w pionie, czyli wzdłuż wierszy. W tym przykładzie tabela ma dwie kolumny, a komórka „komórka1+3” zajmuje miejsce pierwszej komórki w pierwszym wierszu oraz pierwszej komórki w drugim wierszu. Dlatego właśnie wartość rowspan musi być równa 2 – ta jedna komórka rozciąga się na dwa wiersze. Gdy przeglądarka widzi taki zapis, rezerwuje dla tej komórki obszar dwóch komórek pod sobą, a w kodzie HTML w kolejnym wierszu pomijamy już odpowiednią liczbę komórek w tej kolumnie. Z mojego doświadczenia wynika, że przy projektowaniu tabel dobrze jest sobie najpierw „narysować” układ na kartce: ile wierszy, ile kolumn, które komórki się łączą. Potem łatwo dobrać czy potrzebujemy colspan (łączenie w poziomie – kolumny), czy rowspan (łączenie w pionie – wiersze). W specyfikacji HTML Living Standard dokładnie tak to jest opisane: rowspan określa, na ile wierszy rozciąga się dana komórka. W praktyce scalanie komórek przydaje się np. przy tworzeniu nagłówków tabel z opisami grup kolumn, przy harmonogramach, planach lekcji, cennikach, gdzie jedna pozycja obowiązuje przez kilka wierszy. Warto też pamiętać o semantyce: tam gdzie to możliwe, dla nagłówków stosujemy <th> z rowspan lub colspan, a dla zwykłych danych <td>. Taki porządek w kodzie ułatwia późniejsze stylowanie CSS i poprawia dostępność, bo czytniki ekranu lepiej rozumieją strukturę tabeli.

Pytanie 16

Który z poniższych kodów HTML najlepiej ilustruje opisaną tabelę? (Obramowanie tabeli oraz komórek zostało pominięte dla uproszczenia)

Ilustracja do pytania
A. Odpowiedź D
B. Odpowiedź C
C. Odpowiedź B
D. Odpowiedź A
Odpowiedź B jest prawidłowa, ponieważ używa atrybutu rowspan do złączenia dwóch komórek w kolumnie. W przedstawionej tabeli nagłówek Telefony obejmuje dwie wartości w jednej kolumnie co jest dokładnie odwzorowane w kodzie HTML poprzez zastosowanie rowspan2 w komórce zawierającej Telefony. To podejście pozwala na logiczne i czytelne przedstawienie danych w tabeli co jest zgodne z dobrymi praktykami projektowania stron internetowych. Użycie rowspan w tabelach HTML jest powszechne gdy chcemy aby jedna komórka zajmowała miejsce większej liczby wierszy niż standardowa. Jest to przydatne w sytuacjach gdy dane muszą być grupowane pionowo co poprawia czytelność i strukturę prezentowanych informacji. Ponadto takie podejście pozwala na bardziej efektywne zarządzanie kodem HTML redukując potrzebę dodatkowego formatowania i zmniejsza złożoność dokumentu co jest zgodne z zasadami semantycznego HTML. Warto również pamiętać że użycie rowspan powinno być przemyślane aby zapewnić dostępność i poprawne wyświetlanie w różnych przeglądarkach i urządzeniach co jest kluczowe w nowoczesnym projektowaniu stron internetowych.

Pytanie 17

Osobistym środkiem ochrony oczu i twarzy jest:

A. fartuch ochronny
B. przyłbica
C. sprzęt filtrujący powietrze
D. osłona z pleksi między stanowiskami
Przyłbica to środek ochrony indywidualnej (osobistej), który osłania oczy i twarz pracownika przed zagrożeniami - odpryskami, pyłem czy promieniowaniem. „Indywidualny” oznacza, że chroni konkretną osobę, która go nosi, w odróżnieniu od ochrony zbiorowej (np. osłon, barier), zabezpieczającej wszystkich na stanowisku. Do ochrony oczu i twarzy zalicza się też gogle i okulary ochronne. Dobór środka zależy od rodzaju zagrożenia na danym stanowisku. Dlatego osobistym środkiem ochrony oczu i twarzy jest przyłbica.

Pytanie 18

Związek między tabelami, osiągany przez bezpośrednie połączenie kluczy głównych obu tabel, nazywamy relacją

A. 1..n
B. n..m
C. n..1
D. 1..1
Odpowiedź 1..1 to trafny wybór. Mamy tam relację między tabelami, gdzie każda z par rekordów ma swoje odpowiedniki – czyli jeden rekord w tabeli A ma dokładnie jeden odpowiednik w tabeli B. Taka sytuacja jest dość konkretna i w praktyce sprawdza się w wielu systemach zarządzania danymi. Na przykład, jeśli mamy jakąś instytucję, to fajnie, żeby miała jednego reprezentanta, prawda? No i właśnie relacja 1..1 się w tym sprawdza. Choć muszę przyznać, że nie jest ona zbyt popularna, bo częściej korzysta się z innych typów relacji, to jednak w sytuacjach, gdzie chcemy mieć jasne połączenia, jest niezastąpiona. Weźmy na przykład użytkowników i ich profile – każdy użytkownik ma jeden profil, a ten profil tylko jednego użytkownika. Takie rozwiązanie ogranicza powielanie danych, co jest dużym plusem.

Pytanie 19

Który znacznik HTML służy do budowy STRUKTURY (układu) strony?

A.
<em>
B.
<mark>
C.
<input>
D.
<aside>
Element <aside> to semantyczny znacznik HTML5 budujący STRUKTURĘ strony - wydziela treść poboczną powiązaną z głównym tematem, np. notki na marginesie czy panel boczny. Razem z <header>, <nav>, <section> i <footer> porządkuje układ dokumentu. Dlatego znacznikiem strukturalnym jest <aside>.

Pytanie 20

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

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

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

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

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

dane() = function {
    this.imie+" "+this.nazwisko;
};                 D.
A. D.
B. A.
C. B.
D. C.
No niestety, wybrałeś złą odpowiedź. Główny problem tutaj polega na tym, że źle rozumiesz, jak działa słowo kluczowe 'this' w JavaScript. Warianty B i D są nietrafione, bo chociaż mają metodę 'dane', to nie jest ona przypisana do obiektu 'osoba'. Bez tego przypisania, metoda nie ma jak sięgnąć do właściwości 'imię' i 'nazwisko'. Podobnie, wariant C też nie jest ok, bo nie wykorzystuje 'this'. Bez 'this', nie możesz sięgnąć do tych właściwości z obiektu 'osoba'. To częsty błąd, który wynika z mylenia kontekstu. Pamiętaj, że 'this' to twój sposób na wskazanie obiektu, w którym wywołujesz metodę.

Pytanie 21

Naciśnięcie przycisku o nazwie "niebieski" spowoduje uruchomienie podanego kodu JavaScript. Jaki będzie rezultat jego działania?

Ilustracja do pytania
A. Zmiana koloru tekstu "Przykładowy tekst" na niebieski
B. Zmiana koloru tekstu "i skrypt" na niebieski
C. Zmiana koloru przycisku na niebieski
D. Zmiana koloru tekstu "Przykładowy tekst i skrypt" na niebieski
W analizowanym kodzie JavaScript celem operacji jest zmiana koloru tekstu przy użyciu funkcji changeColor. Funkcja ta została zaprojektowana do modyfikacji koloru tekstu konkretnego elementu HTML z identyfikatorem 'para1'. Błędne interpretacje wynikały z nieprawidłowego rozumienia struktury kodu i mechanizmu działania funkcji. Jednym z częstych błędów myślowych jest przypuszczenie, że przycisk uruchamiający funkcję zmienia swój własny kolor, jednak w rzeczywistości funkcja modyfikuje tylko wskazany element za pomocą getElementById. Kolejna niepoprawna interpretacja dotyczyła modyfikacji tekstu 'i skrypt', który znajduje się w osobnym paragrafie bez id, przez co nie jest objęty zmianą koloru. Funkcja changeColor została zaprojektowana tak, aby modyfikować jedynie elem.style.color dla określonego elementu identycznego z parametrem id. Błędy w analizie tego kodu często wynikają z pomijania istotnych szczegółów oraz z niedokładnej interpretacji funkcji JavaScript. Ważne jest odpowiednie zrozumienie kontekstu działania funkcji oraz ich parametrów, co pozwala na uniknięcie takich pomyłek. W praktyce programistycznej, dokładne poznanie metod operujących na elementach DOM jest kluczowe dla tworzenia interaktywnych i dynamicznych stron internetowych.

Pytanie 22

W przedstawionym kodzie HTML, zaprezentowany styl CSS jest stylem:

<p style="color:red;">To jest przykładowy akapit.</p>
A. dynamicznym
B. zewnętrznym
C. lokalnym
D. nagłówkowym
Styl CSS określony wewnątrz elementu HTML poprzez atrybut style jest przykładem stylu lokalnego. Styl lokalny pozwala na bezpośrednie przypisanie konkretnych własności CSS do pojedynczego elementu co umożliwia szybkie i łatwe testowanie oraz modyfikacje wyglądu bez potrzeby edytowania zewnętrznych plików CSS. Praktyczne zastosowanie stylów lokalnych odnajdujemy w sytuacjach gdy chcemy wprowadzić zmiany dla pojedynczego elementu na stronie nie wpływając na inne elementy. Na przykład jeśli w jednym miejscu chcemy podkreślić wagę tekstu stosując kolor czerwony możemy użyć stylu lokalnego jak pokazano w pytaniu. Jednak styl lokalny nie jest zalecany dla większych projektów czy skomplikowanych stron ze względu na fakt że utrudnia zarządzanie i utrzymywanie spójnego stylu w całym projekcie. W takich przypadkach lepiej korzystać ze stylów zewnętrznych lub nagłówkowych które oferują lepszą organizację i elastyczność. Warto również pamiętać że implementacja stylu lokalnego może nadpisywać inne style co jest istotne przy rozwiązywaniu problemów związanych z dziedziczeniem stylów CSS.

Pytanie 23

Jakie formatowanie obramowania jest zgodne ze stylem border-style: dotted solid;?

Ilustracja do pytania
A. Formatowanie 3
B. Formatowanie 4
C. Formatowanie 1
D. Formatowanie 2
Styl obramowania w CSS pozwala na precyzyjne określenie wyglądu krawędzi elementu na stronie internetowej. W przypadku „border-style: dotted solid;” mamy do czynienia z kombinacją dwóch różnych stylów obramowania. Pierwsza wartość „dotted” odnosi się do obramowania o kropkowanej strukturze, co jest często stosowane w celu nadania lekkości i subtelności wizualnej. Druga wartość „solid” oznacza jednolite obramowanie, które jest bardziej wyraźne i stosowane, gdy wymagana jest wyraźna separacja elementów. Formatowanie 2 odpowiada właśnie temu stylowi, ponieważ przedstawia górne i dolne obramowanie jako kropkowane, a boczne jako jednolite. Takie zastosowanie jest typowe w sytuacjach, gdzie potrzebny jest kompromis między estetyką a funkcjonalnością, np. w tabelach danych, gdzie górne i dolne obramowanie może być delikatniejsze, by nie przytłaczać, a boczne wyraźne dla czytelności. Wybór właściwego stylu obramowania jest kluczowy dla użyteczności i estetyki strony, zgodnie z zasadami projektowania zorientowanego na użytkownika.

Pytanie 24

W wyniku działania pętli zapisanej w języku PHP zostanie wypisany ciąg liczb:

 $liczba = 10;
while ($liczba < 50) {
    echo "$liczba ";
    $liczba = $liczba + 5;
}
A. 0 5 10 15 20 25 30 35 40 45 50
B. 10 15 20 25 30 35 40 45 50
C. 10 15 20 25 30 35 40 45
D. 0 5 10 15 20 25 30 35 40 45
Dobrze zrozumiałeś działanie pętli while w języku PHP. Wybrana przez Ciebie sekwencja liczb (10, 15, 20, 25, 30, 35, 40, 45) jest poprawna. Pętla while, znajdująca się w skrypcie PHP, rozpoczyna działanie od wartości zmiennej, którą określono jako 10 i zwiększa ją o 5 za każdą iteracją, dopóki jej wartość jest mniejsza niż 50. Tak więc, ostatnią wydrukowaną liczbą jest 45, ponieważ w kolejnym kroku wartość zmiennej wynosiłaby już 50, co jest wartością większą od maksymalnej zdefiniowanej w warunku pętli. Zrozumienie działania pętli to klucz do efektywnego programowania, umożliwiającego tworzenie skomplikowanych algorytmów. Dobre praktyki zalecają, aby zawsze dokładnie analizować i rozumieć, jak daną pętle będą interpretowane przez interpreter języka.

Pytanie 25

Którego słowa kluczowego w językach z rodziny C używa się, aby nadać istniejącemu typowi danych alternatywną nazwę?

A.
typedef
B.
enum
C.
union
D.
switch
Słowo kluczowe typedef w językach C/C++ tworzy alias (alternatywną nazwę) dla istniejącego typu danych, np. typedef unsigned int uint; pozwala potem pisać uint zamiast unsigned int. Ułatwia to czytelność kodu i upraszcza długie deklaracje (np. wskaźników czy struktur). Nie tworzy nowego typu - jedynie wygodną nazwę dla już istniejącego. Dlatego do nadania typowi alternatywnej nazwy służy typedef.

Pytanie 26

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

A. typy pól w klasach/obiektach mogą być zmieniane w sposób dynamiczny w zależności od przypisywanych danych
B. pola i metody dostępne tylko dla konkretnej klasy/obiektu mają zasięg ograniczony do private lub protected
C. klasy/obiekty mogą definiować metody wirtualne, które są realizowane w klasach/obiektach pochodnych
D. klasy/obiekty mogą dzielić się funkcjonalnością
Hermetyzacja, jako kluczowa zasada programowania obiektowego, odnosi się do kontrolowania dostępu do pól i metod w klasach. Oznacza to, że elementy, które nie powinny być dostępne z zewnątrz, są oznaczane jako private lub protected. Dzięki temu, tylko metody danej klasy mają dostęp do tych elementów, co minimalizuje ryzyko niepożądanej modyfikacji danych oraz promuje enkapsulację. Na przykład, tworząc klasę `BankAccount`, możemy mieć pole `balance` oznaczone jako private. W ten sposób, dostęp do tego pola jest możliwy jedynie poprzez publiczne metody, takie jak `deposit` czy `withdraw`, co pozwala na kontrolowanie logiki biznesowej. Takie podejście jest zgodne z zasadami SOLID, a szczególnie z zasadą odpowiedzialności pojedynczej, ponieważ klasa ma pełną kontrolę nad swoją logiką. Dodatkowo, hermetyzacja ułatwia późniejsze zmiany w implementacji, nie wpływając na inne części aplikacji, które korzystają z tych klas.

Pytanie 27

char str1[30] = 'Ala ma kota';
printf("%s", str1);
Wskaż, gdzie tkwi błąd w powyższym kodzie napisanym w języku C++?
A. Tekst powinien mieć dokładnie 30 znaków.
B. W funkcji printf nie można używać formatowania %s.
C. Tekst powinien być zawarty w cudzysłowie.
D. Do funkcji printf przekazano za mało argumentów.
Odpowiedź jest poprawna, ponieważ w języku C i C++, napisy muszą być ujęte w podwójne cudzysłowy, aby kompilator mógł je rozpoznać jako literały znakowe. W kodzie, który przedstawiono, użyto pojedynczych cudzysłowów, co jest niezgodne z regułami składniowymi tych języków. Poprawna definicja napisu powinna wyglądać następująco: char str1[30] = \"Ala ma kota\"; Ujęcie napisu w cudzysłowy pozwala na poprawne zainicjowanie tablicy typu char, co jest standardową praktyką w programowaniu w C/C++. Dzięki temu kompilator wie, że wszystkie znaki zawarte w cudzysłowie stanowią część jednego ciągu. Warto również zauważyć, że przy pracy z napisami w C, często używa się funkcji standardowych, takich jak strlen do obliczania długości napisu czy strcpy do kopiowania ciągów. Te funkcje są szeroko stosowane w praktyce i znajomość ich działania jest kluczowa dla efektywnego programowania. "

Pytanie 28

Poniżej przedstawiono fragment kodu obsługującego

<?php
if ( !isset($_COOKIE[$nazwa]) )
  echo "nie ustawiono!";
else
  echo "ustawiono, wartość: " . $_COOKIE[$nazwa];
?>
A. sesji
B. baz danych
C. ciasteczek
D. zmiennych tekstowych
Odpowiedź "ciasteczek" jest poprawna, ponieważ kod PHP przedstawiony w pytaniu zajmuje się obsługą ciasteczek HTTP. Ciasteczka są to małe pliki przechowywane na urządzeniu użytkownika, które pozwalają na zachowanie stanu sesji oraz przechowywanie danych o użytkowniku. W tym przypadku, kod sprawdza, czy ciasteczko o danej nazwie (przechowywane w zmiennej $nazwa) zostało ustawione. Jeśli nie, wyświetla komunikat "nie ustawiono!", a jeśli tak, wyświetla jego wartość. Przykład zastosowania ciasteczek obejmuje przechowywanie preferencji użytkowników na stronach internetowych, takich jak wybór języka czy ostatnio przeglądane produkty w sklepie internetowym. Ważne jest, aby pamiętać o dobrych praktykach dotyczących bezpieczeństwa ciasteczek, takich jak ustalanie odpowiednich flag (np. HttpOnly, Secure), aby chronić je przed atakami typu XSS oraz CSRF. Ciasteczka pozwalają również na śledzenie sesji, co jest istotne dla personalizacji treści i analizy zachowań użytkowników. Zgodnie z RODO, należy również informować użytkowników o używaniu ciasteczek oraz uzyskać ich zgodę na ich przetwarzanie.

Pytanie 29

Podczas transmisji cyfrowego wideo na jakość wpływa bitrate (przepływność). Wielkość ta określa liczbę:

A. bitów przesyłanych w jednostce czasu
B. próbek dźwięku w jednostce czasu
C. pikseli jako stosunek długości obrazu do wysokości
D. pikseli obrazu wyświetlanych na ekranie
Bitrate (przepływność) to liczba BITÓW przesyłanych w jednostce czasu, podawana zwykle w kb/s lub Mb/s. Im wyższy bitrate, tym więcej danych na sekundę, czyli zwykle lepsza jakość, ale i większy plik. Dlatego bitrate określa liczbę bitów przesyłanych w jednostce czasu.

Pytanie 30

Jakie dane zostaną wyświetlone po wykonaniu podanych poleceń?

bool gotowe = true;
cout << gotowe;
A. nie
B. 0
C. tak
D. 1
W języku C++ zmienne typu bool mogą przyjmować jedynie dwie wartości: true i false. Gdy zmienna typu bool zostanie wypisana przy użyciu standardowego strumienia wyjściowego cout, to domyślnie wartości true i false są konwertowane na liczby całkowite 1 i 0 odpowiednio. Dlatego w zaprezentowanym fragmencie kodu zmiennej gotowe przypisano wartość true, a następnie jej zawartość została wypisana przy użyciu cout. Wynikiem tego działania będzie wyświetlenie liczby 1 na ekranie. Jest to zgodne z domyślnym zachowaniem cout w przypadku zmiennych typu bool w C++. Aby modyfikować to zachowanie i bezpośrednio wypisywać słowa true lub false, można użyć specjalnej flagi boolalpha, która sprawia, że wartości logiczne są reprezentowane jako tekst. Jednak w podanym przykładzie nie użyto tej flagi, co prowadzi do wypisania wartości liczbowej. Takie podejście jest powszechne w wielu aplikacjach, gdzie wartości logiczne muszą być szybko zamieniane na wartości liczbowe, na przykład w obliczeniach binarnych czy przy operacjach bitowych. Poprawne zrozumienie tego mechanizmu jest kluczowe dla programistów tworzących efektywne i czytelne aplikacje w C++.

Pytanie 31

W CSS, aby ustawić różne stylizacje dla pierwszej litery w akapicie, należy wykorzystać selektor

A. dziecka p + first-letter
B. pseudoelementu p::first-letter
C. klasy p.first-letter
D. atrybutu p [first-letter]
W języku CSS do formatowania pierwszej litery akapitu używamy pseudoelementu '::first-letter'. Jest to specjalny selektor, który pozwala na zastosowanie stylów tylko do pierwszego znaku w danym elemencie, na przykład w akapicie <p>. Pseudoelement ten może być używany do nadawania unikalnych właściwości typograficznych, takich jak rozmiar czcionki, kolor, font-weight czy marginesy, co może znacząco wzbogacić stylizację tekstu. Przykładowo, używając stylu 'p::first-letter { font-size: 2em; color: red; }', pierwsza litera każdego akapitu stanie się większa i czerwona. To podejście jest zgodne z dobrymi praktykami w CSS, ponieważ umożliwia selektywne stylizowanie elementów bez wpływu na resztę treści. Aby uzyskać większą kontrolę nad układem i estetyką stron internetowych, warto zaznajomić się z innymi pseudoelementami, takimi jak '::first-line', które działają analogicznie. Prawidłowe używanie pseudoelementów jest kluczowe dla tworzenia bardziej zaawansowanych i atrakcyjnych wizualnie projektów.

Pytanie 32

Przedstawiona w języku C++ definicja typu wyliczeniowego sprawi, że enumerator CZWARTEK będzie równy

enum dni {PONIEDZIALEK = 1, WTOREK, SRODA, CZWARTEK, PIATEK, SOBOTA, NIEDZIELA};
A. liczbie 4
B. napisowi 'CZWARTEK'
C. napisowi "CZWARTEK"
D. liczbie 1
Definicja typu wyliczeniowego (enum) w języku C++ jest używana do tworzenia zestawu nazwanych stałych, co zwiększa czytelność i organizację kodu. W przypadku podanej definicji enum dni {PONIEDZIALEK = 1, WTOREK, SRODA, CZWARTEK, PIATEK, SOBOTA, NIEDZIELA};, każdy element enumeracji automatycznie przyjmuje wartość całkowitą, zaczynając od podanej wartości dla pierwszego elementu, czyli PONIEDZIALEK = 1. Kolejne elementy, WTOREK, SRODA i CZWARTEK, przyjmują wartości 2, 3 i 4 odpowiednio. Tak więc CZWARTEK, będący czwartym elementem listy, ma przypisaną wartość 4. W praktyce, takie zdefiniowanie dni tygodnia jako enum pozwala na łatwe i zrozumiałe odwoływanie się do dni w kodzie, co ułatwia jego konserwację oraz eliminację błędów. Przy implementacji programów, w których operuje się na dniach tygodnia, korzystanie z typów wyliczeniowych jest powszechną praktyką i jest zgodne ze standardami kodowania, które promują użycie czytelnych i zrozumiałych nazw dla wartości.

Pytanie 33

Mając var osoba = {imie:"Anna", nazwisko:"Kowalska", rok_urodzenia:1985};, jak odwołać się do właściwości nazwisko?

A.
osoba::nazwisko
B.
osoba[2]
C.
osoba.nazwisko
D.
osoba[1]
Pozostałe zapisy są błędne. osoba[1] i osoba[2] traktują obiekt jak tablicę indeksowaną liczbami - ale właściwości obiektu mają NAZWY, nie numery pozycji, więc nic nie zwrócą. osoba::nazwisko używa operatora zakresu :: znanego z C++ czy PHP (dla elementów statycznych klasy) - w JavaScripcie nie istnieje. Poprawne jest osoba.nazwisko.

Pytanie 34

Który element blokowy HTML5 jest przeznaczony na nawigację witryny?

A.
main
B.
header
C.
aside
D.
nav
Element semantyczny <nav> wydziela blok NAWIGACJI witryny - zwykle menu główne lub zestaw linków do najważniejszych podstron, np. <nav><a href="/">Start</a> <a href="/kontakt">Kontakt</a></nav>. Semantyka jest ważna nie tylko porządkowo: czytniki ekranu i wyszukiwarki rozpoznają po <nav>, że to nawigacja. Zapamiętaj: „nav” jak nawigacja.

Pytanie 35

Który format to RASTROWY format graficzny z kompresją BEZSTRATNĄ?

A. SVG
B. JNG
C. PNG
D. CDR
Pozostałe formaty nie są rastrowe i bezstratne zarazem. CDR i SVG to formaty WEKTOROWE (opisują kształty, nie piksele). JNG to mało znany, praktycznie nieużywany format. Rastrowym formatem z kompresją bezstratną jest PNG.

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. format2
B. format4
C. format3
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

Po przeprowadzeniu walidacji dokumentu HTML pojawił się błąd przedstawiony na zrzucie. Jak można go usunąć?

Ilustracja do pytania
A. w znaczniku img zmienić nazwę atrybutu src na href
B. zmienić zapis </h1> na <h1>
C. w znaczniku img zmienić nazwę atrybutu src na alt
D. dodać atrybut alt do grafiki
Atrybut alt w znaczniku img jest kluczowym elementem poprawnego i dostępnego kodu HTML. Służy on do dostarczenia tekstowego opisu zawartości obrazu co jest niezwykle ważne dla osób korzystających z technologii asystujących takich jak czytniki ekranu. Dodanie atrybutu alt poprawia również indeksowanie strony przez wyszukiwarki internetowe co wpływa na SEO. Zgodnie z wytycznymi W3C oraz WCAG każda grafika powinna posiadać ten atrybut aby zapewnić dostępność treści. Przykładowo jeśli obraz przedstawia logo firmy alt powinien zawierać nazwę firmy. W przypadku obrazów dekoracyjnych atrybut alt może być pusty co sygnalizuje że obraz nie niesie istotnej informacji. Takie praktyki wspierają budowanie witryn przyjaznych i zgodnych ze standardami co jest nie tylko wymogiem prawnym w wielu jurysdykcjach ale także dobrym nawykiem programistycznym. W związku z tym dodanie atrybutu alt jest nie tylko środkiem do eliminacji błędu walidacji ale również krokiem w stronę odpowiedzialnego tworzenia treści internetowych.

Pytanie 38

Co wyświetli kod PHP:

echo date('Y');
?
A. dzień i miesiąc
B. rok
C. dzień
D. miesiąc i rok
Funkcja date() formatuje datę wg podanego wzorca, a litera 'Y' oznacza ROK czterocyfrowo (np. 2026). Dlatego echo date('Y'); wyświetli rok.

Pytanie 39

Jakie skutki przyniesie zastosowanie przedstawionego formatowania CSS dla nagłówka trzeciego stopnia?

<style> h3 { background-color: grey; } </style> ... <h3 style="background-color: orange;"> Rozdział 1.2.2. </h3>
A. tło będzie szare
B. kolor tekstu będzie szary
C. tło będzie pomarańczowe
D. kolor tekstu będzie pomarańczowy
W tym przykładzie pokazano dwa różne sposoby stylizacji za pomocą CSS: styl wbudowany i styl zewnętrzny. Styl wbudowany ma wyższy priorytet, bo jest przypisany bezpośrednio do elementu HTML, a to oznacza, że w nagłówku trzeciego stopnia kolor tła będzie pomarańczowy. To ma sens, bo czasem musimy przeskoczyć ogólne reguły stylizacji, żeby wprowadzić jakieś szczególne zmiany. Używanie stylów wbudowanych może być jednak ryzykowne, bo jak się ich nagromadzi, to ciężko się potem w tym połapać. Dlatego lepiej korzystać z zewnętrznych stylów – są bardziej uporządkowane i pozwalają na łatwe powtarzanie kodu CSS. Ważne jest też, żeby nie łączyć HTML z CSS w sposób, który wprowadza zamęt, bo to ułatwia życie i sprawia, że kod jest bardziej zrozumiały. Wiedza na temat priorytetów w CSS jest kluczowa dla każdego, kto chce dobrze projektować strony i mieć wszystko ładnie poukładane.

Pytanie 40

Tabela gory zawiera dane o polskich wzniesieniach oraz łańcuchach górskich, w których te wzniesienia się znajdują. Aby uzyskać Koronę Gór Polskich, czyli najwyższe wzniesienie w każdym z łańcuchów górskich, należy wykonać kwerendę

A. SELECT pasmo, szczyt, MAX(wysokosc) FROM gory
B. SELECT pasmo, szczyt, wysokosc FROM gory
C. SELECT pasmo, szczyt FROM gory GROUP BY wysokosc
D. SELECT pasmo, szczyt, MAX(wysokosc) FROM gory GROUP BY pasmo
Odpowiedź SELECT pasmo, szczyt, MAX(wysokosc) FROM gory GROUP BY pasmo; jest poprawna, ponieważ wykorzystuje funkcję agregującą MAX, która pozwala na wybranie najwyższego szczytu w każdym paśmie górskim. Grupa pasm górskich jest tworzona za pomocą klauzuli GROUP BY, co jest kluczowe w tym kontekście, ponieważ chcemy uzyskać najwyższy szczyt dla każdej grupy, a nie tylko globalny najwyższy szczyt. W praktyce, takie podejście jest niezwykle użyteczne w analizach geograficznych i tworzeniu raportów, gdzie grupowanie danych według określonych kryteriów pozwala na lepsze zrozumienie struktury danych. W kontekście baz danych, stosowanie funkcji agregujących w połączeniu z klauzulą GROUP BY jest standardową praktyką, co zwiększa efektywność zapytań oraz pozwala na uzyskanie bardziej precyzyjnych wyników. Przykładowo, podobne zapytania mogą być używane w analizach sprzedażowych, gdzie chcemy zobaczyć maksymalną sprzedaż w każdym regionie, co również wymaga grupowania danych według regionów.