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: 27 maja 2026 18:34
  • Data zakończenia: 27 maja 2026 18:48

Egzamin niezdany

Wynik: 17/40 punktów (42,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

W języku JavaScript, aby uzyskać podciąg tekstu pomiędzy wskazanymi indeksami, należy skorzystać z metody

A. slice()
B. replace()
C. trim()
D. concat()
Wybór innych metod do manipulacji napisami może wynikać z nieporozumienia dotyczącego ich funkcji. Metoda trim() służy do usuwania białych znaków z początku i końca napisu, co jest przydatne w kontekście walidacji danych wejściowych, ale nie pozwala na wydzielanie fragmentów napisu. Z kolei concat() jest zarezerwowana do łączenia dwóch lub więcej napisów w jeden, co również nie ma związku z wydzielaniem fragmentów. Użytkownicy często mylą concat() z slice(), błędnie sądząc, że obie metody operują na podobnych zasadach, gdyż obydwie dotyczą manipulacji napisami, jednak ich funkcjonalność jest całkowicie różna. Metoda replace() pozwala na zamianę określonych fragmentów tekstu na inne, co jest przydatne w kontekście przetwarzania danych, jednak również nie odpowiada na pytanie o wydzielanie segmentów. Typowe błędy w myśleniu na ten temat mogą wynikać z niepełnego zrozumienia celów tych metod oraz ich zastosowania w praktyce. Aby uniknąć takich nieporozumień, warto zwrócić uwagę na dokumentację JavaScript oraz praktykować ich zastosowanie w różnych scenariuszach, co z pewnością pomoże w zrozumieniu różnicy między tymi metodami.

Pytanie 2

System baz danych gromadzi multimedia, co wiąże się z przechowywaniem znacznych ilości danych binarnych. Jakiego typu danych należy użyć w tym przypadku?

A. BLOB
B. ENUM
C. LONGTEXT
D. DOUBLE
Wybór innych typów danych, takich jak ENUM, DOUBLE czy LONGTEXT, do przechowywania danych multimedialnych jest nieodpowiedni z kilku powodów. ENUM jest typem danych służącym do przechowywania z góry zdefiniowanych wartości, co oznacza, że jego zastosowanie ogranicza się do małych zestawów danych, takich jak kategorie czy statusy, a nie do dużych, binarnych plików multimedialnych. Przykładowo, jeśli chcielibyśmy przechować obraz jako ENUM, napotkalibyśmy na problem z rozmiarem oraz elastycznością tego rozwiązania, co w praktyce byłoby nieefektywne. DOUBLE z kolei jest typem służącym do przechowywania liczb zmiennoprzecinkowych, co również nie ma zastosowania w kontekście danych binarnych, takich jak multimedia. Użycie DOUBLE do przechowywania plików audio czy wideo byłoby błędne, ponieważ nie jest on przystosowany do przechowywania danych binarnych, a jedynie do reprezentacji wartości numerycznych. LONGTEXT, mimo że może pomieścić dużą ilość danych tekstowych, również nie jest odpowiedni do przechowywania danych binarnych. Jest to typ przeznaczony do długich łańcuchów znaków, co nie pasuje do formatu plików multimedialnych, które wymagają innego podejścia. Użycie niewłaściwych typów danych w bazach danych może prowadzić do problemów z wydajnością, a także do trudności w zarządzaniu danymi. Dlatego ważne jest, aby dobrze rozumieć różnice między typami danych i ich zastosowaniem w praktyce, aby zapewnić optymalne przechowywanie i zarządzanie danymi w aplikacjach.

Pytanie 3

W tabeli klienci znajduje się pole status, które może przyjmować wartości: Zwykły, Złoty, Platynowy. Z uwagi na to, że dane klientów o statusie Platynowy są przetwarzane najczęściej, konieczne jest utworzenie wirtualnej tabeli (widoku), która będzie zawierała wyłącznie te informacje. W tym celu można użyć kwerendy

A. CREATE VIEW KlienciPlatyna AS SELECT * FROM klienci WHERE status = "Platynowy"
B. CREATE VIEW KlienciPlatyna FROM klienci WHERE status = "Platynowy"
C. CREATE VIEW KlienciPlatyna AS SELECT status FROM klienci WHERE "Platynowy"
D. CREATE VIEW KlienciPlatyna AS klient WHERE status = "Platynowy"
Wszystkie inne odpowiedzi zawierają błędy w składni SQL lub koncepcjach dotyczących tworzenia widoków. Odpowiedź pierwsza, sugerując 'CREATE VIEW KlienciPlatyna AS klient WHERE status = "Platynowy";', jest niepoprawna, ponieważ nie podaje poprawnej struktury zapytania. W SQL nie używa się słowa kluczowego 'client' w takim kontekście. Odpowiedź druga, 'CREATE VIEW KlienciPlatyna FROM klienci WHERE status = "Platynowy";', wykorzystuje słowo kluczowe 'FROM', które nie jest obsługiwane w definicji widoków; zamiast tego powinno się używać 'AS SELECT'. Odpowiedź trzecia, 'CREATE VIEW KlienciPlatyna AS SELECT status FROM klienci WHERE "Platynowy";', także nie jest poprawna, ponieważ nie zawiera pełnej definicji warunku filtracji, a zamiast tego próbuję zastosować wartość bez kontekstu, co prowadzi do błędnych wyników. W SQL każdy element zapytania ma swoje miejsce i funkcje, a niepoprawna konstrukcja może skutkować błędami lub nieprzewidywalnymi rezultatami. W praktyce ważne jest, aby zrozumieć, jak budować zapytania w sposób zgodny z gramatyką języka SQL i jak optymalizować je dla lepszej wydajności. Prawidłowe zrozumienie struktury zapytań jest kluczowe w pracy z bazami danych.

Pytanie 4

Który z poniższych skryptów pokazuje bieżącą datę oraz czas w formacie 2024-04-14 13:45:19?

A. <?php echo date("Y-m-d G:i:s"); ?>
B. <?php echo date("Ymd Gis"); ?>
C. <?php date("Y-m-d G:i:s"); ?>
D. <?php date("Y-m-d”) + time("G:i:s"); ?>
W pierwszej odpowiedzi użycie date oraz time jest niepoprawne, ponieważ funkcja time w PHP nie przyjmuje parametrów i zwraca znacznik czasu Unix, który nie formatuje czasu w sposób czytelny dla użytkownika. Próba dodawania tych dwóch funkcji powoduje błąd składniowy, ponieważ nie można łączyć wyników funkcji za pomocą operatora + w ten sposób. Druga odpowiedź używa funkcji echo poprawnie, ale formatowanie daty i czasu jest błędne. W tej odpowiedzi brakuje łączników pomiędzy elementami daty i czasu, co powoduje nieczytelny wynik, taki jak 20190923 105816. Ponadto, nie zastosowano dwukropków pomiędzy godziną minutami i sekundami, co jest kluczowe dla zrozumienia przez użytkownika. Trzecia odpowiedź zawiera poprawne formatowanie daty i czasu, ale nie używa funkcji echo, co oznacza, że wynik nie zostanie wyświetlony użytkownikowi. W PHP funkcja date musi być połączona z echo lub print, aby jej wynik był widoczny na stronie. Typowy błąd myślowy polega na nierozróżnieniu między formatowaniem a wyświetlaniem danych, co jest kluczowe w programowaniu webowym. Zrozumienie tych zasad jest fundamentalne dla tworzenia dynamicznych i interaktywnych aplikacji.

Pytanie 5

W języku HTML stworzono odnośnik z symbolem #. Co się wydarzy po kliknięciu na podany link?

<a href="#dane">

A. Strona przewinie się do elementu z id o nazwie dane
B. Zostanie użyty względny adres URL o nazwie dane
C. Otworzy się nowa karta przeglądarki zatytułowana dane
D. Uruchomi się skrypt o nazwie dane
Pierwsza z niepoprawnych odpowiedzi sugeruje, że po kliknięciu w odsyłacz zostanie wywołany skrypt o nazwie 'dane'. To podejście jest nieprawidłowe, ponieważ odsyłacz w HTML ze znakiem # nie wywołuje żadnych skryptów. Hiperłącza z # są używane wyłącznie do nawigacji po stronie i nie mają związku z uruchamianiem skryptów. Druga odpowiedź wskazuje, że otworzy się osobna karta przeglądarki o nazwie 'dane', co również jest błędne. Hiperłącza zaczynające się od # nie prowadzą do nowych kart ani okien; zamiast tego zmieniają lokalizację w bieżącej karcie przeglądarki. Kolejna z niepoprawnych koncepcji sugeruje, że zostanie wybrany adres względny URL o nazwie 'dane'. Jednakże wykorzystanie # odnosi się do lokalizacji na tej samej stronie, a nie do adresów względnych. Warto zrozumieć, że adresy względne są używane do nawigacji pomiędzy różnymi stronami, a nie do lokalizacji na tej samej stronie. Typowym błędem myślowym w takich przypadkach jest mylenie funkcji hiperłączy z różnymi innymi mechanizmami, takimi jak skrypty, nowe karty czy adresy względne. Zrozumienie tych różnic jest kluczowe dla skutecznego projektowania stron internetowych oraz optymalizacji ich nawigacji.

Pytanie 6

Co oznacza pojęcie integralności referencyjnej?

A. Każdej wartości klucza obcego odpowiada dokładnie jedna wartość klucza podstawowego.
B. Baza jest odporna na błędy i awarie wynikające z zawodności sprzętu i oprogramowania.
C. Wartość atrybutu należy do jego dziedziny.
D. Każda encja musi mieć zdefiniowany klucz podstawowy o wartości unikatowej i różnej od NULL.
Pojęcie integralności referencyjnej bywa mylone z innymi rodzajami ograniczeń w bazie danych, dlatego łatwo tu o skrót myślowy. W relacyjnych bazach danych mamy kilka różnych typów integralności: integralność encji, integralność dziedzinową oraz właśnie integralność referencyjną. Każda z nich dotyczy trochę innego aspektu poprawności danych i warto je sobie w głowie rozdzielić, bo w praktyce projektowej to mocno pomaga. Stwierdzenie, że wartość atrybutu należy do jego dziedziny, opisuje integralność dziedzinową. Oznacza to, że np. kolumna typu DATE faktycznie przechowuje poprawne daty, kolumna z ograniczeniem CHECK mieści tylko dopuszczalne wartości, a kolumna typu INT nie zawiera losowego tekstu. To jest ważne, ale nie ma nic wspólnego z powiązaniem między dwiema tabelami. Tutaj mówimy o poprawności pojedynczej kolumny, a nie relacji klucz główny–klucz obcy. Z kolei odporność bazy na błędy sprzętu czy oprogramowania to już zupełnie inny obszar – to domena niezawodności systemu, mechanizmów transakcyjności, backupów, logów transakcyjnych, klastrów HA, replikacji itd. To są dobre praktyki administracyjne i architektoniczne, ale nie opisują integralności referencyjnej. Można mieć świetnie zabezpieczony serwer, a jednocześnie kompletnie rozwaloną spójność logiczną danych, jeśli nie ma poprawnie zdefiniowanych kluczy obcych. Wymóg, że każda encja ma unikalny klucz podstawowy, dotyczy integralności encji. Chodzi o to, żeby każdy rekord w tabeli dało się jednoznacznie zidentyfikować i żeby klucz główny nie był NULL. To jest fundament, ale nadal mówimy tylko o pojedynczej tabeli. Integralność referencyjna wchodzi dopiero wtedy, gdy jedna tabela „wskazuje” na drugą przez klucz obcy. Typowy błąd myślowy polega na wrzuceniu do jednego worka wszystkich zasad typu PRIMARY KEY, FOREIGN KEY, CHECK, UNIQUE i nazywaniu tego ogólnie integralnością. W rzeczywistości integralność referencyjna jest ściśle związana z relacjami między tabelami: pilnuje, żeby żaden klucz obcy nie wskazywał na nieistniejący rekord. Jeśli chcemy projektować bazy sensownie, trzeba świadomie odróżniać te pojęcia i korzystać z odpowiednich ograniczeń dokładnie tam, gdzie są potrzebne.

Pytanie 7

Użytkownik Jan będzie mógł wykonywać

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';
A. wszystkie operacje na tabelach bazy dane.
B. jedynie operacje manipulowania danymi i zmienić jedynie swoje prawa.
C. jedynie operacje CREATE, ALTER, DROP na tabelach bazy dane.
D. wszystkie operacje na tabelach bazy dane oraz nadawać prawa innym użytkownikom.
Wszystkie pozostałe odpowiedzi są niepoprawne z różnych powiedział. Druga odpowiedź sugeruje, że Jan może wykonywać tylko operacje CREATE, ALTER, DROP. Jest to nieprawidłowe, ponieważ otrzymał on pełne uprawnienia do bazy danych, co zdecydowanie wykracza poza te trzy operacje. Trzecia odpowiedź zawiera błędne przekonanie, że Jan może nadawać uprawnienia innym użytkownikom. Pomimo posiadania pełnych uprawnień do bazy danych, nie oznacza to, że ma on możliwość zarządzania uprawnieniami innych użytkowników. Czwarta odpowiedź jest również błędna, twierdząc, że Jan może manipulować danymi i zmieniać tylko swoje uprawnienia. W rzeczywistości, Jan nie ma uprawnień do zmiany swoich własnych uprawnień - to zadanie zazwyczaj spoczywa na administratorze bazy danych. Wszystkie te błędy wynikają z niewłaściwego zrozumienia zarządzania uprawnieniami w bazach danych i roli konstrukcji GRANT. W rzeczywistości, GRANT pozwala na precyzyjne i granularne zarządzanie uprawnieniami, a pełne uprawnienia oznaczają pełną kontrolę nad bazą danych, ale nie nad uprawnieniami innych użytkowników.

Pytanie 8

Sprawdzanie poprawności wypełnienia formularza, które ma przebiegać po stronie klienta, powinno być wykonane w języku

A. Ruby on Rails
B. JavaScript
C. CSS
D. PHP
Weryfikacja kompletności formularza po stronie przeglądarki jest kluczowym elementem interakcji użytkownika z aplikacją internetową. Do realizacji tego zadania najczęściej wykorzystuje się język JavaScript, który umożliwia dynamiczne manipulowanie strukturą HTML oraz reagowanie na zdarzenia użytkownika, takie jak kliknięcia czy wprowadzanie danych. Przykładem może być zdefiniowanie funkcji, która sprawdza, czy wszystkie wymagane pola formularza zostały uzupełnione przed jego wysłaniem. W tym celu można użyć zdarzenia 'submit', aby przechwycić moment wysłania formularza i przeprowadzić odpowiednie sprawdzenie. Standardy, takie jak W3C, zalecają stosowanie walidacji po stronie klienta, jako sposób na poprawę doświadczeń użytkownika i zmniejszenie obciążenia serwera. Przykład kodu JavaScript do walidacji formularza mógłby wyglądać następująco: function validateForm() { var x = document.forms["myForm"]["fname"].value; if (x == "") { alert("Imię musi być wypełnione"); return false; } }. Takie podejście nie tylko zwiększa użyteczność aplikacji, ale również pozwala na wczesne wykrywanie błędów, co może znacznie poprawić jakość danych przesyłanych do serwera.

Pytanie 9

Pierwszym etapem w procesie konwersji sygnału analogowego na cyfrowy jest

A. kwantyzacja
B. filtracja
C. kodowanie
D. próbkowanie
Filtrowanie i próbkowanie to dwa różne procesy, chociaż czasem można się pogubić. Filtrowanie polega na tym, że usuwamy niechciane częstotliwości z sygnału analogowego przed jego próbkowaniem. Jak nie zrobimy tego dobrze, sygnał może mieć różne zakłócenia, które później popsują wyniki próbkowania. Kodowanie to już inna bajka, bo tu przekształcamy wartości, które próbkowaliśmy, na format binarny. Kwantyzacja z kolei to proces wygładzania tych wartości do najbliższych punktów. Niektórzy mylą te procesy i myślą, że są takie same, a to błąd! One wszystkie są ważne i muszą zachodzić w odpowiedniej kolejności, żeby sygnał cyfrowy wiernie odwzorował sygnał analogowy. Musimy też pamiętać o standardach, jak Nyquist-Shannon, żeby wszystko działało jak należy.

Pytanie 10

W języku HTML, dane dotyczące autora, opisu oraz słów kluczowych strony powinny być zamieszczone

A. pomiędzy znacznikami <body> i </body>, w znaczniku <html>
B. pomiędzy znacznikami <head> i </head>, w znaczniku <meta>
C. pomiędzy znacznikami <head> i </head>, w znaczniku <style>
D. pomiędzy znacznikami <body> i </body>, w znaczniku <meta>
Umieszczanie metadanych pomiędzy znacznikami <body> i </body>, w znaczniku <meta>, jest błędem, ponieważ sekcja <body> przeznaczona jest na treść, która ma być wyświetlana na stronie użytkownika. Znaczniki <meta> powinny znajdować się w sekcji <head>, aby metadane mogły być prawidłowo interpretowane przez przeglądarki oraz roboty wyszukiwarek. Zastosowanie znaczników <style> w sekcji <head> do wprowadzania informacji takich jak autor czy słowa kluczowe jest nieadekwatne. Znacznik <style> jest używany wyłącznie do definiowania stylów CSS, a nie do przechowywania metadanych. Umieszczanie metadanych w sekcji <html> jest również niepoprawne, ponieważ to nie jest dedykowane miejsce na te informacje. Sekcja <html> definiuje dokument HTML jako całość, a nie poszczególne aspekty, takie jak metadane. Dlatego kluczowe jest, aby wszystkie metadane były umieszczane w odpowiedniej sekcji <head>, co zapewnia ich funkcjonalność i zgodność ze standardami HTML.

Pytanie 11

Witryna internetowa zawiera poziome menu w formie listy punktowanej. Aby elementy tej listy mogły być wyświetlane w jednej linii, należy przypisać selektorowi li właściwość

A. outline
B. position
C. text-align
D. display
Wybór opcji 'outline' jako właściwości do ustawienia dla selektora 'li' w kontekście wyświetlania elementów listy w jednej linii jest błędny, ponieważ 'outline' dotyczy jedynie rysowania konturów wokół elementu, nie wpływa natomiast na ich układ. Przykładowo, 'outline' jest często używane w celu poprawy dostępności elementów interaktywnych, takich jak przyciski, ale nie ma żadnego wpływu na ich położenie w dokumencie. Z kolei 'position' jest używane do określenia sposobu pozycjonowania elementów, co również nie wpływa na ich wyświetlanie w jednej linii. Choć 'position: relative;' lub 'absolute;' mogą zmienić sposób, w jaki elementy są rozmieszczone w stosunku do siebie, to jednak nie jest to odpowiednie narzędzie do uzyskania efektu poziomego menu. Natomiast 'text-align' jest właściwością, która ustala sposób wyrównania tekstu wewnątrz bloku, ale również nie dotyczy samego wyświetlania elementów listy. Używanie takich podejść może prowadzić do nieporozumień i błędów w projektach, gdzie kluczowe jest zrozumienie, że różne właściwości CSS mają swoje specyficzne zastosowania i nie mogą być zamieniane. Zrozumienie tego aspektu jest kluczowe dla prawidłowego tworzenia układów w stronach internetowych i unikania typowych błędów w stylizacji.

Pytanie 12

Formularz, który pełni rolę pośrednika w nawigacji po bazie danych pomiędzy formularzami i kwerendami dostępnymi w systemie, określany jest jako formularz

A. zagnieżdżonym
B. głównym
C. sterującym
D. pierwotnym
Formularz sterujący jest kluczowym elementem w projektowaniu baz danych, który pozwala na efektywną nawigację pomiędzy różnymi formularzami oraz kwerendami. Jego główną funkcją jest dostarczanie użytkownikowi centralnego punktu dostępu do różnych części aplikacji, co ułatwia zarządzanie danymi oraz ich przeglądanie. Przykładowo, w aplikacjach biznesowych formularz sterujący może zawierać przyciski, które kierują użytkownika do formularzy wprowadzania danych, formularzy raportowych, czy kwerend do wyszukiwania informacji. Dobrą praktyką jest, aby formularz sterujący był intuicyjny i estetyczny, co zwiększa użyteczność i efektywność aplikacji. W standardach projektowania baz danych, formularze sterujące są często powiązane z koncepcją MVC (Model-View-Controller), gdzie pełnią rolę kontrolera, który zarządza przepływem danych między modelem a widokiem, co umożliwia lepsze organizowanie interakcji użytkownika z systemem.

Pytanie 13

input[type=number] { background-color: Brown; }
Zapis tego selektora oznacza, że tło będzie miało brązowy kolor dla:
A. pól edycyjnych, w które użytkownik wprowadzi dowolną cyfrę
B. pól edycyjnych, które są typu numerycznego
C. wszystkich typów pól edycyjnych
D. wszystkich tekstów na stronie internetowej
Selekcja `input[type=number]` w CSS jest używana do stylizacji pól formularzy, które oczekują wartości numerycznych. Tło tych pól zostanie ustawione na kolor brązowy, co wpływa na ich wygląd i może poprawić doświadczenie użytkownika. Takie podejście jest zgodne z zasadami dostępności, ponieważ pozwala użytkownikom na natychmiastowe rozpoznanie, które pola są przeznaczone do wprowadzania cyfr. Przykładem zastosowania może być formularz zamówienia, w którym część pól ma określony typ, jak `number`, co ogranicza wprowadzanie do wartości liczbowych. Używając odpowiednich typów input, projektanci mogą tworzyć bardziej intuicyjne interfejsy, które redukują błędy użytkowników oraz poprawiają proces wypełniania formularzy. W tym kontekście warto również zwrócić uwagę na standardy W3C, które zalecają stosowanie typów input, aby zapewnić lepszą kompatybilność i funkcjonalność w różnych przeglądarkach i urządzeniach.

Pytanie 14

Stronę internetową zapisano w języku XHTML. Który z kodów stanowi implementację przedstawionego fragmentu strony, jeżeli żadne style CSS nie zostały zdefiniowane?

Początki HTML

W 1980 fizyk Tim Berners-Lee, pracownik CERN,
stworzył prototyp hipertekstowego systemu informacyjnego – ENQUIRE


A.
<b>Początki HTML</b>
<p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył
<b>prototyp hipertekstowego systemu informacyjnego – <i>ENQUIRE</i></b></p>
B.
<h1>Początki HTML</h1>
<p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył
<b>prototyp hipertekstowego systemu informacyjnego – <i>ENQUIRE</i></b></p>
C.
<b>Początki HTML</b>
<p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<hr /> stworzył
<b>prototyp hipertekstowego systemu informacyjnego – <i>ENQUIRE</i></b></p>
D.
<h1>Początki HTML</h1>
<p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył
<i>prototyp hipertekstowego systemu informacyjnego – <b>ENQUIRE</b></i></p>
A. A.
B. C.
C. D.
D. B.
Twoja odpowiedź jest poprawna. Wybrałeś opcję B, która przedstawiała poprawną implementację fragmentu strony internetowej napisanej w języku XHTML. W tym fragmencie wykorzystane zostały standardowe tagi XHTML, takie jak <h1> do oznaczenia nagłówka pierwszego poziomu oraz <p> do definiowania akapitu. Dodatkowo w tekście użyte zostały tagi <b> i <i> do odpowiednio pogrubienia i kursywy, co podkreśla ważność wybranych fragmentów tekstu. Tag <br /> pozwala na stworzenie przerwy wiersza, co jest szczególnie użyteczne w przypadku długich akapitów tekstu. Pamiętaj, że XHTML jest bardziej rygorystyczną wersją HTML i wymaga zawsze domknięcia tagów. Wiedza na ten temat jest niezwykle ważna podczas tworzenia stron internetowych, a standardy i dobre praktyki branżowe pomagają w utrzymaniu kodu w czytelnej i zrozumiałej formie.

Pytanie 15

W tabeli psy znajdują się kolumny: imię, rasa, telefon_właściciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby znaleźć numery telefonów właścicieli psów, które zostały zaszczepione przed 2015 rokiem?

A. SELECT telefon_właściciela FROM psy WHERE rok_szczepienia < 2015
B. SELECT imię, rasa FROM psy WHERE rok_szczepienia > 2015
C. SELECT telefon_właściciela FROM psy WHERE rok_szczepienia > 2015
D. SELECT psy FROM rok_szczepienia < 2015
Wybór odpowiedzi, które nie są zgodne z wymaganiami pytania, zazwyczaj wynika z nieprawidłowego zrozumienia zarówno struktury zapytania SQL, jak i kontekstu problemu. Na przykład, pierwsza odpowiedź sugeruje użycie 'SELECT psy FROM rok_szczepienia < 2015', co jest błędne, ponieważ polecenie to nie zawiera kolumn, które chcemy wybrać, a także nieprawidłowo formułuje warunek. SQL wymaga, aby w klauzuli SELECT wskazać konkretne kolumny, a nie całą tabelę. Kolejna odpowiedź, wskazująca na 'SELECT imię, rasa FROM psy WHERE rok_szczepienia > 2015', jest również błędna, ponieważ zamiast telefonów właścicieli, wybiera dane dotyczące imion i ras psów oraz zawiera niewłaściwy warunek dotyczący roku szczepienia. Z kolei ostatnia odpowiedź zawiera błąd w interpretacji, wybierając telefony właścicieli psów, które były szczepione po 2015 roku, co jest sprzeczne z założeniem problemu. Tego typu błędy myślowe, jak pomylenie kryteriów wyboru lub wybór nieodpowiednich kolumn, mogą prowadzić do nieprawidłowych wyników w bazach danych. Aby skutecznie korzystać z SQL, kluczowe jest zrozumienie, jak funkcjonują podstawowe konstrukcje zapytań oraz jak poprawnie stosować warunki filtrowania w kontekście wymaganych rezultatów. Właściwe umiejscowienie warunków w klauzuli WHERE oraz precyzyjne definiowanie wybieranych kolumn to fundamenty, które każdy, kto pracuje z bazami danych, powinien opanować.

Pytanie 16

Co oznacza skrót SQL?

A. Sequential Question Language
B. Simple Query Logic
C. Structured Query Language
D. Standard Quality Language
Podczas gdy SQL oznacza <em>Structured Query Language</em>, pozostałe propozycje nazw są błędne i nie odzwierciedlają prawdziwego znaczenia skrótu. Często spotykanym błędem jest mylenie skrótów związanych z technologią z innymi, które brzmią podobnie, ale nie mają związku z kontekstem technicznym. W przypadku <em>Standard Quality Language</em>, jest to przykład błędnego dopasowania, ponieważ nie ma bezpośredniego związku z bazami danych ani językiem zapytań. Podobnie, <em>Sequential Question Language</em> brzmi jakby miało związek z zadawaniem pytań w sekwencji, co jest całkowitym nieporozumieniem w kontekście SQL. Z kolei <em>Simple Query Logic</em> może wydawać się związany z logiką zapytań, ale nie oddaje w pełni roli i funkcji SQL jako języka do zarządzania danymi. Takie błędne interpretacje wynikają często z nieznajomości terminologii technicznej i mogą prowadzić do nieporozumień w kontekście zawodowym. Ważne jest, aby dobrze rozumieć podstawową terminologię, zwłaszcza w tak kluczowych dziedzinach jak zarządzanie bazami danych, aby unikać błędów w komunikacji i implementacji rozwiązań technicznych.

Pytanie 17

Częstotliwość próbkowania ma wpływ na

A. jakość analogowego dźwięku
B. amplitudę fali dźwiękowej utworu
C. skalę głośności zapisywanego utworu
D. jakość cyfrowego dźwięku
Jakość analogowego dźwięku nie jest bezpośrednio uzależniona od częstotliwości próbkowania, ponieważ dźwięk analogowy jest rejestrowany w sposób ciągły, a nie dyskretny, jak ma to miejsce w przypadku sygnałów cyfrowych. W przypadku nagrań analogowych, takich jak taśmy magnetofonowe czy płyty winylowe, jakość dźwięku zależy od innych czynników, takich jak jakość użytych materiałów oraz techniki nagrywania. Amplituda fali dźwiękowej utworu odnosi się do wysokości fali dźwiękowej, a nie do częstotliwości próbkowania. Amplituda jest związana z głośnością dźwięku, a częstotliwość próbkowania nie wpływa na wysokość fali dźwiękowej, lecz na sposób jej cyfryzacji. Wreszcie, skala głośności zapisywanego utworu, mimo że jest istotna dla ogólnego postrzegania dźwięku, również nie jest bezpośrednio związana z częstotliwością próbkowania. Głośność utworu można regulować niezależnie od tego, w jakiej częstotliwości próbki są zbierane, ponieważ głośność jest kontrolowana przez parametry miksu, takie jak zastosowanie kompresji, EQ czy poziomy sygnału. Dlatego żadna z tych odpowiedzi nie oddaje wpływu częstotliwości próbkowania na jakość cyfrowego dźwięku.

Pytanie 18

Emblemat systemu CMS o nazwie Joomla! to

Ilustracja do pytania
A. A.
B. B.
C. C.
D. D.
Logo systemu CMS Joomla! składa się z czterech kolorowych elementów ułożonych w ciekawy wzór, który od razu zwraca uwagę. Moim zdaniem, ten design dobrze oddaje ideę Joomla!, bo podkreśla współpracę i wspólnotę. To jeden z najpopularniejszych systemów do zarządzania treścią na świecie, a ludzie go używają do różnych rzeczy – od prostych blogów po naprawdę rozbudowane portale korporacyjne. Dzięki fajnym rozszerzeniom i szablonom można na prawdę spersonalizować swoją stronę. Co ważne, Joomla! wspiera dobre praktyki SEO, więc jest super opcją dla deweloperów, którzy chcą, żeby ich strony były dobrze widoczne w sieci. Widziałem, że to logo często pojawia się na stronach jako znak jakości, co pokazuje, jak bardzo jest rozpoznawalne i ważne w branży. Wybór tego logo jest więc trafiony i daje dobry punkt wyjścia do nauki o CMS-ach i ich zastosowaniach w realnym świecie.

Pytanie 19

Dla którego akapitu zastosowano przedstawioną właściwość stylu CSS?

Ilustracja do pytania
A. Akapit 4
B. Akapit 2
C. Akapit 1
D. Akapit 3
Twoja odpowiedź jest prawidłowa. Właściwość CSS 'border-radius: 20%;' jest faktycznie zastosowana do drugiego akapitu, co jest widoczne na załączonym obrazie. Akapit ten ma zaokrąglone rogi, co jest efektem działania tej właściwości CSS. Zaokrąglenie rogów elementów HTML jest często stosowaną techniką, która dodaje estetyki i wyrafinowania do projektu strony internetowej. Pozwala to na łamanie monotonii sześciokątnych zmian i dodaje unikalności do ogólnego wyglądu. Dobrą praktyką jest stosowanie 'border-radius' z umiarem, aby nie przesadzić z zaokrągleniem, które może zakłócić spójność całego projektu. Oprócz zaokrąglania rogów, właściwość 'border-radius' pozwala również na tworzenie kształtów eliptycznych czy okrągłych, co potrafi bardzo ciekawie odmienić charakter strony.

Pytanie 20

Wskaż nieprawdziwe zdanie dotyczące normalizacji dźwięku.

A. Podczas normalizacji poziom głośności całego nagrania jest wyrównywany.
B. Gdy najgłośniejszy fragment dźwięku ma wartość pół na skali, to wszystkie dźwięki zostaną wzmocnione dwukrotnie - w ten sposób najgłośniejszy fragment osiągnie maksymalną wartość na skali.
C. Normalizacja polega na obniżeniu poziomu najgłośniejszej próbki w sygnale do określonej wartości, a następnie w odniesieniu do niej proporcjonalnym zwiększeniu głośności pozostałej części sygnału.
D. Funkcja normalizacja znajduje się w menu programu do edycji dźwięku.
W tej odpowiedzi jest pewne nieporozumienie związane z tym, co to znaczy normalizacja sygnału dźwiękowego. To nie jest po prostu podwojenie głośności najgłośniejszego kawałka, to by było za proste. Chodzi o to, żeby całe nagranie miało odpowiednią głośność bez wprowadzania zniekształceń. Jeśli najgłośniejszy fragment audio jest na poziomie 50%, normalizacja ma za zadanie podnieść poziom całego nagrania tak, żeby ten najgłośniejszy kawałek dotarł do maksymalnej wartości. To nie jest kwestia po prostu pomnożenia przez dwa, a raczej odpowiedniego dostosowania do skali decybelowej. To jest szczególnie ważne, bo w normalizacji musimy unikać clippingu, czyli zniekształceń dźwięku, które mogą się zdarzyć, gdy poziom wyjściowy jest za wysoki. Normalizacja dobrze działa w połączeniu z innymi technikami, takimi jak kompresja i limitacja, żeby uzyskać najlepsze efekty w produkcji audio. Dlatego warto to dobrze rozumieć, bo źle użyta normalizacja może prowadzić do kiepskiej jakości dźwięku oraz ogólnie nieprzyjemnych wrażeń podczas słuchania.

Pytanie 21

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

A. znakiem
B. tablicą łańcuchów
C. tablicą znaków
D. liczbą
Zmienna char zm1[10] w języku C++ jest tablicą znaków, co oznacza, że może przechowywać do 10 pojedynczych znaków. Tablice znaków są szeroko stosowane w programowaniu do reprezentacji łańcuchów tekstowych. W C++ tablice są strukturami, które umożliwiają przechowywanie kolekcji elementów tego samego typu. Zmienna char zm1[10] alokuje pamięć dla 10 znaków, gdzie każdy znak jest typu char. Dzięki temu możemy wykorzystać taką tablicę do przechowywania napisów, takich jak imiona, tytuły czy inne teksty. Przykładowo, możemy przypisać do tej tablicy łańcuch znaków: 'Hello', co wymaga dodatkowego miejsca dla znaku null ('\0'), co oznacza koniec łańcucha. W praktyce, aby przypisać wartość do zmiennej, możemy użyć funkcji strncpy lub strcat. Zgodnie z dobrymi praktykami, warto zawsze pamiętać o maksymalnym rozmiarze tablicy, aby uniknąć przepełnienia bufora, które może prowadzić do poważnych błędów w programie. Przy tworzeniu aplikacji, które operują na tekstach, znajomość tablic znaków jest kluczowa i niezbędna dla prawidłowego zarządzania danymi tekstowymi."

Pytanie 22

Funkcja phpinfo() umożliwia:

A. sprawdzanie wartości zmiennych wykorzystanych w skrypcie PHP
B. uzyskanie informacji o środowisku pracy serwera obsługującego PHP
C. inicjowanie skryptu w języku PHP
D. analizowanie kodu PHP pod kątem błędów
Funkcja phpinfo() jest kluczowym narzędziem w ekosystemie PHP, które dostarcza szczegółowych informacji o konfiguracji środowiska, w którym działa PHP. Użycie tej funkcji pozwala deweloperom na uzyskanie danych takich jak wersja PHP, zainstalowane rozszerzenia, ustawienia konfiguracyjne, oraz dane o systemie operacyjnym. Przykładowo, deweloper może wykorzystać phpinfo() do szybkiego sprawdzenia, czy potrzebne rozszerzenie, takie jak GD lub cURL, jest zainstalowane na serwerze. Pozwoli to uniknąć problemów związanych z brakującymi funkcjami w kodzie. Ponadto, funkcja ta jest także pomocna w procesach rozwiązywania problemów, ponieważ umożliwia natychmiastowy wgląd w kluczowe zmienne konfiguracyjne, co jest zgodne z najlepszymi praktykami w zakresie zarządzania środowiskami aplikacji webowych. Warto jednak pamiętać, że phpinfo() powinno być używane ostrożnie i tylko w środowisku deweloperskim, aby nie ujawniać danych konfiguracyjnych w produkcji.

Pytanie 23

Na ilustracji przedstawiono schemat rozmieszczenia elementów na stronie WWW. W której z jej sekcji zazwyczaj znajduje się stopka strony?

Ilustracja do pytania
A. 4
B. 5
C. 2
D. 1
Odpowiedź 5 jest poprawna ponieważ w standardach projektowania stron internetowych stopka strony zazwyczaj znajduje się na dole każdej podstrony. Stopka to miejsce gdzie umieszczane są informacje takie jak prawa autorskie prywatność i linki do kontaktu. Dobrze zaprojektowana stopka może także zawierać skróty nawigacyjne które pomagają użytkownikowi szybko przemieszczać się po stronie. W praktyce projektanci stron WWW stosują podejście oparte na responsywnym designie co oznacza że stopka powinna być łatwo dostępna i czytelna na różnych urządzeniach. Wykorzystanie CSS Grid lub Flexbox pozwala na elastyczne zarządzanie układem strony co jest szczególnie przydatne przy projektowaniu stopki. Ponadto stopki są elementami które odpowiadają za spójność wizualną całej strony internetowej zapewniając użytkownikowi intuicyjne doświadczenie. Umieszczanie stopki w dolnej części strony jest zgodne z oczekiwaniami użytkowników co zwiększa użyteczność serwisu i pozytywnie wpływa na jego odbiór. Praktyczne zastosowanie tego podejścia można zauważyć na wielu profesjonalnych stronach gdzie stopka jest wyraźnie oddzielona i przejrzysta co ułatwia użytkownikowi odnalezienie potrzebnych informacji.

Pytanie 24

Podaj polecenie SQL, które pozwoli na dodanie kolumny miesiacSiewu do tabeli rośliny znajdującej się w bazie danych

A. ALTER TABLE rośliny ADD miesiacSiewu int;
B. CREATE TABLE rośliny {miesiacSiewu int};
C. INSERT INTO rośliny VALUES (miesiacSiewu int);
D. UPDATE rośliny ADD miesiacSiewu int;
Odpowiedź 'ALTER TABLE rośliny ADD miesiacSiewu int;' jest jak najbardziej na miejscu. Używasz tutaj komendy SQL 'ALTER TABLE', co jest standardem, jeśli chcesz coś zmienić w już istniejącej tabeli. W tym przypadku dodajesz nowe pole 'miesiacSiewu' w formacie 'int' do tabeli 'rośliny'. Fajnie, bo dodawanie kolumn w relacyjnych bazach danych to chleb powszedni, zwłaszcza gdy musisz dodać nowe informacje. Na przykład, jak chcesz wiedzieć, kiedy siać rośliny, to zrobienie tego przy pomocy tej komendy pozwoli Ci trzymać te dane blisko innych szczegółów roślin. Warto też pamiętać, żeby nowe kolumny były dobrze indeksowane lub miały jakieś wartości domyślne, bo to może przyspieszyć zapytania do bazy. Tego typu operacje są naprawdę ważne w zarządzaniu bazami danych, bo dają Ci elastyczność, żeby dostosować strukturę bazy do potrzeb Twojej aplikacji.

Pytanie 25

Z którego z pól klasy ```Dane``` można będzie uzyskać dostęp z zewnątrz, korzystając z obiektu stworzonego jako instancja tej klasy? ```class Dane { public $a; private $b; protected $c; }```

A. Do pola $b.
B. Do pola $a.
C. Do pola $c.
D. Do wszystkich pól.
Odpowiedź jest prawidłowa, ponieważ pole $a jest zadeklarowane jako publiczne, co oznacza, że jest dostępne z zewnątrz klasy i może być modyfikowane oraz odczytywane przez instancje tej klasy oraz inne klasy. Publiczne modyfikatory dostępu są standardową praktyką w programowaniu obiektowym, umożliwiającą swobodny dostęp do danych, co jest szczególnie przydatne w przypadku, gdy chcemy, aby dane były łatwo dostępne dla innych komponentów systemu. Na przykład, jeśli klasa Dane jest używana w aplikacji, możemy tworzyć obiekty tej klasy i bezpośrednio operować na polu $a, co sprzyja elastyczności i prostocie w zarządzaniu danymi. W dobrych praktykach programistycznych często wykorzystuje się publiczne pola w prostych strukturach danych, gdzie dostęp do danych musi być łatwy i szybki. Warto także pamiętać, że dostępność publicznych pól może być użyteczna w kontekście serializacji obiektów, gdzie prosto jest zmapować dane obiektu na format JSON lub XML.

Pytanie 26

W sekcji nagłówka dokumentu HTML umieszczono ```Strona miłośników psów``` Zawarty tekst będzie widoczny

A. w polu adresowym, za wprowadzonym adresem URL
B. w treści witryny, na banerze witryny
C. na pasku tytułu w przeglądarce
D. w treści witryny, w pierwszym ukazanym nagłówku
Wybór odpowiedzi, która sugeruje, że tytuł strony wyświetlany jest w treści strony, jest błędny. Tytuł nie jest częścią treści, na przykład w nagłówku, ani nie jest umieszczany na banerze witryny, co sugeruje inna odpowiedź. Tytuł strony jest wyświetlany na pasku tytułu przeglądarki, a jego podstawowym zadaniem jest identyfikacja strony w kontekście użytkowania przeglądarki. Błędne założenie, że tytuł może być częścią treści strony, wynika z nieporozumienia dotyczącego struktury dokumentu HTML oraz roli, jaką różne elementy odgrywają w prezentacji stron. Tytuł jest istotnym elementem metadanych, co oznacza, że nie jest przeznaczony do bezpośredniego wyświetlania na stronie, ale ma kluczowe znaczenie dla SEO oraz ułatwienia nawigacji. Właściwe zrozumienie roli tagu <title> jest kluczowe, aby uniknąć typowych błędów w tworzeniu witryn internetowych, takich jak używanie wygenerowanych tytułów, które mogą być zbyt ogólne lub mylące dla użytkowników oraz wyszukiwarek. W praktyce, tytuły stron powinny być odzwierciedleniem ich zawartości, co zwiększa ich użyteczność i efektywność w przyciąganiu odwiedzających.

Pytanie 27

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

A. wykluczenia.
B. grupowania.
C. sumy.
D. części wspólnej.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów. Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna. Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 28

W języku PHP zmienna globalna $_POST, służąca do odbierania danych z formularza przesłanych metodą POST, jest: 

A. obiektem klasy stdClass.
B. ciągiem znaków zakodowanym w JSON.
C. zmienną tekstową.
D. tablicą asocjacyjną.
Poprawnie – w PHP zmienna superglobalna $_POST jest tablicą asocjacyjną, czyli zbiorem par klucz ⇒ wartość. Kluczami są nazwy pól formularza (atrybut name w HTML), a wartościami – dane przesłane metodą POST. Dzięki temu po stronie PHP możesz wygodnie odwoływać się do konkretnych pól, np.: $imie = $_POST['imie']; $email = $_POST['email'];. To jest bardzo naturalne, bo struktura formularza HTML też opiera się na nazwach pól, więc mapowanie na tablicę asocjacyjną jest po prostu praktyczne. Moim zdaniem ważne jest też zrozumienie, że $_POST zawsze jest tablicą (array w PHP), nawet jeśli w formularzu jest tylko jedno pole. Jeżeli użytkownik nic nie wyśle, to będzie to pusta tablica, a nie null czy ciąg znaków. Z mojego doświadczenia warto zawsze sprawdzać isset($_POST['nazwa']) albo używać filter_input(INPUT_POST, 'nazwa'), co jest zgodne z dobrymi praktykami bezpieczeństwa. $_POST jest jedną z tzw. superglobali, obok $_GET, $_SERVER, $_FILES, $_SESSION itd. Są one dostępne w całym skrypcie, niezależnie od zasięgu (scope) funkcji. W kontekście formularzy webowych przyjętym standardem jest: używamy $_GET do danych z adresu URL (zapytania typu ?id=5), a $_POST do danych z formularzy, szczególnie gdy przesyłamy hasła, większe teksty, dane wrażliwe. To jest zgodne z typową architekturą aplikacji webowych w PHP. Warto też wiedzieć, że wartości w $_POST są zawsze typu string (lub tablica stringów, gdy używasz nazw pól z nawiasami, np. name="interesy[]"), ale sama zmienna $_POST jest tablicą asocjacyjną. Dobra praktyka: nie ufaj ślepo zawartości $_POST – zawsze waliduj i filtruj dane wejściowe przed zapisaniem do bazy czy wyświetleniem użytkownikowi, żeby unikać np. XSS i SQL injection.

Pytanie 29

Pętla napisana w języku PHP wprowadzi do tablicy liczby
$x=0
for($i=0;$i<10;$i++)
{
   $tab[$i]=$x;
   $x=$x+10;
}

A. 10,20,30,40,50,60,70,80,90,100
B. 0,10,20,30,40,50,60,70,80,90
C. 0,1,2,3,4,5,6,7,8,9,10
D. 0,1,2,3,4,5,6,7,8,9
Pierwsza z niepoprawnych odpowiedzi sugeruje, że do tablicy zostaną wpisane liczby od 0 do 9, co jest błędne. Pętla for w tym kodzie nie inkrementuje zmiennej $x w sposób liniowy, lecz zwiększa ją o 10 w każdej iteracji, co oznacza, że wartości przypisane do tablicy będą znacznie większe niż jedynie kolejne liczby całkowite. Ponadto, nie ma żadnej zmiennej w pętli, która miałaby na celu inkrementację $i do kolejnych liczb, co w efekcie prowadziłoby do podobnych wartości. Druga z odpowiedzi wskazuje, że ostatnią liczbą w tablicy będzie 10, co jest również niepoprawne. W rzeczywistości, ostatnią liczbą, jaka zostanie wstawiona do tablicy w tym przypadku, będzie 90, a nie 10, ponieważ pętla kończy się po przypisaniu wartości 90, a zmienna $x nigdy nie osiągnie wartości 100 w ramach tej pętli. Ostatnia z niepoprawnych odpowiedzi sugeruje, że do tablicy wstawione zostanie 10, 20, 30, 40, 50, 60, 70, 80, 90, 100. Jest to błędne z powodu tego, iż pętla for nie wykonuje się wystarczająco długo, aby osiągnąć wartość 100. Tak więc, zamiast oczekiwanego wyniku, pętla generuje jedynie dziewięć wartości, kończąc na 90, co znacząco różni się od wartości wskazanych w tej odpowiedzi.

Pytanie 30

Fragment kodu w języku PHP ma następującą postać: Zakładając, że zmienne: a, b, c przechowują wartości numeryczne, wynikiem działania warunku będzie wypisanie liczby

if ($a > $b && $a > $c)   echo $a;
else if ($b > $c)   echo $b;
else   echo $c;
A. największej.
B. najmniejszej.
C. parzystej.
D. nieparzystej.
Dobrze zrozumiałeś działanie warunków logicznych w języku PHP! Fragment kodu prezentowany na zdjęciu rzeczywiście wypisuje wartość największej zmiennej. Jest to wynik skumulowanego działania kilku warunków if oraz else if, które porównują wartości zmiennych a, b, c. Najpierw, warunek sprawdza, czy zmienna a jest większa od pozostałych. Jeśli tak, wartość a jest wypisywana. Jeżeli nie, przechodzi do kolejnego warunku, gdzie sprawdza, czy b jest większe od c. Jeżeli tak, wypisuje b, jeżeli nie - wypisze c. W ten sposób kod zawsze wypisze największą wartość. Zrozumienie tej logiki jest kluczowe w programowaniu, szczególnie w kontekście operacji porównania, które są podstawą wielu bardziej skomplikowanych algorytmów. To ważny fragment wiedzy, który pomaga w budowaniu efektywnych i optymalnych rozwiązań kodowych.

Pytanie 31

Podaj zapis w języku JavaScript, który sprawdzi, czy spełniony jest przynajmniej jeden z następujących warunków: 1) dowolna liczba naturalna a jest liczbą trzycyfrową, 2) dowolna liczba całkowita b jest liczbą ujemną?

