Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 28 kwietnia 2026 16:55
  • Data zakończenia: 28 kwietnia 2026 16:57

Egzamin niezdany

Wynik: 7/40 punktów (17,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Która z poniższych instrukcji jest równoważna z poleceniem switch w języku PHP?

switch ($liczba) {
    case 10:
    case 20: $liczba++; break;
    default: $liczba = 0;
}

Instrukcja 1.
if ($liczba==10)
    $liczba++;
else
    $liczba = 0;

Instrukcja 2.
if ($liczba==10 or $liczba==20)
    $liczba++;
else
    $liczba = 0;

Instrukcja 3.
if ($liczba==10 or $liczba==20)
    $liczba++;

Instrukcja 4.
if ($liczba==10 and $liczba==20)
    $liczba++;
else
    $liczba = 0;
A. Polecenie 3
B. Polecenie 2
C. Polecenie 1
D. Polecenie 4
Instrukcje warunkowe if-else są często używane w programowaniu do kontrolowania przepływu programu na podstawie wartości logicznych. W kontekście podanego pytania, istotne jest zrozumienie, jak różne operatory logiczne wpływają na działanie tych instrukcji. Instrukcja 1 zakłada, że zmienna $liczba musi być równa 10, by wykonać operację inkrementacji, co nie jest zgodne z oryginalnym kodem switch, ponieważ pomija wartość 20. Taka interpretacja mogłaby prowadzić do błędów w sytuacjach, gdzie obie wartości są dopuszczalne. Instrukcja 3 używa operatora or, co wydaje się poprawne, ale brak bloku else powoduje brak możliwości przypisania wartości 0 w sytuacjach, gdy $liczba nie wynosi 10 ani 20. To oznacza niekompletność logiczną i potencjalne błędy. Instrukcja 4 stosuje operator and, co wymaga, aby $liczba jednocześnie wynosiła 10 i 20, co jest logicznie niemożliwe w tym kontekście, prowadząc do nieprawidłowego działania. Taka nieprawidłowa logika może być wynikiem błędnego zrozumienia warunków logicznych, co jest częstym problemem wśród początkujących programistów. Zrozumienie różnic między tymi operatorami jest kluczowe dla tworzenia poprawnych i efektywnych konstrukcji warunkowych w dowolnym języku programowania, w tym w PHP. Poprawne użycie instrukcji if-else oraz operatorów logicznych jest fundamentem wielu aplikacji, a błędy mogą prowadzić do nieprzewidywalnego działania programu.

Pytanie 2

Co oznacza pojęcie integralności referencyjnej?

A. Baza jest odporna na błędy i awarie wynikające z zawodności sprzętu i oprogramowania.
B. Wartość atrybutu należy do jego dziedziny.
C. Każdej wartości klucza obcego odpowiada dokładnie jedna wartość klucza podstawowego.
D. Każda encja musi mieć zdefiniowany klucz podstawowy o wartości unikatowej i różnej od NULL.
Pojęcie integralności referencyjnej bywa mylone z innymi rodzajami ograniczeń w bazie danych, dlatego łatwo tu o skrót myślowy. W relacyjnych bazach danych mamy kilka różnych typów integralności: integralność encji, integralność dziedzinową oraz właśnie integralność referencyjną. Każda z nich dotyczy trochę innego aspektu poprawności danych i warto je sobie w głowie rozdzielić, bo w praktyce projektowej to mocno pomaga. Stwierdzenie, że wartość atrybutu należy do jego dziedziny, opisuje integralność dziedzinową. Oznacza to, że np. kolumna typu DATE faktycznie przechowuje poprawne daty, kolumna z ograniczeniem CHECK mieści tylko dopuszczalne wartości, a kolumna typu INT nie zawiera losowego tekstu. To jest ważne, ale nie ma nic wspólnego z powiązaniem między dwiema tabelami. Tutaj mówimy o poprawności pojedynczej kolumny, a nie relacji klucz główny–klucz obcy. Z kolei odporność bazy na błędy sprzętu czy oprogramowania to już zupełnie inny obszar – to domena niezawodności systemu, mechanizmów transakcyjności, backupów, logów transakcyjnych, klastrów HA, replikacji itd. To są dobre praktyki administracyjne i architektoniczne, ale nie opisują integralności referencyjnej. Można mieć świetnie zabezpieczony serwer, a jednocześnie kompletnie rozwaloną spójność logiczną danych, jeśli nie ma poprawnie zdefiniowanych kluczy obcych. Wymóg, że każda encja ma unikalny klucz podstawowy, dotyczy integralności encji. Chodzi o to, żeby każdy rekord w tabeli dało się jednoznacznie zidentyfikować i żeby klucz główny nie był NULL. To jest fundament, ale nadal mówimy tylko o pojedynczej tabeli. Integralność referencyjna wchodzi dopiero wtedy, gdy jedna tabela „wskazuje” na drugą przez klucz obcy. Typowy błąd myślowy polega na wrzuceniu do jednego worka wszystkich zasad typu PRIMARY KEY, FOREIGN KEY, CHECK, UNIQUE i nazywaniu tego ogólnie integralnością. W rzeczywistości integralność referencyjna jest ściśle związana z relacjami między tabelami: pilnuje, żeby żaden klucz obcy nie wskazywał na nieistniejący rekord. Jeśli chcemy projektować bazy sensownie, trzeba świadomie odróżniać te pojęcia i korzystać z odpowiednich ograniczeń dokładnie tam, gdzie są potrzebne.

Pytanie 3

System informatyczny umożliwiający tworzenie, edycję i publikację treści na stronach internetowych bez konieczności posiadania zaawansowanej wiedzy technicznej, to

A. CMS
B. RDBMS
C. ERP
D. DBMS
W tym pytaniu łatwo się pomylić, bo wszystkie skróty brzmią dość podobnie i kojarzą się z systemami informatycznymi, ale ich przeznaczenie jest zupełnie inne niż w opisie. Kluczowe w treści pytania jest to, że chodzi o tworzenie, edycję i publikację treści na stronach WWW, bez wymagania zaawansowanej wiedzy technicznej. Innymi słowy – użytkownik ma mieć wygodny panel, formularze, edytor tekstu, przyciski do wstawiania obrazków, a cała techniczna „magia” ma dziać się w tle. DBMS, czyli Database Management System, to system zarządzania bazą danych. Takie oprogramowanie jak MySQL, PostgreSQL, Oracle Database czy Microsoft SQL Server służy do tworzenia baz danych, tabel, wykonywania zapytań SQL, nadawania uprawnień użytkownikom. To jest narzędzie typowo dla administratorów baz i programistów, a nie dla redaktorów treści. DBMS sam w sobie nie udostępnia prostego interfejsu do publikowania artykułów na stronie WWW, tylko przechowuje dane, na których później może pracować aplikacja, np. CMS. RDBMS (Relational Database Management System) to po prostu szczególny rodzaj DBMS, który opiera się na modelu relacyjnym – tabele, klucze główne, klucze obce, relacje między tabelami. Z punktu widzenia pytania to jeszcze bardziej techniczny poziom. RDBMS to „zaplecze” wielu systemów, także CMS-ów, ale nie narzędzie, z którego korzysta zwykły użytkownik do edycji treści. Typowym błędem myślowym jest utożsamianie „systemu informatycznego” z czymkolwiek, co pracuje na danych, bez rozróżnienia, czy to jest warstwa bazy danych, czy aplikacja użytkownika. ERP (Enterprise Resource Planning) to z kolei rozbudowany system do zarządzania zasobami przedsiębiorstwa: magazyn, sprzedaż, księgowość, kadry, produkcja. Owszem, ERP może mieć moduł do wystawiania dokumentów, raportów, czasem nawet prosty portal B2B, ale jego głównym celem nie jest publikowanie treści na publicznej stronie WWW. To rozwiązanie skierowane do działów finansowych, logistycznych, produkcyjnych, a nie do webredaktorów. Mylenie ERP z CMS-em zwykle wynika z tego, że oba są „dużymi systemami” i czasem integrują się ze stroną internetową, ale pełnią inne role. Właściwy system opisany w pytaniu to CMS – Content Management System – który łączy się zazwyczaj z bazą danych (często właśnie RDBMS), ale daje użytkownikowi przyjazny interfejs do zarządzania treścią. Jeżeli więc w opisie pojawia się tworzenie stron, artykułów, wpisów blogowych, galerii i to wszystko bez znajomości HTML czy SQL, to jest bardzo silna wskazówka, że chodzi właśnie o CMS, a nie DBMS, RDBMS czy ERP.

Pytanie 4

Filtracja sygnału wejściowego w czasie, która uwzględnia zasadę superpozycji, dotyczy filtru

A. o skończonej odpowiedzi impulsowej
B. niezmiennym w czasie
C. przyczynowym
D. liniowego
Odpowiedzi, które nie klasyfikują procesu filtracji sygnału jako liniowego, często prowadzą do nieporozumień w zakresie podstawowych pojęć związanych z teorią filtracji. Filtry o skończonej odpowiedzi impulsowej (FIR) rzeczywiście mogą być liniowe, ale to nie one definiują zasadę superpozycji, która jest kluczowa dla filtrów liniowych. Filtry FIR to jedynie jedna z klas filtrów, które można zaprojektować tak, aby były liniowe. Podejście przyczynowe w filtracji oznacza, że sygnał wyjściowy zależy tylko od bieżących i przeszłych wartości sygnału wejściowego, co również może być zgodne z filtrami liniowymi, ale nie jest ich jedyną cechą. Z kolei powiedzenie, że filtr jest 'niezmienny w czasie', odnosi się do filtrów, które nie zmieniają swoich właściwości w czasie, co również nie wyklucza filtrów liniowych, ale nie jest to kluczowe dla samej definicji procesów liniowych. Błędem jest zatem myślenie, że inne klasy filtrów automatycznie są niezwiązane z liniowością, gdyż wiele z nich, w tym FIR, IIR czy filtry przyczynowe, mogą spełniać tę właściwość. Ważne jest, aby zrozumieć, że linowość jest fundamentalnym pojęciem w teorii systemów i ma kluczowe znaczenie dla analizy sygnałów.

Pytanie 5

Jakiego znacznika w HTML użyjemy, aby uzyskać tekst wyświetlany czcionką o stałej szerokości znaku, który również uwzględnia dodatkowe spacje, tabulacje oraz znaki końca linii?

A. <ins>…</ins>
B. <code>…</code>
C. <pre>…</pre>
D. <blockquote>…</blockquote>
Znaczniki <code>, <ins> i <blockquote> mają swoje unikalne zastosowania, ale nie nadają się do zachowania formatowania tekstu, jak to robi <pre>. Znacznik <code> jest przeznaczony do oznaczania fragmentów kodu, jednak nie utrzymuje przestrzeni i formatowania. Kiedy używasz <code>, przeglądarka wyświetli tekst w inny sposób, ale nie uwzględni dodatkowych odstępów lub tabulacji, co może prowadzić do nieczytelności w przypadku dłuższych fragmentów kodu. Z kolei znacznik <ins> służy do wskazywania wstawionego tekstu, co ma znaczenie w kontekście edycji lub zmian, ale nie zmienia jego formatowania ani nie zachowuje układów, co ogranicza jego użyteczność w przypadku tekstów wymagających precyzyjnego formatowania. Wreszcie, <blockquote> jest używane do cytowania dłuższych fragmentów tekstu z innego źródła, co również nie związane jest z zachowaniem konkretnego formatowania, a jego celem jest raczej stylistyczne wyróżnienie cytatu. W praktyce, mylenie tych znaczników może prowadzić do frustracji użytkowników, którzy oczekują zachowania konkretnych układów, zwłaszcza w kontekście programowania lub prezentacji danych. Ważne jest, aby zrozumieć, że każdy znacznik ma swoje specyficzne zastosowanie i powinien być używany zgodnie z jego przeznaczeniem, aby zapewnić spójność i czytelność prezentowanych treści.

Pytanie 6

Jakie jest zastosowanie programu debugger?

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

Pytanie 7

W SQL, aby zabezpieczyć kwerendę CREATE USER przed utworzeniem konta, jeżeli ono już istnieje, należy użyć składni

A. CREATE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
B. CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
C. CREATE OR REPLACE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
D. CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
Odpowiedzi takie jak 'CREATE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' są nieprawidłowe, ponieważ nie zawierają mechanizmu do weryfikacji istnienia użytkownika przed jego utworzeniem. W przypadku, gdy konto o nazwie 'anna' już istnieje, wykona się próba utworzenia go ponownie, co skutkuje błędem. Tego typu podejście nie tylko narusza praktyki zarządzania bazami danych, ale również wprowadza potencjalne problemy z bezpieczeństwem, gdyż mogą wystąpić niezamierzone konsekwencje w przypadku nadpisania istniejących uprawnień. Odpowiedź 'CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' także jest błędna, gdyż takiej składni nie definiuje standard SQL. 'CREATE OR REPLACE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' myli pojęcie zastępowania użytkownika, gdyż nie zawsze jest to pożądane. Użytkownicy mogą mieć różne uprawnienia, a ich usunięcie lub nadpisanie może prowadzić do problemów z dostępem. Takie myślenie często prowadzi do błędnych założeń, że można swobodnie zarządzać użytkownikami bez przemyślanej strategii, co może skutkować poważnymi lukami w bezpieczeństwie oraz problemami z audytem. Zrozumienie, jak ważne jest stosowanie odpowiednich praktyk przy zarządzaniu kontami użytkowników w bazach danych, jest kluczowe dla zapewnienia ich integralności oraz ochrony danych.

Pytanie 8

W edytorze grafiki wektorowej zbudowano kształt, który składa się z dwóch figur: trójkąta oraz koła. Aby uzyskać ten kształt, po narysowaniu figur i ich odpowiednim ustawieniu, trzeba użyć funkcji

Ilustracja do pytania
A. rozdzielenia
B. sumy
C. różnicy
D. wykluczenia
Funkcja sumy w programach do grafiki wektorowej, takich jak Adobe Illustrator czy CorelDRAW, pozwala na połączenie dwóch lub więcej kształtów w jeden obiekt. To takie sprytne narzędzie! Sumowanie, znane też jako unia lub łączenie ścieżek, integruje geometrię wszystkich wybranych kształtów. Na przykład, jak narysujesz trójkąt i koło, a potem je odpowiednio ustawisz, to używając funkcji sumy, stworzysz nowy kształt, który obejmuje całą powierzchnię obu figur. Często to robi się przy projektowaniu logo, gdzie trzeba uprościć złożone kształty do jednej ścieżki. Taki sposób działania jest przyjęty w branży, bo ułatwia tworzenie czytelnych grafik, które są łatwe do edytowania. A co najważniejsze, połączenie figur w jedną upraszcza późniejsze zmiany i wpisuje się w zasady projektowania minimalistycznego, dzięki czemu można robić przejrzyste kompozycje. Warto mieć na uwadze, że takie podejście też ułatwia drukowanie i wycinanie, co jest mega ważne w produkcji materiałów reklamowych czy wyrobów przemysłowych.

Pytanie 9

W języku PHP zapis $b++ jest równoważny zapisowi

A. $b = $b + $b
B. $b == $b
C. $b = $b + 1
D. $b == $b + $b
Operator $b++ w PHP bywa mylony z różnymi innymi operacjami na zmiennych, głównie dlatego, że wygląda niepozornie, a pod spodem robi konkretną arytmetykę. Kluczowe jest to, że ++ oznacza zawsze inkrementację, czyli zwiększenie wartości liczbowej dokładnie o 1. Nie ma tu ani porównania, ani mnożenia, ani dodawania wartości do samej siebie w sensie podwajania. Jeśli ktoś patrzy na zapis $b == $b i kojarzy go z jakąś równoważnością, to trzeba jasno powiedzieć: podwójny znak równości w PHP jest operatorem porównania, a nie przypisania. Taka instrukcja sprawdza tylko, czy dwie wartości są równe logicznie, i zwraca true albo false. Nie zmienia ona w ogóle zawartości zmiennej b. W kodzie typu $b == $b + $b zachodzi więc tylko porównanie, które zwykle będzie fałszywe, bo jedna strona jest dwa razy większa od drugiej, ale sama zmienna b pozostaje bez zmian. To jest typowy błąd początkujących: mylenie = (przypisanie) z == (porównanie). Drugi obszar nieporozumień to dodawanie zmiennej do samej siebie. Zapis $b = $b + $b oznacza podwojenie wartości, czyli matematycznie 2 * b. To zupełnie coś innego niż $b++, które robi b = b + 1. W algorytmach, gdzie liczymy np. liczbę elementów, iterację po tablicy, licznik odwiedzin, użycie podwojenia zamiast inkrementacji kompletnie rozwala logikę programu. Z mojego doświadczenia wynika, że wiele takich pomyłek bierze się z pośpiechu i braku nawyku dokładnego czytania operatorów. W dobrych praktykach programistycznych zaleca się używanie operatorów skróconych, takich jak ++, --, +=, ale tylko wtedy, gdy dokładnie rozumiemy, co one robią. Warto też pamiętać, że w PHP semantyka operatorów porównania i przypisania jest jasno zdefiniowana w dokumentacji, a trzymanie się tych standardów pozwala uniknąć subtelnych błędów logicznych. Dlatego przy każdym tego typu pytaniu warto na spokojnie przeanalizować, czy wynik ma zmieniać wartość zmiennej, czy tylko ją sprawdzać, oraz o ile ma się ta wartość zmienić: o 1, czy może ma być podwojona lub pomnożona przez coś innego.

Pytanie 10

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. części wspólnej.
B. grupowania.
C. sumy.
D. wykluczenia.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów. Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna. Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 11

Dla którego akapitu zastosowano przedstawioną właściwość stylu CSS?

border-radius: 20%;

To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf

A

To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf

B

To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf

C

To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf

D
A. A.
B. C.
C. D.
D. B.
Niestety, tym razem nie trafiłeś. Właściwość CSS 'border-radius: 20%;' naprawdę służy do zaokrąglania rogów, a na obrazku tylko akapit B ma takie zaokrąglenia. Może pomyliłeś to z czymś innym? Ważne, żeby zrozumieć, jak działa 'border-radius' – robi on krawędzie ładniejsze. Jak widzisz, '20%;' to wartość procentowa i mówi, jak bardzo te rogi mają być zaokrąglone. Widziałeś inne odpowiedzi (A, C, D), ale one nie miały tych zaokrągleń. Najlepiej zwrócić uwagę na to, jak różne style CSS wpływają na wygląd naszych elementów. W przyszłości warto się tego nauczyć, bo to naprawdę przydatne.

Pytanie 12

Jakie będzie wyjście programu napisanego w języku JavaScript, umieszczonego w ramce, po podaniu wartości 5 na wejściu?

Ilustracja do pytania
A. 625
B. 60
C. 125
D. 120
Program przedstawiony w pytaniu służy do obliczenia silni liczby n wprowadzonej przez użytkownika. Zrozumienie, dlaczego wynik wynosi 120, a inne odpowiedzi są błędne, wymaga dokładnego prześledzenia, jak działa silnia i jak przebiega obliczenie w pętli for. Silnia liczby n, zapisywana jako n!, to iloczyn wszystkich liczb od 1 do n. Dla wartości 5, program oblicza 5! jako 5*4*3*2*1, co daje 120. Błędne odpowiedzi wynikają zazwyczaj z niepoprawnego zrozumienia zasady działania pętli oraz operacji matematycznych. Na przykład, wynik 60 mógłby sugerować niepełne wykonanie iteracji, na przykład jeśli pętla kończyłaby się wcześniej, ale kod jasno określa, że iteruje od n do 2. Wynik 125 mógłby być wynikiem błędnego użycia operatorów matematycznych, np. dodawania zamiast mnożenia. Odpowiedź 625 mogłaby sugerować niepoprawną interpretację, gdzie liczba 5 zostałaby błędnie pomnożona przez samą siebie pięciokrotnie, co nie dotyczy silni. Takie błędy są powszechne w kontekście programowania, gdzie operatory i zakresy iteracji muszą być prawidłowo zrozumiane i zastosowane. Rozumienie poprawnego działania pętli for oraz operatora *= jest kluczowe dla uniknięcia takich błędów i poprawnego implementowania algorytmów matematycznych w kodzie. Praktyka i analiza przykładowych problemów mogą znacznie poprawić zdolność do pisania skutecznego i bezbłędnego kodu.

Pytanie 13

W CSS zdefiniowano styl dla pola edycji. Taki obszar będzie miał jasnozielone tło

input:focus { background-color: LightGreen; }
A. w każdej sytuacji
B. gdy zostanie na niego najechane kursorem myszy bez kliknięcia
C. jeśli jest to pierwsze wystąpienie tego elementu w dokumencie
D. po kliknięciu myszą w celu wprowadzenia tekstu
Pozostałe odpowiedzi opierają się na błędnym zrozumieniu zastosowania pseudoklas w języku CSS. Pseudoklasa :first-of-type, która mogłaby sugerować pierwsze wystąpienie znacznika w dokumencie, nie odnosi się do stanu aktywności pola edycyjnego. Stylizowanie pierwszego wystąpienia nie ma związku z interakcją użytkownika, a jedynie z pozycją elementu w strukturze dokumentu HTML. Kolejny błąd pojawia się przy założeniu, że zmiana koloru tła nastąpi gdy element zostanie wskazany kursorem myszy. W CSS taka interakcja jest obsługiwana przez pseudoklasę :hover, która stosuje się do elementów, nad którymi znajduje się wskaźnik myszy, ale nie obejmuje stanu aktywnego fokusu potrzebnego do edycji. Ostatnia błędna koncepcja dotyczy twierdzenia, że styl jest stosowany w każdym przypadku. To stwierdzenie ignoruje specyfikę selektorów CSS, które wymagają określonych warunków - w tym przypadku aktywnego fokusu elementu. Zrozumienie różnic między pseudoklasami :focus i :hover oraz znajomość ich zastosowań w projektowaniu interaktywnych interfejsów webowych jest kluczowe dla skutecznego stosowania CSS w praktyce. Poprawna wiedza na temat specyficznych zastosowań tych pseudoklas wpływa na jakość doświadczenia użytkownika i integrację funkcjonalności z estetyką projektu.

Pytanie 14

Na przedstawionym obrazie widać wynik formatowania przy użyciu styli CSS oraz kod HTML, który go generuje. Przy założeniu, że marginesy wewnętrzne wynoszą 50 px, a zewnętrzne 20 px, jak wygląda styl CSS dla tego obrazu?

Ilustracja do pytania
A. Rys. D
B. Rys. C
C. Rys. B
D. Rys. A
Poprawna odpowiedź, Rys. C, przedstawia styl CSS, który prawidłowo definiuje marginesy i marginesy wewnętrzne obrazu. W tym przypadku margines wewnętrzny wynosi 50px, a zewnętrzny 20px, co jest zgodne z wymaganiami zawartymi w pytaniu. Kod CSS zawiera solidną linię graniczną o wartości 4px w kolorze czarnym, co jest dobrze praktykowane w projektowaniu stron internetowych, ponieważ solidna linia jest bardziej widoczna i profesjonalna niż linia przerywana. Kolor tła teal zapewnia atrakcyjny kontrast. Zastosowanie właściwego marginesu i marginesu wewnętrznego jest kluczowe w tworzeniu responsywnych układów, które są teraz standardem w branży. Poprawne ustawienie tych parametrów zapewnia estetyczny wygląd oraz prawidłowe rozmieszczenie elementów na stronie. Praktyczne zastosowanie tej wiedzy obejmuje projektowanie layoutów w CSS Grid czy Flexbox, gdzie marginesy i marginesy wewnętrzne pełnią kluczową rolę w zarządzaniu przestrzenią elementów. Właściwe wykorzystanie tych stylów wspiera tworzenie stron zgodnych ze standardami W3C, co jest fundamentem profesjonalnego web developmentu.

Pytanie 15

Zgodnie z zasadami ACID, odnoszącymi się do realizacji transakcji, wymóg trwałości (ang. durability) oznacza, iż

A. dane zatwierdzone przez transakcję powinny być dostępne niezależnie od zdarzeń, które nastąpią po jej zakończeniu
B. transakcja może, w określonych okolicznościach, zostać podzielona na dwa niezależne etapy
C. w sytuacji naruszenia spójności bazy danych transakcja usuwa tabele z kluczami obcymi
D. podczas realizacji transakcji dane mogą być zmieniane przez inne transakcje
Pierwsza odpowiedź sugeruje, że transakcje mogą być dzielone na niezależne etapy, co odnosi się do fragmentacji transakcji lub transakcji rozproszonych. Jednakże, w kontekście ACID, trwałość nie odnosi się do sposobu wykonania transakcji, ale do zapewnienia, że zatwierdzone zmiany są trwałe. Druga odpowiedź wskazuje na możliwość modyfikacji danych przez inne transakcje podczas wykonywania jednej z nich. To również jest sprzeczne z zasadą izolacji (ang. isolation) w ramach ACID, która zapewnia, że transakcje są przeprowadzane w sposób, który uniemożliwia ich wzajemne zakłócanie. Tylko po zakończeniu transakcji, zmiany są widoczne dla innych transakcji. Ostatnia odpowiedź sugeruje, że w przypadku naruszenia spójności bazy danych, transakcja może usunąć tabele z kluczami obcymi. Taki mechanizm nie jest zgodny z wymaganiami ACID, ponieważ spójność jest jednym z fundamentalnych zasad, które powinny być zachowane, a usunięcie tabel naruszyłoby integralność danych. Dlatego odpowiedzi te nie spełniają definicji trwałości w kontekście ACID.

Pytanie 16

Dla akapitu zdefiniowano styl CSS. Które właściwości stylu CSS poprawnie określają dla akapitu czcionkę: Arial; rozmiar czcionki: 16 pt; oraz styl czcionki: pochylenie?

A. p{font-style: Arial; size: 16px; font-weight: normal;}
B. p{font-family: Arial; font-size: 16px; font-variant: normal;}
C. p{font-family: Arial; font-size: 16pt; font-style: italic;}
D. p{font-style: Arial; font-size: 16pt; font-variant: normal;}
Jeśli chodzi o opisanie czcionki w CSS dla akapitu, to kluczowe są trzy właściwości. 'font-family' mówi nam, jaki krój czcionki wybieramy, w tym wypadku 'Arial', bo to popularna czcionka bezszeryfowa. Potem mamy 'font-size', czyli rozmiar czcionki, tutaj to '16pt'. To standardowy rozmiar, który dobrze wygląda w druku. Na końcu, 'font-style' ustawia styl czcionki, a użycie 'italic' sprawia, że tekst będzie w pochyłym stylu. Te trzy rzeczy są super ważne, żeby tekst na stronie wyglądał schludnie i czytelnie. W projektowaniu stron internetowych warto pamiętać, że dla druku lepsze są jednostki takie jak 'pt', a dla ekranów stosujemy 'px'. Spójność w stylizacji też jest kluczowa, bo dzięki temu tekst wygląda jednolicie na całej stronie. To naprawdę ważne, zwłaszcza gdy robimy coś w CSS, bo pozwala to na ładniejszy web design.

Pytanie 17

Polecenie w języku SQL w formie ALTER TABLE 'miasta' ADD 'kod' text?

A. w tabeli miasta modyfikuje nazwę kolumny kod na text
B. wprowadza do tabeli nową kolumnę o nazwie kod typu text
C. dodaje do tabeli dwie kolumny o nazwach: kod i text
D. zmienia nazwę tabeli miasta na kod
Wszystkie pozostałe odpowiedzi są błędne z kilku powodów. Pierwsza z nich sugeruje, że polecenie zmienia nazwę tabeli 'miasta' na 'kod', co jest nieprawdziwe. W SQL, aby zmienić nazwę tabeli, używa się polecenia RENAME TABLE lub ALTER TABLE z odpowiednimi argumentami, a nie polecenia ADD, które służy wyłącznie do dodawania nowych kolumn. Kolejna fałszywa odpowiedź stwierdza, że dodaje dwie kolumny o nazwach 'kod' i 'text'. W rzeczywistości polecenie ALTER TABLE dodaje tylko jedną kolumnę, co jest wyraźnie widoczne w zapytaniu. W przypadku, gdybyśmy chcieli dodać więcej niż jedną kolumnę, musielibyśmy użyć oddzielnych poleceń ADD dla każdej kolumny lub zdefiniować je razem w pojedynczym poleceniu, co również nie ma miejsca w tym przykładzie. Ostatnia niepoprawna odpowiedź sugeruje, że w tabeli 'miasta' następuje zmiana nazwy kolumny 'kod' na 'text'. Tego rodzaju operacja wymagałaby użycia polecenia RENAME COLUMN, a nie ADD. Polecenie ADD nie zmienia istniejących kolumn, lecz dodaje nowe, co jest fundamentalnym zrozumieniem działania komendy ALTER TABLE. Dlatego wszystkie te odpowiedzi są technicznie błędne i nie oddają rzeczywistego działania zapytania SQL.

Pytanie 18

W jakim języku została napisana podana linia kodu

Ilustracja do pytania
A. PHP
B. JavaScript
C. C#
D. Python
Linia kodu przedstawiona w pytaniu to przykład zastosowania języka JavaScript, co jest kluczowe do rozróżnienia od innych języków programowania. Kod w języku C# różniłby się znacząco, gdyż C# jest częściej używany w kontekście aplikacji desktopowych lub serwerowych, a jego składnia wymagałaby innego podejścia do manipulacji elementami interfejsu użytkownika. PHP, będąc językiem skryptowym działającym po stronie serwera, również nie używa DOM w taki sam sposób jak JavaScript. Jego rola w web development jest bardziej związana z przetwarzaniem danych na serwerze i generowaniem dynamicznych treści przed wysłaniem ich do przeglądarki. Python, znany ze swojej wszechstronności, jest rzadziej używany do bezpośredniej manipulacji DOM w aplikacjach webowych, chociaż istnieją biblioteki umożliwiające takie działania. Typowe błędy w rozróżnianiu tych języków wynikają z niezrozumienia ich specyficznych zastosowań i kontekstów działania. JavaScript jest unikalny ze względu na swoją zdolność do działania bezpośrednio w przeglądarce użytkownika, co pozwala na żywe i dynamiczne zmiany w treści strony bez potrzeby odświeżania. Rozumienie tych różnic jest kluczowe dla skutecznego rozwoju webowego i skutecznego wykorzystania odpowiednich narzędzi w odpowiednich kontekstach.

Pytanie 19

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 dwóch pól
B. Z jednego pola
C. Z trzech pól
D. Z czterech pól
Wybranie niepoprawnych odpowiedzi, takich jak 'z jednego pola' czy 'z dwóch pól', może wynikać z niepoprawnego zrozumienia struktury danych zwracanych przez funkcję mysqli_fetch_row. Odpowiedzi te sugerują, że użytkownik może nie dostrzegać, że funkcja ta zwraca wszystkie kolumny z wiersza jako elementy tablicy, co ma kluczowe znaczenie w kontekście przetwarzania wyników zapytań. Odpowiedzi wskazujące na jedno lub dwa pola mogą prowadzić do błędnych wniosków, ponieważ ignorują one pełny zakres danych, które są dostępne w każdym wierszu. W praktyce, często umieszcza się w bazie danych więcej informacji, a każda kolumna odpowiada innemu atrybutowi obiektu, na przykład klienta. Dlatego jeśli zapytanie SQL zwraca trzy kolumny, to oczekiwanym wynikiem powinno być właśnie wyświetlenie tych trzech, co podkreśla istotność precyzyjnego formułowania zapytań i poprawnego odczytywania wyników. Zrozumienie struktury danych jest kluczowe dla poprawnego odczytu wyników i ich późniejszego wykorzystania, co potwierdzają standardy związane z programowaniem w PHP oraz obsługą baz danych.

Pytanie 20

Jakie będzie wynikowe wyjście po uruchomieniu tego skryptu PHP?

<?php
$kolory = array("czarny", "zielony", "niebieski", "biały");
rsort($kolory);
$ile = count($kolory);
for($x = 0; $x < $ile; $x++)
{
  echo $kolory[$x].", ";
}
?>
A. biały, czarny, niebieski, zielony
B. czarny, zielony, niebieski, biały
C. zielony, niebieski, czarny, biały
D. biały, niebieski, zielony, czarny
W przypadku podanego skryptu PHP błędne odpowiedzi wynikają z niewłaściwej interpretacji działania funkcji rsort(). Zadaniem tej funkcji jest sortowanie elementów tablicy w porządku malejącym na podstawie wartości ASCII pierwszego znaku każdego elementu. Jeśli przyjrzymy się tablicy zawierającej słowa czarny zielony niebieski biały funkcja rsort() ułoży je w odwrotnej kolejności alfabetycznej zaczynając od słów których pierwsze litery mają wyższą wartość ASCII. Typowym błędem może być niezrozumienie że rsort() działa na całych wartościach łańcuchów a nie tylko na pierwszych literach. Należy również pamiętać że funkcje sortujące takie jak rsort() nie zwracają nowej tablicy lecz modyfikują istniejącą co czasem może prowadzić do niepoprawnych założeń dotyczących oryginalnych danych. Innym częstym błędem jest zakładanie że rsort() zachowuje porządek elementów o tej samej wartości początkowej co nie jest prawdą jeśli dwa elementy miałyby tę samą pierwszą literę rsort() może zmienić ich kolejność względem siebie. Właściwe zrozumienie działania funkcji sortujących w PHP jest niezbędne aby uniknąć błędów logicznych i zapewnić że nasze aplikacje działają zgodnie z oczekiwaniami.

Pytanie 21

Poniższe zapytanie SQL ma na celu:

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. zwiększyć o jeden wartość pola Uczen
B. zwiększyć o jeden wartość kolumny id_klasy dla wszystkich wpisów w tabeli Uczen
C. ustawić wartość pola Uczen na 1
D. przypisać wartość kolumny id_klasy jako 1 dla wszystkich wpisów w tabeli Uczen
Wybierając błędne odpowiedzi, można wpaść w pułapki związane z interpretacją polecenia SQL. Na przykład, stwierdzenie, że polecenie zwiększa wartość pola Uczen, jest mylące, ponieważ nie odnosi się do konkretnej kolumny. W SQL każde polecenie musi być precyzyjne, a używanie ogólnych terminów prowadzi do nieporozumień. Mówiąc o "ustawieniu na 1 wartości pola Uczen", mylnie sugeruje się, że wszystkie dane są resetowane do jednej wartości, co jest całkowicie błędne w kontekście podanego polecenia. Kolejną nieprawidłową koncepcją jest pomysł, iż polecenie ustawia wartość kolumny na 1 dla wszystkich rekordów. W rzeczywistości, aktualizuje ono istniejące wartości, zwiększając je o jeden, a nie ustawia ich na stałą wartość. Takie nieprecyzyjne zrozumienie języka SQL może prowadzić do katastrofalnych skutków w praktycznych zastosowaniach baz danych, w tym do utraty danych lub niepoprawnych aktualizacji, co jest sprzeczne z dobrymi praktykami zarządzania danymi. Kluczowe jest zrozumienie, że każdy element w SQL odgrywa istotną rolę, a nieprecyzyjność prowadzi do błędów, które mogą być czasochłonne do naprawienia. Z tego powodu, w pracy z SQL, należy zwracać znaczną uwagę na szczegóły oraz logiczną strukturę zapytań.

Pytanie 22

Rekord w bazie danych identyfikowany jest jednoznacznie przez pole

A. klucza podstawowego
B. relacji
C. numeryczne
D. klucza obcego
Klucz obcy jest to pole, które odnosi się do klucza podstawowego innej tabeli w celu utworzenia relacji pomiędzy nimi. Jego głównym celem jest zapewnienie integralności referencyjnej, co oznacza, że pozwala na łączenie danych z różnych tabel. Dlatego klucz obcy nie może być użyty jako jednoznaczny identyfikator rekordu w danej tabeli, gdyż nie gwarantuje on unikalności, a jedynie odniesienie do innego rekordu. Numeryczne pole samo w sobie nie jest wystarczające do identyfikacji rekordu, ponieważ nie każde pole numeryczne jest unikalne. Pola numeryczne mogą zawierać powtarzające się wartości, co czyni je niewłaściwym wyborem na identyfikator rekordu. Relacje, mimo że są kluczowym elementem w strukturze baz danych, nie są specyficznymi polami, które mogłyby pełnić rolę klucza. Relacje definiują, jak różne tabele interagują ze sobą, ale nie identyfikują konkretnych rekordów. W związku z tym, żadne z wymienionych pól nie mogą pełnić roli jednoznacznego identyfikatora rekordu w bazie danych, poza kluczem podstawowym, który jest fundamentalnym elementem relacyjnych baz danych.

Pytanie 23

Podaj polecenie SQL, które wprowadza kolumnę miesiacSiewu do istniejącej tabeli rosliny?

A. INSERT INTO rosliny VALUES (miesiacSiewu int)
B. ALTER TABLE rosliny ADD miesiacSiewu int
C. UPDATE rosliny ADD miesiacSiewu int
D. CREATE TABLE rosliny {miesiacSiewu int}
Wszystkie błędne odpowiedzi opierają się na nieprawidłowym rozumieniu funkcji i zastosowania instrukcji w SQL. Polecenie INSERT INTO rosliny VALUES (miesiacSiewu int) jest niewłaściwe, ponieważ służy do wstawiania nowych rekordów do tabeli, a nie do modyfikacji jej struktury. Wstawiając dane, należy określić wartości dla istniejących kolumn, a nie definiować nowego pola. Funkcja UPDATE rosliny ADD miesiacSiewu int również jest myląca, gdyż polecenie UPDATE jest używane do aktualizacji istniejących danych w tabeli, a nie do dodawania nowych kolumn. Ponadto, dodawanie kolumny powinno odbywać się za pomocą ALTER TABLE, a nie poprzez UPDATE. Ostatecznie, CREATE TABLE rosliny {miesiacSiewu int} jest niewłaściwe, ponieważ polecenie CREATE TABLE jest stosowane do tworzenia nowej tabeli, a nie do modyfikacji istniejącej. Warto zauważyć, że w SQL każda instrukcja ma swoje specyficzne zastosowanie; nie można ich dowolnie zamieniać. Typowe błędy w myśleniu o SQL mogą prowadzić do nieefektywnego zarządzania danymi, dlatego kluczowe jest zrozumienie różnic między instrukcjami, aby skutecznie korzystać z możliwości baz danych.

Pytanie 24

Jaką wartość w formacie heksadecymalnym będzie miała barwa określona kodem rgb(255, 10, 22)?

A. #FF0A16
B. #2551022
C. #251022
D. #FF1016
Wybór błędnych odpowiedzi wynika najczęściej z niezrozumienia zasad konwersji kolorów z formatu RGB do formatu heksadecymalnego. Odpowiedzi takie jak #2551022 czy #251022 sugerują, że użytkownik nie zrozumiał, jak działa system szesnastkowy, w którym każda para cyfr reprezentuje jeden z trzech kanałów koloru. Na przykład, w odpowiedzi #2551022 widzimy zbyt wiele cyfr, co jest niezgodne z formatem heksadecymalnym, który wymaga dokładnie sześciu znaków. Dodatkowo, odpowiedzi te mogą prowadzić do błędnych wyników w projektach graficznych i programistycznych, gdzie precyzyjne określenie kolorów jest kluczowe. W przypadku #FF1016, choć niektóre cyfry są poprawne, znowu pojawia się problem z wartościami kanału zielonego, gdzie odpowiednia wartość powinna być 0A, a nie 10. Przykłady te pokazują, jak ważne jest zrozumienie, że kanały kolorów w RGB są reprezentowane w skali szesnastkowej jako dwucyfrowe liczby szesnastkowe, a ich nadmiar lub zmiana kolejności może prowadzić do nieprawidłowych kolorów. Dobra praktyka w projektowaniu to upewnienie się, że konwersje są wykonywane poprawnie, aby uniknąć niepożądanych wyników.

Pytanie 25

W przedstawionym kodzie HTML, zaprezentowany styl CSS jest stylem:

<p style="color:red;">To jest przykładowy akapit.</p>
A. nagłówkowym
B. dynamicznym
C. lokalnym
D. zewnętrznym
Styl zewnętrzny odnosi się do stylów zapisanych w osobnym pliku CSS który jest załączany do dokumentu HTML za pomocą znacznika link w sekcji head. Taki sposób organizacji stylów umożliwia centralne zarządzanie wyglądem wielu stron jednocześnie co jest efektywne przy większych projektach. Styl nagłówkowy to styl umieszczony w sekcji head dokumentu HTML w znacznika style. Pozwala on na zdefiniowanie stylów dla całego dokumentu lecz wciąż ogranicza się do pojedynczej strony. Pomaga to w zachowaniu spójności wizualnej na stronie ale nie zapewnia tego na poziomie całego serwisu jak style zewnętrzne. Styl dynamiczny zazwyczaj odnosi się do stylów zmieniających się w odpowiedzi na akcje użytkownika często za pośrednictwem JavaScript lub CSS3. Przykładem może być zmiana koloru przycisku po najechaniu kursorem co zwykle osiągamy za pomocą pseudo-klas CSS jak :hover. W analizowanym kodzie styl CSS jest przypisany bezpośrednio do elementu HTML co jest typowym przykładem stylu lokalnego ponieważ nie jest zdefiniowany ani w zewnętrznym pliku ani w sekcji head dokumentu ani nie reaguje dynamicznie na akcje użytkownika. Zrozumienie różnic między tymi podejściami jest kluczowe dla efektywnego kodowania i stylizacji stron internetowych ze względu na różne potrzeby w projektach webowych. Właściwy wybór metody stylizacji wpływa na łatwość utrzymania i skalowalność projektu w miarę rozwoju strony internetowej. W praktyce stosowanie stylów lokalnych powinno być ograniczone do minimum ze względu na trudności w zarządzaniu i potencjalne konflikty z innymi stylami w większych projektach.

Pytanie 26

W formularzu dane z pola input o typie number zostały przypisane do zmiennej a, a następnie przetwarzane w skrypcie JavaScript w następujący sposób:

var x = parseFloat(a);
Jaki typ będzie miała zmienna x?
A. zmiennoprzecinkowego
B. napisowego
C. liczbowego, całkowitego
D. NaN
Typowe błędy myślowe mogą prowadzić do mylnego rozumienia, że zmienna x mogłaby przyjąć postać NaN, czyli "Not-a-Number". NaN pojawia się, gdy operacje matematyczne są wykonywane na danych, które nie mogą być zinterpretowane jako liczby. Jednakże w kontekście użycia funkcji parseFloat(), jeśli a nie zawiera prawidłowej liczby, to wynikiem będzie NaN, ale nie oznacza to, że z definicji x zawsze będzie NaN. Istnieje również przekonanie, że parseFloat() może zwrócić typ napisowy. W rzeczywistości, funkcja ta zawsze stara się zwrócić typ liczbowy - w przypadku błędnych danych wynik będzie NaN, a nie typem string. Z kolei odpowiedź, że zmienna x będzie liczbą całkowitą jest myląca, ponieważ parseFloat() specjalizuje się w konwersji na liczby zmiennoprzecinkowe, a nie całkowite. W JavaScript, liczby całkowite także są traktowane jako liczby zmiennoprzecinkowe, co może wprowadzać w błąd. Aby zrozumieć, jak działa konwersja typów w JavaScript, warto zaznajomić się z zasadami typowania dynamicznego oraz metodami konwersji danych, takimi jak parseInt() dla liczb całkowitych. Przykłady poprawnych i niepoprawnych danych wejściowych mogą wyjaśnić, dlaczego zrozumienie typów danych i konwersji jest kluczowe w programowaniu.

Pytanie 27

Zidentyfikuj styl CSS, który doprowadził do uzyskania pokazanego efektu.

Ilustracja do pytania
A. Styl 2
B. Styl 3
C. Styl 4
D. Styl 1
W przypadku Styl 1 zastosowanie border-radius: 10% nie jest wystarczające do uzyskania pełnego zaokrąglenia prowadzącego do kształtu koła w przypadku kwadratowego obrazu. Wartość procentowa 10% oznacza, że promień zaokrąglenia wynosi 10% szerokości lub wysokości elementu, co na ogół skutkuje jedynie delikatnym zaokrągleniem narożników. Styl 3 z kolei próbuje uzyskać efekt okrągły stosując border o wartości 50% jednakże jest to błędne podejście ponieważ wartość ta nie odnosi się do faktycznego promienia zaokrąglenia a jedynie do szerokości i koloru obramowania elementu. To nie wpływa na kształt wewnętrzny elementu jedynie na jego zewnętrzny kontur co nie zmienia formy obrazu na okrągłą. Styl 4 używa właściwości shape: circle co jest błędne w kontekście CSS gdyż taka właściwość nie istnieje w specyfikacji CSS dla zmiany kształtu elementów graficznych. Takie podejście może wynikać z mylnego zrozumienia specyfikacji CSS lub z błędnego użycia właściwości specyficznych dla SVG lub CSS Shapes które nie działają w ten sposób w kontekście tagu img. Kluczowe jest dokładne zrozumienie działania i specyfiki właściwości CSS aby prawidłowo je stosować tworząc estetyczne i funkcjonalne projekty webowe.

Pytanie 28

Jakie wyrażenie należy umieścić w miejsce ??? w pętli napisanej w języku C++, aby na ekranie zostały wyświetlone wyłącznie elementy tablicy tab?

int tab[6];
for (int i = 0; ???; i++)
    cout << tab[i];
A. i < 6
B. i <= 6
C. i >= 6
D. i > 6
Niepoprawne wybory wyrażenia warunkowego w pętli for mogą prowadzić do różnych problemów, z których głównym jest przekroczenie zakresu tablicy, co jest powszechnym błędem w programowaniu w językach takich jak C++. Błędne zastosowanie warunku i >= 6 spowodowałoby, że pętla nie wykonałaby się ani razu, ponieważ początkowa wartość i wynosi 0, co nie spełnia tego warunku. Warunek i <= 6 może wydawać się poprawny, ponieważ uwzględnia indeks 6, jednak indeks ten wykracza poza zakres tablicy posiadającej 6 elementów (z indeksami od 0 do 5), co prowadziłoby do błędu out-of-bounds. Warunek i > 6 również jest błędny, ponieważ nigdy nie zostanie spełniony przy początkowej wartości i równej 0, a pętla tym samym się nie wykona. Typowe błędy myślowe prowadzące do takich wyborów wynikają z nieprawidłowego rozumienia indeksowania tablic oraz zakresu pętli. Ważne jest, aby dokładnie przeanalizować, jak indeksy są przypisywane w tablicach i dostosować warunki pętli, aby zawsze mieściły się w poprawnym zakresie. Aby uniknąć takich błędów, zaleca się stosowanie podejścia, które uwzględnia długość tablicy i iteruje do mniejszej wartości niż jej rozmiar. Tego typu prewencja nie tylko zwiększa stabilność programu, ale również jego bezpieczeństwo, eliminując ryzyko naruszenia pamięci programu i potencjalnych podatności bezpieczeństwa.

Pytanie 29

Wykonanie zapytania SQL spowoduje skasowanie

DELETE FROM mieszkania WHERE status = 1;
A. rekordów, w których wartość pola status jest równa 1, z tabeli mieszkania
B. elementów o nazwie status z tabeli mieszkania
C. tabeli mieszkania znajdującej się w bazie danych
D. tabel, w których wartość pola status wynosi 1, z bazy danych mieszkania
Odpowiedź wskazująca na usunięcie rekordów, w których pole status jest równe 1, z tabeli mieszkania jest poprawna ponieważ w zapytaniu SQL użyto składni DELETE, która jest odpowiedzialna za usuwanie danych z określonej tabeli. W kontekście tego zapytania, po słowie 'FROM' znajduje się nazwa tabeli, czyli 'mieszkania', a warunek 'WHERE status = 1' precyzuje, które rekordy mają zostać usunięte. Przykładowo, jeśli w tabeli mieszkania znajdują się mieszkania oznaczone jako dostępne (status = 1), to po wykonaniu tego zapytania wszystkie takie mieszkania zostaną trwale usunięte z bazy danych. Ważne jest, aby przed wykonaniem zapytania DELETE rozważyć konieczność wykonania kopii zapasowej danych, aby zapobiec ich nieodwracalnej utracie. Dobrą praktyką jest również stosowanie zapytania SELECT z tym samym warunkiem, aby najpierw zweryfikować, które rekordy zostaną usunięte. Tego rodzaju podejście umożliwia lepsze zarządzanie danymi oraz redukuje ryzyko pomyłek podczas operacji na bazach danych.

Pytanie 30

Kod programu wraz z komentarzami oraz opisem algorytmów i metod stanowi dokumentację

A. audiowizualną.
B. techniczną.
C. urzędową.
D. graficzną.
W tym pytaniu sedno sprawy leży w zrozumieniu, do kogo jest kierowana dana dokumentacja i jaki ma cel. Kod programu z komentarzami oraz opisem algorytmów i metod to materiał przeznaczony głównie dla osób technicznych: programistów, inżynierów, czasem administratorów. To nie jest dokument tworzony z myślą o promocji, urzędach czy użytkownikach końcowych, tylko o tych, którzy będą kod czytać, modyfikować, optymalizować. I właśnie dlatego klasyfikuje się go jako dokumentację techniczną. Częsty błąd polega na myleniu rodzaju dokumentacji z formą jej prezentacji. Dokumentacja graficzna kojarzy się z rysunkami, diagramami, makietami interfejsu, layoutem strony, może z mockupami w Figmie. Oczywiście w dokumentacji technicznej mogą występować elementy graficzne, jak diagram UML czy schemat sieci, ale sam fakt użycia grafiki nie zmienia jej charakteru – nadal opisuje techniczne aspekty systemu, a nie jest osobnym typem dokumentacji „graficznej” w sensie odpowiedzi z pytania. Podobnie jest z dokumentacją urzędową. Ten termin odnosi się raczej do pism, umów, decyzji administracyjnych, regulaminów czy formalnych protokołów. To dokumenty, które mają znaczenie prawne lub administracyjne, a nie techniczne. Kod z komentarzami i opisem algorytmów nie służy do załatwiania spraw w urzędzie, tylko do utrzymania i rozwoju oprogramowania. Mylenie tych pojęć wynika często z tego, że słowo „urzędowa” brzmi poważnie, ale w informatyce ma zupełnie inne znaczenie niż „techniczna”. Jeśli chodzi o dokumentację audiowizualną, to tutaj też łatwo się pomylić, bo wiele materiałów szkoleniowych ma formę wideo, screencastów czy nagrań z prezentacji. Tyle że nagranie wideo, nawet bardzo szczegółowe, to tylko forma przekazu. Gdyby opis algorytmu był nagrany na filmie, dalej mówilibyśmy o treści technicznej, a nie o „dokumencie audiowizualnym” w sensie klasyfikacji użytej w tym teście. W pytaniu chodziło o typ merytoryczny dokumentacji, a nie o to, czy coś jest obrazkiem, filmem czy tekstem. Z mojego doświadczenia typowy błąd przy takich zadaniach to skupianie się na słowie, które kojarzy się „ładnie” albo brzmi nowocześnie, zamiast zastanowić się, kto będzie z tej dokumentacji korzystał i co dokładnie ona opisuje. Jeśli materiały opisują strukturę kodu, algorytmy, metody, interfejsy – prawie zawsze mówimy o dokumentacji technicznej, niezależnie od tego, czy jest ona w PDF, na wiki, w komentarzach w kodzie, czy nawet nagrana jako film instruktażowy.

Pytanie 31

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

A. ALTER TABLE pracownicy SET plec='K' WHERE imie LIKE '%a';
B. UPDATE pracownicy SET plec='K' WHERE imie='%a';
C. UPDATE pracownicy SET plec='K' WHERE imie LIKE '%a';
D. ALTER TABLE pracownicy SET plec='K' WHERE imie='%a';
W tym zadaniu łatwo się potknąć na dwóch rzeczach: pomyleniu operacji na strukturze tabeli z operacjami na danych oraz na nieprawidłowym użyciu wzorca tekstowego. W SQL istnieje dość wyraźny podział na instrukcje służące do definiowania struktury bazy (DDL) oraz te, które manipulują rekordami (DML). ALTER TABLE należy do tej pierwszej grupy. Używa się go do dodawania kolumn, zmiany typu danych, ustawiania kluczy obcych, czasem indeksów. Nie ma on mechanizmu typu SET kolumna='wartość' z warunkiem WHERE, który modyfikuje poszczególne wiersze. Próba napisania ALTER TABLE ... SET plec='K' WHERE imie LIKE '%a' po prostu nie jest zgodna ze składnią SQL i nie zadziała w żadnym normalnym systemie bazodanowym. Drugi typ błędu dotyczy użycia WHERE imie='%a'. W wielu językach programowania znak % kojarzy się z operacjami na łańcuchach albo z formatowaniem, ale w czystym SQL porównanie z operatorem = oznacza ścisłą równość, bez żadnych wildcardów. Wyrażenie imie = '%a' oznacza: imie ma być dokładnie dwuznakowym ciągiem składającym się z procenta i litery „a”. Żadne „dowolne znaki przed a” się tu nie pojawiają. Do dopasowywania wzorców tekstowych służy operator LIKE, a dopiero przy LIKE znaczek % ma specjalne znaczenie – „dowolny ciąg znaków”. To jest bardzo typowe nieporozumienie: ktoś pamięta, że w LIKE używa się % i _ jako wildcardów, i odruchowo wrzuca % także przy zwykłym =. Z mojego doświadczenia wynika, że dobrym nawykiem jest rozdzielenie w głowie: UPDATE + SET + WHERE – do zmiany danych; ALTER TABLE – tylko do zmian struktury. A przy wyszukiwaniu tekstów: jeśli chcę sztywne porównanie, używam =, jeśli szukam po fragmencie, używam LIKE z % (wieloznak) lub _ (pojedynczy znak). W praktyce webowej błędne użycie tych konstrukcji może prowadzić do sytuacji, że kwerenda nic nie zwraca albo nie aktualizuje żadnego rekordu, a programista długo szuka błędu np. po stronie PHP czy JavaScript, zamiast zacząć od samego SQL-a. Warto też pamiętać, że aktualizacje bez poprawnego WHERE są niebezpieczne, bo mogą zmienić wszystkie rekordy w tabeli, więc warunek oparty na właściwie użytym LIKE jest kluczowy zarówno dla poprawności, jak i bezpieczeństwa danych.

Pytanie 32

Na temat zmiennej predefiniowanej $_POST w języku PHP możemy stwierdzić, że

A. jest rozwiniętą wersją tablicy $_SESSION
B. zawiera dane przesłane do skryptu z formularza
C. zawiera informacje bezpośrednio przesłane do skryptu z ciasteczka
D. jest repliką tablicy $_COOKIE
Predefiniowana zmienna $_POST w PHP pełni zupełnie inną rolę niż sugerują nieprawidłowe odpowiedzi. Nie jest ona związana z ciasteczkami ani nie zawiera ich kopii, co jest błędnym założeniem. Ciasteczka są przechowywane po stronie klienta i mają na celu zapamiętywanie informacji między sesjami użytkownika, co różni się od tymczasowego przesyłania danych formularza. Dodatkowo, zmienna $_POST nie ma nic wspólnego z tablicą $_COOKIE. $_COOKIE jest tablicą asocjacyjną, która przechowuje dane, przesyłane przez przeglądarkę w ciasteczkach, a jej rola jest zupełnie inna niż $_POST. Kolejne nieporozumienie dotyczy porównania $_POST z tablicą $_SESSION. $_SESSION jest używana do przechowywania danych sesyjnych po stronie serwera, podczas gdy $_POST służy do przesyłania danych z formularzy w momencie ich wysłania. Tego rodzaju błędne podejście może prowadzić do nieporozumień w projektowaniu aplikacji webowych, ponieważ zrozumienie mechanizmu działania tych zmiennych jest kluczowe dla prawidłowego przetwarzania danych oraz zapewnienia bezpieczeństwa aplikacji. W dobrych praktykach programistycznych ważne jest, aby zawsze oddzielać różne źródła danych i zrozumieć ich specyfikę, co zapobiega wprowadzaniu błędnych koncepcji w projektach.

Pytanie 33

Podaj nazwę Systemu Zarządzania Treścią, którego logo jest widoczne na zamieszczonym rysunku?

Ilustracja do pytania
A. WordPress
B. MediaWiki
C. Joomla!
D. Drupal
Podczas wyboru systemu zarządzania treścią istotne jest zrozumienie różnic między różnymi platformami. Drupal jest potężnym CMS-em często wybieranym do budowy złożonych stron gdzie wymagane są skomplikowane struktury danych i zaawansowana kontrola uprawnień użytkowników. Jednak jego zaawansowane funkcje mogą sprawić że krzywa uczenia się będzie bardziej stroma szczególnie dla początkujących użytkowników. Drupal jest jednak doskonałym wyborem dla dużych organizacji które potrzebują niezawodności i skalowalności. Z kolei WordPress jest najbardziej popularnym CMS-em na świecie znanym ze swojej prostoty i ogromnej liczby dostępnych wtyczek i motywów co czyni go idealnym wyborem dla blogów i prostych stron internetowych. Jego przystępność i łatwość użycia sprawiają że jest on preferowany przez początkujących ale może być niewystarczający dla bardziej rozbudowanych projektów. MediaWiki to platforma stworzona dla projektów typu wiki i jest najlepiej znana z napędzania Wikipedii. Jej funkcje są skoncentrowane na umożliwieniu wielu użytkownikom współpracy i edycji treści co czyni ją mniej odpowiednią dla tradycyjnych stron internetowych. Typowym błędem podczas wyboru CMS-a jest kierowanie się wyłącznie popularnością zamiast analizowania specyficznych potrzeb projektu i odpowiednich funkcji jakie oferuje dany CMS. Dlatego kluczowe jest zrozumienie że wybór CMS-a powinien być podyktowany konkretnymi wymaganiami dotyczącymi funkcjonalności i zarządzania treścią.

Pytanie 34

Jakie znaki będą przechowywane w zmiennej $napis po uruchomieniu poniższego kodu PHP?

$napis = "Programowanie w PHP";
$napis = substr($napis, 3, 5);
A. ogram
B. gramo
C. og
D. gr
Gratulacje, dobrze zrozumiałeś działanie funkcji substr w języku PHP. Ta funkcja jest używana do wyodrębnienia części ciągu znaków. W tym przypadku, wyodrębnienia 5 znaków zaczynając od czwartego znaku (indeks 3) w napisie. W rezultacie, otrzymujemy ciąg 'gramo'. Warto zwrócić uwagę, że indeksowanie w PHP (podobnie jak w większości języków programowania) zaczyna się od zera, a nie od jeden. Dlatego 'czwarty' znak ma indeks 3. Używanie funkcji substr jest częstą praktyką przy manipulacji ciągami znaków w PHP, więc zrozumienie jej działania jest bardzo ważne. Przykładowo, jeżeli chcemy wyodrębnić fragment tekstu od pewnego miejsca do końca, możemy tego dokonać nie podając trzeciego parametru funkcji substr.

Pytanie 35

Wskaż polecenie, które działa identycznie jak instrukcja while w PHP.

$x = 0;
while($x < 5) {
    echo "$x,";
    $x++;
}

Instrukcja 1
for ($x=0; $x<5; $x++) {
    echo "$x,";
    $x++;
}

Instrukcja 2
for ($x=0; $x<5; $x+=2) {
    echo "$x,";
    $x++;
}

Instrukcja 3

for ($x=0; $x<5; $x++) {
    echo "$x,";
}

Instrukcja 4
for ($x=1; $x<=5; $x++) {
    echo "$x,";
}
A. Instrukcja 4
B. Instrukcja 2
C. Instrukcja 3
D. Instrukcja 1
Niepoprawne odpowiedzi wynikają z błędnego zrozumienia struktury pętli for w JavaScript i jej porównania z pętlą while. Pętla while działa na zasadzie ciągłego sprawdzania warunku przed każdą iteracją co oznacza że pętla będzie się wykonywać dopóki warunek jest spełniony. W przypadku pętli for wszystkie elementy sterujące takie jak inicjalizacja warunek i inkrementacja są zdefiniowane w jednej linii. Dlatego ważne jest aby odpowiednio zrozumieć jak te elementy wpływają na wykonanie pętli. Błędy mogą pojawić się gdy warunek lub inkrementacja nie są właściwie zdefiniowane co może prowadzić do nieskończonych pętli lub nieoczekiwanych wyników. Dobre praktyki programistyczne wskazują że pętla for jest preferowana w sytuacjach gdzie liczba iteracji jest znana co zwiększa czytelność kodu i ułatwia jego utrzymanie. Zrozumienie błędów wynikających z niepoprawnej struktury pętli pozwala unikać typowych problemów takich jak niepoprawne warunki czy błędne przypisania co jest kluczowe w skutecznym programowaniu.

Pytanie 36

Model fizyczny replikacji bazy danych pokazany na ilustracji to model

Ilustracja do pytania
A. równorzędny
B. rozproszony
C. centralnego wydawcy
D. centralnego subskrybenta
Równorzędny model replikacji zakłada że wszystkie serwery w sieci mają taką samą rolę i mogą zarówno publikować jak i subskrybować dane co prowadzi do bardziej skomplikowanego zarządzania danymi ze względu na konieczność rozwiązywania konfliktów i synchronizacji zmian w różnych lokalizacjach W przeciwieństwie do modelu centralnego wydawcy ten model nie oferuje centralnego punktu kontroli co może prowadzić do problemów z jednolitością danych W modelu rozproszonym natomiast dane są dzielone między różnymi serwerami co może być przydatne w systemach o dużej skali ale wymaga bardziej złożonej architektury sieci oraz zaawansowanych mechanizmów synchronizacji i redundancji danych Model centralnego subskrybenta z kolei działa odwrotnie do centralnego wydawcy gdzie wiele serwerów publikuje dane do jednego subskrybenta co nie jest praktyczne w większości scenariuszy biznesowych ponieważ ogranicza przepływ informacji i może prowadzić do wąskich gardeł Decyzja o wyborze odpowiedniego modelu replikacji powinna opierać się na potrzebach organizacji oraz specyfice infrastruktury technicznej zastosowanej w firmie błędne zrozumienie tej koncepcji może prowadzić do nieefektywnego działania systemu oraz problemów z dostępnością i bezpieczeństwem danych

Pytanie 37

Liczba 0x142, przedstawiona w skrypcie JavaScript, jest zapisywana w postaci

A. dziesiętnej
B. ósemkowej
C. dwójkowej
D. szesnastkowej
Liczba 0x142 jest zapisana w formacie szesnastkowym, co oznacza, że jest to reprezentacja liczby w systemie liczbowym o podstawie 16. W systemie szesnastkowym używa się cyfr od 0 do 9 oraz liter od A do F, gdzie A reprezentuje 10, B 11, C 12, D 13, E 14, a F 15. Aby przekonwertować tę liczbę na bardziej powszechny system dziesiętny, można zastosować wzór: 1*16^2 + 4*16^1 + 2*16^0, co daje wynik 256 + 64 + 2 = 322. W JavaScript, liczby szesnastkowe są często używane w kontekście kolorów (np. #FF5733) czy adresów pamięci. Użycie prefiksu '0x' jest standardową konwencją w wielu językach programowania do wskazania, że dana liczba jest zapisana w systemie szesnastkowym. Przykładem zastosowania może być definicja kolorów w CSS, gdzie zapis szesnastkowy jest powszechnie stosowany do określenia wartości RGB.

Pytanie 38

Jak nazywa się platforma wspierająca rozwój oprogramowania w technologii .NET?

A. framework
B. db2
C. middleware
D. eclipse
Wybór db2, eclipse oraz middleware jako odpowiedzi na pytanie o platformę wspierającą programowanie w technologii .NET jest niepoprawny z kilku powodów. Db2 to system zarządzania bazami danych, który jest używany do przechowywania i zarządzania danymi w aplikacjach, ale sam w sobie nie dostarcza środowiska ani narzędzi do programowania. Jest to technologia związana z bazami danych, a nie z frameworkami do tworzenia aplikacji. Eclipse to środowisko zintegrowane (IDE), które obsługuje różne języki programowania, ale jego głównym celem jest umożliwienie programistom pisania kodu, a nie dostarczanie specyficznych bibliotek czy narzędzi dla platformy .NET. Chociaż Eclipse może być używane do pracy z technologią .NET poprzez odpowiednie wtyczki, to nie jest to platforma natywna dla .NET, jakim jest .NET Framework. Middleware to termin odnoszący się do oprogramowania, które działa pomiędzy różnymi aplikacjami lub systemami, umożliwiając komunikację i zarządzanie danymi. Nie jest to jednak framework do programowania, a raczej kategoria oprogramowania, która wspiera interakcje między aplikacjami. Dlatego wszystkie te odpowiedzi są błędne w kontekście pytania o platformę wspierającą programowanie w technologii .NET.

Pytanie 39

W języku JavaScript poniższy fragment funkcji ma na celu

wynik = 0;
for (i = 0; i < tab.length; i++) {
  wynik += tab[i];
}
A. obliczyć sumę wszystkich elementów tablicy
B. wprowadzić do każdego elementu tablicy bieżącą wartość zmiennej i
C. dodać do każdego elementu tablicy ustaloną wartość
D. wyświetlić wszystkie elementy tablicy
Funkcja w podanym fragmencie rzeczywiście ma na celu policzenie sumy wszystkich elementów tablicy. Przy inicjalizacji zmiennej 'wynik' na 0, kod iteruje przez każdy element tablicy 'tab' przy użyciu pętli for. W każdej iteracji do 'wynik' dodawana jest wartość bieżącego elementu tablicy, co prowadzi do skumulowania wszystkich wartości. Tego typu operacje są powszechnie stosowane w programowaniu, szczególnie w analizie danych, gdzie często zachodzi potrzeba obliczenia sumy, średniej lub innych statystyk na podstawie zebranych danych. Ważne jest również, aby pamiętać o typach danych w JavaScript – elementy tablicy powinny być liczbami, aby suma była poprawna. Zastosowanie tej techniki jest standardem w wielu algorytmach i jest fundamentalne dla zrozumienia bardziej zaawansowanych koncepcji, jak np. funkcje redukujące.

Pytanie 40

Wbudowanym w pakiet XAMPP narzędziem służącym do zarządzania bazą danych jest

A. SQLite
B. phpMyAdmin
C. pgAdmin
D. MySQL Workbench
W tym pytaniu łatwo się pomylić, bo wszystkie podane nazwy są w jakiś sposób związane z bazami danych, ale tylko jedna z nich jest faktycznie wbudowana w XAMPP jako standardowe narzędzie. XAMPP to pakiet, który ma ułatwić uruchomienie lokalnego środowiska serwerowego (Apache, PHP, MySQL/MariaDB itd.) jednym instalatorem. Jego celem jest „postawienie” gotowego stosu webowego na komputerze programisty. Z tego powodu twórcy XAMPP dołączyli phpMyAdmin, bo jest lekkie, webowe i napisane w PHP, więc idealnie pasuje do tego ekosystemu. MySQL Workbench bywa mylony z narzędziami w XAMPP, bo też służy do zarządzania MySQL, ale jest to osobna, natywna aplikacja instalowana oddzielnie, dostarczana przez Oracle. Nie jest częścią XAMPP, nie uruchamia się z panelu XAMPP i nie działa w przeglądarce. To bardziej rozbudowane środowisko do projektowania schematów, administrowania serwerami MySQL, analizowania wydajności. Dla wielu początkujących wygląda „profesjonalniej”, ale w typowej instalacji XAMPP go po prostu nie ma. pgAdmin z kolei jest narzędziem do zarządzania PostgreSQL, a XAMPP domyślnie korzysta z MySQL/MariaDB, nie z PostgreSQL. Stąd pgAdmin nie ma żadnego naturalnego powiązania z XAMPP, występuje raczej w pakietach, które celują w środowisko PostgreSQL (np. instalatory Postgresa). Wybranie tej odpowiedzi zwykle wynika z myślenia: „to jakieś narzędzie do bazy, więc pewnie będzie pasować”, ale tu trzeba zwracać uwagę na konkretny silnik bazy danych. SQLite natomiast nie jest nawet narzędziem administracyjnym, tylko samym silnikiem bazy danych, w dodatku wbudowanym, plikowym. Można z niego korzystać w PHP, ale nie ma tu mowy o tym, że byłby to graficzny panel w XAMPP. Typowy błąd polega na wrzuceniu do jednego worka „wszystko co ma coś wspólnego z bazami” i zakładaniu, że to będzie interfejs do zarządzania. W praktyce warto rozróżniać: silnik bazy (MySQL, MariaDB, PostgreSQL, SQLite) od narzędzia klienckiego/administracyjnego (phpMyAdmin, MySQL Workbench, pgAdmin). W XAMPP, jako narzędzie wbudowane, występuje właśnie phpMyAdmin i to jego nazwę trzeba kojarzyć bezpośrednio z tym pakietem.