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: 8 czerwca 2026 10:44
  • Data zakończenia: 8 czerwca 2026 11:06

Egzamin zdany!

Wynik: 35/40 punktów (87,5%)

Wymagane minimum: 20 punktów (50%)

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

Do przechowywania jakich wartości przeznaczony jest typ DECIMAL?

A. liczb rzeczywistych zmiennoprzecinkowych
B. danych tekstowych o określonej długości
C. liczb rzeczywistych stałoprzecinkowych
D. liczb zapisanych w systemie binarnym
Typ DECIMAL przechowuje liczby rzeczywiste STAŁOPRZECINKOWE - z dokładną liczbą miejsc po przecinku, bez zaokrągleń typowych dla typów zmiennoprzecinkowych. Dlatego stosuje się go np. do kwot pieniężnych. Dlatego DECIMAL przechowuje liczby stałoprzecinkowe.

Pytanie 2

Który z podanych jest plikiem konfiguracyjnym serwera Apache?

A.
htaccess.cnf
B.
configuration.php
C.
.configuration
D.
.htaccess
Pozostałe nazwy nie są plikami konfiguracyjnymi Apache. htaccess.cnf tylko przypomina .htaccess, ale takiego pliku Apache nie używa. .configuration to wymyślona nazwa bez związku z serwerem. configuration.php to zwykły skrypt PHP - mógłby przechowywać ustawienia jakiejś aplikacji, lecz nie konfiguruje samego serwera Apache. Realnym plikiem konfiguracyjnym Apache (na poziomie katalogu) jest .htaccess, dlatego to on jest poprawny.

Pytanie 3

Aby zobaczyć wyniki działania skryptu PHP będącego elementem strony WWW, musi on zostać:

A. zinterpretowany po stronie klienta
B. zinterpretowany po stronie serwera
C. skompilowany po stronie klienta
D. skompilowany po stronie serwera
PHP to język skryptowy interpretowany po stronie serwera. Gdy przeglądarka żąda strony, serwer uruchamia interpreter PHP, który wykonuje kod, a do klienta wysyła już sam wynik - zwykle gotowy HTML. Dzięki temu kod źródłowy PHP nigdy nie trafia do przeglądarki. Dlatego skrypt musi być zinterpretowany po stronie serwera.

Pytanie 4

Deklaracja w języku JavaScript var x = true; powoduje, że zmienna x jest typu:

A. liczbowego
B. wyliczeniowego
C. logicznego
D. ciągu znaków
Przypisanie var x = true; sprawia, że zmienna x jest typu LOGICZNEGO (boolean) - może przyjmować jedną z dwóch wartości: true lub false. Takich zmiennych używa się w warunkach. Dlatego x jest typu logicznego.

Pytanie 5

W językach programowania strukturalnego do przechowywania danych o 50 uczniach (ich imionach, nazwiskach, średniej ocen) należy zastosować

A. tablicę 50 elementów o składowych strukturalnych.
B. strukturę 50 elementów o składowych tablicowych.
C. tablicę 50 elementów o składowych typu łańcuchowego.
D. klasę 50 elementów typu tablicowego.
Odpowiedź wskazująca na użycie tablicy 50 elementów o składowych strukturalnych jest poprawna z kilku powodów. Po pierwsze, struktury (lub klasy) są idealnym rozwiązaniem do przechowywania złożonych danych, takich jak imiona, nazwiska i średnie oceny uczniów. Struktura pozwala na grupowanie tych składowych w jedną jednostkę, co zwiększa czytelność i organizację kodu. Na przykład, w języku C można zdefiniować strukturę 'Uczeń' z odpowiednimi polami, a następnie stworzyć tablicę, która pomieści 50 takich obiektów. W praktyce, struktury są szeroko stosowane w programowaniu, gdyż umożliwiają łatwe przekazywanie grup danych jako jednego obiektu, co jest zgodne z zasadami programowania obiektowego. Dodatkowo, korzystanie z tablicy struktur zamiast oddzielnych tablic dla każdego atrybutu ucznia minimalizuje ryzyko błędów związanych z synchronizacją danych i ułatwia manipulację danymi. W standardach programowania, szczególnie w kontekście zarządzania danymi, takie podejście jest uznawane za najlepszą praktykę, gdyż pozwala na spójną reprezentację oraz operowanie na danych.

Pytanie 6

Mamy do czynienia z tablicą o nazwie tab, która zawiera liczby całkowite różniące się od zera. Zawarty w języku PHP kod ma na celu:

foreach ($tab as &$liczba)
    $liczba = $liczba * (-1);
unset($liczba);
A. przekształcić elementy tablicy na wartości zapisane w zmiennej liczba
B. wyliczenie iloczynu wszystkich wartości w tablicy
C. obliczyć wartość bezwzględną elementów tej tablicy
D. zmienić wszystkie elementy tablicy na liczby o przeciwnym znaku
Odpowiedź jest prawidłowa, ponieważ przedstawiony kod w języku PHP używa pętli foreach do iteracji po tablicy o nazwie tab. Dzięki zastosowaniu operatora & przed nazwą zmiennej $liczba, zmienna ta jest przekazywana przez referencję. Oznacza to, że każda modyfikacja dokonywana na zmiennej $liczba wpływa bezpośrednio na odpowiedni element tablicy. Wewnątrz pętli każda liczba w tablicy jest mnożona przez -1, co skutkuje zmianą jej znaku na przeciwny. W praktyce taka operacja jest powszechnie stosowana, gdy istnieje potrzeba szybkiej zmiany wszystkich wartości w strukturze danych na ich negatywne odpowiedniki, na przykład w algorytmach matematycznych lub finansowych. Istotnym aspektem jest również unikanie modyfikacji oryginalnych danych, co jest kluczowe w procesie przetwarzania danych. Po zakończeniu pętli unset($liczba) usuwa referencję, aby uniknąć niepożądanych efektów ubocznych. Takie podejście jest zgodne z dobrymi praktykami programowania, które kładą nacisk na zarządzanie pamięcią i poprawność danych.

Pytanie 7

Którą wartość atrybutu name znacznika <meta> wykorzystuje się do kontrolowania obszaru widzialnego na różnych urządzeniach, na których jest wyświetlana strona internetowa?

