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: 9 czerwca 2026 00:13
  • Data zakończenia: 9 czerwca 2026 00:35

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

W języku PHP stwórz warunek, który będzie prawdziwy, gdy zmienna

$a 
będzie jakąkolwiek liczbą całkowitą mniejszą niż -10 lub gdy zmienna
$b 
będzie liczbą z zakresu (25, 75). Wyrażenie logiczne w tym warunku powinno mieć postać
A. ($a < -10) or (($b > 25) and ($b < 75))
B. ($a < -10) or (($b > 25) or ($b < 75))
C. ($a < -10) and (($b > 25) or ($b < 75))
D. ($a < -10) and (($b > 25) and ($b < 75))
W analizowanych odpowiedziach występują różne nieprawidłowe założenia dotyczące użycia operatorów logicznych. W przypadku wyrażenia ($a < -10) and (($b > 25) and ($b < 75)), warunek wymaga, aby oba kryteria były spełnione jednocześnie, co nie odpowiada treści pytania, w której wystarczy spełnienie jednego z nich. Z kolei odpowiedź ($a < -10) or (($b > 25) or ($b < 75)) wprowadza błąd przez użycie operatora 'or' w niewłaściwy sposób, ponieważ drugi człon pozwala na spełnienie jednego z warunków niezależnie od drugiego, co sprawia, że warunek dotyczący zmiennej $b staje się zbyt ogólny. Odpowiedź ($a < -10) and (($b > 25) or ($b < 75)) również jest błędna, ponieważ wymaga zarówno, aby zmienna $a była mniejsza od -10, jak i aby $b było większe niż 25 lub mniejsze niż 75, co wprowadza niepotrzebne ograniczenia. Te błędne odpowiedzi wskazują na typowe trudności w zrozumieniu logiki warunkowej w programowaniu, w szczególności przy użyciu operatorów 'and' i 'or'. Kluczowe jest, aby zawsze dokładnie analizować wymagania dotyczące warunków logicznych oraz zrozumieć ich konsekwencje w kontekście wykonania kodu.

Pytanie 2

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

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

Pytanie 3

Jaką wartość uzyska zmienna x po wykonaniu kodu PHP zaprezentowanego w ramce?

Ilustracja do pytania
A. Ilość wierszy w bazie danych
B. Ilość wierszy przetworzonych przez zapytanie DELETE FROM
C. Ilość wierszy w tabeli produkty, gdzie pole status jest większe od zera
D. Ilość wierszy dodanych do tabeli produkty
W przedstawionym kodzie PHP funkcja mysqli_affected_rows() jest używana do uzyskania liczby wierszy zmienionych przez ostatnie zapytanie MySQL. W tym przypadku zapytanie DELETE FROM produkty WHERE status < 0 próbuje usunąć wszystkie rekordy z tabeli produkty, których pole status ma wartość mniejszą od zera. Po wykonaniu tego zapytania funkcja mysqli_affected_rows($db) zwróci liczbę wierszy, które zostały rzeczywiście usunięte. To jest szczególnie przydatne w kontekście sprawdzania wpływu operacji na bazę danych i pozwala na dynamiczne podejmowanie decyzji w aplikacjach bazodanowych. Przykładowo, jeśli po usunięciu chcemy wykonać dodatkowe operacje tylko wtedy, gdy co najmniej jeden rekord został usunięty, możemy użyć tej funkcji. Zgodnie z dobrymi praktykami, korzystanie z mysqli_affected_rows() jest standardem, gdyż pozwala również na obsługę wyjątków i błędów bazy danych. Optymalizacja operacji DELETE poprzez precyzyjne filtrowanie w WHERE, jak w naszym przykładzie, jest kluczowa dla zachowania wydajności bazy danych szczególnie w dużych systemach produkcyjnych.

Pytanie 4

Najłatwiejszym sposobem na zmianę obiektu z numerem 1 na obiekt z numerem 2 jest

Ilustracja do pytania
A. narysowanie obiektu docelowego
B. geometriczne przekształcenie obiektu
C. animacja obiektu
D. zmiana warstwy obiektu
Geometryczne transformowanie obiektu to proces, który pozwala na zmiany w wielkości, kształcie, pozycji lub orientacji obiektu bez modyfikacji jego struktury. W przypadku zamiany obiektu oznaczonego cyfrą 1 na obiekt oznaczony cyfrą 2, transformacja geometryczna, jak skalowanie, jest najprostszą metodą. Skalowanie pozwala na proporcjonalne powiększenie obiektu, co jest niezbędne, gdy chcemy zwiększyć jego rozmiar bez zniekształceń. W praktyce, narzędzia do obróbki grafiki czy modelowania 3D, takie jak Adobe Illustrator czy AutoCAD, oferują funkcje do precyzyjnego skalowania. Kluczowe jest zachowanie proporcji, co można osiągnąć poprzez skalowanie względem określonego punktu odniesienia. Transformacje geometryczne są fundamentalne w wielu dziedzinach, takich jak projektowanie graficzne, inżynieria czy animacja komputerowa, i są zgodne z najlepszymi praktykami, które promują efektywność i precyzję w pracy z obiektami wizualnymi.

Pytanie 5

Co PRZYSPIESZA wyszukiwanie danych, ale może spowolnić operacje zapisu (INSERT/UPDATE)?

A. reguły
B. klucze podstawowe
C. indeksy
D. wartości domyślne
Indeksy przyspieszają WYSZUKIWANIE danych (szybciej odnajdują wiersze), ale spowalniają zapis - przy każdym INSERT/UPDATE trzeba też zaktualizować indeks. Dlatego tę cechę mają indeksy.

Pytanie 6

Czym jest AJAX?

A. Systemem zarządzania bazą danych
B. Technologią asynchronicznej wymiany danych między klientem a serwerem bez przeładowania strony
C. Językiem programowania do tworzenia stron internetowych
D. Biblioteką JavaScript do animacji i efektów wizualnych
AJAX (Asynchronous JavaScript and XML) to technika, a nie język - pozwala przeglądarce wymieniać dane z serwerem ASYNCHRONICZNIE, w tle, bez przeładowania całej strony. Dzięki temu fragment widoku może zaktualizować się „w locie”, np. podpowiedzi wyszukiwarki przy pisaniu. Dlatego AJAX to technologia asynchronicznej wymiany danych między klientem a serwerem.

