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: 29 kwietnia 2026 10:02
  • Data zakończenia: 29 kwietnia 2026 10:15

Egzamin zdany!

Wynik: 26/40 punktów (65,0%)

Wymagane minimum: 20 punktów (50%)

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

Na ilustracji pokazano strukturę bloków witryny internetowej. Który z elementów stylu strony jest zgodny z podanym układem? Dla uproszczenia pominięto cechy koloru tła, wysokości oraz czcionki)

Ilustracja do pytania
A. #pierwszy { width: 30%; }#drugi { width: 70%; }#trzeci { width: 70%; }#czwarty { width: 100%; }
B. #pierwszy {float:left; width:30%;}#drugi {float:left; width:70%;}#trzeci {float:left; width:70%;}#czwarty {clear:both; }
C. #pierwszy{float:left; width:30%; }#drugi {clear:both; width:70%; }#trzeci {clear:both; width:70%; }#czwarty {float:left; width:100%; }
D. #pierwszy {float:left; width:30%; }#drugi {clear:both; width:70%; }#trzeci {float:left; width:70%; }#czwarty {clear:both; }
Odpowiedź numer 2 jest prawidłowa, ponieważ doskonale odpowiada układowi bloków przedstawionych na rysunku. Zastosowanie właściwości CSS float:left dla wszystkich trzech pierwszych bloków pozwala na ich ułożenie w jednym rzędzie w ramach dostępnej szerokości. Pierwszy blok zajmuje 30 procent, natomiast drugi i trzeci po 70 procent szerokości, co jest zgodne z przedstawionym układem. Dodatkowo, zastosowanie clear:both dla czwartego bloku spowoduje, że rozpocznie on nowy wiersz i zajmie całą szerokość dostępną poniżej poprzednich elementów. Takie rozwiązanie jest efektywne w tworzeniu responsywnych i elastycznych układów stron internetowych. Wykorzystanie float jest powszechnie stosowane w projektowaniu front-end, choć w nowych projektach coraz częściej zastępowane przez flexbox i grid. Warto zrozumieć działanie float i clear, ponieważ pozwalają na manipulację układem elementów na stronie, co jest kluczowe w tworzeniu czytelnych i estetycznych interfejsów użytkownika. Zrozumienie tych koncepcji jest niezbędne dla profesjonalistów zajmujących się tworzeniem stron internetowych.

Pytanie 2

Funkcję session_start() w PHP należy zastosować przy realizacji

A. przetwarzania formularza
B. jakiejkolwiek strony internetowej, która obsługuje cookies
C. ładowania danych z zewnętrznych plików
D. wielostronicowej strony, która wymaga dostępu do danych podczas przechodzenia pomiędzy stronami
Funkcja session_start() w języku PHP jest kluczowym elementem przy tworzeniu wielostronicowej witryny, która wymaga przechowywania i dostępu do danych pomiędzy różnymi stronami. Ta funkcja inicjalizuje sesję, co pozwala na przechowywanie danych użytkownika w zmiennych sesyjnych, które są dostępne na wszystkich stronach witryny. Przykładem zastosowania może być koszyk zakupowy w sklepie internetowym – użytkownik dodaje przedmioty do koszyka na jednej stronie, a na innej stronie (np. stronie podsumowania zamówienia) może z łatwością zobaczyć swoje wybory. Z perspektywy dobrych praktyk, użycie sesji zwiększa bezpieczeństwo danych, ponieważ nie są one przechowywane w cookies ani jako parametry URL, co zmniejsza ryzyko ich ujawnienia. Ponadto, sesje ułatwiają zarządzanie autoryzacją, ponieważ można łatwo sprawdzić, czy użytkownik jest zalogowany na dowolnej stronie witryny, co jest niezbędne w przypadku aplikacji wymagających logowania. Dlatego właściwe zastosowanie session_start() jest kluczowe dla interaktywności i użytkowalności rozbudowanych aplikacji webowych.

Pytanie 3

W języku JavaScript zapis w ramce oznacza, że x=przedmiot.nazwa);

A. nazwa jest atrybutem klasy przedmiot
B. zmienna x będzie zawierać wynik działania metody nazwa
C. nazwa jest cechą obiektu przedmiot
D. zmienna x będzie przechowywać wynik działania funkcji przedmiot
Niepoprawne odpowiedzi wskazują na brak zrozumienia koncepcji obiektów w JavaScript oraz różnic pomiędzy właściwościami a metodami. Stwierdzenie, że 'nazwa jest polem klasy przedmiot', jest mylące, ponieważ w JavaScript nie ma klas w tradycyjnym sensie znanym z innych języków, jak Java czy C#. W JavaScript mamy do czynienia z prototypami, a atrybuty obiektów są nazywane właściwościami, a nie polami klasy. Kolejne stwierdzenie, że 'nazwa jest właściwością obiektu przedmiot', jest częściowo prawdziwe, ale w kontekście zadania nie jest wystarczająco precyzyjne, ponieważ może sugerować, że 'nazwa' jest statyczną wartością, podczas gdy w rzeczywistości może to być metoda, której wynikiem jest dynamiczna wartość. Ostatnia błędna odpowiedź, sugerująca, że 'zmienna x będzie przechowywać wynik działania funkcji przedmiot', również jest niepoprawna, ponieważ 'przedmiot' nie jest funkcją, lecz obiektem. W JavaScript, aby wywołać funkcję, potrzebujemy jej nazwy i odpowiednich nawiasów, co w tym przypadku nie ma miejsca. Zrozumienie tych różnic jest kluczowe dla efektywnego programowania w tym języku oraz korzystania z jego pełnych możliwości.

Pytanie 4

Jakie wyrażenie logiczne powinno być użyte w języku JavaScript, aby zastosować operacje tylko dla wszystkich liczb ujemnych z przedziału jednostronnie domkniętego <-200,-100)?

A. (liczba <=-200) && (liczba<-100)
B. (liczba <=-200) || (liczba>-100)
C. (liczba >=-200) && (liczba<-100)
D. (liczba >=-200) || (liczba>-100)
Patrząc na błędne odpowiedzi, pierwsza z nich korzysta z operatora OR (||), co powoduje, że wyrażenie jest prawdziwe, jeśli chociaż jeden z warunków jest spełniony. Więc, jeśli liczba jest niższa niż -200, to pierwszy warunek będzie prawdziwy i całość też. To sprawia, że operacje mogą być wykonywane na liczbach, które nie mieszczą się w naszym przedziale, co jest sprzeczne z tym, co chcemy osiągnąć. Kolejna odpowiedź też używa operatora OR, ale jej warunek mówi, że liczba ma być większa niż -100. To prowadzi do sytuacji, gdzie każda liczba powyżej -100 jest uznawana za poprawną, co jest totalnie niezgodne z naszym zamysłem. Ostatnia odpowiedź ma operator AND, ale z kiepskimi warunkami. Warunek liczba <= -200 nie spełnia wymagań, bo nie bierze pod uwagę liczb w przedziale od -200 do -100, tylko te mniejsze niż -200. Dlatego takie wyrażenie nie zadziała jak trzeba i nie pozwoli na właściwe przetwarzanie liczb w wymaganym zakresie.

Pytanie 5

Aby przenieść stronę internetową na serwer, można wykorzystać program

