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: 26 maja 2026 23:56
  • Data zakończenia: 27 maja 2026 00:37

Egzamin zdany!

Wynik: 32/40 punktów (80,0%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Na zaprezentowanym schemacie bazy danych biblioteka, elementy takie jak: czytelnik, wypożyczenie oraz książka stanowią

Ilustracja do pytania
A. atrybuty
B. encje
C. pola
D. krotki
Na tym schemacie bazy danych warto najpierw odróżnić kilka podstawowych pojęć: encja, atrybut, krotka i pole. To jest taki fundament, bez którego łatwo się pogubić. Prostokąty podpisane „czytelnik”, „wypożyczenie” i „książka” reprezentują ogólne typy obiektów, które występują w systemie. W języku modelowania danych nazywamy je encjami. Encja to nie pojedynczy rekord, tylko pewien rodzaj bytu, np. każdy konkretny czytelnik będzie instancją encji CZYTELNIK. Częsty błąd polega na myleniu encji z atrybutami. Atrybut to pojedyncza cecha encji – na przykład imię, nazwisko, tytuł, rok wydania. Na diagramie są one wypisane wewnątrz prostokąta, pod nazwą encji. Gdyby „czytelnik” był atrybutem, to musiałby opisywać jakąś inną encję, co tu nie ma sensu. Podobnie jest z pojęciem pola: w praktyce pola kojarzymy z kolumnami w tabeli lub polami formularza. Pole to techniczna reprezentacja atrybutu w konkretnej tabeli, a nie osobny obiekt biznesowy. Zdarza się też, że uczniowie zaznaczają odpowiedź „krotki”, bo widzą powiązanie z relacyjną bazą danych. Krotka (rekord, wiersz tabeli) oznacza jednak pojedyńczy wpis w tabeli, np. jednego konkretnego Kowalskiego jako czytelnika albo jedną konkretną książkę. Na diagramie nie widzimy pojedynczych rekordów, tylko definicję struktur, z których te rekordy będą się składać. Innymi słowy: encja to wzór, a krotka to jego konkretne wystąpienie. Moim zdaniem najbezpieczniejsza metoda zapamiętania jest taka: na etapie projektowania koncepcyjnego mówimy o encjach i atrybutach, na etapie fizycznej bazy – o tabelach, kolumnach (polach) i rekordach (krotkach). W tym pytaniu mówimy właśnie o poziomie modelu koncepcyjnego, dlatego poprawnym pojęciem są encje, a nie atrybuty, krotki czy pola.

Pytanie 2

Podaj dwa sposoby ochrony bazy danych Microsoft Access?

A. Ustalenie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika
B. Funkcje anonimowe oraz ustawienie hasła do bazy danych
C. Ustalenie zabezpieczeń na poziomie użytkownika i sesji
D. Zaszyfrowanie pliku bazy danych oraz wiadomości SMS z kodem autoryzacyjnym
Zabezpieczenie bazy danych Microsoft Access jest kluczowym procesem, który ma na celu ochronę danych przed nieautoryzowanym dostępem oraz zapewnienie ich integralności. Ustalenie hasła do otwarcia bazy danych to pierwszy krok w kierunku zabezpieczenia. Pozwala to na ograniczenie dostępu tylko do osób, które znają hasło, co jest fundamentalnym środkiem ochrony informacji w systemach informatycznych. Dodatkowo, zabezpieczenia na poziomie użytkownika umożliwiają różnicowanie uprawnień dla poszczególnych użytkowników. Można przydzielać różne poziomy dostępu, co minimalizuje ryzyko, że niepowołane osoby będą mogły wprowadzać zmiany w bazie danych. Ważne jest również, aby stosować najlepsze praktyki związane z bezpieczeństwem, takie jak regularna aktualizacja haseł oraz audyty dostępu. Utrzymanie zgodności z międzynarodowymi standardami, takimi jak ISO/IEC 27001, może również pomóc w identyfikacji luk w zabezpieczeniach oraz w implementacji odpowiednich procedur ochrony danych. W codziennym użytkowaniu, skuteczne wdrożenie tych zabezpieczeń pozytywnie wpływa na bezpieczeństwo danych oraz ochronę prywatności użytkowników.

Pytanie 3

Który z wymienionych systemów nie należy do systemów CMS?

A. Drupal
B. WordPress
C. Adobe Flash
D. Joomla!
Adobe Flash to platforma do tworzenia animacji oraz interaktywnych aplikacji internetowych, a nie system zarządzania treścią (CMS). CMS to oprogramowanie, które umożliwia użytkownikom łatwe tworzenie, zarządzanie i publikowanie treści na stronach internetowych bez potrzeby znajomości języków programowania. Flash, stworzony przez firmę Adobe, był wykorzystywany głównie do animacji, gier i aplikacji multimedialnych w sieci, ale nie oferował funkcji typowych dla systemów CMS, takich jak zarządzanie bazą danych, szeregowanie treści czy obsługa użytkowników. Przykłady popularnych CMS-ów to WordPress, który dominuje wśród blogów i prostych stron internetowych, Joomla! znany z elastyczności i szerokich możliwości, oraz Drupal, który zapewnia zaawansowane funkcje dla większych i bardziej skomplikowanych projektów. Użytkownicy mogą łatwo edytować treści, zmieniać układ strony, dodawać nowe funkcjonalności poprzez wtyczki i modyfikować szablony bez potrzeby kodowania, co jest głównym powodem, dla którego CMS-y stały się tak popularne wśród osób nieposiadających umiejętności programistycznych.

Pytanie 4

body{
background-image: url"rysunek.gif");
background-repeat: repeat-y;
}
W przedstawionej definicji stylu CSS, powtarzanie dotyczy

A. tła każdego znacznika akapitu
B. rysunku umieszczonego w tle strony w poziomie
C. rysunku osadzonego znacznikiem img
D. rysunku znajdującego się w tle strony w pionie
W definicji stylu CSS, zastosowane tło z rysunkiem 'rysunek.gif' jest powtarzane w pionie dzięki właściwości 'background-repeat: repeat-y'. Oznacza to, że obrazek będzie powielany wzdłuż osi Y, co skutkuje tym, że obrazek jest umieszczany jeden nad drugim, tworząc wrażenie ciągłości. Aby lepiej zrozumieć działanie tej właściwości, warto przyjrzeć się innym ustawieniom tła. Na przykład, właściwość 'background-repeat: repeat' powtarza obraz zarówno w poziomie, jak i w pionie, natomiast 'background-repeat: no-repeat' zapobiega jakimkolwiek powtórzeniom. W standardach CSS, takich jak CSS3, definiowanie tła w ten sposób jest zgodne z zasadami, które pozwalają na elastyczne projektowanie stron internetowych. W praktyce, użycie powtarzającego się tła może być przydatne w przypadku prostych wzorów, które mają stworzyć efekt wizualny, nie obciążając jednocześnie zbytnio zasobów, co jest istotne dla wydajności ładowania strony.

Pytanie 5

W bazie danych MySQL znajduje się tabela z programami komputerowymi, posiadająca kolumny: nazwa, producent, rokWydania. Jaką kwerendę SELECT należy zastosować, aby uzyskać listę wszystkich producentów, unikając powtórzeń?

