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 11:42
  • Data zakończenia: 28 kwietnia 2026 12:38

Egzamin niezdany

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

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

W JavaScript, aby wyodrębnić fragment tekstu pomiędzy wskazanymi indeksami, powinno się zastosować metodę

A. slice()
B. replace()
C. concat()
D. trim()
Wybór innych metod do manipulacji ciągami tekstowymi sugeruje niezrozumienie ich właściwości. Metoda trim() służy do usuwania białych znaków z początku i końca napisu, co nie ma nic wspólnego z wydobywaniem fragmentów. Użytkownicy mogą mylnie sądzić, że trim() jest przydatna do ekstrakcji, jednak jej zastosowanie jest zupełnie inne i polega na oczyszczaniu danych. Metoda concat() łączy dwa lub więcej ciągów tekstowych, co również nie odpowiada na potrzebę wydobywania podciągu. Zrozumienie, że concat() nie jest odpowiedzią na pytanie o wydobycie fragmentu, jest kluczowe dla efektywnego korzystania z języka JavaScript. Z kolei replace() służy do zamiany określonego fragmentu tekstu na inny, co może wprowadzać w błąd, gdyż nie wydobywa fragmentów, lecz je modyfikuje. Użytkownicy mogą mylić te metody, nie dostrzegając różnic między modyfikacją a wydobywaniem, co jest istotne w kontekście manipulacji danymi. Ważne jest, aby rozumieć specyfikę każdej metody oraz jej zastosowanie w codziennym programowaniu, co pozwala na efektywniejsze i bardziej precyzyjne pisanie kodu w JavaScript.

Pytanie 2

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

var osoba = prompt("Podaj imię", "Adam");
A. wyświetlenie okna z pustym polem edycyjnym.
B. pobranie z formularza wyświetlonego na stronie HTML imienia "Adam".
C. bezpośrednie wpisanie do zmiennej osoba wartości "Adam".
D. wyświetlenie okna z polem edycyjnym, w którym jest wpisany domyślny tekst "Adam".
Twoja odpowiedź jest poprawna. W JavaScript metoda prompt() służy do wyświetlenia okna dialogowego z polem tekstowym dla użytkownika. Pierwszy argument metody to wiadomość, która jest wyświetlana w oknie dialogowym, natomiast drugi argument to domyślna wartość, jaka jest wpisana w polu tekstowym. W przypadku podanego kodu, drugi argument to 'Adam', co oznacza, że w polu edycyjnym domyślnie będzie wpisany tekst 'Adam'. Metoda ta jest często stosowana do zbierania od użytkownika informacji w prosty i szybki sposób. Pamiętaj jednak, że nie jest to bezpieczny sposób przekazywania danych, ponieważ informacje wpisane przez użytkownika mogą być łatwo przechwycone przez nieautoryzowane osoby.

Pytanie 3

Na ilustracji widoczne są dwie tabele. Aby stworzyć relację jeden do wielu, gdzie jeden jest po stronie Klienci, a wiele po stronie Zamowienia, należy

Ilustracja do pytania
A. Wprowadzić pole klucza obcego do tabeli Klienci i połączyć je z ID tabeli Zamowienia
B. Wprowadzić pole klucza obcego do tabeli Zamowienia i połączyć je z ID tabeli Klienci
C. Połączyć relacją pola ID z obu tych tabel
D. Utworzyć trzecią tabelę z dwoma kluczami obcymi. Jeden klucz połączyć z ID tabeli Klienci, a drugi z ID tabeli Zamowienia
Relacja jeden do wielu polega na tym że jedna wartość z jednej tabeli może być związana z wieloma wartościami w innej tabeli W tym przypadku jeden klient może mieć wiele zamówień co oznacza że musimy dodać pole klucza obcego w tabeli Zamowienia które będzie odnosiło się do Klientów Klucz obcy w bazach danych to pole które odwołuje się do klucza głównego w innej tabeli Dobre praktyki projektowania baz danych sugerują aby takie połączenia realizować za pomocą kluczy obcych co pozwala na utrzymanie integralności danych oraz łatwiejsze ich przetwarzanie W praktyce oznacza to że w tabeli Zamowienia dodajemy pole które przechowuje ID z tabeli Klienci Standardy branżowe jak SQL ANSI określają sposób tworzenia takich relacji co zapewnia kompatybilność z większością systemów zarządzania bazami danych Dzięki temu możemy łatwo uzyskać wszystkie zamówienia przypisane do konkretnego klienta co jest funkcjonalnością często wymaganą w aplikacjach biznesowych

Pytanie 4

W zaprezentowanej części formularza HTML znajduje się pole, które można określić jako?

<input type="password" name="pole">
A. wyświetla wprowadzone znaki.
B. ukrywa wprowadzone znaki.
C. pozwala na wprowadzanie jedynie wartości liczbowych.
D. domyślnie posiada wpisany tekst "pole".
Twoja odpowiedź jest właściwa. W tym fragmencie formularza HTML mamy pole <i>input</i>, które wprowadzone znaki ukrywa. To dzięki atrybutowi 'type="password"' w elemencie <i>input</i>. W HTML atrybut 'type' mówi nam, jaki typ danych użytkownik może wprowadzić do tego pola. Jak masz 'password', to wpisane rzeczy są zasłonięte symbolami, jak np. gwiazdki czy kropki, żeby chronić dane użytkownika. To standardowa sprawa, szczególnie dla haseł i innych ważnych informacji, żeby nikt ich nie zobaczył. Pamiętaj, że takie pola powinny być zawsze dobrze oznaczone i zabezpieczone, to ważne dla bezpieczeństwa.

Pytanie 5

Która funkcja edytora grafiki wektorowej spowoduje przekształcenie z przedstawionych po lewej stronie figur koła i prostokąta do figury półkola widocznej po prawej stronie?

Ilustracja do pytania
A. Podział.
B. Część wspólna.
C. Wykluczenie.
D. Różnica.
W grafice wektorowej operacje na kształtach, takie jak Różnica, Podział, Wykluczenie czy Część wspólna, to tzw. operacje boole’owskie. One nie są losowe – każda z nich ma bardzo konkretne, matematyczne znaczenie. Typowy błąd polega na tym, że patrzymy tylko na „intuicyjną” nazwę funkcji, a nie na to, co faktycznie dzieje się z obszarami wypełnienia. Różnica (ang. Subtract / Difference) polega na tym, że jedna figura „wycina” fragment z drugiej. Gdyby w naszym przykładzie użyć różnicy, to z jednej figury zostałby usunięty fragment zajmowany przez drugą. W efekcie dostalibyśmy kształt przypominający np. prostokąt z zaokrąglonym wycięciem, a nie pełne półkole. To przydaje się np. do robienia otworów, ramek, ikon z „dziurą”, ale nie do budowy półkola. Podział (ang. Divide / Fragment) dzieli obszar wszędzie tam, gdzie kształty się przecinają, na kilka osobnych obiektów. Wizualnie może to chwilowo wyglądać podobnie, ale końcowy efekt to kilka fragmentów, które trzeba ręcznie usuwać lub scalać. W testowym zadaniu chodzi o jedną, gotową figurę półkola, bez dodatkowego sprzątania, więc to nie jest optymalna operacja. Wykluczenie (ang. Exclude / XOR) działa odwrotnie do części wspólnej – usuwa obszar nakładania się, a zostawia tylko to, co jest „na zewnątrz” przecięcia. Gdyby użyć wykluczenia na kole i prostokącie, środek, czyli miejsce ich wspólnego nakładania, zniknie, a zostaną dwa osobne dziwne kształty po bokach. To dobra funkcja do tworzenia bardziej dekoracyjnych, ażurowych form, ale kompletnie nie nadaje się do uzyskania klasycznego półkola. W tym zadaniu kluczowe jest zrozumienie, że półkole jest dokładnie tym obszarem, gdzie koło i prostokąt się pokrywają. Stąd jedynie „Część wspólna” daje czysty, poprawny efekt bez dodatkowej obróbki. Warto przy takich pytaniach wyobrażać sobie, które fragmenty zostaną, a które zostaną usunięte, zamiast sugerować się tylko nazwą funkcji w menu programu.

Pytanie 6