A. Go!Zilla
B. Bugzilla
C. FileFilla
D. CloneZilla
Bugzilla to narzędzie do zarządzania błędami, które nie jest związane z przesyłaniem plików na serwery. Jego głównym celem jest śledzenie błędów i problemów w oprogramowaniu, co czyni go przydatnym w kontekście projektów deweloperskich, ale nie znajduje zastosowania w transferze plików. Go!Zilla to program, który ma na celu przyspieszanie pobierania plików z internetu, co również nie odnosi się do przesyłania plików na serwer. Chociaż Go!Zilla może być pomocny w kontekście ściągania zawartości z sieci, jego funkcjonalność nie obejmuje zarządzania transferami w obie strony, co jest kluczowe dla administratorów stron internetowych. CloneZilla to narzędzie do klonowania dysków i partycji, które służy do tworzenia kopii zapasowych systemów operacyjnych oraz danych, ale nie ma nic wspólnego z przesyłaniem plików na serwer. Jego zastosowanie jest głównie w kontekście migracji danych pomiędzy nośnikami, co w zasadzie wyklucza jego użycie w kontekście przenoszenia witryn internetowych na serwery.

Pytanie 6

Która z wymienionych metod umożliwia wyświetlenie komunikatu w konsoli przeglądarki za pomocą języka JavaScript?

A. console.echo("test");
B. console.print("test");
C. console.log("test");
D. console.write("test");
Wybór innych metod wypisywania komunikatów w konsoli, takich jak console.write(), console.print() oraz console.echo(), jest błędny, ponieważ nie są one zdefiniowane w standardowym API JavaScript. Istnieje powszechne nieporozumienie, że podobne nazwy funkcji mogą sugerować ich prawidłowe działanie, co prowadzi do stosowania niepoprawnych metod. JavaScript, jako język skryptowy, posiada zestaw wbudowanych funkcji, które są precyzyjnie zdefiniowane przez ECMAScript. Metody takie jak console.write() i console.print() nie istnieją w tym standardzie, co sprawia, że ich użycie kończy się błędami wykonania. Ponadto, console.echo() również nie jest rozpoznawane przez silniki JavaScript i może prowadzić do frustracji, gdy programista spodziewa się, że jego kod będzie działał zgodnie z intuicją. Kluczowe jest, aby każdy programista znał podstawowe funkcje i ich właściwe zastosowanie, aby uniknąć takich pułapek. Niezrozumienie dostępnych funkcji konsoli może prowadzić do marnowania czasu na debugowanie kodu, który nie działa, ponieważ został oparty na nieprawidłowych założeniach. Właściwe podejście do nauki JavaScript obejmuje eksperymentowanie z wbudowanymi funkcjami oraz zrozumienie dokumentacji, co znacznie przyspiesza proces uczenia się i wzmacnia umiejętności programistyczne.

Pytanie 7

Rozdzielczość obrazów cyfrowych wyświetlanych na ekranie monitora wyrażona w liczbie pikseli na cal określa jednostka

A. spi
B. lpi
C. dpi
D. ppi
W tym pytaniu bardzo łatwo się pomylić, bo skróty ppi, dpi, spi i lpi są do siebie podobne i wszystkie gdzieś tam krążą wokół pojęcia rozdzielczości. Kluczowa sprawa jest taka: pytanie dotyczy obrazów cyfrowych wyświetlanych na ekranie monitora i jest mowa o liczbie pikseli na cal. To od razu ustawia nas na właściwy tor, bo piksele są elementami obrazu na ekranie, a nie kroplami tuszu czy liniami rastra. W świecie wyświetlaczy stosuje się jednostkę ppi – pixels per inch. To ona określa gęstość pikseli matrycy i decyduje o tym, jak szczegółowy wydaje się obraz przy danej przekątnej ekranu. Typowy błąd polega na automatycznym wybieraniu dpi, bo wiele osób kojarzy to słowo z „rozdzielczością” ogólnie. Tymczasem dpi, czyli dots per inch, odnosi się przede wszystkim do druku: kropek tuszu naniesionych przez drukarkę na papier. Owszem, niektórzy producenci urządzeń myląco używają dpi również przy opisach ekranów, ale z punktu widzenia poprawnej terminologii i dobrych praktyk branżowych dpi to świat drukarek, a ppi – świat ekranów. Kolejny skrót, spi (samples per inch), pojawia się głównie przy skanerach. Określa, ile próbek na cal pobiera skaner z oryginalnego obrazu. To ma znaczenie przy digitalizacji zdjęć lub dokumentów, ale nie opisuje rozdzielczości wyświetlania na monitorze. Lpi, czyli lines per inch, związane jest z technikami druku rastrowego – określa gęstość linii rastra w procesie drukarskim, na przykład przy druku offsetowym. W grafice komputerowej i multimedialnej do zastosowań ekranowych, szczególnie w kontekście projektowania interfejsu, stron WWW czy aplikacji, trzymanie się rozróżnienia ppi dla ekranów i dpi dla druku jest dobrą praktyką. Z mojego doświadczenia wynika, że osoby, które od początku nauczą się tego rozdzielenia, później mają mniej problemów przy przygotowywaniu grafik zarówno do sieci, jak i do materiałów drukowanych.

Pytanie 8

Aby stworzyć układ strony z trzema kolumnami obok siebie, można wykorzystać styl CSS

Ilustracja do pytania
A. D
B. A
C. C
D. B
Poprawna odpowiedź A wykorzystuje właściwość float CSS ustawioną na left oraz szerokość width na 33 procent co pozwala na umieszczenie trzech kolumn obok siebie na stronie internetowej Float jest często używany do tworzenia układów wielokolumnowych gdyż pozwala na pływające rozmieszczenie elementów blokowych wewnątrz kontenera Dzięki ustawieniu szerokości na 33 procent zapewniamy że trzy kolumny będą mogły się zmieścić obok siebie w jednym rzędzie w ramach dostępnej szerokości kontenera Jest to efektywne podejście w przypadku responsywnych projektów gdzie nie zawsze znamy dokładną szerokość dostępnej przestrzeni Floating jest klasycznym podejściem w CSS i chociaż nowe technologie jak flexbox czy grid oferują więcej możliwości jest wciąż powszechnie stosowany w wielu projektach szczególnie gdy chodzi o proste układy Dodatkowo float left jest zgodny z wielu przeglądarkami co zapewnia większą uniwersalność kodu Przy projektowaniu stron zawsze warto pamiętać o dodaniu clearfix lub overflow hidden do rodzica elementów pływających aby uniknąć problemów z zawijaniem się kontenera wokół elementów pływających

Pytanie 9

Jakie mechanizmy są kluczowe dla Systemu Zarządzania Bazą Danych?

A. System do zarządzania wersjami bazy danych
B. Moduł do wizualizacji diagramów encji
C. Wielodostępność do danych
D. Narzędzia do generowania statystyk
Wielodostępność danych jest kluczowym mechanizmem dla systemów zarządzania bazami danych (DBMS), ponieważ umożliwia równoczesny dostęp wielu użytkowników do tych samych danych bez konfliktów. W praktyce oznacza to, że wiele aplikacji lub użytkowników może korzystać z bazy danych w tym samym czasie, co jest niezbędne w wielu złożonych środowiskach, takich jak systemy bankowe, platformy e-commerce czy aplikacje społecznościowe. Mechanizm wielodostępności zapewnia integralność danych oraz ich spójność, co jest osiągane poprzez zastosowanie technik takich jak blokowanie, transakcje i izolacja. Przykładem praktycznym może być system zarządzania rezerwacjami hoteli, w którym wiele osób próbuje zarezerwować ten sam pokój w tym samym czasie. DBMS musi zastosować odpowiednie mechanizmy, aby zrealizować tylko jedną z tych rezerwacji, jednocześnie informując pozostałych użytkowników o braku dostępności. Dobrą praktyką w projektowaniu baz danych jest także przemyślane stosowanie poziomów izolacji transakcji, co pozwala na dostosowanie wydajności i spójności w zależności od potrzeb aplikacji.

Pytanie 10

Jaką metodę zastosowano do dodania arkusza stylów do dokumentu HTML w pokazanym kodzie?

