Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 maja 2025 09:15
  • Data zakończenia: 8 maja 2025 09:40

Egzamin zdany!

Wynik: 25/40 punktów (62,5%)

Wymagane minimum: 20 punktów (50%)

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

W kodzie CSS użyto stylizacji dla elementu listy, a żadne inne reguły CSS nie zostały ustalone. To zastosowane formatowanie spowoduje, że

Ilustracja do pytania
A. tekst wszystkich elementów, którym nadano id „hover”, będzie w kolorze Maroon
B. kolor Maroon obejmie co drugi element listy
C. tekst wszystkich elementów listy będzie miał kolor Maroon
D. po najechaniu myszką na element listy, kolor tekstu zmieni się na Maroon
Odpowiedź jest poprawna, ponieważ selektor CSS li:hover odnosi się do elementów listy, które zmieniają swój styl po najechaniu kursorem. W tym przypadku zmiana dotyczy koloru tekstu, który stanie się maroon. Selektor :hover jest pseudoklasą w CSS, która odpowiada za zmiany stylu elementu, gdy użytkownik umieści nad nim kursor. Jest to powszechnie stosowana technika w projektowaniu interaktywnych i przyjaznych dla użytkownika stron internetowych, umożliwiająca na przykład wizualne podkreślenie linków lub elementów menu. Dzięki zastosowaniu takiego selektora, projektanci mogą tworzyć dynamiczne efekty, które reagują na działania użytkownika, co zwiększa atrakcyjność wizualną i funkcjonalność strony. Dobre praktyki zalecają używanie pseudoklas jak :hover do poprawy interakcji użytkownika z interfejsem, a także do zapewnienia spójności z innymi elementami strony, które mogą również reagować na najechanie kursorem. Warto także pamiętać o dostępności, zapewniając alternatywne sposoby na interakcję z elementami, np. dla urządzeń dotykowych.

Pytanie 2

Funkcja phpinfo() umożliwia

A. sprawdzenie wartości zmiennych zastosowanych w kodzie PHP
B. analizowanie kodu PHP w celu wykrycia błędów
C. rozpoczęcie wykonywania kodu w języku PHP
D. uzyskanie danych o środowisku serwera, na którym działa PHP
Wiele osób myli funkcję phpinfo() z innymi narzędziami i technikami w PHP, co może prowadzić do nieporozumień. Zainicjowanie kodu w języku PHP nie jest funkcjonalnością phpinfo(). Kod PHP jest interpretowany przez serwer, a phpinfo() nie ma na celu uruchamiania kodu. Również, jeśli chodzi o debugowanie kodu PHP, phpinfo() nie służy bezpośrednio do tego celu. Chociaż może dostarczyć przydatnych informacji, takich jak wartości zmiennych konfiguracyjnych, nie zastępuje dedykowanych narzędzi do debugowania, takich jak Xdebug, które oferują znacznie bardziej zaawansowane możliwości analizy i śledzenia błędów w kodzie. Dodatkowo, sprawdzanie wartości zmiennych użytych w kodzie PHP również nie jest funkcją phpinfo(). Wartości zmiennych można sprawdzić, stosując inne techniki, takie jak var_dump() czy print_r(), które dają bezpośredni wgląd w zawartość zmiennych w czasie wykonania skryptu. Typowym błędem jest także przyjmowanie, że phpinfo() może być używane do zarządzania konfiguracją aplikacji. W rzeczywistości, ta funkcja jest jedynie narzędziem diagnostycznym, które dostarcza informacji o bieżącym stanie środowiska serwera, ale nie pozwala na jego zmianę ani na modyfikację ustawień. Dlatego ważne jest, aby zrozumieć ograniczenia phpinfo() i stosować odpowiednie narzędzia do różnych zadań związanych z programowaniem w PHP.

Pytanie 3

W PHP użyto funkcji is_float(). Które z wymienionych wywołań tej funkcji zwróci wartość true?

A. is_float(3.34)
B. is_float(NULL)
C. is_float('3,34')
D. is_float(334)
Funkcja is_float() w języku PHP jest używana do sprawdzania, czy dany argument jest typu float. W przypadku wywołania is_float(3.34), wartość 3.34 jest literalnym zapisem liczby zmiennoprzecinkowej, co oznacza, że jest to poprawny typ danych. W praktycznych zastosowaniach, weryfikacja typu zmiennej jest istotna, szczególnie przy pracy z danymi, gdzie precyzyjne typowanie jest kluczowe, na przykład w obliczeniach finansowych. Gdy pracujemy z danymi z formularzy, często musimy upewnić się, że wartości są odpowiednich typów, aby uniknąć błędów w obliczeniach. Warto również zauważyć, że PHP automatycznie konwertuje typy danych, ale zawsze lepiej jest explicite kontrolować typy, zwłaszcza w bardziej złożonych aplikacjach. Standardem dobrych praktyk jest stosowanie is_float() w sytuacjach, gdzie ważne jest potwierdzenie, że zmienna jest typu float przed jej użyciem w kontekście wymagającym tego typu, co zwiększa czytelność i stabilność kodu.

Pytanie 4

Jaką relację w projekcie bazy danych powinno się ustalić pomiędzy tabelami przedstawionymi na rysunku, przy założeniu, że każdy klient sklepu internetowego złoży co najmniej dwa zamówienia?

Ilustracja do pytania
A. 1:n, gdzie 1 znajduje się po stronie Zamówienia, a wiele po stronie Klienta
B. n:n
C. 1:1
D. 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia
Relacja 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia, oznacza, że każdy klient może mieć wiele zamówień, ale każde zamówienie jest powiązane dokładnie z jednym klientem. To podejście odpowiada rzeczywistości większości sklepów internetowych, gdzie klienci wielokrotnie dokonują zamówień. Projektując bazę danych zgodnie z tą relacją, stosujemy klucz obcy w tabeli Zamówienia, który odwołuje się do klucza głównego w tabeli Klient. Jest to zgodne z dobrymi praktykami w projektowaniu baz danych, które zalecają minimalizowanie redundancji i zapewnienie integralności danych. Praktyczne zastosowanie tego modelu umożliwia łatwe śledzenie historii zamówień klientów, co jest kluczowe dla analizy sprzedaży i zarządzania relacjami z klientami. Relacja 1:n jest jedną z najczęściej stosowanych w modelowaniu danych, co potwierdza jej uniwersalność i skuteczność w różnych systemach informatycznych, od sklepów internetowych po systemy zarządzania zasobami ludzkimi.

Pytanie 5

W CSS, aby ustalić wewnętrzny górny margines, czyli odstęp pomiędzy elementem a jego obramowaniem, należy zastosować komendę

A. border-top
B. outline-top
C. padding-top
D. local-top
Odpowiedź 'padding-top' jest prawidłowa, ponieważ w CSS termin 'padding' odnosi się do wewnętrznego odstępu, który tworzy przestrzeń pomiędzy zawartością elementu a jego granicą (border). 'padding-top' specyfikuje górny odstęp wewnętrzny, co jest istotne w kontekście estetyki i układu strony. Definiując 'padding-top', możemy dostosować wygląd elementów, aby lepiej pasowały do reszty projektu i poprawiły czytelność. Na przykład, jeśli mamy przycisk z tekstem, użycie 'padding-top: 10px;' zapewni, że tekst nie będzie przyklejony do górnego brzegu przycisku, co zwiększy jego estetykę oraz użyteczność. W praktyce dobrą praktyką jest również stosowanie 'padding' w połączeniu z 'margin', aby osiągnąć odpowiednią separację między różnymi elementami w układzie. Przestrzeganie standardów CSS pomaga w tworzeniu responsywnych i dostosowanych układów, które dobrze działają na różnych urządzeniach.