Pytanie 7

Model barw oparty na trzech parametrach: odcień (hue), nasycenie (saturation) i jasność (brightness/value) to

A. HSV
B. RGB
C. CMY
D. CMYK
Model HSV (zwany też HSB) opisuje barwę trzema parametrami: H - odcień (hue), S - nasycenie (saturation), V/B - jasność (value/brightness). Jest intuicyjny przy ręcznym doborze kolorów. Dlatego opisywany model to HSV.

Pytanie 8

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

A. zweryfikuje spójność danej tabeli
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 oraz naprawi uszkodzone rekordy
Polecenie DBCC CHECKDB 'sklepAGD' z opcją Repair_fast jest kluczowym narzędziem w zarządzaniu bazami danych w MS SQL Server, które służy do sprawdzenia integralności bazy danych oraz do naprawy uszkodzonych indeksów. Gdy podczas przetwarzania danych wykryte zostaną jakiekolwiek błędy spójności, DBCC CHECKDB generuje szczegółowy raport, który pomaga administratorowi w zrozumieniu stanu bazy. W kontekście zastosowań praktycznych, regularne korzystanie z DBCC CHECKDB jest zalecane jako część strategii utrzymania bazy danych, zwłaszcza w środowiskach produkcyjnych. Właściwe zarządzanie bazą danych, w tym regularne sprawdzanie jej spójności, może zapobiec poważnym awariom, które mogłyby prowadzić do utraty danych. Dobre praktyki branżowe sugerują, aby polecenie to było wykonywane w oknach konserwacyjnych, aby minimalizować wpływ na wydajność systemu, a także aby backups były wykonywane przed rozpoczęciem jakichkolwiek operacji naprawczych. Ponadto, zrozumienie działania DBCC CHECKDB i jego opcji, takich jak Repair_fast, jest niezbędne dla każdego administratora baz danych, aby skutecznie zarządzać problemami związanymi z integralnością danych.

Pytanie 9

W PHP, aby usunąć białe znaki z początku i końca ciągu tekstowego, można skorzystać z funkcji

A. sort()
B. time()
C. trim()
D. strlen()
Funkcja trim() w języku PHP jest niezwykle przydatna do usuwania zbędnych spacji oraz innych białych znaków z początku i końca ciągu znaków. Jest to funkcjonalność, która jest często wykorzystywana w różnych aplikacjach, szczególnie w kontekście przetwarzania danych wejściowych od użytkowników, gdzie niechciane spacje mogą prowadzić do błędów podczas walidacji lub przechowywania danych w bazie danych. Przykład użycia funkcji trim() jest prosty: jeśli mamy zmienną $text = ' Przykladowy tekst '; używając trim($text), otrzymamy 'Przykladowy tekst'. Funkcja ta przyjmuje również drugi argument, który pozwala na określenie dodatkowych znaków do usunięcia. Na przykład trim($text, "a ") usunie zarówno spacje, jak i litery 'a' z końców ciągu. Zgodnie z dokumentacją PHP, trim() jest częścią standardowej biblioteki funkcji stringowych, co czyni ją niezawodnym narzędziem w każdej aplikacji PHP."

Pytanie 10

Jednoznacznym identyfikatorem rekordu w bazie danych jest pole

A. klucza obcego.
B. wyłącznie typu tekstowego.
C. wyłącznie typu logicznego.
D. klucza głównego.
W tym zagadnieniu łatwo pomylić różne typy pól i ich role w bazie danych, szczególnie gdy ktoś dopiero zaczyna przygodę z SQL i projektowaniem relacyjnych baz danych. Jednoznaczny identyfikator rekordu to takie pole, które pozwala bez żadnych wątpliwości wskazać dokładnie jeden wiersz w tabeli. W standardzie relacyjnych baz danych tę rolę pełni klucz główny, oznaczany jako PRIMARY KEY. Klucz obcy jest często mylony z kluczem głównym, bo też dotyczy identyfikatorów, ale jego zadanie jest inne. Foreign key służy do tworzenia powiązań między tabelami – przechowuje wartości klucza głównego z innej tabeli. Sam w sobie nie musi być unikalny, wręcz przeciwnie, w relacji 1:N zwykle powtarza się wiele razy. Dlatego nie może być uznany za jednoznaczny identyfikator rekordu w swojej tabeli. Gdybyśmy próbowali identyfikować rekordy po kluczu obcym, szybko okazałoby się, że wiele wierszy ma tę samą wartość i nie da się wskazać jednego, konkretnego. Kolejny typ błędnego rozumowania to przekonanie, że o byciu identyfikatorem decyduje typ danych, np. logiczny albo tekstowy. Typ logiczny (BOOLEAN, TINYINT(1) itp.) ma zwykle tylko dwie możliwe wartości: true/false, 0/1. Nietrudno zauważyć, że w dowolnej realnej tabeli więcej niż dwa rekordy nie będzie mogło mieć unikalnej wartości takiego pola, więc nie da się w ten sposób jednoznacznie identyfikować wierszy. Typ tekstowy też sam w sobie niczego nie gwarantuje. Można mieć kolumnę VARCHAR z e-mailem użytkownika, ale jeśli nie nałożymy ograniczenia unikalności i nie oznaczymy jej jako klucz główny, baza danych nie będzie pilnowała, by wartości się nie powtarzały. Częsty błąd myślowy polega na tym, że skoro w praktyce „zazwyczaj” coś jest unikalne (np. PESEL, e-mail), to ktoś zakłada, że to automatycznie jest klucz główny. Tymczasem dopiero formalne zadeklarowanie PRIMARY KEY (ewentualnie UNIQUE + NOT NULL, ale to już bardziej obejście) nadaje kolumnie rolę jednoznacznego identyfikatora w sensie technicznym. Dlatego nie typ danych, nie to czy pole wygląda na ważne, tylko jego definicja jako klucza głównego w strukturze tabeli decyduje o tym, że identyfikuje rekord jednoznacznie.

Pytanie 11

Jaką wartość przyjmie zmienna a po wykonaniu poniższej sekwencji komend w PHP?

