Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 20:02
  • Data zakończenia: 8 czerwca 2026 20:13

Egzamin zdany!

Wynik: 27/40 punktów (67,5%)

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 filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

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

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

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

Pytanie 2

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

A. UPDATE pracownicy SET plec='K' WHERE imie LIKE '%a';
B. ALTER TABLE pracownicy SET plec='K' WHERE imie='%a';
C. ALTER TABLE pracownicy SET plec='K' WHERE imie LIKE '%a';
D. UPDATE pracownicy SET plec='K' WHERE imie='%a';
Poprawna jest kwerenda: UPDATE pracownicy SET plec='K' WHERE imie LIKE '%a';. Po pierwsze użyty jest właściwy typ polecenia SQL do modyfikacji danych w tabeli. Do zmiany wartości w istniejących rekordach zawsze używamy instrukcji UPDATE, a nie ALTER TABLE. ALTER TABLE służy do zmiany struktury tabeli (np. dodanie kolumny, zmiana typu danych, usunięcie kolumny), a nie do operowania na danych w wierszach. To jest taki podstawowy podział: DDL (Data Definition Language) – np. ALTER TABLE, CREATE, DROP – do definicji struktury; DML (Data Manipulation Language) – np. SELECT, INSERT, UPDATE, DELETE – do pracy na rekordach. W tym zadaniu ewidentnie potrzebna jest operacja DML.
Druga ważna rzecz to warunek WHERE imie LIKE '%a'. Operator LIKE służy do porównywania tekstów z wykorzystaniem wzorców. Symbol % oznacza „dowolny ciąg znaków (również pusty)”, więc wzorzec '%a' oznacza: dowolny ciąg znaków zakończony literą „a”. Dokładnie o to chodzi w zadaniu: przyjmujemy założenie, że każde imię żeńskie kończy się na „a”, więc chcemy zaktualizować wszystkie rekordy, gdzie kolumna imie kończy się na „a”. Gdybyśmy chcieli szukać imion zaczynających się na „A”, używalibyśmy 'A%'.
Moim zdaniem warto zapamiętać ten schemat, bo w praktyce bardzo często stosuje się LIKE do prostych filtrów tekstowych: wyszukiwanie użytkowników po fragmencie loginu, znajdowanie produktów po części nazwy, filtrowanie adresów e-mail po domenie itp. Przykład: UPDATE klienci SET status='VIP' WHERE nazwisko LIKE 'Nowak%'; – zaktualizuje wszystkich Nowaków. Albo: UPDATE produkty SET promocja=1 WHERE nazwa LIKE '%kabel%'; – zaznaczy jako promocyjne wszystkie produkty, których nazwa zawiera słowo „kabel”. W dobrych praktykach zaleca się uważać z aktualizacjami bez WHERE, bo wtedy zmieniamy wszystkie rekordy w tabeli. Tutaj warunek LIKE '%a' pełni rolę bezpiecznego filtra. W wielu systemach bazodanowych warto też pamiętać, że domyślnie porównania tekstowe mogą być niewrażliwe na wielkość liter (collation), więc 'a' i 'A' mogą być traktowane tak samo, ale to już zależy od konfiguracji bazy. W kontekście egzaminów zawodowych i pracy z SQL-em takie zadanie to klasyk – łączy poprawne użycie UPDATE z właściwym użyciem LIKE i symbolu % jako wieloznakowego wildcarda.

Pytanie 3

W której superglobalnej tablicy w PHP należy przechowywać informacje dotyczące logowania użytkownika w sposób gwarantujący ich bezpieczeństwo?

A. $_FILES
B. $_SESSION
C. $_SERVER
D. $_COOKIE
Wybór $_COOKIE do przechowywania danych logowania to kiepski pomysł z kilku powodów. Ciasteczka są trzymane po stronie klienta, co znaczy, że mogą być łatwo dostępne dla innych, a to stwarza poważne zagrożenie dla bezpieczeństwa. Na przykład, hakerzy mogą wykraść ciasteczka przez różne techniki, takie jak XSS, co mogłoby prowadzić do nieautoryzowanego dostępu do kont. Poza tym, ciasteczka mają ograniczoną pojemność i użytkownik może je modyfikować, co czyni je nieodpowiednim miejscem na wrażliwe dane. Używanie $_FILES także jest nietrafione, bo ta tablica służy do obsługi plików przesyłanych przez użytkowników, a nie zarządzania sesjami. $_SERVER to z kolei tablica, która ma informacje o serwerze oraz zapytaniach, ale nie nadaje się do trzymania danych użytkowników. Typowym błędem przy wyborze $_COOKIE czy $_SERVER jest to, że nie rozumie się ich funkcji, co może prowadzić do niebezpiecznych sytuacji. Żeby dobrze zabezpieczyć dane logowania, najlepiej korzystać z sesji, bo są zaprojektowane właśnie do tego i oferują znacznie lepszą ochronę.

Pytanie 4

Tabela filmy dysponuje kluczem głównym id oraz kluczem obcym rezyserlD. Tabela rezyserzy posiada klucz główny id. Obie tabele są połączone relacją jeden do wielu, gdzie rezyserzy są po stronie jeden, a filmy po stronie wiele. Jak należy zapisać kwerendę SELECT, aby połączyć tabele filmy i rezyserzy?

A. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.filmylD ...
B. ... filmy JOIN rezyserzy ON filmy.rezyserlD = rezyserzy.filmylD ...
C. ... filmy JOIN rezyserzy ON filmy.rezyserlD = rezyserzy.id ...
D. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.id ...
Wybór błędnych opcji opiera się na nieprawidłowym zrozumieniu relacji między tabelami oraz zasad normalizacji danych. W pierwszej z niepoprawnych odpowiedzi użycie 'filmy.rezyserlD = rezyserzy.filmylD' błędnie zakłada, że 'filmylD' jest kluczem w tabeli 'rezyserzy', podczas gdy w rzeczywistości jest to klucz obcy w tabeli 'filmy'. Może to prowadzić do nieporozumień podczas analizy danych. W drugiej odpowiedzi, porównanie 'filmy.id = rezyserzy.filmylD' wprowadza dodatkowy błąd, ponieważ klucz 'id' w tabeli 'filmy' jest niezwiązany z 'filmylD', co skutkuje odwołaniem do niewłaściwych danych. Z kolei trzecia odpowiedź, w której porównuje się 'filmy.id = rezyserzy.id', całkowicie ignoruje relację między tymi tabelami, co prowadzi do niepoprawnych wyników, jako że oba 'id' są kluczami głównymi w swoich tabelach i nie powinny być ze sobą porównywane. Typowe błędy myślowe w tym przypadku wynikają z nieprawidłowego rozumienia działania kluczy obcych oraz sposobu, w jaki tabele są ze sobą powiązane. Kluczowe jest, aby przy projektowaniu bazy danych zrozumieć, jak relacje między tabelami wpływają na struktury zapytań. Aby skutecznie pracować z bazami danych, ważne jest, aby przestrzegać zasad normalizacji oraz stosować odpowiednie klucze w relacjach, co zapewnia integralność danych i poprawność wyników zapytań.

Pytanie 5

Która z komórek tabeli została sformatowana przedstawionym stylem CSS zakładając, że pozostałe własności przyjmują wartości domyślne?

td {
  border: 1px solid black;
  padding: 15px;
  height: 40px;
  vertical-align: bottom;
}
dane w tabeli


dane w tabelidane w tabelidane w tabeli
Komórka 1Komórka 2Komórka 3Komórka 4
A. Komórka 3.
B. Komórka 2.
C. Komórka 1.
D. Komórka 4.
Niestety, ta odpowiedź jest nieprawidłowa. Wybór jakiejkolwiek innej komórki oprócz komórki 3. oznacza niezrozumienie, jak działają style CSS w kontekście formatowania komórek tabeli. Obramowanie, padding, wysokość i wyrównanie tekstu to atrybuty CSS, które wpływają na wygląd komórki tabeli. Często błędem jest mylenie paddingu (wewnętrznego marginesu) z marginesem (zewnętrznym marginesem) lub niezrozumienie, jak działa wyrównanie tekstu. Warto pamiętać, że w CSS 'vertical-align: bottom' oznacza wyrównanie tekstu do dolnej krawędzi komórki. Wybór innej komórki, która nie spełnia podanych kryteriów, sugeruje, że nie zrozumiałeś prawidłowo tych konceptów. Radzę powtórzyć materiał dotyczący stylizacji komórek tabeli w CSS i spróbować ponownie. Pamiętaj, że kluczem do zrozumienia CSS jest praktyka, więc nie bój się eksperymentować z różnymi stylami!

Pytanie 6

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: 25px; height:50px;">
B. <img src="rysunek.png" style="width: 25px; height:25px;">
C. <img src="rysunek.png">
D. <img src="rysunek.png" style="width: 50px">
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 7

Do czego służy debugger?

A. do wyszukiwania błędów w kodzie programu
B. do optymalizacji zużycia pamięci
C. do analizy właściwości oprogramowania
D. do sprawdzania wydajności programu
Debugger to narzędzie do WYSZUKIWANIA BŁĘDÓW w kodzie - pozwala wykonywać program krok po kroku, wstawiać pułapki (breakpointy) i podglądać wartości zmiennych w trakcie działania. Dlatego debugger służy do wyszukiwania błędów w kodzie programu.

Pytanie 8

Jaką kompetencję społeczną ma osoba, która potrafi wyrażać swoje zdanie i bronić swoich racji, nie naruszając przy tym granic własnych ani innych ludzi?

A. konformizm
B. akomodacja
C. asertywność
D. empatia
Pozostałe pojęcia opisują inne postawy. Empatia to zdolność rozumienia uczuć innych, a nie wyrażania własnego zdania. Akomodacja (dostosowanie) i konformizm oznaczają uleganie otoczeniu i rezygnację z własnego stanowiska, czyli przeciwieństwo bronienia racji. Opisana postawa to asertywność.

Pytanie 9

Model fizyczny replikacji bazy danych pokazany na ilustracji jest modelem

Ilustracja do pytania
A. rozproszonym
B. równorzędnym
C. centralnego subskrybenta
D. centralnego wydawcy
Model centralnego subskrybenta polega na tym że jeden serwer subskrybuje dane z wielu wydawniczych serwerów co jest odwrotnością modelu centralnego wydawcy. Tego typu rozwiązanie jest mniej popularne ze względu na potrzebę zarządzania synchronizacją z wielu źródeł co komplikuje proces replikacji i zwiększa ryzyko konfliktów danych. Model równorzędny z kolei zakłada że każdy serwer w architekturze działa jako równy uczestnik mający zdolność zarówno publikowania jak i subskrybowania danych. Taka architektura jest bardziej złożona w zarządzaniu zwłaszcza przy dużej liczbie uczestników ponieważ wymaga zaawansowanych mechanizmów rozwiązywania konfliktów i zarządzania współbieżnością. Rozproszony model to rozwiązanie gdzie dane są przechowywane i zarządzane bez centralnego punktu co może być korzystne dla systemów wymagających wysokiej dostępności i elastyczności ale stwarza wyzwania w zakresie spójności danych i wymaga skomplikowanych algorytmów synchronizacji. Wybór modelu nieodpowiedniego dla danej infrastruktury może prowadzić do problemów z wydajnością i spójnością co jest typowym błędem myślowym wynikającym z niewłaściwego zrozumienia wymagań systemowych. Każdy z tych modeli ma swoje specyficzne zastosowania i wyzwania co wymaga odpowiedniej analizy i doświadczenia przy projektowaniu systemów bazodanowych.

Pytanie 10

Jak w PHP otworzyć plik dane.txt TYLKO do odczytu i wczytać jego zawartość?

A.
fopen("dane.txt", "w")  oraz  fputs()
B.
fopen("dane.txt", "r")  oraz  fgets()
C.
fopen("dane.txt", "w")  oraz  fgets()
D.
fopen("dane.txt", "r")  oraz  fputs()
Aby otworzyć plik TYLKO do odczytu, używa się trybu "r": fopen("dane.txt", "r"), a zawartość czyta się np. funkcją fgets() (pobiera kolejne wiersze). Dlatego poprawne jest fopen(..., "r") oraz fgets().

