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: 30 kwietnia 2026 14:12
  • Data zakończenia: 30 kwietnia 2026 14:32

Egzamin zdany!

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

Aby przekształcić obraz z formatu JPEG do PNG bez utraty jakości, tak aby kolor biały w oryginalnym obrazie został zastąpiony przezroczystością w wersji docelowej, należy najpierw

A. obniżyć rozdzielczość obrazu
B. dodać kanał alfa
C. załadować obraz do programu do edycji grafiki wektorowej
D. usunięcie gumką wszystkich białych miejsc
Jeśli chodzi o błędne odpowiedzi, to zaimportowanie obrazu do edytora grafiki wektorowej nie jest najlepszym pomysłem w tej sytuacji. Edytory wektorowe, takie jak Adobe Illustrator, są stworzone do pracy z grafiką wektorową, a nie z rastrową, więc operowanie na pikselach, jak dodawanie przezroczystości w miejscach kolorów rastrowych, może być trudne, a czasem nawet niemożliwe. Poza tym, zmniejszenie rozdzielczości obrazu na pewno nie pomoże w dodaniu przezroczystości, a wręcz może spowodować utratę detali i jakości, co jest sprzeczne z celem tej konwersji. Używanie gumki do wymazywania wszystkich białych plam to też nie najlepsze rozwiązanie. Jest to czasochłonne i może prowadzić do przypadkowego usunięcia innych ważnych elementów. Z mojego doświadczenia wynika, że może to zostawiać niepożądane artefakty i obniżać jakość. Dlatego kluczowym krokiem w tym procesie, żeby uzyskać przezroczystość, jest dodanie kanału alfa. Tak można skutecznie zarządzać przezroczystością w wynikowym obrazie PNG, co jest zgodne z zasadami dobrego przetwarzania grafiki rastrowej.

Pytanie 2

Kod PHP z fragmentem ```if(empty($_POST["name"])){ $nameErr = "Name is required"; }``` służy do obsługi

A. bazy danych
B. formularza
C. ciasteczek
D. sesji
Fragment kodu nie dotyczy sesji, ponieważ sesje w PHP są zarządzane poprzez funkcje takie jak session_start() oraz zmienne superglobalne $_SESSION, które przechowują dane użytkownika w trakcie sesji. Odpowiedź sugerująca, że kod ten odnosi się do ciasteczek, jest również błędna, ponieważ ciasteczka są zarządzane przez nagłówki HTTP i funkcje takie jak setcookie(), a nie przez bezpośrednie sprawdzanie zawartości formularza. Co więcej, fragment kodu nie ma związku z bazą danych; interakcja z bazą danych w PHP zazwyczaj odbywa się poprzez funkcje takie jak mysqli_query() lub PDO. Typowym błędem myślowym w wskazywaniu na sesje czy ciasteczka jest mylenie kontekstu, w jakim dane są przetwarzane. W tym przypadku, kod koncentruje się wyłącznie na walidacji danych z formularza, a pominięcie tego aspektu prowadzi do nieprawidłowych konkluzji. Poprawne zrozumienie roli walidacji formularzy jest kluczowe dla zapewnienia, że aplikacja działa zgodnie z oczekiwaniami użytkownika oraz zachowuje wysokie standardy bezpieczeństwa.

Pytanie 3

Aby uzyskać dane z formularza HTML bez ich widoczności w adresie URL, powinno się użyć

A. samych kontrolek bez zastosowania formularza
B. metody GET
C. metody POST
D. wyłącznie funkcji z biblioteki PDO
Wybór metody POST do przesyłania danych z formularza HTML jest odpowiedni, gdyż ta metoda nie ujawnia przesyłanych informacji w adresie URL, co zwiększa bezpieczeństwo danych. Metoda POST wysyła dane w treści żądania HTTP, co oznacza, że nie są one widoczne dla użytkowników, a także nie są rejestrowane w historii przeglądarki ani w logach serwera tak, jak ma to miejsce w przypadku metody GET. W praktyce, metodę POST wykorzystuje się w sytuacjach, gdy przesyłane są wrażliwe dane, takie jak hasła czy dane osobowe. Na przykład, podczas rejestracji użytkownika na stronie internetowej, dane osobowe są najczęściej przesyłane metodą POST, aby zminimalizować ryzyko ich wycieku. Dobrą praktyką jest również stosowanie HTTPS w połączeniu z metodą POST, co dodatkowo zabezpiecza przesyłane dane przed przechwyceniem przez osoby trzecie. W kontekście standardów, zaleca się stosowanie metody POST, gdyż zapewnia ona większą kontrolę nad przesyłanymi danymi i umożliwia większą ilość danych w porównaniu do metody GET, która jest ograniczona do około 2048 znaków w adresie URL.

Pytanie 4

Którą czynność gwarantującą poprawne wykonanie przedstawionego kodu Java Script, należy wykonać przed pętlą?

var text;
for ( var i = 0; i < tab.length; i++ ) {
  text += tab[i] + "<br>";
}
A. Zadeklarować zmienną i.
B. Sprawdzić czy text j est typu znakowego.
C. Sprawdzić rozmiar tabeli tab.
D. Zainicjować zmienną text.
Wygląda na to, że odpowiedź nie była poprawna. Pozostałe opcje, tj. 'Sprawdzić czy text j est typu znakowego', 'Zadeklarować zmienną i', 'Sprawdzić rozmiar tabeli tab', nie są bezpośrednio związane z poprawnym wykonaniem kodu przedstawionego w pętli. Chociaż wszystkie te działania mogą być istotne w różnych kontekstach programowania, w tym przypadku żadne z nich nie gwarantuje poprawnego wykonania kodu. Deklaracja zmiennej 'i' czy sprawdzenie rozmiaru tabeli 'tab' jest często stosowane w pętlach, jednak nie gwarantują one poprawnego działania kodu w pętli bez odpowiedniego zainicjowania zmiennej 'text'. Zrozumienie tego aspektu jest kluczowe dla efektywnego programowania, zarówno w JavaScript, jak i w innych językach programowania.

Pytanie 5

Wskaż kod równoważny do przedstawionego kodu zapisanego językiem PHP.

$suma = 0;
for ($x = 10; $x <= 20; $x++) {
    $suma += $x;
}
Kod 1.
$suma = 0;
while ($x <= 20) {
    $suma += $x;
    $x++;
}
Kod 2.
$suma = 0;
$x = 10;
while ($x <= 20) {
    $suma += $x;
    $x++;
}
Kod 3.
$suma = 0;
$x = 1;
while ($x <= 10) {
    $suma += $x;
    $x++;
}
Kod 4.
$suma = 0;
$x = 10;
while ($x <= 20) {
    $suma = $x;
    $x++;
}
A. Kod 3.
B. Kod 4.
C. Kod 2.
D. Kod 1.
Wybrana przez Ciebie odpowiedź nie jest prawidłowa. Zostały tutaj przedstawione kody, które nie są równoważne do kodu PHP. Na przykład, może pojawić się kod, który używa innej pętli, ale nie inicjalizuje wartości $x na 10 lub nie inkrementuje jej aż do osiągnięcia wartości 20. Inny kod może nawet nie używać pętli, co jest fundamentalnym błędem, ponieważ pętle są niezbędne do wykonania określonej liczby operacji bez konieczności pisania dużej ilości kodu. Ważne jest, aby zwrócić uwagę na detale takie jak warunki pętli, sposoby inkrementacji, a także na to, czy kod faktycznie używa pętli. Pamiętaj, że wybór odpowiedniego rodzaju pętli jest kluczowy w zależności od problemu, który próbujesz rozwiązać. Pętle for są zazwyczaj używane, gdy z góry wiemy ile razy pętla ma być wykonana, a pętle while są używane, gdy nie wiemy ile razy pętla ma być wykonana, ale znamy warunek jej zakończenia. To jest podstawowa wiedza, którą każdy programista powinien posiadać, więc jeśli masz z tym problemy, warto poświęcić więcej czasu na zrozumienie pętli.