A. ((a>99) || (a<1000)) && (b<0)
B. ((a>99) && (a<1000)) && (b<0)
C. ((a>99) && (a<1000)) || (b<0)
D. ((a>99) || (a<1000)) || (b<0)
W analizowanych odpowiedziach pojawia się kilka koncepcji, które prowadzą do niepoprawnych wyników. Wyrażenie ((a>99) && (a<1000)) && (b<0) wymaga, aby obie części były spełnione jednocześnie, co jest sprzeczne z założeniem, że wystarczy spełnienie jednego z warunków. To podejście zakłada, że zarówno liczba a musi być trzycyfrowa, jak i liczba b musi być ujemna, co jest zbyt restrykcyjne i nie odzwierciedla wymaganego warunku. Kolejne błędne podejście to ((a>99) || (a<1000)) && (b<0), które również jest niepoprawne, ponieważ pierwsza część tego wyrażenia jest błędnie skonstruowana - naturalna liczba a może być dowolną liczbą, a więc nie ma sensu porównywać jej do wartości mniejszej od 1000, co zawsze będzie prawdziwe dla liczby a większej od 99. Ostatnia z analizowanych opcji - ((a>99) || (a<1000)) || (b<0) - również zawiera błąd, ponieważ pierwsza część implikuje, że każda liczba a, która jest większa niż 99, jest spełniona, co nie jest zgodne z definicją liczby trzycyfrowej. W związku z tym, najczęstsze błędy polegają na nieprawidłowym zastosowaniu operatorów logicznych oraz nieścisłościach w definiowaniu zakresu liczb, co prowadzi do niespójności w logice warunków. Kluczowe jest, aby dokładnie zrozumieć, co każdy fragment kodu ma na celu, aby uniknąć takich pomyłek.