A. keywords
B. generator
C. description
D. viewport
Poprawnie wskazana została wartość „viewport”. W praktyce właśnie meta name="viewport" służy do kontrolowania tzw. obszaru widzialnego (ang. viewport) na urządzeniach mobilnych i desktopowych. Przeglądarka mobilna domyślnie zakłada szeroką stronę i sztucznie ją pomniejsza, żeby „zmieściła się” na ekranie telefonu. Dopiero meta viewport mówi jej: potraktuj szerokość ekranu urządzenia jako bazową szerokość strony.
Najczęściej spotykana, zgodna z dobrymi praktykami konstrukcja to: <meta name="viewport" content="width=device-width, initial-scale=1.0">. Parametr width=device-width ustawia szerokość obszaru widzialnego na szerokość ekranu urządzenia, a initial-scale=1.0 definiuje początkowe powiększenie. Dzięki temu layout responsywny oparty na media queries w CSS działa poprawnie, bez dziwnych przeskalowań i zbyt małej czcionki.
W nowoczesnym front-endzie przyjmuje się, że każda strona, która ma być używalna na telefonach, tabletach i laptopach, powinna mieć prawidłowo ustawiony meta viewport. Moim zdaniem to jest absolutna podstawa RWD, zaraz obok poprawnego użycia jednostek względnych (np. %, vw, em) i zaprojektowania siatki w CSS. Warto też pamiętać, żeby nie przesadzać z blokowaniem powiększania (np. user-scalable=no), bo to pogarsza dostępność strony dla osób słabiej widzących i jest uznawane za złą praktykę. Podsumowując: jeśli chcesz mieć stronę, która naprawdę „żyje” na różnych ekranach, meta name="viewport" to obowiązkowy element w sekcji <head>.

Pytanie 8

Poziom izolacji transakcji Repeatable Read (tryb powtarzalnego odczytu) używany przez MS SQL jest związany z problemem

A. niepowtarzalnych odczytów
B. utraty aktualizacji
C. brudnych odczytów
D. odczytów widm
Odpowiedź 'odczytów widm' jest właściwa, ponieważ poziom izolacji transakcji Repeatable Read zapobiega brudnym odczytom i niepowtarzalnym odczytom, ale nie rozwiązuje problemu odczytów widm. Odczyty widmowe występują, gdy w czasie trwania transakcji inne transakcje mogą dodać nowe wiersze, które spełniają kryteria zapytania tej transakcji, co prowadzi do sytuacji, w której transakcja widzi różne dane w kolejnych odczytach. W praktyce, implementując poziom izolacji Repeatable Read, aplikacje muszą być świadome tego, że mogą wystąpić takie sytuacje, co może prowadzić do nieprzewidywalnych wyników. Przykładowo, jeśli jedna transakcja odczytuje zestaw danych, a inna transakcja w międzyczasie dodaje nowe rekordy, to podczas kolejnego odczytu pierwsza transakcja może zobaczyć te nowe rekordy, co jest problemem. Z tego powodu standardy i dobre praktyki w projektowaniu aplikacji bazodanowych zalecają używanie bardziej ścisłych poziomów izolacji, takich jak Serializable, kiedy to konieczne, aby uniknąć takich problemów. Warto zwrócić uwagę, że stosowanie odpowiednich poziomów izolacji jest kluczowe dla zapewnienia spójności i integralności danych, co jest niezbędne w większości nowoczesnych aplikacji bazodanowych.

Pytanie 9

Która z list jest interpretacją podanego kodu?

Ilustracja do pytania
A. Rys. D
B. Rys. A
C. Rys. B
D. Rys. C
Kod HTML zawiera uporządkowaną listę ol z dwoma głównymi elementami muzyka i filmy Każdy z tych elementów ma zagnieżdżoną listę nieuporządkowaną ul z odpowiednimi wpisami W HTML użycie listy ol oznacza że elementy główne będą numerowane Kolejność elementów w kodzie muzyka a następnie filmy jest zgodna z ilustracją C gdzie każdy element nadrzędny zawiera swoją własną zagnieżdżoną listę nieuporządkowaną ul Prawidłowe zagnieżdżanie list jest kluczowe dla struktury semantycznej dokumentu HTML co ma znaczenie dla SEO i dostępności Dobrym przykładem praktyki jest używanie odpowiednich znaczników aby zachować logiczną hierarchię Użycie ol i ul w odpowiednich miejscach pozwala na lepsze zrozumienie i interpretację treści przez przeglądarki i czytniki ekranowe Zapewnienie poprawnej struktury list pomaga również w utrzymaniu porządku w kodzie i lepszym zarządzaniu stylem za pomocą CSS

Pytanie 10

Funkcji session_start() w PHP należy używać podczas realizacji

A. ładowania danych z zewnętrznych plików
B. wielostronicowej strony internetowej, która wymaga dostępu do danych przy przechodzeniu między stronami
C. przetwarzania formularzy
D. każdej strony, która wykorzystuje ciasteczka
Funkcja session_start() jest kluczowym elementem zarządzania sesjami w PHP, co jest niezbędne w kontekście wielostronicowych witryn internetowych. Jej głównym zadaniem jest inicjalizacja sesji, która pozwala na przechowywanie i udostępnianie danych użytkownika pomiędzy różnymi stronami serwisu. Gdy wywołasz session_start(), PHP sprawdza, czy istnieje już aktywna sesja. Jeśli tak, został załadowany odpowiedni identyfikator sesji, co umożliwia dostęp do danych przechowywanych w superglobalnej tablicy $_SESSION. Przykładami zastosowania mogą być koszyki zakupowe, gdzie użytkownik dodaje produkty na różnych stronach, a dane o tych produktach muszą być zachowane i dostępne na każdej z nich. Dobre praktyki zalecają, aby session_start() było wywoływane na początku skryptu, przed jakimkolwiek wyjściem na ekran, aby uniknąć problemów z nagłówkami HTTP. Ponadto, zarządzanie sesjami powinno być realizowane z uwzględnieniem bezpieczeństwa, np. poprzez regenerację identyfikatorów sesji po zalogowaniu oraz zabezpieczenie przed atakami CSRF.

Pytanie 11

Rekord w bazie danych jest jednoznacznie identyfikowany przez pole:

A. numeryczne
B. relacji
C. klucza podstawowego
D. klucza obcego
Rekord w bazie jednoznacznie identyfikuje pole klucza PODSTAWOWEGO (głównego) - jego wartości są unikalne i niepuste. Dlatego identyfikuje go klucz podstawowy.