Pytanie 6

Który z protokołów umożliwia publikację strony internetowej na serwerze?

A. SMTP
B. ICMP
C. FTP
D. NNTP
To, że wybrałeś FTP, to strzał w dziesiątkę! Ten protokół jest super przydatny do przesyłania plików między komputerami, zwłaszcza kiedy chcemy wrzucić naszą stronę na serwer. Działa tak, że logujesz się zdalnie na serwer, przeglądasz, co tam jest, i możesz łatwo przesyłać, pobierać albo nawet usuwać pliki. Jak twórcy stron chcą się podzielić swoimi plikami, jak HTML czy CSS, to sięgają po programy FTP, takie jak FileZilla. W momencie, kiedy połączysz się z serwerem, praca z plikami staje się naprawdę prosta. Warto pamiętać, że są też bezpieczniejsze wersje tego protokołu, czyli SFTP lub FTPS, które szyfrują dane, co jest ważne, bo zwiększa bezpieczeństwo przesyłanych plików.

Pytanie 7

Jakiego typu tablicy dotyczy instrukcja dodawania elementu w JavaScript?

Tablica['technik'] = 'informatyk';
A. liczbowej
B. asocjacyjnej
C. wielowymiarowej
D. stałej
Tablice statyczne są strukturami danych, których rozmiar jest ustalony podczas deklaracji i nie może być zmieniony w trakcie działania programu. W językach programowania takich jak C czy C++ tablice statyczne są powszechnie wykorzystywane, lecz w JavaScript, gdzie struktury danych są zazwyczaj dynamiczne, taki koncept jest mniej istotny. Tablice numeryczne w kontekście JavaScript to po prostu tablice, które używają indeksów liczbowych do przechowywania danych. Jednakże, możliwość przypisania wartości do indeksu tekstowego, jak w przypadku 'Tablica['technik'] = 'informatyk';', jest charakterystyczna dla tablic asocjacyjnych, nie dla numerycznych. Tablice numeryczne mogą przetrzymywać dane w uporządkowany sposób, ale nie umożliwiają użycia kluczy innych niż liczby całkowite, co ogranicza ich zastosowania w porównaniu do tablic asocjacyjnych. Tablice wielowymiarowe to kolekcje tablic, gdzie każda komórka może przechowywać inną tablicę. W JavaScript można tworzyć tablice wielowymiarowe poprzez zagnieżdżanie tablic, ale nie ma to związku z przypisywaniem kluczy tekstowych. Zastosowanie nazwanych kluczy, jak w podanym przykładzie, jest specyficzne dla tablic asocjacyjnych, które w JavaScript są implementowane jako obiekty i pozwalają na bardziej elastyczne zarządzanie danymi niż tablice wielowymiarowe, które skupiają się na przechowywaniu danych w formie tabeli. Typowym błędem jest mylenie tablic numerycznych z asocjacyjnymi, co może prowadzić do błędów w kodzie związanych z nieprawidłowym dostępem do danych lub ich organizacją, co wyraźnie pokazuje, że zrozumienie różnic między tymi strukturami danych jest kluczowe dla efektywnego programowania w JavaScript.

Pytanie 8

Jednym z rodzajów testów jednostkowych jest badanie ścieżek, które polega na

A. analizie obiektów pod kątem inicjalizacji oraz uwalniania pamięci
B. stworzeniu kilku zbiorów danych o analogicznym sposobie przetwarzania i wykorzystaniu ich do przeprowadzenia testu
C. sprawdzaniu wartości granicznych zbioru danych
D. ustaleniu punktu startowego i końcowego oraz analizie możliwych tras pomiędzy tymi punktami
Istnieje wiele podejść do testowania jednostkowego, jednak nie każde z nich odnosi się do analizy ścieżek. Testowanie wartości brzegowych, które polega na sprawdzaniu skrajnych wartości danych wejściowych, jest istotnym procesem, ale nie jest to równoznaczne z analizą ścieżek. Wartości brzegowe koncentrują się na ekstremalnych przypadkach, a nie na logicznych ścieżkach, które kod może przyjąć, co sprawia, że jest to inne podejście do zapewnienia jakości oprogramowania. Kolejnym wynikiem nieporozumienia w kontekście analizy ścieżek jest testowanie obiektów pod kątem inicjacji i zwolnienia pamięci. To zagadnienie dotyczy zarządzania pamięcią, co jest innym aspektem testowania. Ważne jest, aby pamiętać, że analiza ścieżek koncentruje się na przepływie sterowania w programie, a nie na zarządzaniu pamięcią, które jest kluczowe, ale w zupełnie innym kontekście. Wreszcie, tworzenie zbiorów danych o podobnym sposobie przetwarzania i ich użycie do testów to technika, która również nie odnosi się bezpośrednio do analizy ścieżek, lecz do testowania danych. Problem z tym podejściem polega na tym, że niekoniecznie odzwierciedla ono złożoność logiki aplikacji i może prowadzić do pominięcia krytycznych ścieżek w kodzie. Zrozumienie różnicy pomiędzy tymi podejściami jest kluczowe dla skutecznego testowania oprogramowania.

Pytanie 9

SELECT count(*) FROM Uczniowie WHERE srednia = 5;
Wynikiem uruchomienia przedstawionego zapytania SQL jest:
A. Liczba uczniów, których średnia ocen wynosi 5.
B. Liczba wszystkich uczniów.
C. Średnia ocen wszystkich uczniów.
D. Suma ocen uczniów, których średnia ocen wynosi 5.
Poprawnie – to zapytanie zwraca liczbę uczniów, których kolumna „srednia” ma wartość równą dokładnie 5. Funkcja agregująca COUNT(*) w SQL nie liczy sumy ani średniej, tylko po prostu zlicza wiersze spełniające warunek w klauzuli WHERE. W tym przypadku tabela Uczniowie jest filtrowana warunkiem srednia = 5, więc do liczenia trafiają wyłącznie rekordy uczniów, którzy mają średnią ocen równą 5. Dopiero na takim przefiltrowanym zbiorze wykonywany jest COUNT(*), który zwraca jedną liczbę – ile takich rekordów istnieje. Moim zdaniem to jedno z najczęściej używanych połączeń: WHERE + COUNT(*), bo w praktyce non stop chcemy wiedzieć „ile jest elementów spełniających warunek”. W raportach, panelach administracyjnych, dashboardach – np. ile jest klientów z określonym statusem, ilu użytkowników ma aktywne konto, ilu pracowników ma premię powyżej jakiegoś progu itd. Warto też zauważyć, że COUNT(*) liczy wszystkie wiersze, niezależnie od tego, czy jakieś inne kolumny są NULL, a kluczowe jest tylko to, że warunek WHERE jest spełniony. Dobrą praktyką jest zawsze dokładne określanie warunku filtrowania, bo drobna zmiana, np. srednia >= 5 zamiast srednia = 5, całkowicie zmienia znaczenie zapytania. W projektowaniu baz danych i zapytań SQL takie precyzyjne myślenie o warunkach i funkcjach agregujących jest absolutną podstawą profesjonalnej pracy z danymi.

Pytanie 10

Funkcja napisana w PHP ma na celu