Pytanie 32

Przed przystąpieniem do tworzenia kopii zapasowej bazy danych, aby była ona poprawna i zdatna do późniejszego przywrócenia, konieczne jest sprawdzenie

A. opcji udostępnienia bazy danych
B. uprawnień dostępu do serwera bazy danych
C. spójności bazy danych
D. poprawności składni zapytań
Spójność bazy danych to kluczowy aspekt, który należy sprawdzić przed wykonaniem kopii bezpieczeństwa. Oznacza to, że wszystkie dane w bazie muszą być zgodne z ustalonymi regułami i zapewniać prawidłowe relacje między różnymi tabelami oraz rekordami. Na przykład, jeżeli w bazie danych znajdują się relacje między tabelami, to każda referencja musi wskazywać na istniejący rekord. W praktyce, przed wykonaniem kopii zapasowej, administratorzy często przeprowadzają operacje takie jak walidacja danych, aby upewnić się, że nie ma błędów, które mogłyby prowadzić do nieprawidłowych wyników po przywróceniu danych. Dobre praktyki w zarządzaniu bazami danych, takie jak regularne wykonywanie kontroli spójności oraz audytów danych, pomagają zminimalizować ryzyko problemów z danymi. Warto również korzystać z narzędzi automatyzacyjnych, które mogą wykrywać niezgodności w danych, co znacznie ułatwia proces przed wykonaniem kopii zapasowej.