Pytanie 6

W HTML zdefiniowano hiperłącze zawierające znak #. Co się wydarzy po kliknięciu na ten odsyłacz?

Ilustracja do pytania
A. Otworzy się nowa karta przeglądarki o nazwie dane
B. Zostanie wskazany względny adres URL o nazwie dane
C. Strona przewinie się do elementu o id równym dane
D. Uruchomi się skrypt o nazwie dane

Pytanie 7

Aby osiągnąć efekt przedstawiony na ilustracji, w kodzie HTML należy zastosować znacznik skrótu z atrybutem

Ilustracja do pytania
A. title
B. dfn
C. name
D. alt
Znacznik w HTML pełni rolę semantyczną, pomagając w oznaczaniu skrótów i akronimów. Atrybut alt jest stosowany w znacznikachdo opisywania obrazów, co jest istotne dla dostępności i SEO, ale nie ma związku ze znacznikami tekstowymi jak . Alt informuje o treści obrazu, co jest kluczowe dla użytkowników niewidzących, lecz nie pełni funkcji rozwijania skrótów tekstowych. Atrybut dfn służy do definiowania terminów w tekście, zazwyczaj używany w połączeniu ze znacznikiem , a nie . Chociaż dfn dostarcza definicji, nie jest używany do rozwijania skrótów. Atrybut name nie jest związany z rozwijaniem tekstu ani z . Jest on stosowany głównie w formularzach HTML do identyfikacji elementów, takich jak, umożliwiając ich rozróżnienie. Mylenie tych atrybutów wynika często z braku zrozumienia ich specyficznych zastosowań w kontekście HTML i dostępności. Właściwe używanie atrybutów to klucz do tworzenia semantycznie poprawnych i dostępnych stron internetowych.

Pytanie 8

W kodzie HTML kolor biały można reprezentować przy użyciu wartości

A. #255255
B. rgb(255, 255, 255)
C. #000000
D. rgb (FF, FF, FF)
Wartości #000000 i #255255 oraz rgb(FF, FF, FF) są nieprawidłowe w kontekście definiowania koloru białego. Zaczynając od pierwszej, #000000 to kod szesnastkowy odpowiadający czarnemu, gdzie wszystkie składniki koloru (czerwony, zielony, niebieski) mają wartość 0, co skutkuje brakiem światła i widzeniem czerni. Typowym błędem jest myślenie, że składniki koloru muszą być wyrażane w systemie szesnastkowym, a nie w zakresie od 0 do 255, co wprowadza w błąd w kontekście RGB. Z kolei #255255 nie jest poprawnym kodem szesnastkowym, ponieważ wartości kolorów w systemie szesnastkowym muszą być w zakresie od 00 do FF dla każdego z kolorów, co oznacza, że każda para cyfr szesnastkowych musi mieścić się w tym zakresie. Zresztą, nie można mieć wartości powyżej 255 w modelu RGB. Przy odpowiedzi rgb(FF, FF, FF) również pojawia się problem, ponieważ wartości w funkcji rgb() powinny być wartościami liczbowymi, a nie szesnastkowymi. Często błędne jest mylenie zapisów szesnastkowych z zapisami liczbowymi, co prowadzi do nieprawidłowych wniosków. Dlatego tak istotne jest zrozumienie różnic w sposobie reprezentacji kolorów oraz stosowanie odpowiednich praktyk przy definiowaniu kolorów w HTML i CSS.

Pytanie 9

W języku PHP predefiniowana zmienna $_SESSION przechowuje

A. listę zarejestrowanych sesji na serwerze WWW
B. zmienne przesyłane do skryptu przez formularz
C. zmienne zarejestrowane w aktualnej sesji
D. zmienne przesyłane do skryptu przy pomocy ciastek (cookie)
Zrozumienie działania zmiennej $_SESSION jest kluczowe w kontekście zarządzania stanem aplikacji webowych. Wiele osób mylnie utożsamia $_SESSION z innymi mechanizmami takimi jak ciasteczka czy formularze, co prowadzi do nieporozumień. Ciasteczka, czyli małe pliki przechowywane na komputerze użytkownika, są używane do przechowywania danych po stronie klienta, a więc różnią się od $_SESSION, która działa po stronie serwera. Odpowiedzi sugerujące, że $_SESSION zawiera spis zarejestrowanych sesji na serwerze WWW są również błędne, ponieważ ta zmienna przechowuje dane tylko dla konkretnej sesji użytkownika, a nie dla wszystkich użytkowników. Ponadto zmienne przesyłane do skryptu za pomocą formularza są dostępne w superglobalnej tablicy $_POST lub $_GET, a nie w $_SESSION. Typowym błędem myślowym jest utożsamianie sesji z innymi mechanizmami przechowywania danych, co może prowadzić do nieefektywnego kodowania i problemów z bezpieczeństwem. Kluczowym elementem jest zrozumienie, że $_SESSION jest dedykowana do przechowywania danych sesji w trakcie interakcji użytkownika z aplikacją, a nie do zarządzania innymi formami danych przesyłanych przez użytkownika.

Pytanie 10

Aby zdefiniować pole w klasie, do którego dostęp mają wyłącznie metody tej klasy, a które nie jest dostępne dla klas dziedziczących, powinno się zastosować kwalifikator dostępu

A. opublikowany.
B. prywatny.
C. chroniony.
D. publiczny.
Kwalifikator dostępu 'private' jest używany w programowaniu obiektowym do deklarowania pól klasy, które są dostępne wyłącznie w obrębie tej klasy. Oznacza to, że żadne inne klasy, w tym klasy pochodne, nie mają dostępu do tych pól, co sprzyja enkapsulacji, jednej z fundamentalnych zasad programowania obiektowego. Enkapsulacja pozwala na ochronę danych i logiki wewnętrznej obiektu, co zmniejsza ryzyko wystąpienia błędów oraz zwiększa bezpieczeństwo aplikacji. Przykładowo, gdy w klasie 'Samochod' mamy pole 'prędkość', które powinno być modyfikowane jedynie przez metody klasy 'Samochod', zadeklarowanie go jako 'private' uniemożliwia dostęp do tego pola z zewnątrz. Dobre praktyki sugerują unikanie dostępu do pól klasy bezpośrednio, a zamiast tego korzystanie z metod dostępowych (getterów i setterów), co pozwala na wprowadzenie dodatkowych reguł walidacyjnych. W ten sposób zapewniamy większą kontrolę nad tym, jak dane są używane i zmieniane w aplikacji.

Pytanie 11

Jakie uprawnienia są konieczne do wykonania oraz przywrócenia kopii zapasowej bazy danych Microsoft SQL Server 2005 Express?

