Przejdź do głównej treści
  1. Strona główna
  2. Wyniki egzaminu

Wyniki egzaminu

Nowy egzamin

Informacje o egzaminie

  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Rozpoczęcie: 15 września 2026 13:52
  • Zakończenie: 15 września 2026 14:13 

Egzamin niezdany

Wynik: 13/40 punktów (32,5%)

Wymagane minimum: 20 punktów (50%)

Twój wynik na tle innych

Twój wynik jest lepszy niż 20% podejść do kwalifikacji INF.03.

Porównanie z 41574 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).

Zachowaj ten wynik na koncie

Załóż darmowe konto albo zaloguj się - ten egzamin przypiszemy do Twojego konta, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.

Analiza przebiegu egzaminu - sprawdź jak rozwiązywałeś pytania Przebieg egzaminu

Analiza przebiegu egzaminu

Odtwarzaj przebieg egzaminu krok po kroku i ucz się na własnych błędach - kolejność rozwiązywania, czas nad każdym pytaniem, momenty zmiany odpowiedzi.

  • Suwak czasu - przeglądaj pytania w kolejności rozwiązywania.
  • Tryb nauki - poprawne odpowiedzi i wyjaśnienia.
  • Analiza czasu - ile czasu nad każdym pytaniem.
  • Monitoring focusu - momenty opuszczenia zakładki.

Udostępnij swój wynik

Szczegółowe wyniki

Pytanie 1

Element zadeklarowany w języku C++ double x*; oznacza

A. typ zmiennoprzecinkowyTwoja odpowiedź
B. typ całkowity
C. parametr formalny o typie zmiennoprzecinkowym
D. wskaźnikPoprawna odpowiedź
Niepoprawna odpowiedź. Odpowiedzi, które wskazują, że <b>double x*;</b> to zmienna całkowita, zmienna rzeczywista lub parametr formalny typu rzeczywistego, opierają się na nieporozumieniach dotyczących definicji typów danych w języku C++. Po pierwsze, zmienna całkowita to typ, który przechowuje liczby całkowite, a składnia <b>double x*;</b> wyraźnie mówi, że jest to wskaźnik do zmiennej typu <b>double</b>, która jest używana do reprezentacji liczb rzeczywistych, w tym zmiennoprzecinkowych. Stąd, mylenie wskaźnika z typem zmiennoprzecinkowym może prowadzić do błędnych wniosków. Ponadto, parametr formalny typu rzeczywistego odnosi się do deklaracji funkcji, a nie do zmiennej. W C++ funkcje mogą przyjmować wskaźniki jako argumenty, co pozwala na efektywne przekazywanie dużych obiektów bez ich kopiowania, lecz sam wskaźnik nie jest parametrem formalnym, lecz zmienną przechowującą adres innej zmiennej. Często spotykaną pułapką w rozumieniu wskaźników jest ich pomylenie z odniesieniami (<b>double& x</b>), które w C++ działają nieco inaczej. Warto zatem poszerzyć wiedzę o wskaźnikach, aby lepiej zrozumieć ich rolę w zarządzaniu pamięcią i przekazywaniu argumentów w funkcjach.

Pytanie 2

Który z poniższych znaczników wchodzi w skład sekcji <head> dokumentu HTML?

A. <img>
B. <section>
C. <title>Twoja odpowiedź
D. <span>
Poprawna odpowiedź. <title> jest jednym z kluczowych znaczników w sekcji <head> dokumentu HTML. Odpowiada za definiowanie tytułu strony, który jest wyświetlany w pasku tytułu przeglądarki oraz w wynikach wyszukiwania. Tytuł jest istotnym elementem SEO, ponieważ informuje zarówno użytkowników, jak i wyszukiwarki o tematyce strony. Przykład użycia znacznika <title>: <head><title>Moja Strona Internetowa</title></head>. Należy pamiętać, że tytuł powinien być zwięzły, ale jednocześnie opisowy, zazwyczaj nie powinien przekraczać 60 znaków. W kontekście standardów, HTML5, który jest obecnie najnowszą wersją HTML, wciąż podkreśla znaczenie znacznika <title> jako fundamentalnego dla struktury dokumentu. Odpowiedni tytuł nie tylko poprawia doświadczenia użytkowników, ale również zwiększa widoczność strony w wynikach wyszukiwania, dlatego jego prawidłowe użycie ma kluczowe znaczenie w web designie i marketingu internetowym.

Pytanie 3

W tabeli personel znajdują się pola: imie, nazwisko, pensja, staz. Aby otrzymać średnią pensję pracowników, dla których staż wynosi od 10 do 20 lat pracy włącznie, należy wykonać kwerendę:

A. SELECT COUNT(*) FROM personel WHERE staz >= 10 AND staz <= 20
B. SELECT COUNT(pensja) FROM personel WHERE staz >= 10 AND staz <= 20
C. SELECT AVG(pensja) FROM personel WHERE staz >= 10 AND staz <= 20Twoja odpowiedź
D. SELECT AVG(*) FROM personel WHERE staz >= 10 AND staz <= 20
Poprawna odpowiedź. Poprawna kwerenda to 'SELECT AVG(pensja) FROM personel WHERE staz >= 10 AND staz <= 20;'. Użycie funkcji AVG() jest kluczowe, gdyż jej celem jest obliczenie średniej wartości z konkretnego zestawu danych, w tym przypadku pensji pracowników z określonym stażem. Funkcja ta agreguje dane, zliczając sumę pensji i dzieląc ją przez ich liczbę, co jest standardową metodą obliczania średniej arytmetycznej. W kontekście praktycznym, taką kwerendę można wykorzystać w raportach finansowych dla działu HR, aby ocenić wynagrodzenia w zespole z odpowiednim doświadczeniem. Standardy SQL zalecają użycie funkcji agregujących, takich jak AVG(), do takich obliczeń, co zapewnia dokładność i efektywność w analizie danych. Co więcej, efektywne wykorzystanie takich zapytań pozwala na lepsze planowanie budżetu oraz strategii wynagrodzeń w organizacjach.

Pytanie 4

Jednym z typów testów jednostkowych jest analiza tras, która polega na

A. testowaniu wartości granicznych zestawu danych
B. utworzeniu kilku zbiorów danych o zbliżonym sposobie przetwarzania i wykorzystaniu ich do przeprowadzenia testuTwoja odpowiedź
C. określeniu punktu startowego i końcowego oraz badaniu dostępnych ścieżek pomiędzy tymi punktamiPoprawna odpowiedź
D. testowaniu obiektów pod kątem inicjalizacji oraz zwolnienia zarezerwowanej pamięci
Niepoprawna odpowiedź. Rozumienie błędów w odpowiedziach może pomóc lepiej ogarnąć, o co chodzi z analizą ścieżek w testach jednostkowych. Testowanie wartości brzegowych, chociaż bardzo ważne dla jakości oprogramowania, skupia się tylko na granicach danych wejściowych i nie pokazuje pełnego obrazu możliwych ścieżek w kodzie. Z kolei sprawdzanie obiektów pod kątem pamięci to temat na inną rozmowę i niekoniecznie ma coś wspólnego z analizą ścieżek; chodzi o to, że to podejście nie dotyka, jak kontrola przepływu działa w kodzie. Robienie kilku zbiorów danych, które się powtarzają w przetwarzaniu, też nie jest tym samym, co badanie ścieżek, a raczej dotyczy testowania z użyciem takich danych. Dużym błędem jest to, że myślimy, iż analiza ścieżek to tylko spojrzenie na dane czy pamięć. W rzeczywistości trzeba patrzeć na całość programu, zarówno na dane, jak i logikę działania, co pokazuje, jak ważna jest analiza ścieżek w znajdowaniu problemów w kodzie.

Pytanie 5

W języku HTML w celu określenia słów kluczowych dla danej strony, należy zastosować następujący zapis