Pytanie 33

Na obrazie przedstawiono projekt układu bloków witryny internetowej. Zakładając, że bloki są realizowane za pomocą znaczników sekcji, ich formatowanie w CSS, oprócz ustawionych szerokości, powinno zawierać właściwość

BLOK 1BLOK 2
BLOK 3BLOK 4
BLOK 5
A. clear: both dla wszystkich bloków.
B. clear: both dla bloku 5 oraz float: left jedynie dla 1 i 2 bloku.
C. clear: both dla bloku 5 oraz float: left dla pozostałych bloków.
D. float: left dla wszystkich bloków.
Hmm, tutaj coś poszło nie tak. Wybrałeś opcję z `clear: both`, ale to nie do końca pasuje do tego zadania. `clear: both` w CSS służy głównie do resetowania pływania bloków, więc jak masz blok z tym ustawieniem, to następny nie będzie obok niego, tylko przesunie się na dół. A w tym przypadku nie musisz resetować pływania, bo to nie jest potrzebne. Wiem, że wybór `float: left` dla niektórych bloków może wydawać się dobrym pomysłem, ale żeby wszystko się poprawnie ułożyło, musisz zastosować `float: left` dla wszystkich bloków. I pamiętaj, żeby im ustawić szerokość, bo inaczej bloków może się nie udać ułożyć w poziomie.

