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: 8 czerwca 2026 10:38
  • Data zakończenia: 8 czerwca 2026 10:51

Egzamin zdany!

Wynik: 30/40 punktów (75,0%)

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

W relacyjnym modelu baz danych, termin krotka odnosi się do

A. liczby rekordów w danej tabeli
B. wierszy tabeli, z wyjątkiem wiersza nagłówkowego, w którym znajdują się nazwy kolumn
C. wszystkich kolumn tabeli, które zawierają atrybuty danego obiektu
D. wszystkich wierszy tabeli łącznie z wierszem nagłówkowym
Pierwsza z niepoprawnych odpowiedzi sugeruje, że krotki to liczba rekordów tabeli. Jednak w rzeczywistości krotki są pojedynczymi wierszami zawierającymi zbiory atrybutów, a nie ich ilość. Liczba rekordów, czyli krotek, jest zmienną miarą, która jest istotna dla analizy danych, ale sama w sobie nie definiuje krotek. Kolejna odpowiedź zakłada, że krotki obejmują wszystkie wiersze tabeli wraz z wierszem nagłówkowym. Wiersz nagłówkowy, który zawiera nazwy kolumn, nie jest częścią krotek, ponieważ krotki reprezentują tylko dane użytkownika. W związku z tym, takie ujęcie błędnie interpretuje strukturę danych w tabeli. Ostatnia niepoprawna odpowiedź sugeruje, że krotki to wszystkie kolumny tabeli zawierające atrybuty obiektu. Kolumny definiują atrybuty i zapewniają strukturę dla danych, ale same w sobie nie są krotkami. Krotka odnosi się do konkretnego zestawu wartości atrybutów w jednym wierszu, a nie do ich zbioru jako całości. Te nieścisłości odzwierciedlają fundamentalne różnice między strukturą relacyjnych baz danych a ich interpretacją w kontekście pojedynczych rekordów.

Pytanie 2

W instrukcji CREATE TABLE zastosowanie klauzuli PRIMARY KEY przy definiowaniu pola tabeli spowoduje, że to pole stanie się

A. indeksem unikalnym
B. kluczem podstawowym
C. kluczem obcym
D. indeksem klucza
Użycie klauzuli PRIMARY KEY w instrukcji CREATE TABLE oznacza, że pole, do którego jest ona przypisana, stanie się kluczem podstawowym tabeli. Klucz podstawowy to atrybut lub zbiór atrybutów, które jednoznacznie identyfikują każdy rekord w tabeli. Klucz podstawowy musi być unikalny dla każdego rekordu oraz nie może zawierać wartości NULL. Na przykład, w tabeli użytkowników, pole 'user_id' często pełni rolę klucza podstawowego, co pozwala na jednoznaczne odnalezienie informacji o każdym użytkowniku. Stosowanie kluczy podstawowych jest zgodne z najlepszymi praktykami w projektowaniu baz danych, ponieważ zapewnia integralność danych oraz umożliwia efektywne indeksowanie i wyszukiwanie informacji. Dodatkowo, klucze podstawowe mogą być używane w relacjach z innymi tabelami jako klucze obce, co ułatwia tworzenie powiązań między danymi. Klucz podstawowy jest zatem fundamentem struktury danych w bazie, co potwierdzają standardy SQL oraz normy projektowania baz danych.

Pytanie 3

W języku HTML zdefiniowano listę, która

<ol>
  <li>biały</li>
  <li>czerwony
    <ul>
      <li>różowy</li>
      <li>pomarańczowy</li>
    </ul></li>
  <li>niebieski</li>
</ol>
A. nie zawiera zagłębień i jest numerowana, słowo "niebieski" ma przyporządkowany numer 5
B. nie posiada zagłębień i jest punktowana, wyświetla 5 punktów
C. jest numerowana z zagłębioną listą punktowaną
D. jest punktowana z zagłębioną listą numerowaną
To pytanie świetnie pokazuje, jak w HTML można łączyć różne typy list, czyli listy numerowane (<ol>) oraz punktowane (<ul>). W tym przypadku mamy główną listę numerowaną, gdzie każdy element to <li>. Jednym z tych elementów jest „czerwony”, pod którym zagnieżdżono listę punktowaną z dwoma podpunktami („różowy”, „pomarańczowy”). Taki sposób strukturyzowania treści w HTML to całkowicie zgodna ze specyfikacją praktyka – właśnie dzięki kombinowaniu <ol> i <ul> można czytelnie przedstawiać np. instrukcje czy hierarchiczne zestawienia. Moim zdaniem to jedno z najprostszych, a zarazem najbardziej efektywnych narzędzi do prezentowania hierarchii – nie tylko na stronach technicznych, ale nawet w prostych notatkach. Przeglądarki zawsze renderują <ol> jako listę numerowaną, a <ul> jako wypunktowaną, więc użytkownik końcowy od razu widzi, co jest ważniejsze, a co podrzędne. Takie zagnieżdżenie list to w branży webowej chleb powszedni – np. instrukcje krok po kroku, gdzie niektóre kroki mają dodatkowe podpunkty. Warto pamiętać, że trzymanie się tej struktury i nie mieszanie porządkowania (np. nie zamieniać miejscami <ol> i <ul> bez powodu) ułatwia późniejszą edycję i utrzymanie kodu, co w większych projektach bardzo doceni każdy programista. Sam często stosuję takie rozwiązania i naprawdę nie ma tu lepszej praktyki, jeśli chodzi o przejrzystość kodu HTML.

Pytanie 4

W języku HTML atrybut shape w znaczniku area, który definiuje typ obszaru, może mieć wartość

A. rect, poly, circle
B. poly, square, circle
C. rect, triangle, circle
D. rect, square, circle
Atrybut shape znacznika area w języku HTML jest kluczowy dla określenia kształtu obszaru, który ma być interaktywny (klikany) w mapie obrazów. Prawidłowe wartości, które można przypisać temu atrybutowi, to rect, poly oraz circle. Każda z tych wartości odpowiada innemu typowi kształtu. Rect definiuje prostokąt, gdzie wymagane są cztery współrzędne (x1, y1, x2, y2), poly pozwala na tworzenie wielokątów o dowolnej liczbie boków poprzez podanie serii współrzędnych, a circle określa koło, które wymaga podania współrzędnych środka oraz promienia. Przykładem zastosowania może być umieszczenie mapy interaktywnej na stronie internetowej, gdzie każdy obszar obrazu prowadzi do innej podstrony. Przykładowy kod HTML może wyglądać tak: <map name='myMap'><area shape='rect' coords='34,44,270,350' href='link1.html'><area shape='circle' coords='337,300,44' href='link2.html'><area shape='poly' coords='200,10,250,100,150,100' href='link3.html'></map>, co ilustruje wykorzystanie tych kształtów w praktyce. Takie podejście poprawia dostępność i użyteczność strony, a także jest zgodne z najlepszymi praktykami w zakresie tworzenia responsywnych interfejsów użytkownika.