Ilustracja do pytania
A. pobranie informacji z bazy danych
B. nawiązanie połączenia z bazą danych
C. zabezpieczenie bazy danych
D. ustawienie hasła do bazy danych
Funkcja mysql_query z języka PHP jest używana do wykonywania zapytań SQL w bazie danych MySQL. W przedstawionym przykładzie zapytanie SELECT * FROM napisy pobiera wszystkie rekordy z tabeli o nazwie napisy. Jest to klasyczne zapytanie używane do uzyskania danych z bazy danych co czyni je podstawowym narzędziem programisty PHP operującego na bazach danych. Zwrócone dane mogą następnie być przetwarzane wyświetlane lub używane w dalszych operacjach aplikacji. Ważnym aspektem pracy z bazami danych jest ochrona przed atakami SQL Injection co można osiągnąć poprzez stosowanie przygotowanych wyrażeń lub funkcji takich jak mysqli_prepare. Warto też pamiętać że funkcja mysql_query jest przestarzała i niezalecana w nowych projektach a zamiast niej powinno się używać mysqli lub PDO. Obie te biblioteki oferują większe bezpieczeństwo i lepszą obsługę błędów co jest zgodne z aktualnymi standardami w branży. Praca z danymi wymaga nie tylko ich pobierania ale także odpowiedniego zarządzania czym zajmują się bardziej złożone mechanizmy jak ORM-y co upraszcza pracę z bazami danych i zwiększa czytelność kodu.

Pytanie 11

DELETE FROM Pracownicy ORDER BY rok_urodzenia LIMIT 1;
W wyniku wykonania powyższego zapytania SQL zostanie:
A. usunięta tabela Pracownicy.
B. usunięty rekord z danymi pracownika, który miał wpisaną datę urodzenia.
C. usunięta kolumna rok_urodzenia z tabeli Pracownicy.
D. usunięty rekord najstarszego pracownika.
To polecenie SQL nie modyfikuje struktury tabeli, tylko usuwa konkretny wiersz danych. W SQL istnieje wyraźny podział między poleceniami do pracy na danych, a poleceniami do pracy na strukturze bazy. DELETE należy do grupy DML (Data Manipulation Language) i służy do usuwania rekordów, czyli pojedynczych wierszy w tabeli. Natomiast operacje typu usunięcie całej tabeli lub kolumny realizuje się za pomocą poleceń DDL (Data Definition Language), takich jak DROP czy ALTER. Jeżeli ktoś kojarzy usunięcie tabeli z DELETE FROM, to jest to typowy błąd: do usunięcia tabeli używamy DROP TABLE Pracownicy; i po takim poleceniu struktura tabeli znika całkowicie z bazy. DELETE FROM Pracownicy bez warunku WHERE usunęłoby wszystkie rekordy, ale sama tabela – jej kolumny, indeksy, definicja – nadal by istniała. To bardzo ważne rozróżnienie, bo w praktyce administracji bazą przypadkowe DROP TABLE bywa katastrofalne, a DELETE da się jeszcze często cofnąć z backupu danych. Podobnie mylne jest myślenie, że DELETE FROM zadziała na kolumnie, np. usunie rok_urodzenia. Do modyfikacji struktury kolumn używamy ALTER TABLE, np. ALTER TABLE Pracownicy DROP COLUMN rok_urodzenia;. To jest zupełnie inny typ operacji niż usuwanie wiersza. W przedstawionym zapytaniu kolumna rok_urodzenia jest tylko kryterium sortowania w klauzuli ORDER BY, które decyduje, który rekord zostanie wybrany do usunięcia. Kolejna pułapka myślowa polega na tym, że ktoś widzi ORDER BY rok_urodzenia i myśli: „usunie się jakiś rekord, w którym ta wartość jest w ogóle wpisana”. To też nie jest prawidłowe. Baza nie usuwa „pierwszego lepszego” rekordu z niepustą datą urodzenia, tylko ten, który po posortowaniu według rok_urodzenia znajdzie się na pierwszej pozycji. Dzięki LIMIT 1 usuwany jest dokładnie jeden wiersz, nie więcej. W praktyce to bardzo precyzyjna operacja: jeśli rok_urodzenia oznacza rok urodzenia pracownika, to najmniejsza wartość w tej kolumnie odpowiada najstarszemu pracownikowi. To właśnie jego rekord zostaje skasowany. Z mojego doświadczenia wiele nieporozumień bierze się z pomieszania pojęć „rekord”, „kolumna” i „tabela”. Dobra praktyka jest taka, żeby zawsze czytać zapytanie fragmentami: DELETE – co robi? FROM Pracownicy – na jakiej tabeli? ORDER BY rok_urodzenia – według czego sortuje wiersze? LIMIT 1 – ile wierszy usunie? Taki sposób analizy bardzo pomaga unikać błędnych wniosków i jest standardem przy pracy z SQL w profesjonalnych projektach.

Pytanie 12

W zaprezentowanym fragmencie zapytania SQL, instrukcja SELECT ma za zadanie zwrócić

SELECT COUNT(wartosc) FROM ...
A. średniej wartości tabeli
B. średniej w kolumnie wartosc
C. suma w kolumnie wartosc
D. liczby rekordów
Komenda SELECT COUNT w języku SQL jest używana do zwracania liczby wierszy w rezultacie zapytania. Użycie funkcji COUNT z nazwą kolumny, jak w przykładzie SELECT COUNT(wartosc), pozwala policzyć wszystkie niepuste wartości w danej kolumnie wartosc w tabeli. Jest to przydatne w przypadkach, gdy chcemy zrozumieć, ile danych spełnia określone kryteria, lub gdy interesuje nas liczba wierszy zawierających wartości w konkretnej kolumnie. Funkcja COUNT jest jedną z podstawowych funkcji agregujących w SQL, co oznacza, że podsumowuje dane w określony sposób. Stosowanie tej funkcji jest zgodne z najlepszymi praktykami w projektowaniu baz danych, gdzie często potrzebujemy analizować dane w sposób ilościowy. Przykładowo, jeśli prowadzimy bazę danych klientów, możemy użyć SELECT COUNT(id) FROM klienci, aby dowiedzieć się, ilu mamy zarejestrowanych klientów. Ta funkcja jest także kluczowym elementem w optymalizacji zapytań, ponieważ pozwala na szybkie uzyskanie informacji o liczbie rekordów bez konieczności przetwarzania wszystkich danych z tabeli. Zrozumienie działania COUNT i jego zastosowań jest kluczowe dla efektywnego przetwarzania danych i tworzenia wydajnych zapytań w języku SQL.

Pytanie 13

Która z poniższych funkcji PHP służy do ładowania pliku z serwera?