$a = 1;
$a++;
$a += 10;
--$a;
A. 1
B. 10
C. 12
D. 11
Początkowa wartość zmiennej a wynosi 1. Częstym błędem jest niewłaściwe zrozumienie działania operatorów inkrementacji i dekrementacji. W przypadku operatora postinkrementacji $a++ najpierw używana jest aktualna wartość zmiennej a a dopiero po tym następuje jej zwiększenie co daje 2. To zamieszanie może prowadzić do błędnego przekonania że wartość zmiennej wzrasta natychmiast co jest nieprawidłowe. Następnie instrukcja $a += 10 zwiększa wartość zmiennej o 10 co w rzeczywistości daje 12. Powszechnym błędem jest niedostateczne zrozumienie jak działają przypisania z dodawaniem co może skutkować nieoczekiwanymi wynikami. Ostatnia instrukcja --$a jest predekrementacją co oznacza że wartość zmiennej zmniejsza się przed jej użyciem co ostatecznie prowadzi do wartości 11. Często myli się to z postdekrementacją gdzie wartości byłyby używane przed zmniejszeniem co wpływa na kolejność operacji. Zrozumienie różnicy między pre- i post-operatorami jest niezbędne dla precyzyjnego przewidywania wyników kodu. Uwaga na te subtelności jest kluczowa dla unikania błędów logicznych w programowaniu i zapewnienia poprawnego działania aplikacji

Pytanie 12

W SQL polecenie ALTER TABLE służy do

A. zmiany danych w rekordach tabeli
B. usuwania tabeli z bazy danych
C. dodawania tabeli do bazy danych
D. zmiany kolumn w tabeli
Zrozumienie działania polecenia ALTER TABLE jest kluczowe w kontekście zarządzania bazami danych, ponieważ jego zastosowanie jest znacznie szersze niż sugerują to błędne odpowiedzi. Modyfikowanie danych rekordów w tabeli nie jest zadaniem ALTER TABLE; do tego celu używa się polecenia UPDATE, które pozwala na zmianę wartości w konkretnych kolumnach rekordów. Ponadto, usuwanie tabeli z bazy danych realizuje się za pomocą polecenia DROP TABLE, natomiast dodawanie nowych tabel wymaga użycia polecenia CREATE TABLE. Takie rozróżnienie jest podstawowe dla prawidłowego zarządzania bazą danych. Zrozumienie, że ALTER TABLE dotyczy struktury tabeli, a nie danych w nich zawartych, jest kluczowe dla unikania błędów w projektowaniu systemów baz danych. Często pomijanym aspektem jest również to, że zmiany wprowadzane przez ALTER TABLE mogą wpływać na integralność danych oraz wydajność operacji bazodanowych, dlatego praktyka dobrego zarządzania schematem bazy danych wymaga staranności i przemyślenia przed wykonaniem jakichkolwiek operacji zmieniających strukturę tabeli. Z tego powodu, użytkownicy powinni być świadomi, jakie polecenia są przeznaczone do konkretnych zadań, aby uniknąć nieporozumień i błędów w ich pracy.

Pytanie 13

Selektor CSS a:link {color:red} użyty w kaskadowych arkuszach stylów określa

A. pseudoklasę
B. pseudoelement
C. klasę
D. identyfikator
Odpowiedź, którą wybrałeś, to pseudoklasa. W CSS jest to typowa sprawa, bo selektor a:link to właśnie przykład użycia pseudoklas. Dzięki nim możesz stylizować różne elementy na podstawie ich stanu lub tego, jak się zachowują w dokumencie. Na przykład, selektor a:link definiuje styl dla linków, które jeszcze nie zostały odwiedzone - więc jeśli ktoś kliknął na link, zmienia się jego wygląd. Używając pseudoklas, możesz znacznie poprawić estetykę stron i sprawić, że będą bardziej przyjazne dla użytkowników. Pomyśl o takich pseudoklasach jak :hover, co zmienia styl, gdy najedziemy kursorem, albo :active, która wprowadza zmiany podczas klikania. To naprawdę dobra technika, żeby nadać stronom fajny, dynamiczny charakter. Rozumienie pseudoklas to istotna sprawa w web designie, a to, co się zgadza z tym, co mówi W3C, to dodatkowy atut.

Pytanie 14

Gdy zmienna $x przechowuje dowolną dodatnią liczbę naturalną, poniższy kod źródłowy PHP ma na celu wyświetlenie:

$licznik = 0;
while ($licznik != $x) 
{
    echo $licznik;
    $licznik++;
}
A. kolejne liczby od 0 do x-1
B. przypadkowe liczby z zakresu (0, x)
C. liczby wprowadzane z klawiatury, aż do momentu wprowadzenia wartości x
D. kolejne liczby od x do 0
Analizując niepoprawne odpowiedzi, można zauważyć kilka błędnych założeń. Pierwsze z nich zakłada, że kod ma za zadanie wyświetlać liczby wczytywane z klawiatury, aż wczytana zostanie wartość x. Nie jest to poprawne, ponieważ nie ma tu żadnej interakcji z użytkownikiem - wszystko odbywa się automatycznie na podstawie zadeklarowanej wartości x. Druga błędna odpowiedź sugeruje, że liczby są wyświetlane od x do 0, co jest nieprawidłowe, ponieważ pętla zaczyna od 0 i kończy na x-1. Trzecia niepoprawna odpowiedź sugeruje, że kod generuje losowe liczby z przedziału (0, x). Nie jest to prawda, ponieważ nie ma tu żadnego mechanizmu generowania liczb losowych. To błędne przypuszczenie wynika prawdopodobnie z niewłaściwego zrozumienia mechanizmu pętli i operacji na zmiennych. Wszystkie te błędne odpowiedzi pokazują, jak ważne jest prawidłowe rozumienie podstawowych konstrukcji języka programowania i mechanizmów sterowania przepływem danych.

Pytanie 15

Kiedy zachowana jest integralność ENCJI w bazie danych?

A. gdy klucz główny jest zawsze liczbą całkowitą
B. gdy każda kolumna ma przypisany typ danych
C. gdy każdy klucz główny ma odpowiadający klucz obcy w innej tabeli
D. gdy każda tabela ma utworzony klucz główny
Pozostałe warunki nie dotyczą integralności encji. Klucz główny nie musi być liczbą całkowitą (może być np. tekstem). Przypisanie typu kolumnom to osobna kwestia. Powiązanie z kluczem obcym w innej tabeli to integralność REFERENCYJNA, nie encji. Integralność encji zapewnia klucz główny w każdej tabeli.

Pytanie 16