Pytanie 11

Kod JavaScript uruchomiony w wyniku kliknięcia przycisku ma na celu <img id="i1" src="obraz1.gif"> <button onclick="document.getElementById('i1').src='obraz2.gif'"> test</button>

A. zmienić styl obrazu o id równym i1
B. zamienić obraz1.gif na obraz2.gif
C. wyświetlić obraz2.gif obok obraz1.gif
D. ukryć obraz2.gif
Odpowiedź 'zamienić obraz1.gif na obraz2.gif' jest poprawna, ponieważ kod JavaScript w przycisku jest odpowiedzialny za zmianę źródła obrazu. W momencie kliknięcia przycisku, funkcja `document.getElementById('i1').src='obraz2.gif'` przypisuje nowe źródło do elementu o identyfikatorze 'i1', co efektywnie powoduje wyświetlenie obraz2.gif zamiast obraz1.gif. Tego typu manipulacje DOM są powszechnie stosowane w interaktywnych aplikacjach webowych, gdzie użytkownik wchodzi w interakcję z różnymi elementami. Przykładem zastosowania tej techniki może być tworzenie galerii zdjęć, gdzie użytkownik klika na miniaturkę, a główny obrazek zostaje zmieniony na wybrane zdjęcie. Warto również zauważyć, że ta zmiana jest realizowana bez potrzeby reładowania strony, co znacząco poprawia doświadczenie użytkownika. Takie podejście jest zgodne z dobrymi praktykami w zakresie tworzenia dynamicznych interfejsów użytkownika.

Pytanie 12

Jaką rozdzielczość należy przyjąć, aby uzyskać proporcje obrazu 16:9, zakładając, że piksel ma formę kwadratu?

A. 800 na 480 pikseli
B. 320 na 240 pikseli
C. 2560 na 2048 pikseli
D. 1366 na 768 pikseli
Pozostałe opcje rozdzielczości nie spełniają wymogów proporcji 16:9. Rozdzielczość 320 na 240 pikseli, choć popularna w starszych urządzeniach, ma proporcje 4:3, co jest niewłaściwe dla szerokokątnych zastosowań i nie oddaje pełni nowoczesnych treści wizualnych. W przypadku rozdzielczości 800 na 480 pikseli, proporcje wynoszą około 15:9, co również nie jest zgodne z wymaganym standardem 16:9. Ta rozdzielczość może być używana w niektórych telefonach komórkowych, ale nie nadaje się do oglądania współczesnych filmów i programów telewizyjnych, które są produkowane w formacie 16:9. Natomiast rozdzielczość 2560 na 2048 pikseli, mimo że oferuje wysoką jakość obrazu, ma proporcje 5:4, co jest zbliżone do formatu 4:3 i nie odpowiada wymaganiom współczesnych treści wizualnych. Proporcje te są niestandardowe i nie są idealne do wyświetlania materiałów wideo, co ogranicza ich zastosowanie w nowoczesnych mediach.

Pytanie 13

Użytkownik Jan będzie miał możliwość realizacji

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';
A. wyłącznie operacje CREATE, ALTER, DROP na tabelach w bazie dane
B. tylko operacje manipulacji danymi oraz zmienić jedynie swoje uprawnienia
C. wszystkie operacje na tabelach bazy dane oraz przekazywać prawa innym użytkownikom
D. wszystkie operacje na tabelach w bazie dane
Niepoprawne odpowiedzi wynikają z nieporozumień dotyczących zakresu uprawnień, jakie mogą być przyznane użytkownikom w systemie baz danych. Ograniczanie możliwości Jan do jedynie operacji CREATE, ALTER, DROP na tabelach bazy danych jest błędne, ponieważ przyznanie ALL PRIVILEGES pozwala na znacznie szerszy zakres operacji, w tym manipulację danymi poprzez SELECT i INSERT. Warto zauważyć, że w kontekście baz danych, operacje związane z manipulowaniem danymi są kluczowe dla prawidłowego funkcjonowania aplikacji i utrzymania integralności danych. Twierdzenie, że Jan miałby jedynie możliwość zmiany własnych praw, jest również mylne, ponieważ uprawnienia ALL PRIVILEGES dają użytkownikowi kontrolę nad wszystkimi tabelami oraz możliwość nadawania uprawnień innym użytkownikom. Koncepcja ograniczenia uprawnień do jedynie manipulacji danymi nie uwzględnia pełnego potencjału, jaki niesie ze sobą przyznanie ALL PRIVILEGES, co prowadzi do nieefektywnego zarządzania bazą danych. Zrozumienie, jak działają uprawnienia w systemach baz danych, jest kluczowe dla bezpieczeństwa i prawidłowego zarządzania danymi, dlatego konieczne jest, aby administratorzy baz danych dokładnie analizowali zasady, według których przyznają uprawnienia użytkownikom.

Pytanie 14

Jak inaczej zapisać w JavaScript instrukcję a++;?

A.
1 += a;
B.
a & 1;
C.
a << 1;
D.
a = a + 1;
Operator a++ zwiększa wartość zmiennej o 1, więc równoważnym zapisem jest a = a + 1. Dlatego a++ to a = a + 1.

Pytanie 15

Która właściwość CSS przyjmuje wartości underline, overline, line-through?

A.
font-style
B.
font-weight
C.
text-style
D.
text-decoration
Właściwość text-decoration steruje ozdobą tekstu liniami: underline (podkreślenie), overline (nadkreślenie), line-through (przekreślenie) oraz none. Dlatego te wartości przyjmuje text-decoration.

Pytanie 16

W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. W nowym roku postanowiono zwiększyć wynagrodzenie wszystkim pracownikom o 100 zł. Jak powinno wyglądać to w aktualizacji bazy danych?