Pytanie 12

Jakie polecenie pozwala na zwiększenie wartości o jeden w kolumnie RokStudiów w tabeli Studenci dla uczniów, którzy są na roku 1÷4?

A. UPDATE Studenci SET RokStudiow = RokStudiow+1 WHERE RokStudiow < 5
B. UPDATE Studenci, RokStudiow+1 WHERE RokStudiow < 5
C. UPDATE RokStudiow SET RokStudiow++ WHERE RokStudiow < 5
D. UPDATE Studenci SET RokStudiow WHERE RokStudiow < 5
Odpowiedź 'UPDATE Studenci SET RokStudiow = RokStudiow+1 WHERE RokStudiow < 5;' jest prawidłowa, ponieważ poprawnie wykorzystuje składnię SQL do aktualizacji wartości w tabeli. W tym przypadku, polecenie zmienia wartość kolumny RokStudiow o jeden dla wszystkich studentów, którzy mają przypisany rok studiów mniejszy niż 5. Użycie 'SET RokStudiow = RokStudiow+1' jest zgodne z zasadą aktualizacji danych, gdzie przypisanie nowej wartości korzysta z obecnej wartości i modyfikuje ją. W praktyce, takie operacje są niezbędne w systemach zarządzania bazami danych, zwłaszcza w kontekście obliczeń związanych z postępem akademickim studentów, a przestrzeganie standardów SQL pomaga w utrzymaniu spójności i integralności danych. Dobrą praktyką jest również wykonanie operacji aktualizacji w sposób, który minimalizuje ryzyko utraty danych oraz zwiększa efektywność zapytań, co jest istotne w dużych bazach danych.

Pytanie 13

Funkcja przedstawiona w kodzie JavaScript ma na celu

Ilustracja do pytania
A. zwrócić iloczyn kolejnych liczb od 1 do a
B. pokazać wynik mnożenia a przez n
C. wyświetlić kolejne liczby od a do n
D. zwrócić wynik potęgowania an
Wśród przedstawionych odpowiedzi, niektóre mogą wydawać się kuszące, ale są niepoprawne z powodu złego zrozumienia działania pętli for i operacji arytmetycznych w JavaScript. Opcja, że funkcja miałaby wypisać kolejne liczby od a do n, jest błędna. Kod nie zawiera żadnej instrukcji wyświetlania czy logowania, a jedynie operacje arytmetyczne i zwracanie wyniku. Podobnie, wypisywanie wyniku mnożenia a przez n jest niepoprawne, gdyż funkcja nie wykonuje jednokrotnego mnożenia a i n. Zamiast tego, wykonuje wielokrotne mnożenie a, co jest typowe dla operacji potęgowania. W końcu, mylne byłoby sądzenie, że funkcja oblicza iloczyn kolejnych liczb od 1 do a. Taki proces wymagałby zagnieżdżonej logiki, iteracji po zmiennej innej niż a, co nie jest obecne w danym kodzie. Błędne odpowiedzi mogą wynikać z niepełnego zrozumienia jak działa pętla for lub jak przypisuje się wartości w operacjach iteracyjnych. Kluczową umiejętnością jest umiejętność odczytywania i interpretowania kodu w kontekście wykonywanych operacji, co wymaga doświadczenia w pracy z językiem programowania i jego strukturami kontrolnymi.

Pytanie 14

 SELECT model FROM samochody WHERE rocznik > 2017 AND marka = "opel"; 

Tabela samochody zawiera rekordy przedstawione na obrazie. Wydając przedstawione zapytanie SQL zostaną zwrócone dane:
idklasa_idmarkamodelrocznik
11fordka2017
22seattoledo2016
33opelzafira2018
42fiat500X2018
53opelinsignia2017
A. opel zafira
B. zafira; insignia
C. opel zafira; opel insignia
D. zafira
Gratulacje, twoja odpowiedź jest poprawna. Zapytanie SQL 'SELECT model FROM samochody WHERE rocznik > 2017 AND marka = 'opel';' ma na celu wyświetlenie modelu samochodu marki 'opel' z roku produkcji późniejszego niż 2017. Analizując dostępną tabelę, możemy zauważyć, że tylko model 'zafira' spełnia oba kryteria. W tym przypadku wykorzystaliśmy dwa kluczowe elementy języka SQL, tj. instrukcję SELECT i klauzulę WHERE. Instrukcja SELECT służy do zapytań o konkretne dane z bazy, a klauzula WHERE to powszechnie stosowane narzędzie do filtrowania wyników zapytania według określonych kryteriów. Jest to bardzo praktyczny aspekt SQL, który pozwala na wydobywanie tylko tych danych, które są potrzebne, co jest niezwykle przydatne przy dużych bazach danych.

Pytanie 15

Czym autoryzuje się załatwianie spraw urzędowych przez internet?

A. numerem NIP
B. profilem zaufanym
C. imieniem i nazwiskiem
D. serią i numerem dowodu osobistego
Sprawy urzędowe przez internet (np. na platformie ePUAP, mObywatel) autoryzuje się PROFILEM ZAUFANYM - bezpłatnym, potwierdzonym narzędziem tożsamości, które pełni rolę „podpisu” online. Dzięki niemu urząd ma pewność, kto składa wniosek. Zapamiętaj: profil zaufany = elektroniczne potwierdzenie tożsamości w e-administracji.

Pytanie 16

Która funkcja PHP służy do ZAPISYWANIA danych do pliku?

A.
freadfile()
B.
fputs()
C.
fgets()
D.
fopen()
Funkcja fputs() zapisuje dane do otwartego pliku (to alias fwrite()). Dlatego do zapisu do pliku służy fputs().

Pytanie 17

W MS SQL Server rola predefiniowana o nazwie dbcreator umożliwia użytkownikowi