Dla a = 5 i b = 3 które wyrażenie PHP zwróci wartość ZMIENNOPRZECINKOWĄ?

A.
a && b
B.
a / b
C.
a * b
D.
a + b
Dodawanie $a + $b (8) i mnożenie $a * $b (15) dają liczby CAŁKOWITE. $a && $b to operator logiczny AND - zwraca wartość prawda/fałsz, a nie liczbę. Wartość zmiennoprzecinkową daje dzielenie $a / $b.

Pytanie 17

W języku PHP zapisano fragment kodu działającego na bazie MySQL. Jego zadaniem jest wypisanie
$z=mysqli_query($db,"SELECT ulica, miasto, kod_pocztowy FROM adresy");
$a=mysqli_fetch_row($z);
echo "$a[1], $a[2]";

A. miasta i kodu pocztowego z pierwszego zwróconego wpisu
B. ulicy oraz miasta z pierwszego zwróconego wpisu
C. miasta i kodu pocztowego ze wszystkich zwróconych wpisów
D. ulicy oraz miasta ze wszystkich zwróconych wpisów
Pierwsza z niepoprawnych odpowiedzi sugeruje, że kod wypisuje ulicę i miasto z pierwszego zwróconego rekordu. Choć kod rzeczywiście korzysta z indeksów, to jednak nie wypisuje ulicy, lecz miasto i kod pocztowy. Kolejna odpowiedź sugeruje, że kod wyświetla ulicę i miasto ze wszystkich zwróconych rekordów. W rzeczywistości, kod jest skonstruowany w taki sposób, że ogranicza się do jednego wiersza danych, przez co nie ma możliwości wypisania informacji o wszystkich rekordach. Ostatnia z odpowiedzi stwierdza, że kod wypisuje miasto i kod pocztowy ze wszystkich zwróconych rekordów, co również jest błędne, ponieważ kod jedynie prezentuje dane pierwszego rekordu. Takie zrozumienie kodu może prowadzić do błędnych wniosków i nieprawidłowego użycia funkcji w praktyce tworzenia aplikacji webowych, dlatego kluczowe jest dokładne zapoznanie się z dokumentacją PHP oraz zasadami działania baz danych.

Pytanie 18

Której funkcji PHP użyć, aby NAWIĄZAĆ połączenie z serwerem bazy danych?

A.
mysqli_autocommit()
B.
mysqli_connect()
C.
mysqli_fetch_row()
D.
mysqli_get_connection_stats()
Aby PHP mogło rozmawiać z bazą, najpierw trzeba NAWIĄZAĆ połączenie - robi to mysqli_connect(host, uzytkownik, haslo, baza), np. mysqli_connect("localhost", "root", "", "sklep"). Funkcja zwraca uchwyt połączenia, którego potem używasz we wszystkich kolejnych operacjach (zapytaniach, pobieraniu wyników). To zawsze pierwszy krok pracy z bazą. Zapamiętaj nazwę: „connect” = połącz się z serwerem bazy danych.

Pytanie 19

Który paragraf w przedstawionym kodzie zostanie wyświetlony czcionką o kolorze niebieskim?

<!DOCTYPE html>
<html>
<head>
<style>
div~p { color: blue; }
</style>
</head>
<body>
  <div>
    <p>pierwszy paragraf</p>
      <div>
        <p>drugi paragraf</p>
        <p>trzeci paragraf</p>
      </div>
    <p>czwarty paragraf</p>
  </div>
</body>
</html>
A. Trzeci.
B. Pierwszy.
C. Czwarty.
D. Drugi.
Źródłem problemu w tym zadaniu jest zrozumienie, jak dokładnie działa selektor `div~p`. Na pierwszy rzut oka wiele osób patrzy po prostu na kolejność paragrafów w kodzie i zakłada, że skoro wewnątrz diva są kolejne `<p>`, to one wszystkie będą niebieskie. To jest typowe mieszanie działania selektora rodzeństwa z selektorem potomków. Zapis `div p` rzeczywiście oznaczałby „każdy paragraf znajdujący się gdziekolwiek wewnątrz diva”, ale w pytaniu użyto operatora tyldy `~`, który ma inne znaczenie. Selektor `div~p` wskazuje elementy `<p>`, które są rodzeństwem elementu `<div>`, czyli mają tego samego rodzica w drzewie DOM, i jednocześnie występują po nim w kodzie. To oznacza, że przeglądarka w ogóle nie patrzy na paragrafy zagnieżdżone głębiej, np. w dodatkowym `<div>` w środku. One nie są rodzeństwem, tylko potomkami, więc selektor ich nie obejmuje. Częsty błąd polega też na myleniu selektora `div~p` z `div+p`. Ten drugi wybiera wyłącznie pierwszy paragraf bezpośrednio po divie na tym samym poziomie, natomiast `~` obejmuje wszystkie późniejsze rodzeństwa danego typu. W tym przykładzie jedynym `<p>`, który jest na tym samym poziomie co zewnętrzny `<div>` i stoi po nim, jest „czwarty paragraf”. Pozostałe, mimo że wizualnie znajdują się „w środku” tego diva, nie są rodzeństwem, tylko są bardziej zagnieżdżone. Z mojego doświadczenia wynika, że dopóki nie narysuje się sobie drzewa DOM albo nie podejrzy struktury w DevTools, bardzo łatwo o takie pomyłki. Dobra praktyka w CSS to zawsze myśleć o relacjach: rodzic–dziecko, rodzeństwo, potomek, a dopiero potem o kolejności w kodzie. Dzięki temu selektory są pisane świadomie, bardziej precyzyjnie i nie powodują niespodziewanych efektów w większych projektach.

Pytanie 20

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 1
B. Instrukcja 3
C. Instrukcja 2
D. Instrukcja 4
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 21

Określ wynik działania załączonego kodu PHP, przy założeniu, że zmienna tab jest tablicą.