A. UPDATE pracownicy SET pensja = 100;
B. UPDATE pensja SET 100;
C. UPDATE pracownicy SET pensja = pensja + 100;
D. UPDATE pensja SET +100;
Odpowiedź 'UPDATE pracownicy SET pensja = pensja + 100;' jest prawidłowa, ponieważ wprowadza właściwą składnię SQL, która aktualizuje pole 'pensja' w tabeli 'pracownicy'. To polecenie wykorzystuje operator przypisania '=', aby zaktualizować wartość 'pensja', dodając do niej 100 zł. W praktyce jest to typowy sposób na modyfikację danych w bazach danych relacyjnych, przy użyciu SQL. Kluczowym aspektem jest zrozumienie, że 'pensja' w tym kontekście odnosi się do istniejącej wartości w danym rekordzie, a nie do jakiejś stałej. Operator '+' w tym przypadku informuje system, że chcemy zwiększyć aktualną wartość o 100. Użycie tego typu składni jest zgodne z najlepszymi praktykami w programowaniu baz danych, co sprzyja przejrzystości i zrozumiałości kodu. Tego rodzaju aktualizacje są kluczowe w zarządzaniu danymi pracowników, zwłaszcza w kontekście systemów wynagrodzeń, gdzie regularne zmiany pensji są normą.

Pytanie 17

W języku CSS wprowadzone zostało następujące formatowanie:

h1 i {color:red;}
Kolor czerwony będzie stosowany do
A. tylko tekstu pochylonego nagłówka pierwszego poziomu
B. całego tekstu nagłówka pierwszego stopnia oraz całego tekstu pochylonego, niezależnie od lokalizacji na stronie
C. całego tekstu nagłówka pierwszego stopnia oraz tekstu pochylonego w akapicie
D. wyłącznie pochylonego tekstu w każdym rodzaju nagłówka
Wszystkie odpowiedzi, które nie odpowiadają na pytanie, wynikają z niepoprawnego zrozumienia selektora CSS. Odpowiedzi, które sugerują, że kolor czerwony dotyczy całego tekstu nagłówka pierwszego stopnia, są błędne, ponieważ kolor czerwony jest przypisany jedynie do elementów 'i' znajdujących się w 'h1'. Nieprawidłowe jest także sugerowanie, że stylizacja dotyczy tekstu pochylonego we wszystkich poziomach nagłówków, ponieważ selektor odnosi się wyłącznie do 'h1', co wyklucza inne nagłówki. Dodatkowo, stwierdzenie, że styl obejmuje cały tekst nagłówka oraz wszelki tekst pochylony, nie jest zgodne z zasadami dziedziczenia stylów CSS. W rzeczywistości, selektor ogranicza się do określonego kontekstu, co oznacza, że tylko elementy 'i' w ramach 'h1' podlegają tym regułom. W związku z tym, jakiekolwiek inne elementy czy nagłówki nie są brane pod uwagę w tej regule stylizacji, co z kolei podkreśla precyzyjność i zastosowanie selektorów w CSS.

Pytanie 18

Aby edytować nakładające się na siebie pojedyncze fragmenty grafiki, pozostawiając resztę bez zmian, należy zastosować:

A. histogram
B. kadrowanie
C. warstwy
D. kanał alfa
Warstwy to podstawowy mechanizm edytorów grafiki (np. GIMP, Photoshop): każdy element umieszcza się na osobnej warstwie, niczym na przezroczystej folii, a leżące wyżej zasłaniają niższe. Dzięki temu można edytować, przesuwać lub ukrywać pojedynczy fragment, nie naruszając pozostałych. To właśnie warstwy pozwalają pracować nad nakładającymi się elementami niezależnie - i dlatego są poprawną odpowiedzią.

Pytanie 19

Która klauzula określa powiązanie (relację) między tabelami w MySQL?

A.
INDEX
B.
ORDER BY
C.
REFERENCES
D.
PRIMARY KEY
Powiązanie (relację) między tabelami w MySQL określa klauzula REFERENCES - wskazuje, do której tabeli i kolumny odwołuje się klucz obcy, np. FOREIGN KEY (autor_id) REFERENCES autorzy(id). Zapamiętaj: REFERENCES mówi „to pole wskazuje na klucz tamtej tabeli”.

Pytanie 20

Aby usunąć z istniejącej tabeli pojedynczą kolumnę, należy użyć polecenia:

A.
ALTER TABLE ... DROP COLUMN
B.
DELETE COLUMN
C.
REMOVE COLUMN
D.
DROP TABLE
Strukturę istniejącej tabeli zmienia ALTER TABLE. Aby usunąć kolumnę, stosuje się je z klauzulą DROP COLUMN, np. ALTER TABLE klienci DROP COLUMN telefon. Znika wtedy kolumna wraz z jej danymi, a reszta tabeli zostaje. Dlatego do usunięcia pojedynczej kolumny służy ALTER TABLE ... DROP COLUMN.

Pytanie 21

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

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

Pytanie 22

Aby prawidłowo utworzyć relację typu m:n nienarażoną na redundancję danych, należy:

A. utworzyć tabelę pośredniczącą (łączącą)
B. bezpośrednio połączyć klucze obce obu tabel
C. uporządkować przynajmniej jedną z tabel
D. bezpośrednio połączyć klucze główne obu tabel
Problem z tym pytaniem najczęściej bierze się z prób połączenia dwóch tabel wprost. Bezpośrednie spięcie kluczy obcych obu tabel nie pozwala zapisać sytuacji, w której jeden rekord wiąże się z wieloma rekordami po drugiej stronie i odwrotnie - żeby to objąć, trzeba by powielać dane, czyli wprowadzić redundancję. Tak samo nie pomoże łączenie kluczy głównych: to wariant tego samego błędu. Uporządkowanie (posortowanie) tabel dotyczy wyłącznie kolejności wyświetlania wierszy i nie zmienia struktury powiązań. Relację m:n poprawnie realizuje się przez tabelę pośredniczącą, która rozbija ją na dwie relacje 1:n i przechowuje każde powiązanie jako osobny wiersz.

Pytanie 23

Jak należy prawidłowo udokumentować wzorcowanie pola nazwa we fragmencie kodu JavaScript?