A. zarządzanie bezpieczeństwem systemu
B. tworzenie, modyfikowanie, usuwanie oraz przywracanie bazy danych
C. zarządzanie plikami na dysku
D. wykonywanie wszelkich operacji na serwerze i posiadanie praw do każdej bazy
Wybór niewłaściwej odpowiedzi jest powszechnym błędem związanym z myleniem ról i uprawnień w MS SQL Server. Na przykład, stwierdzenie, że rola dbcreator pozwala na zarządzanie bezpieczeństwem systemu, jest nieprawidłowe, ponieważ bezpieczeństwo bazy danych i systemu zarządzania bazami danych w SQL Server podlega głównie roli sysadmin oraz uprawnieniom przyznanym przez administratorów. Rola dbcreator koncentruje się na operacjach dotyczących baz danych, a nie na bezpieczeństwie. Podobnie, stwierdzenie, że ta rola umożliwia zarządzanie plikami na dysku, jest błędne; te operacje są związane z rolą, która zarządza systemowymi operacjami plików, a nie bezpośrednio z rolą dbcreator. Natomiast twierdzenie, że rola ta pozwala na wykonywanie każdej operacji na serwerze i posiadanie prawa własności każdej bazy, jest całkowicie mylące, ponieważ taka szeroka moc jest zarezerwowana dla roli sysadmin, która nie ma ograniczeń w działaniach na serwerze SQL. Zrozumienie tych różnic jest niezbędne dla prawidłowego zarządzania uprawnieniami w systemach bazodanowych i może pomóc w uniknięciu kompromitacji danych czy nieautoryzowanego dostępu do krytycznych informacji. W przypadku nadawania uprawnień zawsze należy kierować się zasadą minimalnych uprawnień, aby zredukować ryzyko związane z nieautoryzowanym dostępem i zmianami. Zachowanie spójności w przydzielaniu ról i uprawnień jest kluczowe dla bezpieczeństwa i prawidłowego funkcjonowania systemów bazodanowych.

Pytanie 18

Która kwerenda wybierze z tabeli Uczniowie tylko osoby o imieniu „Aleksandra” urodzone PO 1998 roku?

A.
SELECT * FROM Uczniowie WHERE imie = "Aleksandra" OR rok_urodzenia > "1998";
B.
SELECT * FROM Uczniowie WHERE imie = "Aleksandra" OR rok_urodzenia < "1998";
C.
SELECT * FROM Uczniowie WHERE imie = "Aleksandra" AND rok_urodzenia > "1998";
D.
SELECT * FROM Uczniowie WHERE imie = "Aleksandra" AND rok_urodzenia < "1998";
Zadanie stawia dwa warunki, które muszą być spełnione JEDNOCZEŚNIE: imię „Aleksandra” oraz urodzenie po 1998 - takie połączenie zapewnia operator AND, a „po roku” to rok_urodzenia > "1998". Daje to SELECT * FROM Uczniowie WHERE imie = "Aleksandra" AND rok_urodzenia > "1998";. Dlatego ta kwerenda jest poprawna.

Pytanie 19

<?php  
$pi = 3.14;
var_dump($pi);
?>
Jakie będzie wyjście po wykonaniu przedstawionego kodu PHP?
A. int(314)
B. string(3)
C. float(3.14)
D. object(3.14)
Odpowiedź 'float(3.14)' jest poprawna, ponieważ w kodzie PHP zmienna \$pi została zainicjalizowana jako liczba zmiennoprzecinkowa z wartością 3.14. Funkcja var_dump() służy do wyświetlania typu oraz wartości zmiennej, a w przypadku liczby zmiennoprzecinkowej wynik będzie wskazywał na typ float. Warto zauważyć, że PHP automatycznie rozpoznaje typy zmiennych, a liczby zmiennoprzecinkowe są powszechnie używane w obliczeniach wymagających precyzji, takich jak matematyka finansowa czy fizyka. W kontekście programowania w PHP, dobrym zwyczajem jest korzystanie z funkcji var_dump() podczas debugowania kodu, aby mieć jasny obraz typów danych i ich wartości w danym momencie. W praktyce, dobrze jest również implementować typowanie w PHP 7 i nowszych, co umożliwia lepszą kontrolę nad typami zmiennych, co z kolei prowadzi do bardziej stabilnego i czytelnego kodu. Warto także zwrócić uwagę na zasadę, że odpowiednie typy danych są kluczowe dla wydajności i niezawodności aplikacji, co czyni tę wiedzę szczególnie istotną dla każdego programisty."

Pytanie 20

Jaką właściwość CSS należy zastosować, aby ustawić wewnętrzne marginesy dla danego elementu?

A. padding
B. margin
C. hight
D. width
Właściwość CSS, którą należy zastosować do definiowania marginesów wewnętrznych elementu, to padding. Padding określa przestrzeń wewnętrzną między zawartością elementu a jego granicami. Przy pomocy paddingu możemy dostosować, jak dużo przestrzeni chcemy mieć wokół tekstu, obrazów czy innych elementów wewnątrz danego kontenera. Na przykład, zastosowanie padding: 20px; w CSS sprawi, że wewnętrzny margines będzie wynosił 20 pikseli od wszystkich stron wokół zawartości. Na poziomie praktycznym, padding jest niezwykle użyteczny w projektowaniu responsywnych interfejsów użytkownika, ponieważ pozwala na lepsze dostosowanie elementów do różnych rozmiarów ekranów. Dobrą praktyką jest używanie paddingu w połączeniu z innymi właściwościami, takimi jak margin, aby uzyskać pełną kontrolę nad położeniem i rozkładem elementów na stronie. Warto także pamiętać, że w CSS możemy ustalać padding oddzielnie dla górnej, prawej, dolnej i lewej strony, co daje jeszcze większą elastyczność w projektowaniu.

Pytanie 21

