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: 12 czerwca 2026 18:27
  • Data zakończenia: 12 czerwca 2026 18:27

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Przedstawiono fragment kodu HTML, który nie waliduje się poprawnie. Błąd walidacji tego fragmentu kodu będzie dotyczył:

<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
</head>
<body>
    <img src="/obraz.gif alt="Obrazek">
    <h1>Rozdział 1</h1>
    <p>To jest tekst paragrafu, ...</p>
    <br>
    <img src="/obraz.gif" alt="Obrazek">
</body>
</html>
A. braku cudzysłowu
B. powtórzenia nazwy pliku graficznego
C. niedomknięcia znacznika <span class="code-text">br</span>
D. niedomknięcia znacznika <span class="code-text">img</span>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Fragment kodu HTML zawiera istotny błąd, który polega na braku cudzysłowu w atrybucie 'src' znacznika 'img'. Poprawna składnia wymaga, aby wszystkie wartości atrybutów były otoczone cudzysłowami, zarówno pojedynczymi, jak i podwójnymi. W tym przypadku występuje problem w linii, gdzie atrybut 'src' ma przypisaną wartość '/obraz.gif', ale brakuje zamykającego cudzysłowu, co powoduje, że przeglądarka może niepoprawnie interpretować ten fragment kodu. Aby poprawić kod, należy dodać cudzysłów, co zapewni zgodność z normami HTML, takimi jak W3C. Przykładowo, poprawny zapis powinien wyglądać następująco: <img src="/obraz.gif" alt="Obrazek">. Walidacja kodu HTML jest kluczowa, ponieważ umożliwia uniknięcie problemów z wyświetlaniem strony oraz zapewnia lepszą dostępność treści dla użytkowników oraz robotów wyszukiwarek. Użycie odpowiednich znaczników oraz poprawna składnia sprzyja również lepszym wynikom SEO, co jest istotne w kontekście widoczności w Internecie.

Pytanie 2

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

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gdy metoda i zmienna mają być widoczne wyłącznie dla innych metod TEJ SAMEJ klasy, używa się modyfikatora <code><span class="code-variable">private</span></code>. Ukrywa on składowe przed kodem spoza klasy, wymuszając dostęp przez publiczny interfejs (np. metody „get/set”). Zapamiętaj: <code><span class="code-variable">private</span></code> = składowa zamknięta w obrębie własnej klasy.

Pytanie 3

Który format NIE służy do publikacji grafiki lub animacji w internecie?

A. AIFF
B. SWF
C. PNG
D. SVG

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
AIFF (Audio Interchange File Format) to format pliku DŹWIĘKOWEGO, więc nie służy do publikacji grafiki ani animacji w internecie. Pozostałe wymienione formaty są graficzne lub animacyjne. Dlatego z grafiką nie ma związku AIFF.

Pytanie 4

Grafika, która ma być umieszczona na stronie, powinna mieć przezroczyste tło. Jakim formatem graficznym powinien być zapisany taki plik?

A. PNG
B. CDR
C. BMP
D. JPEG

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Format PNG (Portable Network Graphics) jest szczególnie ceniony w kontekście grafiki internetowej, ponieważ obsługuje przezroczystość, co czyni go idealnym wyborem dla obrazów, które wymagają tła transparentnego. Przezroczystość w formacie PNG jest realizowana poprzez zastosowanie kanału alfa, co pozwala na uzyskanie różnorodnych efektów wizualnych, takich jak cienie, gradienty czy delikatne przejścia między kolorami. Przykłady zastosowania to ikony, logo, grafiki na stronach internetowych, które muszą harmonizować z różnymi kolorami tła. W przeciwieństwie do formatów takich jak JPEG, który nie obsługuje przezroczystości i używa kompresji stratnej, PNG oferuje kompresję bezstratną, co oznacza, że jakość obrazu nie ulega pogorszeniu po zapisaniu. W kontekście praktyk webowych, użycie PNG jest zgodne z zaleceniami dotyczącymi optymalizacji obrazów w sieci, co przyczynia się do szybszego ładowania stron i lepszej jakości wizualnej.

Pytanie 5

Aplikacja o nazwie FileZilla umożliwia

A. sprawdzanie poprawności plików HTML oraz CSS
B. publikację witryny internetowej na zdalnym serwerze
C. przeprowadzenie testów aplikacji
D. wniesienie bazy danych na stronę CMS Joomla!

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
FileZilla to popularny program typu FTP (File Transfer Protocol), który umożliwia użytkownikom przesyłanie plików między komputerem a serwerem internetowym. Jego głównym celem jest publikacja stron internetowych na odległych serwerach, co jest kluczowe dla procesu tworzenia i utrzymania stron w sieci. Program obsługuje różne protokoły, takie jak FTP, FTPS oraz SFTP, co zapewnia elastyczność i bezpieczeństwo podczas transferu danych. W praktyce, aby opublikować stronę, użytkownik może przeciągnąć pliki z lokalnego folderu do odpowiedniego katalogu na serwerze, co jest intuicyjne i efektywne. FileZilla wspiera również funkcje takie jak synchronizacja folderów, co pozwala na łatwe aktualizowanie zawartości strony. Zgodnie z branżowymi standardami, korzystanie z odpowiednich narzędzi do przesyłania plików, takich jak FileZilla, jest niezbędne dla każdego dewelopera webowego, aby zapewnić bezpieczeństwo i zgodność z najlepszymi praktykami w zakresie publikacji stron internetowych.

Pytanie 6

W języku JavaScript, deklaracja:

var x=true;
sprawia, że zmienna x ma typ
A. łańcuch znaków
B. numeryczny
C. enumeracyjny
D. logiczy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zmienna x w JavaScript, która została zadeklarowana jako 'var x=true;', to typ logiczny, czyli boolean. W tym języku mamy dwie możliwe wartości: true (prawda) i false (fałsz). Ten typ jest naprawdę ważny, zwłaszcza gdy mówimy o warunkach w programach, bo to właśnie one są bazą dla programowania strukturalnego i obiektowego. Kiedy piszesz instrukcje if albo pętle, typ logiczny odgrywa kluczową rolę w tym, co się dzieje w programie. Fajnie jest korzystać z zmiennych logicznych, by kontrolować, co się dzieje w kodzie, a także sprawiać, że warunki są czytelniejsze. Ciekawe jest też to, że w JavaScript inne typy, jak liczby czy ciągi znaków, mogą być używane w kontekście wartości prawdziwych i fałszywych. To czyni typ logiczny bardzo elastycznym i wszechstronnym. Im lepiej rozumiesz ten typ, tym lepiej potrafisz tworzyć dynamiczne aplikacje, które dobrze reagują na różne sytuacje.

Pytanie 7

W CSS wartości: underline, overline, blink są powiązane z atrybutem