function validateForm(Form)
{
reg=/^\[1-9\]*[A-ZŻŹĘĄĆŚÓŁŃ]{1}[a-zżźćńółęąś]{2,}$/;
wyn = Form.nazwa.value.match(reg);
if (wyn == null) {
    alert("Proszę podać poprawną nazwę");
    return false;
}
return true;
}
A. /* Pole nazwa może zawierać dowolny ciąg cyfr (z wyłączeniem 0), następnie musi zawierać dużą literę i ciąg minimum dwóch małych liter. */
B. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i dużych liter. */
C. /* Pole nazwa powinno składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i ciągu małych liter. */
D. /* Pole nazwa musi składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i dwóch małych liter. */
Odpowiedź druga jest poprawna, ponieważ dokładnie opisuje wzorzec walidacji użyty w kodzie JavaScript. Wyrażenie regularne określa, że pole nazwa może zaczynać się od dowolnej liczby cyfr od 1 do 9, co oznacza, że cyfra 0 jest wykluczona, co jest zgodne z opisem. Następnie musi wystąpić jedna duża litera, co jest również zgodne z wymogiem wzorca. Kolejnym wymogiem jest wystąpienie co najmniej dwóch małych liter, co także jest zgodne z przedstawionym wzorcem. Poprawna i precyzyjna dokumentacja kodu ma kluczowe znaczenie dla utrzymania oraz dalszego rozwoju oprogramowania. Dobrze udokumentowane wyrażenia regularne pozwalają na lepsze zrozumienie logiki walidacji i ułatwiają pracę zespołom deweloperskim. Warto również zauważyć, że stosowanie wyrażeń regularnych w walidacji danych wejściowych jest standardową praktyką w branży IT, szczególnie w aplikacjach webowych, gdzie dane użytkowników wymagają szczegółowego sprawdzania pod kątem poprawności i bezpieczeństwa. Dzięki temu można uniknąć potencjalnych błędów i ataków wynikających z niewłaściwie przetworzonych danych.

Pytanie 24

W firmowej tabeli znajdują się kolumny: nazwa, adres, NIP, obrót (obrót w ostatnim miesiącu), rozliczenie oraz status. Po wykonaniu kwerendy SQL

SELECT nazwa, NIP FROM firmy WHERE obrot < 4000;
na ekranie pojawią się:
A. wszystkie informacje o firmach, które w ostatnim miesiącu miały obrót poniżej 4000 zł
B. wszystkie informacje o firmach, które w ostatnim miesiącu uzyskały obrót co najmniej 4000 zł
C. tylko nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót co najmniej 4000 zł
D. tylko nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót mniejszy niż 4000 zł
W tej kwerendzie SQL chodziło o to, aby zrozumieć, że zapytanie 'SELECT nazwa, NIP FROM firmy WHERE obrót < 4000;' zwróci tylko nazwy firm i ich numery NIP. Tylko te firmy, co miały obrót poniżej 4000 zł w ostatnim miesiącu. SQL jako język zapytań daje nam możliwość wybierania konkretnych kolumn z tabeli i filtrowania wyników według różnych warunków. Tu wybraliśmy kolumny 'nazwa' i 'NIP', a filtr 'WHERE obrót < 4000' pokazuje nam tylko te firmy, które spełniają ten warunek. To bardzo ważne w praktycznym użyciu SQL, bo często musimy wyświetlać dane według określonych kryteriów. Dzięki temu zapytaniu łatwo możemy zidentyfikować firmy, które mogą potrzebować wsparcia finansowego lub jakiejś pomocy z powodu niskiego obrotu.

Pytanie 25

Instrukcja języka PHP tworząca obiekt pkt dla zdefiniowanej w ramce klasy Punkt ma postać

class Punkt {  public $x;
                public $y;  }
A. pkt Punkt;
B. Punkt() pkt;
C. pkt = new Punkt();
D. pkt Punkt();
Twoja odpowiedź jest prawidłowa, gratuluję! W języku PHP, aby utworzyć nowy obiekt klasy, używamy słowa kluczowego 'new', a następnie nazwy klasy. Poprawna instrukcja, która tworzy obiekt 'pkt' klasy 'Punkt', ma więc postać '$pkt = new Punkt();'. Tę konstrukcję używamy, kiedy chcemy utworzyć nową instancję klasy. Warto pamiętać, że można tworzyć wiele obiektów tej samej klasy, a każdy z nich będzie miał własny zestaw danych (właściwości). Instancje klas są podstawą programowania obiektowego, które pozwala na tworzenie bardziej złożonych i łatwiejszych do zarządzania systemów. Dobre zrozumienie tego konceptu jest kluczowe dla efektywnego programowania w PHP.

Pytanie 26

Używając polecenia ALTER TABLE, co można zrobić?

A. zmiana wartości w rekordach tabeli
B. zmiana struktury tabeli
C. stworznie tabeli
D. usunięcie tabeli
Polecenie ALTER TABLE w SQL jest używane do modyfikacji struktury istniejącej tabeli w bazie danych. Dzięki temu poleceniu można dodawać nowe kolumny, usuwać istniejące, zmieniać typ danych kolumn, a także dodawać klucze obce lub indeksy. Przykładem zastosowania ALTER TABLE może być dodanie nowej kolumny do tabeli pracowników w celu rejestrowania daty zatrudnienia: 'ALTER TABLE pracownicy ADD COLUMN data_zatrudnienia DATE;'. Good practices w zakresie modyfikacji tabeli sugerują, aby przed dokonaniem takich zmian zawsze tworzyć kopię zapasową bazy danych. Warto również monitorować wpływ zmian na istniejące zapytania oraz aplikacje, które wykorzystują tę tabelę, aby uniknąć potencjalnych błędów w przyszłości. W kontekście projektowania baz danych, ALTER TABLE stanowi kluczowy element w utrzymaniu i dostosowywaniu struktury bazy danych do zmieniających się potrzeb organizacji. Na przykład, w miarę wzrostu firmy mogą pojawić się potrzeby wprowadzenia nowych informacji dotyczących klientów, co wymaga elastyczności w strukturze bazy danych.

Pytanie 27

Jak przeglądarka zaprezentuje kod HTML formularza?