A. <meta keywords="psy, koty, gryzonie">Twoja odpowiedź
B. <meta name="description" content="psy, koty, gryzonie">
C. <meta name="keywords" = "psy, koty, gryzonie">
D. <meta name="keywords" content="psy, koty, gryzonie">Poprawna odpowiedź
Niepoprawna odpowiedź. Pierwsza z niepoprawnych odpowiedzi, <meta keywords="psy, koty, gryzonie">, jest błędna z powodu braku atrybutu 'name'. W standardzie HTML każdy element <meta> powinien zawierać atrybut 'name' lub 'property', który określa, jakiego rodzaju metadane są dostarczane. Pominięcie tego atrybutu sprawia, że przeglądarki mogą nieprawidłowo interpretować ten element, co negatywnie wpływa na SEO strony. Druga odpowiedź, <meta name="keywords" = "psy, koty, gryzonie">, zawiera błędną składnię. Równanie atrybutu w HTML powinno być zapisane z wykorzystaniem znaku ' ', a nie '='. Poprawny zapis powinien wyglądać: <meta name="keywords" content="psy, koty, gryzonie">. Błąd ten jest częstym źródłem problemów w kodzie HTML, prowadzącym do niezrozumienia przez przeglądarki, co może skutkować ignorowaniem tego elementu przez algorytmy wyszukiwarek. Ostatnia odpowiedź, <meta name="description" content="psy, koty, gryzonie">, jest niepoprawna, ponieważ nie dotyczy słów kluczowych, lecz opisu strony. Chociaż atrybut 'description' również jest istotny i wpływa na SEO, to jego zastosowanie w tym kontekście nie odpowiada na pytanie o definicję słów kluczowych. Poprawne użycie metadanych polega na precyzyjnym dobraniu atrybutów do ich funkcji, co jest kluczowe dla efektywnej optymalizacji strony.

Pytanie 6

W tabeli produkt znajdują się artykuły wyprodukowane po roku 2000, posiadające pola nazwa oraz rok_produkcji. Jakie zapytanie SQL pokaże listę artykułów wyprodukowanych?

Ilustracja do pytania
A. przed rokiem 2017
B. w latach innych niż 2017
C. po roku 2017
D. w roku 2017Twoja odpowiedź
Poprawna odpowiedź. Klauzula SQL wykorzystuje funkcję SUBSTR aby wyekstrahować dwie cyfry z roku produkcji zaczynając od trzeciej pozycji. To oznacza że bierze dwie cyfry odpowiadające końcówce roku. W ten sposób SELECT * FROM produkt WHERE SUBSTR(rok_produkcji3 2)=17; wyszukuje przedmioty których rok produkcji kończy się na 17 co wskazuje że zostały wyprodukowane w 2017 roku. Jest to efektywna metoda pod warunkiem że dane w kolumnie rok_produkcji są przechowywane jako ciągi znaków i spełniają wymagany format YYYY. Praktyczne zastosowanie tego podejścia jest szczególnie przydatne w bazach danych gdzie mogą występować różne formaty zapisu dat. Ważne jest aby zawsze upewnić się że dane są odpowiednio ujednolicone. Korzystanie z funkcji jak SUBSTR jest standardową praktyką w SQL umożliwiającą dynamiczne manipulowanie tekstem co czyni zapytania bardziej elastycznymi. Zrozumienie tego mechanizmu jest kluczowe dla efektywnego zarządzania bazami danych w kontekście filtrowania danych na podstawie ich struktur tekstowych.

Pytanie 7

Kanał alfa jest wykorzystywany do określenia

A. jasności oraz kontrastu barw
B. podstawowych właściwości obiektu graficznegoTwoja odpowiedź
C. przezroczystości grafiki obiektuPoprawna odpowiedź
D. wybranego fragmentu grafiki obiektu
Niepoprawna odpowiedź. Jasność i kontrast kolorów, zaznaczony fragment obiektu graficznego oraz podstawowe parametry obiektu graficznego to elementy, które są nieodłącznie związane z przetwarzaniem i wyświetlaniem grafik, jednak nie mają one związku z kanałem alfa. Jasność i kontrast dotyczą modyfikacji kolorystycznych, które wpływają na intensywność i różnice w odcieniach, ale nie dotyczą one przezroczystości. W kontekście projektowania graficznego, zmiana jasności może wpływać na to, jak widz odbiera daną grafikę, lecz nie ma to związku z przezroczystością, która jest kluczowa przy tworzeniu efektów takich jak cienie czy zmiany tła. Zaznaczony fragment obiektu graficznego odnosi się raczej do technik edycyjnych, takich jak maskowanie, które pozwala na wyodrębnienie określonych części obrazu, ale także nie dotyczy kanału alfa. Podstawowe parametry obiektu graficznego obejmują takie aspekty jak rozmiar, kształt, i lokalizacja, co również nie jest związane z kanałem alfa. Pojęcia te są często mylone, ponieważ wszystkie dotyczą atrakcyjności wizualnej, ale ich zrozumienie jest istotne dla skutecznego wykorzystania narzędzi graficznych. Typowym błędem myślowym jest zakładanie, że wszystkie aspekty obróbki obrazu odnoszą się do jednego, ogólnego pojęcia; w rzeczywistości każdy z tych elementów ma swoje unikalne zastosowania i funkcje w grafice komputerowej.

Pytanie 8

W kodzie CSS stworzono cztery klasy stylizacji, które zostały wykorzystane do formatowania akapitów. Efekt widoczny na ilustracji uzyskano dzięki zastosowaniu klasy o nazwie

Ilustracja do pytania
A. format4
B. format2Poprawna odpowiedź
C. format3Twoja odpowiedź
D. format1
Niepoprawna odpowiedź. Niepoprawne odpowiedzi wynikają z błędnego rozumienia właściwości CSS text-decoration. Klasa format1 stosuje overline, czyli nadkreślenie, które jest rzadziej używane, ale może służyć do podkreślania ważności tekstu. Format3 wykorzystuje underline, popularne do oznaczania linków lub podkreślania ważnych sekcji, jednak nie jest to styl widoczny na obrazie. Format4 to brak dekoracji, co oznacza, że tekst pozostaje bez jakichkolwiek dodatkowych linii, co jest częstą praktyką w celu zachowania prostoty wizualnej. Niezrozumienie różnic pomiędzy tymi stylami może prowadzić do błędnego zastosowania w projektach webowych, co wpływa na czytelność i dostępność treści. Przy projektowaniu stron ważne jest, aby odpowiednio korzystać z właściwości CSS, aby dostosować wygląd tekstu do potrzeb użytkownika, jednocześnie przestrzegając wytycznych dotyczących dostępności, takich jak WCAG, które promują użycie semantycznego oznaczania i odpowiedniego kontrastu tekstu dla użytkowników z różnymi potrzebami.

Pytanie 9

Częstotliwość próbkowania ma wpływ na:

A. jakość dźwięku analogowego
B. jakość dźwięku cyfrowegoPoprawna odpowiedź
C. poziom głośności nagranego utworuTwoja odpowiedź
D. amplitudę fali dźwiękowej
Niepoprawna odpowiedź. Pozostałe odpowiedzi mylą próbkowanie z innymi parametrami. Głośność (poziom) utworu zależy od amplitudy sygnału, a nie od tego, jak często go próbkujemy. Dźwięk analogowy jest ciągły i nie podlega próbkowaniu - ono dotyczy właśnie zapisu cyfrowego, więc nie wpływa na jakość sygnału analogowego. Amplituda fali to miara jej „wysokości” (głośności), również niezależna od liczby próbek na sekundę. Częstotliwość próbkowania decyduje o wierności cyfrowego zapisu, czyli o jakości dźwięku cyfrowego, dlatego ta odpowiedź jest poprawna.

Pytanie 10