<?php
$dane = fread(fopen("plik.txt", "r"), filesize("plik.txt"));
?>
Przedstawiony kod zapisany w języku PHP ma za zadanie
A. zmiennej dane przypisać wielkość pliku plik.txt
B. zapisać do pliku plik.txt wartość zmiennej dane
C. zmiennej dane przypisać zawartość pliku plik.txt
D. otworzyć plik plik.txt i jako wartość zmiennej dane przypisać rozmiar pliku
W tym fragmencie kodu PHP wykonywana jest bardzo klasyczna operacja: odczyt całej zawartości pliku tekstowego do zmiennej. Funkcja fopen("plik.txt", "r") otwiera plik w trybie tylko do odczytu (read). Zwraca tzw. uchwyt do pliku, czyli zasób, którego potem używa fread. Następnie filesize("plik.txt") zwraca rozmiar pliku w bajtach. Ten rozmiar jest przekazywany jako drugi argument do fread, więc fread odczytuje dokładnie tyle bajtów z otwartego pliku i zwraca je jako ciąg znaków (string). Wynik trafia do zmiennej $dane. Czyli po wykonaniu tego skryptu w $dane znajduje się pełna zawartość pliku plik.txt. To dokładnie odpowiada treści poprawnej odpowiedzi: zmiennej dane przypisać zawartość pliku plik.txt.
Z praktycznego punktu widzenia taki kod przydaje się, gdy chcemy np. przetworzyć plik tekstowy w pamięci: wyszukać w nim jakieś frazy, podmienić tekst, wygenerować podgląd, przesłać jego zawartość dalej przez sieć HTTP itd. W realnych projektach, zwłaszcza przy większych plikach, częściej stosuje się odczyt w kawałkach (pętlą), żeby nie ładować całego pliku naraz do pamięci, ale przy małych plikach podejście z fread + filesize jest jak najbardziej poprawne.
Moim zdaniem warto też wiedzieć, że w nowszym PHP w prostszych przypadkach wygodniej użyć funkcji file_get_contents("plik.txt"), która robi praktycznie to samo, tylko krócej i czytelniej. Natomiast rozumienie mechanizmu fopen/fread jest ważne, bo to jest fundament pracy z plikami: otwarcie, odczyt/zapis, zamknięcie. Dobrą praktyką jest również domykanie uchwytu funkcją fclose, choć w tym przykładzie jej nie ma. W środowiskach produkcyjnych dodaje się jeszcze obsługę błędów (sprawdzanie, czy fopen się udało, czy plik istnieje, czy mamy uprawnienia). Mimo to, z punktu widzenia logiki pytania, sedno jest jedno: ten kod odczytuje zawartość pliku i przypisuje ją do zmiennej $dane.

Pytanie 22

Na zakończenie dnia w bazie danych sklepu spożywczego generowany jest raport, który pokazuje produkty wraz z ich dostawcami, dla których liczba sztuk w magazynie jest poniżej 10. Do stworzenia tego raportu użyto kwerendy

A. UPDATE
B. INSERT INTO
C. SELECT
D. CHECK TABLE
W kontekście bazy danych, kwerenda SELECT jest podstawowym narzędziem do pobierania danych. W przypadku raportu, który ma wyświetlić produkty z dostawcami, dla których stan magazynowy jest mniejszy niż 10 sztuk, SELECT jest jedyną odpowiednią instrukcją SQL do realizacji takiego zadania. Używając SELECT, można określić, które kolumny z tabeli mają być wyświetlane oraz zastosować filtry, aby ograniczyć wyniki tylko do tych, które spełniają określone warunki. Na przykład, przykładowa kwerenda mogłaby wyglądać tak: SELECT product_name, supplier_name FROM products WHERE stock < 10; Taka instrukcja przeszuka tabelę 'products' i wyświetli jedynie te produkty, które mają niski stan magazynowy. SELECT jest zgodny z normami SQL i pozwala na wykorzystanie różnych funkcji agregujących oraz operacji łączenia danych, co czyni go niezwykle wszechstronnym narzędziem w zarządzaniu bazami danych. Dzięki umiejętnemu zastosowaniu SELECT, można nie tylko generować raporty, ale także wspierać procesy decyzyjne w zarządzaniu zapasami.

Pytanie 23

Konstrukcja w języku SQL ALTER TABLE USA... służy do

A. zmiany tabeli USA
B. nadpisania istniejącej tabeli USA
C. usunięcia tabeli USA
D. stworzenia nowej tabeli USA
Polecenie SQL ALTER TABLE jest używane do modyfikacji istniejącej tabeli w bazie danych. W kontekście odpowiedzi na to pytanie, modyfikacja tabeli USA może obejmować różne operacje, takie jak dodawanie nowych kolumn, modyfikowanie istniejących kolumn, usuwanie kolumn lub zmiana typu danych kolumn. Przykładowo, jeśli chcemy dodać kolumnę z datą utworzenia rekordu, moglibyśmy użyć polecenia ALTER TABLE USA ADD COLUMN created_at DATE. Ważne jest, aby pamiętać, że ALTER TABLE nie tworzy nowej tabeli, ani jej nie usuwa, co jest kluczowe dla zrozumienia jego funkcji. Dobre praktyki przy użyciu ALTER TABLE obejmują wykonanie kopii zapasowej bazy danych przed wprowadzeniem zmian, aby uniknąć utraty danych, a także rozważenie wpływu wprowadzanych zmian na już istniejące dane oraz indeksy. Ponadto, każda operacja ALTER TABLE może wymagać zablokowania tabeli, co wpływa na dostępność bazy danych podczas modyfikacji.

Pytanie 24

Jaki mechanizm kontroli bezpieczeństwa uruchamiania aplikacji zawiera środowisko .NET Framework?

A. realizowany przez funkcje Windows API
B. przeznaczony wyłącznie dla bibliotek klas
C. oparty na uprawnieniach kodu (CAS - Code Access Security) i na rolach (RBS - Role-Based Security)
D. realizowany przez frameworki aplikacji webowych (ASP.NET)
.NET Framework ma wbudowany model kontroli bezpieczeństwa uruchamianego kodu oparty na dwóch filarach: CAS (Code Access Security) przyznaje uprawnienia w zależności od POCHODZENIA i zaufania kodu (np. kod z sieci ma mniej praw niż lokalny), a RBS (Role-Based Security) decyduje o dostępie na podstawie ROLI i tożsamości użytkownika. Razem ograniczają, co dany kod i użytkownik mogą zrobić. Zapamiętaj: CAS = prawa kodu, RBS = prawa wg roli użytkownika.

Pytanie 25