Pytanie 34

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. obliczyć wartość bezwzględną elementów tej tablicy
B. zmienić wszystkie elementy tablicy na liczby o przeciwnym znaku
C. wyliczenie iloczynu wszystkich wartości w tablicy
D. przekształcić elementy tablicy na wartości zapisane w zmiennej liczba
Analizując przedstawione odpowiedzi, ważne jest zrozumienie, dlaczego pozostałe opcje są nieprawidłowe w kontekście podanego kodu PHP. Pierwsza z nich sugeruje, że kod oblicza iloczyn wszystkich liczb w tablicy. Jednakże, kod ten nie prowadzi do żadnej operacji akumulacji wartości, nie jest stosowana zmienna do przechowywania wyniku, a operacja wykonywana w pętli to jedynie zmiana znaku każdej liczby. Druga odpowiedź, mimo że błędna jako wybór, w rzeczywistości jest poprawną odpowiedzią zgodnie z pytaniem egzaminacyjnym. Trzecia sugeruje, że elementy tablicy zostaną zastąpione wartością przechowywaną w zmiennej liczba. Kod, który by tego dokonywał, musiałby inicjalizować zmienną z konkretną wartością i przypisywać ją każdemu elementowi tablicy, co nie jest realizowane przez przedstawiony fragment kodu. Czwarta odpowiedź mówi o obliczaniu wartości bezwzględnej elementów tablicy. Aby to osiągnąć, w PHP należałoby użyć funkcji abs(), której tutaj nie zastosowano. Typowym błędem prowadzącym do takich niepoprawnych wniosków jest nieprawidłowe zrozumienie działania operatorów i funkcji w kontekście języka PHP. Kluczowe jest, aby rozumieć, że kod bezpośrednio modyfikuje wartości w tablicy przez mnożenie przez -1, a nie wykonuje żadnych innych operacji matematycznych czy przypisania wartości.