Poniżej znajduje się fragment kodu w języku HTML. Przedstawia on definicję listy:

Ilustracja do pytania
A. B
B. A
C. D
D. CTwoja odpowiedź
Poprawna odpowiedź. Odpowiedź C jest poprawna ponieważ przedstawiony fragment kodu HTML definiuje uporządkowaną listę zagnieżdżoną W tym kodzie zauważamy że główna lista jest uporządkowana oznaczona jako ol co definiuje elementy listy jako numerowane po kolei Elementy li w tej liście to punkty jeden dwa i trzy Na szczególną uwagę zasługuje fakt że drugi element li zawiera zagnieżdżoną nieuporządkowaną listę ul co jest zgodne ze standardami HTML dotyczącymi zagnieżdżania list Zgodnie z dobrymi praktykami zagnieżdżanie list w HTML powinno być stosowane w sposób przejrzysty i logiczny co ułatwia czytelność i zrozumienie kodu oraz jego późniejsze modyfikacje Praktycznym zastosowaniem takich struktur jest organizowanie treści w dokumentach internetowych w sposób hierarchiczny co ułatwia zarówno użytkownikom przeglądanie zawartości jak i programistom zarządzanie kodem Zrozumienie zagnieżdżania list jest kluczowe dla efektywnego tworzenia stron internetowych które są nie tylko estetyczne ale także funkcjonalne i dostępne dla szerokiej grupy odbiorców

Pytanie 11

Gdzie umieścić informacje o autorze, opisie i słowach kluczowych strony?

A. w <head>, w znaczniku <style>
B. w <body>, w znaczniku <html>Twoja odpowiedź
C. w <body>, w znaczniku <meta>
D. w <head>, w znaczniku <meta>Poprawna odpowiedź
Niepoprawna odpowiedź. Metadane należą do nagłówka, nie do treści. <style> zawiera reguły CSS, a nie opis strony. <meta> w <body> jest niepoprawne, a <html> to znacznik nadrzędny całego dokumentu. Autora, opis i słowa kluczowe podaje <meta> w <head>.

Pytanie 12

Który modyfikator dostępu daje dostęp do pola w obrębie klasy oraz w klasach dziedziczących (a nie z zewnątrz)?

A. chronionyPoprawna odpowiedź
B. prywatnyTwoja odpowiedź
C. publiczny
D. opublikowany
Niepoprawna odpowiedź. Pozostałe modyfikatory dają inny zakres dostępu lub nie istnieją. Publiczny (public) otwiera pole zewsząd - również dla kodu spoza klasy, więc jest za szeroki w stosunku do pytania. Prywatny (private) działa odwrotnie: zamyka dostęp wyłącznie w jednej klasie, tak że nie sięgną do pola nawet klasy dziedziczące. „Opublikowany” nie jest standardowym kwalifikatorem dostępu. Dostęp w klasie i klasach dziedziczących zapewnia modyfikator chroniony (protected), dlatego to on jest poprawny.

Pytanie 13

Polecenie MySQL:

ALTER TABLE ksiazki
    MODIFY tytul VARCHAR(100) NOT NULL;
Przedstawione polecenie MySQL ma za zadanie
A. zmienić typ kolumny tytul w tabeli ksiazkiPoprawna odpowiedź
B. usunąć kolumnę tytul z tabeli ksiazki
C. dodać do tabeli ksiazki kolumnę tytulTwoja odpowiedź
D. zmienić nazwę kolumny w tabeli ksiazki
Niepoprawna odpowiedź. Zaprezentowane odpowiedzi, które są niepoprawne, zawierają kilka istotnych błędów w interpretacji polecenia ALTER TABLE. Usunięcie kolumny tytul z tabeli ksiazki jest działaniem, które można zrealizować za pomocą polecenia DROP COLUMN, a nie ALTER, które służy do zmiany istniejących elementów. W kontekście bazy danych, usunięcie kolumny wiąże się z nieodwracalnym utratą wszystkich danych w tej kolumnie, co stanowi poważne zagrożenie dla integralności danych. Dodanie kolumny do tabeli również jest mylnie zrozumiane, ponieważ polecenie ALTER TABLE w tym przypadku nie wykonuje operacji ADD COLUMN, lecz MODIFY, co oznacza modyfikację istniejącej kolumny. Zmiana nazwy kolumny również nie dotyczy tego zapytania, gdyż do tego celu należałoby użyć polecenia RENAME COLUMN. Przykłady te pokazują, jak ważne jest zrozumienie specyfiki poleceń SQL oraz ich zastosowań w kontekście zarządzania bazami danych. Każda z tych niepoprawnych odpowiedzi pomija kluczowe funkcjonalności oraz różnice między operacjami na tabelach, które są fundamentalne dla efektywnego zarządzania danymi.

Pytanie 14

Z czego skorzystać, aby tworzyć strony internetowe w sposób GRAFICZNY (wizualny)?

A. edytora CSSTwoja odpowiedź
B. programu MS Office Picture Manager
C. programu typu WYSIWYGPoprawna odpowiedź
D. przeglądarki internetowej
Niepoprawna odpowiedź. Pozostałe narzędzia nie służą do wizualnego budowania stron. Edytor CSS to wpisywanie reguł stylów (tekstowo). Przeglądarka WYŚWIETLA gotowe strony, a MS Office Picture Manager to program do obrazów. Wizualne tworzenie stron umożliwia program WYSIWYG.

Pytanie 15

Jakie ustawienia dotyczące czcionki będą miały zastosowanie w przypadku kodu CSS?

* {
    font-family: Tahoma;
    color: Teal;
}
A. wszystkiego kodu HTML, jako domyślne formatowanie dla wszystkich elementów strony.Poprawna odpowiedź
B. znaczników z klasą przypisaną jako *.
C. wszystkiego kodu HTML, niezależnie od kolejnych ustawień CSS.Twoja odpowiedź
D. znaczników o identyfikatorze równym *.
Niepoprawna odpowiedź. Nieprawidłowe odpowiedzi wskazują na nieporozumienie dotyczące działania selektorów w CSS oraz hierarchii stylów. Przykłady wskazujące na znaczenie id lub klas w kontekście selektora * są mylące, gdyż id i klasy są w CSS bardziej specyficznymi selektorami, które służą do stylizowania konkretnej grupy elementów, podczas gdy selektor uniwersalny działa na wszystkie elementy. Argumentowanie, że formatowanie dotyczy elementów o id równym * jest błędne, ponieważ id nie może być równy znaku *, a jego zastosowanie ogranicza się do unikalnych identyfikatorów. Podobnie, przypisanie klasy równą * jest niemożliwe do zrealizowania w praktyce. Odpowiedź sugerująca, że styl dotyczy całego kodu HTML w kontekście specyficznych ustawień CSS jest również myląca, ponieważ nie uwzględnia faktu, że późniejsze reguły CSS mogą nadpisywać wcześniejsze style. W praktyce oznacza to, że jeśli na elementach zastosowane zostaną bardziej szczegółowe selektory, mogą one zmienić wygląd tych elementów, co obala tezę o domyślnym formatowaniu. Takie podejście nie uwzględnia także koncepcji kaskadowości stylów, która jest kluczowym elementem funkcjonowania CSS, gdzie kolejność i specyficzność selektorów odgrywają kluczową rolę w aplikowaniu stylów. W efekcie, zrozumienie działania selektorów i ich hierarchii jest niezbędne dla efektywnego wykorzystania CSS w projektowaniu stron internetowych.

Pytanie 16

Informacje o ciasteczkach (cookies) są w PHP przechowywane w tablicy:

A.
$_COOKIE
Poprawna odpowiedź
B.
$_GET
Twoja odpowiedź
C.
$_SERVER
D.
$_POST
Niepoprawna odpowiedź. Pozostałe tablice superglobalne przechowują inne dane. $_GET zawiera parametry przekazane w adresie URL (po znaku „?”), a $_POST - pola formularza wysłanego metodą POST; obie dotyczą bieżącego żądania, a nie ciasteczek. $_SERVER gromadzi informacje o środowisku i żądaniu, takie jak adres serwera, nagłówki czy ścieżki - również nie przechowuje cookies. Wartości ciasteczek znajdują się w $_COOKIE, dlatego to ona jest poprawna.

Pytanie 17

Wskaż element, który definiuje pole edycyjne formularza zgodne z ilustracją

Ilustracja do pytania
A. <input type="month" id="hh" name="mm">
B. <input type="date" id=" minutes" name="hours">
C. <input type="time" id="minutes" name="hours">Twoja odpowiedź
D. <input type="number" id="mm" name="hh" min="0" max="24">
Poprawna odpowiedź. Prawidłowy wybór to <input type="time" id="minutes" name="hours">, ponieważ dokładnie taki element HTML5 służy do wprowadzania godziny w formacie hh:mm, czyli tak jak na ilustracji. Atrybut type="time" mówi przeglądarce, że pole ma przyjmować tylko wartości czasu, bez daty, miesięcy czy liczb dowolnego typu. Zgodnie ze specyfikacją HTML Living Standard oraz HTML5, przeglądarka powinna wtedy wyświetlić natywne kontrolki do wyboru godziny (np. rozwijane listy, suwak, mały zegarek – zależy od systemu i przeglądarki). Dzięki temu użytkownik ma mniejsze ryzyko pomyłki, a walidacja odbywa się częściowo automatycznie.
Z mojego doświadczenia warto korzystać z type="time" zawsze, gdy formularz dotyczy konkretnych godzin, np. godzina rozpoczęcia pracy, rezerwacja wizyty, planowanie spotkania online. Po stronie serwera (np. w PHP) to pole przychodzi jako tekst w formacie „HH:MM”, co jest łatwe do dalszego przetwarzania, parsowania do obiektu DateTime albo zapisu w bazie danych w typie TIME.
Dobra praktyka jest też taka, żeby nazwy atrybutów id i name były semantyczne. W tym zadaniu nie ma to wpływu na poprawność odpowiedzi, ale w realnym projekcie lepiej byłoby użyć np. id="endTime" i name="end_time". Ułatwia to później pracę z JavaScriptem i po stronie backendu. Warto też pamiętać o dodaniu atrybutów min i max, jeśli chcemy ograniczyć zakres godzin (np. od 08:00 do 20:00), oraz pattern lub dodatkowej walidacji JS, jeśli mamy specyficzne wymagania. Mimo że ilustracja nie pokazuje tych szczegółów, sam mechanizm type="time" jest tu absolutnie kluczowy i zgodny z dobrymi praktykami front-endowymi.

Pytanie 18

Programista stworzył pętlę w języku C++ mającą na celu obliczenie wartości 5! (5! = 1 * 2 * 3 * 4 * 5). Niestety, popełnił błąd logiczny polegający na tym, że

int a = 1;
for (int i = 1; i < 5; i++)
{
    a = a * i;
}
cout << a;
A. parametr i pętli powinien być inicjowany wartością 0, a nie 1
B. zmienna a powinna być ustawiona na 0 zamiast 1
C. parametr i pętli powinien być zmniejszany zamiast zwiększany
D. w drugim warunku pętli powinno być porównanie i < 6 zamiast i < 5Twoja odpowiedź
Poprawna odpowiedź. Pętla for w języku C++ jest często używana do wykonywania określonej liczby iteracji. W przypadku obliczania silni liczby 5, czyli 5!, iteracja powinna przebiegać od 1 do 5 włącznie, co oznacza, że zmienna sterująca i powinna przyjąć wartości 1, 2, 3, 4 i 5. Dlatego warunek zakończenia pętli powinien być zapisany jako i <= 5 lub alternatywnie i < 6. W zestawie egzaminacyjnym podano kod z warunkiem i < 5, co powoduje, że pętla kończy się przy czwartej iteracji, a ostatnia potrzebna mnożenie przez 5 nie jest wykonane. Poprawnym rozwiązaniem problemu jest zmiana warunku na i < 6. Przykład praktyczny: przy obliczaniu silni w programach obliczeniowych często stosujemy pętlę o poprawnym zakresie, co jest kluczowe dla uzyskania prawidłowych wyników. Ponadto, w kontekście dobrych praktyk programistycznych, warto zawsze dokładnie analizować warunki pętli, aby uniknąć nieoczekiwanych błędów logicznych, które mogą prowadzić do niepoprawnych wyników końcowych.

Pytanie 19

Która funkcja SQL NIE przyjmuje żadnych argumentów?

A.
LEN()
B.
NOW()
Poprawna odpowiedź
C.
UPPER()
Twoja odpowiedź
D.
YEAR()
Niepoprawna odpowiedź. Pozostałe funkcje BEZ argumentu nie mają sensu - muszą coś dostać do przetworzenia. UPPER() potrzebuje tekstu, by zamienić go na wielkie litery. LEN() potrzebuje tekstu, by policzyć znaki. YEAR() potrzebuje daty, by wyciągnąć z niej rok. Pusty nawias akceptuje tylko NOW().

Pytanie 20

Normalizacja tabel to proces, którego celem jest

A. dodanie danych do bazy
B. wizualizacja bazy
C. sprawdzenie i optymalizację bazy danychTwoja odpowiedź
D. wyłącznie stworzenie tabel oraz relacji w bazie
Poprawna odpowiedź. Normalizacja tabel jest kluczowym procesem w projektowaniu baz danych, który ma na celu usprawnienie struktury danych poprzez eliminację redundancji i zapewnienie integralności danych. Proces ten składa się z kilku kroków, które prowadzą do stworzenia dobrze zorganizowanej bazy danych. Głównym celem normalizacji jest zminimalizowanie powielania danych, co w rezultacie prowadzi do optymalizacji przestrzeni dyskowej oraz zwiększenia wydajności zapytań. Przykładem zastosowania normalizacji jest podział tabeli zawierającej informacje o klientach i zamówieniach na dwie odrębne tabele. W ten sposób, każdy klient ma swoje unikalne dane w jednej tabeli, natomiast w drugiej tabeli zapisywane są tylko odniesienia do klientów zamiast ich powtórzeń. Dobre praktyki związane z normalizacją uwzględniają różne formy normalne, z których każda ma swoje zasady, np. pierwsza forma normalna (1NF) wymaga, aby każda kolumna w tabeli zawierała tylko atomowe wartości. Wysoka jakość projektowania baz danych, w tym normalizacja, znacząco wpływa na późniejsze zarządzanie danymi oraz ich analizy.

Pytanie 21

W tabeli mieszkańcy zawierającej pola id, imie, nazwisko, ulica, numer, czynsz (wartość całkowita) należy zidentyfikować osoby zamieszkujące ulicę Mickiewicza pod numerami 71, 72, 80, których czynsz jest niższy niż
1000 zł. Jak będzie wyglądać klauzula WHERE w zapytaniu?