DELETE FROM Pracownicy ORDER BY rok_urodzenia LIMIT 1;
W wyniku wykonania powyższego zapytania SQL zostanie:
A. usunięta tabela Pracownicy.
B. usunięty rekord z danymi pracownika, który miał wpisaną datę urodzenia.
C. usunięta kolumna rok_urodzenia z tabeli Pracownicy.
D. usunięty rekord najstarszego pracownika.
Poprawnie – to polecenie SQL usuwa dokładnie jeden rekord, i to taki, który odpowiada najstarszemu pracownikowi w tabeli. Kluczowe są tu dwie rzeczy: klauzula ORDER BY oraz LIMIT 1. Najpierw baza danych sortuje wiersze z tabeli Pracownicy po kolumnie rok_urodzenia rosnąco, czyli od najstarszego do najmłodszego (mniejszy rok urodzenia = starsza osoba). Dopiero na tak posortowanym zbiorze polecenie DELETE z LIMIT 1 usuwa pierwszy rekord z góry, czyli właśnie najstarszego pracownika.
Warto zauważyć, że taka składnia (DELETE ... ORDER BY ... LIMIT ...) jest charakterystyczna m.in. dla MySQL i MariaDB. W standardowym SQL nie zawsze można użyć ORDER BY bezpośrednio w DELETE, ale w praktyce, w aplikacjach webowych, bardzo często pracuje się właśnie na tych silnikach, więc to rozwiązanie jest jak najbardziej realne. W innych systemach (np. PostgreSQL) podobny efekt robi się przez podzapytanie lub CTE.
Moim zdaniem to jest bardzo przydatny wzorzec, gdy chcemy usuwać „najstarsze” lub „najmłodsze” rekordy, np. najstarszy log systemowy, najstarsze zamówienie w statusie roboczym, najstarszy wpis w kolejce zadań. Ważna dobra praktyka: takie operacje powinny opierać się na jednoznacznym kryterium sortowania (np. rok_urodzenia + id), żeby uniknąć sytuacji, że przy tych samych wartościach pola baza wybierze losowo któryś rekord. W projektach produkcyjnych często dodaje się dodatkową kolumnę typu data_utworzenia albo używa klucza głównego w ORDER BY, żeby zachować deterministyczne zachowanie.
Zwróć też uwagę, że DELETE operuje na wierszach (rekordach), a nie na strukturze tabeli. Do usuwania kolumn służy ALTER TABLE, a do kasowania całej tabeli – DROP TABLE. To rozróżnienie jest absolutna podstawa pracy z SQL w każdej większej aplikacji.

Pytanie 26

W poleceniu CREATE TABLE zastosowanie klauzuli PRIMARY KEY przy definiowaniu kolumny tabeli spowoduje, że ta kolumna stanie się

A. kluczem obcym
B. indeksem unikalnym
C. kluczem podstawowym
D. indeksem klucza
Użycie klauzuli PRIMARY KEY w instrukcji CREATE TABLE pozwala na zdefiniowanie unikalnego identyfikatora dla każdego rekordu w tabeli. Klucz podstawowy zapewnia, że żadne dwa wiersze nie mogą mieć tej samej wartości w kolumnie, co jest kluczowe dla zachowania integralności danych. Przykładem praktycznym może być stworzenie tabeli użytkowników, gdzie 'id_użytkownika' jest kluczem podstawowym. Taki klucz może być typu INTEGER z automatycznym inkrementowaniem, co oznacza, że dla każdego nowego użytkownika wartość 'id_użytkownika' wzrasta automatycznie. Standardy branżowe zalecają definiowanie klucza podstawowego dla każdej tabeli, aby upewnić się, że rekordy można w sposób jednoznaczny zidentyfikować, co jest niezbędne dla relacyjnych baz danych. Dodatkowo, klucz podstawowy automatycznie tworzy indeks na tej kolumnie, co przyspiesza operacje wyszukiwania. Ważne jest, aby klucz podstawowy był dobrze przemyślany, ponieważ jego zmiana w przyszłości może wiązać się z dużymi komplikacjami w bazie danych.

Pytanie 27

Na podstawie kodu widocznego na ilustracji można stwierdzić, że

Ilustracja do pytania
A. nie przypisano wartości do zmiennej nazwisko.
B. podano nieprawidłowy argument do funkcji alert.
C. funkcja wyswietlNazwisko(nazwisko) musi być wywołana wewnątrz innej funkcji.
D. nie zadeklarowano funkcji wyswietlNazwisko.
W tym kodzie funkcja wyswietlNazwisko(nazwisko) jest poprawnie zadeklarowana, a komunikat przekazywany do alert() też jest w porządku. Problem wcale nie leży w samej funkcji, tylko w tym, że wywołujemy ją z argumentem nazwisko, który nigdzie wcześniej nie został zdefiniowany ani nie ma do niego przypisanej żadnej wartości. Silnik JavaScript widzi wywołanie wyswietlNazwisko(nazwisko); i szuka zmiennej o nazwie nazwisko w aktualnym zasięgu (scope). Ponieważ jej nie znajduje, zgłasza błąd ReferenceError: nazwisko is not defined. To jest klasyczny przypadek braku inicjalizacji zmiennej przed użyciem.
W praktyce, żeby to naprawić, trzeba najpierw zadeklarować zmienną, np.: var nazwisko = "Kowalski"; albo let nazwisko = prompt("Podaj swoje nazwisko:"); i dopiero potem wywołać funkcję: wyswietlNazwisko(nazwisko);. Dobra praktyka w JavaScript to zawsze jawne deklarowanie zmiennych przy użyciu let lub const (ewentualnie var w starszym kodzie) oraz nadawanie im czytelnych, przewidywalnych wartości początkowych. W aplikacjach webowych takie zmienne często pochodzą z pól formularza, np. z document.getElementById("nazwisko").value, i dopiero ta wartość jest przekazywana jako argument funkcji. Moim zdaniem warto wyrobić sobie nawyk, że zanim użyjesz jakiejś nazwy w wywołaniu funkcji, sprawdzasz, czy na pewno istnieje jej deklaracja w odpowiednim zasięgu i czy ma sensowną wartość. Dzięki temu unikniesz wielu irytujących błędów w konsoli i łatwiej będzie debugować kod.

Pytanie 28

Co w bazach danych oznacza termin „atrybut”?

A. obiekt złożony z cech opisanych kolumnami
B. powiązanie dwóch lub więcej danych związkiem
C. rekord tabeli z danymi jednego egzemplarza
D. nazwaną kolumnę tabeli opisującą określoną cechę
Pozostałe odpowiedzi mylą pojęcia modelu relacyjnego. „Obiekt złożony z cech” to raczej encja, a nie pojedynczy atrybut. Powiązanie danych związkiem to RELACJA. Rekord z danymi jednego egzemplarza to KROTKA (wiersz). Atrybut to nazwana kolumna opisująca cechę.

Pytanie 29

Przedstawiony kod PHP nawiązuje połączenie z serwerem bazy danych. Jakiego typu operacje powinny się znaleźć w instrukcji warunkowej w miejscu trzech kropek?
$db = mysqli_connect("localhost", "root", "qwerty", "baza1");
if (!$db) {
...
}