Pytanie 5

Jaki rezultat zostanie wyświetlony po wykonaniu przedstawionego kodu HTML?

<ol>
    <li>punkt</li>
    <li>punkt
        <ul>
            <li>punkt</li>
            <li>punkt</li>
        </ul>
    </li>
    <li>punkt</li>
</ol>
<ol type="A" start="4">
    <li>punkt</li>
</ol>

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

4. punkt

A.

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

4. punkt

B.

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

D. punkt

C.

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

D. punkt

D.

A. D.
B. C.
C. A.
D. B.
Gratulacje, wybrałeś poprawną odpowiedź, która jest 'D'. Twoja znajomość struktury i semantyki kodu HTML jest na dobrym poziomie. Kod HTML w pytaniu składa się z dwóch uporządkowanych list (``), z których pierwsza zawiera trzy elementy. Drugi element pierwszej listy uporządkowanej zawiera zagnieżdżoną nieuporządkowaną listę (``) z dwoma elementami. Zwróć uwagę, że elementy listy nieuporządkowanej są wyświetlane z kropkami. Druga lista uporządkowana zaczyna numerację od litery 'D', co jest zgodne z odpowiedzią 'D'. W praktyce, zagnieżdżone listy są często używane do tworzenia struktur menu w aplikacjach webowych, a atrybut start w liście uporządkowanej pozwala na kontrolowanie numeracji elementów listy. Pamiętaj, że zrozumienie struktury i semantyki tagów HTML jest kluczowe dla tworzenia efektywnych i użytecznych stron internetowych.

Pytanie 6

Co opisuje polecenie

CREATE TABLE dane (kolumna INTEGER(3));
?
A. tabelę z jedną kolumną zawierającą 3-elementowe tablice
B. tabelę z TRZEMA kolumnami liczb całkowitych
C. tabelę dane z JEDNĄ kolumną liczb całkowitych
D. tabelę z kolumnami kolumna1, kolumna2, kolumna3
INTEGER przechowuje pojedynczą liczbę, a nie „3-elementowe tablice”. W definicji jest tylko jedna kolumna (kolumna) - nie ma „kolumna1, kolumna2, kolumna3”. (3) to parametr wyświetlania, a nie liczba KOLUMN. Powstaje tabela z jedną kolumną typu całkowitego.

Pytanie 7

Który typ danych należy przypisać atrybutowi „Telefon”, jeśli numer zaczyna się od znaku „+” i numeru kierunkowego kraju?

A. liczbowy
B. wyliczeniowy
C. binarny
D. tekstowy
Pozostałe typy się nie nadają. Typ liczbowy zgubiłby znak „+” oraz zera na początku i traktowałby numer jak liczbę do obliczeń. Typ binarny służy do danych takich jak pliki, a wyliczeniowy do zamkniętego zbioru stałych wartości. Numer telefonu przechowuje typ tekstowy.

Pytanie 8

Jakie narzędzie jest używane do organizowania oraz przedstawiania danych z wielu rekordów w celu ich wydruku lub dystrybucji?

A. raport
B. kwerenda
C. makropolecenie
D. formularz
Raport to narzędzie, które umożliwia zgrupowanie i prezentowanie informacji z wielu rekordów, co jest kluczowe w kontekście analizy danych oraz podejmowania decyzji biznesowych. Tworzenie raportów pozwala na syntetyzowanie informacji, co sprawia, że są one bardziej zrozumiałe dla odbiorców. W praktyce raporty mogą być wykorzystywane do monitorowania wyników sprzedaży, analiz finansowych, badań rynkowych czy oceny efektywności działań marketingowych. Dzięki zastosowaniu narzędzi do raportowania, takich jak systemy Business Intelligence, możliwe jest generowanie szczegółowych zestawień oraz wizualizacji, które wspierają decyzje strategiczne. Dobre praktyki w zakresie raportowania obejmują jasne definiowanie celów raportu, dobór odpowiednich wskaźników KPI oraz zastosowanie wizualizacji danych, co pozwala na lepsze zrozumienie przedstawianych informacji. W kontekście standardów branżowych, raporty powinny być tworzone zgodnie z zasadami klarowności, precyzji i adekwatności, aby skutecznie odpowiadały na potrzeby użytkowników.

Pytanie 9

W języku JavaScript zapisano kod, którego wynikiem działania jest?

var osoba=prompt("Podaj imię", "Adam");
A. wyświetlenie okna z polem do edycji, w którym domyślnie znajduje się tekst "Adam"
B. uzyskanie z formularza wyświetlonego na stronie HTML imienia "Adam"
C. pokazanie okna z pustym polem do edycji
D. bezpośrednie przypisanie do zmiennej osoba wartości "Adam"
W kodzie JavaScript zapisano wywołanie funkcji prompt, która jest standardową metodą do interakcji z użytkownikiem poprzez wyświetlenie okna dialogowego. Funkcja ta przyjmuje dwa argumenty: pierwszy to tekst, który będzie wyświetlony jako prośba o dane, a drugi to opcjonalna wartość domyślna, która pojawi się w polu edycyjnym okna dialogowego. W przykładzie użytkownik proszony jest o podanie imienia, a domyślną wartością, która jest predefiniowana w tym przypadku, jest 'Adam'. Działanie tego kodu spowoduje otwarcie okna z polem edycyjnym, w którym już znajduje się 'Adam', co ułatwia użytkownikowi wprowadzenie danych. Ponadto, gdy użytkownik kliknie 'OK' lub 'Anuluj', wynik (czyli wartość wpisana przez użytkownika lub null, jeśli anulował) zostanie przypisany do zmiennej 'osoba'. Warto zaznaczyć, że funkcja prompt jest powszechnie używana w aplikacjach webowych do szybkiego zbierania informacji od użytkowników. Dzięki temu kodowi programiści mogą efektywnie interactować z użytkownikami, co jest zgodne z duchem nowoczesnych aplikacji internetowych opartych na JavaScript.