A. Security users
B. Administrator systemu
C. Users
D. Użytkownik lokalny
Aby wykonać i odtworzyć kopię zapasową bazy danych Microsoft SQL Server 2005 Express, wymagane jest posiadanie uprawnień administratora systemu. Administratorzy mają pełny dostęp do wszystkich funkcji i zasobów systemu, co jest kluczowe podczas zarządzania kopiami zapasowymi, które są niezbędne dla bezpieczeństwa i integralności danych. W kontekście SQL Server, administratorzy mogą korzystać z różnych narzędzi, takich jak SQL Server Management Studio (SSMS), aby tworzyć kopie zapasowe baz danych oraz przywracać je w razie potrzeby. Dobrą praktyką jest regularne tworzenie kopii zapasowych, co pozwala na minimalizację ryzyka utraty danych wskutek awarii systemu, błędów ludzkich czy ataków złośliwego oprogramowania. Ponadto, znajomość polityk przechowywania kopii zapasowych, takich jak ich rotacja i przechowywanie w bezpiecznych lokalizacjach, stanowi integralną część zarządzania danymi w organizacji. Warto również pamiętać o testowaniu procesów przywracania danych, aby upewnić się, że w sytuacji kryzysowej dostęp do informacji będzie możliwy w sposób szybki i efektywny.

Pytanie 12

Jakie jest zastosowanie zapytania z klauzulą JOIN?

A. określić klucz obcy dla tabeli
B. wywołać funkcję agregującą
C. uzyskać wynik tylko z jednej tabeli
D. pozyskać dane z dwóch tabel, które są ze sobą powiązane
Zrozumienie błędnych odpowiedzi na to pytanie wymaga analizy kilku koncepcji, które są często mylone w kontekście relacyjnych baz danych. Wywoływanie funkcji agregujących, jak SUM czy AVG, ma na celu przetwarzanie danych w obrębie jednej tabeli, co nie jest bezpośrednio związane z mechanizmem łączenia tabel. Klauzula JOIN nie jest używana do wywoływania funkcji agregujących, lecz do łączenia danych z wielu tabel. Z kolei definiowanie klucza obcego jest procesem strukturalnym, który zapewnia integralność relacji między tabelami, ale nie służy do pozyskiwania danych z tych tabel. W przypadku trzeciej odpowiedzi, uzyskanie wyników jedynie z jednej tabeli jest sprzeczne z ideą klauzuli JOIN, która ma na celu eksplorację relacji między tabelami. Błędy myślenia, które prowadzą do nieprawidłowych wniosków, często polegają na braku zrozumienia podstawowych zasad projektowania baz danych i ich normalizacji. W praktyce, efektywne korzystanie z JOIN pozwala na uzyskiwanie zaawansowanych analiz, jak na przykład raporty sprzedaży, które łączą różne źródła danych. Wiedza na temat właściwego użycia klauzul i relacji w bazach danych jest kluczowa dla każdego, kto dąży do skutecznego zarządzania danymi.

Pytanie 13

W tabeli klienci w bazie danych sklepu internetowego występują m.in. pola całkowite: punkty,
liczbaZakupow oraz pole ostatnieZakupy typu DATE. Klauzula WHERE do zapytania wybierającego klientów, którzy posiadają ponad 3000 punktów lub zrealizowali zakupy więcej niż 100 razy, a ich ostatnie zakupy miały miejsce przynajmniej w roku 2022 ma formę

A. WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-01'
B. WHERE punkty > 3000 OR liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
C. WHERE punkty > 3000 AND liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
D. WHERE punkty > 3000 AND liczbaZakupow > 100 AND ostatnieZakupy >= '2022-01-01'
Odpowiedź 'WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-01'' jest prawidłowa, ponieważ dokładnie odzwierciedla wymagania dotyczące filtrowania klientów. Klauzula WHERE używa operatora OR dla dwóch warunków: liczba punktów musi być większa niż 3000, albo liczba zakupów musi być większa niż 100. Taki zapis jest kluczowy, ponieważ spełnienie jednego z tych warunków jest wystarczające. Następnie, warunek dotyczący daty ostatnich zakupów jest połączony z powyższymi za pomocą operatora AND, co oznacza, że musi być spełniony jednocześnie. Dzięki użyciu nawiasów, zapytanie jest jasne i jednoznaczne, co jest zgodne z dobrymi praktykami w tworzeniu zapytań SQL. W praktyce takie kwerendy są często używane w systemach CRM, gdzie konieczne jest segmentowanie klientów na podstawie ich aktywności oraz wartości, co pozwala na skuteczniejsze podejmowanie decyzji marketingowych.

Pytanie 14

Który z poniższych znaczników HTML jest używany do tworzenia struktury strony internetowej?

A.
B.
C.
D.
Znacznik

Pytanie 15

Który z poniższych kodów stanowi alternatywę dla kodu umieszczonego w ramce?

Ilustracja do pytania
A.
B.
C.
D.
W odpowiedzi zaprezentowałeś kod, który generuje liczby parzyste od 2 do 54, co jest zgodne z tym, co było w zadaniu. W ramce masz pętlę for, która zaczyna się od x=1, ale trzeba wiedzieć, że w takiej konfiguracji będziesz też generować liczby nieparzyste. W Twoim kodzie lepiej było zacząć od x=2 i zwiększać x o 2, bo wtedy automatycznie pomijasz liczby, które nie są parzyste. To sprawia, że kod działa sprawniej, bo nie trzeba co chwilę sprawdzać, czy liczba jest parzysta, tylko po prostu się ją generuje. Jak dla mnie, jak chcesz tylko parzyste, to taki styl jest o niebo lepszy – klarowny i łatwy do ogarnięcia. W programowaniu istotne jest, żeby pisać kod, który nie tylko działa, ale też jest prosty do zrozumienia dla innych. Dzięki temu unikniesz problemów w przyszłości, gdy trzeba będzie coś poprawiać w kodzie.

Pytanie 16

W JavaScript zdefiniowano obiekt. W jaki sposób można uzyskać dostęp do właściwości nazwisko?

var osoba = {imie: "Anna", nazwisko: "Kowalska", rok_urodzenia: 1985};

A. osoba[1]
B. osoba[2]
C. osoba.nazwisko
D. osoba::nazwisko
Odpowiedź osoba.nazwisko jest prawidłowa, ponieważ w JavaScript do właściwości obiektu można odwoływać się za pomocą notacji kropkowej. Jest to jedna z najbardziej czytelnych i powszechnie stosowanych metod dostępu do właściwości obiektu w programowaniu obiektowym. Kiedy mamy obiekt o nazwie osoba, który został zdefiniowany z właściwościami takimi jak imie, nazwisko i rok_urodzenia, notacja kropkowa pozwala bezpośrednio i intuicyjnie odczytać wartość przypisaną do klucza nazwisko. Ważne jest, aby zrozumieć, że notacja kropkowa nie tylko zwiększa czytelność kodu, ale także ułatwia jego utrzymanie i modyfikację przez innych programistów. Stosowanie tego standardu jest zgodne z najlepszymi praktykami w branży, promującymi pisanie zrozumiałego i efektywnego kodu. Warto również pamiętać, że notacja kropkowa jest preferowana, gdy nazwy kluczy są znane i nie zawierają znaków, które mogą kolidować z syntaksą języka, takich jak spacje. W przypadku bardziej złożonych kluczy można używać notacji nawiasowej, która mimo że jest bardziej elastyczna, nie zawsze jest tak przejrzysta jak notacja kropkowa. Przykłady praktyczne obejmują zastosowania w aplikacjach webowych, gdzie obiekty mogą reprezentować zasoby użytkownika, a notacja kropkowa umożliwia bezpośredni dostęp do danych użytkownika w celu ich wyświetlenia lub edycji w interfejsie aplikacji.