A. Informacja o udanym połączeniu z bazą
B. Obsługa danych uzyskanych z bazy
C. Obsługa błędu połączenia
D. Zamknięcie połączenia z bazą danych
Wybór obsługi błędu połączenia jako prawidłowej odpowiedzi jest zgodny z najlepszymi praktykami programistycznymi w zakresie zarządzania połączeniami z bazą danych. W sytuacji, gdy połączenie nie zostanie nawiązane, ważne jest, aby skutecznie obsłużyć ten błąd. Tylko w ten sposób programista może zrozumieć, co poszło nie tak, a także podjąć odpowiednie kroki w celu skorygowania problemu. Na przykład można wyświetlić komunikat informujący o błędzie, logować go w systemie lub wysłać powiadomienie do administratora. Dobrą praktyką jest również implementacja mechanizmów ponownego łączenia lub alternatywnych metod połączenia, jeśli to możliwe. Warto również zaznaczyć, że niewłaściwe zarządzanie połączeniem z bazą danych może prowadzić do poważnych konsekwencji, takich jak utrata danych, a nawet awarie aplikacji. Dlatego, umieszczając kod do obsługi błędów w instrukcji warunkowej, programista wykazuje się odpowiedzialnością oraz dbałością o jakość kodu.

Pytanie 30

Po uruchomieniu poniższego kodu PHP na ekranie ukaże się bieżąca data w formacie:

echo date("Y-m");
A. dzień oraz rok
B. rok oraz miesiąc
C. dzień, miesiąc, rok
D. tylko rok
Odpowiedź "rok i miesiąc" jest prawidłowa, ponieważ funkcja date() w PHP, kiedy wykorzystujemy format "Y-m", zwraca datę w formacie roku, np. 2023, oraz miesiąca w postaci dwucyfrowej, np. 09 dla września. Warto zrozumieć, że format "Y" generuje czterocyfrowy rok, natomiast "m" generuje dwucyfrowy miesiąc. To podejście jest często wykorzystywane w aplikacjach webowych do prezentacji dat w sposób zrozumiały dla użytkowników, a także do grupowania danych według miesięcy w bazach danych. Przykładowo, w systemach raportowania finansowego, często wykorzystuje się ten format do agregacji danych sprzedażowych według miesięcy, co ułatwia analizę wyników. Użycie odpowiednich standardów w formacie daty wspomaga utrzymanie spójności i czytelności danych w różnych systemach informatycznych.

Pytanie 31

Której wartości text-transform użyć, aby każda pierwsza litera wyrazu była wielka?

A.
underline
B.
uppercase
C.
lowercase
D.
capitalize
Wartość capitalize właściwości text-transform sprawia, że każda pierwsza litera WYRAZU staje się wielka (np. „ala ma psa” → „Ala Ma Psa”). Dlatego do tego efektu służy capitalize.

Pytanie 32

Aby przywrócić bazę danych o nazwie Sklep z pliku towary.sql, należy w miejsce gwiazdek wpisać nazwę użytkownika. Polecenie wygląda następująco:

mysql -u ******* -p Sklep < towary.sql
A. nazwę użytkownika.
B. adres IP bazy danych.
C. nazwę odzyskiwanej tabeli.
D. liczbę importowanych obiektów bazy.
W tym poleceniu kluczowy jest fragment „-u *******”. Przełącznik -u w kliencie mysql zawsze oznacza nazwę użytkownika bazy danych, pod której kontem chcemy się połączyć z serwerem MySQL/MariaDB. Dlatego w miejsce gwiazdek wpisujemy konkretną nazwę użytkownika, np. root, admin, albo konto utworzone specjalnie do obsługi danej aplikacji, np. sklep_user. To jest standardowa składnia narzędzia wiersza poleceń mysql: mysql -u NAZWA_UŻYTKOWNIKA -p NAZWA_BAZY < plik.sql. Opcja -p mówi, że program ma poprosić o hasło dla tego użytkownika (nie podajemy hasła wprost w poleceniu, ze względów bezpieczeństwa). Nazwa bazy danych, do której importujemy dane, pojawia się dalej, w tym przykładzie jest to Sklep. Z kolei po znaku < podajemy plik z kopią bazy, czyli skryptem SQL zawierającym instrukcje CREATE TABLE, INSERT i inne potrzebne do odtworzenia struktury i danych. W praktyce przy przywracaniu baz danych zawsze łączymy się jako użytkownik, który ma odpowiednie uprawnienia: przynajmniej do tworzenia tabel i wstawiania danych w tej bazie (INSERT, CREATE, ALTER, czasem DROP). W środowiskach produkcyjnych dobrą praktyką jest nie używać konta root, tylko dedykowanego użytkownika z ograniczonymi uprawnieniami. Moim zdaniem warto też pamiętać, że adres IP serwera bazy (opcjonalnie podawany przez -h) i port (-P) to zupełnie inne parametry niż -u. One określają, z jakim serwerem się łączymy, a -u i -p – kim się logujemy. To rozróżnienie jest bardzo ważne przy codziennej administracji i automatyzacji backupów oraz importów.

Pytanie 33

Aby sprawdzić, czy kod JavaScript działa poprawnie, należy skorzystać z:

A. kompilatora C++
B. interpretera PERL
C. konsoli w przeglądarce internetowej
D. interpretera PHP
JavaScript jest językiem wykonywanym po stronie klienta, czyli bezpośrednio w przeglądarce internetowej. Dlatego do sprawdzenia, czy kod działa, służy konsola w narzędziach deweloperskich przeglądarki (otwierana zwykle klawiszem F12). Można w niej uruchamiać fragmenty kodu, oglądać wypisane wartości, a przede wszystkim czytać komunikaty o błędach składniowych i logicznych wraz z numerem linii. To podstawowe środowisko testowe front-end developera - i dlatego jest poprawną odpowiedzią.

Pytanie 34

Która para znaczników HTML daje TEN SAM efekt wizualny (bez CSS)?

A. <p> i <h2>
B. <b> i <strong>
C. <b> i <big>
D. <meta> i <title>
Znaczniki <b> i <strong> domyślnie wyświetlają tekst pogrubiony, więc bez stylów CSS wyglądają identycznie. Różni je znaczenie: <strong> niesie wagę semantyczną (ważna treść, czytana z naciskiem przez czytniki), a <b> to czysto wizualne pogrubienie. Dlatego ten sam efekt dają <b> i <strong>.