A. SELECT producent FROM programy WHERE producent NOT DUPLICATE
B. SELECT UNIQUE producent FROM programy
C. SELECT DISTINCT producent FROM programy
D. SELECT producent FROM programy WHERE UNIQUE
Aby uzyskać unikalne wartości z kolumny w bazie danych MySQL, należy użyć słowa kluczowego DISTINCT. W przypadku zapytania SELECT DISTINCT producent FROM programy; zapytanie to zwraca wszystkie unikalne nazwy producentów z tabeli programy. Słowo kluczowe DISTINCT działa na poziomie wierszy, co oznacza, że przeszukuje kolumnę producent, eliminując z wyników wszelkie powtarzające się wartości. Jest to szczególnie przydatne w analizie danych, gdzie istotne jest uzyskanie przeglądu unikalnych elementów. Na przykład, jeżeli tabela zawiera kilka wierszy z tym samym producentem, zapytanie to zwróci jedynie jeden wiersz dla każdego producenta. Przykład zastosowania: w przypadku tabeli zawierającej wartości jak 'Microsoft', 'Apple', 'Microsoft', wynik zapytania DISTINCT będzie obejmował 'Microsoft' i 'Apple'. W MySQL użycie DISTINCT jest zgodne ze standardem SQL i jest wspierane w większości systemów baz danych, co czyni je bardzo uniwersalnym narzędziem w pracy z danymi.

Pytanie 6

W HTML-u, aby umieścić animację FLASH w formacie .swf na stronie internetowej, należy skorzystać ze znacznika

A. <object>
B. <video>
C. <img>
D. <audio>
Aby dodać animację FLASH z rozszerzeniem .swf na stronę internetową, należy użyć znacznika <object>. Ten znacznik jest zgodny z wieloma standardami HTML i pozwala na osadzanie różnorodnych mediów, w tym plików FLASH. Użycie <object> umożliwia nie tylko wyświetlenie animacji, ale także interakcję z nią, co jest niezbędne w przypadku interaktywnych aplikacji FLASH. Warto zauważyć, że HTML5 wprowadził nowe elementy, takie jak <video> i <audio>, które są bardziej odpowiednie do obsługi multimediów w nowoczesnych aplikacjach internetowych, ale jeśli chodzi o pliki FLASH, to <object> pozostaje właściwym wyborem. Przykład użycia: <object data='animacja.swf' type='application/x-shockwave-flash' width='550' height='400'></object>. Pomimo, że wsparcie dla FLASH jest obecnie ograniczone, zrozumienie tego znacznika i jego zastosowania jest kluczowe dla pracy z większą ilością multimediów w HTML. Ponadto, zgodność z danymi standardami zapewnia, że strona będzie działać poprawnie w różnych przeglądarkach.

Pytanie 7

Jakie polecenie wydane z terminala systemu operacyjnego, które zawiera opcję --repair, pozwala na naprawę bazy danych?

A. mysqlcheck
B. truncate
C. create
D. mysqldump
Zarówno mysqldump, truncate, jak i create stanowią istotne polecenia w zarządzaniu bazami danych, ale nie mają one zdolności do naprawy uszkodzonych tabel. Mysqldump to narzędzie służące do eksportowania danych z bazy do pliku, co jest przydatne w kontekście tworzenia kopii zapasowych, ale nie oferuje funkcji naprawy uszkodzonych tabel. Funkcjonalność mysqldump koncentruje się na zabezpieczaniu danych, a nie na ich naprawie. Truncate, z kolei, to polecenie, które służy do usuwania wszystkich rekordów z tabeli bez rejestrowania pojedynczych operacji usunięcia w dzienniku transakcji, co sprawia, że jest to szybki sposób na opróżnienie tabeli, lecz nie ma zastosowania w kontekście naprawy uszkodzonych danych. Create to polecenie wykorzystywane do tworzenia nowych baz danych lub tabel, co jest podstawową operacją w zarządzaniu bazami danych, ale nie ma związku z naprawą istniejących struktur danych. Dlatego te narzędzia pełnią różne role w ekosystemie MySQL, ale nie są odpowiednie do rozwiązywania problemów z uszkodzonymi tabelami, co czyni mysqlcheck jedynym właściwym rozwiązaniem w tej sytuacji.

Pytanie 8

Jak nazywa się platforma wspierająca rozwój oprogramowania w technologii .NET?

A. db2
B. framework
C. eclipse
D. middleware
Framework to kluczowy element w ekosystemie programowania w technologii .NET, który dostarcza zestaw narzędzi, bibliotek i standardów do tworzenia aplikacji. .NET Framework, opracowany przez firmę Microsoft, umożliwia deweloperom tworzenie różnorodnych aplikacji, od aplikacji webowych po aplikacje desktopowe i mobilne. Framework ten wspiera szeroki zakres języków programowania, w tym C#, Visual Basic i F#. Działa na zasadzie dostarczania środowiska uruchomieniowego oraz zestawu klas, które ułatwiają proces programowania, przyspieszając rozwój dzięki gotowym komponentom i wspólnym funkcjonalnościom. Przykładowo, ASP.NET, część .NET Framework, jest używany do budowy aplikacji webowych, co pozwala na łatwe implementowanie funkcji takich jak autoryzacja użytkowników, zarządzanie sesjami i integracja z bazami danych. Dzięki swojej architekturze, .NET Framework przestrzega standardów, takich jak Common Language Specification (CLS), co zapewnia interoperacyjność między różnymi językami programowania. Jest to fundament, na którym opiera się wiele nowoczesnych rozwiązań w świecie IT, co czyni go niezastąpionym narzędziem dla każdego programisty w technologii .NET.

Pytanie 9

W CSS zapisano stylizację ```css p > i {color: blue} ``` oznacza to, że kolorem niebieskim zostanie wyświetlony

A. cały tekst akapitu, niezależnie od jego stylizacji
B. wszystkie teksty nagłówków, niezależnie od formatowania
C. pochylony tekst akapitu
D. pogrubiony tekst akapitu
W definicji CSS `p > i {color: blue}`, mamy do czynienia z selektorem, który odnosi się do elementów typu <i> znajdujących się bezpośrednio wewnątrz elementu <p>. Oznacza to, że wszystkie elementy <i>, które są bezpośrednimi dziećmi elementu <p>, będą miały kolor tekstu ustawiony na niebieski. Element <i> w HTML jest często używany do oznaczania tekstu kursywą, co jest zgodne z semantyką dokumentu. Użycie koloru w tym kontekście podkreśla, że zmiana koloru dotyczy tylko tych fragmentów tekstu, które są specyficznie oznaczone jako kursywa. W praktyce, jeżeli mamy paragraf zawierający tekst oraz fragmenty w kursywie, to tylko te kursywne fragmenty będą przyjmować niebieski kolor. Przykładowo, w poniższym kodzie HTML: <p>To jest <i>kursywa</i> oraz <b>pogrubienie</b>.</p>, tylko słowo 'kursywa' będzie miało kolor niebieski. Zgodność z W3C i standardami CSS zapewnia, że taki zapis będzie działał na większości przeglądarek. Warto zwrócić uwagę na hierarchię selektorów, która pozwala na precyzyjne określenie, które elementy mają być stylizowane w określony sposób.

Pytanie 10

Aby ułatwić dodawanie oraz modyfikowanie danych w tabeli, konieczne jest zdefiniowanie

A. formularza.
B. zapytania SELECT.
C. sprawozdania.
D. filtru.
Formularz jest istotnym narzędziem w bazach danych, które umożliwia użytkownikom łatwe wprowadzanie oraz edytowanie danych. Zapewnia on przejrzysty interfejs, który jest bardziej przyjazny dla użytkownika niż bezpośrednia interakcja z tabelą. Tworząc formularz, można dostosować pola do specyficznych danych, co pozwala na walidację wprowadzanych informacji oraz ich formatowanie, co czyni proces bardziej intuicyjnym. Na przykład, formularze mogą zawierać różne typy pól, takie jak pola tekstowe, rozwijane listy czy przyciski wyboru, co zwiększa elastyczność w wprowadzaniu danych. Ponadto, formularze mogą być powiązane z odpowiednimi tabelami w bazie danych, co umożliwia automatyczne przetwarzanie danych po ich wprowadzeniu. Dzięki zastosowaniu formularzy, organizacje mogą znacznie przyspieszyć proces zbierania danych oraz zminimalizować błędy, co jest szczególnie istotne w środowiskach wymagających dużej precyzji i efektywności. Programy takie jak Microsoft Access czy Google Forms oferują możliwości tworzenia formularzy, które są zgodne z najlepszymi praktykami w zakresie zbierania danych.