<form>
stanowisko: <input type="text"><br>
obowiązki:<br>
<input type="checkbox" name="obowiazek1" value="1" disabled checked>
sporządzanie dokumentacji<br>
<input type="checkbox" name="obowiazek2" value="2" checked>
pisanie kodu<br>
<input type="checkbox" name="obowiazek3" value="3">
testy oprogramowania<br>
</form>
Ilustracja do pytania
A. C
B. A
C. D
D. B
Prawidłowa odpowiedź to D ponieważ kod HTML formularza definiuje trzy pola wyboru typu checkbox z różnymi atrybutami wpływającymi na ich stan początkowy. Pierwsze pole wyboru dotyczące sporządzania dokumentacji posiada atrybuty disabled i checked co oznacza że będzie zaznaczone ale nieaktywne dla użytkownika. Oznacza to że użytkownik nie może zmienić jego stanu w przeglądarce. Drugie pole dotyczące pisania kodu ma tylko atrybut checked co oznacza że będzie zaznaczone i dostępne do edycji. Trzecie pole dotyczące testów oprogramowania nie posiada żadnego z tych atrybutów więc będzie domyślnie niezaznaczone i edytowalne. To zachowanie jest zgodne ze standardami HTML i dobrymi praktykami kodowania gdzie atrybuty kontrolują interakcje użytkownika z formularzami. Wiedza ta jest kluczowa dla projektantów stron internetowych aby zapewnić prawidłowe działanie formularzy i poprawne doświadczenie użytkownika. Formularze są podstawowym elementem interakcji z użytkownikiem dlatego zrozumienie ich działania jest niezbędne w tworzeniu funkcjonalnych i intuicyjnych interfejsów użytkownika.

Pytanie 28

Na ilustracji pokazano relację jeden do wielu. Łączy ona

Ilustracja do pytania
A. klucz podstawowy id tabeli filmy z kluczem podstawowym id tabeli rezyserzy
B. klucz obcy rezyserzy_id tabeli filmy z kluczem obcym id tabeli rezyserzy
C. klucz obcy rezyserzy_id tabeli filmy z kluczem podstawowym id tabeli rezyserzy
D. klucz podstawowy id tabeli filmy z kluczem obcym rezyserzy_id tabeli rezyserzy
W kontekście relacji jeden do wielu w bazach danych często dochodzi do nieporozumień związanych z błędnym przypisaniem kluczy. Klucz podstawowy w jednej tabeli nigdy nie może być kluczem obcym w innej relacji tego typu, ponieważ klucz podstawowy musi być unikalny i jednoznacznie identyfikować rekord w swojej tabeli. Podobne błędy pojawiają się przy przypisywaniu klucza obcego jako odnoszącego się do innego klucza obcego, co nie jest prawidłowym podejściem, ponieważ klucz obcy powinien odnosić się do klucza podstawowego w innej tabeli, aby zapewnić integralność referencyjną. Klucz obcy nie może być kluczem podstawowym w relacji jeden do wielu, ponieważ naruszałoby to zasadę unikalności wymaganej dla klucza podstawowego. Częstym błędem jest także mylenie kierunku relacji, co prowadzi do projektowania niepraktycznych struktur danych, które są trudne do zarządzania i skalowania. Prawidłowe zastosowanie kluczy obcych i podstawowych oraz zrozumienie ich roli w strukturze bazy danych stanowi fundament dla efektywnego modelowania danych, co jest zgodne z najlepszymi praktykami w projektowaniu systemów zarządzania relacyjnymi bazami danych. Kluczowe jest, aby projektanci baz danych byli świadomi tych zasad i potrafili je stosować w praktyce, aby uniknąć problemów z integralnością danych i późniejszymi trudnościami przy ich modyfikacji lub rozszerzaniu struktury bazy danych. Poprawne zrozumienie relacji między tabelami oraz ich implementacja jest niezbędna dla utrzymania spójności i wydajności systemów bazodanowych w długim okresie użytkowania.

Pytanie 29

W SQL, przy użyciu polecenia ALTER, można

A. usunąć tabelę
B. stworzyć nową tabelę
C. dodać dane do tabeli
D. zmienić strukturę tabeli
Odpowiedź jest poprawna, ponieważ polecenie ALTER w języku SQL służy do modyfikacji istniejącej struktury tabeli. Umożliwia ono wykonywanie różnych operacji, takich jak dodawanie nowych kolumn, zmiana typu danych istniejących kolumn, a także usuwanie kolumn. Przykładem użycia może być zmiana typu danych kolumny 'wiek' w tabeli 'Użytkownicy' z INTEGER na VARCHAR, co można osiągnąć za pomocą zapytania: ALTER TABLE Użytkownicy MODIFY COLUMN wiek VARCHAR(3). Zmiana struktury tabeli jest istotna w kontekście dostosowywania bazy danych do zmieniających się wymagań aplikacji i użytkowników, co jest kluczowe dla utrzymania jej elastyczności i wydajności. Warto również pamiętać, że modyfikacje struktury tabeli powinny być przeprowadzane z zachowaniem zasad bezpieczeństwa danych oraz odpowiednich procedur kontroli wersji, aby zminimalizować ryzyko utraty danych lub wprowadzenia błędów. Dzięki zrozumieniu i umiejętnemu stosowaniu polecenia ALTER, administratorzy baz danych mogą skuteczniej zarządzać strukturą i integralnością danych.

Pytanie 30

Który zapis znacznika <meta> jest poprawny w kontekście użytych atrybutów?