A. mysqli_connect()
B. echo()
C. parse_str()
D. include()
Funkcja <code>include()</code> w PHP jest używana do ładowania i wstawiania zawartości jednego pliku PHP do innego. Jest to niezwykle przydatne, gdy pracujemy z wieloma modułami w aplikacji i chcemy zorganizować kod w bardziej zrozumiały sposób. Korzystanie z <code>include()</code> pozwala na ponowne użycie tego samego kodu w wielu miejscach, co jest zgodne z zasadą DRY (Don't Repeat Yourself). Dzięki temu, jeśli mamy wspólną część kodu, jak np. nagłówek strony, możemy umieścić ją w osobnym pliku i dołączyć tam, gdzie jest to potrzebne. To nie tylko oszczędza czas, ale także ułatwia utrzymanie kodu. W przypadku błędów, <code>include()</code> generuje ostrzeżenie, ale nie zatrzymuje wykonywania skryptu, co może być przydatne w niektórych sytuacjach. Z mojego doświadczenia wynika, że jest to jedna z podstawowych funkcji, z którą warto się zapoznać na początku nauki PHP.

Pytanie 14

W języku SQL używanym przez bazę danych MySQL atrybut UNIQUE w poleceniu CREATE TABLE

A. jest stosowany jedynie w przypadku kolumn liczbowych
B. wymusza niepowtarzalne nazwy kolumn tabeli
C. jest używany, jeżeli wartości w danej kolumnie nie mogą się powtarzać
D. uniemożliwia wprowadzenie wartości NULL
Atrybut UNIQUE w poleceniu CREATE TABLE w języku SQL dla bazy danych MySQL jest kluczowym elementem, który zapewnia, że wartości w danej kolumnie są unikalne dla każdego rekordu w tabeli. Oznacza to, że nie może istnieć więcej niż jeden rekord z taką samą wartością w kolumnie oznaczonej tym atrybutem. Dzięki temu, gdy projektujemy bazę danych, możemy zagwarantować integralność danych oraz ich spójność, co jest szczególnie istotne w przypadku kluczowych informacji, jak identyfikatory użytkowników czy numery seryjne produktów. Na przykład, jeżeli mamy tabelę użytkowników z kolumną 'email', możemy zastosować atrybut UNIQUE, aby upewnić się, że każdy użytkownik ma unikalny adres e-mail. W praktyce, jeżeli spróbujemy wprowadzić dwa rekordy z tym samym adresem e-mail, baza danych zgłosi błąd. Warto zauważyć, że atrybut UNIQUE pozwala na wprowadzenie wartości NULL, o ile nie ma innych wartości w danej kolumnie. Zgodnie z zasadami normalizacji danych, stosowanie atrybutu UNIQUE jest standardowym podejściem do zapewnienia jakości danych i ich unikalności w systemach zarządzania bazami danych.

Pytanie 15

W języku HTML stworzono definicję tabeli. Który z rysunków ilustruje jej działanie?

Ilustracja do pytania
A. Rysunek 3
B. Rysunek 2
C. Rysunek 1
D. Rysunek 4
Prawidłowa odpowiedź to Rysunek 1 ponieważ odwzorowuje on strukturę tabeli opisaną w kodzie HTML zaprezentowanym w pytaniu. Kod HTML przedstawia tabelę z dwoma wierszami. Pierwszy wiersz zawiera dwie komórki z tekstami 'pierwszy' i 'drugi'. Drugi wiersz posiada jedną komórkę z tekstem 'trzeci' która zajmuje szerokość dwóch kolumn dzięki zastosowaniu atrybutu colspan=2. Właśnie ta cecha sprawia że drugi rysunek jest poprawny gdyż w nim komórka z tekstem 'trzeci' rozciąga się na szerokość dwóch kolumn tabeli. Takie podejście jest zgodne z zasadami projektowania tabel w HTML gdzie atrybut colspan pozwala na łączenie kolumn co jest szczególnie przydatne przy tworzeniu złożonych układów danych w tabelach. Dzięki zastosowaniu tego atrybutu można efektywnie zarządzać szerokością komórek i ich położeniem co zwiększa elastyczność w projektowaniu układów na stronach internetowych. Warto zwrócić uwagę na fakt że użycie atrybutu 'border' z wartością 1 powoduje wyświetlenie widocznej ramki co jest dobrze zilustrowane na Rysunku 1. Zrozumienie i umiejętne zastosowanie takich technik w projektowaniu stron jest kluczowe dla tworzenia przejrzystych i funkcjonalnych interfejsów użytkownika.

Pytanie 16

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

A. pobieranie i zmianę elementów strony, która jest wyświetlana przez przeglądarkę
B. przesyłanie danych formularzy bezpośrednio do bazy danych
C. przeprowadzanie operacji na zmiennych zawierających liczby
D. manipulację łańcuchami zdefiniowanymi w kodzie
No cóż, odpowiedzi, które mówisz o manipulacji łańcuchami, wysyłaniu formularzy do baz czy operacjach na liczbach, nie są związane z tym, co oferuje DOM. Manipulacja łańcuchami dotyczy zmiennych w JavaScript, a nie interakcji z elementami na stronie. Wysyłanie formularzy do bazy danych to temat dla innych technologii, jak AJAX, a nie coś, co robi DOM. Operacje na liczbach też są częścią samego JavaScript, ale nie mają nic wspólnego z elementami HTML. Często można usłyszeć, że DOM to wszystko, co związane z JavaScript, ale tak nie jest. DOM to narzędzie do zmiany struktury strony, a nie do obliczeń. Warto to rozróżnić, żeby nie popełniać błędów w projektowaniu aplikacji webowych, bo to może przysporzyć problemów.

Pytanie 17

Jaką konstrukcją w języku C++ jest double *x;?

A. Formalny argument typu rzeczywistego
B. Zmienna rzeczywista
C. Wskaźnik
D. Zmienna całkowita
Wybór odpowiedzi, która sugeruje, że 'double *x;' jest parametrem formalnym typu rzeczywistego, jest nieprawidłowy, ponieważ wskaźnik nie jest sam w sobie parametrem formalnym. Parametry formalne w C++ są definiowane w nagłówkach funkcji i odnoszą się do zmiennych przekazywanych do funkcji. Wskaźnik, jak 'double *x;', jest po prostu zmienną, która przechowuje adres innej zmiennej, co jest zupełnie inną koncepcją. Z kolei określenie zmiennej całkowitej jest również błędne, ponieważ 'double' wskazuje na typ zmiennoprzecinkowy, a nie całkowity. Zrozumienie różnicy między typami danych jest kluczowe w C++. Ostatnia niepoprawna opcja, mówiąca o zmiennej rzeczywistej, nie odnosi się do wskaźnika, ponieważ wskaźnik nie jest zmienną przechowującą wartość typu 'double', ale adresem, pod którym taka wartość może być przechowywana. Typowe błędy myślowe, które mogą prowadzić do takich niepoprawnych odpowiedzi, obejmują mylenie pojęcia wskaźnika z typem zmiennej, a także brak zrozumienia roli wskaźników w kontekście zarządzania pamięcią i przekazywania danych do funkcji. Właściwe zrozumienie tych podstawowych koncepcji jest niezbędne do skutecznego programowania w C++.

Pytanie 18

Który efekt został zaprezentowany na filmie?

A. Zmniejszenie kontrastu zdjęcia.
B. Zmiana jasności zdjęć.
C. Przenikanie zdjęć.
D. Zwiększenie ostrości 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 19

Wyjątkowa metoda przynależąca do danej klasy w programowaniu obiektowym, która jest automatycznie wywoływana w momencie tworzenia obiektu i zazwyczaj ma na celu inicjalizację pól, to

A. konstruktor
B. obiekt
C. specyfikator dostępu
D. destruktor
Obiekt to instancja klasy, która zawiera konkretne wartości pól oraz metody zdefiniowane w klasie. Nie jest to jednak metoda, a raczej jej realizacja. W programowaniu obiektowym obiekty są tworzone za pomocą konstruktorów, co oznacza, że mylenie tych pojęć prowadzi do nieporozumień. Destruktor, z drugiej strony, to metoda wywoływana automatycznie podczas usuwania obiektu z pamięci. Jego zadaniem jest zwolnienie zasobów zajmowanych przez obiekt. Brak zrozumienia różnicy między konstruktorem a destruktorem może prowadzić do problemów z zarządzaniem pamięcią i wycieków zasobów. Specyfikator dostępu, natomiast, to mechanizm definiujący widoczność i dostępność pól oraz metod w klasie. Pomimo że jest kluczowym elementem programowania obiektowego, nie odnosi się bezpośrednio do tworzenia instancji obiektów. Powszechnym błędem jest zatem utożsamianie konstruktorów z innymi elementami języka obiektowego, co może prowadzić do nieefektywnej architektury oprogramowania oraz trudności w jego zrozumieniu i utrzymaniu. Kluczowe jest zatem zrozumienie roli, jaką konstruktor odgrywa w kontekście cyklu życia obiektu oraz zarządzania jego stanem.

Pytanie 20

document.getElementById("napis").innerHTML = Date); // Aby poprawnie skomentować podaną linijkę kodu w języku JavaScript, należy dodać komentarz po znakach //