Ilustracja do pytania
A. Styl wewnętrzny
B. Styl alternatywny, zewnętrzny
C. Styl zewnętrzny
D. Styl wpisany, lokalny
Styl zewnętrzny to metoda dołączania arkusza stylów do dokumentu HTML poprzez linkowanie pliku CSS zewnętrznego w sekcji head dokumentu. Jest to najbardziej powszechna i zalecana metoda stylizacji dużych projektów ponieważ pozwala na oddzielenie logiki prezentacyjnej od struktury dokumentu HTML co ułatwia zarządzanie i ponowne wykorzystanie kodu. Tymczasem styl wewnętrzny umieszczany jest w sekcji head jako blok <style> i stosuje się go gdy chcemy zdefiniować style dla całego dokumentu bez tworzenia dodatkowego pliku CSS. Jest to rozwiązanie kompromisowe ale wciąż nie tak elastyczne jak style zewnętrzne. Styl alternatywny zewnętrzny to mechanizm dołączania alternatywnych arkuszy stylów umożliwiający użytkownikowi wybór różnych stylów podczas przeglądania strony jednak nie jest to to samo co styl wpisany lokalny. Błędne myślenie może polegać na utożsamianiu stylów wewnętrznych z wpisanymi ze względu na ich lokalny charakter lecz zasadniczo różnią się one zakresem działania i sposobem implementacji. Styl wpisany jako atrybut elementu HTML działa tylko na ten konkretny element zaś style wewnętrzne i zewnętrzne mogą wpływać na wiele elementów jednocześnie co daje większą kontrolę i spójność w projektowaniu strony. Zrozumienie tych różnic jest kluczowe dla tworzenia efektywnych i dobrze zarządzanych aplikacji webowych. Dążenie do modularności i ponownego użycia kodu jest jedną z fundamentalnych zasad dobrych praktyk w branży.

Pytanie 11

Który język programowania powinien być wykorzystany do stworzenia skryptu działającego po stronie klienta w przeglądarce internetowej?

A. Perl
B. Python
C. JavaScript
D. PHP
JavaScript to język programowania, który został stworzony z myślą o dynamicznym tworzeniu treści i interakcji w przeglądarkach internetowych. Umożliwia on programistom wykonywanie skryptów bezpośrednio na stronie internetowej, co pozwala na tworzenie responsywnych interfejsów użytkownika oraz interakcji z elementami HTML i CSS. JavaScript jest językiem skryptowym, który obsługuje wiele nowoczesnych technologii webowych, takich jak AJAX, co umożliwia asynchroniczne ładowanie danych bez przeładowania całej strony. Dzięki wykorzystaniu JavaScriptu, programiści mogą implementować różnorodne efekty wizualne, animacje oraz walidację formularzy w czasie rzeczywistym. Język ten jest wspierany przez wszystkie popularne przeglądarki internetowe i stał się standardem de facto dla skryptów po stronie klienta. Przykładowo, większość aplikacji webowych, takich jak Gmail czy Facebook, korzysta z JavaScriptu do poprawy doświadczeń użytkowników. Warto również zaznaczyć, że JavaScript jest kluczowym elementem ekosystemu programistycznego, łączącym inne technologie, takie jak HTML i CSS, co czyni go niezwykle wszechstronnym narzędziem w codziennej pracy programistów.

Pytanie 12

Formaty wideo, które są wspierane przez standard HTML5, to

A. MP4, AVI
B. Ogg, AVI, MPEG
C. Ogg, QuickTime
D. MP4, Ogg, WebM
Odpowiedź MP4, Ogg, WebM jest poprawna, ponieważ te trzy formaty wideo są oficjalnie obsługiwane przez standard HTML5, co oznacza, że są zgodne z różnymi przeglądarkami internetowymi bez potrzeby używania dodatkowych wtyczek. Format MP4, oparty na kontenerze MPEG-4, jest szeroko stosowany z uwagi na jego efektywność w kompresji oraz wysoką jakość obrazu i dźwięku. Ogg to otwarty format, który wspiera kodek VP8, co czyni go popularnym wśród projektów o otwartym oprogramowaniu. WebM, z kolei, jest również formatem otwartym, zoptymalizowanym dla wideo w Internecie, co czyni go dobrym wyborem dla zastosowań webowych. Te formaty są zgodne z najlepszymi praktykami w zakresie wydajności i dostępności, co sprawia, że są preferowane podczas tworzenia treści wideo do zastosowań online. Przykładem ich użycia może być osadzanie wideo na stronach internetowych, gdzie różnorodność formatów pozwala na ich odtwarzanie na różnych urządzeniach oraz w różnych systemach operacyjnych.

Pytanie 13

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

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


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

Pytanie 14

W języku C, aby zdefiniować stałą, należy zastosować

A. #CONST
B. #INCLUDE
C. const
D. static
W języku C, aby zadeklarować stałą, należy użyć słowa kluczowego 'const'. Użycie 'const' umożliwia programiście zdefiniowanie zmiennej, której wartość nie może być zmieniana w trakcie działania programu. To podejście jest zgodne z dobrymi praktykami programowania, ponieważ pozwala na większą kontrolę nad danymi i minimalizuje ryzyko przypadkowej modyfikacji istotnych wartości. Na przykład, jeżeli chcemy zdefiniować stałą wartość liczby pi, możemy użyć: 'const double PI = 3.14159;'. Taka deklaracja zapewnia, że PI pozostanie niezmienne w trakcie działania programu. Użycie 'const' jest również istotne w kontekście bezpieczeństwa kodu, ponieważ zmniejsza prawdopodobieństwo wystąpienia błędów związanych z modyfikacją wartości, które powinny pozostać stałe. Warto również zauważyć, że używanie stałych w programowaniu zwiększa czytelność kodu, ponieważ jasno wskazuje na zamiar programisty, że pewne wartości nie powinny być zmieniane. Dodatkowo, stałe mogą być używane w kontekście makr preprocesora, co wprowadza dodatkowe możliwości zdefiniowania stałych, które mogą być używane w całym kodzie przy zachowaniu zasad programowania defensywnego.

Pytanie 15

W którym z bloków powinien znaleźć się warunek pętli?

Ilustracja do pytania
A. B.
B. A.
C. C.
D. D.
Blok oznaczony literą C jest symbolem decyzji w diagramach przepływu i jest używany do umieszczania warunków pętli w programowaniu. Symbol ten, przypominający romb, pozwala na zadanie pytania lub warunku, który decyduje o dalszym przebiegu działania programu. W praktyce, w językach programowania takich jak C++ czy Python, pętle warunkowe takie jak 'while' lub 'for' wymagają zdefiniowania warunku, który kontroluje liczbę iteracji. Blok decyzyjny umożliwia tworzenie logiki kontrolowanej przez dane wejściowe, co jest fundamentalne dla dynamicznych i responsywnych aplikacji. Zastosowanie bloku decyzyjnego zgodnie ze standardami branżowymi, jak np. UML (Unified Modeling Language), jest kluczowe dla tworzenia zrozumiałych i skalowalnych diagramów przepływu. Dzięki temu, programiści mogą łatwo komunikować algorytmy złożone z sekwencji warunków i decyzji, co jest niezbędne w projektowaniu oprogramowania o dużej złożoności. Praktyczne zrozumienie i stosowanie warunków w blokach decyzyjnych jest kluczowe dla tworzenia efektywnych rozwiązań programistycznych.

Pytanie 16

Jaki wynik wyświetli poniższy fragment kodu JavaScript?