A. <meta title = 'Strona dla hobbystów'>
B. <meta background = blue>
C. <meta name = '!DOCTYPE'>
D. <meta name = 'description' content = 'Masz jakieś hobby? To jest strona dla Ciebie!'>
Poprawny zapis znacznika <meta> to <meta name = "description" content = "Masz jakieś hobby? To jest strona dla Ciebie!">. Ten znacznik odgrywa kluczową rolę w SEO, ponieważ pozwala na dostarczenie wyszukiwarkom informacji o treści strony. Atrybut 'name' definiuje typ informacji, którą dostarczamy, w tym przypadku 'description', co pozwala wyszukiwarkom zrozumieć, co znajduje się na stronie. Atrybut 'content' zawiera właściwą treść, która powinna być zwięzła i trafna, aby przyciągnąć użytkowników. Zgodnie z najlepszymi praktykami SEO, opis powinien mieć od 150 do 160 znaków, aby był w pełni widoczny w wynikach wyszukiwania. Poprawne użycie tego znacznika zwiększa szanse na wyższe pozycje w wynikach wyszukiwania oraz poprawia współczynnik klikalności (CTR) poprzez przyciągający opis, który może zachęcić użytkowników do odwiedzenia strony. Zgodność z tymi standardami jest niezbędna dla skutecznej optymalizacji witryn internetowych oraz poprawy ich widoczności w Internecie.

Pytanie 31

W nagłówku dokumentu HTML umieszczono

<title>Strona miłośników psów</title>
Tekst ten pojawi się
A. w zawartości strony, na banerze
B. w zawartości strony, w pierwszym widocznym nagłówku
C. w polu adresowym, przy podanym adresie URL
D. na pasku tytułowym przeglądarki
Tag <title> w HTML to naprawdę istotny element dla każdej strony internetowej. Jest to coś, co pomaga ludziom szybko zorientować się, o co chodzi na danej stronie, zwłaszcza gdy mamy otwartych kilka kart w przeglądarce. Dobry tytuł nie tylko ułatwia nawigację, ale także ma spory wpływ na to, jak strona wypada w wyszukiwarkach. Z własnego doświadczenia mogę powiedzieć, że jeśli tytuł jest konkretny i zawiera ważne słowa kluczowe, to zwiększa szanse na przyciągnięcie użytkowników. Na przykład, jeśli strona jest dla miłośników psów, to warto w tytule umieścić słowa takie jak 'psy' czy 'opiekunowie psów'. Taki przykład mógłby wyglądać tak: <title>Miłośnicy psów - Porady, opieka, zdrowie</title>. Dobrze zrobiony tytuł może też poprawić CTR, czyli współczynnik klikalności, co jest ważne, żeby przyciągnąć więcej odwiedzających.

Pytanie 32

Które z pól są umieszczone w formularzu?





Studia podyplomowe Kurs

A. Input(Text), Select, Input(Radio), Input(Radio), Input (Submit), Input(Reset)
B. Input(Text), Input(Checkbox), Select, Select, Input(Submit), Input(Reset)
C. Textarea, Option, Input(Checkbox), Input(Checkbox), Input (Submit), Input(Reset)
D. Textarea, Select, Input(Radio), Input(Radio), Input(Reset), Input(Submit)
Dobrze zrozumiałeś różne typy pól, które mogą pojawić się w formularzu html. Wybrana przez Ciebie odpowiedź składa się z różnych typów pól, które są często używane w formularzach internetowych. Pierwsze, Input(Text), jest podstawowym polem do wprowadzania tekstu, które jest szeroko stosowane do zbierania informacji od użytkowników, takich jak imię, nazwisko itp. Pole Select to lista rozwijana, która pozwala użytkownikowi wybrać jedną z wielu opcji. W tym przypadku, używane jest do wyboru województwa. Input(Radio) to przyciski wyboru, które umożliwiają wybór jednej opcji z kilku. W formularzu, są one używane do wyboru między 'Studia podyplomowe' a 'Kurs'. Input(Submit) to przycisk służący do wysyłania formularza, a Input (Reset) pozwala na wyczyszczenie wszystkich pól formularza. Wszystkie te elementy są zgodne ze standardami i dobrymi praktykami tworzenia formularzy html. Dobre zrozumienie tych elementów jest kluczowe do tworzenia efektywnych i użytkowników formularzy.

Pytanie 33

Jaki będzie rezultat po uruchomieniu podanego skryptu?

class Owoc {
    function __construct() {
        echo "test1";
    }
    function __destruct() {
        echo "test2";
    }
}
$gruszka = new Owoc();
A. Pojawią się oba teksty: „test1” i „test2”
B. Pojawi się jedynie tekst „test1”
C. Pojawi się wyłącznie tekst „test2”
D. Nie pojawi się żaden tekst
Dobra robota! Odpowiedź, którą wybrałeś, jest właściwa. Jak tworzysz obiekt klasy Owoc, to naprawdę wywołujesz metodę __construct(), która zajmuje się tym, żeby obiekt był gotowy do działania. W tym przypadku, gdy to się dzieje, na ekranie pojawia się 'test1'. Ale warto też pamiętać, że kiedy skrypt kończy swoje działanie albo obiekt jest usuwany, wtedy uruchamia się metoda __destruct(), która wypisuje 'test2'. Więc kiedy tworzysz obiekt $gruszka, to na konsoli najpierw zobaczysz 'test1', a później, po zakończeniu działania skryptu, jak np. przeładowujesz stronę, dostaniesz 'test2'. To całkiem fajnie pokazuje, jak ważne jest zrozumienie, jak działają obiekty w PHP i co się z nimi dzieje przez cały czas. Wiesz, że znajomość tych mechanizmów to klucz do sukcesu, szczególnie w większych projektach, gdzie zarządzanie różnymi zasobami ma znaczenie dla wydajności.

Pytanie 34

Wykonanie następującego polecenia PHP umożliwia:

$zapytanie = mysqli_query($db, "UPDATE ...");
A. zmianę danych w bazie
B. pobranie danych z bazy
C. dodanie nowych danych do bazy
D. zmianę struktury bazy
Polecenie PHP mysqli_query z użyciem instrukcji SQL UPDATE służy do modyfikacji danych w bazie danych. Funkcja mysqli_query umożliwia wykonywanie zapytań SQL na połączeniu z bazą danych reprezentowanym przez zmienną $db. Instrukcja UPDATE jest stosowana do aktualizacji istniejących rekordów w tabeli w bazie danych. Przykładowo, jeśli chcesz zaktualizować pole nazwa w tabeli użytkownicy, możesz użyć polecenia UPDATE users SET name='NowaNazwa' WHERE id=1. To podejście umożliwia dynamiczne zarządzanie danymi, co jest kluczowe w aplikacjach internetowych wymagających bieżącej aktualizacji informacji. W praktyce należy pamiętać o dobrych praktykach, takich jak walidacja danych wejściowych i zabezpieczenie przed atakami SQL injection, np. poprzez stosowanie przygotowanych zapytań. Aktualizowanie danych w bazie to jedna z podstawowych operacji CRUD (Create Read Update Delete), które są fundamentem zarządzania danymi w większości aplikacji obsługujących bazy danych. Poprawne użycie tej funkcji wymaga zrozumienia struktury SQL i znajomości specyfiki używanego systemu zarządzania bazą danych.