A. wyświetlenie ciągu "Date()" w znaczniku o id = napis
B. wyświetlenie daty oraz czasu w znaczniku o id = napis
C. zmiana właściwości atrybutu innerHTML
D. niepoprawne informacje
Wybór odpowiedzi, które nie są poprawne, opiera się na nieścisłym zrozumieniu działania funkcji i użycia atrybutu 'innerHTML'. Pierwsza z niepoprawnych odpowiedzi sugeruje, że przedstawione dane są nieprawidłowe, co jest mylne. W rzeczywistości, kod nie jest błędny w sensie syntaktycznym, ale jego logika w kontekście wyświetlania aktualnej daty i czasu wymaga poprawy. Druga odpowiedź, odnosząca się do zmiany stylu atrybutu 'innerHTML', jest również błędna, ponieważ atrybut 'innerHTML' nie służy do zmiany stylu elementu. W rzeczywistości, 'innerHTML' jest używany do wstawiania lub modyfikacji zawartości HTML danego elementu, a nie jego stylizacji. Stylizacja powinna być realizowana poprzez CSS lub Javascript wykorzystujący inne metody, takie jak 'style' lub 'classList'. Trzecia niepoprawna odpowiedź sugeruje, że kod wyświetli tekst 'Date()', co jest całkowicie błędne. Funkcja bez nawiasów nie zwraca wyników, a jedynie odnosi się do konstruktora obiektów daty. W związku z tym, wynik będzie niepoprawny i nie przyczyni się do wyświetlenia aktualnej daty i czasu na stronie. W kontekście programowania w JavaScript, kluczowe jest zrozumienie różnicy między wywołaniem funkcji a odniesieniem się do funkcji jako obiektu, co jest fundamentalne dla efektywnej manipulacji DOM.

Pytanie 21

Według którego parametru oraz dla ilu tabel zostaną zwrócone wiersze na liście w wyniku przedstawionego zapytania?

SELECT * FROM producent, hurtownia, sklep, serwis WHERE
  producent.nr_id = hurtownia.nr_id AND
  producent.wyrob_id = serwis.wyrob_id AND
  hurtownia.nr_id = sklep.nr_id AND
  sklep.nr_id = serwis.nr_id AND
  producent.nr_id = 1;
A. Według parametru wyrób Jd wyłącznie dla trzech tabel.
B. Według parametru nr id dla wszystkich tabel.
C. Według parametru wyrób id dla wszystkich tabel.
D. Według parametru nr id wyłącznie dla trzech tabel.
Brawo! Wybrałeś poprawną odpowiedź, zgodnie z którą parametrem nr id zwraca wiersze dla wszystkich tabel. To zapytanie SQL odnosi się do czterech tabel: producent, hurtownia, sklep i serwis. Zwraca ono wiersze, gdzie wartość kolumny nr_id jest taka sama we wszystkich tych tabelach i równa 1. Dodatkowo, jakość danych jest wspierana przez fakt, że zapytanie sprawdza zgodność wartości kolumny wyrob_id między tabelami producent i serwis. Zrozumienie tego, jak działa to zapytanie i dlaczego to jest ważne, jest kluczowe w praktyce programistycznej. Zapewnia to, że możemy skutecznie i efektywnie manipulować danymi, a także zrozumieć, jak nasze zapytania wpływają na wyniki, które otrzymujemy. Dobra praktyka jest zawsze zrozumienie, jakie dane są zwracane przez nasze zapytanie, zanim zaczniemy z nich korzystać w naszym kodzie. Ostatecznie, zrozumienie, jak korzystać z zapytań SQL do manipulacji i odzyskiwania danych, jest kluczowym elementem dowolnej roli programistycznej.

Pytanie 22

Jaką technologię zaleca się przy budowie witryn WWW, aby użytkownicy bez umiejętności programistycznych mogli samodzielnie wprowadzać zmiany w treści bez kodowania?

A. SSL
B. SEO
C. FTP
D. CMS
SEO, czyli optymalizacja dla wyszukiwarek, to temat, który dotyczy poprawy widoczności strony w wynikach wyszukiwania. Choć jest szalenie ważne w marketingu internetowym, to nie ma bezpośredniego związku z tym, jak zarządzać treścią na stronie. Użytkownicy nie mogą zmieniać treści za pomocą SEO; chodzi raczej o to, żeby to, co już jest, było bardziej przyjazne dla robotów wyszukiwarek. Trzeba pamiętać, że jeśli się skupiamy na SEO, ale nie mamy porządnego CMS-a, to aktualizacja treści może być trudna, co w dłuższym czasie źle wpłynie na pozycjonowanie. FTP, czyli protokół transferu plików, jest do przesyłania plików między komputerami a serwerami, ale żeby z niego korzystać, trzeba znać strukturę plików, więc dla kogoś bez technicznych umiejętności to nie jest rozwiązanie. SSL, czyli bezpieczne połączenia, to ważna rzecz, ale z zarządzaniem treścią nie ma za bardzo wspólnego. Użytkownicy mogą się pogubić, myśląc, że te technologie wystarczą do zarządzania treścią, co może wprowadzać w błąd i powodować, że zasoby internetu będą wykorzystywane nieefektywnie.

Pytanie 23

W instrukcjach, których celem jest odtwarzanie dźwięku na stronie internetowej jako tła muzycznego, nie stosuje się atrybutu

A. balance="10"
B. volume="-100"
C. loop="10"
D. href="c:/100.wav"
Wszystkie pozostałe odpowiedzi są niepoprawne z kilku powodów. Atrybut loop, który jest używany do powtarzania dźwięku, nie może przyjmować wartości liczbowych, dlatego loop='10' jest niewłaściwy. Wartość loop jest typu boolowskiego, gdzie obecność atrybutu w tagu <audio> lub <source> oznacza, że dźwięk ma być odtwarzany w pętli. Kolejną niepoprawną odpowiedzią jest balance='10', który nie jest uznawany za standardowy atrybut HTML. W kontekście dźwięku, nie istnieje atrybut balance, który mógłby kontrolować balans lewego i prawego kanału. Ostatnia z niepoprawnych odpowiedzi, volume='-100', także nie jest obowiązującym atrybutem. W HTML5 nie ma możliwości ustawienia głośności w ten sposób; zamiast tego dźwięk musi być kontrolowany za pomocą JavaScript i API Web Audio, co pozwala na programowe dostosowanie głośności dźwięku. Podsumowując, wszystkie te odpowiedzi nie odpowiadają na wymagania techniczne dotyczące odtwarzania dźwięku w standardach internetowych.