x='Powodzenia na egzaminie';
z=x.substring(3,9);
y=z.substring(2,4);
document.write(y);
A. wodzenia
B. ze
C. wo
D. owodzeni
W analizowanym zadaniu błędne odpowiedzi wynikają z nieprawidłowego zrozumienia działania funkcji substring w JavaScript która służy do ekstrakcji fragmentu tekstu z ciągu. Kluczowym elementem jest tutaj zrozumienie że indeksowanie stringów zaczyna się od zera co oznacza że pierwszy znak w ciągu ma indeks 0. W przypadku x.substring(3,9) funkcja ta wyodrębnia znaki od indeksu 3 do 8 ponieważ drugi parametr w tej funkcji jest ekskluzywny co oznacza że nie jest uwzględniany w wyniku. Dlatego daje to fragment wodzen. Kolejna operacja z.substring(2,4) bierze pod uwagę wycinek od indeksu 2 do 3 tego nowego ciągu co skutkuje wynikiem ze. Błędne odpowiedzi mogą wynikać z nieznajomości tego jak działa substr w porównaniu do substring ponieważ substr używa innego podejścia wskazując długość a nie końcowy indeks. Innym częstym błędem jest mylenie indeksów co prowadzi do nieprawidłowych wycinków tekstu. Błędy takie mogą prowadzić do problemów w kodzie zwłaszcza przy przetwarzaniu danych wejściowych czy dynamicznym generowaniu zawartości strony co jest częstym zadaniem w web development. Zrozumienie jak dokładnie działa każdy z tych mechanizmów jest kluczowe dla tworzenia poprawnego i bezpiecznego kodu. Warto także pamiętać o testowaniu kodu aby uniknąć nieprzewidywalnych zachowań wynikających z nieprawidłowych wycinków tekstu co może wpłynąć na całość aplikacji.

Pytanie 17

Jak nazywa się komponent oznaczony znakiem zapytania w architekturze platformy .NET, który pozwala na tworzenie własnych aplikacji za pomocą frameworków oraz przekształcanie skompilowanego kodu pośredniego na kod maszynowy procesora zainstalowanego w systemie?

Ilustracja do pytania
A. Wspólne środowisko uruchomieniowe (CLR)
B. Wspólne środowisko programistyczne (CLP)
C. Infrastruktura językowa (CLI)
D. Biblioteka klas bazowych (BCL)
Często ludzie mylą CLI, czyli infrastrukturę językową, z CLR, ale to jednak różne rzeczy. CLI to specyfikacja, która mówi, jak języki mają współpracować w ramach .NET, a nie zajmuje się wykonywaniem kodu, co jest robotą CLR. A CLP, czyli wspólne środowisko programistyczne, w ogóle nie jest częścią oficjalnych terminów .NET, więc można się w tym pogubić. Jeśli chodzi o bibliotekę klas bazowych BCL, to jest to zestaw klas i interfejsów, które programiści wykorzystują, ale to też nie ma nic wspólnego z wykonywaniem kodu, to rolę CLR. BCL dostarcza różne przydatne narzędzia, na przykład do obsługi plików czy pracy z danymi. Błąd, który wiele osób popełnia, to mylenie BCL z CLR, mimo że mają różne funkcje i cele. Zrozumienie tych różnic jest naprawdę ważne, żeby dobrze korzystać z platformy .NET i uniknąć typowych nieporozumień dotyczących jej struktury.

Pytanie 18

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

A. bazy danych
B. ciasteczek
C. sesji
D. formularza
Przedstawiony fragment kodu PHP sprawdza, czy w przesłanym formularzu (metodą POST) zawartość pola 'name' jest pusta. Jeśli tak, ustawia zmienną $nameErr z komunikatem "Name is required", co oznacza, że pole imienia jest wymagane. Tego typu walidacja jest kluczowym elementem przy pracy z formularzami, ponieważ pozwala na zapewnienie, że użytkownik dostarcza wszystkie niezbędne dane przed ich przetworzeniem. W praktyce, walidacja po stronie serwera jest niezbędna dla bezpieczeństwa aplikacji oraz poprawności danych, które są później przetwarzane i przechowywane w bazie danych. Standardy branżowe sugerują, aby każdy formularz miał walidację zarówno po stronie klienta (JavaScript), jak i serwera (PHP), aby minimalizować ryzyko nieprawidłowych danych i ataków, takich jak SQL Injection. Przykładowo, w formularzach rejestracyjnych i logowania, walidacja pól takich jak imię, email czy hasło jest powszechną praktyką, aby poprawić doświadczenie użytkownika oraz bezpieczeństwo aplikacji.

Pytanie 19

W tabeli o nazwie zadania znajduje się kolumna tekstowa status. Jakie zapytanie należy wykorzystać, aby usunąć te rekordy, w których status to ‘zamknięte’?

A. TRUNCATE TABLE zadania;
B. DELETE FROM zadania WHERE status = 'zamknięte';
C. DELETE FROM zadania;
D. TRUNCATE TABLE zadania WHERE status = 'zamknięte';
Odpowiedź 'DELETE FROM zadania WHERE status = 'zamknięte';' jest poprawna, ponieważ ta kwerenda w sposób precyzyjny usuwa tylko te rekordy z tabeli 'zadania', które mają status 'zamknięte'. Użycie klauzuli WHERE jest kluczowe, ponieważ pozwala na ograniczenie operacji usunięcia do konkretnych wierszy w tabeli, co jest zgodne z najlepszymi praktykami w zarządzaniu bazami danych. Należy unikać bezwarunkowego usuwania wszystkich rekordów, jak w przypadku kwerendy 'DELETE FROM zadania;', co mogłoby spowodować utratę danych, które są nadal potrzebne. Przykłady zastosowania tej kwerendy można znaleźć w wielu systemach zarządzania projektami, gdzie często musimy archiwizować lub usuwać zakończone zadania. Dodatkowo stosowanie klauzuli WHERE jest zgodne z zasadą minimalizacji zmian w bazie danych, co jest istotne dla zapewnienia integralności danych i umożliwienia ich późniejszej analizy.

Pytanie 20

Na temat zmiennej predefiniowanej $_POST w języku PHP możemy stwierdzić, że

A. zawiera informacje bezpośrednio przesłane do skryptu z ciasteczka
B. zawiera dane przesłane do skryptu z formularza
C. jest rozwiniętą wersją tablicy $_SESSION
D. jest repliką tablicy $_COOKIE
Zmienna predefiniowana $_POST w języku PHP jest kluczowym elementem, który umożliwia przesyłanie danych z formularzy HTML do skryptu PHP. Gdy użytkownik wypełnia formularz i wysyła go, wszystkie dane z tego formularza są dostępne w tablicy asocjacyjnej $_POST, co pozwala na łatwe przetwarzanie danych w backendzie. Przykładowo, jeśli formularz zawiera pola takie jak 'imię' i 'email', po wysłaniu skrypt PHP może uzyskać te wartości poprzez $_POST['imię'] oraz $_POST['email']. To podejście jest zgodne z najlepszymi praktykami w programowaniu webowym, gdzie oddziela się logikę prezentacji od logiki przetwarzania danych. Ponadto, korzystając z $_POST, programiści mogą bezpiecznie odbierać dane bez obaw o ich modyfikację przez użytkownika, ponieważ nie są one widoczne w adresie URL, jak w przypadku metody GET. Warto również zauważyć, że korzystając z $_POST, można przesyłać różnorodne dane, w tym tekst, pliki i inne formaty, co czyni tę metodę niezwykle wszechstronną.

Pytanie 21

Aby określić styl czcionki w CSS, należy zastosować właściwość