A. WHERE ulica = 'Mickiewicza' OR numer IN (71, 72, 80) OR czynsz < 1000
B. WHERE ulica = 'Mickiewicza' AND numer > 70 AND numer < 81 OR czynsz < 1000Twoja odpowiedź
C. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) OR czynsz < 1000
D. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000Poprawna odpowiedź
Niepoprawna odpowiedź. Pojawiające się w odpowiedziach błędne koncepcje mogą prowadzić do niepoprawnych wyników w zapytaniach SQL, co jest istotne z punktu widzenia analizy danych. W przypadku użycia operatora OR, jak w niektórych z przedstawionych odpowiedzi, skutkuje to potencjalnym zwróceniem danych, które nie spełniają wszystkich wymaganych kryteriów. Na przykład, jeżeli zastosujemy klauzulę WHERE z OR, system zwróci wszystkie rekordy, które są na ulicy 'Mickiewicza' lub mają numer 71, 72 lub 80, niezależnie od wartości czynszu. To może prowadzić do błędnych interpretacji i niepoprawnych raportów. Podobnie, użycie warunków numerycznych, jak 'numer > 70 AND numer < 81', w połączeniu z OR dla czynszu, również nie dostarcza precyzyjnych wyników, ponieważ czyni je zbyt ogólnymi. Takie podejście może prowadzić do zwrócenia danych, które nie są zgodne z zamierzonymi kryteriami, co jest sprzeczne z zasadą maksymalnej precyzji w zapytaniach SQL. Dobre praktyki w programowaniu SQL wymagają, by warunki były ściśle określone i logicznie powiązane, aby zapewnić klarowność oraz wydajność zapytań. Błędy takie mogą prowadzić do nieefektywności w przetwarzaniu danych oraz do podejmowania niewłaściwych decyzji na podstawie niepoprawnych informacji.

Pytanie 22

Jakie będzie działanie po naciśnięciu przycisku oznaczonego jako "niebieski", który uruchamia podany kod JavaScript?

<p id="para1">Przykładowy tekst</p><p> i skrypt</p>
<button onClick="changeColor('blue');">niebieski</button>

<script type="text/javascript">
function changeColor(newColor)
{
var elem = document.getElementById("para1");
elem.style.color = newColor;
}
</script>
A. Zmiana koloru tekstu "i skrypt" na niebieskiTwoja odpowiedź
B. Zmiana koloru tekstu "Przykładowy tekst" na niebieskiPoprawna odpowiedź
C. Zmiana barwy przycisku na niebieski
D. Zmiana koloru tekstu "Przykładowy tekst i skrypt" na niebieski
Niepoprawna odpowiedź. Przy analizie działania kodu przedstawionego w pytaniu istotne jest zrozumienie jak JavaScript oddziałuje z elementami DOM (Document Object Model). Istnieje powszechne nieporozumienie polegające na założeniu że funkcje JavaScript automatycznie działają na wszystkie elementy o podobnej treści. W rzeczywistości kod używa metody document.getElementById która jednoznacznie identyfikuje element na podstawie jego unikalnego Id. W omawianym przypadku odnosi się to do elementu paragrafu z identyfikatorem para1. Pozostałe fragmenty tekstu takie jak i skrypt nie są objęte tym działaniem gdyż nie są częścią identyfikowanego elementu. Popularnym błędem jest również zakładanie że przycisk zmienia swój własny kolor styli po naciśnięciu co w tym przypadku nie ma miejsca ponieważ kod bezpośrednio modyfikuje jedynie własności stylu określonego elementu przez jego Id. Warto zwrócić uwagę że dla złożonych manipulacji DOM w kontekście większych aplikacji webowych używa się bardziej zaawansowanych technik jak selektory CSS lub biblioteki takie jak jQuery które umożliwiają selekcję wielu elementów jednocześnie. Zrozumienie tych podstawowych zasad jest kluczowe dla poprawnego rozumienia i implementacji funkcji JavaScript w nowoczesnych aplikacjach webowych i zgodne z najlepszymi praktykami w branży.

Pytanie 23

Podany fragment kodu PHP ma na celu wstawienie wartości z zmiennych $a, $b, $c do bazy danych, w tabeli dane. Tabela ta składa się z czterech kolumn, z których pierwsza to autoinkrementowany klucz podstawowy. Które z zapytań powinno być przypisane do zmiennej $zapytanie?

<?php
...
$zapytanie = "...";
mysqli_query($db, $zapytanie);
...
?>
A. ```INSERT INTO dane VALUES ('$a', '$b', '$c');```
B. ```INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');```Poprawna odpowiedź
C. ```SELECT '$a', '$b', '$c' FROM dane;```Twoja odpowiedź
D. ```SELECT NULL, '$a', '$b', '$c' FROM dane;```
Niepoprawna odpowiedź. Odpowiedzi, które zaczynają się od polecenia SELECT, są błędne, ponieważ nie mają na celu wstawienia nowych danych do tabeli. SELECT jest używane do pobierania danych z bazy danych, a nie do ich dodawania. Polecenie "SELECT '$a', '$b', '$c' FROM dane;" jedynie wyciąga dane, nie wprowadza żadnych zmian w tabeli, co nie spełnia wymagań zadania. Również "SELECT NULL, '$a', '$b', '$c' FROM dane;" działa podobnie, wciąż pozostając w zakresie odczytu danych, a nie ich dodawania. Dwa pierwsze polecenia nie tylko nie są związane z wstawianiem danych, ale również mogą wprowadzać użytkownika w błąd, sugerując, że ich celem jest modyfikacja bazy. Kolejna odpowiedź "INSERT INTO dane VALUES ('$a', '$b', '$c');" jest błędna, ponieważ nie uwzględnia klucza głównego, który powinien być autoinkrementowany. Przekazanie NULL jako pierwszego argumentu jest kluczowe, ponieważ pozwala bazie danych na zarządzanie identyfikatorem. Typowe błędy myślowe obejmują pomylenie operacji wstawiania z operacjami odczytu oraz nieprawidłowe przypuszczenie, że można pominąć kolumny kluczy głównych w zapytaniach wstawiających.

Pytanie 24

Jaki jest efekt działania programu w JavaScript?

var osoba = prompt("Podaj imię", "Adam");
A. przypisanie do zmiennej osoba wartości "Adam"
B. uzyskanie z formularza wyświetlonego na stronie HTML imienia "Adam"
C. otwarcie okna z polem do edycji, w którym znajduje się domyślny tekst "Adam"Twoja odpowiedź
D. pojawi się okno z pustym polem do edycji
Poprawna odpowiedź. Funkcja prompt w JavaScript jest używana do wyświetlania okna dialogowego z polem edycyjnym pozwalającym użytkownikowi na wprowadzenie danych. W tym przypadku funkcja prompt przyjmuje dwa argumenty: pierwszy to komunikat wyświetlany użytkownikowi, a drugi to domyślna wartość w polu tekstowym. Kod var osoba = prompt('Podaj imię' 'Adam') otwiera okno dialogowe z tekstem Podaj imię i domyślnie wpisanym w polu tekstowym imieniem Adam. Domyślna wartość jest przydatna w sytuacjach gdzie chcemy zasugerować użytkownikowi pewne dane które mogą być dla niego odpowiednie lub często używane. Jest to wygodne rozwiązanie w aplikacjach internetowych pozwalające na szybkie i intuicyjne wprowadzanie danych przez użytkownika. Zastosowanie prompt jest przykładem interakcji między użytkownikiem a stroną internetową co jest kluczowym elementem dynamicznych aplikacji webowych. Ważne jest jednak by pamiętać że funkcja prompt może być blokowana w niektórych przeglądarkach dlatego jej użycie powinno być dobrze przemyślane i ewentualnie zastąpione bardziej nowoczesnymi rozwiązaniami takimi jak formularze HTML z odpowiednimi atrybutami i stylizacjami.

Pytanie 25

Którego znacznika HTML5 użyć do GRUPOWANIA powiązanych elementów formularza?

A.
<fieldset>
Poprawna odpowiedź
B.
<optgroup>
Twoja odpowiedź
C.
<option>
D.
<summary>
Niepoprawna odpowiedź. Pozostałe znaczniki dotyczą czego innego. <summary> to nagłówek rozwijanego <details>. <option> to pojedyncza pozycja listy <select>, a <optgroup> grupuje opcje WEWNĄTRZ listy rozwijanej, a nie pola formularza. Powiązane pola formularza grupuje <fieldset>.

Pytanie 26

Które polecenie MySQL służy do odebrania uprawnień użytkownikowi?