Pytanie 17

W skrypcie PHP konieczne jest stworzenie cookie o nazwie owoce, które przyjmie wartość jabłko. Cookie powinno być dostępne przez jedną godzinę od momentu jego utworzenia. W tym celu w skrypcie PHP należy wykorzystać funkcję:

A. setcookie("owoce","jabłko",time()+3600);
B. cookie("jabłko","owoce",3600);
C. setcookie("jabłko","owoce",time()+3600);
D. cookie("owoce","jabłko",3600);
Funkcja setcookie w PHP jest kluczowym narzędziem do zarządzania ciasteczkami, a w szczególności do ich tworzenia. W przypadku prawidłowej odpowiedzi, setcookie("owoce","jabłko",time()+3600) poprawnie ustawia nazwę ciasteczka na 'owoce', przypisując mu wartość 'jabłko'. Funkcja time() zwraca aktualny czas w sekundach od 1 stycznia 1970 roku, a dodanie 3600 do tej wartości ustawia czas wygaśnięcia ciasteczka na jedną godzinę od momentu jego utworzenia. Jest to standardowa praktyka, by zapewnić, że cookie będzie dostępne przez określony czas. W kontekście aplikacji webowych, cookies są często wykorzystywane do przechowywania informacji o preferencjach użytkowników, sesjach logowania czy koszykach zakupowych. Ważne jest, aby przy tworzeniu ciasteczek upewnić się, że nazwa i wartość są odpowiednio sformatowane, a czas wygaśnięcia jest zgodny z oczekiwaniami. Prawidłowe zarządzanie ciasteczkami przyczynia się do lepszej interakcji z użytkownikami oraz zwiększa wydajność aplikacji.

Pytanie 18

Podczas definiowania tabeli produkty należy stworzyć pole cena, które będzie reprezentować wartość produktu. Odpowiedni typ danych dla tego pola to

A. INTEGER(11)
B. TINYTEXT
C. ENUM
D. DECIMAL(10, 2)
Wybór typów danych dla pola przechowującego cenę produktu ma kluczowe znaczenie dla poprawności funkcjonowania bazy danych. INTEGER(11) jest typem, który przechowuje liczby całkowite, co oznacza, że nie może być zastosowany do reprezentacji wartości z miejscami dziesiętnymi, co jest niezbędne w przypadku cen. Użycie INTEGER może prowadzić do poważnych problemów, jak zaokrąglanie cen, co w branży handlowej może skutkować błędnymi transakcjami. TINYTEXT to typ danych przeznaczony do przechowywania tekstu, co czyni go całkowicie nieodpowiednim do reprezentacji wartości liczbowych, a tym bardziej cen. W przypadku zastosowania TINYTEXT w tym kontekście, nie tylko utracimy możliwość przeprowadzania obliczeń na cenach, ale również stworzymy dodatkowe problemy z wydajnością bazy danych, ponieważ operacje na tekstach są znacznie wolniejsze niż na liczbach. Z kolei ENUM, który jest używany do określenia zestawu dozwolonych wartości, nie ma zastosowania w kontekście cen, które mogą się zmieniać i nie są ograniczone do stałego zestawu opcji. Użycie ENUM do reprezentacji cen prowadziłoby do nieefektywności, ponieważ każda zmiana ceny wymagałaby modyfikacji definicji pola. Typowe błędy myślowe prowadzące do takich niepoprawnych wniosków to brak zrozumienia znaczenia precyzyjnego przechowywania danych finansowych oraz nieznajomość dostępnych typów danych i ich zastosowań w kontekście konkretnej aplikacji.

Pytanie 19

Poniższy fragment kodu w PHP wyświetli

$n = '[email protected]';
$dl = strlen($n);
$i = 0;
while($i < $dl && $n[$i] != '@')
{
    echo $n[$i];
    $i++;
}

A. samą nazwę domeny, czyli "host.pl"
B. cały adres e-mail, czyli "[email protected]"
C. nazwa konta z symbolem @, czyli "adres@"
D. tylko nazwę konta, czyli "adres"
Powyższy fragment kodu w języku PHP ma za zadanie wyodrębnić i wypisać nazwę konta z adresu e-mail. Kod definiuje ciąg znaków zawierający pełny adres e-mail i używa pętli while do iteracji przez każdy znak tego ciągu aż do napotkania znaku '@'. Pętla while działa, dopóki indeks i jest mniejszy niż długość ciągu $n oraz bieżący znak $n[$i] nie jest '@'. W każdej iteracji echo wypisuje bieżący znak, a zmienna i jest inkrementowana. Dzięki temu kod wypisuje wszystkie znaki przed '@', co w tym przypadku jest nazwą konta 'adres'. Takie podejście jest powszechnie stosowane w podstawowym przetwarzaniu tekstu, gdzie potrzebna jest iteracja przez ciąg znaków. W praktyce, w aplikacjach webowych, takie operacje są często wykonywane na danych wejściowych użytkownika, aby wyodrębnić specyficzne części danych, takie jak nazwa użytkownika z e-maila. Jest to również zgodne z zasadami przetwarzania stringów w PHP, gdzie manipulacja tekstem odbywa się z wykorzystaniem indeksów i pętli.

Pytanie 20

Wskaż, które z poniższych zdań jest prawdziwe w odniesieniu do definicji stylu: ``````

A. Zdefiniowano dwie klasy
B. Akapit będzie przekształcany na małe litery
C. Jest to styl zasięg lokalny
D. Odnośnik będzie napisany czcionką o rozmiarze 14 punktów
Pierwsza odpowiedź sugeruje, że styl jest lokalny, ale tak naprawdę to nie jest do końca prawda. Definicje stylów w tym kodzie są globalne, więc nie możesz mówić o stylach lokalnych, które odnosiłyby się tylko do konkretnego elementu. Klasy w arkuszu stylów są dostępne w całym dokumencie, więc to są style globalne. Następna odpowiedź mówi, że akapit będzie transponowany na małe litery, co też nie jest prawdą, bo w CSS nie ma zdefiniowanej transformacji tekstu dla elementu P. Element A ma natomiast zastosowaną transformację, która zmienia tekst na małe litery, więc nie można tego przypisać do akapitu. Ostatnia błędna odpowiedź sugeruje, że odnośnik będzie miał czcionkę 14 punktów i to również jest mylne. W rzeczywistości odnośnik A ma czcionkę 16 punktów, co sprawia, że jest lepiej widoczny niż akapit. Wydaje mi się, że te błędne odpowiedzi wynikają z niepełnego zrozumienia, jak działają klasy CSS i jakie style można przypisać różnym elementom HTML.

Pytanie 21

W tabeli pokazano cechy pliku graficznego. Aby rysunek ładował się szybciej na stronie WWW, należy