A. font-style
B. text-style
C. text-decoration
D. font-weight

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Atrybut text-decoration w CSS jest tym, co pozwala na dodawanie różnych efektów do tekstu. Możemy dzięki niemu użyć takich rzeczy jak underline, overline czy nawet blink, chociaż to ostatnie nie jest już zbyt popularne, bo wiele przeglądarek to ignoruje ze względu na dostępność. Dzięki tym efektom tekst może wyglądać bardziej estetycznie, a czytelność też się poprawia. Na przykład, jeśli użyjesz 'p { text-decoration: underline; }', to cały tekst w tym paragrafie będzie podkreślony. W CSS3 dodano też nowe możliwości, jak text-decoration-color czy text-decoration-style, co daje jeszcze większą kontrolę nad tym, jak nasz tekst będzie wyglądał. Dlatego myślę, że umiejętność korzystania z text-decoration jest naprawdę ważna dla każdego, kto zajmuje się tworzeniem stron internetowych.

Pytanie 8

Rekordowi z tabeli A może odpowiadać wiele rekordów z tabeli B, a każdemu rekordowi z B - dokładnie jeden z A. To relacja:

A. nieoznaczona
B. wiele do wielu
C. jeden do jednego
D. jeden do wielu

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gdy rekordowi z tabeli A może odpowiadać WIELE rekordów z B, a każdemu rekordowi z B - dokładnie JEDEN z A, mamy relację jeden-do-wielu (1:n). To najczęstszy typ relacji, np. jeden autor i wiele jego książek. Zapamiętaj: „jeden po stronie A, wielu po stronie B” = 1:n.

Pytanie 9

W języku JavaScript zdefiniowano następującą funkcję:

function fun1(f) {
    if (f < 0) f = f * (-1);
    return f;
}
Jej celem jest:
A. Zwrócić wartość odwrotną do argumentu f
B. Wypisać wartość odwrotną do argumentu f
C. Zwrócić wartość bezwzględną argumentu f
D. Wypisać wartość bezwzględną argumentu f

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja w języku JavaScript przedstawiona w pytaniu realizuje zadanie zwracania wartości bezwzględnej z argumentu f. Wartość bezwzględna liczby jest jej odległością od zera na osi liczbowej i jest zawsze liczbą nieujemną. Mechanika działania funkcji polega na sprawdzeniu za pomocą instrukcji warunkowej if czy wartość przekazanego argumentu f jest mniejsza od zera. Jeśli tak, wartość ta jest mnożona przez -1 co przekształca ją w liczbę dodatnią. W przeciwnym razie liczba pozostaje bez zmian. Ostatecznie funkcja zwraca wynik operacji co jest typowym podejściem w programowaniu funkcyjnym. Warto zwrócić uwagę że takie podejście jest zgodne z dobrymi praktykami programistycznymi ponieważ funkcja ma jednoznacznie określony cel i nie powoduje efektów ubocznych takich jak modyfikacja zmiennych globalnych. W realnych projektach często korzysta się z funkcji Math.abs która jest wbudowana w JavaScript i zwraca wartość bezwzględną liczby co jest bardziej wydajnym podejściem i zgodnym ze standardami języka

Pytanie 10

Jak nazywa się paradygmat, w którym program buduje się z OBIEKTÓW łączących dane i operujące na nich metody?

A. logiczne
B. obiektowe
C. funkcyjne
D. strukturalne

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Paradygmat, w którym program buduje się z OBIEKTÓW łączących dane (pola) i operujące na nich metody, to programowanie OBIEKTOWE (OOP). Filary to hermetyzacja, dziedziczenie i polimorfizm, a przykłady języków: Java, C++, PHP. Zapamiętaj: obiektowe = dane i ich zachowania zamknięte w jednym obiekcie.

Pytanie 11

Który protokół jest stosowany do przesyłania plików na serwer WWW?

A. DNS
B. FTP
C. POP3
D. DHCP

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
FTP, czyli File Transfer Protocol, to protokół używany do przesyłania plików między komputerami w sieci, zwłaszcza w kontekście serwerów WWW. Umożliwia on użytkownikom łatwe przesyłanie, pobieranie, a także zarządzanie plikami na serwerze. FTP działa na bazie modelu klient-serwer, gdzie klient nawiązuje połączenie z serwerem i może przesyłać pliki w obie strony. Protokół ten operuje na portach 20 i 21, co czyni go standardem w dziedzinie przesyłania plików. W praktyce, wiele aplikacji klienckich, takich jak FileZilla czy WinSCP, wykorzystuje FTP do zarządzania plikami na serwerach. FTP wspiera różne metody autoryzacji, w tym logowanie anonimowe, co umożliwia użytkownikom dostęp do publicznych zasobów. Warto również zaznaczyć, że istnieją rozszerzenia, takie jak FTPS czy SFTP, które oferują dodatkowe funkcje zabezpieczeń, umożliwiając szyfrowanie danych podczas transferu. W kontekście standardów, FTP jest definiowany w dokumentach RFC 959 oraz RFC 3659, które określają jego działanie oraz interakcje w sieci. Dzięki swojej wszechstronności i niezawodności, FTP pozostaje jednym z najpopularniejszych protokołów do przesyłania plików w Internecie.

Pytanie 12

Której kwerendy SQL należy użyć, aby utworzyć tabelę samochod z atrybutami marka, model, cena, gdzie marka i model są typu tekstowego, natomiast cena jest liczbą rzeczywistą typu stałoprzecinkowego?

A. CREATE TABLE samochod (marka CHAR(30), model CHAR(30), cena DECIMAL(15,2));
B. CREATE TABLE samochod (marka INT(30), model INT(30), cena DECIMAL(2,15));
C. CREATE TABLE samochod VALUES (marka CHAR(30), model CHAR(30), cena FLOAT);
D. CREATE TABLE samochod VALUES (marka CHAR(30), model CHAR(30), cena DOUBLE);

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna kwerenda używa składni CREATE TABLE z listą kolumn i ich typów danych: CREATE TABLE samochod (marka CHAR(30), model CHAR(30), cena DECIMAL(15,2));. To dokładnie odpowiada treści zadania. Atrybuty marka i model są typu tekstowego, więc zastosowano CHAR(30) – stałej długości łańcuch znaków. W praktyce w wielu projektach częściej używa się VARCHAR zamiast CHAR (bo oszczędza miejsce przy krótszych napisach), ale użycie CHAR(30) jest jak najbardziej poprawne i zgodne ze składnią SQL. Kluczowy jest tu typ ceny. W zadaniu jest mowa o liczbie rzeczywistej typu stałoprzecinkowego, czyli takiej, która przechowuje część ułamkową, ale w sposób dokładny, a nie przybliżony. Do tego właśnie służy DECIMAL(p,s) (lub NUMERIC), gdzie p to precyzja (łączna liczba cyfr), a s to skala (liczba cyfr po przecinku). DECIMAL(15,2) oznacza liczbę z maksymalnie 15 cyframi, z czego 2 po przecinku, czyli świetnie nadaje się np. do przechowywania cen w złotówkach i groszach: 1234567890123,45 mieści się w takim typie. To jest standardowa, dobra praktyka w systemach finansowych, sklepach internetowych, systemach magazynowych itp., bo unikamy błędów zaokrągleń charakterystycznych dla typów zmiennoprzecinkowych jak FLOAT czy DOUBLE. W realnych bazach danych (MySQL, PostgreSQL, SQL Server) kolumny z cenami, stawkami VAT, rabatami procentowymi prawie zawsze definiuje się właśnie jako DECIMAL z odpowiednią skalą, a nie jako typy binarne zmiennoprzecinkowe. Warto też zauważyć, że prawidłowa składnia CREATE TABLE nie używa słowa VALUES przy definiowaniu struktury tabeli – po nazwie tabeli od razu podajemy listę kolumn z typami, tak jak w wybranej odpowiedzi. Taka konstrukcja jest zgodna z SQL-92 i wspierana przez wszystkie popularne systemy bazodanowe.