Pytanie 11

W formularzu HTML wykorzystano znacznik <input>. Wyświetlane pole będzie przeznaczone do wprowadzania maksymalnie

Ilustracja do pytania
A. 30 znaków, które są widoczne podczas wpisywania
B. 20 znaków, które nie są widoczne w polu tekstowym
C. 30 znaków, które nie są widoczne w polu tekstowym
D. 20 znaków, które są widoczne podczas wpisywania
Podany znacznik <input> definiuje element formularza HTML typu password. Gdy używasz typu password, wprowadzone znaki są maskowane, zazwyczaj używając symboli takich jak kropki lub gwiazdki, co oznacza, że nie są widoczne podczas wprowadzania. Atrybut maxlength określa maksymalną liczbę znaków, które użytkownik może wprowadzić. W tym przypadku wartość maxlength równa 20 oznacza, że użytkownik może wprowadzić do 20 znaków, nawet jeśli więcej znaków można by zobaczyć w polu dzięki atrybutowi size. Rozdzielając te dwa aspekty, atrybut size określa jedynie widoczną szerokość pola, co w przypadku tego inputu wynosi 30, ale nie wpływa na ilość możliwych do wpisania znaków. Zastosowanie pola password jest powszechne w formularzach logowania, gdzie bezpieczeństwo wprowadzanych danych jest priorytetem. Użycie maxlength pozwala kontrolować długość hasła, co może być częścią strategii zabezpieczeń, eliminując zbyt długie lub zbyt krótkie hasła, które są łatwiejsze do złamania. Takie podejście jest zgodne z najlepszymi praktykami w zakresie bezpieczeństwa aplikacji webowych.

Pytanie 12

Przemiana kodu źródłowego wykonanego przez programistę w zrozumiały dla maszyny kod maszynowy to

A. wykonywanie
B. wdrażanie
C. kompilowanie
D. analizowanie błędów
Kompilowanie to kluczowy proces w inżynierii oprogramowania, który polega na przekształceniu kodu źródłowego napisanego w języku wysokiego poziomu (takim jak C++, Java czy Python) na kod maszynowy zrozumiały dla komputera. Proces ten jest krytyczny, ponieważ komputery nie są w stanie interpretować kodu źródłowego bezpośrednio. Kompilator przeprowadza analizę syntaktyczną i semantyczną kodu, optymalizuje go, a następnie generuje kod maszynowy. W praktyce, kompilacja pozwala na wykrycie błędów w kodzie przed jego uruchomieniem, co jest zgodne z najlepszymi praktykami programistycznymi. Kompilatory często oferują dodatkowe narzędzia, takie jak debugery, które umożliwiają programistom śledzenie błędów w kodzie. W kontekście dużych projektów, dobrym podejściem jest również wykorzystanie systemów CI/CD, które automatyzują proces kompilacji i testowania, co znacząco przyspiesza cykl rozwoju oprogramowania oraz zwiększa jego jakość.

Pytanie 13

Jakie słowo kluczowe wykorzystuje się do deklaracji zmiennej w języku JavaScript?

A. instanceof
B. var
C. variable
D. new
W JavaScript, żeby zadeklarować zmienną, używa się słowa 'var'. To jeden z najważniejszych elementów tego języka. Używając 'var', tworzysz zmienną, która może mieć zasięg tylko w danej funkcji albo być dostępna globalnie, w zależności od tego, jak ją zadeklarujesz. Jeśli na przykład napiszesz 'var x = 10;', to stworzysz zmienną 'x' i przypiszesz jej wartość 10. Warto jednak zauważyć, że od momentu, gdy wprowadzono ES6, zaleca się używanie 'let' oraz 'const' do deklaracji zmiennych, bo są bardziej przewidywalne, zwłaszcza jeśli chodzi o zasięg zmiennych (block scope). Mimo to, 'var' wciąż można spotkać w wielu starych projektach i dobrze jest znać to słowo, żeby lepiej rozumieć, jak działa JavaScript. Fajnie jest ograniczać 'var' na rzecz 'let' i 'const', bo dzięki temu kod staje się bardziej przejrzysty i łatwiejszy do ogarnienia w większych projektach.

Pytanie 14

W skrypcie JavaScript użyto metody DOM getElementsByClassName('akapit'). Ta metoda odniesie się do akapitu

A. <p id="akapit">akapit2</p>
B. <p href="/akapit">akapit3</p>
C. <p>akapit</p>
D. <p class="akapit">akapit4</p>
Metoda DOM getElementsByClassName jest jedną z najważniejszych funkcji w JavaScript, która pozwala na selekcję elementów na stronie internetowej na podstawie ich klas CSS. W tym przypadku, odpowiedź <p class="akapit">akapit4</p> jest poprawna, ponieważ element ten ma przypisaną klasę "akapit", co czyni go bezpośrednim kandydatem do selekcji przez metodę getElementsByClassName('akapit'). Metoda ta zwraca kolekcję elementów (HTMLCollection), które mają podaną klasę, a następnie można z nimi pracować w kodzie JavaScript. Na przykład, możemy zmieniać ich style, zawartość lub dodawać zdarzenia. Dobrą praktyką jest stosowanie klas do stylizacji oraz manipulacji DOM, co pozwala na lepszą organizację kodu i zwiększa jego czytelność. Pamiętaj, że klasy są bardziej uniwersalne i elastyczne niż identyfikatory (ID), które powinny być unikalne na stronie. W przypadku konieczności stosowania metod do manipulacji elementami DOM, warto znać również inne metody, takie jak querySelector i querySelectorAll, które oferują bardziej zaawansowane opcje selekcji, umożliwiające wykorzystanie kombinacji klas, identyfikatorów i innych atrybutów.

Pytanie 15

W języku JavaScript zdefiniowano obiekt ```obiekt = { q: 1, w: 2, e: 3, r: 4 };``` W jaki sposób można uzyskać wartość właściwości ```w```?

A. obiekt:w
B. obiekt.w
C. obiekt->w
D. obiekt::w
Niepoprawne odpowiedzi wskazują na nieporozumienia dotyczące składni języka JavaScript. Użycie obiekt:w sugeruje, że istnieje jakiś operator dostępu do właściwości za pomocą dwukropka, co jest niezgodne z zasadami składniowymi JavaScript. W rzeczywistości dwukropek w tym kontekście nie ma znaczenia i jest błędnie interpretowany. Podobnie, obiekt::w użytkuje podwójny dwukropek, co z kolei jest składnią nieznaną w JavaScript i nie ma zastosowania w kontekście odwoływania się do właściwości obiektu. Z kolei obiekt->w sugeruje, że programista próbuje skorzystać z operatora strzałki, który występuje w innych językach programowania, takich jak C++ czy PHP, ale nie jest on używany w JavaScript. W JavaScript stosuje się wyłącznie notację kropkową lub nawiasową do odwoływania się do właściwości obiektów. Chociaż różne języki programowania mogą mieć swoje własne konwencje dotyczące operatorów dostępu do właściwości, JavaScript pozostaje konsekwentny w swojej składni, co ułatwia zrozumienie i naukę. Ważne jest, aby programiści zapoznali się z podstawami składni JavaScript, aby unikać takich błędów i poprawnie wykorzystywać możliwości obiektowego modelu tego języka.

Pytanie 16

Określ rezultat działania podanego kodu PHP, jeśli zmienna tab jest tablicą. ```$tab = explode(",","jelenie,sarny,dziki,lisy,borsuki"); echo $tab[1]." ".$tab[2];```