Wymiary: 4272 x 2848px
Rozdzielczość: 72 dpi
Format: JPG

A. zmienić format grafiki na CDR
B. zmienić proporcje szerokości do wysokości
C. zwiększyć rozdzielczość
D. zmniejszyć wymiary rysunku
Zmniejszenie wymiarów rysunku to kluczowy krok w optymalizacji czasu ładowania grafiki na stronę WWW. Mniejsze wymiary oznaczają mniejszą ilość danych do przesłania, co skraca czas ładowania strony. Praktycznym przykładem jest zmniejszenie wymiarów obrazu z 4272 x 2848 pikseli do bardziej standardowego rozmiaru, jak np. 1920 x 1080 pikseli dla grafik wyświetlanych na ekranach. Zmniejszenie wymiarów nie tylko przyspiesza ładowanie ale także zmniejsza zużycie transferu danych co jest istotne przy ograniczeniach mobilnych. Warto pamiętać że mniejsze grafiki są też mniej zasobożerne dla urządzeń użytkowników co wpływa na ogólną wydajność strony. Zastosowanie odpowiednich wymiarów jest zgodne z dobrymi praktykami optymalizacji webowej rekomendowanymi przez Google PageSpeed Insights i inne narzędzia analityczne. Optymalizacja grafiki poprzez zmniejszenie jej wymiarów jest podstawową czynnością w procesie tworzenia responsywnych i szybko działających witryn internetowych.

Pytanie 22

Który z przedstawionych poniżej fragmentów kodu HTML5 zostanie uznany przez walidator HTML za niepoprawny?

A.

tekst

B.

tekst

C.

tekst

D.

tekst

Poprawna odpowiedź, która została wskazana, to

tekst

. W kontekście HTML5, element

tekst

. To zapewnia przejrzystość i zgodność z zasadami HTML5, co jest kluczowe dla SEO oraz dostępności strony.

Pytanie 23

W języku CSS zapis h2 {background-color: green;} spowoduje, że kolor zielony będzie dotyczył

A. czcionki nagłówka drugiego stopnia
B. tła tekstu nagłówka drugiego stopnia
C. tła całej strony
D. czcionki każdego nagłówka na stronie
Odpowiedź, że kolor zielony będzie dotyczył tła tekstu nagłówka drugiego stopnia, jest poprawna. W kodzie CSS, zapis h2 {background-color: green;} oznacza, że wszystkie elementy

na stronie będą miały tło w kolorze zielonym. W praktyce oznacza to, że każdy nagłówek drugiego stopnia będzie miał zielone tło, co może być użyteczne do wyróżnienia sekcji na stronie. Warto zauważyć, że stylowanie tła nagłówków może poprawić czytelność i estetykę dokumentu, zwłaszcza w sytuacjach, gdy chcemy podkreślić różne sekcje treści. Dobrą praktyką w CSS jest także używanie klas i identyfikatorów do bardziej precyzyjnego stylowania, co pozwala na unikanie konfliktów z innymi stylami na stronie. Dodatkowo, można eksperymentować z różnymi kolorami i przezroczystościami, aby uzyskać unikalne efekty wizualne, co jest szczególnie ważne w nowoczesnym projektowaniu stron internetowych.


Pytanie 24

W systemie baz danych stworzono tabelę Mieszkancy zawierającą informacje. Aby usunąć tę tabelę wraz z danymi, należy użyć komendy

A. DROP TABLE Mieszkancy;
B. ALTER TABLE Mieszkancy;
C. DELETE FROM Mieszkancy;
D. TRUNCATE TABLE Mieszkancy;
Polecenie 'DROP TABLE Mieszkancy;' jest właściwym sposobem na usunięcie tabeli wraz z jej zawartością w bazie danych. To polecenie nie tylko usuwa tabelę, ale również wszystkie dane, które w niej się znajdują oraz wszelkie powiązania, takie jak klucze obce. W praktyce, gdy programista chce całkowicie wyeliminować strukturę tabeli oraz jej dane, wykorzystuje 'DROP TABLE'. Jest to szczególnie przydatne w sytuacjach, gdy tabela nie jest już potrzebna w systemie, a jej usunięcie pozwala na zwolnienie zasobów oraz uproszczenie struktury bazy danych. Warto również pamiętać, że przed wykonaniem tego polecenia warto stworzyć kopię zapasową danych, jeśli są one istotne, ponieważ operacja ta jest nieodwracalna. Ponadto, zgodnie z zasadami dobrych praktyk, przed usunięciem tabeli należy upewnić się, że nie ma na nią żadnych zależności w innych częściach bazy danych, aby uniknąć potencjalnych problemów z integralnością danych.

Pytanie 25

Pętla w kodzie JavaScript zostanie uruchomiona

Ilustracja do pytania
A. 26 razy
B. 3 razy
C. 2 razy
D. 27 razy
Pętla do-while w JavaScript wykonuje się co najmniej raz ze względu na swoją konstrukcję. W tym przypadku pętla zaczyna się od wartości x równej 1 i w każdej iteracji mnoży x przez 3. Zmienna i jest inkrementowana przy każdej iteracji, co zlicza liczbę wykonanych iteracji. Pętla kontynuuje aż do momentu, gdy x osiągnie wartość 27. Przebieg pętli wygląda następująco: początkowo x=1, po pierwszej iteracji x=3, po drugiej x=9, a po trzeciej x=27. Gdy x osiąga wartość 27, warunek pętli x!=27 przestaje być spełniony i pętla się kończy. Dlatego pętla wykonuje dokładnie 3 iteracje. Zrozumienie działania pętli do-while jest kluczowe, zwłaszcza w kontekście sytuacji, gdzie musimy zagwarantować, że blok kodu wykona się przynajmniej raz niezależnie od warunku na końcu. Tego typu pętle są często używane w aplikacjach wymagających walidacji danych wejściowych, gdzie przynajmniej jedna próba przetworzenia danych musi być wykonana.

Pytanie 26

Który z poniższych znaczników HTML nie służy do formatowania tekstu?

A.
B.
C.
D.
Znacznik
jest używany w HTML do dzielenia dokumentu na sekcje, co czyni go elementem blokowym, który nie formatuje tekstu w sensie stylizacji, ale organizuje strukturę dokumentu. Użycie
jest zgodne z dobrymi praktykami tworzenia przejrzystych i semantycznych kodów HTML, co jest fundamentem w budowie responsywnych oraz dostępnych stron internetowych. Na przykład,
może być użyty do grupowania elementów w sekcję strony, co ułatwia ich stylizację za pomocą CSS. Można tworzyć klasy lub identyfikatory dla
, co pozwala na dalsze formatowanie i manipulację jego zawartością. Warto pamiętać, że stosowanie
jest kluczowe w kontekście nowoczesnych ram CSS, takich jak Flexbox czy Grid, które umożliwiają bardziej zaawansowane układanie elementów na stronie.

Pytanie 27

Jakiego elementu HTML należy użyć, aby uzyskać tekst z czcionką o stałej szerokości znaku, w którym uwzględnione są dodatkowe spacje, tabulacje oraz znaki końca linii?

A.
 ... 