Pytanie 35

echo date"Y"); Po uruchomieniu tego kodu PHP na ekranie ukaże się bieżąca data, obejmująca wyłącznie

A. dzień i miesiąc
B. miesiąc i rok
C. rok
D. dzień
Odpowiedź 'rok' jest prawidłowa, ponieważ w podanym kodzie PHP echo date('Y') zwraca aktualny rok w czterocyfrowym formacie, np. 2023. Funkcja date w PHP jest używana do formatowania daty i czasu, a 'Y' jest stałą formatującą, która reprezentuje rok w pełnym formacie. Dzięki temu programista może łatwo uzyskać i wyświetlić rok w różnych kontekstach, na przykład w systemach zarządzania treścią, raportach czy aplikacjach webowych. Praktyczne zastosowanie tej funkcji jest szerokie, np. w generowaniu automatycznych stopki na stronach internetowych, gdzie często umieszcza się aktualny rok, aby informować użytkowników o bieżącym roku w kontekście praw autorskich. Znajomość różnych formatów daty i ich zastosowanie zgodnie z dobrymi praktykami programistycznymi z pewnością przyczyni się do poprawy jakości kodu.

Pytanie 36

Parametr face w znaczniku <font> jest używany do określenia

A. stylów czcionki
B. typy czcionki
C. koloru czcionki
D. rozmiaru czcionki
Zrozumienie parametrów stylizacji tekstu jest kluczowe w pracy z HTML i często napotyka na nieporozumienia. Wiele osób błędnie interpretuje funkcję parametru <b>face</b> w znaczniku <b>&lt;font&gt;</b>, co prowadzi do niepoprawnych odpowiedzi. Na przykład, nie jest on używany do określenia barwy czcionki, co jest zadaniem innego parametru, jak 'color'. Barwa czcionki dotyczy estetyki i może być ustawiana niezależnie od samej czcionki. Kolejnym błędnym założeniem jest możliwość korzystania z parametru <b>face</b> do definiowania efektów czcionki, takich jak pogrubienie czy kursywa; te efekty są zwykle osiągane przy użyciu osobnych znaczników lub stylów CSS, takich jak 'font-weight' czy 'font-style'. Wreszcie, pomylenie parametru <b>face</b> z określeniem wielkości czcionki również jest częstym błędem myślowym, ponieważ do tego celu używa się atrybutu 'size', który skoncentrowany jest na rozmiarze tekstu, a nie na jego typie. Warto pamiętać, że precyzyjne zrozumienie tych różnic nie tylko wpływa na jakość tworzonego kodu, ale również na dostępność i estetykę stron internetowych.