A. lisy borsuki
B. sarny dziki
C. dziki lisy
D. jelenie sarny
Wynik działania tego kodu PHP to 'sarny dziki'. Dzieje się tak dzięki funkcji explode oraz indeksom tablicy. Funkcja explode dzieli tekst na kawałki według separatora, który w tym przypadku to przecinek. Więc, kiedy zastosujemy ją na ciągu 'jelenie,sarny,dziki,lisy,borsuki', dostaniemy tablicę, gdzie indeks 0 to 'jelenie', indeks 1 to 'sarny', indeks 2 to 'dziki', indeks 3 to 'lisy', a indeks 4 to 'borsuki'. Potem, polecenie echo wyświetla wartości z indeksów 1 i 2, które mają 'sarny' oraz 'dziki'. To całkiem praktyczne w programowaniu, zwłaszcza gdy przerabiamy i manipulujemy danymi tekstowymi. Dzięki explode łatwo dzielimy dane na mniejsze kawałki, co przydaje się w różnych sytuacjach, jak analiza danych czy robienie formularzy, a nawet w pracy z plikami CSV.

Pytanie 17

Filtracja sygnału wejściowego w czasie, która uwzględnia zasadę superpozycji, dotyczy filtru

A. liniowego
B. przyczynowym
C. niezmiennym w czasie
D. o skończonej odpowiedzi impulsowej
Odpowiedzi, które nie klasyfikują procesu filtracji sygnału jako liniowego, często prowadzą do nieporozumień w zakresie podstawowych pojęć związanych z teorią filtracji. Filtry o skończonej odpowiedzi impulsowej (FIR) rzeczywiście mogą być liniowe, ale to nie one definiują zasadę superpozycji, która jest kluczowa dla filtrów liniowych. Filtry FIR to jedynie jedna z klas filtrów, które można zaprojektować tak, aby były liniowe. Podejście przyczynowe w filtracji oznacza, że sygnał wyjściowy zależy tylko od bieżących i przeszłych wartości sygnału wejściowego, co również może być zgodne z filtrami liniowymi, ale nie jest ich jedyną cechą. Z kolei powiedzenie, że filtr jest 'niezmienny w czasie', odnosi się do filtrów, które nie zmieniają swoich właściwości w czasie, co również nie wyklucza filtrów liniowych, ale nie jest to kluczowe dla samej definicji procesów liniowych. Błędem jest zatem myślenie, że inne klasy filtrów automatycznie są niezwiązane z liniowością, gdyż wiele z nich, w tym FIR, IIR czy filtry przyczynowe, mogą spełniać tę właściwość. Ważne jest, aby zrozumieć, że linowość jest fundamentalnym pojęciem w teorii systemów i ma kluczowe znaczenie dla analizy sygnałów.

Pytanie 18

Jakie polecenie należy zastosować, aby słowo TEKST pojawiło się w kolorze czarnym w oknie przeglądarki internetowej?