Pytanie 35

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

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

Pytanie 36

Jaka jest poprawna kolejność procesów przetwarzania dźwięku z analogowego na cyfrowy?

A. próbkowanie, kodowanie, kwantyzacja
B. kwantyzacja, kodowanie, próbkowanie
C. kwantyzacja, próbkowanie, kodowanie
D. próbkowanie, kwantyzacja, kodowanie
Zamiana dźwięku analogowego (ciągłej fali) na cyfrowy przebiega w trzech krokach o ustalonej kolejności. Najpierw PRÓBKOWANIE - mierzymy wartość sygnału w równych odstępach czasu. Potem KWANTYZACJA - każdej próbce przypisujemy wartość z dyskretnej skali. Na końcu KODOWANIE - te wartości zapisujemy w postaci bitów. Dlatego poprawna kolejność to próbkowanie, kwantyzacja, kodowanie.

Pytanie 37

Jednym z atrybutów tabeli ksiazki jest pole czyWypozyczona, które może mieć dwie wartości: true lub false. Jaki typ danych będzie najbardziej odpowiedni dla tego pola?

A. BOOLEAN
B. CHAR
C. VARCHAR(5)
D. DOUBLE
Odpowiedź 'BOOLEAN' jest poprawna, ponieważ jest to typ danych, który idealnie odpowiada na potrzeby pola 'czyWypozyczona', które przyjmuje jedynie dwie wartości: true (prawda) oraz false (fałsz). W przypadku baz danych, typ BOOLEAN jest optymalny do reprezentowania stanów logicznych, co pozwala na efektywniejsze zarządzanie danymi oraz ich przetwarzanie. Przykładowo, w systemie zarządzania biblioteką, pole 'czyWypozyczona' może być używane do szybkiego filtrowania książek, które są aktualnie dostępne lub wypożyczone. Użycie typu BOOLEAN eliminuje potrzebę zbędnych konwersji typu, zwiększa czytelność kodu oraz ułatwia optymalizację zapytań SQL. W praktyce, stosowanie typu BOOLEAN jest zgodne z najlepszymi praktykami projektowania baz danych, które promują przejrzystość i zgodność z modelowaniem danych. Warto również zauważyć, że w niektórych systemach zarządzania bazami danych (np. PostgreSQL) typ BOOLEAN jest natywnie obsługiwany, co dodatkowo wpływa na wydajność operacji na danych.

Pytanie 38

Który z zapisów znacznika <div> może pojawić się w dokumencie HTML tylko raz, a ponowne jego użycie spowoduje błędy podczas walidacji tego dokumentu?

A. <div>
B. <div class="klasa">
C. <div id="identyfkator">
D. <div class="klasa1 klasa2">
Wybór innego znacznika <div> z atrybutami class lub bez atrybutów, takich jak <div class="klasa">, <div class="klasa1 klasa2"> czy <div>, może sugerować, że ich użycie nie jest ograniczone do pojedynczego wystąpienia w dokumencie. Te odpowiedzi nie uwzględniają kluczowej zasady dotyczącej atrybutu id, który, jak wcześniej wspomniano, musi być unikalny. Atrybut class z kolei nie ma podobnych ograniczeń; można go wielokrotnie przypisywać różnym elementom, co pozwala na grupowanie stylów. To często prowadzi do nieporozumień, w których użytkownicy mylą pojęcie unikalności id z możliwością wielokrotnego użycia class. Również przy użyciu znacznika <div> bez jakichkolwiek atrybutów, programiści mogą nieświadomie tworzyć wiele divów, które nie są jednoznacznie identyfikowalne, co może prowadzić do nieefektywnego kodu oraz problemów z dostępnością. Konsolidowanie wiedzy o tym, jak atrybuty wpływają na zachowanie i strukturyzację dokumentu HTML, jest kluczowe dla tworzenia poprawnych i wydajnych aplikacji webowych. W praktyce, zauważając różnice w zastosowaniu id i class, można lepiej organizować kod i unikać błędów walidacji.

Pytanie 39

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

A. logiczy
B. tablicowy
C. znakowy
D. ciągowy
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 40

Jakiej funkcji w edytorze grafiki rastrowej należy użyć, aby przygotować obraz do wyświetlenia na stronie tak, aby widoczne było jedynie to, co mieści się w ramce?

Ilustracja do pytania
A. Perspektywa
B. Zmiana rozmiaru
C. Lustro
D. Kadrowanie
Kadrowanie w edytorze grafiki rastrowej to naprawdę fajna technika, bo pozwala nam na wycięcie konkretnej części obrazu, którą chcemy pokazać. Dzięki temu skupiamy uwagę na tym, co w grafice najważniejsze, eliminując to, co jest zbędne. Przygotowując grafikę do wrzucenia na stronę www, dobrze jest pomyśleć o kadrowaniu, bo nie tylko poprawia estetykę, ale też sprawia, że strona działa szybciej. Mniejsza grafika to krótszy czas ładowania, co wszyscy lubią. Kadrowanie jest kluczowe, zwłaszcza w responsywnym web designie, gdzie musimy dostosować obrazy do różnych ekranów. Z praktyki wiem, że dobrze wykadrowany obraz to lepsza jakość przy mniejszej wadze pliku, co korzystnie wpływa na SEO i wrażenia użytkowników. W programach jak Adobe Photoshop czy GIMP kadrowanie jest dość proste i pozwala na szybkie dostosowanie obrazu do potrzeb projektu.