Pytanie 37

W CSS zastosowano stylowanie elementu listy, przy czym żadne inne style CSS nie zostały ustalone. Użyte stylowanie spowoduje, że

li :hover { color: Maroon; }
A. Teksty wszystkich elementów, którym nadano id „hover”, będą w kolorze Maroon.
B. Kolor Maroon będzie dotyczył co drugiego elementu listy.
C. Wszystkie teksty elementów listy będą w kolorze Maroon.
D. Po najechaniu kursorem na element listy, kolor tekstu zmieni się na Maroon.
Twoja odpowiedź jest na pewno trafna, bo reguła CSS li:hover { color: Maroon; } działa w kontekście pseudo-klasy :hover. To znaczy, że jak najedziesz kursorem na element listy (li), to jego kolor tekstu zmienia się na Maroon. Fajnie, że to wiesz! Takie podejście jest zgodne z zasadami CSS, które pozwalają na dynamiczne zmiany wyglądu elementów, gdy użytkownik z nimi interaguje. Na przykład, jeżeli masz listę z elementami <li>, to najeżdżając na nie, kolor tekstu zmienia się na Maroon. To może naprawdę poprawić użytkowanie strony i wyróżnić ważne elementy w interfejsie. Używanie pseudo-klas, jak :hover, to standard w projektowaniu stron, które są responsywne i interaktywne, co znacznie podnosi komfort przeglądania.