A. <font color="#000000">TEKST</font>
B. <body bgcolor="black">TEKST</body>
C. <font color="czarny">TEKST</font>
D. <body color="black">TEKST</font>
Odpowiedź <font color="#000000">TEKST</font> jest poprawna, ponieważ wykorzystuje standardowy atrybut HTML do zmiany koloru tekstu. Atrybut 'color' w tagu <font> pozwala na określenie koloru, w tym przypadku użyto wartości szesnastkowej '#000000', co odpowiada kolorowi czarnemu. Użycie wartości szesnastkowej jest uznaną praktyką w projektowaniu stron internetowych, ponieważ pozwala na precyzyjne określenie kolorów, a także wspiera szeroką gamę barw. Wartości szesnastkowe są bardziej uniwersalne i umożliwiają zastosowanie dowolnego koloru, co jest bardziej elastyczne niż nazwy kolorów w języku angielskim. Warto zauważyć, że od HTML5 tag <font> jest przestarzały, dlatego zaleca się korzystanie z CSS do stylizacji tekstu, co jest bardziej zgodne z zasadami semantycznego HTML. Przykładowo, aby uzyskać ten sam efekt w CSS, można zastosować regułę: <style> .czarny { color: #000000; } </style> i użyć <span class="czarny">TEKST</span>.

Pytanie 19

Jaką rolę pełni funkcja PHP o nazwie mysql_num_rows()?

A. zwraca rekord o numerze podanym w argumencie funkcji
B. numeruje rekordy w bazie danych
C. zwraca ilość wierszy znajdujących się w rezultacie zapytania
D. zwraca następny rekord z wynikami zapytania
Funkcja mysql_num_rows() jest fundamentalnym narzędziem w interakcji z bazami danych w PHP, służącym do zwrócenia liczby wierszy w zestawie wyników zapytania. W kontekście programowania, jej zastosowanie jest kluczowe, gdy chcemy ocenić, czy zapytanie zwróciło jakiekolwiek dane. Przykładowo, jeśli wykonujemy zapytanie do bazy danych w celu pobrania listy użytkowników i chcemy sprawdzić, czy tabela zawiera jakiekolwiek rekordy, użycie mysql_num_rows() pozwala na łatwą i efektywną weryfikację. W praktyce, często łączy się tę funkcję z innymi, takimi jak mysql_query() w celu uzyskania wyników zapytania, a następnie sprawdzenia ich liczby. W związku z tym, dobre praktyki sugerują, aby po każdym zapytaniu, które może zwrócić wiele wyników, stosować tę funkcję do walidacji wyniku. Należy pamiętać, że mysql_num_rows() działa tylko na wynikach zapytań SELECT i nie jest użyteczna w przypadku innych typów operacji na bazach danych.

Pytanie 20

W celu utworzenia różnicowej kopii zapasowej bazy danych na serwerze MSSQL, konieczne jest użycie klauzuli

A. DIFFERENTIAL
B. WITH FORMAT
C. RESTORE
D. FULL
Odpowiedź 'DIFFERENTIAL' jest prawidłowa, ponieważ klauzula ta jest używana do tworzenia różnicowych kopii zapasowych bazy danych w systemie Microsoft SQL Server. Różnicowa kopia zapasowa zapisuje tylko te dane, które zmieniły się od ostatniej pełnej kopii zapasowej, co znacznie oszczędza czas i miejsca na dysku. W praktyce, aby wykonać różnicową kopię zapasową, stosuje się polecenie BACKUP z klauzulą DIFFERENTIAL. Na przykład: 'BACKUP DATABASE nazwa_bazy TO DISK = 'ścieżka_do_pliku.bak' WITH DIFFERENTIAL;'. Korzystanie z różnicowych kopii zapasowych jest zalecane w strategiach backupowych, gdyż zmniejsza czas potrzebny do przywrócenia systemu po awarii, a także przyspiesza proces tworzenia kopii. W dobrych praktykach branżowych, po zdefiniowaniu planu kopii zapasowych, rekomenduje się regularne testowanie procesu przywracania, aby upewnić się, że wszystkie kopie zapasowe są skuteczne i funkcjonalne.

Pytanie 21

Algorytm pokazany na ilustracji można zapisać w języku JavaScript przy użyciu instrukcji

Ilustracja do pytania
A. for(i = 0; i > 10; i++)
B. var i = 0; while(i <= 10) i += 2
C. var i = 0; do i++; while(i > 10)
D. var i = 0; do i = i + 2; while(i < 10)
W przypadku odpowiedzi var i = 0; do i = i + 2; while(i < 10); błąd tkwi w zastosowaniu pętli do-while. Pętla do-while wykonuje blok kodu przynajmniej raz przed sprawdzeniem warunku, co może prowadzić do nieoczekiwanych wyników, jeśli warunek początkowy nie jest spełniony. Odpowiedź for(i = 0; i > 10; i++) zawiera niepoprawny warunek i > 10, co oznacza, że pętla nigdy się nie wykona, ponieważ warunek początkowy nie jest prawdziwy. Ostatnia odpowiedź var i = 0; do i++; while(i > 10); również wykorzystuje do-while, ale z nieprawidłowym warunkiem i > 10, przez co pętla wykona się tylko raz, gdy i zwiększy się na 1, co nie odpowiada przedstawionemu algorytmowi. Typowym błędem jest zastosowanie niewłaściwych warunków w pętlach, które mogą skutkować nieskończonymi iteracjami lub niewłaściwym zakresem przetwarzanych danych. Dobrze jest zawsze dokładnie analizować logikę warunków i struktur pętli, co pozwala na uniknięcie błędów logicznych i zapewnia poprawność działania kodu, zwłaszcza w kontekście iteracji i przetwarzania danych.

Pytanie 22

Aby właściwie skomentować podaną linię kodu w JavaScript, należy po znakach // wpisać opis

document.getElementById("napis").innerHTML = Date(); //
A. wyświetlenie daty i czasu w znaczniku o id = napis
B. nieprawidłowe dane
C. wyświetlenie tekstu "Date()" w znaczniku o id = napis
D. zmiana stylu atrybutu innerHTML
Kod JavaScript document.getElementById('napis').innerHTML=Date(); służy do dynamicznego umieszczania aktualnej daty i czasu w elemencie HTML o podanym id napis. Funkcja Date() bez argumentów zwraca obiekt reprezentujący bieżącą datę i czas w formie czytelnej dla człowieka. Użycie innerHTML pozwala na modyfikację zawartości HTML elementu, co jest wykorzystywane w wielu aplikacjach internetowych do dynamicznej aktualizacji wyświetlanych danych. Przykładem praktycznego zastosowania może być wyświetlanie aktualnego czasu na stronie głównej lub w aplikacjach pogodowych. Zgodnie z dobrymi praktykami, należy jednak pamiętać, że innerHTML zastępuje całą zawartość wewnętrzną elementu, co może prowadzić do utraty danych, jeśli nie jest używane ostrożnie. Ważne jest również, aby pamiętać o zasadach bezpieczeństwa dotyczących manipulacji DOM, aby unikać luk umożliwiających ataki XSS. Dlatego też warto stosować się do zasady minimalizmu zmian w DOM oraz zawsze weryfikować przetwarzane dane.

Pytanie 23

Który program komputerowy przekłada kod źródłowy, stworzony w określonym języku programowania, na język maszyny?

A. Kompilator
B. Edytor kodu źródłowego
C. Środowisko programistyczne
D. Debugger
Kompilator to taki mega ważny program, który pomaga w tworzeniu aplikacji. Przekształca kod, który napisaliśmy w danym języku programowania, na język maszynowy, czyli taki, który komputery rozumieją. To jest kluczowe, bo komputery działają na kodzie binarnym. Tak więc, jak piszemy programy w językach, takich jak C++, Java czy Python, musimy przekształcić ten skomplikowany kod na coś, co maszyna będzie mogła ogarnąć. Kompilatory nie tylko zamieniają nasz kod, ale też sprawdzają go pod kątem błędów, co jest super ważne dla jakości oprogramowania. Dla przykładu, jest taki kompilator GCC do języka C/C++, który jest bardzo popularny w projektach open source. Dobrze jest regularnie kompilować kod podczas pisania, bo to pozwala szybko łapać błędy i lepiej pracować w zespole.

Pytanie 24

Wskaż właściwą zasadę związaną z integralnością danych w bazie danych?

A. pole klucza obcego nie może być puste
B. pole klucza podstawowego nie może pozostawać puste
C. pole klucza podstawowego musi mieć utworzony indeks
D. w relacji 1..n pole klucza obcego łączy się z polem klucza obcego innej tabeli
Pole klucza podstawowego, definiujące unikalność wierszy w tabeli, nie może być puste. Jest to fundamentalna zasada normalizacji baz danych, która zapewnia integralność danych oraz ich jednoznaczność. W praktyce oznacza to, że każda tabela w relacyjnej bazie danych musi mieć przynajmniej jeden klucz podstawowy, który nie dopuszcza do pojawienia się dwóch identycznych rekordów. Na przykład, w bazie danych klientów, numer identyfikacyjny klienta (np. PESEL lub ID) powinien być kluczem podstawowym. Dzięki temu można jednoznacznie identyfikować każdy rekord, co jest kluczowe dla operacji takich jak aktualizacja lub usunięcie danych. Dobrą praktyką jest także zapewnienie, aby klucz podstawowy był prosty w użyciu, zrozumiały dla użytkowników oraz, w miarę możliwości, niemożliwy do zmiany, co zmniejsza ryzyko błędów przy zarządzaniu danymi. Dodatkowo, klucz podstawowy powinien być indeksowany, co przyspiesza operacje wyszukiwania, ale jego podstawową cechą pozostaje unikalność i obowiązek posiadania wartości.

Pytanie 25

Instrukcja SQL przedstawiona w formie graficznej

ALTER TABLE 'miasta'
ADD 'kod' text;
A. wprowadza do tabeli dwie kolumny o nazwach: kod i text
B. dodaje do tabeli kolumnę o nazwie kod typu text
C. zmienia nazwę tabeli miasta na nazwę kod
D. w tabeli miasta zmienia nazwę kolumny kod na nazwę text
Polecenie ALTER TABLE w SQL to naprawdę przydatne narzędzie, które pozwala na modyfikowanie struktury tabeli w bazie danych. W Twoim przypadku dodajesz nową kolumnę o nazwie 'kod' typu text do tabeli 'miasta'. To słowo kluczowe ADD oznacza, że chcemy coś dorzucić do tej tabeli. Typ text jest fajny, bo jest używany do przechowywania różnych dłuższych tekstów, co sprawia, że idealnie nadaje się do takich danych jak opisy czy kody pocztowe. Pamiętaj, że przed robieniem zmian w tabelach warto pomyśleć, jak to wpłynie na całe działanie aplikacji i procesów w firmie. Na przykład, jeśli musisz przechować dodatkowe info o miastach, jak właśnie kody pocztowe, to dodanie tego jest super pomysłem. Znajomość ALTER TABLE jest mega przydatna w zarządzaniu bazami danych, bo pozwala na elastyczne dostosowanie tabel do zmieniających się potrzeb. To naprawdę może zwiększyć efektywność systemu, jeśli dobrze to ogarniesz.

Pytanie 26

Który z poniższych typów plików jest plikiem rastrowym?

A. SWF
B. SVG
C. CDR
D. TIFF
Wybór innych formatów plików, takich jak SVG, SWF czy CDR, wskazuje na nieporozumienia dotyczące klasyfikacji formatów graficznych. SVG (Scalable Vector Graphics) to wektorowy format graficzny, który umożliwia tworzenie grafiki opartej na matematycznych kształtach, co czyni go idealnym do tworzenia logo i ikon. Jego elastyczność i skalowalność są kluczowe w projektach, gdzie jakość obrazu musi być zachowana niezależnie od rozmiaru. Natomiast SWF (Shockwave Flash) był używany do animacji i interaktywnych aplikacji w internecie, ale nie jest formatem graficznym w tradycyjnym sensie, a jego użyteczność spadła wraz z deprecjacją technologii Flash. CDR to natomiast format pliku stworzony przez CorelDRAW, który jest narzędziem do tworzenia grafiki wektorowej. Wybierając te formaty jako odpowiedzi, można mylnie zinterpretować, że są one związane z grafiką rastrową, podczas gdy każdy z nich ma inną specyfikę i zastosowanie. Zrozumienie różnicy między formatami rastrowymi a wektorowymi jest kluczowe dla każdego, kto pracuje z grafiką komputerową. Typowe błędy w myśleniu obejmują mylenie grafiki wektorowej z rastrową lub błędne przypisanie funkcji do formatów, co prowadzi do nieoptymalnych wyborów w kontekście projektowania graficznego.

Pytanie 27

W SQL, używanym w bazie danych MySQL, aby przypisać wartość 0 do kolumny przebieg w tabeli samochody, jaką kwerendę należy zastosować?

A. UPDATE przebieg SET 0 FROM samochody
B. UPDATE samochody SET przebieg VALUE 0
C. UPDATE samochody SET przebieg = 0
D. UPDATE przebieg SET 0 TABLE samochody
Odpowiedź 'UPDATE samochody SET przebieg = 0;' jest jak najbardziej trafna! W SQL używamy klauzuli UPDATE, gdy chcemy coś zmienić w naszej tabeli. W tym konkretnym przypadku ustawiamy wartość kolumny 'przebieg' na 0 dla wszystkich samochodów. Fajne jest to, że operator '=' oznacza, iż zmieniamy wartość w wybranej kolumnie. To podstawa, żeby dobrze zarządzać danymi w bazach. Warto też pomyśleć, czy naprawdę chcemy zmieniać wszystkie rekordy, czy tylko część. Można to zrobić z klauzulą WHERE. Na przykład, jeśli chcemy ustawić przebieg na 0 tylko dla aut konkretnego producenta, to użyjemy: 'UPDATE samochody SET przebieg = 0 WHERE producent = 'NazwaProducenta'. Takie działania powinny być w kontekście transakcji, żeby móc cofnąć zmiany, jeśli coś pójdzie nie tak. Rozumienie tej kwerendy to klucz do zarządzania danymi w MySQL i innych systemach.

Pytanie 28

Jaką rolę odgrywa kwerenda krzyżowa w programie MS Access?

A. Usuwa rekordy z tabel według określonych kryteriów
B. Dodaje do wybranej tabeli rekordy z innej tabeli
C. Prezentuje zliczone wartości z pola i układa je w wiersze oraz kolumny
D. Zmienia istniejące dane w tabeli
Odpowiedzi, które wskazują na usuwanie rekordów lub modyfikowanie istniejących danych, dotyczą zupełnie innych operacji w bazach danych. Usuwanie rekordów według podanych kryteriów odnosi się do kwerend aktualizujących lub usuwających, które służą do eliminacji danych, które nie są już potrzebne lub są błędne. Takie operacje są istotne, jednak nie mają nic wspólnego z kwerendami krzyżowymi, które koncentrują się na analizie danych poprzez agregację, a nie na ich usuwaniu. Modyfikowanie istniejących danych również nie jest związane z kwerendami krzyżowymi, które są statyczne w prezentacji danych, a ich zadaniem jest przedstawienie wyników agregacji. Dołączenie rekordów z jednej tabeli do innej odnosi się do operacji łączenia (JOIN), które służą do zestawienia informacji z różnych źródeł, co również różni się od funkcji kwerend krzyżowych. W kontekście analizy danych, ważne jest zrozumienie, że kwerendy krzyżowe są używane do syntetyzowania informacji i nie mają zastosowania w operacjach modyfikacji lub usuwania danych. Użytkownicy często mylą te funkcje, co prowadzi do błędnych wniosków i nieefektywnego przetwarzania danych w bazach danych.

Pytanie 29

Które z podanych formatów NIE JEST zapisane w języku CSS?

Ilustracja do pytania
A. C
B. D
C. A
D. B
Odpowiedź C jest prawidłowa, ponieważ atrybut bgcolor jest przestarzałą metodą określania koloru tła w HTML i nie jest częścią CSS. CSS (Cascading Style Sheets) zostało stworzone, aby oddzielić prezentację dokumentu od jego struktury. Korzystanie z CSS pozwala na lepsze zarządzanie stylem i spójność w wyglądzie wielu stron internetowych. Atrybuty HTML związane z wyglądem, takie jak bgcolor, zostały zastąpione przez deklaracje w CSS. Na przykład w CSS można ustawić kolor tła całej strony za pomocą selektora body i właściwości background-color. Takie podejście jest bardziej elastyczne i zgodne z nowoczesnymi standardami. Dzięki CSS możliwe jest stosowanie zaawansowanych stylizacji, takich jak gradienty czy obrazy tła, które nie były dostępne w prostych atrybutach HTML. Przy projektowaniu stron internetowych zaleca się, aby unikać przestarzałych atrybutów HTML, które mogą być niekompatybilne z nowoczesnymi przeglądarkami i powodować problemy z dostępnością.

Pytanie 30

Co robi funkcja przedstawiona w kodzie JavaScript?

function tekst() {
var h = location.hostname;
document.getElementById("info").innerHTML = h;
}
A. umożliwić przejście do wskazanej lokalizacji hosta
B. pokazać na przycisku lokalizację hosta, a po jego naciśnięciu umożliwić przejście do określonej lokalizacji
C. wyświetlić w elemencie o id = "info" nazwę hosta, z którego pochodzi wyświetlona strona
D. wyświetlić w elemencie o id = "info" adres hosta wskazany przez pierwszy odnośnik
Prawidłowa odpowiedź wskazuje, że kod JavaScript wywołuje metodę location.hostname, która zwraca nazwę hosta aktualnie odwiedzanej strony. Hostname jest częścią obiektu Location, który reprezentuje bieżący URL dokumentu. Kod przypisuje wynik tej metody do zmiennej h, a następnie ustawia innerHTML elementu o id info na wartość tej zmiennej. Dzięki takim operacjom, kod efektywnie wyświetla nazwę hosta w elemencie o konkretnym identyfikatorze na stronie HTML. Jest to częsta technika używana w aplikacjach webowych, gdzie istotne jest dynamiczne wyświetlanie informacji o aktualnym połączeniu. Znajomość obiektu Location oraz jego właściwości, takich jak hostname, to podstawowa umiejętność w pracy z językiem JavaScript, szczególnie w kontekście manipulacji DOM. Takie podejście jest zgodne z dobrymi praktykami, gdyż unika bezpośredniego wpisywania danych w kodzie, co zwiększa elastyczność i ułatwia utrzymanie aplikacji.

Pytanie 31

Implementując przedstawiony fragment algorytmu należy posłużyć się instrukcją

Ilustracja do pytania
A. for
B. break
C. while
D. if
Dobra robota! Trafiłeś z odpowiedzią - to 'if'. To, co analizowałeś, to struktura warunkowa. Używamy jej, żeby sprawdzić, czy coś się zgadza. W tym przypadku algorytm sprawdza, czy 'a' jest większe niż 'b'. Jeśli tak, to robi jedną rzecz, a jeśli nie, to robi coś innego. To klasyczne wykorzystanie 'if'. Takie instrukcje warunkowe są naprawdę ważne w programowaniu, bo umożliwiają tworzenie elastycznych algorytmów, które reagują na różne sytuacje. Dzięki nim nasze programy stają się bardziej dynamiczne i inteligentne.

Pytanie 32

Przedstawione zapytanie SELECT wykonane na tabeli przechowującej dane o uczestnikach konkursu ma za zadanie wybrać

SELECT MAX(wiek) - MIN(wiek) FROM uczestnicy;
A. różnicę wieku pomiędzy najstarszym i najmłodszym uczestnikiem.
B. liczbę najstarszych uczestników.
C. średnią arytmetyczną wieku uczestników.
D. minimalny oraz maksymalny wiek uczestników.
Gratulacje, ta odpowiedź jest poprawna. Zapytanie SQL używa funkcji agregujących MAX i MIN do określenia maksymalnej i minimalnej wartości wieku w tabeli uczestników. Użycie tych funkcji umożliwia nam zidentyfikowanie najstarszego i najmłodszego uczestnika. Następnie, zapytanie oblicza różnicę między tymi wartościami, co odpowiada różnicy wieku między najstarszym i najmłodszym uczestnikiem. To jest standardowe podejście w SQL do wykonywania tego typu zapytań. W praktyce, takie zapytania są często używane w analizie danych do określania różnorodności danych, takiej jak zakres wieku uczestników w danym konkursie. Pamiętaj, że funkcje agregujące w SQL, takie jak MAX i MIN, są niezwykle przydatne w analizie danych, umożliwiając nam podsumowanie i analizę dużych zbiorów danych.

Pytanie 33

W utworzonej tabeli pole należące do typu BLOB służy do składowania

A. łańcuchów znaków o nieokreślonej długości
B. liczb całkowitych, które przekraczają zakres typu INT
C. danych binarnych o dużych rozmiarach, takich jak grafika
D. danych logicznych takich jak true
Pole typu BLOB (Binary Large Object) jest przeznaczone do przechowywania danych binarnych dużych rozmiarów, co czyni je idealnym do przechowywania plików multimedialnych, takich jak obrazy, wideo lub dźwięki. W bazach danych, BLOB jest używane, gdy dane są zbyt duże, aby mogły być przechowywane w standardowych typach danych, takich jak VARCHAR czy INT. Przykładem zastosowania BLOB może być strona internetowa, która pozwala użytkownikom na przesyłanie zdjęć profilowych. W takim przypadku, zdjęcia są przechowywane w kolumnie typu BLOB w bazie danych, co pozwala na efektywne zarządzanie dużymi plikami binarnymi. Zastosowanie standardów takich jak SQL przy projektowaniu baz danych zapewnia optymalizację przechowywania danych, a użycie BLOB jako typu danych dla dużych plików jest zgodne z najlepszymi praktykami w tej dziedzinie.

Pytanie 34

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

A. jest chroniona przed nieautoryzowanymi operacjami, takimi jak dzielenie przez zero
B. jest w stanie funkcjonować przy przewidzianym oraz większym obciążeniu
C. jest odpowiednio opisana dokumentacją
D. posiada właściwą funkcjonalność
Odpowiedź 'potrafi działać przy zakładanym i większym obciążeniu' jest prawidłowa, ponieważ testy skalowalności oprogramowania mają na celu ocenę, jak aplikacja radzi sobie w warunkach wzrastającego obciążenia. Skalowalność odnosi się do zdolności systemu do obsługi większej ilości użytkowników lub danych bez utraty wydajności. Przykładem może być aplikacja internetowa, która musi obsługiwać rosnącą liczbę zapytań w godzinach szczytu. Dobrą praktyką jest przeprowadzanie testów obciążeniowych i stresowych, aby zidentyfikować punkty krytyczne i wąskie gardła w architekturze aplikacji. W standardzie ISO/IEC 25010 definiuje się jakość produktu oprogramowania, gdzie skalowalność jest kluczowym zjawiskiem wpływającym na niezawodność i wydajność systemu. Testy te pozwalają również na ocenę, czy architektura aplikacji jest wystarczająco elastyczna, aby dostosować się do zmieniających się potrzeb użytkowników oraz na potwierdzenie, że infrastruktura serwerowa i sieciowa spełniają wymagania związane z przyszłym wzrostem obciążenia.

Pytanie 35

W języku SQL aby zmodyfikować dane w tabeli, należy posłużyć się poleceniem

A. CREATE
B. SELECT
C. UPDATE
D. JOIN
Polecenie UPDATE to w SQL podstawowe narzędzie do modyfikowania istniejących danych w tabelach. W praktyce oznacza to, że jeśli chcesz np. zmienić wartość jakiegoś pola dla wybranego rekordu, to właśnie tego polecenia używasz. Przykład z życia: masz tabelę pracowników i ktoś zmienił numer telefonu – nie robisz nowego wpisu, nie tworzysz nowej tabeli, tylko aktualizujesz jedną kolumnę w odpowiednim wierszu. Składnia tego polecenia jest dość intuicyjna: UPDATE nazwa_tabeli SET kolumna=nowa_wartość WHERE warunek. Bardzo ważne jest stosowanie klauzuli WHERE, bo inaczej możesz przez przypadek podmienić dane we wszystkich wierszach tabeli, co niestety zdarza się nawet doświadczonym programistom, zwłaszcza przy pracy na środowiskach testowych. Warto wiedzieć, że SQL-92 (czyli jeden z najważniejszych standardów języka SQL) dokładnie opisuje sposób działania tego polecenia. Często w praktyce spotyka się też połączenie UPDATE z transakcjami, żeby mieć możliwość cofnięcia zmian, gdyby coś poszło nie tak. Moim zdaniem umiejętne stosowanie UPDATE to podstawa pracy z bazami danych – prawie każdy większy system korzysta z tego polecenia na co dzień. Dobrze też pamiętać o bezpieczeństwie i zawsze sprawdzać, czy warunek w WHERE jest poprawny, żeby nie napsuć w danych. Praktyka czyni mistrza i z czasem takie operacje wchodzą w krew.

Pytanie 36

W języku PHP, aby uzyskać dostęp do pliku dane.txt w trybie tylko do odczytu i odczytać jego zawartość, należy użyć funkcji:

A. fopen("dane.txt", "r") oraz fputs()
B. fopen("dane.txt", "w") oraz fgets()
C. fopen("dane.txt", "r") oraz fgets()
D. fopen("dane.txt", "w") oraz fputs()
Odpowiedź fopen("dane.txt", "r") oraz fgets() jest poprawna, ponieważ zastosowanie funkcji fopen z parametrem 'r' otwiera plik w trybie do odczytu. Funkcja fgets służy do odczytywania pojedynczej linii z pliku, co idealnie odpowiada potrzebie pobrania zawartości z pliku dane.txt. Przykładowe użycie tej pary funkcji może wyglądać tak: $handle = fopen('dane.txt', 'r'); if ($handle) { while (($line = fgets($handle)) !== false) { echo $line; } fclose($handle); } Warto również zauważyć, że przy pracy z plikami w PHP zaleca się zawsze sprawdzanie, czy plik został poprawnie otwarty, aby uniknąć błędów w czasie wykonania. Dobre praktyki obejmują także zamykanie pliku po jego użyciu, co pomaga w zarządzaniu zasobami systemowymi. Dodatkowo, w przypadku błędów, można wykorzystać funkcję error_reporting(), aby monitorować błędy i ostrzeżenia, co jest niezbędne w profesjonalnym rozwoju aplikacji webowych w PHP.

Pytanie 37

Aby utworzyć strukturę strony internetowej za pomocą znaczników semantycznych języka HTML 5, zgodnie z przedstawionym na ilustracji projektem, SEKCJA B powinna być zawarta w znaczniku

Ilustracja do pytania
A. <header></header>
B. <nav></nav>
C. <article></article>
D. <section></section>
Poprawnie – sekcja B na ilustracji to klasyczne menu nawigacyjne strony, więc w semantycznym HTML5 powinna być zawarta w znaczniku <nav>. Ten element został wprowadzony właśnie po to, żeby jasno oznaczać blok linków służących do poruszania się po serwisie: główne menu, nawigacja w stopce, paginacja artykułów itp. Przeglądarki, czytniki ekranu i roboty wyszukiwarek rozpoznają <nav> jako specjalny region nawigacyjny i dzięki temu lepiej „rozumieją” strukturę strony. To jest bardzo ważne z punktu widzenia dostępności (WCAG) i SEO. W typowym szkielecie strony HTML5 nagłówek z tytułem umieszcza się w <header>, menu w <nav>, główną treść w <main>, artykuły w <article>, a poboczne informacje w <aside>. U Ciebie: sekcja A to najpewniej <header>, sekcja B – <nav>, a sekcja C – jakiś <section> lub <article>. W praktyce kod dla pokazanej sekcji B wyglądałby np.: <nav><a href="index.html">Główna</a><a href="onas.html">O nas</a><a href="kontakt.html">Kontakt</a></nav>. Moim zdaniem dobrze jest od początku wyrabiać nawyk używania <nav> tylko dla głównych bloków nawigacji, a nie dla każdego przypadkowego linka w tekście. Dzięki temu dokument ma czytelną hierarchię, łatwiej się go styluje w CSS i utrzymuje w większych projektach.

Pytanie 38

W aplikacji internetowej komunikat powinien pojawiać się tylko wtedy, gdy dany użytkownik jest na stronie po raz pierwszy. Którą funkcję PHP należy w tym celu zastosować?

A. session_destroy
B. setcookie
C. mysqli_change_user
D. define
Prawidłowo – w tym zadaniu kluczowa jest funkcja setcookie(), bo to właśnie ciasteczka są standardowym mechanizmem do rozpoznawania, czy użytkownik był już wcześniej na danej stronie. W praktyce robi się to tak: przy pierwszym wejściu na stronę sprawdzasz, czy istnieje określone cookie, np. $_COOKIE['first_visit']. Jeśli go nie ma, wyświetlasz komunikat powitalny i ustawiasz ciasteczko za pomocą setcookie('first_visit', '1', time()+3600*24*365). Przy kolejnych wejściach cookie już będzie istniało, więc komunikat się nie pojawi. To jest bardzo typowy wzorzec np. dla banerów informujących o ciasteczkach, komunikatów onboardingowych czy jednorazowych podpowiedzi dla nowych użytkowników. Z mojego doświadczenia w webdevie to najprostsze i najbardziej przenośne rozwiązanie, bo działa niezależnie od sesji i logowania użytkownika – wystarczy przeglądarka z włączonymi cookies. Ważne jest też, żeby pamiętać o tym, że setcookie() musi być wywołane przed wysłaniem jakiegokolwiek outputu (czyli przed jakimkolwiek HTML, echo, BOM itd.), bo ciasteczka są wysyłane w nagłówkach HTTP. W bardziej rozbudowanych projektach często łączy się cookies z innymi mechanizmami (np. sesją czy bazą danych), ale do prostego sprawdzenia „czy użytkownik jest tu pierwszy raz” ciasteczko ustawiane setcookie() to według dobrych praktyk w zupełności wystarcza. Warto też dbać o parametry bezpieczeństwa ciastek (secure, httponly, samesite), szczególnie gdy później używamy tego mechanizmu do czegoś ważniejszego niż zwykły komunikat informacyjny.

Pytanie 39

Który typ danych należy przypisać kolumnie z kodami pocztowymi w tabeli relacyjnej bazy danych, aby przechowywała dane w formie łańcuchów znakowych o zdefiniowanej, stałej długości?

A. CHAR
B. DECIMAL
C. BLOB
D. TEXT
Przy typie danych dla kodów pocztowych łatwo wpaść w pułapkę myślenia „składa się z cyfr, więc to liczba”. To jeden z częstszych błędów przy projektowaniu schematów baz danych. Kod pocztowy jest w rzeczywistości identyfikatorem tekstowym, a nie wartością numeryczną do obliczeń. Dlatego wybór typów takich jak TEXT, BLOB czy DECIMAL prowadzi do różnych problemów logicznych i wydajnościowych. Duży typ tekstowy, taki jak TEXT, jest przeznaczony do przechowywania dłuższych opisów, komentarzy, treści artykułów i innych pól o zmiennej, zazwyczaj nieograniczonej długości. Silnik bazy danych zwykle przechowuje te dane poza główną strukturą rekordu, co ma sens dla długich stringów, ale dla krótkiego kodu pocztowego jest po prostu przerostem formy nad treścią. Tracisz też jasną informację, że długość powinna być stała, trudniej jest narzucić sensowne ograniczenia, a indeksowanie takich pól bywa mniej efektywne. Jeszcze mniej pasuje BLOB, który służy do binarnych danych, takich jak obrazy, pliki PDF, dane multimedialne. Traktowanie kodu pocztowego jako ciągu bajtów bez kontekstu znakowego kompletnie mija się z celem. Taki typ utrudnia sortowanie, filtrowanie, walidację formatu i w zasadzie odcina cię od naturalnych mechanizmów operowania na tekstach, jakie oferuje SQL. DECIMAL wygląda pozornie kusząco, bo „kod to cyfry”, ale tutaj właśnie leży klasyczny błąd. Typy numeryczne są projektowane do obliczeń matematycznych, a nie do identyfikatorów. Możesz wtedy stracić zera wiodące, co w kodach pocztowych ma krytyczne znaczenie. Dodatkowo w wielu krajach kody zawierają litery czy myślniki, więc DECIMAL po prostu nie pozwoli na poprawne zapisanie takich wartości. Z mojego doświadczenia, gdy ktoś wybiera typ liczbowy dla kodu pocztowego, potem i tak musi migrować schemat, bo pojawiają się nowe wymagania, inne formaty, integracja z zagranicznymi systemami. W dobrze zaprojektowanych modelach danych przyjmuje się zasadę: identyfikatory i kody, które nie służą do liczenia, przechowujemy jako tekst o kontrolowanej długości. W tym wypadku idealnie pasuje CHAR o odpowiednim rozmiarze, bo jasno komunikuje, że długość jest stała i pozwala silnikowi bazy optymalizować przechowywanie oraz indeksy. Wybór innego typu zwykle wynika z mylenia „cyfr” z „liczbami”, co na etapie projektowania wydaje się drobiazgiem, a później odbija się na jakości całego systemu.

Pytanie 40

Przypisanie wartości do zmiennej $dana = 125; zapisane jest w języku

A. C++
B. PHP
C. JavaScript
D. Python
Instrukcja $dana = 125; jest charakterystyczna dla języka PHP, bo po pierwsze używa znaku dolara przed nazwą zmiennej, a po drugie ma średnik na końcu, tak jak wymagają tego standardy składni PHP. W PHP każda zmienna zaczyna się od $, np. $liczba, $imie, $userId. Jest to jedna z najbardziej rozpoznawalnych cech tego języka, od razu widać, że chodzi o kod wykonywany po stronie serwera, a nie np. o Pythona. W typowym pliku PHP taki zapis pojawi się wewnątrz znacznika <?php ... ?>, na przykład: <?php $dana = 125; echo $dana; ?> To jest klasyczny przykład przypisania wartości typu całkowitego do zmiennej. PHP jest językiem słabo typowanym (dynamicznie typowanym), więc nie trzeba wcześniej deklarować typu zmiennej. Wystarczy ją po prostu utworzyć przez przypisanie. Z mojego doświadczenia to jest bardzo wygodne przy szybkim tworzeniu aplikacji webowych, np. liczników, prostych kalkulatorów, obsługi formularzy. W praktyce takie przypisanie wykorzystuje się choćby przy pobieraniu danych z formularza: $wiek = (int)$_POST['wiek']; albo przy obliczeniach: $suma = $a + $b;. Dobrą praktyką jest nadawanie zmiennym czytelnych nazw i pilnowanie, żeby typ danych był przewidywalny, nawet jeśli PHP pozwala na sporą dowolność. W nowoczesnych projektach PHP (np. w frameworkach typu Laravel czy Symfony) nadal używa się dokładnie takiej składni przypisania, tylko zazwyczaj w bardziej rozbudowanych strukturach, np. w klasach, kontrolerach czy modelach. Moim zdaniem warto od początku kojarzyć znak $ jednoznacznie z PHP, bo to bardzo pomaga przy szybkim rozpoznawaniu przykładowego kodu w dokumentacji czy na forach.