A.
CREATE
B.
RENAME
C.
REVOKE
Twoja odpowiedź
D.
GRANT
Poprawna odpowiedź. Odebranie wcześniej nadanych uprawnień realizuje polecenie REVOKE, np. REVOKE INSERT ON baza.* FROM anna;. To przeciwieństwo GRANT, obie należą do grupy DCL (sterowanie dostępem). Zapamiętaj parę: GRANT daje, REVOKE odbiera.

Pytanie 27

W języku CSS atrybut font-size przyjmuje, zgodnie z nazwami, wartości

A. zaledwie big oraz small
B. z zestawu xx-small, x-small, medium, large, x-large, xx-largePoprawna odpowiedź
C. jedynie small, smaller, large, largerTwoja odpowiedź
D. wyłącznie small, medium, large
Niepoprawna odpowiedź. W kontekście właściwości font-size w CSS, niektóre odpowiedzi zawierają błędne założenia, które mogą prowadzić do niepełnego zrozumienia możliwości tej właściwości. Warto zauważyć, że ograniczenie się jedynie do wartości small, smaller, large i larger ignoruje szerszy zestaw dostępnych opcji, które są kluczowe dla dokładnego dostosowania rozmiaru tekstu. Wartości takie jak medium, small, and large są jedynie częścią zdefiniowanego standardu, który obejmuje również bardziej szczegółowe rozmiary, takie jak xx-small, x-small, x-large oraz xx-large. Użytkownicy często mylą pojęcia związane z nazwami wartości, co prowadzi do mniejszych możliwości stylizacji. Przykładem jest niewłaściwe skupienie się na biedniejszych zasobach słownych, takich jak big i small, które nie są standardowymi wartościami CSS. Taki błąd myślowy ogranicza możliwość pełnego wykorzystania CSS, co jest kluczowe dla tworzenia nowoczesnych, responsywnych stron internetowych. W praktyce, pełne zrozumienie i umiejętność wykorzystania wszystkich dostępnych wartości w CSS nie tylko ułatwia pracę nad projektem, ale również przyczynia się do lepszej dostępności i doświadczeń użytkowników. Zastosowanie poprawnych terminów i wartości jest niezbędne, aby zachować profesjonalizm w projektowaniu stron.

Pytanie 28

Przedstawiony blok reprezentuje czynność

Ilustracja do pytania
A. podjęcia decyzjiPoprawna odpowiedź
B. wykorzystania zdefiniowanej procedury lub funkcji
C. prezentacji danych
D. pozyskiwania danychTwoja odpowiedź
Niepoprawna odpowiedź. Zastosowanie gotowej procedury lub funkcji nie jest reprezentowane przez blok w kształcie rombu. Takie czynności zazwyczaj ilustruje się prostokątem z zaokrąglonymi narożnikami lub innym charakterystycznym symbolem, który wskazuje na działanie sekwencyjne. Wczytanie danych z kolei często reprezentowane jest przez blok w kształcie równoległoboku, podkreślający operacje wejścia-wyjścia, czyli interakcję z zewnętrznym źródłem danych. Wyświetlanie danych również jest związane z operacjami wejścia-wyjścia, co sugeruje podobny symbol jak w przypadku wczytywania danych. Podstawowy błąd myślowy w tych odpowiedziach polega na myleniu struktury kontrolnej z funkcjami operacyjnymi. Struktury kontrolne, jak decyzje, są kluczowe dla logiki programu, podczas gdy operacje wejścia-wyjścia są bardziej związane z przetwarzaniem danych. Zrozumienie tych różnic jest fundamentalne dla poprawnego projektowania algorytmów i diagramów przepływu, co znacząco wpływa na efektywność i czytelność projektowanych systemów.

Pytanie 29

W języku PHP przeprowadzono operację zaprezentowaną w ramce. Jak można wyświetlić wszystkie rezultaty tego zapytania?

Ilustracja do pytania
A. zaindeksować zmienną tab, gdzie tab[0] to pierwsze imięTwoja odpowiedź
B. pokazać zmienną $db
C. zastosować pętlę z poleceniem mysqli_fetch_rowPoprawna odpowiedź
D. użyć polecenia mysql_fetch
Niepoprawna odpowiedź. Opcja wyświetlenia zmiennej $db nie jest poprawna ponieważ $db reprezentuje połączenie z bazą danych a nie wyniki zapytania. Wydobycie danych wymaga co najmniej jednego kroku przetwarzania. Użycie polecenia mysql_fetch również jest błędne ponieważ funkcje z prefiksem mysql_ są przestarzałe i niezalecane do użycia w nowych projektach. PHP od wersji 7 całkowicie usunął wsparcie dla tych funkcji co oznacza że próba ich użycia w nowoczesnych środowiskach skutkowałaby błędami. Indeksowanie zmiennej tab jako tab[0] nie jest adekwatne gdyż mysqli_query zwraca zasób bazy danych a nie tablicę. Aby uzyskać dostęp do danych należy zastosować odpowiednią metodę przetwarzania zasobu taką jak mysqli_fetch_row mysqli_fetch_assoc lub inne odpowiednie funkcje dostępne w bibliotece mysqli. Typowe błędy myślowe to zakładanie że wyniki zapytania są automatycznie dostępne jako tablica co nie jest prawdą w przypadku pracy z zasobami bazodanowymi. Zrozumienie poprawnego przetwarzania zasobów jest kluczowe w projektowaniu aplikacji bazodanowych co podkreśla znaczenie praktyki w pracy z nowoczesnymi interfejsami API w PHP.

Pytanie 30

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. aside {float: left; }
B. nav { float: left; } aside { float: left; }
C. nav { float: right; }
D. nav { float: right; } section { float: right; }Twoja odpowiedź
Poprawna odpowiedź. Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie.

W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie.

Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 31

Przy edytowaniu obrazu w programie graficznym rastrowym należy usunąć kolory z obrazu, aby uzyskać jego wersję w skali szarości. Jaką funkcję można zastosować, aby osiągnąć ten efekt?

A. filtru rozmycia
B. szumu RGBTwoja odpowiedź
C. desaturacjiPoprawna odpowiedź
D. kadrowania
Niepoprawna odpowiedź. Filtr rozmycia, szum RGB oraz kadrowanie to techniki, które nie służą do usuwania kolorów z obrazu, co czyni je nieodpowiednimi w kontekście uzyskiwania odcieni szarości. Rozmycie, które jest często stosowane do wygładzania krawędzi i redukcji szumów w obrazach, nie wpływa na kolorystykę, a jedynie na ostrość detali. Stosowanie filtru rozmycia w nadmiarze może prowadzić do utraty ważnych informacji wizualnych, co w kontekście edycji nie jest pożądane. Szum RGB jest techniką wprowadzania losowych danych kolorystycznych, która może być użyta do generowania efektów specjalnych, ale nie ma zastosowania w procesie desaturacji, gdyż zamiast eliminować kolory, może je wprowadzać. Kadrowanie jest natomiast procesem przycinania obrazu do wybranego formatu, co również nie ma związku z usuwaniem kolorów, a bardziej z kompozycją wizualną. Typowym błędem myślowym jest założenie, że każdy proces edycji obrazu może być użyty zamiennie. Kluczowe jest zrozumienie, że różne techniki służą różnym celom i wybór odpowiedniej metody powinien być oparty na zamierzeniach artystycznych oraz technicznych wymogach projektu.

Pytanie 32

W tabeli pracownicy zdefiniowano klucz główny jako INTEGER z atrybutami NOT NULL oraz AUTO_INCREMENT. Dodatkowo zdefiniowano kolumny imie oraz nazwisko. W przypadku wykonania poniższej kwerendy SQL wprowadzającej dane, w której pominięto pole klucza, w bazie danych MySQL wystąpi:

INSERT INTO pracownicy (imie, nazwisko) VALUES ('Anna', 'Nowak');
A. błąd związany z nieprawidłową liczbą kolumn
B. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
C. ignorowanie polecenia, tabela nie ulegnie zmianie
D. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalnaTwoja odpowiedź
Poprawna odpowiedź. Jak używasz polecenia INSERT w MySQL i masz klucz główny ustawiony jako AUTO_INCREMENT, to system sam zajmie się przydzieleniem nowej, unikalnej wartości dla tego klucza dla każdego nowego rekordu. Kiedy wprowadzasz dane o pracowniku, takie jak imię i nazwisko, to nie musisz martwić się o podawanie wartości klucza głównego. MySQL świetnie to rozumie i dodaje kolejny wolny numer. To jest zgodne z dobrymi praktykami w bazach danych, gdzie klucz główny musi być unikalny dla każdego rekordu, ale niekoniecznie musisz go podawać ręcznie, szczególnie gdy korzystasz z mechanizmu AUTO_INCREMENT. Weźmy na przykład tabelę zamówień – tam każdy nowy wpis automatycznie dostaje unikalny numer zamówienia, co eliminuje ryzyko błędów i ułatwia późniejsze śledzenie danych. Dzięki AUTO_INCREMENT wprowadzanie danych staje się dużo prostsze, a szansa na pomyłki przy manualnym wpisywaniu wartości klucza głównego znacznie maleje.

Pytanie 33

W języku PHP funkcja trim ma za zadanie

A. zmniejszać napis o wskazaną w parametrze liczbę znaków.
B. porównywać dwa napisy i wypisywać część wspólną.Twoja odpowiedź
C. wyznaczyć długość napisu.
D. z obu końców napisu usuwać białe znaki lub inne znaki podane w parametrze.Poprawna odpowiedź
Niepoprawna odpowiedź. W PHP łatwo pomylić różne funkcje operujące na łańcuchach znaków, bo często używa się ich obok siebie i wszystkie „coś robią z napisem”. Funkcja trim() bywa mylona z innymi narzędziami, które mierzą długość, porównują teksty albo je przycinają w środku. Warto więc to sobie spokojnie uporządkować. Trim nie służy do wyznaczania długości napisu – do tego jest funkcja strlen(), która zwraca liczbę znaków w łańcuchu i nic z nim nie usuwa ani nie modyfikuje. To typowy błąd: ktoś widzi krótką nazwę „trim” i kojarzy ją z „przycięciem do długości”, a tu chodzi wyłącznie o usuwanie znaków z obu końców. Funkcja trim nie porównuje też dwóch napisów i nie wypisuje części wspólnej. Jeżeli chcemy porównać łańcuchy, używamy operatorów porównania (==, ===) albo funkcji strcmp(), strcasecmp() itd. Szukanie części wspólnej między dwoma tekstami wymaga zupełnie innych technik, np. funkcji strpos(), substr(), czasem nawet algorytmów dopasowania wzorców – ale to zupełnie inny temat niż trim. Częste jest też mylne przekonanie, że trim „zmniejsza napis o wskazaną liczbę znaków”, jakby działał na zasadzie: przekaż n i utnij tyle znaków. Tymczasem trim w ogóle nie operuje na liczbach, tylko na zbiorze znaków podanych w drugim parametrze. Usuwa wszystkie wystąpienia tych znaków z początku i końca, niezależnie od tego, ile ich tam jest. Jeżeli ktoś chce przyciąć łańcuch do określonej długości, używa się substr() albo mb_substr() (dla UTF-8), czasem w połączeniu z funkcjami multibajtowymi. Moim zdaniem podstawowy błąd myślowy polega tu na traktowaniu „przycinania” bardzo ogólnie, bez rozróżnienia: czy przycinamy do długości, czy usuwamy białe znaki na brzegach, czy porównujemy zawartość. Trim jest funkcją specjalistyczną: normalizuje początek i koniec łańcucha, co jest kluczowe przy walidacji danych wejściowych, porównywaniu stringów i zapisywaniu ich w spójnej postaci. Dobrą praktyką jest najpierw zastosować trim na danych od użytkownika, a dopiero potem używać strlen, strcmp czy substr do dalszych operacji. Wtedy każdy element ma swoją jasną, techniczną rolę.

Pytanie 34

Sklep online używa tabeli faktury. W trakcie generowania faktury pole dataPlatnosci nie zawsze zostaje uzupełnione. Aby to skorygować, na zakończenie dnia trzeba wpisać bieżącą datę do rekordów, w których to pole nie jest wypełnione. Można to osiągnąć za pomocą kwerendy

A. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE id = 3;
B. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE dataPlatnosci IS NOT NULL;
C. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataplatnosci = '0000-00-00';Twoja odpowiedź
D. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL;Poprawna odpowiedź
Niepoprawna odpowiedź. Wybór innych opcji jest nieco problematyczny. Kwerenda, która ustawia dataPlatnosci na CURTIME() w wierszach, gdzie id = 3, nie jest zbyt sensowna, bo odnosi się tylko do jednego rekordu. Poza tym, CURTIME() zwraca czas, a nie datę, a w kontekście faktur to nie ma sensu, bo powinny mieć datę płatności, a nie tylko czas. Kolejna sprawa to aktualizacja dat w wierszach, gdzie dataPlatnosci IS NOT NULL, co prowadzi do utraty ważnych informacji. Tego typu podejście jest sprzeczne z zasadami ochrony danych i może narobić bałaganu przy audytach. I ostatnia opcja, która ustawia datę na '0000-00-00', to kompletna katastrofa. Takie coś wprowadza błędne dane, które mogą wywołać problemy później. Użycie '0000-00-00' jako znacznika braku daty jest do bani i może prowadzić do nieporozumień. Lepiej używać NULL, bo to standard w SQL. Wybierając złe opcje, nie tylko ograniczasz funkcjonalność, ale także łamiesz zasady dobrego zarządzania danymi.

Pytanie 35

W skrypcie JavaScript operatory: ||, && są klasyfikowane jako operatorzy

A. arytmetyczne
B. bitowe
C. logicznymiTwoja odpowiedź
D. przypisania
Poprawna odpowiedź. Operatory || (OR logiczny) oraz && (AND logiczny) w języku JavaScript należą do grupy operatorów logicznych. Używają ich programiści do prowadzenia operacji na wartościach boolowskich (true/false), co jest kluczowe w tworzeniu warunków w instrukcjach warunkowych i pętlach. Operator && zwraca true, jeśli obie jego operandy są prawdziwe, natomiast operator || zwraca true, gdy przynajmniej jedna z operand jest prawdziwa. Przykładem praktycznego zastosowania operatora && może być sprawdzanie, czy użytkownik jest zalogowany i ma odpowiednie uprawnienia do wykonania danej operacji. Z kolei operator || może być użyty do wyświetlenia komunikatu, jeśli użytkownik nie podał danych, bądź podał niewłaściwe wartości. Dobrze jest stosować te operatory w kontekście logiki programowania, co pozwala na tworzenie bardziej złożonych, ale jednocześnie czytelnych i efektywnych warunków. Warto również pamiętać, aby w kodzie unikać zbyt skomplikowanych warunków, co może prowadzić do trudności w utrzymaniu kodu oraz zwiększać ryzyko błędów.

Pytanie 36

Którego znacznika użyć, aby zgrupować elementy w jeden BLOK?

A.
<span>
B.
<param>
C.
<div>
Twoja odpowiedź
D.
<p>
Poprawna odpowiedź. Znacznik <div> to blokowy pojemnik bez własnego znaczenia, służący do grupowania innych elementów w jeden BLOK (sekcję), który potem łatwo stylować lub pozycjonować. Dlatego do grupowania w blok służy <div>.

Pytanie 37

Jakie są etapy w odpowiedniej kolejności przy tworzeniu aplikacji?