A. text-style
B. font-style
C. font-family
D. text-family
Stosowanie właściwości 'text-style' jest niepoprawne, ponieważ nie istnieje taka właściwość w standardzie CSS. Zamiast tego, do modyfikacji stylu tekstu służą inne właściwości, takie jak 'font-style' czy 'text-decoration', które pozwalają na zastosowanie kursywy lub podkreślenia, lecz nie definiują kroju czcionki. Z kolei 'font-style' odnosi się do stylizacji czcionki, a nie do jej wyboru. Pozwala on na ustawienie, czy czcionka ma być normalna, pochylona czy pogrubiona, ale nie określa, jakiego kroju czcionki używamy. To prowadzi do powszechnego błędu, kiedy użytkownicy myślą, że 'font-style' określa również krój, co jest nieprawdziwe. Z drugiej strony, 'text-family' nie jest uznawanym terminem w kontekście CSS, co może wprowadzać w błąd początkujących programistów. Ważne jest, aby zrozumieć, że właściwości CSS są ściśle zdefiniowane i korzystanie z nieprawidłowych terminów prowadzi do błędów w kodzie. Aby uniknąć takich nieporozumień, warto zapoznać się z dokumentacją CSS oraz standardami W3C, które dostarczają klarownych informacji na temat dostępnych właściwości i ich zastosowań.

Pytanie 22

Aby skutecznie zrealizować algorytm znajdujący największą wartość spośród trzech podanych liczb a, b oraz c, wystarczy zastosować

A. pięć zmiennych
B. dwie tablice
C. jedną pętlę
D. dwa warunki
Aby znaleźć największą z trzech liczb a, b i c, stosując dwa warunki, można wykorzystać porównania. Pierwszym krokiem jest porównanie a i b, aby ustalić, która z tych liczb jest większa. Następnie porównujemy wynik z c. To podejście jest efektywne, ponieważ wymaga jedynie dwóch porównań (warunków) do określenia największej liczby z trzech. Taka metoda jest nie tylko prosta, ale również zgodna z dobrymi praktykami programowania, które stawiają na wydajność i czytelność kodu. Przykładowy kod w języku Python może wyglądać następująco: python max_value = a if b > max_value: max_value = b if c > max_value: max_value = c Warto zwrócić uwagę, że bardziej złożone metody, takie jak stosowanie pętli czy tablic, są niepotrzebne w tym przypadku i mogą wprowadzać niepotrzebną złożoność do kodu. W codziennym programowaniu dążymy do minimalizowania liczby operacji, aby zwiększyć wydajność, szczególnie w sytuacjach, gdy mamy ograniczone zasoby obliczeniowe. Ponadto, rozważając stosowanie algorytmów, które można łatwo zrozumieć, wspieramy przyszłą konserwację i rozwój oprogramowania.

Pytanie 23

Przedstawiono fragment kodu HTML, który nie waliduje się poprawnie. Błąd walidacji tego fragmentu kodu będzie dotyczył:

<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
</head>
<body>
    <img src="/obraz.gif alt="Obrazek">
    <h1>Rozdział 1</h1>
    <p>To jest tekst paragrafu, ...</p>
    <br>
    <img src="/obraz.gif" alt="Obrazek">
</body>
</html>
A. niedomknięcia znacznika <span class="code-text">br</span>
B. braku cudzysłowu
C. niedomknięcia znacznika <span class="code-text">img</span>
D. powtórzenia nazwy pliku graficznego
Niepoprawność w zakresie braku cudzysłowu w atrybucie 'src' znacznika 'img' wyklucza inne błędy, o których mowa w odpowiedziach. Znacznik 'br' jest jednym z nielicznych znaczników, które są samodomykające, co oznacza, że nie wymaga pary otwierającej i zamykającej. Dlatego informacja o niedomknięciu tego znacznika jest błędna, ponieważ poprawny zapis to po prostu <br>. Ponadto, znacznik 'img' również nie wymaga zamknięcia, ponieważ podobnie jak 'br', jest znakiem samodomykającym, co czyni obie te odpowiedzi niepoprawnymi w kontekście analizy błędów kodu HTML. Dodatkowo, kwestia powtórzenia nazwy pliku graficznego w kodzie nie jest błędem walidacji, lecz jedynie stylem programowania. Jeżeli plik graficzny jest używany wielokrotnie, jest to całkowicie akceptowalne. Dlatego te trzy odpowiedzi nie odnoszą się do rzeczywistego problemu, który występuje w przedstawionym kodzie, co podkreśla znaczenie ścisłej znajomości składni HTML oraz zasad walidacji dla prawidłowego tworzenia stron internetowych.

Pytanie 24

Jakie mechanizmy przydzielania zabezpieczeń, umożliwiające wykonywanie działań na bazie danych, są związane z tematyką zarządzania kontami, użytkownikami oraz ich uprawnieniami?

A. Z właściwościami
B. Z przywilejami obiektowymi
C. Z przywilejami systemowymi
D. Z zasadami
Zarządzanie kontami, użytkownikami i uprawnieniami w kontekście baz danych opiera się na przywilejach systemowych, które umożliwiają kontrolowanie dostępu do zasobów i operacji w systemie bazodanowym. Przywileje systemowe są definiowane jako zestaw uprawnień przypisanych do użytkowników lub ról, które decydują o tym, jakie operacje mogą być wykonywane na poziomie systemu, takie jak tworzenie, modyfikowanie i usuwanie baz danych oraz zarządzanie danymi. Przykłady przywilejów systemowych obejmują 'CREATE USER', 'DROP USER' czy 'GRANT ALL PRIVILEGES', które pozwalają na pełne zarządzanie użytkownikami oraz ich uprawnieniami. Standardy takie jak SQL92 czy ISO/IEC 9075 określają zasady dotyczące definiowania i stosowania przywilejów w systemach zarządzania bazami danych, co sprawia, że są one kluczowe dla zapewnienia bezpieczeństwa oraz integralności danych. Właściwe zarządzanie tymi przywilejami jest niezbędne do minimalizacji ryzyka nieautoryzowanego dostępu oraz do ochrony wrażliwych informacji przed potencjalnymi zagrożeniami.

Pytanie 25

Przy użyciu komendy ALTER TABLE można

A. zmodyfikować strukturę tabeli
B. skasować tabelę
C. usunąć dane z rekordu
D. zmienić dane w rekordach
Kiedy mówimy o poleceniu ALTER TABLE w SQL, to jest to naprawdę ważne narzędzie, które pozwala na zmianę struktury tabeli w bazie danych. Możemy dzięki niemu dodać nowe kolumny, zmienić rodzaj danych w istniejących czy nawet usunąć niepotrzebne kolumny. Na przykład, gdybyśmy chcieli dodać kolumnę 'data_urodzenia' do tabeli 'pracownicy', to musielibyśmy użyć takiego polecenia: ALTER TABLE pracownicy ADD data_urodzenia DATE;. To wszystko jest kluczowe, żeby nasze aplikacje mogły się rozwijać i żeby baza danych spełniała coraz to nowe wymagania. Z mojego doświadczenia wynika, że najlepiej jest zawsze robić kopię zapasową danych przed wprowadzeniem jakichkolwiek zmian. Dobrze by też było testować zmiany w środowisku, które nie jest produkcyjne, zanim coś popsujemy. Warto pamiętać, że niektóre operacje mogą wymagać zablokowania tabeli, co może skutkować tym, że użytkownicy nie będą mogli korzystać z systemu, więc trzeba to mieć na uwadze.

Pytanie 26

Aby film wyglądał płynnie, liczba klatek (które nie nakładają się na siebie) na sekundę powinna wynosić przynajmniej w przedziale