Pytanie 38

Aby przyspieszyć operacje na bazie danych należy dla pól często wyszukiwanych lub sortowanych

A. dodać klucz obcy.
B. utworzyć indeks.
C. dodać więzy integralności.
D. utworzyć osobną tabelę przechowującą tylko te pola.
W tym pytaniu chodzi o przyspieszenie operacji wyszukiwania i sortowania, czyli stricte o wydajność wykonywania zapytań SELECT. Bardzo łatwo jest tu pomylić pojęcia z projektowania relacyjnych baz danych i sięgnąć po rozwiązania, które są ważne, ale rozwiązują inne problemy niż wydajność zapytań. Klucz obcy jest mechanizmem służącym do utrzymania spójności między tabelami. Określa on, że wartość w jednej tabeli musi odpowiadać istniejącemu rekordowi w innej tabeli. To świetne narzędzie do pilnowania integralności referencyjnej, ale samo dodanie klucza obcego nie przyspiesza wyszukiwania po dowolnej kolumnie. Co prawda silniki baz danych często automatycznie tworzą indeks na kolumnie będącej kluczem głównym, a czasem również na kluczu obcym, ale sednem optymalizacji jest właśnie indeks, nie sam fakt istnienia klucza obcego. Kolejna sprawa to więzy integralności, czyli różnego rodzaju ograniczenia typu NOT NULL, UNIQUE, CHECK czy wspomniane klucze obce. One pomagają w utrzymaniu poprawności danych, zapobiegają wprowadzaniu bzdurnych rekordów, ale nie są mechanizmem projektowanym z myślą o przyspieszaniu sortowania czy filtrowania. Można powiedzieć, że dbają o jakość danych, a nie o szybkość ich wyszukiwania. Ostatnia koncepcja, czyli tworzenie osobnej tabeli zawierającej tylko często wyszukiwane pola, to typowy przykład nadmiernej normalizacji albo wręcz niewłaściwej denormalizacji. Taki zabieg zazwyczaj zwiększa złożoność systemu, utrudnia zapytania (potrzeba dodatkowych JOIN-ów) i wcale nie gwarantuje lepszej wydajności. Bez indeksów na odpowiednich kolumnach nowa tabela dalej będzie skanowana w całości. Typowy błąd myślowy polega tu na założeniu, że „mniej kolumn = szybsze zapytania”, co w praktyce nie jest prawdą, jeśli baza i tak musi przeszukać każdy wiersz. Standardowa, sprawdzona w branży metoda to dobrze zaprojektowane indeksy, a nie mnożenie tabel czy ślepe dokładanie więzów integralności w nadziei na przyspieszenie bazy.

Pytanie 39

W SQL, aby w tabeli Towar dodać kolumnę rozmiar typu znakowego z maksymalną długością 20 znaków, jakie polecenie należy wykonać?

A. ALTER TABLE Towar ALTER COLUMN rozmiar varchar(20)
B. ALTER TABLE Towar CREATE COLUMN rozmiar varchar(20)
C. ALTER TABLE Towar DROP COLUMN rozmiar varchar(20)
D. ALTER TABLE Towar ADD rozmiar varchar(20)
Odpowiedź 'ALTER TABLE Towar ADD rozmiar varchar(20);' jest poprawna, ponieważ polecenie ALTER TABLE jest używane do modyfikacji struktury istniejącej tabeli. W tym przypadku chcemy dodać nową kolumnę o nazwie 'rozmiar', a typ 'varchar(20)' oznacza, że kolumna ta będzie przechowywać dane tekstowe o maksymalnej długości 20 znaków. Jest to standardowa praktyka w języku SQL, która pozwala na elastyczne zarządzanie danymi w bazach danych. Przykładem zastosowania może być sytuacja, w której w tabeli 'Towar' chcemy przechowywać informacje o rozmiarze odzieży, co pomaga w lepszym zarządzaniu stanem magazynowym. Prawidłowe zweryfikowanie typów kolumn i ich ograniczeń jest kluczowe dla zapewnienia integralności danych. Warto także pamiętać o tym, że operacje na strukturze bazy danych powinny być przeprowadzane z zachowaniem odpowiednich zasad, takich jak wykonywanie kopii zapasowych przed wprowadzeniem zmian oraz testowanie zmian w środowisku deweloperskim przed wdrożeniem ich w środowisku produkcyjnym.

Pytanie 40

W algebrze relacji działanie selekcji polega na

A. wybór krotek, które spełniają określone warunki
B. usunięciu pustych wierszy
C. wybór krotek, które nie zawierają wartości NULL
D. usunięciu krotek z powtórzonymi polami
Wybieranie krotek niezawierających wartości NULL nie jest operacją selekcji w kontekście algebry relacji, ponieważ selekcja ma na celu filtrację krotek na podstawie określonych warunków, a nie jedynie na podstawie obecności lub braku wartości NULL. W praktyce, aby wykluczyć wartości NULL, można zastosować dodatkowe warunki w operacji selekcji, ale to nie definiuje samej operacji selekcji. Z kolei eliminacja pustych wierszy jest związana z usuwaniem krotek, które nie zawierają żadnych danych, co także nie jest równoznaczne z operacją selekcji. Ta operacja odnosi się bardziej do czyszczenia danych niż do ich wybierania na podstawie określonych kryteriów. Ponadto, eliminacja krotek z powtarzającymi się polami nie jest tożsama z selekcją, ponieważ dotyczy bardziej operacji usuwania duplikatów, które są zazwyczaj realizowane przez operacje takie jak DISTINCT w SQL, a nie przez selekcję, która ma na celu wybór krotek na podstawie warunków logicznych. W algebrze relacji kluczowe jest rozróżnienie między operacjami filtrowania danych a operacjami modyfikacji danych, co jest istotne w kontekście projektowania baz danych oraz w zapewnieniu integralności danych.