Pytanie 24

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. Funkcja normalizacja znajduje się w menu programu do edycji dźwięku.
C. Podczas normalizacji poziom głośności całego nagrania jest wyrównywany.
D. 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.
W tej odpowiedzi jest pewne nieporozumienie związane z tym, co to znaczy normalizacja sygnału dźwiękowego. To nie jest po prostu podwojenie głośności najgłośniejszego kawałka, to by było za proste. Chodzi o to, żeby całe nagranie miało odpowiednią głośność bez wprowadzania zniekształceń. Jeśli najgłośniejszy fragment audio jest na poziomie 50%, normalizacja ma za zadanie podnieść poziom całego nagrania tak, żeby ten najgłośniejszy kawałek dotarł do maksymalnej wartości. To nie jest kwestia po prostu pomnożenia przez dwa, a raczej odpowiedniego dostosowania do skali decybelowej. To jest szczególnie ważne, bo w normalizacji musimy unikać clippingu, czyli zniekształceń dźwięku, które mogą się zdarzyć, gdy poziom wyjściowy jest za wysoki. Normalizacja dobrze działa w połączeniu z innymi technikami, takimi jak kompresja i limitacja, żeby uzyskać najlepsze efekty w produkcji audio. Dlatego warto to dobrze rozumieć, bo źle użyta normalizacja może prowadzić do kiepskiej jakości dźwięku oraz ogólnie nieprzyjemnych wrażeń podczas słuchania.

Pytanie 25

Jakiej kwerendy w bazie MariaDB należy użyć, aby wybrać artykuły, których ceny mieszczą się w przedziale domkniętym <10, 20>?

A. SELECT * FROM Artykuly WHERE Cena IN (10, 20)
B. SELECT * FROM Artykuly WHERE Cena LIKE 1%, 2%
C. SELECT * FROM Artykuly WHERE Cena > 10 AND Cena < 20
D. SELECT * FROM Artykuly WHERE Cena BETWEEN 10 AND 20
Odpowiedź 'SELECT * FROM Artykuly WHERE Cena BETWEEN 10 AND 20;' jest prawidłowa, ponieważ wykorzystuje operator BETWEEN, który jest idealny do określenia wartości zawartych w obustronnie domkniętym przedziale. W tym przypadku zapytanie zwróci wszystkie artykuły, których cena jest równa 10 lub 20 oraz wszystkie wartości znajdujące się pomiędzy tymi dwoma wartościami. Operator BETWEEN jest standardowym sposobem na łatwe zapisywanie takich warunków w SQL, co czyni kod bardziej czytelnym i zrozumiałym. Przykład zastosowania to sytuacja, gdy chcemy znaleźć produkty w określonym przedziale cenowym na stronie e-commerce. Tego typu kwerendy są bardzo powszechne w analizie danych i zarządzaniu bazami danych, a ich znajomość jest kluczowa dla efektywnego wykonywania zadań związanych z eksploracją danych. Zastosowanie BETWEEN w praktyce pozwala na automatyzację procesów wyszukiwania i filtrowania danych, co jest zgodne z najlepszymi praktykami w zakresie optymalizacji zapytań w bazach danych.

Pytanie 26

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

A. step
B. readonly
C. pattern
D. value
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 27

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

A. ułatwienia wprowadzania, edytowania i usuwania danych
B. tworzenia powiązań w relacyjnych bazach danych
C. generowania raportów z danych
D. wyszukiwania rekordów, które spełniają określone kryteria
Wiele osób może pomylić funkcję formularzy w bazach danych z ich rolą w raportowaniu danych. Chociaż formularze mogą być używane do generowania raportów, ich głównym celem nie jest prezentacja danych, ale ułatwienie ich wprowadzania oraz zarządzania. Raporty zazwyczaj są generowane na podstawie danych już istniejących w bazie i wymagają analizy, co wykracza poza funkcję formularzy. Z kolei wyszukiwanie wierszy spełniających określone kryteria, choć istotne, również nie jest głównym zadaniem formularzy. Wyszukiwanie to proces związany z kwerendami SQL, który pozwala na wydobycie danych na podstawie różnych warunków, co także nie jest bezpośrednio związane z funkcjonalnością formularzy, które skupiają się na interakcji użytkownika z danymi. Ponadto, wprowadzanie powiązań w relacyjnych bazach danych to bardziej zaawansowany proces projektowania bazy, który wymaga zrozumienia struktury danych i zastosowania kluczy głównych oraz obcych. Powiązania są definiowane na etapie projektowania bazy danych, a nie podczas korzystania z formularzy. Dlatego, chociaż wszystkie wymienione funkcje są istotne w kontekście zarządzania danymi, formularze skupiają się głównie na uproszczeniu interakcji użytkownika z procesem wprowadzania i modyfikacji danych.

Pytanie 28

W SQL uprawnienie SELECT przydzielone za pomocą polecenia GRANT umożliwia użytkownikowi bazy danych

A. uzyskiwanie danych z tabeli
B. zmienianie danych w tabeli
C. usuwanie danych z tabeli
D. generowanie tabeli
Przywilej SELECT w języku SQL, przyznawany przy użyciu polecenia GRANT, umożliwia użytkownikowi baz danych na wykonywanie operacji odczytu danych z określonych tabel. Oznacza to, że użytkownik może pobierać informacje zapisane w tabelach bazy danych, co jest kluczowe dla większości aplikacji korzystających z danych. Na przykład, w kontekście aplikacji analitycznych, dostęp do danych pozwala na generowanie raportów i analiz, które wspierają podejmowanie decyzji. W praktyce, przyznanie przywileju SELECT jest standardową procedurą zabezpieczającą, ponieważ pozwala na kontrolowanie, którzy użytkownicy mogą zobaczyć dane w bazie, minimalizując ryzyko nieautoryzowanego dostępu. Warto również zaznaczyć, że w bazach danych, takich jak MySQL, PostgreSQL czy Oracle, przywileje są zarządzane w sposób hierarchiczny, co oznacza, że użytkownik z przywilejem SELECT może dodatkowo dziedziczyć inne przywileje, co zwiększa elastyczność zarządzania dostępem.

Pytanie 29

Narzędzie używane do organizowania i przedstawiania danych z wielu wpisów w celu ich wydruku lub dystrybucji to

A. raport
B. makropolecenie
C. kwerenda
D. formularz
Kwerenda, formularz i makropolecenie to narzędzia, które mają zupełnie inne zadania niż raportowanie. Kwerenda to tak jakby pytanie do bazy danych, które pozwala wyciągać konkretne informacje z całkiem dużej ilości danych. Jej głównym celem jest raczej filtracja niż grupowanie danych, więc niekoniecznie nadaje się do tworzenia raportów. Formularz to interfejs, za pomocą którego możemy wprowadzać lub edytować dane, ale nie pomoże nam w grupowaniu czy ładnej prezentacji w formie raportu. Makropolecenie to natomiast zestaw instrukcji w Excelu, które mogą automatyzować powtarzalne zadania, co jest spoko, ale nie ma tu mowy o tworzeniu raportów. Widać więc, że każde z tych narzędzi ma swoje przeznaczenie i nie może zastąpić efektywnego raportu, który jest kluczowy w analizie danych.

Pytanie 30

W konstrukcji warunkowej w języku JavaScript należy sprawdzić sytuację, w której zmienne a oraz b są większe od zera, przy czym zmienna b jest mniejsza niż 100. Taki warunek powinien być zapisany w następujący sposób:

A. if ( a > 0 && b > 0 && b < 100) ...
B. if ( a > 0 || b > 0 || b > 100) ...
C. if ( a > 0 && b > 0 || b > 100) ...
D. if ( a > 0 || (b > 0 && b < 100)) ...
Wybór niewłaściwego warunku logicznego w tej sytuacji prowadzi do błędnych wyników. Przykładowo, w pierwszym przypadku użycie operatora OR (||) sprawia, że warunek zwróci true, jeśli którakolwiek z wartości będzie spełniona, co jest niezgodne z wymaganym zachowaniem. To oznacza, że jeśli 'a' lub 'b' będą dodatnie, ale 'b' będzie większe od 100, to warunek zostanie zrealizowany, co jest niepożądane. W drugim przypadku, mieszając operatory AND i OR, uzyskujemy niejednoznaczność. Warunek ten jest prawdziwy, jeżeli 'a' jest dodatnie oraz 'b' jest dodatnie lub większe od 100, co również nie spełnia naszych wymagań, gdyż obie zmienne muszą być dodatnie, a 'b' powinno być poniżej 100. W trzecim przypadku, zastosowanie operatora OR w sposób, który łączy warunki dotyczące 'b', prowadzi do tego, że warunek może być spełniony, nawet jeżeli 'b' jest większe od 100, co jest sprzeczne z naszymi założeniami. W każdej z tych sytuacji kluczowym błędem jest nieznalezienie właściwej logiki, która jednoznacznie określa, że obie zmienne muszą być dodatnie, a 'b' musi być mniejsze niż 100, co możemy osiągnąć jedynie za pomocą operatora AND.