Pytanie 13

Tabela Pracownicy zawiera informacje na temat pracowników różnych działów, co jest zaznaczone przez pole liczbowe dzial. Z racji tego, że zazwyczaj kwerendy dotyczą tylko działu 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 SELECT FROM Pracownicy WHERE dzial=2;
B. CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2;
C. CREATE VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2;
D. VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2;' jest poprawna, ponieważ wykorzystuje standardowe polecenie SQL do tworzenia widoku. Widok jest wirtualną tabelą, która umożliwia użytkownikom wykonywanie zapytań w oparciu o wcześniej zdefiniowane kryteria, co może znacznie uprościć złożoność zapytań w bazach danych. W tym przypadku, widok 'Prac_dzial2' automatycznie filtruje dane, zwracając jedynie pracowników przypisanych do działu 2. Przy pomocy tego widoku, użytkownicy mogą szybko uzyskać dostęp do tego subsetu danych bez konieczności każdorazowego pisania złożonych zapytań. Z perspektywy zarządzania bazą danych, tworzenie widoków jest uznawane za dobrą praktykę, ponieważ pozwala na lepszą organizację i bezpieczeństwo danych, a także stanowi dodatkową warstwę abstrakcji, która może ułatwić stosowanie polityk dostępu. Na przykład, jeśli firma zmieni strukturę działów, wystarczy zaktualizować definicję widoku, co nie wymaga modyfikacji wszystkich zapytań korzystających z tego widoku.

Pytanie 14

Poniższy fragment kodu PHP funkcjonuje poprawnie i ma na celu wyświetlenie na stronie internetowej informacji pobranych kwerendą z bazy danych. Ile pól zostanie wyświetlonych na stronie?

$ile = mysqli_num_rows($zapytanie);
for ($i = 0; $i < $ile; $i++) 
{
    $wiersz = mysqli_fetch_row($zapytanie); 
    echo "<p>Klient: $wiersz[0] $wiersz[1], adres: $wiersz[2] </p>";
}
A. Z jednego pola
B. Z trzech pól
C. Z czterech pól
D. Z dwóch pól

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kod PHP wyświetla dane z bazy danych przy użyciu funkcji mysqli_fetch_row, która zwraca wiersz danych jako tablicę. W tym przypadku, wiersz zawiera trzy elementy: '$wiersz[0]', '$wiersz[1]' oraz '$wiersz[2]'. Pierwszy element '$wiersz[0]' odpowiada nazwisku klienta, drugi '$wiersz[1]' to imię klienta, a trzeci '$wiersz[2]' to adres. Wyświetlanie danych w formacie HTML (znacznik <p>) wskazuje, że wszystkie trzy elementy są używane do stworzenia czytelnej prezentacji. W praktyce, korzystanie z mysqli_num_rows do określenia liczby zwróconych wierszy pozwala na dynamiczne przetwarzanie danych z bazy danych, co jest zgodne z najlepszymi praktykami programowania PHP. Zastosowanie pętli for umożliwia iterację przez wszystkie wiersze wynikowe i wyświetlenie ich w odpowiedniej formie. Takie podejście jest powszechnie stosowane przy budowaniu aplikacji webowych, gdzie wyświetlanie danych z bazy jest kluczowym elementem interakcji z użytkownikiem.

Pytanie 15

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

A. Krzywe.
B. Progowanie.
C. Inwersja.
D. Barwienie.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
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 16

Którego znacznika NIE należy umieszczać w sekcji <head> dokumentu HTML?

A. <meta>
B. <h2>
C. <link>
D. <title>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Sekcja <code><span class="code-text">&lt;</span><span class="code-keyword">head</span><span class="code-text">&gt;</span></code> zawiera metadane dokumentu - informacje o stronie, niewidoczne bezpośrednio w treści. Prawidłowo umieszcza się w niej <code><span class="code-text">&lt;</span><span class="code-keyword">title</span><span class="code-text">&gt;</span></code>, <code><span class="code-text">&lt;</span><span class="code-keyword">meta</span><span class="code-text">&gt;</span></code>, <code><span class="code-text">&lt;</span><span class="code-keyword">link</span><span class="code-text">&gt;</span></code>, a także <code><span class="code-text">&lt;</span><span class="code-keyword">style</span><span class="code-text">&gt;</span></code> i <code><span class="code-text">&lt;</span><span class="code-keyword">script</span><span class="code-text">&gt;</span></code>. Znacznik <code><span class="code-text">&lt;</span><span class="code-keyword">h2</span><span class="code-text">&gt;</span></code> to nagłówek WIDOCZNEJ treści, więc jego miejsce jest w <code><span class="code-text">&lt;</span><span class="code-keyword">body</span><span class="code-text">&gt;</span></code>, a nie w nagłówku dokumentu. Dlatego w <code><span class="code-text">&lt;</span><span class="code-keyword">head</span><span class="code-text">&gt;</span></code> nie powinno się umieszczać <code><span class="code-text">&lt;</span><span class="code-keyword">h2</span><span class="code-text">&gt;</span></code>.

Pytanie 17

Który z kodów PHP sprawi, że zostanie wyświetlona sformatowana data oraz czas ostatnich odwiedzin użytkownika witryny, natomiast podczas pierwszej wizyty nic się nie wyświetli?

Kod 1.   echo date('d.m.Y, H:i', $_COOKIE['c1']);
         setcookie('c1', time());

Kod 2.   if(isset($_COOKIE['c1']))
           echo date($_COOKIE['c1']);
         setcookie('c1', time(), time() + 30 * 86400);

Kod 3.   echo date($_COOKIE['c1']);
         setcookie('c1', time(), time() + 30 * 86400);

Kod 4.   setcookie('c1', time(), time() + 30 * 86400);
A. Kod 4.
B. Kod 1.
C. Kod 3.
D. Kod 2.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź to Kod 2. Ten kod wykorzystuje funkcję isset() w PHP do sprawdzenia, czy ciasteczko o nazwie 'c1' jest już ustawione. Jeżeli tak, oznacza to, że użytkownik odwiedził stronę wcześniej i kod wyświetla datę i czas jego ostatnich odwiedzin zapisane w tym ciasteczku. Następnie ciasteczko jest aktualizowane i zapisuje obecny czas, który będzie wyświetlany podczas następnej wizyty. Jeżeli ciasteczko 'c1' nie istnieje, oznacza to, że jest to pierwsza wizyta użytkownika na stronie. W takim przypadku kod nie wyświetla nic, a jedynie tworzy ciasteczko 'c1' z aktualnym czasem. To podejście jest zgodne z dobrymi praktykami w PHP, które zalecają użycie funkcji isset() do sprawdzenia istnienia zmiennej przed jej użyciem, co pozwala uniknąć błędów w przypadku, gdy zmienna nie jest zdefiniowana. Korektnie użycie ciasteczek pozwala na śledzenie aktywności użytkownika i dostosowywanie treści do jego potrzeb.