B.
...
C. ...
D. ...
Znacznik jest używany do oznaczania wstawionego tekstu, co jest przydatne w kontekście edytowania dokumentów lub zaznaczania nowego contentu. Nie wpływa on na formatowanie tekstu w sposób, który zachowałby dodatkowe spacje, tabulacje czy znaki końca linii. Jego głównym celem jest wskazanie na zmiany, a nie prezentacja tekstu w formacie preformatowanym. Znacznik służy do wyświetlania fragmentów kodu, ale nie zachowuje on spacji i nowej linii w taki sposób, jak znaczniki preformatowane. Jest to bardziej semantyczny znacznik, który wskazuje, że zawarty tekst jest kodem, ale nie jest przeznaczony do zachowania struktury tekstu. Z kolei
jest używany do cytowania dłuższych fragmentów tekstu, najczęściej z innych źródeł. Również nie zachowuje on formatowania tekstu w sposób, który by uwzględniał dodatkowe białe znaki, a jego główną funkcją jest wyróżnienie cytowanych treści. W kontekście prezentacji tekstu wymagającego precyzyjnego formatowania i zachowania wszystkich spacji, znaczników , oraz
są niewłaściwymi wyborami.

Pytanie 28

W języku C++ stworzono zmienną char zm1[10]; Jakim typem zmiennej jest ta zmienna?

A. tablicą znaków
B. znakiem
C. tablicą łańcuchów
D. liczbą
Zmienna char zm1[10] nie jest liczbą, znakiem ani tablicą łańcuchów, co może prowadzić do nieporozumień wśród osób uczących się języka C++. Liczby w C++ są przechowywane w zmiennych typu int, float, double itp., które nie mają zastosowania w kontekście tablicy znaków. Zmienne char, jak zm1, są używane do przechowywania pojedynczych znaków, ale w tym przypadku mamy do czynienia z tablicą, co zmienia koncepcję użycia. Oznaczenie tablicą łańcuchów również jest niewłaściwe, ponieważ łańcuchy w C++ są typowo reprezentowane jako typ std::string, który zarządza pamięcią automatycznie. Zrozumienie, że tablica zm1[10] to struktura przechowująca sekwencję znaków, a nie pojedyncze znaki czy złożone obiekty, jest kluczowe. Programista powinien mieć świadomość, że tablica znaków ma swoje ograniczenia, takie jak konieczność zarządzania pamięcią oraz kończeniem łańcucha znakiem null. Niezrozumienie różnicy między tymi pojęciami może prowadzić do błędów w kodzie, takich jak przekroczenie rozmiaru tablicy, co z kolei może prowadzić do nieprzewidzianych zachowań programu. Dlatego, zamiast mylić te pojęcia, warto skupić się na praktycznym wykorzystaniu tablic znaków i ich zastosowaniach w programowaniu, aby lepiej zrozumieć ich rolę w C++.

Pytanie 29

Podstawowym celem korzystania z edytora WYSIWYG jest

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

Pytanie 30

Polecenie serwera MySQL w postaci REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal’@’localhost' spowoduje, że użytkownikowi tKowal zostaną

A. przydzielone uprawnienia do usuwania oraz aktualizowania danych w tabeli pracownicy
B. przydzielone uprawnienia do wszelkich zmian struktury tabeli pracownicy
C. odebrane prawa usuwania i modyfikowania danych w tabeli pracownicy
D. odebrane uprawnienia usuwania oraz dodawania rekordów w tabeli pracownicy
Odpowiedź wskazuje, że użytkownikowi tKowal odebrane zostały prawa usuwania i modyfikowania danych w tabeli pracownicy za pomocą polecenia REVOKE. W kontekście zarządzania uprawnieniami w MySQL, polecenie REVOKE jest kluczowym narzędziem, które umożliwia administratorom bazy danych kontrolowanie dostępu użytkowników do różnych operacji na danych. W tym przypadku, przy użyciu REVOKE DELETE, UPDATE, administrator zdejmuje z użytkownika tKowal możliwość usuwania (DELETE) oraz aktualizowania (UPDATE) rekordów w tabeli pracownicy. Praktycznym zastosowaniem tej funkcji może być sytuacja, gdy administrator chce ograniczyć dostęp do wrażliwych danych, aby zapobiec przypadkowemu lub nieuprawnionemu usunięciu informacji. Dobrą praktyką jest regularne przeglądanie i aktualizowanie uprawnień użytkowników, aby zapewnić, że mają oni tylko te uprawnienia, które są im niezbędne do wykonywania swoich obowiązków, co przyczynia się do zwiększenia bezpieczeństwa danych.

Pytanie 31

Jakie będzie rezultatem działania poniższego kodu PHP? ```$a = $c = true; $b = $d = false; if(($a && $b) || ($c && $d)) echo 'warunek1'; elseif(($a && $b) || ($c || $d)) echo 'warunek2'; elseif(($c && $d) || (!$a)) echo 'warunek3'; else echo 'warunek4';```

A. warunek1
B. warunek4
C. warunek2
D. warunek3
Analizowany kod PHP to przykład użycia operatorów logicznych w strukturze sterującej if-else, gdzie każda z odpowiedzi reprezentuje wynik działania konkretnego bloku kodu. Zmienna $a i $c są zainicjalizowane jako true, natomiast $b i $d jako false. Zrozumienie tego jest kluczowe dla poprawnej analizy logicznej. Pierwszy warunek if z ($a && $b) || ($c && $d) nie zostaje spełniony, ponieważ zarówno (true && false) jak i (true && false) zwracają false, co skutkuje false || false, czyli false. Kolejna sekcja elseif obejmuje ($a && $b) || ($c || $d). Tutaj (true && false) zwraca false, ale (true || false) daje true, co prowadzi do false || true, czyli true, co spełnia warunek i 'warunek2' zostaje wyświetlony. Trzeci warunek elseif, sprawdzający ($c && $d) || (!$a), nie jest rozpatrywany, ponieważ poprzedni warunek był już true. Warto podkreślić znaczenie logicznych operatorów w programowaniu: && i || odpowiadają za łączenie warunków, a ich poprawne zrozumienie pozwala na efektywne modelowanie logiki aplikacji. Typowym błędem jest mylenie znaczenia tych operatorów, co może prowadzić do błędnych decyzji warunkowych w kodzie. Programiści powinni zawsze upewniać się, że logika warunków jest zgodna z zamierzonym działaniem programu, a testowanie jest kluczowym elementem tego procesu. Zastosowanie testów jednostkowych może pomóc w zapewnieniu prawidłowego działania skomplikowanych struktur logicznych, pozwalając na wykrycie i korektę potencjalnych błędów logicznych.

Pytanie 32

Jaki rezultat zostanie wyświetlony po wykonaniu przedstawionego kodu HTML?

<ol>
    <li>punkt</li>
    <li>punkt
        <ul>
            <li>punkt</li>
            <li>punkt</li>
        </ul>
    </li>
    <li>punkt</li>
</ol>
<ol type="A" start="4">
    <li>punkt</li>
</ol>

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

4. punkt

A.

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

4. punkt

B.

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

D. punkt

C.

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

D. punkt

D.