Pytanie 31

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

A. INSERT VALUES Pracownicy INTO (Jan, Kowalski);
B. INSERT INTO Pracownicy (imie, nazwisko) VALUES (Jan, Kowalski);
C. INSERT (Jan, Kowalski) INTO Pracownicy;
D. INSERT VALUES (Jan, Kowalski) INTO Pracownicy;
Odpowiedź 'INSERT INTO Pracownicy (imie, nazwisko) VALUES (Jan, Kowalski);' jest poprawna, ponieważ jest zgodna z ogólną składnią polecenia SQL do dodawania danych do tabeli. W składni tej najpierw wskazujemy, do której tabeli chcemy wprowadzić dane, używając frazy 'INSERT INTO', a następnie w nawiasach podajemy nazwy kolumn, do których mają być wprowadzone wartości. Wartości te umieszczamy po słowie kluczowym 'VALUES', również w nawiasach. Takie podejście jest zgodne z normami SQL i zapewnia, że dane będą poprawnie wstawione. Przykładem praktycznym może być dodanie nowego pracownika do bazy danych firmy, co jest kluczowym elementem zarządzania informacjami o pracownikach. Prawidłowa składnia pozwala również na łatwe wprowadzenie wielu rekordów jednocześnie, co jest efektywne w dużych systemach baz danych. Ponadto, użycie poprawnej składni ułatwia przyszłe modyfikacje oraz optymalizację zapytań, co jest istotne w kontekście dobrą praktyką w programowaniu baz danych.

Pytanie 32

Jakie jest zastosowanie certyfikatu SSL?

A. zapobiegania złośliwemu oprogramowaniu na stronie
B. przechowywania informacji o sesjach tworzonych na stronie
C. określenia właściciela domeny
D. odszyfrowywania przesyłanych danych
Certyfikat SSL, czyli Secure Sockets Layer, jest naprawdę ważnym elementem, jeśli chodzi o bezpieczeństwo w sieci. Dzięki niemu możemy mieć pewność, że strona, którą odwiedzamy, jest tym, za co się podaje. Wyobraź sobie, że logujesz się do swojego banku. Dzięki certyfikatowi SSL wiesz, że łączysz się z prawdziwą stroną, a nie z jakimś oszustem. To daje spokój, prawda? Co więcej, ten certyfikat szyfruje dane, które są przesyłane między klientem a serwerem, co jest kluczowe, zwłaszcza kiedy chodzi o nasze prywatne informacje. Z tego, co wiem, certyfikaty SSL są zgodne z normami, które ustala IETF oraz CA/Browser Forum, dlatego są dość powszechnie akceptowane w branży internetowej.

Pytanie 33

Tabele Osoby oraz Adresy są ze sobą połączone relacją typu jeden do wielu. Jakie zapytanie SQL powinno być użyte, aby poprawnie wyświetlić nazwiska oraz odpowiadające im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby, Adresy
B. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id=Adresy.id
C. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id=Adresy.id
D. SELECT nazwisko, Miasto FROM Osoby.Adresy_id=Adresy.id FROM Osoby, Adresy
Użycie składni JOIN w zapytaniu SQL to naprawdę dobra decyzja, jeśli chodzi o pokazywanie powiązanych danych z różnych tabel w bazie danych. W odpowiedzi zastosowałeś INNER JOIN, co jest jednym z tych najpopularniejszych sposobów łączenia tabel, zwłaszcza gdy mamy wspólny klucz. W tym przypadku klucz obcy Adresy_id w tabeli Osoby łączy się z kluczem głównym id w tabeli Adresy, co pozwala na wyciągnięcie nazwisk z Osób oraz odpowiadających im miast z Adresów. W praktyce takie użycie JOIN jest zgodne z najlepszymi praktykami, bo ułatwia zarządzanie danymi i sprawia, że wszystko jest czytelniejsze. Gdy pracujesz nad bardziej skomplikowanymi systemami, umiejętność poprawnego łączenia tabel jest kluczowa. Umożliwia to utrzymanie porządku w danych i zmniejszenie ich powtarzalności przez normalizację. I naprawdę, takie zapytania są mega przydatne w analizie danych, generowaniu raportów czy w aplikacjach, które operują na dużych zbiorach, gdzie wydajność i przejrzystość kodu SQL są niezwykle ważne.

Pytanie 34

Podstawowym celem korzystania z edytora WYSIWYG jest

A. automatyzacja odtwarzania plików multimedialnych
B. wykrywanie błędów w bazie danych
C. ściąganie z Internetu pełnych portali WWW
D. szybka wizualizacja tworzonej strony
Edytory WYSIWYG (What You See Is What You Get) są narzędziami, które umożliwiają tworzenie i edytowanie treści internetowych w sposób wizualny, co oznacza, że użytkownik widzi na ekranie dokładnie to, co otrzyma po zapisaniu dokumentu. Głównym celem ich stosowania jest przyspieszenie procesu projektowania stron internetowych poprzez natychmiastowe wizualizowanie zmian. Dzięki temu, osoby nieposiadające zaawansowanej wiedzy programistycznej mogą łatwo tworzyć atrakcyjne wizualnie strony, co ma ogromne znaczenie w kontekście szybkiego rozwoju branży webowej. Przykłady zastosowania edytorów WYSIWYG to platformy takie jak WordPress, Wix czy Squarespace, które umożliwiają użytkownikom dodawanie treści, obrazów i multimediów bez potrzeby pisania kodu. Warto również zauważyć, że edytory te wspierają standardy webowe, takie jak HTML5 i CSS3, co pozwala na optymalizację stron pod kątem SEO oraz responsywności. W związku z rosnącą popularnością edytorów WYSIWYG, znajomość ich działania staje się kluczowa dla każdego, kto pragnie efektywnie zarządzać treściami w sieci.

Pytanie 35

Kolor zielony w skróconej notacji szesnastkowej można zapisać w CSS jako sekwencję

A. #00F
B. #F00
C. #FFF
D. #0F0
Kolor zielony w notacji szesnastkowej skróconej, zapisany jako #0F0, jest standardowym sposobem reprezentacji koloru w CSS. W tej notacji każdy kanał koloru (czerwony, zielony, niebieski) jest reprezentowany przez dwucyfrową liczbę szesnastkową. W przypadku koloru zielonego, kanał czerwony jest ustawiony na 0, kanał zielony na maksymalną wartość (FF) i kanał niebieski na 0. Wartości te odpowiadają skali RGB, gdzie 0 oznacza brak koloru, a FF oznacza pełną intensywność. Przykładowo, w CSS można wykorzystać ten kolor w stylach dla elementów HTML, np. dla tła: 'background-color: #0F0;'. Dzięki temu możliwe jest osiągnięcie jasnego, intensywnego zielonego koloru. Notacja szesnastkowa jest powszechnie używana w projektowaniu webowym i jest zgodna ze standardami W3C, co czyni ją uniwersalnym narzędziem dla programistów i projektantów stron internetowych. Kolor zielony, uzyskiwany przez kombinację pełnej intensywności zielonego i braku czerwonego oraz niebieskiego, jest często wykorzystywany w interfejsach użytkownika, co czyni jego znajomość kluczową dla efektywnego projektowania stron.