Pytanie 18

Jak powinien być poprawnie zapisany znacznik <img>, służący do umieszczenia na stronie internetowej obrazu rys.jpg, przeskalowanego do szerokości 120 px oraz wysokości 80 px z tekstem alternatywnym "krajobraz"?

A. <img src="rys.jpg" width="120px" height="80px" alt="krajobraz"/>
B. <img src="rys.jpg" height="120px" width="80px" info="krajobraz"/>
C. <img image="rys.jpg" width="120px" height="80px" alt="krajobraz"/>
D. <img href="rys.jpg" height="120px" width="80px" info="krajobraz"/>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź <img src="rys.jpg" width="120px" height="80px" alt="krajobraz"/> jest poprawna z kilku powodów. Przede wszystkim, atrybut 'src' wskazuje na lokalizację pliku graficznego, co jest kluczowe dla poprawnego wyświetlania obrazu na stronie internetowej. Atrybuty 'width' oraz 'height' pozwalają na precyzyjne określenie rozmiarów obrazu, co jest istotne zarówno dla responsywności strony, jak i dla optymalizacji czasu ładowania. Użycie jednostki 'px' (pikseli) jest poprawne, jednak w HTML5 można pominąć tę jednostkę, wpisując jedynie wartość liczbową. Atrybut 'alt' jest niezwykle ważny dla dostępności, ponieważ dostarcza alternatywny opis obrazu dla użytkowników, którzy nie mogą go zobaczyć, na przykład osób niewidomych korzystających z czytników ekranu. Używanie odpowiednich atrybutów oraz wartości jest zgodne z najlepszymi praktykami w tworzeniu stron WWW oraz standardami W3C, co wpływa na lepszą użyteczność oraz SEO strony. Przykładem praktycznym może być umieszczenie grafiki w nagłówku strony, gdzie obraz jest widoczny, a opis alternatywny wspiera dostępność i kontekst treści.

Pytanie 19

Klucz obcy w tabeli jest używany w celu

A. opracowania formularza do wprowadzania danych do tabeli
B. zdefiniowania relacji 1..n łączącej go z kluczem głównym innej tabeli
C. połączenia go z innymi kluczami obcymi w tabeli
D. umożliwienia jednoznacznej identyfikacji rekordu w danej tabeli

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klucz obcy w tabeli pełni kluczową rolę w definiowaniu relacji między tabelami w bazach danych. Dzięki zastosowaniu klucza obcego możliwe jest określenie relacji 1..n, co oznacza, że jeden rekord w tabeli głównej może być powiązany z wieloma rekordami w tabeli podrzędnej. Przykładem może być tabela 'Klienci' i tabela 'Zamówienia', gdzie klucz obcy w tabeli 'Zamówienia' wskazuje na klucz główny w tabeli 'Klienci'. To pozwala na gromadzenie wielu zamówień dla jednego klienta, co jest niezbędne w systemach e-commerce. Praktyczne wdrożenie kluczy obcych wspiera integralność danych oraz zapobiega ich duplikacji. Właściwe projektowanie relacji w bazach danych zgodnie z zasadami normalizacji wprowadza przejrzystość i efektywność w zarządzaniu danymi, a także ułatwia ich późniejszą analizę i raportowanie. W branży IT standardem jest stosowanie kluczy obcych w celu zapewnienia spójności i relacyjności danych, co jest istotne dla każdej aplikacji opierającej się na bazach danych.

Pytanie 20

W tabeli uczniowie (kolumny: imie, nazwisko, klasa) wszyscy uczniowie klas 1-5 przeszli do następnej klasy. Które polecenie zwiększy wartość w kolumnie klasa o 1?

A.
UPDATE nazwisko, imie SET klasa = klasa + 1
B.
SELECT uczniowie WHERE klasa BETWEEN 1 AND 5
C.
SELECT nazwisko, imie FROM uczniowie
D.
UPDATE uczniowie SET klasa = klasa + 1 WHERE klasa >= 1 AND klasa <= 5

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Do zmiany istniejących danych służy <code><span class="code-keyword">UPDATE</span></code>: po nazwie tabeli podaje się <code><span class="code-keyword">SET</span></code> z nowymi wartościami, a <code><span class="code-keyword">WHERE</span></code> ogranicza zakres zmian. Aby podnieść klasę o 1 tylko uczniom klas 1-5, zapisuje się <code><span class="code-keyword">UPDATE</span> <span class="code-variable">uczniowie</span> <span class="code-keyword">SET</span> <span class="code-variable">klasa</span> <span class="code-text">=</span> <span class="code-variable">klasa</span> <span class="code-text">+</span> <span class="code-number">1</span> <span class="code-keyword">WHERE</span> <span class="code-variable">klasa</span> <span class="code-text">&gt;</span><span class="code-text">=</span> <span class="code-number">1</span> <span class="code-keyword">AND</span> <span class="code-variable">klasa</span> <span class="code-text">&lt;</span><span class="code-text">=</span> <span class="code-number">5</span></code>. Dlatego poprawne jest to polecenie <code><span class="code-keyword">UPDATE</span></code>.

Pytanie 21

DELETE FROM Pracownicy ORDER BY rok_urodzenia LIMIT 1;
W wyniku wykonania powyższego zapytania SQL zostanie:
A. usunięty rekord najstarszego pracownika.
B. usunięty rekord z danymi pracownika, który miał wpisaną datę urodzenia.
C. usunięta kolumna rok_urodzenia z tabeli Pracownicy.
D. usunięta tabela Pracownicy.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie – to polecenie SQL usuwa dokładnie jeden rekord, i to taki, który odpowiada najstarszemu pracownikowi w tabeli. Kluczowe są tu dwie rzeczy: klauzula ORDER BY oraz LIMIT 1. Najpierw baza danych sortuje wiersze z tabeli Pracownicy po kolumnie rok_urodzenia rosnąco, czyli od najstarszego do najmłodszego (mniejszy rok urodzenia = starsza osoba). Dopiero na tak posortowanym zbiorze polecenie DELETE z LIMIT 1 usuwa pierwszy rekord z góry, czyli właśnie najstarszego pracownika. Warto zauważyć, że taka składnia (DELETE ... ORDER BY ... LIMIT ...) jest charakterystyczna m.in. dla MySQL i MariaDB. W standardowym SQL nie zawsze można użyć ORDER BY bezpośrednio w DELETE, ale w praktyce, w aplikacjach webowych, bardzo często pracuje się właśnie na tych silnikach, więc to rozwiązanie jest jak najbardziej realne. W innych systemach (np. PostgreSQL) podobny efekt robi się przez podzapytanie lub CTE. Moim zdaniem to jest bardzo przydatny wzorzec, gdy chcemy usuwać „najstarsze” lub „najmłodsze” rekordy, np. najstarszy log systemowy, najstarsze zamówienie w statusie roboczym, najstarszy wpis w kolejce zadań. Ważna dobra praktyka: takie operacje powinny opierać się na jednoznacznym kryterium sortowania (np. rok_urodzenia + id), żeby uniknąć sytuacji, że przy tych samych wartościach pola baza wybierze losowo któryś rekord. W projektach produkcyjnych często dodaje się dodatkową kolumnę typu data_utworzenia albo używa klucza głównego w ORDER BY, żeby zachować deterministyczne zachowanie. Zwróć też uwagę, że DELETE operuje na wierszach (rekordach), a nie na strukturze tabeli. Do usuwania kolumn służy ALTER TABLE, a do kasowania całej tabeli – DROP TABLE. To rozróżnienie jest absolutna podstawa pracy z SQL w każdej większej aplikacji.