A. C.
B. B.
C. D.
D. A.
Niestety, twoja odpowiedź nie była poprawna. Może wynikać to z braku zrozumienia struktury i semantyki kodu HTML, szczególnie w kontekście list uporządkowanych (``) i nieuporządkowanych (``). Kod HTML w pytaniu składa się z dwóch uporządkowanych list, z których pierwsza zawiera trzy elementy. Drugi element pierwszej listy zawiera zagnieżdżoną nieuporządkowaną listę z dwoma elementami. Warto zaznaczyć, że elementy listy nieuporządkowanej są zazwyczaj wyświetlane z kropkami. Druga lista uporządkowana zaczyna numerację od litery 'D', co jest zgodne z poprawną odpowiedzią. Typowym błędem jest niezauważenie zagnieżdżonych list lub niepoprawne zrozumienie funkcji atrybutu start w liście uporządkowanej. W praktyce, zrozumienie struktury i semantyki tagów HTML jest kluczowe dla tworzenia efektywnych i użytecznych stron internetowych. Proponuję, abyś ponownie przeanalizował kod HTML, skupiając się na strukturze list i zrozumieniu atrybutów stosowanych w tagach list.

Pytanie 33

Na podstawie fragmentu dokumentu HTML, określ co należy wpisać w miejsce kropek w odnośniku w menu, aby przenosił on do rozdziału 2.

Fragment menu
<a ...>Rozdział 2</a>

Fragment dalej w dokumencie
<h1 id="r2" name="sekcja2" class="rozdzial2">Rozdział 2<h1>

A. href = "r2"
B. href = "sekcja2"
C. href = "#sekcja2"
D. href = "#r2"
Gratulacje, Twoja odpowiedź jest prawidłowa. Wybrałeś 'href="#r2"', co jest poprawne, ponieważ w HTML, atrybut 'href' w tagu 'a' służy do określenia miejsca docelowego odnośnika. W tym przypadku, miejsce docelowe to identyfikator (id) elementu na tej samej stronie. Przed identyfikatorem umieszcza się znak '#', który informuje przeglądarkę, że ma poszukać elementu z danym 'id' na tej samej stronie. W tym konkretnym przypadku, 'r2' jest identyfikatorem rozdziału 2 na stronie, dlatego 'href="#r2"' skieruje odnośnik do tego rozdziału. W praktyce, używanie identyfikatorów pozwala na tworzenie skomplikowanych stron z wieloma sekcjami, gdzie odsyłacze umożliwiają łatwe i szybkie nawigowanie. To jest zgodne ze standardami i dobrymi praktykami dla tworzenia stron internetowych.

Pytanie 34

W HTML atrybut alt elementu img służy do określenia

A. lokalizacji i nazwy pliku źródłowego grafiki
B. treści, która zostanie pokazana, gdy grafika nie może być załadowana
C. opisu, który pojawi się pod grafiką
D. parametrów grafiki, takich jak wymiary, ramka, wyrównanie
Atrybut alt znacznika img w języku HTML jest niezwykle istotnym elementem, który ma na celu zapewnienie dostępności treści wizualnych dla użytkowników. Gdy obrazek nie może zostać załadowany (np. z powodu problemów z siecią lub błędnej ścieżki do pliku), tekst zawarty w atrybucie alt zostaje wyświetlony zamiast obrazu. W praktyce oznacza to, że osoba korzystająca z technologii asystujących, takich jak czytniki ekranu, będzie miała możliwość zrozumienia, co miało się pojawić w danym miejscu na stronie. Zgodnie z wytycznymi WCAG (Web Content Accessibility Guidelines), stosowanie atrybutu alt jest kluczowe dla zapewnienia dostępności stron internetowych. Przykładem może być sytuacja, w której na stronie internetowej znajduje się obrazek przedstawiający produkt. Atrybut alt powinien zawierać opis tego produktu, co pozwoli użytkownikom, którzy nie widzą obrazu, zrozumieć jego znaczenie. Prawidłowe użycie atrybutu alt nie tylko poprawia dostępność, ale także może wpłynąć na SEO strony, ponieważ wyszukiwarki traktują ten atrybut jako dodatkowy kontekst dla treści wizualnych.

Pytanie 35

W aplikacji PHP, która zarządza bazą danych, aby uzyskać numer błędu oraz jego opis po dokonaniu jakiejkolwiek operacji, jakie funkcje powinny być wykorzystane?

A. funkcje mysqli_error i mysqli_connect_errno
B. funkcje mysqli_error i mysqli_errno
C. funkcje mysqli_error i mysqli_error_number
D. tylko funkcję mysqli_error
Odpowiedź zawierająca funkcje mysqli_error i mysqli_errno jest prawidłowa, ponieważ obie te funkcje dostarczają istotnych informacji dotyczących błędów w kontekście operacji na bazie danych w PHP. Funkcja mysqli_error() zwraca opis ostatniego błędu, który wystąpił w kontekście połączenia z bazą danych. Natomiast mysqli_errno() zwraca numer tego błędu, co jest niezwykle przydatne w diagnostyce. Używanie obu funkcji razem pozwala nie tylko zidentyfikować błąd, ale również zrozumieć jego istotę. Na przykład, jeśli próbujemy wykonać zapytanie, które jest błędne syntaktycznie, można użyć tych funkcji do uzyskania zarówno komunikatu o błędzie, jak i jego kodu, co ułatwia debugowanie. W praktyce, stosowanie tych funkcji jest zgodne z najlepszymi praktykami w programowaniu PHP, ponieważ umożliwia skuteczne zarządzanie wyjątkami i błędami, co jest kluczowe w zapewnieniu stabilności aplikacji.

Pytanie 36

Na podstawie tabeli Towar wykonano poniższe zapytanie SQL. Jaki będzie rezultat tej operacji?

SELECT nazwa_towaru
FROM `Towar`
WHERE cena_katalogowa<65
ORDER BY waga DESC
IDnazwa_towarucena_katalogowawagakolor
1Papier ksero A4112.3biel
2Zeszyt A54.20.13wielokolorowy
3Zeszyt A5 w linie3.50.12niebieski
4Kredki 24 kolory90.3wielokolorowy
5Plecak szkolny65.51.3zielony

A. Zeszyt A5, Zeszyt A5 w linie, Kredki 24 kolory, Papier ksero A4
B. Papier ksero A4, Kredki 24 kolory, Zeszyt A5 w linie, Zeszyt A5
C. Zeszyt A5 w linie, Zeszyt A5, Kredki 24 kolory, Papier ksero A4
D. Papier ksero A4, Kredki 24 kolory, Zeszyt A5, Zeszyt A5 w linie
Patrząc na błędne odpowiedzi, widzę, że poważnym błędem było niezrozumienie klauzuli WHERE oraz ORDER BY. Klauzula WHERE w SQL po prostu wyklucza towary z ceną 65 lub wyższą, co jest kluczowe, bo pozwala filtrować dane. Jak się to zignoruje, to produkt, który nie powinien się tam znaleźć, jak plecak szkolny, mógłby się pojawić. Co więcej, sporo osób myli sortowanie. ORDER BY waga DESC mówi nam, żeby sortować według wagi w kolejności malejącej. Niektórzy źle to interpretują, myśląc, że to jest w porządku rosnącym, albo całkowicie lekceważą wagę w sortowaniu. Wiedza o tym, jak działają te klauzule, jest ważna, gdy się pracuje z SQL. Trzeba zrozumieć, jak działa filtrowanie i sortowanie, bo to jest bazą pracy analityka danych i specjalisty od baz danych. W projektowaniu zapytań SQL każdy element powinien mieć swój cel i być dobrze zrozumiany, żeby pasował do logiki biznesowej i wymagań analizy danych.