Polecenie DBCC CHECKDB 'sklepAGD', Repair_fast) w systemie MS SQL Server

A. zweryfikuje spójność danej tabeli oraz naprawi uszkodzone rekordy
B. sprawdzi spójność bazy danych i naprawi uszkodzone indeksy
C. potwierdzi spójność bazy danych i utworzy kopię zapasową
D. zweryfikuje spójność danej tabeli
Odpowiedzi sugerujące, że polecenie DBCC CHECKDB sprawdza spójność jedynie określonej tabeli są nieprecyzyjne, ponieważ w rzeczywistości działa na całej bazie danych. Choć istnieje możliwość sprawdzania poszczególnych tabel za pomocą innych poleceń, DBCC CHECKDB jest narzędziem, które analizuje całą strukturę bazy danych wraz z jej indeksami i danymi. Twierdzenie, że to polecenie jedynie sprawdza spójność bazy danych oraz wykonuje kopię bezpieczeństwa, jest mylące. DBCC CHECKDB nie tworzy kopii zapasowych, a jego głównym celem jest identyfikacja i raportowanie błędów, co jest kluczowe w kontekście utrzymania zdrowia bazy danych. Użytkownicy mogą zatem błędnie zakładać, że polecenie zapewnia automatyczną naprawę danych, co w rzeczywistości wymaga zastosowania dodatkowych opcji naprawy, takich jak Repair_fast lub Repair_rebuild. Ponadto, niektóre odpowiedzi wskazują na naprawę uszkodzonych rekordów, co nie jest precyzyjne, ponieważ DBCC CHECKDB zajmuje się głównie naprawą indeksów oraz strukturalnych problemów w bazie danych, a nie pojedynczych rekordów. Rzetelne zrozumienie tych różnic jest kluczowe dla skutecznego zarządzania bazą danych i unikania nieporozumień dotyczących działania narzędzi diagnostycznych w MS SQL Server.

