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: 23 kwietnia 2026 10:47
  • Data zakończenia: 23 kwietnia 2026 10:59

Egzamin zdany!

Wynik: 28/40 punktów (70,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

Na podstawie przydzielenia wartości do zmiennych w języku PHP można zauważyć, że

$zmienna1 = 15;
$zmienna2 = "15";
$zmienna3 = (string) $zmienna1;
A. zmienna1 i zmienna3 mają ten sam typ.
B. zmienna2 i zmienna3 mają ten sam typ.
C. zmienna1 i zmienna2 mają ten sam typ.
D. wszystkie zmienne mają ten sam typ.
Nie do końca to jest dobre, co mówisz, bo $zmienna1 to liczba całkowita (integer), a $zmienna2 to string. Typy danych w PHP mają znaczenie, bo różnie się zachowują w trakcie działania. Liczby są liczone, a teksty traktowane jako znaki. Mimo że obie pokazują "15", to ich typy są inne, co może prowadzić do błędów. Z $zmienna1 i $zmienna3 też jest nieciekawie, bo mimo że to liczby, to jednak typy się różnią - $zmienna1 to integer, a $zmienna3 to string. Często można się w tym pogubić, zakładając, że mając te same wartości, są też tego samego typu. Jak mówisz, że trzy zmienne są takie same, to pokazujesz, że nie do końca masz jasność co do typów w PHP. Pamiętaj, żeby zwracać uwagę na rzutowanie typów, bo niedopatrzenia mogą skutkować problemami w kodzie. Rekomenduję, żeby programiści regularnie sięgać do dokumentacji i używać dobrych praktyk, by lepiej ogarnąć temat typów danych w swoich projektach.

Pytanie 2

Po wykonaniu przedstawionego kodu PHP, w zmiennej $napis zostaje zapisany ciąg znaków.

$napis = "Programowanie w PHP";
$napis = substr($napis, 3, 5);
A. gramo
B. og
C. gr
D. ogram
W podanym kodzie PHP używana jest funkcja substr() która służy do wycinania fragmentu ciągu znaków. W tym przypadku mamy ciąg znaków 'Programowanie w PHP'. Funkcja substr() przyjmuje trzy argumenty: pierwszy to ciąg znaków drugi to pozycja startowa trzecia to długość wycinka. Pozycje w ciągu znaków w PHP zaczynają się od zera dlatego pozycja startowa 3 oznacza czwarty znak w ciągu co w przypadku 'Programowanie w PHP' odpowiada literze 'g'. Trzeci argument 5 oznacza że wycinamy pięć znaków zaczynając od pozycji 3. Stąd funkcja zwróci napis 'gramo'. Znajomość funkcji substr() jest przydatna w różnych sytuacjach na przykład podczas formatowania danych wejściowych lub wyodrębniania części łańcucha takich jak numery telefonów czy kody pocztowe. Ważne jest aby pamiętać że indeksowanie zaczyna się od zera co jest kluczowe przy używaniu tej funkcji. Dobre praktyki w programowaniu zalecają również traktowanie długości wycinka jako parametru opcjonalnego co umożliwia wycięcie do końca łańcucha.

Pytanie 3

W kodzie HTML 5, w celu walidacji wartości pola <input type="text"> za pomocą wyrażenia regularnego, należy użyć atrybutu

A. value
B. pattern
C. readonly
D. step
W tym pytaniu chodzi o konkretny mechanizm walidacji wbudowany w HTML5, a nie o ogólne właściwości pól formularza. Walidacja za pomocą wyrażeń regularnych jest w standardzie przypisana do jednego, ściśle określonego atrybutu – właśnie pattern. Inne atrybuty z listy pełnią zupełnie inne role i ich mylenie to dość typowy błąd przy nauce formularzy. Atrybut step jest używany do określania „kroku” dla wartości liczbowych lub dat, np. w input type="number" czy type="date". Pozwala zdefiniować, o ile ma się zwiększać lub zmniejszać wartość przy użyciu strzałek lub walidować, czy liczba jest wielokrotnością danego kroku. Przykład: step="0.5" przy liczbie zmiennoprzecinkowej. Nie ma on żadnego związku z wyrażeniami regularnymi ani ze zwykłym tekstem w type="text". value z kolei to po prostu wartość pola – początkowa (domyślna) lub aktualna, odczytywana i modyfikowana przez JavaScript lub wysyłana w formularzu. Ustawienie value nie waliduje danych, tylko je definiuje. Można wprawdzie ręcznie sprawdzać value w JS i dopasowywać je do regexa, ale to już logika skryptu, a nie działanie samego atrybutu w HTML. To pewnie częsty skrót myślowy: „wartość pola” vs. „sprawdzenie wartości pola”, ale przeglądarka sama z siebie nie waliduje na podstawie samego value. readonly natomiast blokuje możliwość edycji pola przez użytkownika, ale nadal wysyła jego wartość z formularzem. To przydatne, gdy chcemy coś pokazać, ale nie pozwolić na zmianę, np. wygenerowany identyfikator. Nie ma tu żadnej analizy treści, żadnego dopasowywania do wzorca – po prostu pole jest nieedytowalne. Czasem ktoś myśli: „skoro nie można tego zmienić, to jakby jest bezpieczne i zwalidowane”, ale to już bardziej kwestia logiki aplikacji, a nie mechanizmu walidacji. Mechanizm HTML5 do regexów jest jeden: pattern. Warto go łączyć z innymi atrybutami walidacyjnymi, jak required, minlength, maxlength, type, ale to właśnie pattern odpowiada za dopasowanie tekstu do określonego wzorca. Wszystko inne z tej listy pełni pomocnicze lub zupełnie inne funkcje i nie zastępuje typowej walidacji opartej o wyrażenia regularne.

Pytanie 4

Jakie parametry powinny być ustawione w funkcji biblioteki mysqli, aby umożliwić połączenie z serwerem oraz bazą danych?

mysqli_connect($a, $b, $c, $d) or die('Brak połączenia z serwerem MySQL.');
A. adres serwera - $a, nazwa bazy danych - $d, login - $b, hasło - $c
B. adres serwera - $a, nazwa bazy danych - $b, login - $c, hasło - $d
C. adres serwera - $c, nazwa bazy danych - $d, login - $a, hasło - $b
D. adres serwera - $c, nazwa bazy danych - $d, login - $b, hasło - $a
W przypadku niepoprawnych odpowiedzi można zauważyć typowe błędy związane z zrozumieniem argumentów funkcji mysqli_connect. Wiele osób myli kolejność zmiennych oraz ich znaczenie. Na przykład, podanie adresu serwera jako $c lub $d jest błędne, ponieważ pierwszy argument zawsze powinien wskazywać na adres serwera. Warto również zwrócić uwagę na znaczenie loginu i hasła – nie można ich zamieniać miejscami, ponieważ każdy z tych parametrów pełni inną funkcję w kontekście autoryzacji do bazy danych. W ramach dobrych praktyk programistycznych, istotne jest także stosowanie raz jeszcze uwierzytelnienia użytkownika, co pozwala uniknąć nieautoryzowanego dostępu do danych. Przykłady niepoprawnych odpowiedzi pokazują też, że błędne przypisanie nazw bazy danych do zmiennych może prowadzić do błędów w aplikacji, co w efekcie utrudnia jej działanie oraz zwiększa ryzyko wycieków danych. Kluczowe jest zrozumienie, że każdy parametr pełni specyficzną rolę w tworzeniu połączenia. Niezrozumienie tego kontekstu może prowadzić do trudności w dalszym programowaniu oraz w diagnostyce problemów z bazą danych.

Pytanie 5

Rodzaj zmiennej w języku JavaScript

A. powinien być zadeklarowany na początku skryptu
B. nie występuje
C. istnieje tylko jeden
D. następuje poprzez przypisanie wartości
W języku JavaScript typ zmiennej jest określany poprzez przypisanie wartości, co oznacza, że zmienna może przyjmować różne typy danych w trakcie działania programu. JavaScript jest językiem, który wspiera dynamiczne typowanie, co pozwala na elastyczność w programowaniu. Przykładowo, można zadeklarować zmienną i przypisać do niej wartość liczbową: let x = 5; a następnie przypisać wartość tekstową: x = 'Hello';. W momencie przypisania wartości, JavaScript automatycznie dostosowuje typ zmiennej w zależności od typu przypisanej wartości. To podejście jest zgodne z dobrymi praktykami programowania, ponieważ umożliwia łatwe tworzenie i modyfikowanie kodu, bez potrzeby wcześniejszego określania typów zmiennych, co jest charakterystyczne dla języków statycznie typowanych. Warto również zaznaczyć, że w JavaScript mamy do czynienia z różnymi typami danych, takimi jak liczby, łańcuchy tekstowe, obiekty, tablice czy wartości logiczne (boolean), co daje programistom dużą swobodę w modelowaniu danych.

Pytanie 6

Jakim sposobem w języku PHP można zapisać komentarz zajmujący kilka linii?

A. /* */
B. #
C. //
D. <!-- -->
W języku PHP, sposób komentowania bloku komentarza w kilku liniach to użycie znaków /* i */. Taki sposób pozwala na umieszczenie dowolnej ilości tekstu w obrębie tych znaków, co jest niezwykle przydatne, gdy chcemy opisać bardziej złożoną funkcję lub fragment kodu. Na przykład, w czasie tworzenia dokumentacji kodu, często stosujemy bloki komentarzy do szczegółowego opisania działania funkcji, parametrów oraz zwracanych wartości. Dzięki temu każdy programista, który będzie pracował z naszym kodem w przyszłości, może szybko zrozumieć jego przeznaczenie. Dobrą praktyką jest również umieszczanie daty aktualizacji oraz informacji o autorze w takich blokach, co ułatwia zarządzanie projektem. Stosowanie bloków komentarzy jest zgodne z konwencjami programistycznymi, co zwiększa czytelność kodu i jego późniejszą konserwację.

Pytanie 7

Na podstawie tabeli Towar zrealizowano poniższe zapytanie SQL: ```SELECT nazwa_towaru FROM `Towar` WHERE cena_katalogowa < 65 ORDER BY waga DESC``` Jaki będzie rezultat tej operacji?

Ilustracja do pytania
A. Papier ksero A4, Kredki 24 kolory, Zeszyt A5, Zeszyt A5 w linie
B. Papier ksero A4, Kredki 24 kolory, Zeszyt A5 w linie, Zeszyt A5
C. Zeszyt A5 w linie, Zeszyt A5, Kredki 24 kolory, Papier ksero A4
D. Zeszyt A5, Zeszyt A5 w linie, Kredki 24 kolory, Papier ksero A4
Zapytanie SQL selekcjonuje towary z tabeli Towar, których cena katalogowa jest mniejsza niż 65, a następnie sortuje wyniki malejąco według wagi. Dzięki temu otrzymujemy listę towarów uporządkowaną od najcięższego do najlżejszego, a jednocześnie wykluczamy towary, które nie spełniają kryterium ceny. W podanym zestawie danych znajdują się cztery towary spełniające warunek cenowy: Papier ksero A4, Zeszyt A5, Zeszyt A5 w linie i Kredki 24 kolory. Spośród tych towarów najcięższy jest Papier ksero A4 (2.3), następnie Kredki 24 kolory (0.3), Zeszyt A5 (0.13), a najlżejszy jest Zeszyt A5 w linie (0.12). Kolejność wyników odpowiada zatem prawidłowej odpowiedzi numer 3. W praktyce umiejętność tworzenia zapytań SQL z warunkami filtrowania i sortowania jest niezwykle istotna w analizie danych, umożliwiając precyzyjne wyodrębnienie potrzebnych informacji z dużych zbiorów danych. Dobrym standardem jest zawsze testowanie zapytań na przykładowych danych, aby potwierdzić poprawność wyników przed ich zastosowaniem w środowisku produkcyjnym.

Pytanie 8

Została stworzona baza danych z tabelą podzespoły, która zawiera pola: model, producent, typ, cena. W celu wyświetlenia wszystkich modeli pamięci RAM od firmy Kingston w porządku rosnącym według ceny, należy skorzystać z następującej kwerendy:

A. SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC
B. SELECT model FROM producent WHERE typ='RAM' OR producent='Kingston' ORDER BY podzespoly ASC
C. SELECT model FROM podzespoly WHERE typ='RAM' OR producent='Kingston' ORDER BY cena DESC
D. SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena DESC
Aby skutecznie wyświetlić wszystkie modele pamięci RAM firmy Kingston w kolejności od najtańszej do najdroższej, konieczne jest zrozumienie składni zapytań SQL oraz zasad filtrowania danych w bazie danych. Kwerenda SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC; jest poprawna, ponieważ precyzyjnie określa, że chcemy wybrać pole 'model' z tabeli 'podzespoly', gdzie warunki są spełnione dla typu 'RAM' oraz producenta 'Kingston'. Kluczowym aspektem jest użycie operatora AND, który zapewnia, że oba warunki muszą być spełnione, co pozwala na uzyskanie dokładnych wyników. Następnie, zastosowanie klauzuli ORDER BY cena ASC pozwala na posortowanie wyników w kolejności rosnącej według ceny, co jest istotne dla użytkowników poszukujących najtańszych opcji. Przykładem zastosowania tej kwerendy w praktyce może być analiza konkurencyjności cenowej produktów na rynku pamięci RAM, co jest istotne dla sprzedawców i konsumentów. W kontekście standardów SQL, konstrukcja ta przestrzega zasad definiowanych przez ANSI SQL, co czyni ją zgodną z większością systemów zarządzania bazami danych.

Pytanie 9

Instrukcja w SQL ALTER TABLE USA ... ma na celu

A. stworzenie nowej tabeli USA
B. przypisanie nowej wersji tabeli USA
C. zmianę tabeli USA
D. skasowanie tabeli USA
Polecenie ALTER TABLE w SQL to coś, co pozwala na zmiany w tabelach bazy danych. Możesz dzięki niemu dodawać nowe kolumny, usuwać je czy modyfikować, a nawet dodawać różne klucze lub indeksy. Na przykład, jeżeli chcesz dodać nową kolumnę w tabeli USA, użyjesz tego polecenia: ALTER TABLE USA ADD COLUMN NowaKolumna VARCHAR(255); Warto też wiedzieć, że ALTER TABLE jest częścią SQL DDL, czyli języka definiującego strukturę bazy danych. Dobrą praktyką jest robienie kopii zapasowych przed wprowadzaniem jakichkolwiek zmian, bo niechciane zmiany mogą prowadzić do utraty danych. Z tego, co mnie nauczyli, ważne jest też, by modyfikacje były przemyślane i przetestowane, zwłaszcza w kontekście zasad ACID (Atomicity, Consistency, Isolation, Durability). Bazy danych, jak MySQL czy PostgreSQL, mają różne sposoby na ułatwienie pracy z ALTER TABLE, co czyni je bardzo przydatnymi w codziennym zarządzaniu danymi.

Pytanie 10

W PHP do zapisywania informacji w pliku służy funkcja

A. fgets()
B. fopen()
C. fputs()
D. freadfile()
Funkcja fputs() w języku PHP jest używana do zapisywania danych do otwartego pliku. Działa na zasadzie wysyłania strumienia danych do pliku, co czyni ją odpowiednią do operacji zapisu. Przykładowe zastosowanie fputs() może wyglądać tak: najpierw należy otworzyć plik za pomocą funkcji fopen(), a następnie wykorzystać fputs() do zapisania danych. Na przykład: $file = fopen('dane.txt', 'w'); fputs($file, 'To jest przykładowy tekst.'); fclose($file); Warto pamiętać, że przy korzystaniu z funkcji fputs() istotne jest, aby plik był wcześniej otwarty w odpowiednim trybie (np. 'w' dla zapisu). W praktyce, fputs() jest zalecane do zapisu danych, ponieważ jest bardziej elastyczne od niektórych innych funkcji i pozwala na zapisywanie danych w formacie tekstowym. Dobre praktyki obejmują również sprawdzenie, czy otwarcie pliku zakończyło się sukcesem, co można zrobić poprzez odpowiednie warunki sprawdzające. Zrozumienie tej funkcji zwiększa efektywność programowania w PHP oraz umiejętność zarządzania danymi.

Pytanie 11

Przedstawiono efekt formatowania CSS oraz kod HTML. Jak należy zdefiniować styl, aby osiągnąć takie formatowanie?

<p>
Mimozami jesień się zaczyna,<br>
Złotawa, krucha i miła.<br>
To ty, to ty jesteś ta dziewczyna,<br>
Która do mnie na ulicę wychodziła.
</p>
Ilustracja do pytania
A. p::first-line { font-size: 200%; color: brown; }
B. #first-line { font-size: 200%; color: brown; }
C. .first-line { font-size: 200%; color: brown; }
D. p.first-line { font-size: 200%; color: brown; }
Gratulacje! Wybrałeś prawidłową odpowiedź. Pseudoelement ::first-line jest specyficznym selektorem CSS służącym do formatowania pierwszej linii wewnątrz bloku tekstu. Jest to zgodne ze standardami CSS3. Wszystkie style zdefiniowane za pomocą ::first-line będą miały wpływ tylko na pierwszą linię paragrafu, niezależnie od tego, ile zdań zawiera. W tym konkretnym przypadku, zastosowanie selektora `p::first-line` powoduje powiększenie czcionki do 200% oraz zmianę jej koloru na brązowy, ale tylko dla pierwszej linii tekstu zawartego w paragrafie (znacznik `<p>`). Jest to przydatne, gdy chcemy wyróżnić pierwszą linię tekstu, na przykład w dużej ilości tekstu lub artykułach. Pseudoelementy, takie jak ::first-line, pomagają w tworzeniu bardziej złożonych i precyzyjnych stylów bez konieczności dodawania dodatkowych znaczników do naszego kodu HTML.

Pytanie 12

Wskaż, które z poniższych zdań jest prawdziwe w odniesieniu do definicji stylu: ``````

A. Zdefiniowano dwie klasy
B. Akapit będzie przekształcany na małe litery
C. Jest to styl zasięg lokalny
D. Odnośnik będzie napisany czcionką o rozmiarze 14 punktów
W tym kodzie CSS masz zdefiniowane dwie klasy: 'niebieski' i 'czerwony', które są przypisane do elementów TD. To super, bo te klasy zmieniają kolor tekstu w tabeli, a to jest zgodne z tym, jak działają kaskadowe arkusze stylów (CSS). Klasa 'niebieski' ustawia tekst na niebiesko, a 'czerwony' na czerwono. Dzięki takim klasom można zaoszczędzić sporo czasu, bo używasz tych samych stylów w różnych miejscach w HTML. Widać, że pomyślałeś o organizacji swojego kodu. Dodatkowo, masz też style dla elementów P i A — P jest niebieski i ma czcionkę 14 punktów w kursywie, a A ma większą 16-punktową czcionkę. To pokazuje, jak elastyczne jest CSS w stylizacji różnych elementów. Fajnie, że trzymasz się dobrych praktyk w programowaniu, bo to naprawdę ułatwia późniejsze modyfikacje.

Pytanie 13

Jakiego ograniczenia (constraint) używa się do zdefiniowania klucza obcego?

A. AUTO_INCREMENT(ID)
B. UNIQUE KEY(ID)
C. FOREIGN KEY(ID)
D. PRIMARY KEY(ID)
Odpowiedź 'FOREIGN KEY(ID)' jest poprawna, ponieważ klucz obcy służy do definiowania relacji między tabelami w bazach danych. Klucz obcy to atrybut lub zestaw atrybutów w jednej tabeli, który odnosi się do klucza głównego innej tabeli. Przykładowo, w bazie danych, która obsługuje system zarządzania zamówieniami, tabela 'Zamówienia' może zawierać kolumnę 'KlientID', będącą kluczem obcym odnoszącym się do kolumny 'ID' w tabeli 'Klienci'. Użycie kluczy obcych pozwala na zapewnienie integralności referencyjnej, co oznacza, że każdy wpis w tabeli 'Zamówienia' musi odpowiadać istniejącemu klientowi w tabeli 'Klienci'. Dobrym praktykom w projektowaniu baz danych jest stosowanie kluczy obcych jako sposobu na unikanie niezgodności danych oraz na umożliwienie wykonywania zapytań z wykorzystaniem JOIN, co ułatwia uzyskiwanie skonsolidowanych informacji z różnych tabel. Ponadto, w przypadku usunięcia lub aktualizacji rekordów w tabeli źródłowej, można skonfigurować odpowiednie zasady, takie jak 'CASCADE', które automatycznie zaktualizują powiązane dane w tabeli docelowej, co jest istotne dla zachowania spójności danych.

Pytanie 14

Zdefiniowano bazę danych z tabelą sklepy, zawierającą pola: nazwa, ulica, miasto, branża. Aby odnaleźć wszystkie nazwy sklepów spożywczych znajdujących się wyłącznie we Wrocławiu, należy użyć kwerendy:

A. SELECT nazwa FROM sklepy WHERE branza='spożywczy' AND miasto='Wrocław';
B. SELECT sklepy FROM branza='spożywczy' WHERE miasto='Wrocław';
C. SELECT sklepy FROM nazwa WHERE branza='spożywczy' BETWEEN miasto='Wrocław';
D. SELECT nazwa FROM sklepy WHERE branza='spożywczy' OR miasto='Wrocław';
Żeby znaleźć wszystkie sklepy spożywcze tylko we Wrocławiu, stosujemy kwerendę SQL: SELECT nazwa FROM sklepy WHERE branza='spożywczy' AND miasto='Wrocław'; Ta kwerenda jest OK, bo używa klauzuli WHERE, żeby zawęzić wyniki. Klauzula AND jest bardzo ważna, bo tak naprawdę pozwala na spełnienie obu warunków naraz. Jeśli mamy tabelę 'sklepy', gdzie są różne dane o sklepach, to ta kwerenda zwróci tylko te, które pasują do obu kryteriów. Myślę, że to dobrze pokazuje, jak działa normalizacja baz danych, która mówi, żeby unikać duplikatów przez dokładne filtrowanie. Użycie AND gwarantuje, że dostaniemy wyniki, które są naprawdę zgodne z naszym zapytaniem. Na przykład jeśli w tabeli mamy 'Sklep A, ul. X, Wrocław, spożywczy' i 'Sklep B, ul. Y, Poznań, spożywczy', to nasza kwerenda odda tylko 'Sklep A'.

Pytanie 15

W analizowanym fragmencie algorytmu wykorzystano

Ilustracja do pytania
A. jedną pętlę.
B. jeden blok decyzyjny.
C. trzy bloki operacyjne (procesy).
D. dwie pętle.
W tym algorytmie na schemacie nie ma dwóch pętli, co jest pewnym nieporozumieniem. Gdyby były dwie pętle, to mielibyśmy dwa różne fragmenty kodu, które by się powtarzały, a tutaj tego nie widać. Często ludzie mylą zagnieżdżanie pętli z posiadaniem kilku pętli, a to jest całkiem inna sprawa. Mówiąc, że algorytm ma jeden blok decyzyjny, to również jest błąd, bo schemat pokazuje kilka bloków decyzyjnych, co jest normalne, gdy algorytm podejmuje różne decyzje na różnych etapach. W algorytmach zazwyczaj jest kilka bloków decyzyjnych, co pozwala na dynamiczne zarządzanie danymi. Co do trzech bloków operacyjnych, to też jest nieprawda. Bloki operacyjne wykonują operacje na danych, które są efektem decyzji z bloków decyzyjnych. Aby dobrze zrozumieć schematy blokowe, trzeba umieć rozpoznać te elementy, co jest kluczowe w analizie i projektowaniu algorytmów. Niepoprawne zrozumienie struktury algorytmu może prowadzić do błędów przy jego implementacji, co w konsekwencji wpływa na wydajność i poprawność działania.

Pytanie 16

Wskaż nieprawdziwe zdanie dotyczące normalizacji dźwięku.

A. Normalizacja polega na obniżeniu poziomu najgłośniejszej próbki w sygnale do określonej wartości, a następnie w odniesieniu do niej proporcjonalnym zwiększeniu głośności pozostałej części sygnału.
B. Gdy najgłośniejszy fragment dźwięku ma wartość pół na skali, to wszystkie dźwięki zostaną wzmocnione dwukrotnie - w ten sposób najgłośniejszy fragment osiągnie maksymalną wartość na skali.
C. Funkcja normalizacja znajduje się w menu programu do edycji dźwięku.
D. Podczas normalizacji poziom głośności całego nagrania jest wyrównywany.
Twoja odpowiedź dobrze wskazuje na to, jak działa normalizacja. Generalnie chodzi o to, żeby dostosować głośność całego nagrania tak, aby najgłośniejszy fragment nie był za cichy. Kiedy ten najgłośniejszy kawałek jest na poziomie 50%, normalizacja podnosi głośność całego nagrania, żeby ten fragment był na maksa. W praktyce to też oznacza, że inne, cichsze części nagrania też będą głośniejsze, co jest ważne, bo pozwala to utrzymać przyjemny balans w dźwięku. Normalizacja jest bardzo powszechna, zwłaszcza w produkcji muzyki, żeby różne utwory miały podobny poziom głośności, bo różnice mogą być dość irytujące podczas słuchania. Ważne, żeby zawsze sprawdzić, czy po normalizacji nie ma jakichś zniekształceń czy clippingu. Czasem warto też używać normalizacji razem z innymi technikami, jak kompresja, żeby osiągnąć jeszcze lepszy efekt końcowy.

Pytanie 17

W CSS, aby ustawić wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć zapisu

A. p {line-height: 30px;}
B. p {text-spacing: 30px;}
C. p {text-indent: 30px;}
D. p {line-indent: 30px;}
Odpowiedź p {text-indent: 30px;} jest prawidłowa, ponieważ właściwość text-indent w CSS służy do określenia wcięcia pierwszej linii akapitu. Wartość 30px oznacza, że pierwsza linia każdego akapitu zostanie przesunięta o 30 pikseli w prawo, co jest często stosowaną praktyką w celu poprawy czytelności tekstu. Dobrą praktyką jest stosowanie wcięć w dłuższych tekstach, co pozwala na bardziej uporządkowane i estetyczne przedstawienie treści. Przykładem zastosowania może być wcięcie w blogach czy artykułach, gdzie struktura tekstu ma znaczenie dla odbiorcy. Warto pamiętać, że właściwość text-indent działa tylko na pierwszą linię akapitu, co oznacza, że kolejne linie pozostają w standardowej pozycji. Używanie text-indent jest zgodne z dobrymi praktykami projektowania stron internetowych, które podkreślają znaczenie czytelności i estetyki tekstu.

Pytanie 18

W znaczniku meta w miejsce kropek należy wpisać

Ilustracja do pytania
A. informację o dostosowaniu do urządzeń mobilnych
B. język dokumentu
C. streszczenie treści strony
D. nazwa edytora
W znaczniku meta nie umieszcza się nazwy edytora, ponieważ znaczniki meta służą do przekazywania informacji o stronie internetowej dla przeglądarek i wyszukiwarek, a nie o narzędziach użytych do jej edycji. Nazwa edytora jest niezwiązana z funkcjonowaniem strony lub jej indeksowaniem przez wyszukiwarki. Język dokumentu jest określany za pomocą atrybutu lang w znaczniku html, a nie w meta tagu. Atrybut lang wspomaga przeglądarki i narzędzia asystujące w określeniu języka treści, co jest niezbędne do poprawnego wyświetlania i przetwarzania tekstu. Informacja o dostosowaniu do urządzeń mobilnych również nie jest umieszczana w znaczniku meta description. Zamiast tego stosuje się znacznik viewport, który instruuje przeglądarki mobilne, jak skalować i wyświetlać stronę. Poprawne użycie znacznika viewport jest kluczowe dla responsywności strony i jej optymalnego wyświetlania na różnych urządzeniach. Niepoprawne zrozumienie tych zastosowań może prowadzić do błędnego konstruowania stron, co wpływa na ich widoczność i funkcjonalność w różnych środowiskach internetowych. Każdy znacznik HTML ma określone funkcje i zastosowania, które są często regulowane przez standardy W3C i najlepsze praktyki w branży web developmentu. Zrozumienie tych zasad pozwala na tworzenie efektywnych i zgodnych z normami stron internetowych.

Pytanie 19

Co chce osiągnąć poniższe zapytanie MySQL?

ALTER TABLE ksiazki
MODIFY tytul VARCHAR(100) NOT NULL;
A. Usunąć kolumnę tytul z tabeli ksiazki
B. Dodać do tabeli ksiazki kolumnę tytul
C. Zmienić typ kolumny w tabeli ksiazki
D. Zmienić nazwę kolumny w tabeli ksiazki
Polecenie SQL ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL; służy do zmiany typu kolumny tytul w tabeli ksiazki. W tym przypadku typ kolumny jest zmieniany na VARCHAR(100), co oznacza, że będzie przechowywać łańcuchy znaków o maksymalnej długości 100 znaków, a dodatkowo kolumna ta nie może przyjmować wartości NULL. Użycie ALTER TABLE i MODIFY pozwala na dynamiczną modyfikację struktury tabeli bez konieczności jej usuwania i ponownego tworzenia, co jest korzystne w dużych systemach bazodanowych, gdzie minimalizacja czasu przestoju jest kluczowa. Praktyczne zastosowanie polecenia MODIFY jest szerokie i obejmuje sytuacje, w których wymagane są zmiany w przechowalności danych, na przykład aby dostosować się do nowych wymagań biznesowych lub normatywnych. Warto pamiętać o dopasowaniu zmian do istniejących danych i zapewnieniu spójności bazy danych, co jest dobrą praktyką w zarządzaniu bazami danych.

Pytanie 20

Jak nazywa się składnik bazy danych, który umożliwia jedynie przeglądanie informacji z bazy, prezentując je w formie tekstowej lub graficznej?

A. Formularz
B. Tabela
C. Zapytanie
D. Raport
Tabela to jakby podstawowy element bazy danych, gdzie trzymamy dane w sposób uporządkowany. Ale to nie jest takie narzędzie, które pokazuje gotowe raporty. Tabele służą do wprowadzania i edytowania danych, więc mogą pojawić się niejasności, bo niektórzy mogą mylić rolę tabel z raportami. Zapytanie z kolei to mechanizm do wyciągania danych z bazy. Ale ono samo w sobie nie pokazuje ich w przystępny sposób. Zapytania można wykorzystać do przygotowania danych do raportu, ale to nie jest to samo, co je wyświetlać. A formularz to interaktywny element, który zazwyczaj wykorzystuje się do wprowadzania danych przez użytkowników, a nie do ich odczytu. Więc nawet jeśli formularze mogą wyświetlać dane, ich głównym celem jest dać ludziom możliwość wpisywania informacji do systemu. Jak się nie rozumie tych różnych elementów bazy danych, to można łatwo trafić na błędne wnioski, jak dane są analizowane. Ważne jest, żeby pamiętać, że raporty służą do analizy i wizualizacji danych, a nie do ich przechowywania czy wprowadzania.

Pytanie 21

Które z poniższych twierdzeń o definicji funkcji pokazanej w ramce jest prawdziwe?

function czytajImie(){
  var imie=null;
  do {
    imie=prompt("podaj imie: ");
    if (imie.length<3)
    alert("wprowadzony tekst jest niepoprawny");
  } while(imie.length<3);
}
A. Funkcja zawiera pętlę, która powtarza się 3 razy
B. Wczytanie tekstu zakończy się, gdy tekst będzie miał co najmniej 3 znaki
C. Tekst będzie wczytywany do czasu podania liczby większej niż 3
D. Pętla zostanie uruchomiona tylko raz
Funkcja czytajImie zawiera pętlę do-while która działa dopóki długość wprowadzonego ciągu znaków jest mniejsza niż 3 co oznacza że zakończenie pętli nastąpi gdy użytkownik wprowadzi tekst o długości co najmniej 3 znaków W praktyce oznacza to że funkcja wymaga od użytkownika podania imienia które będzie miało przynajmniej trzy znaki co jest powszechną praktyką podczas walidacji danych wejściowych w celu zapewnienia minimalnej ilości informacji Pętla do-while jest szczególnie przydatna w sytuacjach gdy musimy zagwarantować przynajmniej jedno wykonanie bloku kodu co tutaj pozwala na przynajmniej jednorazowe wywołanie okna prompt do wprowadzenia danych Tego typu walidacja jest podstawą podczas programowania interfejsów użytkownika gdzie poprawność i kompletność danych wejściowych jest kluczowa dla dalszego przetwarzania danych Warto również zauważyć że stosowanie tego rodzaju pętli w kontekście walidacji danych zwiększa użyteczność aplikacji poprzez zapewnienie że dane są zgodne z wymaganiami przed ich dalszym przetwarzaniem

Pytanie 22

Atrybut, który definiuje lokalizację pliku graficznego w znaczniku <img>, to

A. href
B. alt
C. src
D. link
Atrybut 'src' (source) w znaczniku <img> jest kluczowy, ponieważ określa lokalizację pliku graficznego, który ma być wyświetlany na stronie internetowej. Bez tego atrybutu przeglądarka nie byłaby w stanie załadować i wyświetlić obrazka, co skutkowałoby pustym miejscem w interfejsie użytkownika. Dobrym przykładem zastosowania atrybutu 'src' jest umieszczanie zdjęć produktów w sklepie internetowym, gdzie obrazek jest kluczowym elementem zachęcającym do zakupu. Na przykład, używając znacznika <img src='ścieżka/do/obrazka.jpg' alt='opis obrazka'>, programiści mogą nie tylko wyświetlić grafikę, ale także dostarczyć opis alternatywny, co jest zgodne z zasadami dostępności w sieci. W praktyce, dobrym zwyczajem jest przechowywanie grafik w odpowiednich katalogach oraz dbanie o optymalizację ich rozmiaru, aby poprawić czas ładowania strony oraz doświadczenia użytkownika. Warto również zwrócić uwagę na poprawne wykorzystanie protokołów, takich jak HTTPS, co zwiększa bezpieczeństwo przesyłanych danych oraz zaufanie użytkowników.

Pytanie 23

W CSS zapis w postaci

 h1::first-letter {color: red;} 

spowoduje, że kolor czerwony zostanie zastosowany do

A. pierwszej linii akapitu
B. pierwszej litery nagłówka w drugim stopniu
C. pierwszej litery nagłówka w pierwszym stopniu
D. tekstu nagłówka w pierwszym stopniu
Zapis <span>h1::first-letter {color: red;} </span> jest w porządku, bo korzysta z pseudoelementu :first-letter, który działa na pierwszą literkę w nagłówku h1. To całkiem fajne, bo możemy w ten sposób stylizować tę pierwszą literę i nadać nagłówkom ciekawszy wygląd. Na przykład, jeśli mamy nagłówek h1 z napisem 'Witaj świecie', to dzięki temu kodowi, litera 'W' zrobi się czerwona. W CSS warto ogarnąć, że :first-letter działa tylko na bloki, takie jak nagłówki czy akapity, więc warto to mieć na uwadze, gdy coś stylizujemy. Używanie pseudoelementów to dobre podejście do tworzenia ładnych i funkcjonalnych interfejsów, a przy okazji daje nam większą kontrolę nad tym, jak wyglądają nasze elementy.

Pytanie 24

Element bazy danych, którego podstawowym celem jest generowanie lub prezentowanie zestawień informacji, to

A. raport
B. makro
C. formularz
D. moduł
Makro w bazach danych to trochę inna historia. To służy do automatyzacji, żeby szybko zrobić skomplikowane rzeczy, a nie do prezentacji danych. W sumie, to w ogóle nie jest to, czego szukamy w tym pytaniu. Moduł to z kolei po prostu fragment kodu, który robi coś określonego w bazach danych. Ale znowu, on nie służy do pokazywania danych. Moim zdaniem, moduły są ważne do rozwijania funkcji aplikacji, ale nie mają nic wspólnego z wizualizacją. Formularz to narzędzie do wprowadzania danych i edytowania ich, co jest istotne, ale też nie pozwala na drukowanie czy pokazywanie zestawień. Tak ogólnie, makra, moduły i formularze mają różne zastosowania, które nie dotyczą raportów, które są stworzone właśnie do analizy i prezentacji danych.

Pytanie 25

DOM oferuje metody i właściwości, które w języku JavaScript umożliwiają

A. manipulowanie łańcuchami zadeklarowanymi w kodzie
B. pobieranie oraz modyfikowanie elementów strony widocznej w przeglądarce
C. przesyłanie danych formularza bezpośrednio do bazy danych
D. przeprowadzanie operacji na zmiennych przechowujących liczby
Zarówno wysyłanie danych formularza bezpośrednio do bazy danych, jak i manipulowanie zadeklarowanymi w kodzie łańcuchami są podejściami, które mogą być mylące w kontekście funkcji DOM. Przede wszystkim, DOM nie jest odpowiedzialny za interakcję z bazami danych. Wysyłanie danych formularza do bazy danych odbywa się zazwyczaj poprzez technologię backendową, taką jak PHP, Node.js czy Python, która przetwarza dane po stronie serwera. Użytkownik nie może bezpośrednio łączyć się z bazą danych z poziomu przeglądarki, co jest kluczowym aspektem bezpieczeństwa aplikacji internetowych. Ponadto, manipulacja łańcuchami w kontekście DOM również nie jest jego funkcją. DOM jest skoncentrowany na reprezentacji strukturalnej dokumentu, a nie na operacjach na danych. Takie operacje powinny być realizowane w kontekście zmiennych JavaScript, a nie za pośrednictwem DOM. Zrozumienie różnicy między tymi technologiami jest fundamentalne, aby uniknąć nieporozumień w programowaniu oraz zapewnić poprawne funkcjonowanie aplikacji. Typowe błędy myślowe obejmują mylenie pojęć związanych z front-endem i back-endem, co może prowadzić do błędnych wniosków na temat architektury aplikacji. Kluczowe jest, aby programiści zdawali sobie sprawę, że każdy komponent aplikacji ma swoje specyficzne zadania i odpowiedzialności.

Pytanie 26

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

A. debugowanie
B. przetwarzanie na kod maszynowy
C. kompilowanie
D. interpretowanie
Wykonywanie kodu JavaScript wymaga zrozumienia różnych procesów, które mogą mylnie sugerować, że debugowanie, zamiana na kod maszynowy czy kompilowanie są kluczowe w tym kontekście. Debugowanie to proces identyfikacji i naprawy błędów w kodzie, który odbywa się już po interpretacji kodu. Kiedy kod jest uruchamiany, programista może używać narzędzi debugujących dostępnych w przeglądarkach, aby analizować działanie skryptu, co jednak nie jest wymogiem do jego wykonania. Zamiana na kod maszynowy oraz kompilowanie dotyczą języków programowania, które nie są interpretowane, a ich kod źródłowy jest przekształcany do postaci zrozumiałej dla procesora przed uruchomieniem. Przykładem mogą być języki takie jak C++ czy Java, które wymagają złożonego procesu kompilacji. W przypadku JavaScript, silnik interpretuje kod w czasie rzeczywistym, co pozwala na natychmiastowe wykonanie skryptów bez wcześniejszego kompilowania, co jest dużą zaletą w kontekście tworzenia aplikacji webowych. Pojęcie kompilacji może prowadzić do nieporozumień, ponieważ niektóre nowoczesne narzędzia, takie jak TypeScript, mogą wymagać kompilacji, ale to nie zmienia faktu, że czysty JavaScript jest interpretowany. Dlatego kluczowym elementem pracy z JavaScript w przeglądarkach jest zrozumienie jego interpretacyjnej natury oraz umiejętność korzystania z narzędzi dostępnych dla programistów.

Pytanie 27

Głównym celem systemu CMS jest oddzielenie treści portalu informacyjnego od jego wyglądu. Taki efekt osiąga się przez generowanie zawartości

A. z bazy danych oraz wyglądu za pomocą atrybutów HTML
B. ze statycznych plików HTML oraz wyglądu za pomocą technologii FLASH
C. ze statycznych plików HTML oraz wyglądu ze zdefiniowanego szablonu
D. z bazy danych oraz wyglądu ze zdefiniowanego szablonu
Wybór błędnych odpowiedzi wskazuje na niepełne zrozumienie architektury systemów zarządzania treścią. Odpowiedzi sugerujące generowanie zawartości z 'statycznych plików HTML' nie uwzględniają kluczowej zasady, jaką jest elastyczność i efektywność dynamicznego zarządzania treścią. Statyczne pliki HTML są trudne do aktualizacji, co powoduje, że zmiany w treści są czasochłonne i zwiększają ryzyko błędów. Przykładowo, w przypadku wprowadzenia istotnych zmian w treści, takich jak aktualizacje informacji o produktach, każda zmiana wymagałaby ręcznej edycji wielu plików, co jest niepraktyczne i nieefektywne. Ponadto, wykorzystanie technologii FLASH do generowania wyglądu jest przestarzałym podejściem, które nie jest już wspierane przez większość nowoczesnych przeglądarek internetowych. FLASH nie tylko ogranicza dostępność treści na urządzeniach mobilnych, ale także stwarza zagrożenia związane z bezpieczeństwem. Ostatecznie, podejścia te nie są zgodne z najlepszymi praktykami branżowymi, które kładą nacisk na wykorzystanie responsywnych, łatwych w zarządzaniu szablonów i dynamicznych baz danych, co jest kluczowe dla sukcesu nowoczesnych aplikacji internetowych.

Pytanie 28

Polecenie MySQL:

ALTER TABLE ksiazki
    MODIFY tytul VARCHAR(100) NOT NULL;
Przedstawione polecenie MySQL ma za zadanie
A. dodać do tabeli ksiazki kolumnę tytul
B. zmienić nazwę kolumny w tabeli ksiazki
C. zmienić typ kolumny tytul w tabeli ksiazki
D. usunąć kolumnę tytul z tabeli ksiazki
Polecenie ALTER TABLE w przedstawionym zapytaniu jest używane do modyfikacji struktury istniejącej tabeli w bazie danych MySQL. W szczególności, zapytanie zmienia typ kolumny 'tytul' w tabeli 'ksiazki' na VARCHAR(100) oraz ustawia ten typ jako NOT NULL, co oznacza, że ta kolumna nie może zawierać wartości NULL. Typ VARCHAR jest typem danych zmiennych o długości, co pozwala na przechowywanie ciągów znaków o zmiennej długości do 100 znaków. Zmiana typu kolumny może być przydatna w sytuacjach, gdy chcemy zmienić sposób przechowywania danych lub dostosować je do nowych wymagań aplikacji. Przykładem może być sytuacja, w której początkowo tytul był przechowywany jako tekst o stałej długości (np. CHAR), ale później zdecydowano, że lepszym rozwiązaniem będzie przechowywanie go jako VARCHAR dla oszczędności miejsca. W kontekście standardów SQL, modyfikacja kolumny zgodnie z definicją standardu SQL jest dopuszczalna, pod warunkiem, że nie narusza ona reguł dotyczących integralności danych i typów. Warto również pamiętać, że zmiana typu kolumny w bazie danych może wymagać migracji danych, co należy uwzględnić w planowaniu zmian.

Pytanie 29

Przedstawiony w ramce fragment kwerendy SQL ma za zadanie wybrać

SELECT COUNT(wartosc) FROM ...
A. liczbę wierszy.
B. średnią w kolumnie wartosc.
C. sumę w kolumnie wartosc.
D. liczbę kolumn.
Poprawnie: wyrażenie SELECT COUNT(wartosc) ma za zadanie zwrócić liczbę wierszy, w których kolumna wartosc nie jest pusta (czyli nie ma wartości NULL). Funkcja agregująca COUNT() w SQL właśnie do tego służy – zlicza rekordy. W wersji COUNT(nazwa_kolumny) zliczane są tylko te wiersze, gdzie w tej kolumnie znajduje się jakaś konkretna wartość. To jest ważne rozróżnienie: COUNT(*) liczy wszystkie wiersze w tabeli lub wyniku kwerendy, natomiast COUNT(wartosc) pomija rekordy z NULL w tej kolumnie. Moim zdaniem to jedna z podstawowych rzeczy, które trzeba mieć „w ręku”, pracując z bazami danych. W praktyce używa się tego np. do sprawdzenia, ilu klientów podało numer telefonu, ilu pracowników ma przypisaną premię, ile zamówień ma ustawioną datę realizacji itd. Zamiast ręcznie przeglądać dane, odpalasz prostą kwerendę: SELECT COUNT(telefon) FROM klienci; i od razu wiesz, ile jest uzupełnionych pól. Dobre praktyki mówią też, żeby świadomie wybierać pomiędzy COUNT(*) a COUNT(kolumna), bo dają one różne wyniki przy brakach danych. W raportowaniu biznesowym to ma ogromne znaczenie, bo łatwo wyciągnąć złe wnioski, jeśli ktoś nie rozumie, co dokładnie liczy dana funkcja. W projektach komercyjnych COUNT() jest jedną z najczęściej używanych funkcji agregujących obok SUM(), AVG(), MIN() i MAX(), więc warto od razu nauczyć się jej poprawnej interpretacji i stosowania w połączeniu z klauzulą WHERE oraz GROUP BY, żeby liczyć wiersze spełniające konkretne warunki, np. ilu użytkowników aktywowało konto w danym miesiącu.

Pytanie 30

Formatem grafiki wektorowej jest

A. GIF
B. PNG
C. JPG
D. SVG
Poprawnie – format SVG to grafika wektorowa. SVG (Scalable Vector Graphics) jest oparty na XML i opisuje obraz za pomocą figur geometrycznych: linii, krzywych, prostokątów, okręgów, wielokątów oraz tekstu. Dzięki temu obraz nie składa się z pikseli, tylko z równań matematycznych, więc można go dowolnie skalować bez utraty jakości – logo w SVG będzie równie ostre na wizytówce, jak i na ogromnym billboardzie czy ekranie 4K. To jest właśnie główna przewaga grafiki wektorowej nad rastrową. Moim zdaniem w świecie webowym SVG to dzisiaj standard dla ikon, logotypów, prostych ilustracji, wykresów czy schematów. Przeglądarki traktują SVG jako natywny format wspierany przez specyfikację W3C, można go osadzać bezpośrednio w kodzie HTML (inline) albo jako zewnętrzny plik. Co ważne, elementy SVG da się stylować za pomocą CSS i animować przy użyciu CSS lub JavaScript, co daje ogromne możliwości w interfejsach użytkownika i nowoczesnych stronach WWW. W praktyce dobrym podejściem jest używanie SVG wszędzie tam, gdzie grafika ma być skalowalna, lekka i ostra na różnych urządzeniach: responsywne ikony menu, grafiki w interfejsie aplikacji webowych, piktogramy, infografiki. Dodatkowo SVG często ma mniejszy rozmiar pliku niż odpowiednik PNG w wysokiej rozdzielczości, zwłaszcza gdy obraz składa się głównie z prostych kształtów. Z mojego doświadczenia to jeden z kluczowych formatów, które warto dobrze ogarnąć, jeśli myśli się poważnie o grafice komputerowej i front-endzie.

Pytanie 31

Baza danych zawiera tabelę artykuły z kolumnami: nazwa, typ, producent, cena. Aby wypisać wszystkie nazwy artykułów jedynie typu pralka, których cena mieści się w zakresie od 1000 PLN do 1500 PLN, należy użyć zapytania

A. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 AND 1500
B. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 OR 1500
C. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena BETWEEN 1000 AND 1500
D. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena FROM 1000 TO 1500
Ta odpowiedź jest prawidłowa, ponieważ wykorzystuje polecenie SQL w odpowiedni sposób, aby wybrać nazwy artykułów, które spełniają określone kryteria. Słowo kluczowe 'BETWEEN' jest używane do określenia wartości w przedziale, co w tym przypadku oznacza, że cena artykułów musi mieścić się między 1000 a 1500 PLN. W połączeniu z warunkiem 'AND' zapewnia, że tylko te artykuły, które są typu 'pralka' i mają cenę w podanym przedziale, zostaną wyświetlone. W praktyce takie zapytanie jest niezwykle użyteczne w kontekście e-commerce, gdzie często przeprowadza się filtrowanie produktów według określonych parametrów. Dobrą praktyką w programowaniu SQL jest również używanie podwójnych cudzysłowów dla wartości tekstowych, co jest zgodne z niektórymi standardami SQL, chociaż w wielu systemach baz danych akceptowane są również pojedyncze cudzysłowy. Przykłady zastosowania tego zapytania można znaleźć w systemach zarządzania zapasami, gdzie potrzebne jest szybkie generowanie list produktów spełniających specyficzne wymagania klientów.

Pytanie 32

Polecenie serwera MySQL w postaci

REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost'
spowoduje, że użytkownikowi tKowal zostaną
A. odebrane uprawnienia usuwania oraz dodawania rekordów w tabeli pracownicy
B. odebrane prawa usuwania i modyfikowania danych w tabeli pracownicy
C. przydzielone uprawnienia do usuwania oraz aktualizowania danych w tabeli pracownicy
D. przydzielone uprawnienia do wszelkich zmian struktury tabeli pracownicy
Odpowiedź wskazuje, że użytkownikowi tKowal odebrane zostały prawa usuwania i modyfikowania danych w tabeli pracownicy za pomocą polecenia REVOKE. W kontekście zarządzania uprawnieniami w MySQL, polecenie REVOKE jest kluczowym narzędziem, które umożliwia administratorom bazy danych kontrolowanie dostępu użytkowników do różnych operacji na danych. W tym przypadku, przy użyciu REVOKE DELETE, UPDATE, administrator zdejmuje z użytkownika tKowal możliwość usuwania (DELETE) oraz aktualizowania (UPDATE) rekordów w tabeli pracownicy. Praktycznym zastosowaniem tej funkcji może być sytuacja, gdy administrator chce ograniczyć dostęp do wrażliwych danych, aby zapobiec przypadkowemu lub nieuprawnionemu usunięciu informacji. Dobrą praktyką jest regularne przeglądanie i aktualizowanie uprawnień użytkowników, aby zapewnić, że mają oni tylko te uprawnienia, które są im niezbędne do wykonywania swoich obowiązków, co przyczynia się do zwiększenia bezpieczeństwa danych.

Pytanie 33

Dane są liczby całkowite różne od zera w tablicy nazwanej tab. Podany poniżej kod w języku PHP ma na celu

Ilustracja do pytania
A. obliczenie wartości bezwzględnej poszczególnych elementów tablicy
B. zmienić wszystkie elementy tablicy na liczby o przeciwnym znaku
C. wyliczenie iloczynu wszystkich wartości w tablicy
D. zmienić wartości tablicy na te zapisane w zmiennej liczba
Pierwsza odpowiedź sugeruje że kod oblicza iloczyn wszystkich liczb w tablicy co jest błędnym podejściem. Kod pokazany na obrazku nie zawiera żadnej zmiennej akumulującej wynik iloczynu ani pętli która wykonałaby mnożenie wszystkich elementów tablicy. Zamiast tego każda liczba jest po prostu mnożona przez -1 co zmienia jej znak ale nie prowadzi do akumulacji kolejnych wyników. Druga odpowiedź błędnie zakłada że kod oblicza wartość bezwzględną elementów co wymagałoby użycia funkcji abs() w PHP. Kod nie zmienia elementów na ich wartości bezwzględne tylko zmienia ich znaki na przeciwne. Taka transformacja nie jest równoznaczna z obliczeniem wartości bezwzględnej. Czwarta odpowiedź myli działanie kodu z zamianą elementów na stałą wartość przechowywaną w zmiennej liczba. Kod nie przypisuje żadnej stałej wartości do elementów tablicy ale modyfikuje ich istniejące wartości zmieniając tylko ich znaki. Tego rodzaju błędy wynikają z niezrozumienia działania operatora referencji w PHP oraz mechanizmu iteracji i modyfikacji tablicy. Poprawne rozumienie tych koncepcji jest kluczowe w programowaniu aby unikać nieoczekiwanych rezultatów i błędów logicznych w kodzie. Właściwe stosowanie foreach oraz operacji matematycznych w PHP pozwala na skuteczne i wydajne przetwarzanie danych co jest istotnym elementem w codziennej pracy programisty. Praktyka i doświadczenie w stosowaniu tych technik są niezbędne do osiągnięcia biegłości w programowaniu.

Pytanie 34

Atrybut NOT NULL kolumny jest konieczny w przypadku

A. użycia atrybutu DEFAULT
B. określenia wszystkich pól typu numerycznego
C. określenia wszystkich pól tabeli
D. klucza podstawowego
Atrybut NOT NULL jest kluczowym elementem w definicji kolumn w bazach danych, szczególnie w kontekście klucza podstawowego. Klucz podstawowy ma na celu unikalne identyfikowanie każdego rekordu w tabeli, co wymaga, aby wszystkie jego kolumny były wypełnione wartościami. Oznaczenie kolumny jako NOT NULL zapewnia, że nie można wprowadzić rekordu bez podania wartości dla tej kolumny, co jest zgodne z zasadą integralności danych. Przykładem może być tabela użytkowników, gdzie kolumna 'ID' jest kluczem podstawowym. Oznaczenie jej jako NOT NULL zapobiega sytuacji, w której mogłoby istnieć kilka rekordów bez unikalnego identyfikatora. Przy projektowaniu baz danych, zgodnie z zasadami normalizacji, klucze podstawowe powinny zawsze mieć atrybut NOT NULL, aby zachować spójność danych oraz ułatwić operacje związane z łączeniem tabel. Dobre praktyki sugerują również, aby każdy klucz podstawowy był prosty i jednoznaczny, co dodatkowo podkreśla potrzebę tego atrybutu.

Pytanie 35

W języku PHP nie można wykonać

A. Tworzenia dynamicznej treści strony
B. Obsługiwania danych z formularzy
C. Dynamicznej zmiany treści strony HTML w przeglądarce
D. Operacji na danych zgromadzonych w bazie danych
Przetwarzanie danych formularzy, przetwarzanie danych zgromadzonych w bazie danych oraz generowanie dynamicznej zawartości strony to wszystkie operacje, które PHP wykonuje na serwerze. Przetwarzanie danych formularzy jest jednym z podstawowych zastosowań PHP; skrypty PHP odbierają dane wysłane przez użytkowników, wykonują na nich różne operacje, takie jak walidacja czy zabezpieczenie, a następnie mogą zapisywać je w bazie danych lub wykorzystywać do generowania odpowiedzi. Korzystając z PHP, programiści mogą łączyć się z bazami danych, takimi jak MySQL, aby przetwarzać duże ilości danych. To pozwala na dynamiczne generowanie treści na stronie w odpowiedzi na zapytania użytkowników, co czyni aplikacje bardziej interaktywnymi. Generowanie dynamicznej zawartości oznacza, że na podstawie danych wejściowych PHP może tworzyć różnorodne widoki, które są dostosowane do potrzeb użytkowników. Często jednak zapomina się, że przetwarzanie tych danych i generowanie odpowiedzi odbywa się jedynie na etapie serwera, co ogranicza jego zdolność do reagowania na zmiany w czasie rzeczywistym na stronie bez ponownego załadowania. To prowadzi do mylnego wrażenia, że PHP może również zmieniać zawartość strony w przeglądarce, co nie jest prawdą. Do osiągnięcia takich efektów konieczne jest wykorzystanie języków skryptowych działających po stronie klienta, takich jak JavaScript, które są odpowiedzialne za interakcję z DOM i dynamiczne modyfikowanie treści wyświetlanej użytkownikowi.

Pytanie 36

Który efekt został zaprezentowany na filmie?

A. Zmiana jasności zdjęć.
B. Przenikanie zdjęć.
C. Zwiększenie ostrości zdjęcia.
D. Zmniejszenie kontrastu zdjęcia.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 37

Wartość atrybutu w tabeli, który pełni rolę klucza głównego

A. jest używana do szyfrowania zawartości tabeli
B. musi być unikalna
C. może przyjmować wartość null (NULL)
D. nigdy nie jest innego typu niż numeryczny
Klucz podstawowy w bazach danych to coś, co naprawdę musi być unikalne, żeby każda informacja w tabeli była dobrze zidentyfikowana. Przykładowo, w tabeli 'Klienci' mamy kolumnę 'ID_klienta'. To jest dobry klucz podstawowy, bo każdy klient musi mieć swój własny numer, żeby nie było sytuacji, gdzie dwóch klientów ma ten sam identyfikator. Gdyby klucz podstawowy był taki sam dla różnych rekordów, mogłoby to wywołać spore zamieszanie przy aktualizacjach czy usuwaniu danych. Warto też pamiętać, że są takie rzeczy jak indeksy, które mogą pomóc w zapewnieniu, że klucz podstawowy jest unikalny i przyspiesza wyszukiwanie danych. Można użyć kluczy naturalnych, które mają sens w kontekście danych, albo kluczy syntetycznych, które system tworzy sam, jak na przykład GUID-y. Z mojego doświadczenia, to znajomość tych zasad naprawdę pomaga w lepszym projektowaniu baz danych.

Pytanie 38

Jaką rozdzielczość przyjmuje standard HDTV?

A. 1920x1080 px
B. 1280x1024 px
C. 704x576 px
D. 720x480 px
Standard HDTV (High Definition Television) definiuje różne rozdzielczości, z których 1920x1080 px, znana również jako Full HD (FHD), jest jedną z najpopularniejszych. Ta rozdzielczość oznacza 1920 pikseli w poziomie oraz 1080 pikseli w pionie, co zapewnia proporcje obrazu 16:9. Dzięki tak wysokiej liczbie pikseli, Full HD oferuje znacznie większą szczegółowość i ostrość obrazu w porównaniu do standardów SD (Standard Definition). Rozdzielczość 1920x1080 px jest powszechnie stosowana w telewizorach, monitorach komputerowych, projektorach oraz w streamingu treści wideo, co czyni ją uniwersalnym standardem w branży. Przykłady zastosowań obejmują transmisje telewizyjne, filmy Blu-ray, gry wideo oraz platformy streamingowe, które często oferują treści w tej rozdzielczości. Ponadto, standard HDTV obejmuje również inne rozdzielczości, takie jak 1280x720 px (HD Ready), jednak 1920x1080 px pozostaje złotym standardem dla jakości obrazu.

Pytanie 39

Jakie z poniższych warunków logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w zakresie 6, 203>?

A. (zm1 > 6) || (zm1 != 203)
B. (zm1 > 6) && (zm1 <= 203)
C. (zm1 > 6) || (zm1 <= 203)
D. (zm1 > 6) && (zm1 != 203)
Odpowiedź (zm1 > 6) && (zm1 <= 203) jest poprawna, ponieważ używa operatora logicznego AND (&&), co oznacza, że oba warunki muszą być spełnione, aby wyrażenie zwróciło wartość prawda (true). Zmienna zm1 musi być większa od 6 oraz jednocześnie mniejsza lub równa 203, co dokładnie definiuje przedział wartości. Takie podejście jest zgodne z najlepszymi praktykami programistycznymi, gdzie ważne jest precyzyjne określenie zakresu wartości. W zastosowaniach praktycznych, na przykład w walidacji danych użytkowników, możemy użyć tego wyrażenia do sprawdzenia, czy wiek wprowadzony przez użytkownika mieści się w dozwolonym zakresie. Warto zrozumieć, że korzystając z operatora AND, eliminujemy przypadki, w których zmienna zm1 byłaby na przykład równa 6 lub 203, co może być istotne w kontekście określonych ograniczeń biznesowych. W programowaniu ważne jest, aby warunki były jasno definiowane, co sprzyja lepszej czytelności kodu oraz minimalizuje ryzyko błędów.

Pytanie 40

Który z podanych kodów XHTML sformatuje tekst zgodnie z określonym schematem?

Ilustracja do pytania
A. Odpowiedź A
B. Odpowiedź D
C. Odpowiedź C
D. Odpowiedź B
Poprawna odpowiedź D zawiera poprawne znaczniki XHTML i HTML, które umożliwiają formatowanie tekstu według wzoru. W pierwszym wierszu tekst Ala ma kota używa znacznika b do pogrubienia słowa kota, co jest zgodne ze standardami, ponieważ b jest szeroko stosowanym tagiem HTML do semantycznego pogrubienia tekstu. Następnie użyty jest znacznik br do wstawienia przerwy w linii, co sprawia, że kolejna część tekstu pojawia się w nowej linii, odzwierciedlając układ zaprezentowany na obrazku. W drugim wierszu tekst a kot ma Alę, znacznik i został użyty do pochylania słowa kot, co jest zgodne z praktykami formatowania tekstu, gdzie i oznacza kursywę. Zamknięcie całego tekstu w znacznikach p paragrafu zapewnia również odpowiedni odstęp i formatowanie, co jest zgodne z semantycznym i strukturalnym organizowaniem treści w dokumencie XHTML. Podejście to odzwierciedla dobre praktyki kodowania, w tym stosowanie właściwych znaczników dla odpowiednich stylów oraz zapewnienie kompatybilności z różnymi przeglądarkami.