Pytanie 22

W języku PHP przeprowadzono operację przedstawioną w ramce. Jak można postąpić, aby wyświetlić wszystkie wyniki tego zapytania?

$tab = mysqli_query($db, "SELECT imie FROM Osoby WHERE wiek < 18");
A. zastosować pętlę z poleceniem mysqli_fetch_row
B. użyć polecenia mysql_fetch
C. pokazać zmienną $db
D. zaindeksować zmienną tab, tab[0] to pierwsze imię

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź dotyczy zastosowania pętli z poleceniem mysqli_fetch_row. W języku PHP przy pracy z bazą danych MySQL wykorzystujemy bibliotekę mysqli, która oferuje funkcje pozwalające na manipulację danymi. Funkcja mysqli_query wykonuje zapytanie SQL na połączeniu z bazą danych, zwracając wynik w postaci obiektu typu mysqli_result. Aby pobrać wszystkie wiersze wyników, konieczne jest zastosowanie pętli, która iteruje przez każdy wiersz zwracany przez zapytanie. Funkcja mysqli_fetch_row jest używana do pobrania kolejnego wiersza z wyniku jako tablicy numerycznej. Przykładowy kod mógłby wyglądać następująco while ($row = mysqli_fetch_row($tab)) { echo $row[0]; } co pozwala na wyświetlenie imion wszystkich osób poniżej 18 roku życia. Praktyczne podejście polega na iteracyjnej obsłudze wyników zapytań, co jest zgodne z branżowymi standardami. Takie rozwiązanie umożliwia dynamiczne przetwarzanie danych w czasie rzeczywistym zwiększając elastyczność aplikacji. Dodatkowo warto pamiętać o odpowiednim zarządzaniu zasobami, takim jak zamknięcie połączenia z bazą danych po zakończeniu operacji. To podejście podkreśla znaczenie efektywnego zarządzania danymi w aplikacjach webowych.

Pytanie 23

Przy użyciu polecenia ALTER TABLE można

A. tworzyć nową tabelę
B. usuwać tabelę
C. zmieniać strukturę tabeli
D. zmieniać wartości zapisane w rekordach tabeli

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie ALTER TABLE jest kluczowym narzędziem w zarządzaniu bazami danych, pozwalającym na modyfikację struktury istniejących tabel. Umożliwia m.in. dodawanie, usuwanie lub modyfikowanie kolumn, a także zmianę ich typów danych. Na przykład, aby dodać nową kolumnę do tabeli, można użyć polecenia: ALTER TABLE nazwa_tabeli ADD nowa_kolumna typ_danych. W praktyce, ALTER TABLE jest niezbędne w przypadku zmiany wymagań aplikacji, które mogą wymagać dostosowania struktury bazy danych. Zmiany strukturalne powinny być przeprowadzane zgodnie z zasadami normalizacji, co zapewnia optymalizację bazy danych oraz zapobiega redundancji danych. Kluczowe jest również testowanie wprowadzonych zmian w środowisku testowym przed ich wdrożeniem w produkcji, co jest zgodne z najlepszymi praktykami w inżynierii oprogramowania. Warto również pamiętać, że podczas modyfikacji struktury tabeli, odpowiednie zrozumienie relacji między tabelami jest istotne dla zachowania integralności danych.

Pytanie 24

W algorytmie jeden z bloków zawiera akcję „Wypisz liczbę”. Jaki kształt może mieć ta akcja?

Ilustracja do pytania
A. Kształt 2
B. Kształt 4
C. Kształt 1
D. Kształt 3

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kształt 1 jest równoległobokiem, który w kontekście algorytmów często reprezentuje operacje wprowadzania lub wyprowadzania danych. W algorytmach i schematach blokowych, różne kształty mają przypisane konkretne funkcje, co jest standardem w projektowaniu programów. Równoległobok jest standardowym symbolem dla operacji wejścia i wyjścia, w tym wypisywania danych na ekranie. Przykładem zastosowania tego może być wypisywanie wyników obliczeń matematycznych na konsoli w językach takich jak Python czy Java. Używanie odpowiednich kształtów pozwala na łatwiejsze zrozumienie działania algorytmu przez innych programistów, co jest kluczowe w pracy zespołowej i podczas dokumentacji projektowej. Dobre praktyki w programowaniu zalecają jasność i przejrzystość schematów blokowych, co ułatwia ich późniejsze utrzymanie i rozwój. Szukając standardów, warto odnieść się do norm ISO/IEC 19515:2017 dotyczących diagramów przepływu pracy, które podkreślają znaczenie konwencji w projektowaniu algorytmów.

Pytanie 25

Po uruchomieniu kodu PHP

echo date("Y-m");
na ekranie pojawi się bieżąca data w formacie:
A. roku oraz miesiąca
B. dnia i roku
C. dnia, miesiąca, roku
D. tylko roku

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'rok i miesiąc' jest prawidłowa, ponieważ funkcja 'date' w PHP formatuje datę na podstawie podanego wzorca. W przypadku użycia wzorca 'Y-m', 'Y' oznacza pełny rok (np. 2023), a 'm' oznacza dwucyfrowy miesiąc (np. 03 dla marca). W wyniku działania 'echo date("Y-m");' na ekranie zostanie wyświetlona aktualna data w formacie YYYY-MM, co jest niezwykle przydatne w wielu aplikacjach, takich jak generowanie raportów miesięcznych, archiwizacja danych czy implementacja systemów zarządzania treścią. Użycie tego wzorca jest zgodne z najlepszymi praktykami programistycznymi, które zalecają właściwe formatowanie daty w celu jej późniejszej analizy lub prezentacji. Ponadto, umiejętność manipulacji datami w PHP jest kluczowa w kontekście tworzenia aplikacji webowych, które często wymagają interakcji z użytkownikami w czasie rzeczywistym, a także integracji z bazami danych, gdzie prawidłowe formatowanie daty ma kluczowe znaczenie dla integralności danych.

Pytanie 26

W języku PHP wykorzystano funkcję

is_float()
. Które z poniższych wywołań tej funkcji zwróci rezultat true?
A. is_float(NULL)
B. is_float('3,34')
C. is_float(3.34)
D. is_float(334)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja is_float() w PHP to coś, co naprawdę warto znać, bo sprawdza, czy dana wartość jest liczbą zmiennoprzecinkową. Na przykład, jak wywołasz is_float(3.34), to dostaniesz true, bo 3.34 to faktycznie float. W programowaniu ważne jest, żeby poprawnie rozróżniać różne typy danych, bo inaczej mogą być problemy przy obliczeniach. W finansach czy modelowaniu danych, dobór typów danych to kluczowa sprawa, bo chcemy, żeby nasze obliczenia były precyzyjne. Warto wiedzieć, że w PHP liczby zmiennoprzecinkowe działają według standardu IEEE 754, co czasem może powodować zaskoczenia przy dużych albo bardzo małych liczbach. Dlatego lepiej używać funkcji is_float() do sprawdzania danych wprowadzanych przez użytkowników, żeby nie wkradały się błędy, które mogą popsuć nasze obliczenia.