Pytanie 35

Jak powinien być zapisany kolor 255 12 12 w modelu RGB na stronie www?

A. #AB1A1D
B. #EE0C0C
C. #FF0C0C
D. #2551212
Kolor 255, 12, 12 w modelu RGB oznacza maksymalne nasycenie koloru czerwonego oraz bardzo niskie wartości zielonego i niebieskiego. Zapis w postaci heksadecymalnej, który jest stosowany w projektowaniu stron internetowych, polega na konwersji wartości RGB do formatu szesnastkowego. W tym przypadku, wartość 255 w systemie dziesiętnym odpowiada FF w systemie szesnastkowym, co oznacza maksymalne nasycenie koloru czerwonego. Wartość 12 w systemie dziesiętnym odpowiada 0C, co jest zbyt niską wartością zarówno dla zielonego, jak i niebieskiego. Dlatego pełny zapis koloru RGB 255, 12, 12 w formacie heksadecymalnym to #FF0C0C. Użycie standardu heksadecymalnego (hex) jest powszechne w CSS, gdzie kolory są definiowane za pomocą szesnastkowych wartości. Przykładowo, aby ustawić tło elementu w CSS na ten kolor, można użyć zapisu: 'background-color: #FF0C0C;'. Warto zrozumieć, że poprawne użycie systemów kolorów RGB i hex jest kluczowe w projektowaniu graficznym i webowym, ponieważ wpływa na estetykę i użyteczność interfejsów użytkownika.

Pytanie 36

W języku HTML zapisano formularz. Który z efektów działania kodu będzie wyświetlony przez przeglądarkę zakładając, że w pierwsze pole użytkownik przeglądarki wpisał wartość "Przykładowy text"?

Ilustracja do pytania
A. Efekt 4.
B. Efekt 3.
C. Efekt 2.
D. Efekt 1.
Dobra robota! Odpowiedź, którą wybrałeś, to Efekt 2. W formularzu HTML masz różne elementy, które służą do zbierania danych od użytkownika. Tutaj mamy pole tekstowe i dwa checkboxy. Jak wpiszesz 'Przykładowy text' w pole tekstowe i wyślesz formularz, to właśnie to się wyświetli w przeglądarce. Efekt 2 pokazuje, że pole tekstowe ma wpisany tekst i dwa niezaznaczone checkboxy. Dlatego to jest zgodne z tym, co zobaczysz w przeglądarce. A to oznacza, że Efekt 2 jest poprawną odpowiedzią. Właściwie to wszystko jest zgodne z tym, jak HTML działa, czyli jak powinny wyglądać i działać różne elementy formularza.

Pytanie 37

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

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

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

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

Pytanie 38

Jakie są określenia typowych komend języka SQL, które dotyczą przeprowadzania operacji na danych SQL DML (np.: dodawanie danych do bazy, usuwanie, modyfikowanie danych)?

A. ALTER, CREATE, DROP
B. DELETE, INSERT, UPDATE
C. SELECT, SELECT INTO
D. DENY, GRANT, REVOKE
Odpowiedź DELETE, INSERT, UPDATE jest prawidłowa, ponieważ te polecenia stanowią podstawowe instrukcje języka SQL DML (Data Manipulation Language), które są wykorzystywane do manipulacji danymi w bazie danych. DELETE służy do usuwania rekordów z tabel, co jest niezbędne w sytuacjach, gdy dane są już nieaktualne lub niepotrzebne. INSERT umożliwia dodawanie nowych rekordów, co jest kluczowe w procesie wprowadzania danych, na przykład dodawania nowych klientów do bazy danych. Z kolei UPDATE pozwala na modyfikację już istniejących danych, co jest istotne w przypadku zmiany informacji, takich jak aktualizacja adresu klienta. W praktyce te operacje są niezwykle ważne dla utrzymania spójności i aktualności danych w systemach zarządzania bazami danych. Warto również zauważyć, że stosowanie tych poleceń zgodnie z dobrymi praktykami, takimi jak transakcje, pozwala na zabezpieczenie integralności danych oraz umożliwia łatwe wycofywanie zmian w przypadku błędów.

Pytanie 39

Co MUSI wystąpić w konstrukcji switch w PHP?

A. instrukcja default
B. nagłówek switch(wyrażenie)
C. co najmniej dwie instrukcje case
D. instrukcja break po każdym case
Pozostałe elementy są OPCJONALNE lub niewymagane. Gałąź default można pominąć (wykona się tylko, gdy żaden case nie pasuje). break jest zalecany, ale niewymagany składniowo. Liczba case nie musi wynosić co najmniej dwa. Konieczny jest jedynie nagłówek switch(wyrażenie).

Pytanie 40

W edytorze grafiki wektorowej zbudowano kształt, który składa się z dwóch figur: trójkąta oraz koła. Aby uzyskać ten kształt, po narysowaniu figur i ich odpowiednim ustawieniu, trzeba użyć funkcji

Ilustracja do pytania
A. różnicy
B. rozdzielenia
C. sumy
D. wykluczenia
Funkcja sumy w programach do grafiki wektorowej, takich jak Adobe Illustrator czy CorelDRAW, pozwala na połączenie dwóch lub więcej kształtów w jeden obiekt. To takie sprytne narzędzie! Sumowanie, znane też jako unia lub łączenie ścieżek, integruje geometrię wszystkich wybranych kształtów. Na przykład, jak narysujesz trójkąt i koło, a potem je odpowiednio ustawisz, to używając funkcji sumy, stworzysz nowy kształt, który obejmuje całą powierzchnię obu figur. Często to robi się przy projektowaniu logo, gdzie trzeba uprościć złożone kształty do jednej ścieżki. Taki sposób działania jest przyjęty w branży, bo ułatwia tworzenie czytelnych grafik, które są łatwe do edytowania. A co najważniejsze, połączenie figur w jedną upraszcza późniejsze zmiany i wpisuje się w zasady projektowania minimalistycznego, dzięki czemu można robić przejrzyste kompozycje. Warto mieć na uwadze, że takie podejście też ułatwia drukowanie i wycinanie, co jest mega ważne w produkcji materiałów reklamowych czy wyrobów przemysłowych.