Pytanie 10

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. ALTER TABLE pracownicy SET plec='K' WHERE imie LIKE '%a';
C. UPDATE 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 11

Interpreter PHP zgłosi błąd i nie zrealizuje kodu, jeśli programista:

A. będzie definiował zmienne w obrębie warunku
B. będzie pisać kod bez zastosowania wcięć
C. pobierze dane z formularza, w którym pole input pozostało puste
D. nie umieści średnika po wyrażeniu w instrukcji if, gdy po nim występuje sekcja else
W przypadku instrukcji warunkowej if w PHP, każdy blok kodu, który jest wykonywany w przypadku prawdziwego warunku, powinien być poprawnie zakończony średnikiem, z wyjątkiem konstrukcji, które są wstawiane bezpośrednio w ramy instrukcji, jak else. Jeżeli programista nie postawi średnika po wyrażeniu if, a następnie użyje sekcji else, to interpreter PHP zgłosi błąd składniowy. Jest to istotne, ponieważ każda linia kodu w PHP, która wykonuje jakąkolwiek operację, musi być zakończona średnikiem, co jest standardową praktyką w językach programowania. Przykład poprawnej konstrukcji: if ($warunek) { // kod } else { // kod }. W przypadku braku średnika może to prowadzić do nieprzewidzianych błędów w kodzie, co z kolei wpłynie na stabilność aplikacji. Przestrzeganie takich zasad jest kluczowe dla osiągnięcia dobrej jakości kodu oraz jego łatwości w utrzymaniu.

Pytanie 12

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

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

Podczas przygotowywania grafiki na stronę internetową konieczne jest wycięcie jedynie określonego fragmentu. Jak nazywa się ta operacja?

A. lustrzane odbicie obrazu.
B. łączenie warstw.
C. zmiana rozmiaru.
D. kadrowanie.
Kadrowanie to proces polegający na wycinaniu fragmentu obrazu w celu skupienia uwagi na określonym elemencie lub poprawienia kompozycji. W kontekście grafiki internetowej, kadrowanie jest kluczowe, aby dostosować zdjęcia do wymagań wizualnych strony, zachowując jednocześnie wysoką jakość obrazu. Przykładowo, jeśli tworzymy stronę dla restauracji, możemy wyciąć fragment zdjęcia dania, aby lepiej zaprezentować jego szczegóły. Dobre praktyki w kadrowaniu obejmują stosowanie zasady trzech, która polega na umiejscowieniu kluczowych elementów obrazu w punktach przecięcia linii podziału. Warto również pamiętać o rozdzielczości i proporcjach, aby uniknąć rozmycia lub zniekształcenia obrazu. Kadrowanie jest często używane w różnych formatach wizualnych, takich jak posty w mediach społecznościowych, banery reklamowe czy galerie zdjęć. W ten sposób, odpowiednie kadrowanie przyczynia się do lepszej prezentacji treści oraz poprawia estetykę i przejrzystość strony internetowej.

Pytanie 14

Który zapis w dokumencie HTML połączy stronę z zewnętrznym arkuszem stylów style.css?

A.
<a src="/style.css">
B.
<link rel="stylesheet' src="/style.css">
C.
<link rel="stylesheet" href="/style.css">
D.
<a href="/style.css">
Zewnętrzny arkusz stylów dołącza się w <head> znacznikiem <link rel="stylesheet" href="/style.css"> - rel określa typ relacji, a href wskazuje plik. Dlatego poprawny jest ten zapis.

Pytanie 15

W stylu CSS utworzono klasę uzytkownik. Na stronie będą wyświetlane czcionką w kolorze niebieskim: p.uzytkownik { color: blue; }

A. jedynie elementy tekstowe takie jak <p>, <h1>.
B. wszystkie akapity.
C. akapitów, którym przypisano klasę uzytkownik.
D. wszystkie elementy w sekcji <body> z przypisaną klasą uzytkownik.
Odpowiedź, że paragrafy przypisane do klasy 'uzytkownik' będą miały niebieską czcionkę, jest jak najbardziej trafna. W CSS używamy kropki, żeby zdefiniować klasę, co oznacza, że styl dotyczy tylko tych elementów HTML, które mają tę klasę. Więc jeśli masz coś takiego w HTML jak <p class='uzytkownik'>, to na pewno będzie to wyświetlane z niebieską czcionką, zgodnie z Twoją regułą CSS. Takie podejście super wspiera modularność i możliwość ponownego użycia kodu, co jest naprawdę ważne w tworzeniu stron. Dzięki klasom CSS łatwo da się ogarnąć styl w różnych miejscach w kodzie, a zmieniając kolor czcionki w pliku CSS, zmiana ta natychmiast zaktualizuje wszystkie elementy z tą klasą. Przykładowo, akapit <p class='uzytkownik'> będzie miał niebieski kolor i to fajnie wpływa na spójność wizualną strony. Pamiętaj też, że klasy CSS można stosować nie tylko do akapitów, ale też do innych znaczników, co daje większą swobodę w stylizacji treści.

Pytanie 16

Skrypt w języku JavaScript, który zajmuje się płacami pracowników, ma na celu stworzenie raportu dla osób zatrudnionych na umowę o pracę, które otrzymują wynagrodzenie w przedziale 4000 do 4500 zł, w tym przedziale obustronnie domkniętym. Jakie jest kryterium do wygenerowania raportu?

A. umowa == 'praca' && (pensja >= 4000 && pensja <= 4500)
B. umowa == 'praca' || (pensja >= 4000 || pensja <= 4500)
C. umowa == 'praca' || (pensja >= 4000 && pensja <= 4500)
D. umowa == 'praca' && (pensja >= 4000 || pensja <= 4500)
Wielu uczniów ma kłopoty z poprawnym rozumieniem operatorów logicznych i jak je łączyć. Na przykład, odpowiedź umowa == 'praca' || (pensja >= 4000 || pensja <= 4500) jest niepoprawna, bo mówi, że wystarczy spełnić chociaż jeden z warunków, co nie zgadza się z tym, czego chcieliśmy. W tej sytuacji, jeśli pracownik nie ma umowy o pracę, a jego pensja wynosi 5000 zł, to raport i tak może się wygenerować, co jest sprzeczne z zamysłem pytania. Inny błąd to użycie '||' w odpowiedzi umowa == 'praca' && (pensja >= 4000 || pensja <= 4500) – to znowu prowadzi do nieprawidłowego wniosku. Gdy pensja wynosi 3500 zł, raport ma szansę na generację, mimo że nie spełnia wymogu dotyczącego płac. W odpowiedzi umowa == 'praca' || (pensja >= 4000 && pensja <= 4500) też widać błędne zrozumienie operatorów, co prowadzi do sytuacji, w której raport może być generowany dla pracowników z pensjami poniżej 4000 zł, tylko dlatego, że mają umowę o pracę. Kluczowy błąd to brak dostrzegania, że w takich sytuacjach wszystkie warunki muszą być spełnione, co oznacza, że trzeba używać operatora '&&'. Zrozumienie operatorów logicznych to podstawa w programowaniu i bardzo ważny element przy tworzeniu skutecznych skryptów.

Pytanie 17

Aby utworzyć relację wiele do wielu między tabelami A i B, wystarczy, że

A. połączenie tabeli A z tabelą B nastąpi poprzez określenie kluczy obcych
B. zostanie zdefiniowana trzecia tabela z kluczami obcymi do tabel A i B
C. wiele wpisów z tabeli A powtórzy się w tabeli B
D. tabela A będzie miała identyczne pola jak tabela B
Odpowiedź, że należy zdefiniować trzecią tabelę z kluczami obcymi do tabel A i B, jest poprawna, ponieważ relacja wiele do wielu wymaga pośrednictwa trzeciej tabeli, często nazywanej tabelą asocjacyjną lub łączącą. W praktyce oznacza to, że każdy rekord w tabeli A może być powiązany z wieloma rekordami w tabeli B i vice versa. Tabela asocjacyjna zawiera co najmniej dwa pola kluczy obcych: jedno wskazujące na odpowiedni rekord w tabeli A i drugie na odpowiadający mu rekord w tabeli B. Na przykład, w systemie zarządzania kursami, tabela 'Studenci' i tabela 'Kursy' mogą być połączone poprzez tabelę 'Rejestracje', która przechowuje identyfikatory studentów i kursów, umożliwiając przypisanie wielu studentów do wielu kursów. To podejście jest zgodne z zasadami normalizacji baz danych, które mają na celu minimalizację redundancji i zapewnienie spójności danych. Dobrą praktyką jest również zapewnienie, że klucze obce w tabeli asocjacyjnej są odpowiednio indeksowane, co poprawia wydajność zapytań oraz umożliwia łatwe zarządzanie relacjami.

Pytanie 18

Metoda i zmienna są widoczne tylko dla innych metod tej samej klasy. Który modyfikator dostępu odpowiada temu opisowi?

A.
protected
B.
private
C.
public
D.
static
Gdy metoda i zmienna mają być widoczne wyłącznie dla innych metod TEJ SAMEJ klasy, używa się modyfikatora private. Ukrywa on składowe przed kodem spoza klasy, wymuszając dostęp przez publiczny interfejs (np. metody „get/set”). Zapamiętaj: private = składowa zamknięta w obrębie własnej klasy.

Pytanie 19

Która kolejność stylów CSS jest poprawna pod względem priorytetu (od najwyższego)?

A. zewnętrzny → wydzielone bloki → lokalny
B. lokalny → wewnętrzny → zewnętrzny
C. wewnętrzny → zewnętrzny → rozciąganie stylu
D. rozciąganie stylu → zewnętrzny → lokalny
Przy kaskadzie CSS najwyższy priorytet ma styl LOKALNY (inline, w atrybucie style), potem WEWNĘTRZNY (w <style> w nagłówku), a najniższy ZEWNĘTRZNY (dołączony plik CSS). Dlatego kolejność to: lokalny, wewnętrzny, zewnętrzny.

Pytanie 20

W języku C++ stworzono zmienną char zm1[10]; Czym jest ta zmienna?

A. liczbą
B. tablicą znaków
C. tablicą łańcuchów
D. znakiem
Zmienna char zm1[10] w języku C++ jest tablicą znaków, co oznacza, że może przechowywać do 10 pojedynczych znaków. Tablice znaków są szeroko stosowane w programowaniu do reprezentacji łańcuchów tekstowych. W C++ tablice są strukturami, które umożliwiają przechowywanie kolekcji elementów tego samego typu. Zmienna char zm1[10] alokuje pamięć dla 10 znaków, gdzie każdy znak jest typu char. Dzięki temu możemy wykorzystać taką tablicę do przechowywania napisów, takich jak imiona, tytuły czy inne teksty. Przykładowo, możemy przypisać do tej tablicy łańcuch znaków: 'Hello', co wymaga dodatkowego miejsca dla znaku null ('\0'), co oznacza koniec łańcucha. W praktyce, aby przypisać wartość do zmiennej, możemy użyć funkcji strncpy lub strcat. Zgodnie z dobrymi praktykami, warto zawsze pamiętać o maksymalnym rozmiarze tablicy, aby uniknąć przepełnienia bufora, które może prowadzić do poważnych błędów w programie. Przy tworzeniu aplikacji, które operują na tekstach, znajomość tablic znaków jest kluczowa i niezbędna dla prawidłowego zarządzania danymi tekstowymi."

Pytanie 21

W trakcie edycji grafiki rastrowej w oprogramowaniu obsługującym kanały, dodanie kanału alfa wskazuje na

A. dodanie warstwy z przezroczystością
B. wyostrzenie krawędzi obrazu
C. zwiększenie głębi ostrości obrazu
D. ustalenie prawidłowego balansu bieli
Dodanie kanału alfa w obróbce grafiki rastrowej oznacza wprowadzenie warstwy odpowiedzialnej za przezroczystość obrazu. Kanał alfa rozszerza możliwości tradycyjnych obrazów, które składają się tylko z trzech podstawowych kanałów kolorystycznych: czerwonego, zielonego i niebieskiego (RGB). Dzięki kanałowi alfa, każdy piksel w obrazie może mieć przypisaną wartość przezroczystości, co pozwala na tworzenie efektów takich jak cienie, rozmycia, a także na precyzyjne maskowanie elementów w projekcie. Przykładem zastosowania kanału alfa może być tworzenie grafik do użycia w reklamach czy wideo, gdzie elementy muszą być płynnie nałożone na różnorodne tła. W profesjonalnym oprogramowaniu graficznym, takim jak Adobe Photoshop czy GIMP, dodanie kanału alfa jest standardową praktyką w procesie tworzenia i edycji obrazów. Ponadto, tworząc animacje czy interaktywne projekty multimedialne, kanał alfa pozwala na bardziej elastyczne zarządzanie przezroczystością poszczególnych warstw, co jest kluczowe dla finalnego efektu wizualnego.

Pytanie 22

W bazie danych księgarni znajduje się tabela ksiazki, która zawiera pola: id, idAutor, tytul, ileSprzedanych, oraz tabela autorzy z polami: id, imie, nazwisko. Jak można utworzyć raport sprzedanych książek zawierający tytuły oraz nazwiska autorów?

A. należy zdefiniować relację 1..1 pomiędzy tabelami ksiazki a autorzy, a następnie stworzyć kwerendę łączącą obie tabele
B. należy zdefiniować relację l..n pomiędzy tabelami ksiazki a autorzy, a następnie stworzyć kwerendę łączącą obie tabele
C. trzeba utworzyć dwie oddzielne kwerendy: pierwsza do wyszukiwania tytułów książek, druga do wyszukiwania nazwisk autorów
D. konieczne jest stworzenie kwerendy, która wyszukuje tytuły książek
Jak się przyjrzysz innym odpowiedziom, to zauważysz, że zdefiniowanie relacji 1..1 dla tabel 'ksiazki' i 'autorzy' to trochę nieporozumienie. Takie założenie sugeruje, że każdy autor mógłby napisać tylko jedną książkę, co jest mało prawdopodobne w rzeczywistości. Przecież jeden autor może mieć na swoim koncie wiele tytułów, więc prawidłowa relacja to l..n. Kwerenda, która tylko wyszukuje tytuły książek, nie bierze pod uwagę autorów, co sprawia, że nie dostajemy pełnych informacji o książkach. Dwie osobne kwerendy na tytuły i nazwiska autorów to jakieś nieporozumienie – jest to nieefektywne i nie pozwala na zebranie wyników w jednej, sensownej formie. Często w takich sytuacjach ludzie mylą się, bo nie rozumieją zasad relacyjnych baz danych i nie mają dobrego podejścia do projektowania schematu. To prowadzi później do problemów z zarządzaniem danymi i ich analizą.

Pytanie 23

Aby prawidłowo udokumentować linię kodu w języku JavaScript, należy po znakach // wpisać komentarz.

x = Math.max(a, b, c); //
A. wybór losowej wartości ze zmiennych a, b i c
B. w zmiennej x maksymalna wartość ze zmiennych a, b, c
C. nieprawidłowe dane.
D. w zmiennej x minimalna wartość ze zmiennych a, b, c
Odpowiedź "w zmiennej x maksymalna wartość ze zmiennych a, b, c" jest poprawna, ponieważ odzwierciedla działanie funkcji Math.max() w języku JavaScript, która zwraca największą wartość spośród podanych argumentów. W kontekście tej linii kodu, przypisanie wartości do zmiennej x jest kluczowym elementem programowania, gdyż pozwala na dynamiczne ustalanie największej wartości zmiennych a, b i c w różnych scenariuszach. W praktyce, odpowiednia dokumentacja kodu, w tym komentarze, jest niezbędna do utrzymania czytelności i zrozumiałości kodu, zwłaszcza w większych projektach. Komentarze pomagają innym programistom (lub nawet samym autorom kodu w przyszłości) szybko zrozumieć, co dany fragment kodu robi. Używanie komentarzy w odpowiednich miejscach, szczególnie po operatorze "//", jest uznawane za dobrą praktykę w programowaniu. Dlatego ważne jest, aby jasno określić funkcję danej linii kodu, co czyni tę odpowiedź trafną.

Pytanie 24

W HTML-u utworzono formularz. Jaki efekt działania poniższego kodu zostanie pokazany przez przeglądarkę, jeśli w drugie pole użytkownik wprowadził tekst "ala ma kota"?

<form>
    <select>
        <option value="v1">Kraków</option>
        <option value="v2">Poznań</option>
        <option value="v3">Szczecin</option>
    </select><br>
    <input type="password" />
</form>
Ilustracja do pytania
A. C
B. D
C. A
D. B
Odpowiedź B jest prawidłowa, ponieważ pokazuje typowy sposób renderowania formularza HTML z elementem wyboru i polem hasła w przeglądarce. W kodzie HTML widzimy element select z trzema opcjami wyboru. Po zaznaczeniu jednej z opcji, jak Kraków, tworzy się rozwijane menu, które jest widoczne na obrazie jako pole z wybraną wartością. Drugim elementem formularza jest pole input typu password. Ten typ pola zamienia wpisany tekst na znaki maskujące, takie jak kropki lub gwiazdki, co widzimy na obrazie w odpowiedzi B. To jest standardowe zachowanie przeglądarek w przypadku pól hasła, mające na celu ochronę prywatności. W kodzie HTML nie ma elementów typu checkbox ani radio, co eliminowałoby inne prezentacje danych, takie jak checkboxy czy przyciski radiowe. Dobrą praktyką jest używanie pól hasła w formularzach tam, gdzie wymagane jest wprowadzenie danych, które powinny być chronione. Odpowiednie użycie elementów HTML zwiększa użyteczność i bezpieczeństwo aplikacji internetowej i jest zgodne z konwencjami projektowania UI.

Pytanie 25

Jakim typem jest w PHP zmienna globalna $_POST (odbierająca dane formularza)?

A. zmienną tekstową
B. tablicą asocjacyjną
C. ciągiem znaków zakodowanym w JSON
D. obiektem klasy stdClass
Pozostałe typy nie pasują. $_POST nie jest pojedynczą zmienną tekstową ani ciągiem JSON - przechowuje wiele par klucz-wartość. Nie jest też obiektem klasy stdClass (do pól sięga się przez [], nie przez ->). To tablica asocjacyjna.

Pytanie 26

Formularze do zarządzania bazami danych są tworzone w celu

A. wyszukiwania rekordów, które spełniają określone kryteria
B. ułatwienia wprowadzania, edytowania i usuwania danych
C. tworzenia powiązań w relacyjnych bazach danych
D. generowania raportów z danych
Formularze do obsługi baz danych odgrywają kluczową rolę w procesie zarządzania danymi, pozwalając na wygodne wprowadzanie, edytowanie oraz usuwanie informacji. Są one interfejsem, który umożliwia użytkownikom interakcję z bazą danych w sposób bardziej intuicyjny niż bezpośrednie operacje na tabelach. Dzięki formularzom można zminimalizować ryzyko błędów, które mogą wystąpić podczas ręcznego wprowadzania danych, a także zautomatyzować proces weryfikacji. Przykładem może być formularz rejestracji użytkownika, w którym wszystkie dane są wprowadzane w zorganizowanej formie, co pozwala na szybkie i efektywne przetwarzanie. Formularze mogą być powiązane z regułami walidacji, co zapewnia, że jedynie poprawne dane są wprowadzane do bazy. Przykładowo, można ustawić ograniczenia na pola tekstowe, aby akceptowały jedynie określone formaty danych, takie jak adresy e-mail czy numery telefonów. Standardy, takie jak SQL i normy dotyczące projektowania baz danych, wskazują na znaczenie formularzy w kontekście utrzymania integralności danych oraz ułatwienia ich obsługi.

Pytanie 27

W języku JavaScript, aby uzyskać element wykorzystując metodę getElementById, jaką właściwością można zmienić jego zawartość?

A. Body
B. innerHTML
C. HTML
D. innerBody
Odpowiedzi takie jak innerBody, HTML oraz Body są wynikiem nieprawidłowego rozumienia właściwości i metod dostępnych w JavaScript. InnerBody nie jest uznawaną właściwością w kontekście manipulacji DOM, co może prowadzić do frustracji programisty, który oczekuje, że taka właściwość istnieje. Z kolei odpowiedź HTML może wprowadzać w błąd, ponieważ w kontekście DOM nie odnosi się ona bezpośrednio do jakiejkolwiek właściwości elementu. Mimo że HTML może być używane w różnych kontekstach, nie jest to poprawna metoda uzyskiwania dostępu do lub modyfikacji zawartości elementu. Body natomiast, odnosząc się do całego dokumentu HTML, nie jest odpowiednią właściwością do modyfikacji zawartości konkretnego elementu przy pomocy JavaScript. Ważne jest, aby unikać generalizacji i nie mylić koncepcji. Typowe błędy myślowe związane z tymi odpowiedziami polegają na nieporozumieniu roli właściwości w DOM oraz na przypuszczeniu, że wszystkie możliwe nazwy mogą być używane zamiennie. Programiści powinni zrozumieć, że DOM ma wyraźnie zdefiniowany zestaw właściwości i metod, które są standardem w branży, a każda z tych właściwości ma swoje specyficzne zastosowanie. Dlatego znajomość właściwego zestawu narzędzi oraz ich zastosowań jest kluczowa dla efektywnego i bezpiecznego programowania w JavaScript.

Pytanie 28

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 GET, za pomocą protokołu HTTPS
B. Metoda POST, za pomocą protokołu HTTPS
C. Metoda POST, za pomocą protokołu HTTP
D. Metoda GET, za pomocą protokołu HTTP
Jak wiemy, wybieranie metody POST przy użyciu HTTPS to naprawdę najlepszy sposób na przesyłanie wrażliwych danych. Dlaczego? Bo metoda POST przesyła dane w ciele żądania, więc są one mniej widoczne dla niepowołanych osób. W przeciwieństwie do metody GET, która wrzuca wszystko do adresu URL. A protokół HTTPS to już zupełnie inna bajka, bo szyfruje cały ruch między użytkownikiem a serwerem. W praktyce to znaczy, że nasze dane, przykładowo hasła w formularzach logowania, są lepiej chronione przed podsłuchiwaniem. Oprócz tego warto pamiętać o standardach OWASP, które mocno podkreślają, jak ważne jest stosowanie HTTPS i POST tam, gdzie przesyłamy wrażliwe informacje. To naprawdę mogłoby uratować nas przed różnymi atakami, jak Man-in-the-Middle, więc nie ma co ryzykować i warto stosować te metody.

Pytanie 29

Który z poniższych znaczników jest używany do definiowania list w HTML?

A. <th>
B. <tr>
C. <td>
D. <ul>
<ul> jest znacznikami HTML, które definiuje nieuporządkowaną listę. Użycie tego znacznika pozwala na przedstawienie elementów listy w formie graficznej, gdzie każdy element jest oznaczony punktem. Jest to podstawowy element w HTML, który jest zgodny z wytycznymi W3C i szeroko stosowany w tworzeniu responsywnych i estetycznych interfejsów użytkownika. Przykładowe zastosowanie <ul> może obejmować listy składników, funkcji, czy też elementów menu na stronie internetowej. Stosując <ul>, można także użyć znacznika <li>, aby określić poszczególne elementy listy, co zwiększa czytelność i strukturalizację treści. Znajomość i umiejętność stosowania tych znaczników jest kluczowa dla każdego web developera, aby tworzyć dostępne i zrozumiałe dla użytkowników interfejsy, a także wspierać praktyki SEO poprzez odpowiednią organizację treści.

Pytanie 30

Debugger to narzędzie programowe, którego zadaniem jest:

A. instalowanie środowiska programistycznego
B. wykrywanie błędów składniowych w kodzie źródłowym
C. analiza działającego programu w celu znalezienia przyczyn błędnego działania
D. łączenie bibliotek i kodu w plik wykonywalny
Debugger służy do dynamicznej analizy działającego programu - pomaga znaleźć przyczyny błędów logicznych, które ujawniają się dopiero podczas wykonania. Pozwala zatrzymać program w wybranym miejscu (punkt wstrzymania - breakpoint), wykonywać kod krok po kroku, podglądać wartości zmiennych i prześledzić, którędy „idzie” sterowanie. W praktyce korzysta się z debuggera wbudowanego w IDE (np. w przeglądarce dla JavaScriptu) albo narzędzia takiego jak gdb. To odróżnia go od kompilatora, który wyłapuje błędy składni przed startem. Dlatego zadaniem debuggera jest analiza uruchomionego programu w celu wykrycia przyczyn jego nieprawidłowego działania.

Pytanie 31

Po wykonaniu przedstawionego poniżej polecenia SQL użytkownik Ela będzie mógł

GRANT SELECT, INSERT, UPDATE, DELETE ON baza1.tab1 TO 'Ela'@'localhost';
A. wykonywania wszystkich operacji na strukturze danych
B. jedynie dodawania i edytowania danych
C. jedynie tworzenia i zmiany struktury tabel
D. wykonywania wszelkich działań na danych
Polecenie SQL GRANT SELECT INSERT UPDATE DELETE ON baza1.tab1 TO 'Ela'@'localhost' przyznaje użytkownikowi Ela pełny dostęp do danych w tabeli tab1 w bazie danych baza1. Oznacza to możliwość wykonywania wszystkich operacji związanych z zarządzaniem danymi w tej tabeli. Komenda GRANT jest używana do nadawania uprawnień użytkownikom bazy danych. W tym przypadku uprawnienia obejmują SELECT do odczytu danych INSERT do dodawania nowych rekordów UPDATE do modyfikacji istniejących danych oraz DELETE do usuwania rekordów. Uprawnienia te pokrywają pełne spektrum operacji związanych z manipulacją danymi co jest kluczowe w sytuacjach gdzie użytkownik musi mieć elastyczność w zarządzaniu zawartością tabeli. Dobrymi praktykami jest ograniczanie nadawania takich szerokich uprawnień tylko wtedy gdy jest to absolutnie konieczne w celu minimalizacji ryzyka nieautoryzowanej manipulacji danymi. Rozumienie i zarządzanie uprawnieniami użytkowników jest kluczowym elementem bezpieczeństwa bazy danych ponieważ pozwala na kontrolę dostępu i zapewnienie integralności danych. Tak szeroki dostęp jak w tym przypadku powinien być przyznawany z rozwagą i jedynie zaufanym użytkownikom w środowiskach produkcyjnych gdzie dane są szczególnie wrażliwe.

Pytanie 32

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

A.
cellspacing
B.
cellpadding
C.
colspan
D.
rowspan
Trzeba odróżnić scalanie poziome od pionowego. rowspan łączy komórki w PIONIE (przez wiersze). cellpadding i cellspacing to atrybuty całej tabeli sterujące odstępami, a nie scalaniem. Poziome scalanie komórek daje colspan.

Pytanie 33

Jak brzmi nazwa metody sortowania, która polega na wielokrotnym analizowaniu kolejnych elementów tablicy oraz zamianie miejscami sąsiadujących elementów, aby utrzymać porządek według ustalonej reguły?

A. Sortowanie bąbelkowe
B. Sortowanie kubełkowe
C. Sortowanie szybkie
D. Sortowanie przez wybór
Sortowanie bąbelkowe, znane także jako Bubble Sort, to jedna z najprostszych metod sortowania, która polega na wielokrotnym przechodzeniu przez tablicę i porównywaniu par sąsiadujących elementów. Jeśli dany element jest większy od swojego sąsiada, następuje ich zamiana miejscami. Ta metoda sprawdza tablicę wielokrotnie, aż do momentu, gdy nie są już potrzebne żadne zamiany, co oznacza, że tablica jest posortowana. Przykładem zastosowania sortowania bąbelkowego mogą być sytuacje, gdy mamy do czynienia z niewielkimi zbiorami danych, na przykład w aplikacjach edukacyjnych, które mają na celu naukę podstaw algorytmiki. Warto pamiętać, że mimo swojej prostoty, sortowanie bąbelkowe ma złożoność czasową O(n²), co sprawia, że nie jest efektywne dla dużych zbiorów danych. Mimo to, jego zrozumienie stanowi dobry punkt wyjścia do nauki bardziej zaawansowanych algorytmów sortujących."

Pytanie 34

Tabela zwierzeta ma m.in. nazwa, gromada, dlugosc_zycia. Która kwerenda zwróci nazwy zwierząt żyjących min. 20 lat ORAZ będących ssakami?

A.
SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 OR gromada = 'ssak';
B.
SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';
C.
SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20;
D.
SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
Zadanie wymaga, by oba warunki zachodziły jednocześnie - długość życia min. 20 lat (dlugosc_zycia >= 20) ORAZ przynależność do ssaków (gromada = 'ssak') - dlatego łączy je AND: SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';. Dlatego ta kwerenda jest poprawna.

Pytanie 35

Jaką wartość zobaczymy po wykonaniu poniższego kodu JavaScript?

<script>
document.write(Math.round(4.51)+Math.pow(2,3));
</script>
A. 13
B. 11
C. 14
D. 12
W przedstawionym kodzie JavaScript użyto dwóch metod wbudowanych obiektu Math Math.round i Math.pow. Math.round zaokrągla wartość do najbliższej liczby całkowitej. W przypadku liczby 4.51 zostanie to zaokrąglone do 5 ponieważ 0.51 jest bliżej 1 niż 0. Math.pow wykonuje potęgowanie czyli podnosi liczbę do określonej potęgi. W przypadku Math.pow(2 3) mamy do czynienia z potęgowaniem 2 do potęgi 3 co jest równe 8 ponieważ 2 * 2 * 2 = 8. Następnie te dwie wartości są dodawane do siebie co daje 5 + 8 = 13. Wartość 13 jest wyświetlana na stronie za pomocą document.write co jest prostym sposobem na wypisywanie wyników w kontekście przeglądarki. W praktyce jednak korzystanie z document.write jest odradzane na rzecz bardziej nowoczesnych rozwiązań jak manipulacja DOM czy używanie innerHTML. Dzięki tym metodom możemy skutecznie zarządzać i wyświetlać dane na stronach internetowych co jest kluczowe w nowoczesnym tworzeniu stron WWW. Zrozumienie działania takich funkcji wbudowanych pozwala na efektywne rozwiązywanie problemów związanych z obliczeniami w języku JavaScript co jest bardzo przydatne w pracy programisty.

Pytanie 36

W poniższym kodzie PHP wykonano operację na bazie danych. Której funkcji należy użyć, aby pobrać liczbę zmienionych w tabeli wierszy?

$zapytanie="UPDATE kadra SET stanowisko='Programista' WHERE id < 10";
mysqli_query($db, $zapytanie);
A. mysqli_use_result()
B. mysqli_field_count()
C. mysqli_affected_rows()
D. mysqli_num_rows()
Gratulacje! Wybrałeś poprawną odpowiedź, która jest funkcją mysqli_affected_rows(). Ta funkcja jest specyficzna dla języka PHP i jest używana do zwracania liczby wierszy, które zostały zmienione, dodane lub usunięte przez ostatnie wywołanie funkcji mysqli_query() na serwerze MySQL. W kontekście operacji takich jak INSERT, UPDATE, REPLACE lub DELETE, mysqli_affected_rows() jest nieocenionym narzędziem do śledzenia ilości wykonanych zmian w bazie danych. Dlatego właśnie w przypadku przedstawionego pytania, gdzie w kodzie PHP wykonano operację UPDATE na bazie danych, idealnym rozwiązaniem jest użycie funkcji mysqli_affected_rows() do pobrania liczby zmienionych wierszy. Jest to kluczowe zrozumienie, aby efektywnie manipulować danymi w bazach danych MySQL za pomocą języka PHP.

Pytanie 37

Ile razy zostanie wykonana pętla przedstawiona w kodzie PHP?

for($i = 0; $i < 25; $i += 5) { ...... }
A. 25
B. 26
C. 5
D. 0
Niepoprawne odpowiedzi mogą wynikać z nieporozumienia dotyczącego sposobu, w jaki pętla for działa oraz jak obliczane są iteracje. W przypadku odpowiedzi mówiących o zerowej liczbie iteracji, można pomyśleć, że warunek $i < 25 nie pozwala na żadną iterację, co jest mylne. Pętla zaczyna się od 0 i natychmiast wchodzi w pierwszą iterację, dlatego w rzeczywistości zawsze jest przynajmniej jedna iteracja, gdy warunek jest spełniony. Z kolei odpowiedzi wskazujące na 25 lub 26 iteracji mogą wynikać z błędnego rozumienia wzrostu zmiennej $i o 5 w każdej iteracji. W rzeczywistości mamy do czynienia z pięcioma krokami, a więc 25 nie jest osiągane jako wartość iteracji, lecz granica, która kończy pętlę po ostatniej iteracji na wartości 20, a przed osiągnięciem 25. Programiści często mylą liczbę iteracji z końcowym wynikiem zmiennej. Kluczowe jest, aby w pełni zrozumieć, jak zdefiniowane są warunki i jak zmieniają się wartości zmiennych w każdej iteracji, aby unikać takich błędów. Zastosowanie pętli for jest szerokie, od przetwarzania danych po iteracje w strukturach danych, a zrozumienie liczby iteracji jest fundamentalne dla pisania efektywnego i poprawnego kodu.

Pytanie 38

Zastosowanie bloku deklaracji background-attachment: scroll sprawia, że

A. grafika tła znajdzie się w prawym górnym rogu strony
B. tło strony pozostanie statyczne, a tekst będzie się przesuwał
C. grafika tła będzie się powtarzać (kafelki)
D. tło strony będzie się przesuwać razem z tekstem
Odpowiedź, że tło strony będzie przewijane razem z tekstem, jest prawidłowa, ponieważ właściwość 'background-attachment: scroll' definiuje, jak tło elementu powinno się zachowywać podczas przewijania strony. Kiedy używamy tej właściwości, tło jest związane z zawartością strony, co oznacza, że przewija się ono w tym samym tempie, co tekst i inne elementy. To podejście jest często wykorzystywane w projektowaniu stron internetowych, gdzie chcemy uzyskać efekt płynności i spójności. Na przykład, w przypadku długich artykułów, które wymagają przewijania, zastosowanie 'background-attachment: scroll' sprawia, że użytkownik nie jest rozpraszany przez statyczną grafikę tła, co może prowadzić do lepszego doświadczenia podczas czytania. Dobrą praktyką jest również testowanie różnych efektów tła w responsywnych projektach, aby zapewnić, że zawartość pozostaje czytelna na różnych urządzeniach. Warto również pamiętać, że styl tła można łączyć z innymi właściwościami CSS, aby osiągnąć pożądany efekt wizualny, co jest kluczowe w nowoczesnym web designie.

Pytanie 39

Znaczniki HTML <strong> oraz <em>, które służą do wyróżniania istotności tekstu, odpowiadają pod względem formatowania znacznikom

A. <b> oraz <u>
B. <u> oraz <sup>
C. <i> oraz <mark>
D. <b> oraz <i>
Znacznik HTML <strong> jest używany do oznaczenia tekstu, który jest ważny, podczas gdy <em> służy do podkreślenia, że tekst powinien być akcentowany w kontekście. Odpowiednikami tych znaczników, pod względem formatowania, są <b> oraz <i>. Znacznik <b> stosuje się do wyróżnienia tekstu, nadając mu pogrubienie, co zazwyczaj oznacza, że tekst jest istotny. Z kolei <i> używamy do kursywy, co również może wskazywać na akcentowanie lub wyróżnienie pewnych słów, jednak w sposób bardziej subtelny niż przy pomocy pogrubienia. W praktyce, stosując <strong> oraz <em>, dbamy o to, aby nasza treść była bardziej dostępna dla użytkowników, zwłaszcza dla osób korzystających z technologii wspomagających, takich jak czytniki ekranu. Stosowanie znaczników semantycznych zgodnie z dobrymi praktykami zapewnia lepszą interpretację treści przez wyszukiwarki, co może wpływać na SEO. Warto również pamiętać, że pomimo że <b> i <i> mają swoje zastosowania, znacznie lepiej jest używać <strong> i <em> w kontekście semantycznym, aby poprawić zrozumienie treści przez maszyny i użytkowników.

Pytanie 40

Która para znaczników HTML daje (bez stylów CSS) taki sam efekt wizualny - pogrubienie tekstu?

A. <b> i <strong>
B. <meta> i <title>
C. <p> i <h2>
D. <b> i <big>
Pozostałe pary wyglądają różnie lub nie formatują tekstu. <p> i <h2> to akapit i nagłówek drugiego poziomu - nagłówek jest większy i pogrubiony, więc efekt jest odmienny. <b> i <big> robią co innego: pierwszy pogrubia, drugi (przestarzały) powiększa rozmiar pisma. <meta> i <title> należą do sekcji <head> i w ogóle nie formatują widocznej treści. Ten sam wizualny efekt - pogrubienie - dają <b> i <strong>, dlatego ta odpowiedź jest poprawna.