Pytanie 27

Przedstawiony fragment kodu ilustruje działanie

Ilustracja do pytania
A. podjęcia decyzji
B. wykorzystania zdefiniowanej procedury lub funkcji
C. prezentacji danych
D. pozyskiwania danych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Blok przedstawiony na rysunku to romb, który w diagramach przepływu danych reprezentuje punkt decyzyjny. W kontekście programowania i modelowania procesów biznesowych, zastosowanie takich punktów jest kluczowe dla podejmowania decyzji na podstawie warunków logicznych. Na przykład, w algorytmach komputerowych romb służy do określenia, którą ścieżką proces powinien się dalej przemieszczać, zależnie od spełnienia określonych warunków. W praktyce, może to być na przykład wybór między dwiema różnymi akcjami, jak wysłanie e-maila lub zapis do bazy danych w zależności od wartości wprowadzonej przez użytkownika. Zastosowanie rombu zgodnie z zasadami BPMN (Business Process Model and Notation) oraz UML (Unified Modeling Language) pozwala na precyzyjne i czytelne modelowanie złożonych procesów, co jest kluczowe w projektowaniu systemów informatycznych i optymalizacji procesów biznesowych.

Pytanie 28

1       <script>
2       const liczba = 1;
3       let gora = 10, dol = 1;
4       let podaj = parseInt(prompt("Podaj liczbę całkowitą z zakresu <1-10>"));
5       liczba = Math.random() * ( gora - dol + 1 ) + dol;
6       liczba = parseInt(liczba);
7       if (liczba == podaj) {
8           document.write("Liczba została odgadnięta");
9       } else {
10          document.write("Niestety nie tym razem");
11      }
12      </script>
Przedstawiony fragment kodu JavaScript powinien wylosować liczbę całkowitą z zakresu <1 , 10> i porównać ją z liczbą podaną przez użytkownika w oknie dialogowym. Skrypt po uruchomieniu generuje błąd, którego przyczyną jest
A. przypisanie wartości do stałej liczba w piątej linii skryptu .
B. niepotrzebne użycie konwersji z funkcji prompt do liczby całkowitej.
C. błędna składnia deklaracji zmiennych gora i dol w drugiej linii skryptu.
D. błędna składnia instrukcji warunkowej if ... else.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Przyczyną błędu w tym skrypcie jest próba nadpisania stałej zadeklarowanej słowem kluczowym const. W drugiej linii kodu mamy `const liczba = 1;`, czyli tworzymy stałą o nazwie `liczba` i nadajemy jej wartość początkową 1. Zgodnie ze specyfikacją ECMAScript, zmienne zadeklarowane przez `const` nie mogą być później modyfikowane poprzez przypisanie. Innymi słowy: raz ustawiona wartość const jest niezmienna. Tymczasem w piątej linii skryptu występuje instrukcja `liczba = Math.random() * (gora - dol + 1) + dol;`, która dokładnie próbuje przypisać nową wartość do tej stałej. Przeglądarka reaguje na to błędem typu `TypeError` lub `Assignment to constant variable`, i skrypt się sypie zanim w ogóle dojdzie do porównania z wartością wprowadzoną przez użytkownika. W praktyce, jeśli chcemy losować liczbę, zmienna powinna być zadeklarowana przez `let` lub `var`, np. `let liczba;` w drugiej linii, a dopiero potem przypisywać wartość wylosowaną z `Math.random()`. Dobra praktyka jest taka, żeby do `const` dawać rzeczy, które naprawdę nie będą zmieniane w logice programu, np. `const GORA = 10; const DOL = 1;` albo stałe konfiguracyjne, adresy URL API itp. Natomiast zmienne, które w czasie działania skryptu mają się zmieniać (liczniki pętli, wyniki obliczeń, losowania), deklarujemy jako `let`. Z mojego doświadczenia jednym z częstszych błędów początkujących jest właśnie mechaniczne używanie `const` „bo jest nowoczesne” bez zrozumienia, że to blokuje późniejsze przypisania. Warto też zauważyć, że sama konstrukcja losowania liczby całkowitej z przedziału <1,10> jest poprawna: `Math.random()` daje liczbę z zakresu <0,1), potem skalujemy ją do odpowiedniego przedziału i na końcu obcinamy część ułamkową przez `parseInt` lub lepiej `Math.floor`. Gdyby `liczba` była zadeklarowana jako `let`, skrypt by działał zgodnie z założeniami.

Pytanie 29

Dla dowolnego a z przedziału (0, 99) zadaniem funkcji zapisanej w języku JavaScript jest

function fun1(a)
{
    for (n = a; n <= 100; n++)
        document.write(n);
    return n;
}
A. wypisanie liczb z przedziału a .. 99 i zwrócenie wartości 100
B. zwrócenie liczb z przedziału a .. 99
C. wypisanie wartości zmiennej a oraz zwrócenie wartości zmiennej n
D. wypisanie liczb z przedziału a .. 100 i zwrócenie wartości zmiennej n

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Twoja odpowiedź jest poprawna. Funkcja fun1(a) w języku JavaScript przyjmuje argument a i za pomocą pętli for wypisuje liczby od a do 100 włącznie - a więc pętla jest iterowana tyle razy, ile wynosi różnica między 100 a wartością argumentu a. Po każdej iteracji pętli, wartość zmiennej n jest zwiększana o 1, co jest typowym zachowaniem dla pętli for w JavaScript. Funkcja zwraca wartość zmiennej n po zakończeniu pętli. Tak więc funkcja zwraca 101, ponieważ to właśnie wartość o 1 większa niż warunek kończący pętlę (100) spowoduje jej zakończenie. Ta funkcja to przykładowe zastosowanie pętli for w JavaScript, pokazujące praktyczne zastosowanie tego elementu składni. Pętla for jest standardem w branży i jest powszechnie stosowana do iterowania przez elementy tablicy, obiekty, liczby i inne struktury danych.

Pytanie 30

Aby pobrać dane (rekordy) z tabeli w bazie danych, należy użyć polecenia:

A.
INSERT
B.
GRANT
C.
CREATE
D.
SELECT

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Do pobierania danych z tabel służy polecenie <code><span class="code-keyword">SELECT</span></code>. Wskazuje się w nim kolumny i tabelę, a opcjonalnie warunki (WHERE), sortowanie (ORDER BY) czy złączenia. Przykładowo <code><span class="code-keyword">SELECT</span> <span class="code-variable">imie</span><span class="code-text">,</span> <span class="code-variable">nazwisko</span> <span class="code-keyword">FROM</span> <span class="code-variable">klienci</span></code> zwróci wybrane kolumny wszystkich klientów. To najczęściej używane zapytanie w pracy z bazą. Dlatego do odczytu rekordów z tabeli stosuje się <code><span class="code-keyword">SELECT</span></code>.

Pytanie 31