Pytanie 7

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:hover { background-color: Pink; }
B. tr:active { background-color: Pink; }
C. td, th { background-color: Pink; }
D. tr { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 8

Jakiego wyniku można się spodziewać po wykonaniu zapytania na przedstawionej tabeli?

SELECTCOUNT(DISTINCT wykonawca)
FROM`muzyka`;
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzesław Niemen2005Przyjdź W Taka Noc itp.
2IkonaStan Borys2014
3AerolitCzesław Niemen2017Winylowa reedycja płyty "Aerolit"
4JourneyMikołaj Czechowski2013
A. 0
B. 1
C. 3
D. 4
Zapytanie SELECT COUNT(DISTINCT wykonawca) FROM muzyka; ma na celu zliczenie unikalnych wykonawców w tabeli muzyka. Kluczowym błędem jest brak zrozumienia działania funkcji DISTINCT która eliminuje duplikaty i pozwala na zliczenie jedynie różniących się wartości. Należy zatem odrzucić wszelkie odpowiedzi sugerujące liczbę większą niż 3 ponieważ w tabeli są obecne tylko trzy unikalne wartości w kolumnie wykonawca: Czesław Niemen Stan Borys oraz Mikołaj Czechowski. Często popełnianym błędem jest mylne założenie że każda unikalna wartość w konkretnej kolumnie powinna być liczona wielokrotnie co odbiega od celu analizy unikalności danych. W kontekście administracji bazami danych i analizy SQL zrozumienie funkcji DISTINCT jest kluczowe dla dokładności raportowania i optymalizacji wydajności zapytań. Wiedza o tym jak działa COUNT w połączeniu z DISTINCT pomaga w skutecznym projektowaniu zapytań w celu uzyskania dokładnych wyników. Zastosowanie tej wiedzy jest niezbędne w analizie danych biznesowych i przy tworzeniu precyzyjnych raportów dla różnych interesariuszy. Poprawne zrozumienie i implementacja tego mechanizmu wspiera efektywne zarządzanie danymi i podejmowanie decyzji opartych na faktach. Przygotowanie do egzaminu powinno obejmować praktyczne zastosowanie tych koncepcji co ułatwi ich intuicyjne wykorzystanie w sytuacjach zawodowych.

Pytanie 9

Dane są zapisy w tabeli uczniowie, które zostały przedstawione na rysunku. Jaki będzie rezultat wykonania podanego zapytania SQL?

Ilustracja do pytania
A. Wartość 3.5
B. Suma ocen równa 14
C. Dane 4, 3, 4, 3
D. Liczba wierszy równa 4
Zapytanie SQL SELECT AVG(ocena) FROM uczniowie ma na celu obliczenie średniej wartości kolumny ocena w tabeli uczniowie. Średnia arytmetyczna jest obliczana poprzez zsumowanie wszystkich ocen i podzielenie wyniku przez liczbę rekordów. W tym przypadku mamy cztery oceny: 4 3 4 i 3. Suma tych ocen wynosi 14 a liczba rekordów to 4 co daje średnią arytmetyczną równą 3.5. W przypadku baz danych funkcja AVG() jest standardowym sposobem na obliczanie średniej wartości w zestawie danych i jest powszechnie używana w analizie danych gdzie często zachodzi potrzeba określenia centralnej tendencji. Takie podejście pozwala na szybką ocenę ogólnej wydajności lub trendów w zbiorze danych. Praktyczne zastosowanie tego mechanizmu obejmuje analizy biznesowe gdzie przeciętna wartość sprzedaży lub innych metryk może dostarczyć cennych informacji. Warto również podkreślić że AVG() ignoruje wartości NULL co jest korzystne w analizie zestawów danych o niepełnych wpisach.

Pytanie 10

W języku PHP funkcja trim służy do

A. porównywania dwóch tekstów i zwracania ich wspólnej części
B. usuwania białych znaków lub innych znaków wymienionych w parametrze z obu końców tekstu
C. określenia długości tekstu
D. redukcji tekstu o zdefiniowaną w parametrze liczbę znaków
Analizując inne odpowiedzi, można zauważyć, że każda z nich opiera się na mylnych założeniach dotyczących funkcji trim. Wyznaczanie długości napisu to funkcjonalność, którą realizuje funkcja strlen. Użytkownicy mogą mylić te dwie funkcje, jednak trim nie zwraca liczby znaków w łańcuchu, a jedynie przekształca jego zawartość poprzez usunięcie białych znaków. Porównywanie dwóch napisów i wypisywanie ich części wspólnej to z kolei funkcjonalność, którą można zrealizować przy pomocy funkcji takich jak strcmp lub strcasecmp, które są dedykowane do porównań łańcuchów i operacji na nich. Pomijając funkcjonalności porównawcze, zrozumienie, że trim nie zmniejsza napisu o wskazaną liczbę znaków, lecz usuwa tylko białe znaki z końców, jest kluczowe dla poprawnego korzystania z tej funkcji. Takie podejście może prowadzić do błędnych interpretacji, gdyż funkcja trim działa na zasadzie operacji na końcach łańcucha, a nie na konkretnych pozycjach. Dlatego istotne jest, aby użytkownicy PHP zdobyli wiedzę na temat specyfikacji poszczególnych funkcji, aby uniknąć takich nieporozumień, co w praktyce ułatwia rozwój i utrzymanie kodu.

Pytanie 11

W systemie baz danych sklepu komputerowego znajduje się tabela o nazwie komputery. Aby stworzyć raport pokazujący dane z tabeli, obejmujący tylko komputery z co najmniej 8 GB pamięci oraz procesorem Intel, można wykorzystać kwerendę

A. SELECT * FROM komputery WHERE procesor = 'Intel' OR pamiec < 8
B. SELECT * FROM komputery WHERE procesor = 'Intel' AND pamiec >= 8;
C. SELECT * FROM komputery WHERE procesor = 'Intel' OR pamiec >= 8;
D. SELECT * FROM komputery WHERE procesor = 'Intel' AND pamiec < 8
Analizując pozostałe odpowiedzi, można zauważyć, że każda z nich zawiera błędy konstrukcyjne, które prowadzą do niewłaściwej logiki w filtracji danych. W pierwszej odpowiedzi, użycie operatora OR sprawia, że kwerenda zwróci komputery, które mają procesor Intel lub mają pamięć RAM mniejszą niż 8 GB. Taka konstrukcja jest problematyczna, ponieważ nie spełnia warunku, że obydwa kryteria muszą być jednocześnie prawdziwe. Podobny problem występuje w drugiej odpowiedzi, gdzie znowu zastosowano operator OR, co również prowadzi do błędnego wyniku. Z kolei w trzeciej odpowiedzi, zastosowanie operatora AND w połączeniu z warunkiem pamiec < 8 ogranicza wyniki do komputerów, które mają procesor Intel, ale jednocześnie mają pamięć RAM poniżej 8 GB, co jest sprzeczne z wymaganiami zadania. Właściwe zrozumienie operatorów logicznych oraz ich zastosowanie w filtracji danych jest kluczowe dla skutecznego tworzenia zapytań SQL. Częstym błędem jest mylenie operatorów OR i AND, co może prowadzić do błędnych interpretacji danych. W kontekście projektowania baz danych i zapytań, ważne jest, aby precyzyjnie określić wymagania dotyczące danych oraz odpowiednio dobierać operatorów, co jest istotne dla zapewnienia dokładności i wydajności zapytań.

Pytanie 12

Aby uruchomić kod JavaScript w przeglądarce, konieczne jest

A. kompilowanie
B. interpretowanie
C. debugowanie
D. zamiana na kod maszynowy
Wykonanie kodu JavaScript w przeglądarce opiera się na procesie interpretacji, co oznacza, że kod jest analizowany i wykonywany w czasie rzeczywistym przez silnik JavaScript zainstalowany w przeglądarce. W przeciwieństwie do języków programowania kompilowanych, takich jak C++ czy Java, które wymagają wcześniejszego przetworzenia całego kodu na kod maszynowy, JavaScript jest językiem interpretowanym, co pozwala na bezpośrednią interakcję z użytkownikiem i dynamiczną aktualizację treści na stronie. Silnik JavaScript, jak V8 w Google Chrome, przetwarza kod źródłowy linia po linii, co umożliwia natychmiastowe wykonanie skryptów. Dzięki temu, zmiany w kodzie JavaScript można natychmiast zobaczyć na stronie bez potrzeby ponownego kompilowania całego projektu. Istotne jest także, że interpretacja pozwala na elastyczność w pisaniu kodu, co jest kluczowe w kontekście rozwoju aplikacji webowych. Zrozumienie procesu interpretacji jest fundamentalne dla programistów pracujących z JavaScript, ponieważ wpływa na wydajność i sposób, w jaki aplikacje są rozwijane oraz debugowane. Warto również zaznaczyć, że standard ECMAScript określa zasady dotyczące implementacji języka, co czyni interpretację kluczowym elementem w kontekście zgodności i wydajności skryptów.

Pytanie 13

Ile maksymalnie znaczników <td> może być zastosowanych w tabeli, która ma trzy kolumny oraz trzy wiersze, nie zawierając przy tym złączeń komórek i wiersza nagłówkowego?

A. 3
B. 9
C. 12
D. 6
Wybór odpowiedzi, która wskazuje na inną liczbę znaczników <td> niż 9 może wynikać z nieporozumienia dotyczącego struktury tabeli. Na przykład odpowiedzi sugerujące 3, 6 lub 12 mogą wskazywać na błędną interpretację liczby komórek w tabeli. Odpowiedź 3 mogła wynikać z założenia, że chodzi o liczbę wierszy. W rzeczywistości każdy wiersz zawiera 3 komórki, co prowadzi do błędnego wniosku. Odpowiedź 6 mogła zostać wybrana przez kogoś, kto pomylił się i zinterpretował liczbę jako wierszy w tabeli, myśląc, że istnieje tylko jeden wiersz. Z kolei 12 sugeruje, że uczestnik mógł pomylić liczbę kolumn z liczbą komórek, co jest istotnym błędem koncepcyjnym. Przy tworzeniu tabel HTML ważne jest, aby pamiętać, że każdy wiersz w tabeli musi zawierać 3 komórki, co z kolei wpływa na całkowitą liczbę użytych znaczników <td>. Błędy te mogą prowadzić do nieefektywnego projektowania interfejsów, gdzie zrozumienie struktury danych w HTML jest kluczowe dla prawidłowego renderowania treści na stronach internetowych.

Pytanie 14

Aby wprowadzić rekord do tabeli Pracownicy, jakie polecenie SQL należy zastosować?

A. INSERT VALUES Pracownicy INTO (Jan, Kowalski);
B. INSERT INTO Pracownicy (imie, nazwisko) VALUES (Jan, Kowalski);
C. INSERT (Jan, Kowalski) INTO Pracownicy;
D. INSERT VALUES (Jan, Kowalski) INTO Pracownicy;
Alternatywne odpowiedzi zawierają różne błędy składniowe i koncepcyjne, które mogą prowadzić do nieporozumień w stosowaniu SQL. Na przykład, w pierwszej odpowiedzi użyto niepoprawnej kolejności i brakującego słowa kluczowego 'VALUES', co skutkuje błędem wykonania. W SQL musimy najpierw wskazać, do jakiej tabeli wstawiamy dane, a następnie określić kolumny oraz wartości, które mają być dodane. Druga odpowiedź wprowadza 'INSERT VALUES', co również jest nieprawidłowe, gdyż poprawna składnia wymaga użycia 'INSERT INTO' przed nazwą tabeli. Następnie, trzecia odpowiedź nieprawidłowo odwraca kolejność wstawiania danych, co narusza podstawowe zasady składni SQL oraz prowadzi do błędów w interpretacji zapytania przez system baz danych. Typowe błędy myślowe, które mogą prowadzić do takich niepoprawnych odpowiedzi, obejmują mylenie kolejności argumentów w poleceniach oraz nieuwzględnianie wymogu użycia słowa kluczowego 'VALUES'. W programowaniu SQL kluczowe jest przestrzeganie ustalonych standardów i praktyk, co nie tylko ułatwia pracę z bazą danych, ale także minimalizuje ryzyko wystąpienia błędów podczas wykonywania zapytań. Zrozumienie prawidłowej składni jest fundamentalne dla efektywnego zarządzania danymi i uniknięcia frustracji związanej z błędami w kodzie.

Pytanie 15

W języku SQL, aby usunąć wszystkie rekordy z tabeli, nie eliminując jej samej, można skorzystać z polecenia

A. ALTER
B. TRUNCATE
C. UPDATE
D. DROP
Wybór polecenia DROP do usunięcia danych z tabeli prowadzi do całkowitego usunięcia zarówno tabeli, jak i jej definicji ze struktury bazy danych. DROP jest stosowane, gdy chcemy usunąć obiekt w całości, co może być nie tylko nieodwracalne, ale także niepożądane w sytuacjach, gdy potrzebujemy zachować strukturę tabeli dla przyszłych operacji. Użycie ALTER w kontekście usuwania danych jest również błędne, ponieważ to polecenie służy do modyfikacji struktury tabeli, takiej jak dodawanie lub usuwanie kolumn, a nie do zarządzania danymi w tabeli. Kolejnym błędem myślowym jest zastosowanie polecenia UPDATE, które jest używane do modyfikacji istniejących danych w tabeli, a nie do ich usuwania. Często mylnie przyjmuje się, że UPDATE można wykorzystać do 'czyszczenia' tabeli, co jednak nie jest zgodne z rzeczywistym działaniem tego polecenia. Poprawne podejście polega na zrozumieniu, że usuwanie danych w SQL wymaga zastosowania odpowiednich poleceń w zależności od celu – czy chcemy usunąć dane, czy całą tabelę. Dlatego kluczowe jest odpowiednie zrozumienie różnicy między tymi poleceniami oraz ich zastosowaniem w praktycznych sytuacjach, aby uniknąć nieodwracalnych błędów w zarządzaniu danymi.

Pytanie 16

Jakim słowem kluczowym można zestawić wyniki dwóch zapytań SELECT, które operują na różnych tabelach, aby utworzyć jeden zbiór danych?

A. DISTINCT
B. JOIN
C. UNION
D. AS
Odpowiedzi takie jak JOIN, DISTINCT i AS są niepoprawne w kontekście łączenia wyników kwerend SELECT z różnych tabel w jeden zbiór. JOIN jest używane do łączenia rekordów z dwóch tabel na podstawie powiązania między nimi, co oznacza, że wymaga istnienia relacji między danymi, co nie jest przypadkiem w każdym scenariuszu, w którym chcemy połączyć wyniki. INCLUDES, które może być naturalnym skojarzeniem z łączeniem danych, nie pasuje do sytuacji, gdy kwerendy SELECT są niezależne od siebie. DISTINCT natomiast jest używane do eliminowania duplikatów z wyników jednej kwerendy, ale nie służy do łączenia wyników z różnych źródeł. Wreszcie, AS jest używane głównie do nadawania aliasów kolumnom lub tabelom, co nie ma zastosowania w kontekście łączenia wyników kwerend. Typowym błędem myślowym jest zakładanie, że każde słowo kluczowe związane z SELECT może być użyte do łączenia wyników, podczas gdy każde z nich ma swoje specyficzne zastosowanie i ograniczenia. Zrozumienie tych różnic jest kluczowe dla prawidłowego stosowania SQL w praktyce i tworzenia efektywnych zapytań, które zwracają oczekiwane wyniki.

Pytanie 17

void wypisz(int n) {
    for (int i = 1; i <= n; i++) {
        System.out.println("Wykonanie operacji po raz " + i);
    }
    System.out.println("Wykonanie kolejnej operacji!");
}
Złożoność obliczeniowa prezentowanego kodu wynosi:
A. O(n)
B. O(n²)
C. O(1)
D. O(n!)
W tym zadaniu kluczowe jest zauważenie, że jedynym fragmentem kodu, który realnie „rośnie” wraz ze wzrostem n, jest pętla for. Pętla wykonuje się od i = 1 do i <= n, czyli dokładnie n razy. W każdej iteracji wykonywana jest jedna instrukcja wypisania tekstu na konsolę: System.out.println("Wykonanie operacji po raz " + i);. To jest stały zestaw operacji w każdej iteracji, nie pojawia się żadna zagnieżdżona pętla, żadne rekurencyjne wywołania ani inne konstrukcje, które by powodowały większy wzrost liczby operacji. Z tego powodu całkowita liczba operacji tego algorytmu jest proporcjonalna do n, a w notacji dużego O zapisujemy to jako O(n). Dodatkowe wywołanie System.out.println("Wykonanie kolejnej operacji!"); po zakończeniu pętli ma z punktu widzenia złożoności asymptotycznej znaczenie stałe – to jest jedna instrukcja, więc dokładamy tylko +1 do liczby operacji. Standardowo w analizie algorytmów takie stałe pomijamy, bo interesuje nas zachowanie dla bardzo dużych n. W praktyce taki schemat O(n) pojawia się non stop: przechodzenie po elementach tablicy, listy, sprawdzanie każdego rekordu z pliku, proste filtrowanie danych. Moim zdaniem warto wyrobić sobie nawyk: widzisz pojedynczą pętlę, bez dodatkowych zagnieżdżeń i bez skoków zależnych od innych zmiennych – bardzo często będzie to właśnie złożoność liniowa. W dobrych praktykach projektowania algorytmów przyjmuje się, że O(n) jest zazwyczaj akceptowalne dla sporych danych, bo czas rośnie wprost proporcjonalnie do liczby elementów. Dopiero gdy pojawiają się pętle w pętlach, trzeba się bardziej martwić o wydajność. Warto też pamiętać, że operacja wejścia/wyjścia (I/O), jak wypisywanie na konsolę, jest w rzeczywistości dość kosztowna, ale w analizie teoretycznej zakładamy, że to jedna jednostkowa operacja na iterację. Dzięki temu możemy porównywać różne algorytmy w sposób ogólny, niezależny od konkretnej maszyny czy implementacji.

Pytanie 18

Poprawny zapis znacznika , za pomocą którego można umieścić na stronie internetowej obraz rys.jpg przeskalowany do szerokości 120 px i wysokości 80 px z tekstem alternatywnym "krajobraz" to

A. <img image="rys.jpg" width="120px" height="80px" alt="krajobraz">
B. <img src="rys.jpg" width="120px" height="80px" alt="krajobraz">
C. <img href="rys.jpg" height="120px" width="80px" info="krajobraz">
D. <img src="rys.jpg" height="120px" width="80px" info="krajobraz">
Odpowiedź <img src="rys.jpg" width="120px" height="80px" alt="krajobraz"> jest na pewno dobra! Używasz fajnego atrybutu 'src' do wskazania, skąd bierzesz obrazek, co jest super ważne. Atrybuty 'width' i 'height' też są dobrze ustawione, bo określają, jak duży ma być obrazek na stronie. To naprawdę przydaje się, zwłaszcza jak robimy responsywne strony. A ten 'alt', to świetny pomysł – daje tekst alternatywny, co bardzo pomaga osobom, które korzystają z czytników ekranu. Bez tego mogą nie wiedzieć, co jest na obrazku, a to jest spoko, bo dba o dostępność. Co do pikseli, używasz ich standardowo, ale pomyśl, że w CSS można też iść w procenty czy jednostki względne, żeby było jeszcze elastyczniej. W sumie, gdybyś chciał, mógłbyś bawić się CSS-em do stylizacji obrazów tła, co też sprawia, że wszystko lepiej się dopasowuje do różnych ekranów.

Pytanie 19

Na ilustracji przedstawiono konfigurację serwera Apache dla środowiska XAMPP. Pod jakim lokalnym adresem jest on dostępny?

Ilustracja do pytania
A. 127.0.0.1:70
B. localhost:80
C. 192.168.0.1:3306
D. htdocs
Poprawna odpowiedź to „127.0.0.1:70”, bo na zrzucie z XAMPP Control Panel w kolumnie „Port(s)” przy module Apache widać wyraźnie liczbę 70 jako port HTTP (oraz 443 jako port HTTPS). Adres 127.0.0.1 to tzw. adres loopback, czyli „localhost” – wskazuje zawsze na tę samą maszynę, na której działa przeglądarka i serwer. W praktyce oznacza to, że żeby wejść na swoją stronę testową w XAMPP, wpisujesz w przeglądarce: http://127.0.0.1:70 lub równoważnie http://localhost:70 (jeśli system poprawnie rozwiązuje nazwę „localhost”). Różnica między 127.0.0.1:70 a samym „localhost” polega na tym, że tutaj jawnie podany jest port 70, który jest niestandardowy dla HTTP. Domyślny port HTTP to 80, więc jeśli Apache działałby na porcie 80, mógłbyś wpisać samo http://localhost bez numeru portu. W tym przypadku jednak, ponieważ w XAMPP Apache nasłuchuje na porcie 70, numer portu jest obowiązkowy. To jest częsta praktyka, gdy port 80 jest już zajęty (np. przez IIS, Skype’a, inny serwer www) lub gdy chcemy równolegle uruchomić kilka instancji serwera. W realnych projektach developerskich programiści często ustawiają różne porty dla różnych środowisk, np. 8080, 8000, 3000 itd., żeby rozdzielić aplikacje i uniknąć konfliktów. Moim zdaniem warto się od razu przyzwyczaić do patrzenia w panelu XAMPP właśnie na kolumnę „Port(s)” i świadomie używać adresu IP + port – wtedy od razu wiesz, dokąd naprawdę łączy się przeglądarka i łatwiej diagnozuje się problemy z dostępem do serwera lokalnego.

Pytanie 20

Aby wykorzystać skrypt zapisany w pliku przyklad.js, trzeba połączyć go ze stroną używając kodu

A. <script src="/przyklad.js"></script>
B. <script>przyklad.js</script>
C. <script link="przyklad.js"></script>
D. <link rel="script" href="/przyklad.js">
Poprawna odpowiedź to <script src="/przyklad.js"></script>, ponieważ jest to zgodne z obowiązującymi standardami HTML dotyczącymi ładowania skryptów. Atrybut 'src' jest kluczowy, ponieważ wskazuje przeglądarce lokalizację pliku JavaScript, który ma zostać załadowany. Umieszczając skrypt w tagu <script> w ten sposób, zapewniamy, że plik zostanie poprawnie wczytany i wykonany w kontekście dokumentu HTML. Jest to praktyka zgodna z dobrymi zasadami programowania webowego, umożliwiająca organizację kodu oraz minimalizację problemów z wydajnością. Na przykład, umieszczając ten tag w sekcji <head> lub tuż przed końcem tagu </body>, możemy zwiększyć wydajność ładowania strony, zapewniając jednocześnie, że wszystkie skrypty są załadowane przed ich wykonaniem. To podejście jest powszechnie stosowane w branży, aby poprawić czytelność kodu i umożliwić łatwiejsze zarządzanie zasobami.

Pytanie 21

Która z pętli w PHP umożliwia przeprowadzenie operacji na wszystkich elementach tablicy z automatycznym nadawaniem indeksów jej elementom?

A. while
B. for
C. foreach
D. do...while
Prawidłowa odpowiedź to 'foreach', ponieważ jest to specjalna pętla w języku PHP, która została stworzona z myślą o iteracji po elementach tablicy. Umożliwia ona wykonanie operacji na każdym elemencie tablicy bez potrzeby manualnego zarządzania indeksami, co jest szczególnie przydatne w sytuacjach, gdy nie znamy z góry liczby elementów w tablicy. Dzięki 'foreach' iteracja wygląda czytelnie i zwięźle, co znacząco poprawia czytelność kodu. Przykład zastosowania: jeśli mamy tablicę z nazwiskami, możemy użyć pętli 'foreach', aby wypisać każde nazwisko na ekranie. Dodatkowo, 'foreach' jest zgodne z najlepszymi praktykami programistycznymi, ponieważ ogranicza ryzyko wystąpienia błędów związanych z błędnymi indeksami i ułatwia utrzymanie kodu. Warto również zauważyć, że 'foreach' działa zarówno na tablicach numerycznych, jak i asocjacyjnych, co czyni ją elastycznym narzędziem dla programistów.

Pytanie 22

Deklarując var x="true"; w języku JavaScript, jakiego typu zmienną się tworzy?

A. liczbowym
B. logicznym
C. string (ciąg znaków)
D. nieokreślonym (undefined)
W języku JavaScript, deklaracja zmiennej za pomocą var x="true"; tworzy zmienną o typie string, co oznacza, że jest to ciąg znaków. Wartość "true" w tym przypadku jest interpretowana dosłownie jako tekst i nie ma związku z wartością logiczną typu boolean, która również może być używana w JavaScript. Typ string jest jednym z podstawowych typów danych w tym języku i jest używany do reprezentowania tekstu. Zmienne typu string mogą zawierać litery, cyfry oraz znaki specjalne i są otaczane cudzysłowami, jak w tym przypadku. W praktyce programiści często używają stringów do przechowywania danych wejściowych od użytkowników, komunikatów oraz wszelkiego rodzaju informacji tekstowych. Warto zauważyć, że w ECMAScript 6 (ES6) wprowadzono również let oraz const do deklaracji zmiennych, ale zasada dotycząca typów danych pozostaje taka sama. Należy także zwrócić uwagę, że typy danych w JavaScript są dynamiczne, co oznacza, że można przypisać różne typy wartości do tej samej zmiennej w różnych momentach. Na przykład, po przypisaniu stringa, możemy przypisać liczbę lub obiekt do tej samej zmiennej, co pokazuje elastyczność JavaScriptu jako języka programowania.

Pytanie 23

Przedstawiono kod tabeli 3×2. Jaką modyfikację należy wprowadzić w drugim wierszu, aby tabela wyglądała jak na obrazie z niewidocznym wierszem?

<table>
  <tr>
    <td style="border: solid 1px;">Komórka 1</td>
    <td style="border: solid 1px;">Komórka 2</td>
  </tr>
  <tr>
    <td style="border: solid 1px;">Komórka 3</td>
    <td style="border: solid 1px;">Komórka 4</td>
  </tr>
  <tr>
    <td style="border: solid 1px;">Komórka 5</td>
    <td style="border: solid 1px;">Komórka 6</td>
  </tr>
</table>
Komórka 1Komórka 2
Komórka 3Komórka 4
Komórka 5Komórka 6
A. <tr style="display: table-cell">
B. <tr style="display: none">
C. <tr style="visibility: hidden">
D. <tr style="clear: none">
Wybrana odpowiedź jest niepoprawna, ale nie martw się, to jest okazja do nauki. Jeśli chcesz ukryć element na stronie, ale zachować jego miejsce w układzie, powinieneś użyć właściwości CSS 'visibility: hidden'. Takie podejście jest zgodne z dobrymi praktykami w tworzeniu stron internetowych. Inne opcje, takie jak 'display: none', 'display: table-cell' i 'clear: none' nie są odpowiednie w tym kontekście. 'display: none' całkowicie usuwa element z układu strony, co powoduje przesunięcie pozostałych elementów, aby zapełnić puste miejsce. 'display: table-cell' jest właściwością, która pozwala elementowi zachowywać się jak komórka tabeli, co nie ma tutaj zastosowania, gdyż chcemy ukryć cały wiersz, a nie pojedynczą komórkę. 'clear: none' jest właściwością używaną do kontroli przepływu elementów w stosunku do elementów z lewej lub prawej strony, ale nie ma wpływu na ukrywanie elementów. Dobra praktyka polega na zrozumieniu i właściwym stosowaniu różnych właściwości CSS, aby uzyskać zamierzony efekt na stronie.

Pytanie 24

Wskaż funkcję PHP, która umożliwia zapisanie odczytanej zawartości pliku do zmiennej, która reprezentuje ciąg znaków?

A. get_file()
B. file_get_contents()
C. eof()
D. fwrite()
Odpowiedzi takie jak fwrite(), eof() oraz get_file() nie są prawidłowe w kontekście odczytu zawartości pliku do zmiennej. fwrite() jest funkcją przeznaczoną do zapisywania danych do pliku, co oznacza, że zamiast odczytu, jej zastosowanie polega na wprowadzaniu danych do plików, co jest odwrotne do potrzebnego działania. eof() natomiast sprawdza, czy osiągnięto koniec pliku, ale nie ma związku z odczytem zawartości pliku do zmiennej; jest to funkcja używana w kontekście strumieni plikowych. Wreszcie, get_file() nie jest standardową funkcją PHP i nie istnieje w dokumentacji PHP. Tego rodzaju błędy mogą wynikać z nieporozumienia dotyczącego funkcji i ich zastosowania w PHP. Ważne jest, aby przy wyborze funkcji kierować się ich specyfiką i przeznaczeniem. Właściwa wiedza na temat dostępnych funkcji oraz ich właściwego użycia jest kluczowa w programowaniu, aby uniknąć błędów logicznych i technicznych w kodzie.

Pytanie 25

Jakie będzie działanie podanych instrukcji JavaScript?

var elementy = document.getElementsByClassName("styl1");
  for(var i = 0; i < elementy.length; i++)
    elementy[i].style.fontWeight = "bolder";
A. Jedynie dla elementu o id równym styl1 będzie przypisany styl pogrubienia tekstu na bolder
B. Wyłącznie dla pierwszego elementu przypisanego do klasy styl1 zostanie nadany styl pogrubienia tekstu bolder
C. Dla wszystkich elementów na stronie zostanie zastosowany styl pogrubienia tekstu na bolder
D. Dla wszystkich elementów przypisanych do klasy styl1 zostanie nadany styl pogrubienia tekstu bolder
Instrukcje JavaScript w pytaniu wykorzystują metodę getElementsByClassName aby pobrać kolekcję wszystkich elementów na stronie które posiadają przypisaną klasę styl1. Metoda ta zwraca obiekt typu HTMLCollection który przypomina tablicę i zawiera odniesienia do elementów DOM posiadających określoną klasę. Następnie za pomocą pętli for przechodzimy przez każdy z tych elementów i zmieniamy ich styl na bolder przypisując nową wartość do właściwości style.fontWeight. Dzięki temu każdy element w kolekcji zostaje zmodyfikowany i wyświetlany z pogrubioną czcionką. Takie podejście jest zgodne z dobrymi praktykami w zakresie manipulacji DOM w JavaScript gdyż jest to sposób efektywny i bezpośredni. Użycie klas do grupowania elementów HTML pozwala na jednoczesne stosowanie stylów i operacji na grupach elementów co jest kluczowe w dynamicznym modelu tworzenia stron internetowych. Warto zwrócić uwagę na fakt że nazwy klas są czułe na wielkość liter co oznacza że styl1 i Styl1 byłyby traktowane jako różne klasy.

Pytanie 26

Poniższe zapytanie SQL ma na celu:

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. zwiększyć o jeden wartość kolumny id_klasy dla wszystkich wpisów w tabeli Uczen
B. ustawić wartość pola Uczen na 1
C. przypisać wartość kolumny id_klasy jako 1 dla wszystkich wpisów w tabeli Uczen
D. zwiększyć o jeden wartość pola Uczen
Polecenie SQL "UPDATE Uczen SET id_klasy = id_klasy + 1;" jest poprawne, ponieważ wskazuje na aktualizację kolumny 'id_klasy' w tabeli 'Uczen'. Wartość kolumny dla każdego rekordu w tabeli zostanie zwiększona o jeden. Działanie to jest przydatne w sytuacjach, gdy chcemy zaktualizować dane, na przykład po przesunięciu uczniów do wyższej klasy w systemie edukacyjnym. Przy takim podejściu, wszyscy uczniowie w danym roku szkolnym mogą zostać automatycznie przeniesieni do następnej klasy bez konieczności edytowania rekordów pojedynczo, co zwiększa efektywność i zmniejsza ryzyko błędów. Ta praktyka jest zgodna z zasadami optymalizacji baz danych, gdzie operacje masowe są preferowane dla ich wydajności. Ponadto, dobrym nawykiem jest tworzenie kopii zapasowych przed przeprowadzeniem masowych aktualizacji, aby uniknąć nieodwracalnych zmian w przypadku błędów.

Pytanie 27

Jakie zadanie wykonuje funkcja napisana w JavaScript?

function fun1(a,b)
{
    if ( a % 2 != 0 ) a++;
    for(n=a; n<=b; n+=2)
        document.write(n);
}
A. sprawdzenie, czy liczba a jest liczbą nieparzystą; jeśli tak, to jej wypisanie
B. wypisanie wszystkich liczb w zakresie od a do b
C. zwrócenie parzystych wartości liczb od a do b
D. wypisanie liczb parzystych w przedziale od a do b
Analiza niepoprawnych odpowiedzi wymaga zrozumienia, dlaczego poszczególne opcje nie pasują do działania funkcji fun1. W pierwszym przypadku, opcja dotycząca sprawdzania, czy liczba a jest nieparzysta i jej wypisywania, nie jest zgodna z logiką funkcji. Chociaż funkcja sprawdza, czy a jest nieparzysta, to nie wypisuje jej, lecz zmienia ją na parzystą, co wskazuje, że jej celem nie jest wypisywanie liczby a, ale przygotowanie jej do dalszej iteracji. Wypisanie wszystkich liczb z przedziału od a do b również nie jest prawidłowe, ponieważ funkcja nie iteruje po wszystkich liczbach, lecz wyłącznie po liczbach parzystych. Warto zauważyć, że funkcja pomija wszystkie liczby nieparzyste, co wyklucza tę opcję. Kolejna możliwa odpowiedź sugeruje zwracanie wartości parzystych liczb od a do b, jednak funkcja nie wykorzystuje żadnej procedury zwracania wartości, a jej konstrukcja wskazuje na bezpośrednie wypisywanie wyników, co wyklucza tę możliwość. Typowy błąd myślowy to niepoprawne rozumienie działania pętli for oraz operacji wypisywania danych w kontekście przeglądarki internetowej, co jest istotne z punktu widzenia dynamicznych aplikacji webowych. Zrozumienie, jak działa operator modulo i jego rola w wyznaczaniu parzystości liczb, jest kluczowe dla poprawnego interpretowania takich fragmentów kodu. Wskazane jest również, aby programiści byli świadomi różnicy między wypisywaniem a zwracaniem wyników, co często prowadzi do nieporozumień w kontekście funkcji i metod w JavaScript i innych językach programowania.

Pytanie 28

Funkcja, która wywołuje samą siebie to

A. rekurencja
B. hermetyzacja
C. dziedziczenie
D. iteracja
Iteracja, hermetyzacja i dziedziczenie to pojęcia związane z programowaniem, ale nie odnoszą się do konceptu rekurencji. Iteracja to proces powtarzania zestawu instrukcji, aż do spełnienia określonego warunku. W przeciwieństwie do rekurencji, w iteracji nie zachodzi wywoływanie samej siebie, a raczej wykorzystuje się pętle, takie jak for czy while, aby przejść przez dane lub wykonywać operacje wielokrotnie. Hermetyzacja odnosi się do techniki programowania obiektowego, która polega na ukrywaniu wewnętrznych szczegółów implementacji obiektu i udostępnianiu jedynie niezbędnych interfejsów, co pozwala na zachowanie kontroli nad danymi i ich modyfikacjami. To z kolei wpływa na zwiększenie bezpieczeństwa oraz modularności kodu, ale nie ma związku z wywoływaniem funkcji samej siebie. Dziedziczenie to mechanizm, który umożliwia tworzenie nowych klas na podstawie już istniejących, dzieląc z nimi atrybuty oraz metody. Chociaż dziedziczenie jest fundamentalnym aspektem programowania obiektowego, nie dotyczy ono rekurencji ani sposobu, w jaki funkcje mogą się wywoływać. Każda z tych koncepcji ma swoje unikalne zastosowanie i znaczenie w programowaniu, ale są one odrębne od idei rekurencji.

Pytanie 29

W podanym przykładzie pseudoklasa hover spowoduje, że styl pogrubiony zostanie zastosowany

Ilustracja do pytania
A. odnośnikowi, gdy kursor myszy na nim spocznie
B. dla wszystkich nieodwiedzonych odnośników
C. dla każdego odnośnika bez względu na jego aktualny stan
D. dla wszystkich odwiedzonych odnośników
Pseudoklasa hover w CSS jest stosowana do definiowania stylu elementu, gdy użytkownik umieszcza nad nim kursor myszy. W kontekście odnośników, stosowanie pseudoklasy hover pozwala na dynamiczne dostosowywanie ich wyglądu, co jest kluczowe dla poprawy interaktywności i użyteczności stron internetowych. W przykładzie a:hover { font-weight: bold; } styl pogrubiony zostanie zastosowany do odnośnika, gdy użytkownik najedzie na niego kursorem myszy. Jest to częsta praktyka w projektowaniu stron, która pomaga użytkownikom łatwiej identyfikować aktywne elementy nawigacyjne. Standardy sieciowe, takie jak W3C, rekomendują stosowanie takich interakcji w celu poprawy doświadczenia użytkownika. Praktyczne zastosowanie pseudoklasy hover jest szerokie, od prostych efektów wizualnych, po skomplikowane animacje i przejścia. Ważne jest jednak, aby pamiętać o zapewnieniu alternatywnych metod interakcji dla użytkowników korzystających z urządzeń dotykowych, gdzie hover nie jest obsługiwany. Zrozumienie i właściwe stosowanie pseudoklas w CSS jest podstawą tworzenia nowoczesnych i dostępnych interfejsów użytkownika.

Pytanie 30

Przedstawione zapytanie SQL przydziela uprawnienie SELECT

GRANT SELECT ON hurtownia.*
TO 'sprzedawca'@'localhost';
A. dla użytkownika root na serwerze localhost
B. do wszystkich kolumn w tabeli hurtownia
C. dla użytkownika root na serwerze sprzedawca
D. do wszystkich tabel w bazie hurtownia
Polecenie GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost'; nie przyznaje praw do użytkownika root ani do serwera localhost, co wyklucza te możliwości. W SQL, użytkownik root zazwyczaj posiada pełne uprawnienia administracyjne, a przypisanie mu dodatkowych specyficznych praw nie jest konieczne ani typowe w kontekście tego typu polecenia. Z kolei wskazanie serwera localhost w tym kontekście dotyczy tylko ograniczenia dostępu użytkownika do tego konkretnego hosta, a nie nadania mu praw selektywnych. Błędne jest również stwierdzenie, że polecenie to nadaje prawa do wszystkich pól w tabeli hurtownia. W rzeczywistości, wyrażenie hurtownia.* w kontekście GRANT odnosi się do wszystkich tabel, a nie do pól, które w SQL nazywane są kolumnami. Właściwe przypisanie uprawnień w systemach bazodanowych wymaga zrozumienia kontekstu, w którym dane polecenie jest stosowane, oraz znajomości specyfiki składni SQL. Wiele błędów wynika z niepełnego zrozumienia różnicy między tabelami a kolumnami oraz ról poszczególnych użytkowników w systemie zarządzania bazą danych. Praktyka i ciągłe doskonalenie wiedzy w zakresie zarządzania bazami danych jest kluczowe dla unikania takich pomyłek oraz dla utrzymania bezpieczeństwa i spójności danych w organizacjach.

Pytanie 31

Badania dotyczące skalowalności oprogramowania mają na celu sprawdzenie, czy aplikacja

A. jest w stanie funkcjonować przy przewidzianym oraz większym obciążeniu
B. posiada właściwą funkcjonalność
C. jest odpowiednio opisana dokumentacją
D. jest chroniona przed nieautoryzowanymi operacjami, takimi jak dzielenie przez zero
Odpowiedzi takie jak 'ma odpowiednią funkcjonalność', 'jest odpowiednio udokumentowana' oraz 'jest zabezpieczona przed niedozwolonymi operacjami' odnoszą się do zupełnie innych aspektów jakości oprogramowania. Funkcjonalność dotyczy tego, czy aplikacja spełnia określone wymagania i jest w stanie realizować zamierzone zadania. Choć jest to istotna cecha, nie jest bezpośrednio związana ze skalowalnością, która koncentruje się na możliwości dostosowania się systemu do zwiększających się obciążeń. Dokumentacja jest równie ważna, ponieważ pozwala na zrozumienie architektury i funkcji systemu, lecz nie wpływa na jego zdolność do obsługi większej ilości użytkowników. Zabezpieczenia przed błędami, takimi jak dzielenie przez zero, są kluczowe dla stabilności i bezpieczeństwa aplikacji, ale również nie mają związku z jej skalowalnością. Często występującym błędem myślowym jest zakładanie, że wszystkie aspekty jakości oprogramowania są ze sobą ściśle powiązane i mogą być używane zamiennie. W rzeczywistości, każdy z tych elementów stanowi niezależny komponent większej całości, a ich ocena wymaga różnorodnych podejść i technik testowania. Aby poprawnie ocenić skalowalność, należy skupić się na pomiarze wydajności w warunkach dużego obciążenia, co wymaga zastosowania specyficznych metodologii testowych, takich jak testy obciążeniowe oraz analizę wydajności systemu w realnych scenariuszach użytkowania.

Pytanie 32

Do zachowań moralnych w środowisku pracy można zaliczyć

A. przekazywanie członkom rodziny służbowych materiałów eksploatacyjnych
B. udostępnianie znajomym informacji osobowych pracowników
C. używanie sprzętu biurowego w celach osobistych
D. przestrzeganie poufności zawodowej
Przestrzeganie tajemnicy zawodowej jest kluczowym elementem etyki w miejscu pracy. Oznacza ono, że pracownicy są zobowiązani do nieujawniania informacji, które zdobyli w trakcie wykonywania swoich obowiązków zawodowych, a które mogą narazić firmę lub jej klientów na szkodę. Przykłady obejmują nieujawnianie danych finansowych firmy, informacji o kliencie czy szczegółów dotyczących strategii biznesowej. W praktyce, przestrzeganie tajemnicy zawodowej wspiera zaufanie między pracownikami a pracodawcą oraz z klientami, co jest niezbędne dla długofalowego sukcesu organizacji. Wiele branż, takich jak finanse, ochrona zdrowia czy prawo, posiada szczegółowe regulacje dotyczące ochrony danych i tajemnicy zawodowej. Dobrymi praktykami są m.in. przeprowadzanie szkoleń w zakresie ochrony danych, stosowanie polityki zarządzania informacjami oraz wprowadzenie procedur zgłaszania incydentów związanych z naruszeniem tajemnicy zawodowej. Ogólnie rzecz biorąc, etyczne podejście do tajemnicy zawodowej przyczynia się do budowy pozytywnego wizerunku organizacji oraz minimalizowania ryzyka prawnego i reputacyjnego.

Pytanie 33

Definicja stylu w CSS, którą zaprezentowano, dotyczy odsyłacza, który

a:visited {color: orange;}
A. był wcześniej odwiedzany
B. ma wskaźnik myszy umieszczony nad sobą
C. posiada niepoprawny adres URL
D. jeszcze nigdy nie został odwiedzony
Pseudoklasa :visited w CSS jest używana do stylizowania odsyłaczy, które zostały już odwiedzone przez użytkownika. Oznacza to, że przeglądarka zapisuje informacje o odwiedzonych stronach w historii przeglądania i na tej podstawie zmienia styl odsyłacza. W przykładzie a:visited {color: orange;} zmienia kolor tekstu odwiedzonych linków na pomarańczowy. Jest to powszechna praktyka stosowana w projektowaniu stron internetowych, która pomaga użytkownikom wizualnie odróżniać odwiedzone odsyłacze od nieodwiedzonych, co poprawia ich orientację na stronie. Dobre praktyki projektowania zakładają tworzenie intuicyjnych interfejsów użytkownika i użycie mechanizmu :visited do poprawy użyteczności. Ważne jest, aby unikać stosowania bardziej zaawansowanych stylów w :visited, takich jak zmiana rozmiaru czcionki czy dodawanie obrazów tła, ze względu na ograniczenia bezpieczeństwa przeglądarek, które chronią prywatność użytkowników. Korzystanie z :visited w sposób świadomy i zgodny ze standardami W3C zwiększa efektywność nawigacji i jest istotnym elementem przyjaznego projektowania stron WWW

Pytanie 34

Ile razy zostanie wykonana zaprezentowana pętla w języku PHP, zakładając, że zmienna sterująca nie jest zmieniana wewnątrz pętli?

 for ($i = 0; $i <= 10; $i++) {
    // kod pętli
}
A. 0
B. 11
C. 10
D. Nieskończenie wiele
Nieprawidłowe odpowiedzi mogą wynikać z kilku błędnych założeń dotyczących działania pętli for. Jednym z częstszych błędów jest myślenie, że pętla for będzie iterować tylko do wartości 10, co skutkuje odpowiedzią 10. W rzeczywistości jednak warunek '$i <= 10' oznacza, że wartość 10 także jest wliczana do całkowitej liczby iteracji, przez co pętla będzie wykonana 11 razy. Z kolei odpowiedź sugerująca nieskończoną liczbę iteracji może pojawić się u osób, które nie zauważają, że zmienna $i jest inkrementowana w każdej iteracji. Warto również wspomnieć, że w przypadku początkowej wartości zmiennej $i wynoszącej 0 oraz braku modyfikacji tej zmiennej wewnątrz pętli nie może wystąpić sytuacja, w której pętla nie kończy się, co prowadzi do błędnego wniosku o 0 iteracjach. Kluczowe jest zrozumienie, jak struktura pętli for działa i jakie warunki wpływają na liczbę jej iteracji. Świadomość tych zasad jest niezbędna do pisania efektywnego i poprawnego kodu w PHP oraz innych językach programowania.

Pytanie 35

W HTML-u, aby umieścić animację FLASH (z rozszerzeniem .swf) na stronie www, powinno się wykorzystać znacznik

A. <video>
B. <img>
C. <object>
D. <audio>
Użycie <audio>, <img> i <video> do wstawiania animacji FLASH jest błędne z kilku powodów. Znacznik <audio> jest tylko do dźwięku, więc nie załatwia sprawy z animacjami. <img> to tylko do wyświetlania statycznych obrazków, a nie czegoś interaktywnego jak animacje FLASH. A <video> też jest tylko dla plików wideo i w ogóle nie obsługuje FLASH. Wiesz, to wszystko często wynika z tego, że nie do końca wiadomo, jak te znaczniki działają. Ważne, żeby wiedzieć, jakie elementy HTML można użyć do różnych treści. No i nie oszukujmy się – technologia FLASH jest coraz mniej na czasie, lepiej iść w kierunku HTML5, bo to jest bezpieczniejsze i działa lepiej z obecnymi przeglądarkami. Użycie starszych technologii, jak FLASH, może przynieść problemy z kompatybilnością i bezpieczeństwem, więc to nie jest najlepszy pomysł w nowoczesnym web developmencie.

Pytanie 36

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

function fun1(a)
{
    for (n = a; n <= 100; n++)
        document.write(n);
    return n;
}
A. wypisanie wartości zmiennej a oraz zwrócenie wartości zmiennej n
B. zwrócenie liczb z przedziału a .. 99
C. wypisanie liczb z przedziału a .. 100 i zwrócenie wartości zmiennej n
D. wypisanie liczb z przedziału a .. 99 i zwrócenie wartości 100
Wybrane przez Ciebie odpowiedzi są niepoprawne, gdyż nie odzwierciedlają w pełni działania pętli for w JavaScript. Pętla for jest używana do iterowania tyle razy, ile wynosi różnica między 100 a wartością argumentu a, wypisując każdą iterację. Następnie funkcja zwraca wartość o 1 większą niż warunek kończący pętlę (100), co wynosi 101. Błędem było zakładanie, że funkcja zwraca wartości w inny sposób. Przykładowo, jedna z nieprawidłowych odpowiedzi sugerowała, że funkcja zwraca liczby z przedziału a do 99 - jednakże zwracana jest liczba 101. Inna błędna odpowiedź sugerowała, że funkcja wypisuje wartość zmiennej a i zwraca wartość zmiennej n - jednakże wypisywane są liczby od a do 100, a zwracana jest wartość 101. Kolejnym błędem było zakładanie, że funkcja zwraca wartość 100 - co jest nieprawdą, gdyż funkcja zwraca wartość 101. Zrozumienie działania pętli for i funkcji zwracających wartości jest kluczowe dla programowania w JavaScript, dlatego warto poświęcić więcej czasu na praktykę i naukę tych konceptów.

Pytanie 37

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

A. font-style
B. text-decoration
C. font-weight
D. text-style
Atrybut text-style to w zasadzie fikcja w CSS, bo takiego czegoś po prostu nie ma w specyfikacji. Owszem, CSS daje nam różne opcje do stylizacji tekstu, ale text-style to nie jest jedna z nich. Lepiej skupić się na text-decoration, font-style czy font-weight, bo to już są realne właściwości. Na przykład, font-style pozwala wybrać styl czcionki, jak normal, italic albo oblique, ale nie zrobisz tym efektów dekoracyjnych, takich jak podkreślenie czy nadkreslenie. Z kolei font-weight dotyczy grubości czcionki, ale też nie ma nic wspólnego z dekoracją tekstu. Wartości, które tam znajdziesz, jak normal, bold czy bolder, odnoszą się raczej do samego kroju pisma. Więc jeśli chodzi o dekorację, to musisz używać text-decoration, bo to właśnie do tego zostało stworzone, a inne właściwości mają zupełnie inne zastosowania.

Pytanie 38

W kontekście PGP zmienna $_GET jest zmienną

A. predefiniowaną, stosowaną do przesyłania informacji do skryptów PHP poprzez adres URL
B. zdefiniowaną przez autora strony, wykorzystywaną do przesyłania danych z formularzy przez adres URL
C. zwykłą, stworzoną przez autora strony
D. predefiniowaną, służącą do zbierania wartości z formularzy po nagłówkach zapytań HTTP (dane z formularzy nie są widoczne w URL)
Odpowiedzi dotyczące zmiennej $_GET zawierają szereg nieścisłości, które mogą wprowadzać w błąd. Pierwsza z nich sugeruje, że $_GET jest używana do gromadzenia wartości formularza po nagłówkach zlecenia HTTP. W rzeczywistości, $_GET jest używana do przesyłania danych poprzez adres URL, a nie z nagłówków formularza; to zmienna $_POST odpowiada za przesyłanie danych z formularza, których nie widać w adresie. Druga niepoprawna odpowiedź twierdzi, że $_GET jest zdefiniowana przez twórcę strony. Należy podkreślić, że $_GET jest zmienną predefiniowaną, co oznacza, że jest wbudowana w PHP i nie można jej zmienić ani zdefiniować na nowo. Ostatnia odpowiedź sugeruje, że $_GET jest zwykłą zmienną, co jest nieprecyzyjne, ponieważ zmienne predefiniowane, takie jak $_GET, mają specjalne znaczenie i funkcjonalność w kontekście aplikacji webowych. W związku z tym każda z tych odpowiedzi zawiera błędne zrozumienie roli zmiennej $_GET, co może prowadzić do nieprawidłowego użycia tej zmiennej w praktyce.

Pytanie 39

Wskaż prawidłowe twierdzenie odnoszące się do zaprezentowanego kodu HTML.

<video width="640" height="480" controls>
    <source src="animacja.mp4" type="video/mp4">
</video>
A. Użytkownik nie będzie miał możliwości kontrolowania odtwarzania wideo.
B. Plik animacja.mp4 powinien mieć rozdzielczość 640x480 pikseli, aby można go było odtworzyć.
C. Kod może nie działać w przeglądarkach, które nie wspierają HTML5.
D. Ścieżka do pliku jest niepoprawna, nie zawiera pełnej ścieżki.
Pierwsze stwierdzenie sugeruje, że plik animacja.mp4 musi mieć rozdzielczość 640x480 pikseli, co jest nieprawdziwe, ponieważ atrybuty width i height w znaczniku <video> nie narzucają wymagań rozdzielczości dla samego pliku wideo, lecz jedynie definiują rozmiar ramki odtwarzacza w przeglądarce. Jeśli plik ma inną rozdzielczość, przeglądarka odpowiednio go przeskaluje. Drugie stwierdzenie, że użytkownik nie będzie miał możliwości sterowania odtwarzaniem animacji, jest błędne, ponieważ atrybut controls w znaczniku <video> dokładnie to umożliwia, dostarczając przyciski do odtwarzania, pauzowania oraz regulacji głośności. Ostatnie stwierdzenie dotyczące lokalizacji pliku jest również mylne, ponieważ kod nie wymaga ścieżki bezwzględnej dla pliku animacja.mp4. W przypadku gdy plik znajduje się w tym samym katalogu co strona HTML, wystarczy podać jego nazwę. W przeciwnym razie można zastosować ścieżkę względną, co jest zgodne z dobrymi praktykami w zakresie organizacji plików na serwerze. Te nieporozumienia mogą prowadzić do mylnych wniosków, dlatego ważne jest zrozumienie zasad działania znaczników HTML oraz podstawowych koncepcji związanych z odtwarzaniem multimediów w sieci.

Pytanie 40

W przedstawionym stylu CSS w ramce zdefiniowano klasę uzytkownik. Tekst na stronie będzie wyświetlany czcionką w kolorze niebieskim dla

p.uzytkownik { color: blue; }
A. wszystkich akapitów
B. akapitów, którym przypisano klasę uzytkownik
C. wyłącznie znaczników tekstowych takich jak <p>, <h1>
D. dowolnych znaczników w sekcji <body>, które mają przypisaną klasę uzytkownik
Styl CSS przedstawiony w ramce definiuje regułę, która stosuje kolor tekstu niebieski do wszystkich elementów <p> posiadających klasę uzytkownik. W CSS selektory klasowe są reprezentowane przez kropkę (.), co oznacza, że tylko te elementy, które mają przypisaną daną klasę, zostaną sformatowane zgodnie z regułami stylu. W tym przypadku, ponieważ selektor to p.uzytkownik, dotyczy on tylko paragrafów oznaczonych klasą uzytkownik. To precyzyjne zastosowanie selektorów umożliwia projektantom stron internetowych dokładne dostosowanie wyglądu poszczególnych elementów. Takie podejście zapewnia większą elastyczność w projektowaniu i ułatwia zarządzanie wyglądem strony. Praktyką jest stosowanie klas, aby stylować specyficzne elementy w różny sposób, co zwiększa użyteczność i przejrzystość kodu CSS. Warto zaznaczyć, że używanie selektorów klasowych w ten sposób jest zgodne z zasadą separacji treści od prezentacji, co jest kluczowym aspektem w tworzeniu nowoczesnych i responsywnych stron internetowych.