$tab = explode(", ", "jelenie,sarny,dziki,lisy,borsuki");
echo $tab[1]." ".$tab[2];
A. lisy borsuki
B. jelenie sarny
C. dziki lisy
D. sarny dziki
Zgadza się, Twoja odpowiedź jest właściwa. W tym kodzie PHP używamy funkcji 'explode()', żeby zamienić ciąg znaków na tablicę, używając przecinków do rozdzielenia. Potem, dwa elementy z tej tablicy, czyli drugi i trzeci, są wypisywane. Wynik tego kodu będzie różny w zależności od tego, co mamy w tablicy 'tab'. Dla tego przykładu, poprawna odpowiedź to 'sarny dziki'. Możemy przypuszczać, że po użyciu 'explode()' tablica wygląda tak: ['jakiś_element', 'sarny', 'dziki', ...]. To naprawdę przydatna funkcjonalność, zwłaszcza kiedy musimy przetwarzać dane od użytkownika lub z pliku. Funkcję 'explode()' często spotykamy w PHP, gdy bawi się z ciągami, i to dobry sposób na ich manipulację.

Pytanie 22

Jakie jest zadanie funkcji desaturacji w edytorze grafiki?

A. zwiększenie liczby kolorów w obrazie
B. przekształcenie barw do odcieni szarości
C. rozjaśnienie obrazu
D. zwiększenie jaskrawości (nasycenia) barw
Desaturacja to obróbka, która zmniejsza nasycenie barw aż do zera, przez co kolorowy obraz staje się czarno-biały (w odcieniach szarości). Zachowuje przy tym jasność pikseli - zmienia się tylko „kolorowość”, a nie to, jak jasny jest dany punkt. Stosuje się ją, gdy chcemy uzyskać efekt monochromatyczny albo przygotować obraz do dalszej obróbki. Pojęciowo jest przeciwieństwem zwiększania nasycenia (saturacji). Dlatego zadaniem desaturacji jest przekształcenie barw do odcieni szarości.

Pytanie 23

Tabela gory zawiera dane o polskich szczytach oraz górach, w których się one znajdują. Jakie zapytanie należy wykonać, aby zobaczyć Koronę Gór Polskich, czyli najwyższy szczyt w każdym z pasm górskich?

A. SELECT pasmo, szczyt, MAX(wysokosc) FROM gory;
B. SELECT pasmo, szczyt FROM gory GROUP BY wysokosc;
C. SELECT pasmo, szczyt, MAX(wysokosc) FROM gory GROUP BY pasmo;
D. SELECT pasmo, szczyt, wysokosc FROM gory;
Analizując pozostałe odpowiedzi, można zauważyć kluczowe błędy w podejściu do zadania. W pierwszej opcji, SELECT pasmo, szczyt, wysokosc FROM gory; kwerenda ta zwracałaby wszystkie rekordy z tabeli, co oznacza, że nie zrealizowano by celu znalezienia najwyższego szczytu w każdym pasmie. Brak użycia grupowania i funkcji agregującej prowadzi do nieefektywnego przetwarzania danych. Kolejna odpowiedź, SELECT pasmo, szczyt, MAX(wysokosc) FROM gory; wygląda na bliską poprawności, ale również nie spełnia wymogów, ponieważ nie zawiera klauzuli GROUP BY, co skutkuje błędem w kontekście SQL. Bez grupowania nie można poprawnie zidentyfikować wartości maksymalnych w odniesieniu do poszczególnych pasm. Dodatkowo, kwerenda SELECT pasmo, szczyt FROM gory GROUP BY wysokosc; jest całkowicie wadliwa, ponieważ grupuje dane według wysokości szczytów, co nie ma sensu w kontekście poszukiwania najwyższych szczytów w każdym pasmie. Takie podejście może prowadzić do niejednoznacznych i niepoprawnych wyników, które nie odpowiadają zadaniu. Typowe błędy myślowe, które prowadzą do takich wniosków, obejmują nieprawidłowe zrozumienie zasad grupowania i agregacji w SQL, co jest fundamentalne do skutecznego wykorzystania relacyjnych baz danych.

Pytanie 24

Dla strony internetowej stworzono grafikę rysunek.jpg o wymiarach: szerokość 200 px, wysokość 100 px. Jak można wyświetlić tę grafikę jako miniaturę – pomniejszoną z zachowaniem proporcji, używając znacznika?

A. <img src="rysunek.png" style="width: 50px">
B. <img src="rysunek.png" style="width: 25px; height:50px;">
C. <img src="rysunek.png">
D. <img src="rysunek.png" style="width: 25px; height:25px;">
Pozostałe odpowiedzi niestety nie trzymają się zasady zachowania proporcji, jak zmniejszamy grafikę. W pierwszej opcji, <img src="rysunek.png" style="width: 25px; height:50px"> zestawione wartości szerokości i wysokości są krzywe, co powoduje zniekształcenie obrazu. Oryginalny rysunek ma proporcje 2:1, a tu wychodzi 1:2, co może wprowadzać ludzi w błąd. W trzeciej opcji, <img src="rysunek.png"> brak wskazania szerokości i wysokości sprawia, że obrazek wyświetla się w swoim pierwotnym rozmiarze, a to nie jest cel, bo chcemy mieć miniaturę. A ostatnia odpowiedź, <img src="rysunek.png" style="width: 25px; height:25px;"> ustala jednakowe wymiary, przez co wychodzi kwadratowa miniaturka, co nie zgadza się z oryginalnymi proporcjami. Generalnie, niepoprawne odpowiedzi mogą wynikać z braku zrozumienia, dlaczego dbanie o proporcje w grafikach jest takie ważne. To kluczowe zagadnienie w projektowaniu stron, bo dobre proporcje to podstawa estetyki i funkcjonalności wizualnych elementów na stronie.

Pytanie 25

Użytkownik podał adres nieistniejącego zasobu na serwerze. Jaki błąd HTTP zostanie zwrócony?

A. 500
B. 503
C. 404
D. 400
Gdy serwer nie znajduje zasobu pod podanym adresem, zwraca kod HTTP 404 (Not Found). Należy on do klasy 4xx, czyli błędów po stronie klienta - tu chodzi o żądanie nieistniejącej strony lub pliku. Dlatego serwer zwróci 404.

Pytanie 26

Jakie imiona spełniają warunek klauzuli LIKE w zapytaniu