Fragment dokumentu HTML sugeruje, że

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
A. kod HTML zapisano w wersji 4 języka.
B. kod HTML zapisano w wersji 5 języka.
C. znaczniki końcowe są wymagane w kodzie HTML, także dla znaczników samozamykających się.
D. wszystkie znaczniki w kodzie HTML powinny być zapisywane wielkimi literami.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Deklaracja DOCTYPE wskazuje na to że dokument HTML wykorzystuje standard HTML 4.01 w trybie ścisłym. HTML 4.01 jest jedną z wersji języka HTML wprowadzoną przez World Wide Web Consortium w 1999 roku i zawiera trzy warianty: Strict Transitional i Frameset. Tryb Strict oznacza ścisłe przestrzeganie zasad standardu bez użycia przestarzałych elementów i atrybutów takich jak tagi związane z formatowaniem stron które stały się przestarzałe w miarę rozwoju kaskadowych arkuszy stylów CSS. W kontekście praktycznym oznacza to że projektując stronę zgodną z tą specyfikacją należy unikać znaczników odpowiedzialnych za prezentację które były powszechnie stosowane w poprzednich wersjach HTML. Zamiast tego zaleca się korzystanie z CSS do określania wyglądu strony co nie tylko wspiera separację struktury treści od jej wyglądu ale także ułatwia przenoszenie i aktualizację stylów. Używając deklaracji DOCTYPE HTML 4.01 Strict można zapewnić lepszą zgodność z najnowszymi wersjami przeglądarek oraz ułatwić przyszłe aktualizacje kodu do nowoczesnych standardów takich jak HTML5 który wprowadza dodatkowe funkcjonalności i uproszczenia mające na celu poprawę semantyki i użyteczności stron WWW

Pytanie 32

Na ilustracji przedstawiono kompozycję bloków strony www. Który z elementów formatowania strony odpowiada temu układowi? (Dla uproszczenia pominięto właściwości dotyczące koloru tła, wysokości oraz czcionki)

Ilustracja do pytania
A. Odpowiedź 4: D
B. Odpowiedź 2: B
C. Odpowiedź 3: C
D. Odpowiedź 1: A

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź B jest naprawdę na czasie! Widzisz, użyto tutaj techniki pływającego układu z CSS, czyli float i clear. Pierwszy blok pływa w lewo, ma 30% szerokości, dzięki czemu obok niego mogą stać drugi i trzeci blok, które też pływają w lewo i zajmują 70%. To pozwala na ułożenie elementów w jednej linii, o ile kontener ma wystarczająco miejsca. W sumie, float to klasyka przy układach wielokolumnowych, chociaż obecnie sporo osób korzysta z Flexboxa lub Grid Layout. Zauważ, że blok czwarty ma clear:both, więc zacznie się poniżej wcześniejszych elementów pływających. To ważne, bo dzięki temu unikamy problemów z nałożeniem się treści. Zachowanie porządku w układzie jest kluczowe, szczególnie w responsywnym web designie. Tego typu układy są całkiem popularne na stronach z wieloma kolumnami, gdzie elastyczność szerokości ma duże znaczenie.

Pytanie 33

Walidator W3C zgłosił błąd o niezamkniętych elementach przy zamykającym <p>. Którego fragmentu dotyczy?

A.
<p>Ala ma <b>kota</b></p>
B.
<p>Ala ma kota
C.
<p>Ala ma <b>kota</p></b>
D.
<p>Ala ma kota</p>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Znaczniki trzeba zamykać w ODWROTNEJ kolejności niż otwierano. W <code><span class="code-text">&lt;</span><span class="code-variable">p</span><span class="code-text">&gt;</span><span class="code-variable">Ala</span> <span class="code-variable">ma</span> <span class="code-text">&lt;</span><span class="code-variable">b</span><span class="code-text">&gt;</span><span class="code-variable">kota</span><span class="code-text">&lt;</span><span class="code-text">/</span><span class="code-variable">p</span><span class="code-text">&gt;</span><span class="code-text">&lt;</span><span class="code-text">/</span><span class="code-variable">b</span><span class="code-text">&gt;</span></code> <code><span class="code-text">&lt;</span><span class="code-keyword">b</span><span class="code-text">&gt;</span></code> otwarto wewnątrz <code><span class="code-text">&lt;</span><span class="code-keyword">p</span><span class="code-text">&gt;</span></code>, ale <code><span class="code-text">&lt;</span><span class="code-keyword">p</span><span class="code-text">&gt;</span></code> zamknięto przed <code><span class="code-text">&lt;</span><span class="code-keyword">b</span><span class="code-text">&gt;</span></code> - tagi się krzyżują, dlatego walidator zgłasza błąd. Dlatego chodzi o ten fragment.

Pytanie 34

Jaką funkcję pełni instrukcja DROP w języku SQL?

A. usunąć już istniejący obiekt
B. zmienić właściwości obiektu
C. aktualizować dane obiektu
D. wprowadzić nowy obiekt

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcja DROP w języku SQL jest kluczowym narzędziem do zarządzania bazami danych, używaną do usuwania istniejących obiektów, takich jak tabele, widoki czy procedury składowane. Kiedy używamy polecenia DROP, nie tylko usuwamy obiekt z bazy danych, ale również wszystkie dane z nim związane, co sprawia, że operacja ta jest nieodwracalna. Przykładowo, jeśli chcemy usunąć tabelę o nazwie 'Użytkownicy', musimy użyć polecenia DROP TABLE Użytkownicy. Ważne jest, aby przed wykonaniem takiej operacji upewnić się, że dane są już zarchiwizowane lub nie są już potrzebne, ponieważ ta instrukcja nie da nam możliwości ich odzyskania po wykonaniu. W praktyce, DROP powinno być stosowane z rozwagą — zaleca się przed wykonaniem operacji wykorzystanie polecenia SELECT, aby sprawdzić, jakie dane są w danym obiekcie. Zgodnie z najlepszymi praktykami, organizacje powinny wprowadzać polityki dotyczące usuwania danych, aby zminimalizować ryzyko przypadkowej utraty ważnych informacji.

Pytanie 35

W przedstawionym kodzie PHP przeprowadzono operację na bazie danych. Jaką funkcję należy wywołać, aby uzyskać liczbę wierszy, które zostały zmienione w tabeli?

$zapytanie="UPDATE kadra SET stanowisko='Programista' WHERE id < 10"; mysqli_query($db, $zapytanie);
A. mysqli_num_rows()
B. mysqli_affected_rows()
C. mysqli_use_result()
D. mysqli_field_count()

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja mysqli_affected_rows() jest używana w kontekście zapytań modyfikujących dane w bazie danych, takich jak INSERT, UPDATE, DELETE. Po wykonaniu zapytania, które zmienia dane, funkcja ta zwraca liczbę wierszy, które zostały zmodyfikowane w wyniku wykonania tego zapytania. W przypadku podanego zapytania, zmieniającego stanowisko w tabeli 'kadra' dla rekordów z identyfikatorem mniejszym niż 10, użycie mysqli_affected_rows() pozwoli na uzyskanie informacji o tym, ile wierszy zostało zaktualizowanych. Jest to niezwykle przydatne w sytuacjach, gdy programista chce mieć kontrolę nad tym, które operacje modyfikujące dane przyniosły zamierzony efekt. Przykładowo, jeśli po wykonaniu zapytania chcemy zaktualizować interfejs użytkownika lub wykonać dodatkowe operacje tylko wtedy, gdy zmiany zostały wprowadzone, użycie tej funkcji jest kluczowe. Dobrą praktyką jest również uwzględnienie obsługi błędów, aby upewnić się, że operacje na bazie danych są poprawnie wykonane, co można osiągnąć za pomocą funkcji mysqli_error() w przypadku błędów zapytań.