Pytanie 36

Co należy zweryfikować przed wykonaniem kopii zapasowej bazy danych, aby było możliwe jej późniejsze odtworzenie w poprawny sposób?

A. spójność bazy danych
B. poprawność składni zapytań
C. prawa dostępu do serwera bazy danych
D. możliwość udostępnienia bazy danych
Spójność bazy danych jest kluczowym aspektem, który należy zweryfikować przed wykonaniem kopii bezpieczeństwa. Oznacza to, że wszystkie dane w bazie powinny być poprawne, zgodne i w stanie nienaruszonym. W przypadku, gdy baza danych zawiera niezgodne dane, na przykład w wyniku przerwania transakcji lub błędów aplikacji, kopia zapasowa może być niewłaściwa lub niekompletna. Sprawdzanie spójności można realizować poprzez techniki takie jak walidacja danych, które mogą obejmować sprawdzanie kluczy obcych, unikalności oraz reguł integralności. Na przykład, w systemach zarządzania bazami danych (DBMS) często dostępne są wbudowane narzędzia do analizy i naprawy spójności. Dobrą praktyką jest także wykonywanie kopii zapasowych w czasie, gdy baza jest w trybie offline lub w trakcie minimalnego obciążenia, aby zminimalizować ryzyko utraty spójności. W ten sposób zwiększamy szansę na prawidłowe przywrócenie danych w przypadku awarii.

Pytanie 37

Gdzie w dokumencie HTML powinien być umieszczony wewnętrzny arkusz stylów?

A. W obrębie znacznika, którego dotyczy styl
B. W sekcji nagłówkowej dokumentu
C. W skrypcie dołączonym do dokumentu
D. W sekcji treści strony
Wewnętrzny arkusz stylów należy umieścić w części nagłówkowej strony HTML, co oznacza, że powinien być zawarty w znaczniku <head>. Jest to zgodne z zaleceniami standardów W3C, które określają, że nagłówek powinien zawierać metadane oraz inne informacje dotyczące dokumentu. Umieszczając arkusz stylów w sekcji <head>, zapewniamy, że przeglądarka ma dostęp do stylów przed renderowaniem treści strony, co przyczynia się do lepszego doświadczenia użytkownika. Przykładowo, kod CSS umieszczony w <style> w <head> może wyglądać tak: <style> body { background-color: lightblue; } </style>. Taki wewnętrzny arkusz stylów pozwala na łatwe zarządzanie stylem pojedynczej strony bez potrzeby tworzenia osobnych plików CSS. Ponadto, umieszczając style w nagłówku, unikamy problemów z wydajnością, które mogłyby wystąpić, gdyby były one wstrzykiwane w treści strony. Warto również zauważyć, że umieszczanie arkuszy stylów w <head> jest standardową praktyką w tworzeniu responsywnych i semantycznych stron internetowych.

Pytanie 38

Jakie jest znaczenie powtarzania w zdefiniowanym stylu CSS?

body {
  background-image: url("rysunek.gif");
  background-repeat: repeat-y;
}
A. tła każdego z paragrafów
B. obrazu umieszczonego w tle strony w poziomie
C. obrazu umieszczonego w tle strony w pionie
D. obrazu umieszczonego przy użyciu znacznika img
Rozważając inne odpowiedzi nietrudno dostrzec podstawowe błędy w ich koncepcjach Rysunek umieszczony w tle strony w poziomie odpowiadałby wartości repeat-x a nie repeat-y To fundamentalne rozróżnienie wynika z konwencji nazewnictwa CSS która jasno określa kierunki powtarzania W przypadku użycia znacznika img obraz jest osadzony w treści dokumentu HTML a nie jako tło CSS Powtarzanie w takim kontekście nie ma miejsca ponieważ obrazki w znacznikach img są kontrolowane za pomocą innych mechanizmów jak szerokość wysokość czy pozycjonowanie w ramach układu strony Ostatnia opcja odnosząca się do tła każdego ze znaczników akapitu wykazuje niezrozumienie kontekstu CSS Deklaracja body odnosi się do całego dokumentu a nie do poszczególnych elementów takich jak akapity aby zmienić tło akapitów należałoby użyć selektora p lub innego klasyfikatora odpowiadającego tym elementom Nietrafne odpowiedzi wynikają z nieznajomości podstawowych zasad działania CSS oraz ich zastosowania w praktyce co podkreśla potrzebę dogłębnego zrozumienia jak poszczególne właściwości wpływają na układ i wygląd strony internetowej

Pytanie 39

Wśród technik rozwiązywania problemów w przedsiębiorstwie znajdują się: ignorowanie, separacja, arbitraż oraz kompromis. Wskaż metodę, która szczególnie może być niebezpieczna i prowadzić do zaostrzenia konfliktu w firmie?

A. arbitraż
B. ignorowanie
C. separacja
D. kompromis
Odpowiedzią, która wskazuje na technikę szczególnie ryzykowną, jest ignorowanie. Ignorowanie problemów w firmie może prowadzić do ich eskalacji, ponieważ nie podejmowanie działań w sytuacjach konfliktowych często prowadzi do narastających napięć. Przykładowo, jeśli zespół projektowy ma niezgodności co do metodologii pracy, a kierownik postanowi to zignorować, różnice mogą się pogłębiać, prowadząc do braku współpracy i obniżenia morale. W praktyce, ignorowanie konfliktów jest jednym z najczęstszych błędów w zarządzaniu, co potwierdzają standardy zarządzania projektami, takie jak PMBOK, które zalecają aktywne podejście do rozwiązywania konfliktów. Ignorowanie problemów nie tylko wpływa na dynamikę zespołu, ale także może wpłynąć na wyniki finansowe organizacji, ponieważ niewłaściwe zarządzanie konfliktami może prowadzić do opóźnień w projektach oraz zwiększonych kosztów. Z tego względu kluczowe jest, aby menedżerowie i liderzy nie bagatelizowali konfliktów, lecz podejmowali działania w celu ich rozwiązania oraz wprowadzenia kultury otwartej komunikacji w zespole.

Pytanie 40

Jakie polecenie przywróci do działania uszkodzoną tabelę w SQL?

A. OPTIMIZE TABLE tbl_name
B. ANALYZE TABLE tbl_name
C. REPAIR TABLE tblname
D. REGENERATE TABLE tbl_name
REPAIR TABLE tblname jest komendą w SQL, która jest używana do naprawy uszkodzonych tabel w bazach danych, szczególnie w systemach zarządzania bazami danych, takich jak MySQL. Gdy tabela ulegnie uszkodzeniu z powodu awarii systemu, błędów oprogramowania lub innych problemów, użycie tej komendy pozwala na przywrócenie jej do stanu używalności. Przykładem może być sytuacja, gdy po awarii serwera tabela przestaje być dostępna. Wówczas wystarczy uruchomić polecenie REPAIR TABLE, aby zdiagnozować i naprawić problemy. Warto pamiętać, że ta komenda nie tylko przywraca integralność danych, ale także może poprawić wydajność tabeli, usuwając fragmentację. Praktyka wskazuje, że regularne sprawdzanie i naprawa tabel, zwłaszcza po dużych operacjach zapisu, jest dobrym nawykiem w zarządzaniu bazami danych. Dobrą praktyką jest również tworzenie kopii zapasowych tabel przed ich naprawą, co zabezpiecza dane przed potencjalną utratą w wyniku błędów przy naprawie.