SELECT imie FROM mieszkancy WHERE imie LIKE 'o_%_a';
?
A. Oksana, Ola, Olga
B. Oktawia, Oktawian, Olga
C. Oksana, Oktawia, Olga
D. Oda, Oksana, Oktawia
Wybór imion Oda, Oksana, Oktawia jest błędny, ponieważ chociaż Oksana i Oktawia są poprawne, Oda nie spełnia wymagań klauzuli LIKE 'o_%_a'. Imię Oda zaczyna się na 'O', ale nie ma znaku, który by wypełniał miejsce reprezentowane przez '_' przed literą 'a', co oznacza, że nie ma żadnego znaku między 'O' a 'a'. Kluczowym błędem w analizie tego zapytania jest niedostrzeganie, że warunek LIKE wymaga, aby były przynajmniej dwa znaki w imieniu: jeden po 'o' oraz końcowy 'a'. Imiona Oktawian i Olga pojawiają się w różnych niepoprawnych odpowiedziach, ale nie są zgodne z wymaganiami, ponieważ nie wszystkie odpowiadają wzorowi. W przypadku imienia Oktawian, kończy się ono na 'n', a nie na 'a', co narusza klauzulę końcową. Zrozumienie zasadności stosowania klauzuli LIKE oraz jej składni jest kluczowe dla prawidłowego przetwarzania danych w zapytaniach SQL. Typowym błędem jest także pominięcie, że symbole wildcard muszą być stosowane z pełnym zrozumieniem ich funkcji w kontekście danych, co może prowadzić do niepoprawnych wyników w analizach i raportach.

Pytanie 27

W programowaniu istnieje tylko jeden typ danych, który może przyjąć tylko dwie wartości. Jak nazywa się ten typ?

A. znakowy
B. logiczy
C. ciągowy
D. tablicowy
Typ logiczny, znany również jako typ boolean, jest jedynym typem danych w językach programowania, który przyjmuje wyłącznie dwie wartości: prawda (true) i fałsz (false). To podstawowe założenie czyni go niezwykle ważnym w kontekście programowania, zwłaszcza w logice warunkowej oraz w kontrolowaniu przepływu programu. W praktyce typ logiczny jest szeroko stosowany w instrukcjach warunkowych, takich jak 'if', 'while' czy 'for', gdzie pozwala na podejmowanie decyzji na podstawie spełnienia określonych warunków. Na przykład w języku Python możemy sprawdzić, czy zmienna jest większa od zera, a wynik tej operacji będzie wartością typu logicznego, co pozwoli na podjęcie dalszych działań w programie. Ponadto, typ logiczny odgrywa kluczową rolę w strukturach danych, takich jak listy i słowniki, które mogą przechowywać warunki logiczne jako klucze. Zgodnie z dobrymi praktykami programistycznymi, zaleca się używanie typu logicznego w sytuacjach, gdzie wynik operacji powinien być jednoznaczny, co prowadzi do poprawy czytelności i utrzymywalności kodu.

Pytanie 28

Który obiekt bazy danych utworzyć, aby zaprezentować dane spełniające określone kryteria (np. do wydruku)?

A. makropolecenie
B. raport
C. formularz
D. relację
Pozostałe obiekty pełnią inne role. Formularz służy do WPROWADZANIA i edycji danych, a nie do prezentacji wydruku. Relacja to powiązanie między tabelami (element modelu, nie obiekt do druku). Makropolecenie automatyzuje czynności. Prezentację danych wg kryteriów zapewnia raport.

Pytanie 29

W analizowanym fragmencie algorytmu wykorzystano

Ilustracja do pytania
A. dwie pętle.
B. trzy bloki operacyjne (procesy).
C. jeden blok decyzyjny.
D. jedną pętlę.
Na tym schemacie blokowym mamy jedną pętlę, co oznacza, że jeden z kroków powtarza się aż do momentu, kiedy spełni się określony warunek. Pętle to podstawa programowania, bo dzięki nim możemy wielokrotnie coś robić, co jest super przydatne. Używamy ich na przykład do sortowania danych w tablicy albo przetwarzania informacji w aplikacjach. Warto pamiętać, żeby nie robić zbyt skomplikowanych pętli, bo mogą potem sprawiać problemy, co do łatwości w utrzymaniu kodu. Dobrze jest też dodawać komentarze do warunków kończących pętle, bo to znacznie poprawia czytelność. Na prezentowanym schemacie pętla jest przedstawiona jako połączenie bloku decyzyjnego z wcześniejszym krokiem, co pokazuje, że proces się powtarza – to całkiem typowe w takich schematach.

Pytanie 30

Aby usunąć wybrane wiersze (rekordy) z tabeli, należy użyć polecenia:

A.
DELETE
B.
ALTER
C.
SELECT
D.
GRANT
Wiersze z tabeli usuwa polecenie DELETE, zwykle z warunkiem WHERE wskazującym, które rekordy skasować, np. DELETE FROM klienci WHERE id = 5. Bez warunku usunęłoby wszystkie wiersze, dlatego stosuje się je ostrożnie. Tabela i jej struktura pozostają - znikają tylko dane. Dlatego do usuwania rekordów służy DELETE.

Pytanie 31

Która z funkcji zdefiniowanych w języku PHP zwraca jako wynik połowę kwadratu wartości podanej jako argument?

A. function licz($a) { echo $a/2; }
B. function licz($a) { return $a*$a/2; }
C. function licz($a) { echo $a*$a/2; }
D. function licz($a) { return $a/2; }
Niepoprawne odpowiedzi najczęściej wynikają z nieporozumień dotyczących działania funkcji w PHP. Na przykład, jeśli używasz 'echo' zamiast 'return', to funkcja nie oddaje wartości tam, gdzie jest wywołana. A to może być problematyczne, gdy naprawdę potrzebujemy tej wartości, jak na przykład do przypisania do zmiennej. Funkcje w stylu 'function licz($a) { echo $a/2; }' po prostu dzielą przez 2, a nie obliczają kwadratu, więc to nie spełnia wymagań pytania. Błędem jest mylenie 'echo' z 'return', bo to wprowadza zamieszanie i może prowadzić do trudności w naprawianiu błędów. Zrozumienie tej różnicy jest kluczowe, bo naprawdę pomaga w napisaniu czystego i modularnego kodu, co w programowaniu ma ogromne znaczenie.

Pytanie 32

Które pojęcie OOP oznacza dostęp do pól i metod TYLKO z poziomu klasy, w której je zadeklarowano?

A.
const
B.
static
C.
private
D.
public
Modyfikator private ogranicza dostęp do pól i metod TYLKO do wnętrza klasy, w której je zadeklarowano - z zewnątrz są niewidoczne. To realizacja hermetyzacji: chronisz wewnętrzny stan obiektu przed przypadkową zmianą. Zapamiętaj: private = „tylko dla tej klasy”.