Pytanie 36

Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w SQL pozwala na

A. pozbawianie użytkownika uprawnień
B. przyznawanie uprawnień za pomocą ustalonego schematu
C. przyznawanie praw dostępu do tabeli
D. usuwanie konta użytkownika z bazy danych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie REVOKE SELECT ON nazwa1 FROM nazwa2 w SQL służy do cofnięcia uprawnień, które wcześniej przyznaliśmy jakiejś osobie albo roli. W kontekście baz danych, uprawnienia SELECT to po prostu możliwość oglądania danych w tabeli (nazwa1). To dosyć ważna sprawa, jeśli mówimy o bezpieczeństwie bazy. Dzięki temu możesz kontrolować, kto ma dostęp do jakich danych, co jest szczególnie istotne w przypadku różnych regulacji prawnych, jak RODO. Przykładowo, jeśli użytkownik (nazwa2) miał dostęp do tej tabeli, a później uznaje się, że nie powinien go mieć, to używasz REVOKE, żeby to cofnąć. To normalne podejście w administrowaniu bazami danych, bo bezpieczeństwo danych to bardzo ważny aspekt. Warto również czasami przeglądać, kto ma jakie uprawnienia, żeby zminimalizować ryzyko, że ktoś niepowołany dostanie się do wrażliwych informacji.

Pytanie 37

Jakie zadania programistyczne należy wykonać na serwerze?

A. Zmiana stylu HTML na stronie spowodowana ruchem kursora
B. Ukrywanie i wyświetlanie elementów strony w zależności od aktualnej pozycji kursora
C. Weryfikacja danych wprowadzonych do pola tekstowego na bieżąco
D. Zapisanie danych pozyskanych z aplikacji internetowej w bazie danych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zapisanie danych pobranych z aplikacji internetowej w bazie danych to zadanie, które powinno być wykonywane po stronie serwera ze względów bezpieczeństwa, integralności danych oraz zarządzania zasobami. Serwer jest odpowiedzialny za przechowywanie informacji, które mogą być wykorzystywane przez wielu użytkowników, co wymaga centralizacji ich przetwarzania. W przypadku aplikacji internetowych, dane są często przesyłane z klienta (przeglądarki) do serwera, gdzie są walidowane oraz zapisywane w bazach danych. Na przykład, gdy użytkownik rejestruje się w aplikacji, jego dane osobowe są wysyłane do serwera, który sprawdza poprawność tych informacji i zapisuje je w bazie danych. Właściwe implementacje powinny stosować bezpieczne połączenia (np. HTTPS), a także techniki, takie jak sanitizacja danych, aby unikać ataków typu SQL Injection. Dobrą praktyką jest także stosowanie ORM (Object-Relational Mapping), co umożliwia łatwiejsze zarządzanie danymi i ich relacjami. Przechowywanie danych po stronie serwera pozwala na efektywne zarządzanie zasobami i umożliwia późniejsze przetwarzanie informacji w sposób zorganizowany i bezpieczny.

Pytanie 38

Wskaż zdanie, które jest nieprawdziwe w odniesieniu do poniższej definicji funkcji w języku C++? void zamien(float &x, float &y){ float tmp; tmp=x; x=y; y=tmp; }

A. Funkcja zwraca jakąś wartość
B. Funkcja nie zwraca żadnej wartości
C. Funkcja ma dwa argumenty
D. Funkcja korzysta z parametrów przez referencję

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja zamien jest przykładem funkcji w języku C++, która nie zwraca wartości. Zdefiniowana jako 'void', co oznacza, że nie ma zwracanej wartości. W C++ typ zwracany przez funkcję jest kluczowym elementem definicji funkcji. W przypadku, gdy funkcja jest określona jako 'void', użytkownik nie powinien oczekiwać, że funkcja przekaże jakąkolwiek wartość po jej zakończeniu. Funkcja ta przyjmuje dwa argumenty typu 'float' przekazywane przez referencję, co pozwala na modyfikację ich wartości bezpośrednio w miejscu ich wywołania. Przykładowo, jeżeli zmienne 'x' i 'y' mają przypisane wartości 5.0 i 10.0 przed wywołaniem funkcji, po jej wykonaniu ich wartości zmienią się na odpowiednio 10.0 i 5.0. Oznacza to, że modyfikacja wartości zmiennych zewnętrznych jest możliwa dzięki użyciu referencji. W praktyce oznacza to także, że nie ma potrzeby korzystania z dodatkowych zmiennych do przechowywania wyników, co może być wydajniejsze. Funkcje 'void' są często stosowane w przypadkach, gdy operacje nie wymagają zwracania wyników, a jedynie modyfikacji przekazanych argumentów.

Pytanie 39

Aby poprawić wydajność strony z grafiką o wymiarach 2000 px na 760 px, konieczne jest zmniejszenie jej rozmiarów

A. za pomocą właściwości CSS, podając rozmiar w procentach
B. za pomocą atrybutów HTML
C. w programie graficznym
D. za pomocą właściwości CSS, podając rozmiar w pikselach

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "w programie graficznym" jest prawidłowa, ponieważ zmniejszenie rozmiaru grafiki w sposób, który rzeczywiście wpływa na jej wielkość pliku oraz jakość wizualną, powinno być przeprowadzane w programie graficznym. Programy takie jak Adobe Photoshop, GIMP czy Canva umożliwiają precyzyjne dostosowanie wymiarów oraz kompresję grafiki, co pozwala na optymalizację jej do użytku w internecie. Przykładowo, zmieniając rozmiar grafiki do wymiarów 1000 px na 380 px i zapisując ją w odpowiednim formacie (np. JPEG lub PNG z odpowiednią jakością), można znacznie zmniejszyć wielkość pliku, co przyczyni się do szybszego ładowania strony. Ponadto, odpowiednia kompresja umożliwia zachowanie dobrego balansu między jakością a rozmiarem pliku, co jest istotne dla doświadczeń użytkowników. W branży internetowej stosuje się różne techniki optymalizacji grafiki, takie jak lazy loading czy formaty WebP, które wspierają szybkie ładowanie stron. Warto również zwrócić uwagę na znaczenie odpowiedniej rozdzielczości grafiki, aby uniknąć zniekształceń i zapewnić optymalną jakość wizualną.

Pytanie 40

Testy sprawdzające, czy aplikacja działa poprawnie w różnych architekturach serwera, konfiguracjach i środowiskach, to testy:

A. kompatybilności
B. użyteczności
C. bezpieczeństwa
D. funkcjonalności

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Testy sprawdzające, czy aplikacja działa poprawnie w różnych architekturach serwera, konfiguracjach i środowiskach, to testy KOMPATYBILNOŚCI (zgodności). Upewniają się, że oprogramowanie współpracuje z różnym sprzętem, systemami i przeglądarkami. Dlatego są to testy kompatybilności.