A. 31-36 fps
B. 20-23 fps
C. 24-30 fps
D. 16-19 fps
Odpowiedź 24-30 fps jest poprawna, ponieważ standardowy zakres klatek na sekundę dla filmów wynosi właśnie 24-30 fps. W praktyce, 24 fps jest uznawane za minimum dla filmów kinowych, co pozwala uzyskać wrażenie ruchu, które ludzie uznają za płynne. Przykładowo, filmy kręcone w tej klatkażu, takie jak klasyczne produkcje Hollywood, często korzystają z techniki zwanej 'motion blur', która dodatkowo poprawia wrażenie płynności. W przypadku telewizji, większa liczba klatek może być stosowana, co pozwala na lepszą jakość obrazu podczas szybkich ruchów, jednak 30 fps to standard dla wielu programów telewizyjnych. Ważne jest również zrozumienie, że zbyt niska liczba klatek, jak na przykład 16-19 fps, może prowadzić do efektu stroboskopowego, co jest nieprzyjemne dla widza. Normy branżowe, takie jak SMPTE (Society of Motion Picture and Television Engineers), potwierdzają, że liczba klatek między 24 a 30 fps jest odpowiednia do uzyskania zamierzonego efektu wizualnego w filmie.

Pytanie 27

Która definicja CSS wskazuje na formatowanie nagłówka h1: tekst z przekreśleniem, z odstępami między słowami wynoszącymi 10 px oraz w kolorze czerwonym?

Ilustracja do pytania
A. A
B. C
C. B
D. D
Odpowiedź A jest w porządku, bo dobrze odpowiada na to, co pytanie wymaga. Deklaracja 'text-decoration: overline;' dodaje linię nad tekstem, a nie pod nim. Właściwie to mega ważne, bo można łatwo pomylić nadkreślenie z podkreśleniem. Plus, 'word-spacing: 10px;' ustawia fajny odstęp między wyrazami, co sprawia, że nagłówki wyglądają lepiej i są bardziej czytelne. A jak ustawiłeś kolor tekstu na 'red', to wszystko jest super zgodne z tym, co miało być w zadaniu. Używanie takich definicji CSS to standard w tworzeniu stron, bo dobrze stylizowane nagłówki pomagają w organizacji treści i poprawiają wrażenia użytkowników. Pamiętaj, że sensowne i dobrze zdefiniowane style CSS to nie tylko wygoda, ale też ułatwiają późniejsze poprawki dla innych programistów.

Pytanie 28

Zdefiniowana jest tabela o nazwie wycieczki z atrybutami nazwa, cena oraz miejsca (jako liczba dostępnych miejsc). Aby wyświetlić jedynie nazwy tych wycieczek, dla których cena jest mniejsza niż 2000 złotych i które mają co najmniej cztery wolne miejsca, należy użyć zapytania

A. SELECT * FROM wycieczki WHERE cena<2000 AND miejsca>4;
B. SELECT nazwa FROM wycieczki WHERE cena<2000 AND miejsca>3;
C. SELECT nazwa FROM wycieczki WHERE cena<2000 OR miejsca>4;
D. SELECT * FROM wycieczki WHERE cena<2000 OR miejsca>3;
Zapytanie SQL, które pozwala na wyświetlenie nazw wycieczek, dla których cena jest niższa niż 2000 złotych i które mają przynajmniej cztery wolne miejsca, jest poprawnie sformułowane jako: SELECT nazwa FROM wycieczki WHERE cena<2000 AND miejsca>3. W tym zapytaniu używamy klauzuli SELECT, aby wskazać, że interesuje nas tylko kolumna 'nazwa'. Warunki zawarte w klauzuli WHERE filtrują wyniki na podstawie określonych kryteriów. Operator AND zapewnia, że oba warunki muszą być spełnione jednocześnie, co oznacza, że interesują nas tylko te wycieczki, które są tańsze niż 2000 zł i mają więcej niż 3 wolne miejsca. Technicznie rzecz biorąc, operator < jest używany do porównywania wartości, a operator > do określenia, że liczba miejsc musi być większa od 3. Przykładem działania tego zapytania może być sytuacja, w której w tabeli wycieczki znajdują się dane o takich wycieczkach jak: 'Wakacje w górach' (cena: 1800 zł, miejsca: 5) oraz 'Wczasy nad morzem' (cena: 2200 zł, miejsca: 2). W wyniku działania zapytania uzyskamy jedynie 'Wakacje w górach', ponieważ spełnia ono oba kryteria. Tego rodzaju zapytania są powszechnie stosowane w systemach baz danych, aby efektywnie przeszukiwać i filtryzować dane zgodnie z wymaganiami użytkownika.

Pytanie 29

Utworzono bazę danych z tabelą mieszkańcy, która zawiera pola: nazwisko, imię oraz miasto. Następnie przygotowano poniższe zapytanie do bazy:
SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Kraków';
Wskaż zapytanie, które zwróci takie same dane.

A. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';
B. SELECT nazwisko, imie FROM mieszkańcy AS 'Poznań' OR 'Kraków';
C. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto HAVING 'Poznań' OR 'Kraków';
D. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' OR miasto='Kraków';
Wybór odpowiedzi SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' OR miasto='Kraków' jest prawidłowy, ponieważ wykorzystuje operator logiczny OR, który umożliwia filtrowanie danych z tabeli mieszkańcy na podstawie wartości w polu miasto. To zapytanie zwraca wszystkich mieszkańców, którzy są z Poznania lub Krakowa, co odpowiada wymaganiom postawionym w pytaniu. Warto zauważyć, że taka konstrukcja jest efektywna, ponieważ nie używa złożonych zapytań ani nie tworzy zbiorów, które następnie muszą być łączone. Operator OR jest powszechnie stosowany w SQL do łączenia wielu warunków, co czyni go łatwym w użyciu. Dodatkowo, zgodnie z dobrymi praktykami baz danych, unikanie zbędnych operacji, jak UNION, gdy wystarczy proste OR, zwiększa wydajność i czytelność zapytań. Przykładowe zastosowanie tego zapytania może mieć miejsce w aplikacjach, które potrzebują zidentyfikować użytkowników z konkretnego regionu, co jest istotne w przypadku personalizacji treści lub promocji regionalnych.

Pytanie 30

Jaki jest domyślny port dla serwera HTTP?

A. 8080
B. 443
C. 21
D. 80
Port 80 to domyślny port dla protokołu HTTP (Hypertext Transfer Protocol), który jest najczęściej używany do przesyłania stron internetowych w sieci. Ten port jest zarezerwowany dla HTTP przez Internet Assigned Numbers Authority (IANA) i jest standardowo używany przez serwery WWW, aby umożliwić użytkownikom dostęp do stron internetowych bez konieczności podawania numeru portu w adresie URL. Gdy wpisujesz adres strony w przeglądarce, np. http://example.com, przeglądarka domyślnie łączy się z serwerem na porcie 80. W praktyce oznacza to, że serwery WWW zazwyczaj nasłuchują na tym porcie, aby odbierać i obsługiwać żądania HTTP od klientów, takich jak przeglądarki internetowe. Domyślne użycie portu 80 sprawia, że nie trzeba go podawać w adresie URL, co upraszcza korzystanie z sieci dla użytkowników końcowych. Z mojego doświadczenia, znajomość domyślnych portów jest kluczowa dla każdego administratora sieci i dewelopera aplikacji internetowych, ponieważ wpływa na sposób konfiguracji zarówno serwerów, jak i firewalli, a także pomaga w rozwiązywaniu problemów z łącznością.

Pytanie 31

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. sumy.
B. części wspólnej.
C. grupowania.
D. wykluczenia.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 32

W języku JavaScript poniższy fragment funkcji ma na celu