Pytanie 37

W języku JavaScript następujący zapis: var napis1 = new napisy); ma na celu

A. stworzenie instancji obiektu napis1 klasy napisy
B. stworzenie nowej klasy napis1
C. wywołanie metody dla obiektu napisy
D. zadeklarowanie zmiennej napis1 oraz wywołanie funkcji, w której argumentem jest napis1
Pierwsza z niepoprawnych odpowiedzi sugeruje, że kod tworzy nową klasę 'napis1', co jest błędem. W rzeczywistości, w JavaScript klasy są definiowane za pomocą słowa kluczowego 'class', a 'new napisy()' uruchamia konstruktor, a nie definiuje klasę. Klasy w JavaScript można zdefiniować w następujący sposób: 'class napisy { constructor() { this.text = ''; }}', co wyraźnie różni się od podanego przykładu. Kolejna odpowiedź mówi o wywołaniu metody obiektu 'napisy', co również jest mylące, ponieważ aby wywołać metodę, obiekt musi być już stworzony, a 'new napisy()' nie wywołuje metody, lecz tworzy instancję obiektu. Ostatnia z odpowiedzi wskazuje na zadeklarowanie zmiennej 'napis1' i wywołanie funkcji z argumentem 'napis1', co jest całkowicie niezgodne z intencją podanego kodu. Nie ma tu żadnego wywołania funkcji z argumentem, a 'new' jest używane do instancjonowania klasy, co nie ma nic wspólnego z przekazywaniem argumentów do funkcji. Tak więc, wszystkie te odpowiedzi nie oddają prawidłowego zrozumienia działania konstrukcji obiektowych w JavaScript.

Pytanie 38

Który zapis w języku JavaScript daje taki sam wynik jak poniższy kod?

x = 0;
x += 10;

A. x = 10; x = x + 10
B. x = 0; x++; x = x + 9
C. x = 10; x = 0
D. x = 0; x--; x *= 9
Analiza odpowiedzi prowadzi do zrozumienia, że w niektórych przypadkach programiści mogą mieć trudności z interpretacją operacji na zmiennych. W przypadku pierwszej z niepoprawnych odpowiedzi, x = 0; x--; x *= 9; prowadzi to do innej logiki. Po przypisaniu x = 0, użycie x-- zmienia wartość x na -1, a następnie mnożenie przez 9 skutkuje -9, co nie ma nic wspólnego z oczekiwaną wartością 10. To pokazuje, jak nieprawidłowe zrozumienie podstawowych operacji arytmetycznych może prowadzić do błędów. W drugiej niepoprawnej odpowiedzi, x = 10; x = x + 10; przypisanie 10 do x oraz dodanie 10 do x daje wartość 20, co również jest dalekie od oczekiwanego wyniku. Takie nieprawidłowe podejście do operacji przypisania i dodawania może być wynikiem niedostatecznej znajomości reguł działania operatorów w JavaScript. Wreszcie, ostatnia odpowiedź, x = 10; x = 0; jest sprzeczna sama w sobie, ponieważ po przypisaniu 10, nadpisanie wartości na 0 bez żadnej operacji arytmetycznej skutkuje wartością 0, co jest jeszcze bardziej mylące. Wnioskując, kluczowe jest zrozumienie, jak działają operatory w JavaScript oraz unikanie typowych pułapek wynikających z niepoprawnego łączenia przypisania i operacji arytmetycznych. Takie błędy mogą prowadzić do trudności w debugowaniu i utrzymaniu kodu, dlatego warto przestrzegać dobrych praktyk programistycznych oraz dokładnie analizować operacje na zmiennych.

Pytanie 39

Do tabeli pracownicy wpisano rekordy. Co zostanie wyświetlone po uruchomieniu kwerendy SQL SELECT podanej poniżej?

SELECT SUM(pensja) FROM pracownicy WHERE pensja > 4000;
idimienazwiskopensja
1AnnaKowalska3400
2MonikaNowak1300
3EwelinaNowakowska2600
4AnnaPrzybylska4600
5MariaKowal2200
6EwaNowacka5400

A. Wartość 10000, czyli suma pensji pracownika o id=4 oraz o id=6.
B. Dwie wartości: 4600 i 5400, jako pensje pracowników wyższe niż 4000.
C. Wartość 5400, czyli najwyższa pensja pracownika.
D. Wartość 19500, czyli suma wszystkich pensji pracowników.
Gratulacje, twoja odpowiedź jest poprawna. Kwerenda SQL 'SELECT SUM(pensja) FROM pracownicy WHERE pensja > 4000;' jest zapytaniem, które agreguje (suma) wartości kolumny 'pensja' dla tych wierszy, gdzie pensja przekracza 4000. SQL jest językiem, który pozwala na manipulację i odzyskiwanie danych przechowywanych w relacyjnej bazie danych. Funkcja SUM() jest jednym z podstawowych operatorów agregujących w SQL, który zwraca sumę wartości numerycznych. W tym konkretnym przypadku, zgodnie z pytaniem, suma pensji pracowników, którzy zarabiają więcej niż 4000 wynosi 10000. To pokazuje, jak potężne mogą być kwerendy SQL, umożliwiając szybkie wykonanie złożonych obliczeń na dużych zestawach danych. Podejście to jest często stosowane w analizie danych i raportowaniu, gdzie potrzebna jest agregacja danych na różnych poziomach.

Pytanie 40

Który z poniższych formatów nie umożliwia zapisu plików animowanych?

A. ACE
B. SWF
C. GIF
D. SVG
GIF, SWF i SVG to popularne formaty, które umożliwiają przechowywanie animacji. GIF, czyli Graphics Interchange Format, od lat jest standardem w sieci do tworzenia prostych animacji. Dzięki możliwości zapisywania sekwencji obrazów w jednym pliku, GIF umożliwia tworzenie krótkich klipów animowanych, które są powszechnie wykorzystywane w mediach społecznościowych, takich jak Twitter czy Facebook. Format ten obsługuje do 256 kolorów z palety, co sprawia, że jest idealny do prostych animacji, ale mniej skuteczny w przypadku bardziej złożonych obrazów kolorowych. SWF, lub Shockwave Flash, jest innym formatem, który został zaprojektowany przez firmę Adobe do tworzenia interaktywnych aplikacji i animacji w sieci. Umożliwia on osadzanie dźwięku, wideo oraz zaawansowane animacje, co czyni go bardzo wszechstronnym narzędziem dla twórców treści internetowych. SVG, z angielskiego Scalable Vector Graphics, to format oparty na XML, który obsługuje grafikę wektorową oraz animacje. Dzięki zastosowaniu technologii HTML5, SVG pozwala na dynamiczne animacje i interaktywność, co znacząco zwiększa jego zastosowanie w nowoczesnych aplikacjach internetowych. W związku z tym, te trzy formaty są niewątpliwie przystosowane do tworzenia i zapisywania plików animowanych, co czyni je nieodpowiednimi odpowiedziami w kontekście pytania.