Pytanie 33

W edytorze grafiki wektorowej stworzono przedstawiony kształt, który powstał z dwóch figur: trójkąta i koła. W celu stworzenia tego kształtu, po narysowaniu figur i odpowiednim ich ustawieniu, należy skorzystać z funkcji

Ilustracja do pytania
A. sumy.
B. wykluczenia.
C. różnicy.
D. rozdzielenia.
Wybór odpowiedzi 'Wykluczenia', 'Różnicy' lub 'Rozdzielenia' jest błędny w tym kontekście. Funkcje te są używane w innych celach w edytorach grafiki wektorowej. 'Różnica' jest używana do odejmowania jednej figury od innej, co nie jest potrzebne do tworzenia kształtu pokazanego na zdjęciu. 'Rozdzielenie' służy do rozdzielania złożonych kształtów na prostsze elementy, co także nie jest potrzebne w tym przypadku. 'Wykluczenia' używa się do tworzenia kształtów z wykluczeniem wspólnych obszarów. Często błędem jest mylenie tych funkcji i niewłaściwe ich stosowanie, co prowadzi do niespodziewanych wyników. Zasada jest taka, że każda z tych funkcji ma swoje specyficzne zastosowanie, i ważne jest zrozumienie tego, zanim zaczniemy pracować z edytorem grafiki wektorowej. W tym przypadku, aby uzyskać pokazany kształt, powinniśmy skorzystać z funkcji 'Sumy'.

Pytanie 34

Podczas definiowania pola id w tabeli MySQL użyto AUTO_INCREMENT. Co to oznacza?

id int NOT NULL AUTO_INCREMENT
A. wartość pola id zostanie nadana automatycznie przez bazę i będzie to losowo wygenerowana liczba całkowita
B. wartości dla tego pola będą generowane automatycznie przy dodawaniu nowego rekordu do bazy
C. możliwe jest dodanie rekordu z dowolną wartością pola id
D. pole id może przyjmować takie wartości jak: NULL, 1, 2, 3, 4 i tak dalej
Pole z definicją AUTO_INCREMENT w MySQL oznacza że podczas dodawania nowego rekordu do tabeli wartość tego pola jest automatycznie zwiększana najczęściej o jeden począwszy od wartości startowej. To zachowanie jest szczególnie przydatne w przypadku kluczy głównych gdzie unikalność jest wymagana. Jeśli mamy tabelę użytkowników i chcemy przypisać każdemu unikalny identyfikator możemy użyć AUTO_INCREMENT na kolumnie id. W ten sposób baza danych sama zadba o to by każda nowa wartość id była większa od poprzedniej co zapewnia automatyczne nadawanie kolejnych niepowtarzalnych wartości. Taka funkcjonalność jest zgodna z praktykami tworzenia baz danych i ułatwia zarządzanie danymi oraz ich integralność. Jest to również optymalizacja pod kątem wydajności ponieważ pozwala na szybkie dodawanie rekordów bez potrzeby ręcznego określania wartości klucza głównego. Dodatkowo zapewnia uporządkowane numerowanie rekordów co jest korzystne przy analizach i raportowaniu

Pytanie 35

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

A. aside {float: left; }
B. nav { float: left; } aside { float: left; }
C. nav { float: right; }
D. nav { float: right; } section { float: right; }
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa float, a nie tylko samo skojarzenie, że „left to lewo, right to prawo”. Wiele osób myśli, że wystarczy ustawić jeden element na lewo, drugi na prawo i wszystko magicznie się poukłada. W praktyce przeglądarka trzyma się bardzo konkretnych reguł: najpierw liczy kolejność elementów w HTML, potem dopiero stosuje float i układa je możliwie jak najwyżej i jak najbliżej odpowiedniej krawędzi.

Jeśli nada się float tylko dla aside albo tylko dla nav, to zmienia się ich pozycja, ale układ trzech bloków nie spełni warunku z zadania: aside i nav nie zamienią się miejscami z pozostawieniem section w środku. Przykładowo, samo float: left na aside niczego nie „zamieni”, bo element i tak pojawia się jako pierwszy w kodzie, więc będzie u góry, tylko że „przyklejony” do lewej. Z kolei ustawienie nav na prawą stronę bez odpowiedniego floatowania section prowadzi do sytuacji, gdzie section nadal zachowuje się jak normalny blok, zwykle ląduje pod elementami pływającymi albo obok nich w sposób mało przewidywalny dla początkującego.

Częsty błąd myślowy polega też na tym, że ktoś próbuje wszystkim elementom dać float: left, licząc na to, że przeglądarka „ułoży je po swojemu”. Wtedy jednak wszystkie te bloki ustawiają się w jednym kierunku, w kolejności z HTML, więc nie ma mowy o świadomym „zamienianiu miejsc”. Brak zrozumienia, że float wyjmuje element z normalnego przepływu i wpływa na to, jak kolejne elementy zawijają się wokół niego, prowadzi właśnie do takich błędnych odpowiedzi. Z mojego doświadczenia lepiej jest najpierw narysować sobie prosty schemat: w jakiej kolejności idą znaczniki i które z nich mają pływać w prawo, a które zostać w naturalnym układzie. Dopiero wtedy dobiera się konkretne deklaracje CSS. Takie myślenie przydaje się nie tylko przy float, ale też przy nauce flexboxa czy grida, gdzie kolejność w DOM i własności układu też grają ogromną rolę.

Pytanie 36

Aplikacja o nazwie FileZilla umożliwia

A. publikację strony internetowej na zdalnym serwerze
B. importowanie bazy danych do systemu CMS Joomla!
C. sprawdzanie poprawności plików HTML i CSS
D. przeprowadzanie testów aplikacji
FileZilla to popularny klient FTP (File Transfer Protocol), który umożliwia użytkownikom przesyłanie plików pomiędzy lokalnym komputerem a zdalnym serwerem. Głównym celem korzystania z FileZilla jest publikacja stron internetowych, co polega na załadowaniu plików HTML, CSS, obrazków oraz innych zasobów na serwer, gdzie strona będzie dostępna dla użytkowników w Internecie. Dzięki intuicyjnemu interfejsowi, użytkownicy mogą łatwo przeciągać i upuszczać pliki, co przyspiesza proces publikacji. FileZilla obsługuje różne protokoły, w tym FTP, FTPS oraz SFTP, co zapewnia bezpieczeństwo podczas transferu danych. Dobrą praktyką jest regularne aktualizowanie programu, aby korzystać z najnowszych funkcji i poprawek bezpieczeństwa. W kontekście publikacji stron internetowych, FileZilla stanowi kluczowe narzędzie dla web developerów, umożliwiając im szybkie i efektywne zarządzanie plikami na serwerach zdalnych. Używanie FileZilla wspiera standardy branżowe, takie jak bezpieczeństwo transferu danych oraz zdalne zarządzanie plikami, co jest niezbędne w profesjonalnym rozwoju stron internetowych.