wynik = 0;
for (i = 0; i < tab.length; i++) {
  wynik += tab[i];
}
A. wprowadzić do każdego elementu tablicy bieżącą wartość zmiennej i
B. wyświetlić wszystkie elementy tablicy
C. dodać do każdego elementu tablicy ustaloną wartość
D. obliczyć sumę wszystkich elementów tablicy
Funkcja w podanym fragmencie rzeczywiście ma na celu policzenie sumy wszystkich elementów tablicy. Przy inicjalizacji zmiennej 'wynik' na 0, kod iteruje przez każdy element tablicy 'tab' przy użyciu pętli for. W każdej iteracji do 'wynik' dodawana jest wartość bieżącego elementu tablicy, co prowadzi do skumulowania wszystkich wartości. Tego typu operacje są powszechnie stosowane w programowaniu, szczególnie w analizie danych, gdzie często zachodzi potrzeba obliczenia sumy, średniej lub innych statystyk na podstawie zebranych danych. Ważne jest również, aby pamiętać o typach danych w JavaScript – elementy tablicy powinny być liczbami, aby suma była poprawna. Zastosowanie tej techniki jest standardem w wielu algorytmach i jest fundamentalne dla zrozumienia bardziej zaawansowanych koncepcji, jak np. funkcje redukujące.

Pytanie 33

Jaką relację typu uzyskuje się w wyniku powiązania kluczy głównych dwóch tabel?

A. wiele do wielu
B. wiele do jednego
C. jeden do wielu
D. jeden do jednego
Odpowiedź „jeden do jednego” jest poprawna, ponieważ relacja typu jeden do jednego oznacza, że każdy rekord w jednej tabeli jest powiązany z dokładnie jednym rekordem w drugiej tabeli. Tego rodzaju relacje są często wykorzystywane w sytuacjach, gdzie istnieje potrzeba rozdzielenia danych w celu zwiększenia organizacji lub wydajności, na przykład w przypadku wrażliwych informacji, które są przechowywane oddzielnie od podstawowych danych użytkowników. Praktycznym przykładem może być relacja między tabelą użytkowników a tabelą profili, gdzie każdy użytkownik ma dokładnie jeden profil. W dobrych praktykach projektowania baz danych, takie relacje są stosowane, aby zapewnić integralność danych oraz umożliwić skuteczne zarządzanie informacjami w systemach. Ponadto, stosowanie relacji jeden do jednego może pomóc w optymalizacji zapytań, ponieważ zminimalizowane jest ryzyko duplikacji danych, co przyczynia się do efektywniejszego przetwarzania operacji w bazach danych.

Pytanie 34

Obiekt bazy danych, którego głównym przeznaczeniem jest drukowanie lub wyświetlanie zestawień danych, to

A. makro.
B. raport.
C. formularz.
D. moduł.
Poprawna odpowiedź to „raport”, bo właśnie ten obiekt bazy danych jest przeznaczony typowo do estetycznego drukowania lub wyświetlania gotowych zestawień danych. W typowych systemach bazodanowych, takich jak Microsoft Access czy różne narzędzia klasy RAD, formularze służą głównie do wprowadzania i edycji danych, kwerendy do ich wyszukiwania i filtrowania, a raporty do prezentacji wyników w uporządkowanej, czytelnej formie. Raport ma własny projekt układu: nagłówki, stopki, grupowanie po polach (np. po kliencie, dacie, dziale), sumy częściowe i końcowe, numerację stron, a często także pola obliczeniowe. To jest dokładnie to, czego potrzebujemy, gdy chcemy przygotować np. wydruk faktur, miesięczne zestawienie sprzedaży, raport obecności pracowników albo raport kasowy do działu księgowości. Z mojego doświadczenia raport traktuje się jako końcowy produkt pracy z danymi – użytkownika końcowego zwykle nie interesują tabele czy relacje, tylko czy dostanie przejrzysty wydruk lub PDF, który można wysłać dalej. Dobre praktyki mówią, żeby w raportach nie upychać logiki biznesowej ani skomplikowanych obliczeń, tylko oprzeć je na dobrze przygotowanych kwerendach. Raport powinien być możliwie prosty, czytelny i stabilny – tak, żeby zmiana sposobu liczenia odbywała się w warstwie zapytań, a nie w każdym raporcie osobno. W narzędziach BI (np. Power BI, Tableau, ale też klasyczne Crystal Reports) idea jest podobna: raport to warstwa prezentacji, która korzysta z danych z bazy, modelu analitycznego albo widoków SQL. W praktyce w firmach raporty są podstawą podejmowania decyzji, więc poprawne zrozumienie ich roli w bazie danych jest naprawdę kluczowe.

Pytanie 35

Efekt AutoDuck w obróbce dźwięku jest stosowany do

A. eliminacji szumów pochodzących z dźwięków w tle.
B. ocieplenia głosu i dźwięków pochodzących z tła.
C. ściszenia dźwięku w tle, gdy pojawia się dźwięk pierwszoplanowy.
D. wyrównania głośności całej ścieżki dźwiękowej.
W obróbce dźwięku łatwo pomylić różne efekty, bo większość z nich w jakiś sposób wpływa na głośność lub charakter brzmienia. AutoDuck jednak ma bardzo konkretne zastosowanie: automatyczne ściszanie tła, gdy pojawia się dźwięk pierwszoplanowy, najczęściej głos. To nie jest efekt „upiększający” czy „naprawiający” brzmienie, tylko typowo użytkowy mechanizm sterowania poziomem głośności między dwoma ścieżkami. Częsty błąd myślowy polega na tym, że wszystko, co „robi coś z głośnością”, wrzuca się do jednego worka. Ocieplenie głosu kojarzy się raczej z korekcją barwy (equalizer – podbicie niskich i niższych średnich częstotliwości) albo z delikatną kompresją, ewentualnie z efektami typu saturacja czy emulacja lampowa. AutoDuck niczego nie „ociepla”, on tylko zmniejsza poziom innej ścieżki, reagując na sygnał pierwszoplanowy. Podobnie z wyrównywaniem głośności całej ścieżki – od tego są kompresory, limitery, normalizacja czy tzw. loudness matching zgodny z normami EBU R128 lub ITU-R BS.1770. Te narzędzia analizują lub przetwarzają pojedynczą ścieżkę, żeby jej poziom był bardziej równy w czasie. AutoDuck działa relacyjnie: jedna ścieżka kontroluje głośność drugiej. Jeśli chodzi o eliminację szumów, tym zajmują się zupełnie inne algorytmy: redukcja szumów, bramki szumów (noise gate), filtry dolno- lub górnoprzepustowe, narzędzia typu DeNoise. Szum się tam analizuje i usuwa lub tłumi, najczęściej w oparciu o profil szumu albo próg głośności. AutoDuck nie rozpoznaje szumu ani nie czyści nagrania, tylko mechanicznie ścisza tło, gdy pojawia się ważniejszy sygnał. W produkcji multimediów na strony WWW czy do e-learningu dobrą praktyką jest łączenie kilku technik: najpierw oczyszczenie głosu z szumów i ustawienie jego stałego poziomu kompresją, a dopiero potem zastosowanie duckingu na muzyce w tle. Dzięki temu materiał brzmi profesjonalnie, a słuchacz nie musi walczyć z niedosłyszalnym komentarzem przykrytym za głośną muzyką.

Pytanie 36

Instrukcja break w przedstawionym kodzie PHP sprawi, że