A. Analiza oczekiwań klienta, określenie wymagań, programowanie, testowanie, wdrożeniePoprawna odpowiedź
B. Programowanie, analiza oczekiwań klienta, określenie wymagań, wdrożenie, testowanie
C. Określenie wymagań, analiza oczekiwań klienta, programowanie, wdrożenie, testowanieTwoja odpowiedź
D. Analiza oczekiwań klienta, określenie wymagań, programowanie, wdrożenie, testowanie
Niepoprawna odpowiedź. Zrozumienie procesu tworzenia aplikacji wymaga znajomości właściwej sekwencji działań, co często bywa źródłem nieporozumień. Wiele osób uważa, że proces rozpoczyna się od samoistnego tworzenia aplikacji, co jest fundamentalnie błędne. Bez wcześniejszej analizy wymagań klienta, trudno jest określić, co tak naprawdę jest potrzebne. Przykładem tego błędnego myślenia jest odpowiedź, która zakłada, że tworzenie aplikacji może nastąpić przed zdefiniowaniem wymagań. Taki krok może prowadzić do stworzenia produktu, który nie spełnia oczekiwań użytkowników końcowych, co wiąże się z niepotrzebnymi kosztami korekcji i opóźnieniami w dostarczeniu finalnego rozwiązania. Wiele projektów zakończonych niepowodzeniem miało właśnie swoje źródło w braku odpowiednich faz analizy i specyfikacji, co jest wyraźnie widoczne w metodykach projektowych takich jak Waterfall. Nieprzemyślane wdrożenie bez wcześniejszych testów stanowi kolejny poważny błąd, ponieważ może prowadzić do sytuacji, w której użytkownicy otrzymują produkt pełen błędów i niedociągnięć. Zastosowanie podejścia opartego na solidnych praktykach inżynieryjnych, takich jak zbieranie wymagań, ich dokumentacja oraz przeprowadzanie testów przed wdrożeniem, jest kluczowe dla zapewnienia sukcesu projektu i satysfakcji użytkowników.

Pytanie 38

Aby obraz umieszczony na stronie internetowej mógł automatycznie dostosowywać się do rozmiaru ekranu, na którym jest prezentowana strona, trzeba

A. oba jego wymiary ustawić w pikselach
B. jeden z jego wymiarów określić w pikselachTwoja odpowiedź
C. nie zmieniać obu jego wymiarów za pomocą stylów CSS
D. jego szerokość ustawić w wartościach procentowychPoprawna odpowiedź
Niepoprawna odpowiedź. Nie modyfikowanie wymiarów obrazu stylami CSS nie zapewnia odpowiedniego dostosowania do różnych rozmiarów ekranów. W przypadku, gdy wartości szerokości i wysokości są ustalone w pikselach, obraz pozostaje stały na zadanym rozmiarze, co może prowadzić do problemów z wyświetlaniem na mniejszych ekranach, takich jak smartfony czy tablety. Użytkownik może doświadczyć sytuacji, w której obraz jest zbyt duży lub zbyt mały, co wpływa na estetykę i funkcjonalność strony. Ponadto, ustawianie jednego z wymiarów w pikselach ogranicza elastyczność projektu. W przypadku ustalania obu wymiarów w pikselach, obraz nie tylko nie dostosuje się do rozmiaru ekranu, ale również może zakłócać układ innych elementów na stronie, prowadząc do nieczytelności i frustracji użytkownika. Typowym błędem myślowym jest przekonanie, że stałe wymiary zapewniają lepszą kontrolę nad układem. W rzeczywistości, brak elastyczności w projektowaniu prowadzi do problemów z dostępnością oraz użytecznością, co jest sprzeczne z praktykami zalecanymi w nowoczesnym web designie. Aby skutecznie projektować responsywne strony, warto korzystać z jednostek względnych, takich jak procenty lub jednostki viewport, a także technik takich jak media queries w CSS.

Pytanie 39

Dla jakiej wartości zmiennej x instrukcja warunkowa w JavaScript jest spełniona?

if ((x < -5) || (x > 2))
    x++;
A. -1
B. 2
C. -4Twoja odpowiedź
D. 3Poprawna odpowiedź
Niepoprawna odpowiedź. Analizując dostarczone odpowiedzi, kluczowe jest zrozumienie działania operatora logicznego OR oraz warunków logicznych w języku JavaScript. Instrukcja warunkowa wykonuje się, jeśli którykolwiek z warunków jest prawdziwy. Przy wartości x równej -4, żaden z warunków (x < -5) lub (x > 2) nie jest spełniony, ponieważ -4 jest większe niż -5 i mniejsze niż 2, więc instrukcja x++ się nie wykona. Dla x = -1 sytuacja jest podobna; -1 także nie spełnia obu warunków. Gdy x = 2, nadal nie spełniamy żadnego z wyrażonych warunków, ponieważ 2 nie jest większe niż 2 ani mniejsze niż -5. Typowym błędem myślowym przy rozwiązywaniu takich zadań jest błędne rozumienie zakresu działania operatora OR. Warto pamiętać, że wystarczy jedno prawdziwe wyrażenie, aby cała instrukcja została zaakceptowana. Błędne jest także myślenie, że brak bezpośredniej równości w warunku (jak x > 2) oznacza akceptację wartości granicznej. W tym przypadku konieczne jest pełne spełnienie warunku, co podkreśla znaczenie dokładności w formułowaniu logiki programistycznej. Takie zrozumienie operatorów logicznych i warunków jest niezbędne dla efektywnego tworzenia kodu, który odpowiada na wymagania logiki biznesowej w aplikacjach. Pasjonaci programowania powinni koncentrować się na testowaniu różnych scenariuszy, aby dokładnie zrozumieć, jak wartości zmiennych wpływają na przepływ działania ich kodu. Taka wiedza jest fundamentalna przy tworzeniu skalowalnych i niezawodnych rozwiązań programistycznych, które muszą operować na wielu danych wejściowych i warunkach w dynamicznie zmieniającym się środowisku.

Pytanie 40

Które z poniższych poleceń pozwala na dodanie kolumny zadanie_kompletne do tabeli zadania?

A. INSERT INTO zadania VALUES zadanie_kompletne
B. ADD COLUMN zadanie_kompletne WITH zadania
C. CREATE INDEX zadania ADD COLUMN zadanie_kompletne intTwoja odpowiedź
D. ALTER TABLE zadania ADD COLUMN zadanie_kompletne intPoprawna odpowiedź
Niepoprawna odpowiedź. Wszystkie trzy pozostałe odpowiedzi są nieprawidłowe w kontekście dodawania nowej kolumny do tabeli. Pierwsze z zaproponowanych poleceń, które sugeruje utworzenie indeksu, jest niepoprawne, ponieważ CREATE INDEX służy do tworzenia indeksów, które poprawiają wydajność zapytań, a nie do modyfikacji struktury tabeli. Indeks może być pomocny w optymalizacji wyszukiwania danych w tabeli, jednak nie ma związku z dodawaniem nowych kolumn. Drugie polecenie, INSERT INTO, jest przeznaczone do dodawania nowych rekordów do istniejącej tabeli, a nie do modyfikacji jej struktury. To polecenie umożliwia dodawanie danych do kolumn, które już istnieją, ale nie może być użyte do dodawania nowych kolumn. Ostatnia nieprawidłowa odpowiedź dotycząca 'ADD COLUMN zadanie_kompletne WITH zadania' jest również błędna, ponieważ nie jest to poprawna składnia SQL. Nie ma polecenia 'WITH' w kontekście dodawania kolumn do tabeli; zamiast tego powinno być używane polecenie ALTER TABLE. W rezultacie, niezrozumienie celu każdego z tych poleceń może prowadzić do błędnych prób modyfikacji struktury bazy danych, co w praktyce może skutkować utratą danych lub rozczarowującymi wynikami operacji.