Pytanie 37

Które z tabel będą poddane weryfikacji zgodnie z przedstawionym poleceniem?

CHECK TABLE pracownicy CHANGED;
A. Tabele, które zmieniły się w obecnej sesji
B. Tabele, które uległy zmianie od ostatniej kontroli lub nie zostały poprawnie zamknięte
C. Tylko te tabele, które nie mogły być poprawnie zakończone
D. Wyłącznie tabele odnoszące się do innych
Wybór odpowiedzi dotyczącej jedynie tabel, które nie zostały poprawnie zamknięte, nie uwzględnia pełnego zakresu zastosowania polecenia CHECK TABLE. To podejście ignoruje ważny aspekt, jakim jest monitorowanie wszelkich zmian, które miały miejsce od ostatniej inspekcji. Tabele mogą być zmieniane przez różne operacje, zarówno podczas aktualizacji, jak i w wyniku nieprawidłowego zakończenia sesji, co czyni istotnym ich kontrolowanie w szerszym ujęciu. Z kolei odpowiedź sugerująca, że tylko tabele referujące do innych powinny być sprawdzane, jest myląca, ponieważ takie ograniczenie do współzależności między tabelami nie odzwierciedla rzeczywistej natury problemów z integralnością danych. W praktyce, wszystkie tabele w bazie danych mogą wpływać na siebie nawzajem, a problemy w jednej tabeli mogą prowadzić do błędów w innych. Takie myślenie może prowadzić do zaniedbania, które naraża system na uszkodzenia, a nawet utratę danych. Właściwe podejście do zarządzania bazami danych powinno opierać się na całościowym przeglądzie stanu tabel, a nie na selektywnym podejściu, co może przyczynić się do nieefektywności i ryzyka utraty danych. Dlatego też skupienie się tylko na jednym aspekcie, takim jak niewłaściwe zamknięcie, jest niewystarczające dla zapewnienia integralności systemu.

Pytanie 38

Zaproponowany blok ilustruje operację

Ilustracja do pytania
A. wykorzystania wcześniej zdefiniowanej procedury lub funkcji
B. podjęcia decyzji
C. realizacji zadania w pętli
D. załadowania lub przedstawienia danych
Zastosowanie gotowej procedury lub funkcji odnosi się do sytuacji, w której programista korzysta z wcześniej zdefiniowanego zestawu instrukcji, które wykonują określone zadanie. Jest to kluczowy aspekt programowania proceduralnego i modularyzacji kodu, ale nie wiąże się bezpośrednio z podejmowaniem decyzji, chyba że te funkcje zawierają wewnętrzne warunki. Wczytanie lub wyświetlenie danych to operacje wejścia-wyjścia, które polegają na interakcji z użytkownikiem lub systemem plików. Choć mogą one być częścią logicznego przepływu programu, nie obejmują one decyzyjności jako swojej podstawowej funkcji. Zadania w pętli, takie jak iteracje za pomocą for czy while, umożliwiają wykonywanie zestawu instrukcji wielokrotnie, dopóki dany warunek jest spełniony. Są one istotne w kontekście operacji powtarzalnych, ale również nie spełniają kryterium podejmowania decyzji w znaczeniu przedstawionym w tym pytaniu. Typowe nieporozumienie polega na tym, że pętle mogą zawierać decyzje, jednak to nie one same stanowią mechanizm decyzyjny, tylko raczej wykorzystują go do kontrolowania liczby iteracji. Podjęcie decyzji jest więc odrębną, fundamentalną czynnością w programowaniu, umożliwiającą dynamiczność i elastyczność kodu poprzez warunkowe sterowanie przepływem programu.

Pytanie 39

Które polecenie nadaje użytkownikowi uczen najniższe uprawnienia (najmniejszą możliwość modyfikacji danych i struktury)?

A.
GRANT INSERT, DROP ON szkola.przedmioty TO uczen;
B.
GRANT DROP ON szkola.przedmioty TO uczen;
C.
GRANT ALTER, SELECT ON szkola.przedmioty TO uczen;
D.
GRANT SELECT ON szkola.przedmioty TO uczen;
Pozostałe polecenia nadają prawa MODYFIKUJĄCE. DROP pozwala usunąć obiekt, ALTER zmienić strukturę, a INSERT dodawać dane - to znacznie szersze uprawnienia. Najmniejszy zakres daje GRANT SELECT ON szkola.przedmioty TO uczen;.

Pytanie 40

Podczas testowania skryptu JavaScript można w konsoli wyświetlać obecnie przechowywane wartości zmiennych przy użyciu funkcji

A. console.warn()
B. console.log()
C. console.count()
D. console.error()
Funkcja console.log() jest najczęściej używaną metodą do wyświetlania informacji w konsoli JavaScript. Umożliwia ona programistom monitorowanie wartości zmiennych w czasie rzeczywistym, co jest niezwykle pomocne podczas debugowania aplikacji. Używając console.log(), można łatwo wprowadzić komunikaty do konsoli, co pozwala na śledzenie zachowań aplikacji oraz identyfikację potencjalnych problemów. Przykładowo, jeśli mamy zmienną 'x' i chcemy zobaczyć jej wartość, wystarczy wpisać console.log(x). Dobre praktyki inżynierii oprogramowania sugerują, aby używać tego narzędzia do logowania istotnych informacji, w tym danych wejściowych oraz wyników operacji, co ułatwia późniejszą analizę i utrzymanie kodu. Ponadto, console.log() jest częścią standardu Web API, co potwierdza jego znaczenie i powszechność w branży. Warto też pamiętać, że nadmierne logowanie może prowadzić do zagracenia konsoli, dlatego kluczowe jest stosowanie tej funkcji w umiarkowany sposób, szczególnie w środowisku produkcyjnym.