for($i = 1; $i <= 3; $i++) {
    for($j = 1; $j <= 3; $j++) {
        echo "Iteracja: ($i, $j)";
        if($i == 2 and $j == 2)
            break;
    }
}
A. iteracja (2, 2) zostanie przerwana i nastąpi po niej iteracja (2, 3).
B. działanie obu pętli zostanie zakończone po iteracji (2, 2).
C. wewnętrzna pętla dokończy działanie dla $j = 3, a następnie program zostanie przerwany.
D. działanie wewnętrznej pętli zostanie zakończone po iteracji (2, 2) i będzie kontynuowane dla $i = 3.
Niektóre z błędnych odpowiedzi sugerują, że instrukcja 'break' w PHP kończy wykonywanie wszystkich pętli czy też kończy działanie wewnętrznej pętli, ale dopiero po zakończeniu iteracji dla $j = 3. Te podejścia są nieprawidłowe z kilku powodów. Po pierwsze, instrukcja 'break' bez dodatkowego argumentu zawsze kończy najbliższą pętlę, nie wszystkie. Po drugie, 'break' natychmiast przerywa działanie pętli, nie czeka aż skończą się inne iteracje. Te błędne założenia mogą wynikać z niezrozumienia działania instrukcji 'break' i pętli w PHP. Pamiętaj, że instrukcje sterujące, takie jak 'break', są kluczowymi elementami języków programowania i ich prawidłowe zrozumienie jest niezbędne do efektywnego kodowania. W PHP, 'break' jest często używana do optymalizacji kodu, umożliwiając programiście zakończenie pętli, w momencie gdy dalsze iteracje nie wpłyną na wynik końcowy.

Pytanie 37

Prezentowany fragment dokumentu HTML z użyciem JavaScript spowoduje, że po naciśnięciu przycisku

<img src="obraz1.png">
<img src="obraz2.png" id="id1">
<button onclick="document.getElementById('id1').style.display='none'">Przycisk</button>
A. obraz2.png zostanie zniknięty
B. obraz2.png zostanie wymieniony przez obraz1.png
C. obraz1.png zostanie wymieniony przez obraz2.png
D. obraz1.png zostanie zniknięty
Odpowiedź jest poprawna, ponieważ przycisk w kodzie JavaScript powoduje, że po jego kliknięciu element HTML o identyfikatorze 'id1', który jest obrazem 'obraz2.png', zostanie ukryty. Wartość 'style.display' zmienia się na 'none', co jest standardowym sposobem na ukrycie elementu w dokumentach HTML. W praktyce takie podejście jest szeroko stosowane w interaktywnych aplikacjach webowych, aby poprawić doświadczenia użytkowników, umożliwiając im dynamiczne ukrywanie lub wyświetlanie treści w odpowiedzi na ich działania. Ukrywanie elementów zamiast ich usuwania z DOM ma swoje zalety, ponieważ umożliwia ich późniejsze przywrócenie, co jest bardziej efektywne w kontekście wydajności. Dobrym przykładem może być rozwijane menu na stronie, gdzie po kliknięciu na dany element, jego zawartość jest ukrywana lub pokazywana bez potrzeby przeładowywania całej strony.

Pytanie 38

Instrukcja ```REVOKE SELECT ON nazwa1 FROM nazwa2``` w SQL pozwala na

A. odbieranie przyznanych uprawnień użytkownikowi
B. przyznawanie dostępu do tabeli
C. przyznawanie uprawnień zgodnie z określonym schematem
D. usunięcie użytkownika z bazy danych
Polecenie REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL jest używane do odbierania uprawnień użytkownikowi, co jest kluczowym aspektem zarządzania bezpieczeństwem w bazach danych. Umożliwia to administratorom kontrolowanie dostępu do danych, co jest istotne w kontekście ochrony informacji oraz zgodności z regulacjami prawnymi. Przykładowo, jeśli użytkownik 'nazwa2' miał wcześniej przyznane uprawnienia do wykonywania zapytań SELECT na tabeli 'nazwa1', użycie polecenia REVOKE pozwoli na ich cofnięcie. W praktyce, administratorzy baz danych często stosują to polecenie, aby ograniczyć dostęp do wrażliwych informacji, na przykład po zakończeniu projektu, w którym dany użytkownik nie powinien już mieć dostępu do danych. Takie działania są zgodne z najlepszymi praktykami w zakresie zabezpieczeń, które zalecają minimalizowanie uprawnień użytkowników do tylko tych niezbędnych do wykonywania ich obowiązków. Dodatkowo, warto również stosować audyty dostępu, aby na bieżąco monitorować, które uprawnienia są przyznawane i odbierane, co pozwala na lepsze zarządzanie bezpieczeństwem systemu.

Pytanie 39

Jakie uprawnienia są wymagane do tworzenia i przywracania kopii zapasowej bazy danych Microsoft SQL Server 2005 Express?

A. Użytkownicy zabezpieczeń.
B. Użytkownicy.
C. Użytkownik lokalny.
D. Administrator systemu.
Aby wykonać i odtworzyć kopię zapasową bazy danych w Microsoft SQL Server 2005 Express, użytkownik musi posiadać uprawnienia administratora systemu. To oznacza, że ma on pełne prawo do zarządzania bazami danych, w tym do wykonywania operacji takich jak tworzenie kopii zapasowych oraz ich przywracanie. Administrator systemu może także konfigurować ustawienia serwera, zarządzać dostępem innych użytkowników oraz monitorować wydajność bazy danych. Przykładem praktycznym może być sytuacja, w której administrator wykonuje regularne kopie zapasowe, aby zabezpieczyć dane przed ich utratą spowodowaną awarią sprzętu lub błędami użytkowników. Warto również zauważyć, że zgodnie z najlepszymi praktykami IT, regularne tworzenie kopii zapasowych jest kluczowe dla zapewnienia bezpieczeństwa danych, a także zgodności z regulacjami prawnymi dotyczącymi ochrony danych. Uprawnienia te są zgodne z ogólnymi standardami zarządzania bazami danych, które podkreślają znaczenie odpowiednich ról użytkowników w kontekście bezpieczeństwa i integralności danych.

Pytanie 40

Na przedstawionym diagramie ER zapis FK1 oznacza

Ilustracja do pytania
A. relację 1:1.
B. klucz podstawowy.
C. relację 1:N.
D. klucz obcy.
Na diagramach ER oznaczenia typu FK1 zwykle odnoszą się do kluczy obcych, a nie do samej relacji ani do kluczy podstawowych. Łatwo się tu pomylić, bo obok tego symbolu widać też graficzne oznaczenie relacji 1:N między tabelami Klienci i Zamówienia, więc część osób automatycznie kojarzy podpis z typem połączenia. Tymczasem relacja 1:1 czy 1:N jest przedstawiana linią i odpowiednimi znacznikami przy końcach (kreska, „gałązki”, kółko), natomiast skróty PK i FK pojawiają się wewnątrz tabel i opisują role konkretnych kolumn. PK to primary key, czyli klucz podstawowy – unikalny identyfikator w danej tabeli. Na diagramie widać go przy NR_klienta w tabeli Klienci oraz przy ID_Zamówienia w tabeli Zamówienia. Oznaczenie FK1 przy NR_klienta w tabeli Zamówienia nie może więc oznaczać kolejnego klucza podstawowego ani samej relacji, tylko właśnie klucz obcy, który wskazuje na PK w innej tabeli. Częsty błąd polega na mieszaniu pojęć „relacja 1:N” z „kluczem obcym”. Relacja 1:N jest pojęciem konceptualnym: mówi, że jeden klient może mieć wiele zamówień. Klucz obcy to implementacja tej relacji w fizycznym modelu bazy: konkretna kolumna, która przechowuje wartość klucza podstawowego z drugiej tabeli. Innymi słowy, FK jest narzędziem, a 1:N opisem zależności. Kiedy ktoś interpretuje FK1 jako relację 1:1 albo 1:N, miesza warstwę symboliki linii z opisem kolumn. Dobra praktyka w projektowaniu baz danych i w narzędziach CASE jest taka, że PK i FK stoją zawsze przy nazwach atrybutów, a typ relacji rozczytujemy z grafiki między encjami, nie z tych skrótów. Zrozumienie tej różnicy jest kluczowe, bo potem w SQL dokładnie tak samo rozdzielamy definicję struktury tabel (PRIMARY KEY, FOREIGN KEY) od logicznej interpretacji, ile rekordów może być po każdej stronie relacji.