Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 26 grudnia 2025 02:57
  • Data zakończenia: 26 grudnia 2025 03:17

Egzamin zdany!

Wynik: 22/40 punktów (55,0%)

Wymagane minimum: 20 punktów (50%)

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

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

A. Joomla!
B. WordPress
C. Drupal
D. Adobe Flash
Drupal, Joomla! oraz WordPress to systemy zarządzania treścią, które różnią się pod względem funkcji, architektury oraz grupy docelowej. Drupal jest zaawansowanym CMS-em, który dedykowany jest zarówno dla profesjonalnych twórców stron, jak i dużych organizacji, oferując niezwykle elastyczne możliwości konfiguracji oraz bogaty ekosystem modułów. Dzięki temu, użytkownicy mogą tworzyć skomplikowane strony internetowe i aplikacje webowe, zarządzając jednocześnie złożonymi strukturami treści. Joomla! to kolejny CMS o szerokim zastosowaniu, który łączy w sobie łatwość użycia z potężnymi funkcjami, co czyni go idealnym rozwiązaniem dla małych i średnich przedsiębiorstw. Oferuje szereg komponentów, które umożliwiają dodawanie różnych funkcji, takich jak galerie zdjęć, forum czy e-commerce. WordPress, z kolei, to najpopularniejszy CMS na świecie, znany z prostoty obsługi oraz bogatej biblioteki wtyczek i motywów. Jest idealny dla blogerów oraz osób chcących szybko stworzyć stronę internetową. Każdy z tych systemów ułatwia użytkownikom zarządzanie treścią, archiwizację, a także publikację bez potrzeby znajomości programowania, co czyni je niezastąpionymi narzędziami w tworzeniu nowoczesnych stron internetowych.

Pytanie 2

W algorytmie jeden z bloków zawiera akcję „Wypisz liczbę”. Jaki kształt może mieć ta akcja?

Ilustracja do pytania
A. Kształt 1
B. Kształt 2
C. Kształt 4
D. Kształt 3
Kształt 1 jest równoległobokiem, który w kontekście algorytmów często reprezentuje operacje wprowadzania lub wyprowadzania danych. W algorytmach i schematach blokowych, różne kształty mają przypisane konkretne funkcje, co jest standardem w projektowaniu programów. Równoległobok jest standardowym symbolem dla operacji wejścia i wyjścia, w tym wypisywania danych na ekranie. Przykładem zastosowania tego może być wypisywanie wyników obliczeń matematycznych na konsoli w językach takich jak Python czy Java. Używanie odpowiednich kształtów pozwala na łatwiejsze zrozumienie działania algorytmu przez innych programistów, co jest kluczowe w pracy zespołowej i podczas dokumentacji projektowej. Dobre praktyki w programowaniu zalecają jasność i przejrzystość schematów blokowych, co ułatwia ich późniejsze utrzymanie i rozwój. Szukając standardów, warto odnieść się do norm ISO/IEC 19515:2017 dotyczących diagramów przepływu pracy, które podkreślają znaczenie konwencji w projektowaniu algorytmów.

Pytanie 3

Znacznik <ins> w HTML jest używany do wskazywania

A. tekstu, który został przeformatowany
B. tekstu, który został dodany
C. cytowanego fragmentu tekstu
D. tekstu, który został usunięty
Wybierając błędne odpowiedzi, pokazujesz, że coś może być niejasne, jeśli chodzi o znaczniki HTML. Na przykład, myślenie, że <ins> to znacznik do oznaczania cytatów, to pomyłka. Do tego zadania służy <blockquote> albo <q>, które mają swoje własne, zupełnie inne znaczenie. Jeśli wybrałeś opcję mówiącą o oznaczaniu usuniętego tekstu, to też jest błąd, bo do tego mamy znacznik <del>. A użycie <ins> w kontekście zmiany formatu tekstu to jeszcze jedna pomyłka, bo ten znacznik nie mówi nic o formatowaniu. Tak naprawdę, <ins> tylko wskazuje nowe fragmenty tekstu, a nie zmienia ich stylu. Jeżeli nie rozumiesz tych funkcji różnych znaczników HTML, to łatwo można wpaść w pułapkę błędów w kodzie, co później będzie miało wpływ na semantykę stron oraz ich dostępność. Dlatego tak ważne jest, żeby znać różnice między tymi znacznikami i korzystać z nich, jak należy.

Pytanie 4

Ustalenie w języku CSS wartości background-attachment: scroll oznacza, że

A. obraz tła pojawi się w prawym górnym rogu witryny
B. tło witryny będzie przesuwane wraz z przewijaniem strony
C. obrazek tła będzie się powtarzać (kafelki)
D. tło witryny pozostanie nieruchome i nie będzie się przesuwać podczas przewijania strony
Odpowiedź 2 jest poprawna, ponieważ zdefiniowana przez właściwość CSS 'background-attachment: scroll' oznacza, że tło strony przewija się razem z zawartością strony. W praktyce oznacza to, że gdy użytkownik przewija stronę w dół lub w górę, tło porusza się w tym samym kierunku, co inne elementy na stronie. Ta właściwość jest szczególnie przydatna w sytuacjach, kiedy chcemy, aby tło było bardziej zintegrowane z treścią, dając bardziej dynamiczny efekt wizualny. Zastosowanie 'scroll' jest zgodne z zachowaniem większości stron internetowych, gdzie tło i zawartość poruszają się synchronizacyjnie. Dobrym przykładem może być użycie tła w postaci gradientu lub subtelnego obrazu, który nie odwraca uwagi od treści, a jednocześnie wprowadza estetyczny element do projektu. Warto pamiętać, że w przypadku większych projektów, właściwość ta powinna być używana z rozwagą, aby uniknąć nieczytelności tekstu na tle lub nadmiernego rozpraszania uwagi użytkowników. Dobrą praktyką jest również testowanie różnych ustawień tła na różnych urządzeniach, aby zapewnić spójne doświadczenie użytkownika.

Pytanie 5

W bazie danych znajduje się tabela uczniowie, która ma kolumny: imie, nazwisko i klasa. Jakie polecenie SQL należy użyć, aby uzyskać imiona oraz nazwiska uczniów, których nazwiska zaczynają się na literę M?

A. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko='M%';
B. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN 'M%';
C. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE 'M%';
D. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN 'M%';
Poprawne polecenie SQL to 'SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE 'M%';'. Operator LIKE jest kluczowym elementem języka SQL, który pozwala na wyszukiwanie danych zgodnych z określonym wzorem, gdzie '%' oznacza dowolny ciąg znaków. Użycie tego operatora jest zgodne z najlepszymi praktykami w zakresie wyszukiwania danych w relacyjnych bazach danych, umożliwiając elastyczne filtrowanie wyników. W kontekście tego zapytania, operator LIKE skutecznie identyfikuje wszystkie nazwiska, które zaczynają się na literę 'M', co jest szczególnie przydatne w sytuacjach wymagających poszukiwania danych spełniających określone kryteria. Przykładem zastosowania tego zapytania może być generowanie raportów dla nauczycieli, którzy chcą zobaczyć listę uczniów w określonej klasie. Dodatkowo, warto pamiętać, że w przypadku wielu baz danych, operator LIKE jest również wrażliwy na wielkość liter, dlatego warto dostosować zapytanie w zależności od kontekstu, w jakim pracujemy.

Pytanie 6

Aby zwiększyć wydajność operacji na bazie danych, należy dla pól, które są często wyszukiwane lub sortowane

A. dodać klucz obcy
B. dodać więzy integralności
C. utworzyć indeks
D. stworzyć osobną tabelę przechowującą tylko te pola
Praca nad dobrą wydajnością baz danych wymaga, żeby zrozumieć, że różne metody optymalizacji mają swoje cele, a działają w różny sposób. Jak dodasz klucz obcy do tabeli, to nie przyspieszysz wyszukiwania czy sortowania danych. Ten klucz ma inne zadanie, na przykład dba o to, żeby każdy rekord w tabeli 'Zamówienia' odnosił się do klienta w tabeli 'Klienci'. To jest ważne, ale nie zwiększy szybkości operacji. Wprowadzenie różnych reguł, jak unikalność czy not null, też nie przyspieszy wyszukiwania, lecz chroni dane przed błędami. Czasami lepiej jest stworzyć osobną tabelę, ale to może skomplikować strukturę bazy danych i wprowadzić więcej kłopotów przy zarządzaniu, zwłaszcza z relacjami między tabelami. Źle przeprowadzona optymalizacja bazy danych może prowadzić do tego, że system będzie wolniejszy przez nadmiarowość. Dlatego ważne jest, żeby dobrze rozumieć różnice między technikami i jak je stosować, żeby osiągnąć najlepsze wyniki w wydajności bazy danych.

Pytanie 7

Tabela góry, której fragment został pokazany, obejmuje polskie pasma górskie oraz ich szczyty. Podaj kwerendę obliczającą dla każdego pasma górskiego średnią wysokość szczytów.

A. SELECT pasmo, AVG(wysokosc) FROM gory LIMIT pasmo
B. SELECT pasmo, COUNT(wysokosc) FROM gory ORDER BY pasmo
C. SELECT pasmo, AVG(wysokosc) FROM gory GROUP BY pasmo
D. SELECT pasmo, SUM(wysokosc) FROM gory GROUP BY pasmo
Gratulacje! Twoja odpowiedź jest prawidłowa. Zapytanie 'SELECT pasmo, AVG(wysokosc) FROM gory GROUP BY pasmo;' jest poprawne. Funkcja AVG() jest jedną z funkcji agregujących w SQL, które służą do wykonania pewnej operacji na zestawie wartości. W tym przypadku oblicza ona średnią wartość wysokości szczytów dla każdego z pasm górskich. Funkcja GROUP BY jest natomiast klauzulą SQL, która jest używana do grupowania wartości z różnych wierszy w jedną grupę. W tym przypadku GROUP BY pasmo oznacza, że wyniki zostaną pogrupowane według pasma górskiego, co pozwala obliczyć średnią wysokość szczytów dla każdego z pasm. Jest to zgodne z treścią pytania. Pamiętaj, że wykorzystanie funkcji agregujących w SQL pozwala na efektywne przetwarzanie dużych ilości danych, co jest niezwykle ważne w praktycznych zastosowaniach baz danych.

Pytanie 8

Istnieje tabela o nazwie wycieczki z kolumnami: nazwa, cena oraz miejsca (reprezentujące liczbę dostępnych miejsc). Aby wyświetlić tylko nazwy wycieczek, których cena jest mniejsza od 2000 zł oraz mają co najmniej cztery wolne miejsca, należy użyć zapytania

A. SELECT * FROM wycieczki WHERE cena < 2000 OR miejsca > 3
B. SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3
C. SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4
D. SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4
Twoja odpowiedź jest jak najbardziej na miejscu, bo trafnie wskazuje, jakie warunki trzeba spełnić, żeby uzyskać odpowiednie nazwy wycieczek. W tym zapytaniu SQL 'SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3' użyto operatora AND, co oznacza, że oba warunki muszą być spełnione naraz. Pierwszy mówi, że cena wycieczki musi być mniejsza niż 2000 zł, co pomaga znaleźć tańsze oferty. Drugi warunek wymaga, żeby było przynajmniej cztery wolne miejsca, co jest ważne, gdy ktoś myśli o podróżach z rodziną lub przyjaciółmi. Takie podejście jest zgodne z tym, co powinniśmy stosować, pisząc zapytania SQL, bo powinny być one precyzyjne i skuteczne. Warto też pamiętać o dobrym używaniu operatorów logicznych, żeby uzyskać oczekiwane rezultaty. Dlatego zrozumienie, jak te operatory działają oraz jak je zastosować w kontekście danych, jest kluczowe w pracy z bazami danych.

Pytanie 9

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

Ilustracja do pytania
A. <?php for($x=2;$x<=54;$x+=2){echo $x." ";} ?>
B. <?php for($x=1;$x<=55;$x+=1){echo $x." ";} ?>
C. <?php for($x=2;$x<=56;$x+=2){echo $x." ";} ?>
D. <?php for($x=1;$x<=55;$x++){echo $x." ";} ?>
W wielu odpowiedziach widać, że nie do końca rozumiesz, jak działają pętle i warunki w PHP. Kod w ramce przyzwoicie wypisuje liczby parzyste od 2 do 54, ale pomija nieparzyste tylko dzięki warunkowi if i continue. Jak masz niepoprawne odpowiedzi, to pojawia się kilka problemów. Na przykład, jak pętla startuje od x=1 i zwiększa x o 1, to wszystkie liczby się drukują, a to nie jest to, co chcesz uzyskać. Zmiana kroku na zwiększanie x o 2 byłaby dobra, ale możesz też mieć za szeroki lub zbyt wąski zakres, tak jak w przypadku, gdy pętla kończy się na 56 zamiast 54. Żeby kod był poprawny, musisz zrozumieć, że każda iteracja musi spełniać konkretny warunek, który rozwiązuje problem. Często mylimy się, myśląc, że drobne zmiany w kodzie, jak zmiana zakresu czy kroku, same z siebie załatwią sprawę. Ważne, żeby przemyśleć, jak zaplanować strukturę pętli i warunków, żeby wszystko działało tak, jak powinno i wykorzystanie zasobów było efektywne.

Pytanie 10

Sprawdzenie poprawności pól formularza polega na weryfikacji

A. czy istnieje plik PHP, który przetworzy dane
B. który użytkownik wprowadził informacje
C. czy wprowadzone dane spełniają określone reguły
D. czy użytkownik jest zalogowany
Walidacja pól formularza jest kluczowym elementem w procesie zbierania danych od użytkowników. Jej głównym celem jest upewnienie się, że dane, które użytkownik wprowadza, są zgodne z określonymi regułami i standardami. Na przykład, jeśli pole formularza wymaga adresu e-mail, walidacja może sprawdzić, czy wprowadzone dane mają odpowiedni format (np. zawierają '@' i końcówkę domeny). Ważne jest, aby walidację przeprowadzać zarówno po stronie klienta, jak i serwera. Walidacja po stronie klienta (np. za pomocą JavaScript) może szybko informować użytkownika o błędach, ale nie powinna być jedyną metodą, gdyż można ją łatwo obejść. Walidacja po stronie serwera, przeprowadzana w językach takich jak PHP lub Python, zapewnia, że dane są na pewno zgodne z wymaganiami systemu przed ich przetworzeniem. Przykładami reguł walidacji mogą być wymagania dotyczące długości tekstu, formatów numerów telefonów czy też wymagalności pewnych pól, co jest zgodne z dobrymi praktykami UX oraz standardami bezpieczeństwa danych.

Pytanie 11

Zaprezentowano poniżej obsługę

if (!isset($_COOKIE[$nazwa]))
  echo "nie ustawiono!";
else
  echo "ustawiono: " . $_COOKIE[$nazwa];
A. sesji
B. ciasteczek
C. zmiennych tekstowych
D. bazy danych
Obsługa ciasteczek jest kluczowym elementem w zarządzaniu stanem w aplikacjach webowych. Ciasteczka, czyli małe pliki tekstowe przechowywane w przeglądarce użytkownika, pozwalają na śledzenie aktywności użytkownika między stronami i sesjami. W kodzie powyżej widzimy użycie globalnej tablicy PHP $_COOKIE do sprawdzania, czy ciasteczko o określonej nazwie zostało ustawione. Funkcja isset() sprawdza, czy zmienna jest zdefiniowana i nie jest null. Jeśli ciasteczko istnieje, jego wartość jest wyświetlana. Ciasteczka są powszechnie używane do zarządzania sesjami, personalizacji treści czy śledzenia zachowań użytkowników. W praktyce, zabezpieczenia są ważnym aspektem zarządzania ciasteczkami. Powinny być szyfrowane i oznaczone jako HttpOnly oraz Secure, aby zminimalizować ryzyko kradzieży informacji przez ataki XSS. Programiści powinni także stosować polityki prywatności zgodnie z regulacjami RODO, informując użytkowników o użyciu ciasteczek. Zrozumienie tych mechanizmów jest fundamentalne dla budowy bezpiecznych i funkcjonalnych aplikacji webowych.

Pytanie 12

Który z elementów HTML stanowi blokowy znacznik?

A. span
B. p
C. strong
D. img
Znacznik <p> (paragraf) jest klasyfikowany jako element blokowy, co oznacza, że zajmuje całą szerokość dostępnego miejsca w swoim kontenerze i jest renderowany na nowej linii. Elementy blokowe są fundamentalne w układzie strony internetowej, ponieważ pozwalają na strukturalne grupowanie treści w sposób, który jest zrozumiały dla przeglądarek internetowych oraz dla użytkowników. Przykłady użycia elementu <p> obejmują tworzenie akapitów w artykułach, opisów produktów, czy innych dłuższych fragmentów tekstu. Dobre praktyki wskazują, że należy stosować <p> dla tekstu, który ma być wyświetlany jako samodzielny blok, co poprawia czytelność i dostępność treści. Ponadto, zgodnie z wytycznymi W3C, stosowanie znaczników blokowych, takich jak <p>, przyczynia się do lepszej struktury dokumentu HTML oraz ułatwia jego interpretację przez roboty wyszukiwarek, co jest kluczowe w kontekście SEO. Warto również zauważyć, że w CSS można łatwo stylizować znaczniki blokowe, co daje większą kontrolę nad wyglądem i układem strony.

Pytanie 13

Znacznik <i> w języku HTML ma na celu

A. określenie formularza
B. dodanie grafiki
C. ustalenie nagłówka w treści
D. zmianę czcionki na kursywę
Znacznik <i> w języku HTML jest używany do formatowania tekstu, aby uzyskać efekt pochylonego kroju pisma. Jest to element semantyczny, który wprowadza do dokumentu wizualną różnicę, ale także ma swoje miejsce w kontekście znaczeniowym. Użycie <i> może wskazywać na zmianę intonacji w tekście, taką jak nazwy książek, filmów, czy obcych wyrazów. W standardach HTML5, <i> jest zalecany do użytku, aby wyróżnić elementy tekstowe w sposób, który jest zgodny z zasadami dostępności i semantyki. Przykład zastosowania: <p>W książce <i>W pustyni i w puszczy</i> autorstwa Henryka Sienkiewicza...</p>. Oznaczanie tekstu w ten sposób wspiera nie tylko estetykę strony, ale również poprawia doświadczenie użytkowników korzystających z technologii asystujących, które mogą interpretować znaczenie tak oznaczonego tekstu. Warto również pamiętać o odpowiednich stylach CSS, które można zastosować do tego znacznika, aby dostosować jego wygląd do reszty witryny.

Pytanie 14

W przedstawionym kodzie JavaScript linie zostały ponumerowane dla wygody. Kod ten zawiera błąd, ponieważ po jego uruchomieniu nie wyświetla się żaden komunikat. Aby usunąć ten błąd, należy

1  if(a<b)
2 document.write(a);
3 document.write("jest mniejsze");
4 else
5 document.write(b);
6 document.write("jest mniejsze");
A. w liniach 3 i 6 zastąpić znaki cudzysłowu apostrofami, np. ’jest mniejsze’
B. w liniach 2 i 5 zmienne a i b umieścić w cudzysłowie
C. umieścić znaki $ przed nazwami zmiennych
D. dodać nawiasy klamrowe do sekcji if i else
Analizując przedstawione odpowiedzi można zauważyć kilka typowych błędów myślowych w interpretacji wymagań języka JavaScript. Wstawienie zmiennych w cudzysłów sugeruje że traktujemy je jako ciągi tekstowe a nie jako zmienne co jest błędne w kontekście tego kodu. W tym przypadku zmienne a i b powinny pozostać bez cudzysłowów ponieważ odnosimy się do ich wartości nie do ich nazw jako tekstu. Kolejna błędna koncepcja to wstawienie znaków $ przed nazwami zmiennych co byłoby właściwe w niektórych językach jak PHP ale nie w JavaScript gdzie zmienne definiujemy za pomocą let const lub var bez dodatkowych symboli. Zamiana cudzysłowów na apostrofy w liniach 3 i 6 nie ma wpływu na logikę kodu ponieważ JavaScript akceptuje zarówno podwójne jak i pojedyncze cudzysłowy do wyrażania łańcuchów znaków. Takie zmiany są więc jedynie kwestią stylu i nie usuwają problemu związanego z brakiem nawiasów klamrowych w sekcji if oraz else. Główne źródło problemu tkwi w strukturze instrukcji warunkowej co podkreśla potrzebę dokładnego zrozumienia jak JavaScript przetwarza bloki kodu w zależności od użycia nawiasów klamrowych. Poprawne użycie nawiasów klamrowych jest kluczowe dla poprawnego wykonania wieloliniowych bloków kodu co jest częścią dobrych praktyk programistycznych.

Pytanie 15

Jaką wartość zwróci algorytm? ```Z = 0 N = 1 dopóki Z < 3: N = N * 2 + 1 Z = Z + 1 wypisz N```

A. 5
B. 3
C. 15
D. 7
Wartości 3, 5 oraz 7 są wynikiem błędnej interpretacji działania algorytmu. Często zdarza się, że osoby podchodzące do analizy pętli zapominają o kluczowej roli każdej iteracji oraz o tym, jak zmieniają się wartości zmiennych wewnątrz pętli. W przypadku odpowiedzi 3, można by pomyśleć, że program wyliczy wartość N po pierwszej iteracji, co jest niewłaściwe, ponieważ algorytm kontynuuje swoje działanie do momentu, aż Z osiągnie wartość 3. Odpowiedź 5 wynika z błędnego założenia, że algorytm kończy się po drugiej iteracji, co również jest mylne, ponieważ algorytm jest zaprojektowany do wykonania trzech iteracji. Z kolei wartość 7 może wydawać się logiczna po drugiej iteracji, jednak jest to kolejny przypadek niewłaściwego zrozumienia działania pętli. Kluczowym błędem myślowym jest niezdolność do dostrzegania, że zmienne są aktualizowane w każdej iteracji, a algorytm nie kończy się na pierwszej, czy drugiej, ale działa do momentu spełnienia warunku dla Z. Zrozumienie tego mechanizmu jest niezbędne w programowaniu, szczególnie podczas pracy z algorytmami iteracyjnymi, gdzie każda zmiana zmiennych wpływa na dalszy przebieg programu.

Pytanie 16

W języku PHPnie ma możliwości

A. obróbka informacji przechowywanych w bazie danych
B. tworzenie dynamicznej zawartości strony internetowej
C. zmienianie dynamiczne treści strony HTML w przeglądarce
D. przetwarzanie danych z formularzy
Odpowiedź dotycząca zmieniania dynamicznej zawartości strony HTML w przeglądarce jest poprawna, ponieważ PHP jest językiem skryptowym działającym po stronie serwera. Oznacza to, że PHP nie jest w stanie bezpośrednio modyfikować zawartości strony HTML po jej załadowaniu w przeglądarce użytkownika. Zamiast tego, PHP generuje HTML, który następnie jest przesyłany do przeglądarki. Dynamiczna zawartość strony może być generowana na podstawie danych z bazy danych lub formularzy, ale wszelkie zmiany w HTML po stronie klienta wymagają użycia języków, które działają po stronie przeglądarki, takich jak JavaScript. Przykładem może być sytuacja, w której użytkownik wypełnia formularz, a dane są przetwarzane przez PHP, które zwraca zaktualizowaną stronę. W przypadku potrzeby dynamicznych zmian, JavaScript może być użyty do manipulacji DOM po załadowaniu strony. Warto również zauważyć, że zgodnie z dobrymi praktykami, powinno się oddzielać logikę serwerową (PHP) od logiki klienckiej (JavaScript), co przyczynia się do lepszej struktury kodu i ułatwia jego utrzymanie.

Pytanie 17

Zmienne typu int odnoszą się do liczb całkowitych

A. całkowitych
B. w notacji stałoprzecinkowej
C. naturalnych
D. w notacji zmiennoprzecinkowej
Odpowiedzi, które nie są poprawne, opierają się na mylnym zrozumieniu typów danych w programowaniu. Zmienne odnoszące się do wartości naturalnych to liczby całkowite większe lub równe zeru, co nie obejmuje wszystkich możliwości, które daje typ int, ponieważ może on reprezentować również liczby ujemne. Zatem ograniczenie do liczb naturalnych jest zbyt wąskie i nie oddaje pełni możliwości, jakie oferują zmienne całkowite. Kolejnym błędnym założeniem jest powiązanie typów int z notacją stałoprzecinkową. Chociaż takie notacje są używane w kontekście reprezentacji liczby w pamięci, zmienne int nie są właściwie klasyfikowane jako stałoprzecinkowe, gdyż termin ten odnosi się specyficznie do zapisu wartości liczbowych, które nie zmieniają pozycji przecinka. Tak więc, typ int nie jest związany z tym pojęciem. Ostatnia odpowiedź, która sugeruje, że zmienne int są w notacji zmiennoprzecinkowej, jest również niepoprawna, ponieważ zmiennoprzecinkowe reprezentacje (np. float lub double) są używane do przechowywania liczb, które wymagają dokładności dziesiętnej. Typ int jest z definicji typem całkowitym, co w żaden sposób nie obejmuje liczb zmiennoprzecinkowych. W rzeczywistości zmienne zmiennoprzecinkowe mają całkowicie inną strukturę pod względem przechowywania i reprezentacji, co sprawia, że są one zupełnie odrębnymi typami danych od int.

Pytanie 18

Na tabeli 'dania', której wiersze zostały pokazane, wykonano przedstawioną kwerendę:

SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;
Ile wierszy wybierze kwerenda?
idtypnazwacena
11Gazpacho20
21Krem z warzyw25
31Gulaszowa ostra30
42Kaczka i owoc30
52Kurczak pieczony40
62wieprzowy przysmak35
72Mintaj w panierce30
82Alle kotlet30
93Owoce morza20
103Grzybki, warzywka, sos15
113Orzechy i chipsy10
123Tatar i jajo15
133Bukiet warzyw10
A. 13
B. 2
C. 5
D. 8
Kwerenda SQL zawarta w pytaniu to `SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;`. Analizując tę kwerendę, możemy zauważyć, że wybiera ona wiersze z tabeli `dania`, gdzie wartość kolumny `typ` jest mniejsza niż 3 oraz wartość kolumny `cena` jest mniejsza niż 30. Sprawdźmy dane w tabeli: dla `typ` 1 mamy trzy dania: Gazpacho (cena 20), Krem z warzyw (cena 25) oraz Gulaszowa ostra (cena 30), z których dwa pierwsze spełniają warunek dotyczący ceny. Dla `typ` 2 mamy Kaczkę i owoc (cena 30), Kurczaka pieczonego (cena 40) oraz Wieprzowy przysmak (cena 35), które nie spełniają wymogu ceny. W rezultacie, wiersze, które spełniają oba warunki to: Gazpacho oraz Krem z warzyw. Zatem kwerenda wybierze 2 wiersze. W kontekście praktycznym, umiejętność tworzenia filtrów w kwerendach SQL jest kluczowa w analizie danych oraz w tworzeniu raportów, co jest bardzo istotne w pracy z bazami danych.

Pytanie 19

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

A. CREATE TABLE rośliny {miesiacSiewu int};
B. UPDATE rośliny ADD miesiacSiewu int;
C. ALTER TABLE rośliny ADD miesiacSiewu int;
D. INSERT INTO rośliny VALUES (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 20

W dołączonym fragmencie kodu CSS kolor został przedstawiony w formie

Ilustracja do pytania
A. HSL
B. dziesiętnej
C. CMYK
D. szesnastkowej
Kolor zapisany w postaci szesnastkowej w CSS to popularny sposób definiowania barw na stronach internetowych. Szesnastkowy format koloru wykorzystuje sześć znaków, które są kombinacją cyfr oraz liter od A do F, poprzedzone znakiem hash (#). Każda para znaków reprezentuje wartość jednego z trzech podstawowych kolorów RGB: czerwonego, zielonego i niebieskiego. Na przykład kolor #008000 składa się z czerwonego o wartości 00, zielonego o wartości 80 i niebieskiego o wartości 00. Szesnastkowy zapis jest preferowany ze względu na swoją kompaktowość i zgodność ze standardami sieciowymi. W praktyce, projektanci często używają narzędzi do konwersji kolorów, aby uzyskać pożądane odcienie, co ułatwia zastosowanie odpowiednich wartości szesnastkowych w kodzie. Format ten pozwala także na tworzenie skróconych wersji, jak #FFF dla bieli. Jego użycie jest powszechne i dobrze zrozumiałe w branży, co czyni go uniwersalnym wyborem w projektach webowych.

Pytanie 21

Instrukcja JavaScript: document.write5==='5'); co zostanie wyświetlone?

A. true
B. false
C. 1
D. 0
Analizując inne opcje odpowiedzi, można zauważyć, że pierwsza z nich sugeruje wynik 1. W kontekście JavaScript, wynik 1 zazwyczaj odnosi się do wartości prawdy, co jest mylne w przypadku porównania 5 === '5', które nie może zwrócić takiej wartości. Kolejna opcja wskazuje na 0, co w JavaScript również jest interpretowane jako fałsz, ale nie jest zgodne z logiką porównania typów, gdzie wynik jest jednoznacznie 'false', a nie liczbowy. Trzecia opcja, 'true', jest szczególnie myląca, ponieważ może sugerować, że porównanie zakończyło się sukcesem, co jest sprzeczne z zasadą porównania typów: 5 jako liczba i '5' jako string nie mogą być uznawane za identyczne przy użyciu operatora '===' w JavaScript. Warto pamiętać, że JavaScript jest językiem z dynamicznym typowaniem, co oznacza, że typy danych mogą być zmieniane, ale operator '===' wymaga, aby obie strony porównania były tego samego typu. Dlatego każda z tych niepoprawnych odpowiedzi błędnie interpretuje zasady operatorów w JavaScript, prowadząc do nieprawidłowych wniosków.

Pytanie 22

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

A. Dodaje do wybranej tabeli rekordy z innej tabeli
B. Prezentuje zliczone wartości z pola i układa je w wiersze oraz kolumny
C. Usuwa rekordy z tabel według określonych kryteriów
D. Zmienia istniejące dane w tabeli
Kwerenda krzyżowa w bazie danych MS Access pełni kluczową rolę w analizie danych, umożliwiając użytkownikom prezentację zliczonych wartości w formacie tabelarycznym, gdzie wyniki są układane w wiersze i kolumny. To narzędzie jest niezwykle przydatne w przypadku, gdy chcemy zsyntetyzować dane na podstawie dwóch lub więcej kryteriów, co pozwala na szybką analizę zależności i trendów. Na przykład, możemy stworzyć kwerendę krzyżową, która zlicza sprzedaż według miesięcy i kategorii produktów. W rezultacie otrzymujemy czytelny raport, który pozwala na natychmiastowe zrozumienie, które produkty sprzedają się najlepiej w danym okresie. Kwerendy krzyżowe są zgodne z najlepszymi praktykami w zakresie analizy danych, umożliwiając użytkownikom szybkie podejmowanie decyzji na podstawie wizualizacji wyników. Standardy projektowania baz danych zalecają korzystanie z takich kwerend tam, gdzie potrzebne są złożone analizy, a ich struktura jest zgodna z zasadami normalizacji danych, co z kolei ułatwia ich późniejsze przetwarzanie.

Pytanie 23

bool gotowe=true;
cout<<gotowe;
Jakie będzie wyjście w wyniku wykonania podanych poleceń?

A. 0
B. 1
C. Nie
D. Tak
Kiedy wybrałeś, że wynik to '0' lub inną wartość logiczną, mogłeś się pomylić co do działania zmiennych typu bool w C++. Myśląc, że wynik to '0', można sądzić, że zmienna gotowe (z wartością true) nie jest prawidłowo wyświetlana jako liczba. To jest w sumie sprzeczne z tym, co mówi definicja typu bool, bo true i false są pokazywane jako 1 i 0. Myślenie, że 'Tak' lub 'Nie' to dobre odpowiedzi, może wynikać z błędnego założenia, że bool można bardziej skomplikowanie interpretować. W rzeczywistości w C++ nie ma prostego przełożenia bool na tekst; korzystamy z liczbowych odpowiedników. Takie nieporozumienia mogą prowadzić do różnych błędów, zwłaszcza gdy programista nie rozumie podstawowych zasad konwersji typów danych. Ważne jest, żeby programiści wiedzieli, jak różne typy są reprezentowane i konwertowane w języku, bo to ma wpływ na działanie ich programów oraz na interakcje z użytkownikami. Ta wiedza jest kluczowa do tworzenia sprawnych aplikacji i unikania typowych błędów w kodowaniu.

Pytanie 24

Zaproponowana baza danych składa się z trzech tabel oraz dwóch relacji. Żeby uzyskać listę wszystkich lekarzy przypisanych do danego pacjenta, konieczne jest porównanie kluczy

Ilustracja do pytania
A. Lekarze.id = Pacjenci.id
B. Lekarze.id = Pacjenci.Recepty_id
C. Lekarze.id = Pacjenci.Lekarze_id
D. Lekarze.id = Recepty.id
Wybór niepoprawnych odpowiedzi często wynika z błędnego zrozumienia relacji między tabelami w bazie danych. Pierwsza opcja Lekarze.id = Pacjenci.id sugeruje mylne podejście że lekarz i pacjent mogą być tym samym podmiotem co jest sprzeczne z zasadą separacji encji w relacyjnych bazach danych. Taka relacja nie ma logicznego sensu w kontekście medycznym gdzie lekarz to osoba świadcząca usługi zdrowotne a pacjent to osoba je otrzymująca. Podobnie opcja Lekarze.id = Pacjenci.Recepty_id nie jest poprawna gdyż sugeruje bezpośrednią relację między lekarzami a lekami przepisanymi pacjentowi co ignoruje fakt że recepty są osobnymi dokumentami generowanymi w procesie leczenia. Recepty są przypisane do pacjentów ale to lekarze zlecają je poprzez interakcję z pacjentem nie bezpośrednio z receptą. Ostatnia opcja Lekarze.id = Recepty.id sugeruje relację bezpośrednią między lekarzami a receptami z pominięciem pacjentów co jest błędnym uproszczeniem procesu przepisywania leków. W rzeczywistości każda recepta jest wynikiem interakcji między lekarzem a pacjentem i nie istnieje bezpośrednia zależność między lekarzem a receptą. Takie myślenie prowadzi do błędów w projektowaniu struktury bazy danych co może skutkować trudnościami w zarządzaniu danymi i utrzymaniu ich spójności. Zrozumienie prawidłowych relacji między tabelami w bazie danych jest kluczowe dla efektywnego zarządzania informacją i eliminacji błędów w aplikacjach biznesowych.

Pytanie 25

W języku CSS wprowadzono poniższe formatowanie:

p > i { color: blue; }
Oznacza to, że tekst w kolorze niebieskim będzie zapisany:
A. cały tekst akapitu, bez względu na jego formatowanie
B. pochylony tekst akapitu
C. cały tekst nagłówków, bez względu na ich formatowanie
D. pogrubiony tekst akapitu
W języku CSS selektor > jest używany do stylizowania bezpośrednich potomków danego elementu. W podanym przykładzie p > i oznacza, że reguła CSS będzie zastosowana do elementu i będącego bezpośrednim dzieckiem elementu p. To oznacza, że tylko tekst zapisany w tagu i wewnątrz paragrafu p będzie miał kolor niebieski. Jest to powszechnie stosowane podejście do precyzyjnego stylizowania elementów na stronach internetowych, z zachowaniem struktury dokumentu HTML. Takie rozwiązanie pozwala na lepszą kontrolę nad wyglądem i prezentacją dokumentu, co jest istotne przy tworzeniu responsywnych i estetycznych stron. Praktyczne zastosowanie tego stylu można zobaczyć w przypadku, gdy chcemy wyróżnić pewne frazy w paragrafie, na przykład cytaty lub terminy. Warto pamiętać, że używanie selektorów potomstwa poprawia czytelność i efektywność kodu CSS, co jest dobrą praktyką w profesjonalnym kodowaniu frontendowym. Zachowanie spójności i przejrzystości stylów jest kluczowe w większych projektach, gdzie wiele osób pracuje nad kodem.

Pytanie 26

Podaj zapytanie SQL, które tworzy użytkownika sekretarka na localhost z hasłem zaq123?

A. CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123";
B. CREATE USER 'sekretarka'@'localhost' IDENTIFIED `zaq123`;
C. CREATE USER `sekretarka`@`localhost` IDENTIFIED BY 'zaq123';
D. CREATE USER `sekretarka`@`localhost` IDENTIFY BY `zaq123`;
W analizowanych odpowiedziach można dostrzec kilka kluczowych błędów związanych z zarządzaniem użytkownikami w MySQL. Przykładowo, odpowiedź sugerująca użycie słowa kluczowego 'IDENTIFY' zamiast 'IDENTIFIED' jest niewłaściwa, ponieważ w kontekście MySQL nie istnieje tego typu polecenie. Takie nieprawidłowe zrozumienie składni SQL może prowadzić do nieudanych prób tworzenia użytkowników, co z kolei skutkuje frustracją i czasem straconym na debugowanie. Ponadto, odpowiedzi, które używają backticków (`) do oznaczania hasła, są niepoprawne. W SQL backticki służą do oznaczania identyfikatorów, takich jak nazwy tabel czy kolumn, a nie do łańcuchów tekstowych. Oznaczanie haseł przy użyciu backticków może prowadzić do nieprzewidywalnych błędów podczas wykonywania zapytań. Kolejnym problemem jest brak właściwego zrozumienia konwencji dotyczących użycia pojedynczych lub podwójnych cudzysłowów do definiowania łańcuchów. Użycie cudzysłowów zamiast apostrofów prowadzi do błędów składniowych. W kontekście bezpieczeństwa, każda nieprawidłowa próba utworzenia użytkownika może zagrażać integralności danych, dlatego ważne jest, aby korzystać z poprawnych praktyk, jak również ze zrozumienia zasad dotyczących zarządzania użytkownikami w systemie baz danych.

Pytanie 27

W przedstawionym kodzie HTML, zaprezentowany styl CSS jest stylem:

<p style="color:red;">To jest przykładowy akapit.</p>
A. dynamicznym
B. lokalnym
C. zewnętrznym
D. nagłówkowym
Styl CSS określony wewnątrz elementu HTML poprzez atrybut style jest przykładem stylu lokalnego. Styl lokalny pozwala na bezpośrednie przypisanie konkretnych własności CSS do pojedynczego elementu co umożliwia szybkie i łatwe testowanie oraz modyfikacje wyglądu bez potrzeby edytowania zewnętrznych plików CSS. Praktyczne zastosowanie stylów lokalnych odnajdujemy w sytuacjach gdy chcemy wprowadzić zmiany dla pojedynczego elementu na stronie nie wpływając na inne elementy. Na przykład jeśli w jednym miejscu chcemy podkreślić wagę tekstu stosując kolor czerwony możemy użyć stylu lokalnego jak pokazano w pytaniu. Jednak styl lokalny nie jest zalecany dla większych projektów czy skomplikowanych stron ze względu na fakt że utrudnia zarządzanie i utrzymywanie spójnego stylu w całym projekcie. W takich przypadkach lepiej korzystać ze stylów zewnętrznych lub nagłówkowych które oferują lepszą organizację i elastyczność. Warto również pamiętać że implementacja stylu lokalnego może nadpisywać inne style co jest istotne przy rozwiązywaniu problemów związanych z dziedziczeniem stylów CSS.

Pytanie 28

Jaką metodę przesyłania należy wykorzystać, by zapewnić największe bezpieczeństwo danych zaszyfrowanych w formularzu, które są wysyłane do kodu PHP?

A. Metoda POST, za pomocą protokołu HTTPS
B. Metoda POST, za pomocą protokołu HTTP
C. Metoda GET, za pomocą protokołu HTTP
D. Metoda GET, za pomocą protokołu HTTPS
Jak wiemy, wybieranie metody POST przy użyciu HTTPS to naprawdę najlepszy sposób na przesyłanie wrażliwych danych. Dlaczego? Bo metoda POST przesyła dane w ciele żądania, więc są one mniej widoczne dla niepowołanych osób. W przeciwieństwie do metody GET, która wrzuca wszystko do adresu URL. A protokół HTTPS to już zupełnie inna bajka, bo szyfruje cały ruch między użytkownikiem a serwerem. W praktyce to znaczy, że nasze dane, przykładowo hasła w formularzach logowania, są lepiej chronione przed podsłuchiwaniem. Oprócz tego warto pamiętać o standardach OWASP, które mocno podkreślają, jak ważne jest stosowanie HTTPS i POST tam, gdzie przesyłamy wrażliwe informacje. To naprawdę mogłoby uratować nas przed różnymi atakami, jak Man-in-the-Middle, więc nie ma co ryzykować i warto stosować te metody.

Pytanie 29

Aby zmienić wartość atrybutu elementu opisanego w CSS przy użyciu skryptu JavaScript, należy zastosować następujący zapis

A. document.getElementById(id).<nazwa właściwości> = <nowa wartość>
B. document.getElementById(id).style.<nazwa właściwości> = <nowa wartość>
C. document.getElementById(id).<nazwa-atrybutu> = <nowa wartość>
D. document.getElementById(id).innerHTML = <nowa wartość>
Odpowiedzi, które nie zawierają poprawnego odniesienia do właściwości style, wskazują na istotne nieporozumienia dotyczące manipulacji elementami DOM w JavaScript. Użycie document.getElementById(id).innerHTML = <nowa wartość>; nie jest odpowiednie do zmiany elementów stylu, ponieważ innerHTML służy do modyfikacji zawartości HTML wewnątrz elementu, a nie jego stylów. Zmiana zawartości może prowadzić do nadpisania istniejących elementów i wprowadzenia niezamierzonych skutków, takich jak utrata zdarzeń przypisanych do tych elementów. Kolejny błąd tkwi w użyciu document.getElementById(id).<nazwa właściwości> = <nowa wartość>; gdzie <nazwa właściwości> może odnosić się do atrybutów DOM, ale nie do właściwości stylu CSS. Na przykład, ustawienie document.getElementById(id).className = 'newClass'; zmieni klasę CSS elementu, ale nie bezpośrednio jego styl. Ostatnia propozycja, document.getElementById(id).<nazwa-atrybutu> = <nowa wartość>; jest również myląca, ponieważ nie odnosi się do modyfikacji stylów, lecz do manipulacji atrybutami HTML, co może prowadzić do nieprawidłowego działania strony. Zrozumienie zasadniczej różnicy między manipulowaniem treścią a stylem, a także umiejętność właściwego korzystania z DOM, są kluczowe dla skutecznego programowania w JavaScript.

Pytanie 30

W HTML-u, aby uzyskać efekt przedstawiony w przykładzie, należy użyć konstrukcji

Duży tekstzwykły tekst

A. <p><strike>Duży tekst zwykły tekst</p>
B. <p><big>Duży tekst</big>zwykły tekst</p>
C. <p><strike>Duży tekst</strike>zwykły tekst</p>
D. <p><big>Duży tekst</big>zwykły tekst</p>
W języku HTML, użycie znacznika <big> jest właściwym sposobem na zwiększenie rozmiaru tekstu, co w efekcie pozwala na wyróżnienie go w kontekście pozostałej treści. Znacznik ten jest jednak przestarzały i niezalecany w nowoczesnych praktykach, ponieważ CSS oferuje bardziej elastyczne i zaawansowane metody stylizacji. Przykładowo, zamiast stosować <big>, można wykorzystać stylizację CSS, aby uzyskać podobny efekt, co zwiększa kontrolę nad wyglądem elementów. Ponadto, zastosowanie znacznika <p> jako kontenera dla tekstu zapewnia semantyczną strukturę dokumentu, co jest zgodne z wytycznymi W3C i poprawia dostępność. Przykładowo, użycie CSS może wyglądać tak: <p style='font-size: 1.5em;'>Duży tekst</p>zwykły tekst, co jest bardziej zalecane dla zachowania zgodności ze standardami. Warto pamiętać, że unikanie przestarzałych znaczników i stosowanie CSS zwiększa elastyczność i estetykę projektów HTML.

Pytanie 31

Dostosowanie wyglądu witryny do indywidualnych preferencji użytkownika oraz jego identyfikacja w systemie są możliwe dzięki mechanizmowi

A. cookie
B. łączenia z bazą
C. formularzy
D. obiektów DOM
Wybór formularzy, DOM i łączenia z bazą danych jako sposobów na personalizację strony i identyfikację użytkownika to trochę nieporozumienie. Formularze pozwalają na wysyłanie danych, jak logowanie czy rejestracja, ale same w sobie nie przechowują informacji o użytkownikach. Ich głównym celem jest interakcja z użytkownikiem. Obiekty DOM to właściwie struktura dokumentu HTML i umożliwiają modyfikację elementów na stronie, ale nie służą do identyfikacji użytkownika. Łączenie z bazą danych jest ważne dla przechowywania danych, ale to nie to samo co lokalne przechowywanie, które jest kluczowe dla personalizacji. Jeśli chcesz dobrze projektować aplikacje webowe, warto zrozumieć te różnice, bo błędy mogą się zdarzyć, zwłaszcza jeśli chodzi o cookies.

Pytanie 32

Przedstawiony fragment kodu PHP ma za zadanie umieścić dane znajdujące się w zmiennych $a, $b, $c w bazie danych, w tabeli dane. Tabela dane zawiera cztery pola, z czego pierwsze to autoinkrementowany klucz główny. Które z poleceń powinno być przypisane do zmiennej $zapytanie?

<?php
...
$zapytanie = "...";
mysqli_query($db, $zapytanie);
...
?>
A. INSERT INTO dane VALUES ('$a', '$b', '$c');
B. SELECT '$a', '$b', '$c' FROM dane;
C. INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');
D. SELECT NULL, '$a', '$b', '$c' FROM dane;
Wybór opcji 'SELECT '$a', '$b', '$c' FROM dane;' jest nieprawidłowy, ponieważ polecenie SELECT służy do pobierania danych z bazy danych, a nie do ich wstawiania. W tym kontekście celem jest dodanie nowych rekordów, co wymaga użycia polecenia INSERT. Podobnie, 'SELECT NULL, '$a', '$b', '$c' FROM dane;' również nie ma sensu w kontekście dodawania danych, ponieważ znowu wykorzystuje polecenie SELECT, a dodatkowo NULL nie ma zastosowania jako wartość w kontekście gromadzenia danych do wstawienia. Użycie 'INSERT INTO dane VALUES ('$a', '$b', '$c');' jest błędne, ponieważ nie uwzględnia klucza głównego, który jest autoinkrementowany. Zatem, bez podania NULL jako miejsca klucza głównego, próba wstawienia danych doprowadziłaby do błędu, gdyż klucz główny powinien być unikalny i autoinkrementowany. Częstym błędem jest nieuwzględnienie struktury tabeli oraz mechanizmu kluczy głównych i obcych przy konstruowaniu zapytań do bazy danych. Dlatego kluczowe jest, aby zrozumieć, jak poprawnie formułować zapytania, uwzględniając specyfikację tabeli i właściwe polecenia SQL, co jest kluczowe dla efektywnego i bezbłędnego gromadzenia danych.

Pytanie 33

W kodzie HTML przypisano pewne znaczniki do klasy o nazwie "nomargin". Jak można przeprowadzić operacje na tych znacznikach w języku JavaScript, korzystając z odpowiedniej funkcji?

A. getElementById("nomargin")
B. getElementsByClassName("nomargin")
C. getElementsByTagName("nomargin")
D. getElement("nomargin")
Odpowiedzi, takie jak 'getElement("nomargin")', 'getElementById("nomargin")' oraz 'getElementsByTagName("nomargin")', są niewłaściwe z różnych powodów, które warto szczegółowo przeanalizować. Pierwsza opcja, 'getElement("nomargin")', nie istnieje w standardzie JavaScript, co może prowadzić do błędów w kodzie. Właściwe metody umożliwiające selekcję elementów to bardziej specyficzne funkcje, jak getElementById, która z kolei wymaga unikalnego identyfikatora, a nie klasy. Przykład 'getElementById("nomargin")' działałby tylko wtedy, gdy 'nomargin' byłby przypisany jako identyfikator (id) jednego, unikalnego elementu. Jednak w HTML nie zaleca się stosowania tej metody do selekcji klas, co stwarza kolejne problemy. Ostatnia odpowiedź, 'getElementsByTagName("nomargin")', jest również błędna, ponieważ ta metoda służy do selekcji elementów na podstawie ich tagów HTML, a nie klas. Ponadto, brak zrozumienia różnic między tymi metodami może prowadzić do istotnych błędów w kodzie, które będą skutkować błędnym działaniem aplikacji webowych. Kluczowe jest, aby przy pracy z DOM stosować odpowiednie metody zgodnie z ich przeznaczeniem, co podnosi jakość kodu oraz jego czytelność.

Pytanie 34

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

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

Pytanie 35

Podczas walidacji strony napotkano błąd. Co to oznacza?

Ilustracja do pytania
A. w atrybucie charset dopuszczalna jest wyłącznie wartość "utf-8"
B. oznaczenie ISO-8859-2 jest nieprawidłowe
C. znacznik meta nie zawiera atrybutu charset
D. określenie kodowania znaków musi być zapisane bez użycia myślników
Podczas walidacji strony często spotykany błąd może dotyczyć niepoprawnego kodowania znaków co jest kluczowe dla poprawnego wyświetlania treści w różnych językach. Oznaczenie ISO-8859-2 choć istnieje i jest stosowane dla niektórych kodowań środkowoeuropejskich nie jest zalecane w nowoczesnych standardach webowych. Właściwym podejściem jest stosowanie UTF-8 które jest bardziej uniwersalne i wspierane przez współczesne przeglądarki. Twierdzenie że w znaczniku meta nie występuje atrybut charset jest błędne ponieważ jest to jeden z podstawowych elementów definiujących jak przeglądarka powinna interpretować znaki na stronie internetowej. Użycie tego atrybutu jest kluczowe dla uniknięcia problemów z wyświetlaniem znaków specjalnych. Kolejna koncepcja że w atrybucie charset jest dozwolona wyłącznie wartość utf-8 jest prawidłowa ale wymaga zrozumienia że jest to jedynie zalecenie zgodne z HTML5 które zapewnia największą kompatybilność i elastyczność. Natomiast oznaczenie kodowania znaków bez myślników nie jest standardem przyjętym w żadnej popularnej specyfikacji co oznacza że takie podejście jest błędne. W praktyce zawsze warto sięgać po zalecane rozwiązania zapewniające poprawność i kompatybilność treści webowych. Użycie niepoprawnego kodowania może prowadzić do błędów w interpretacji i wyświetlaniu stron co jest szczególnie istotne w kontekście międzynarodowych aplikacji i stron internetowych. Współczesne standardy bezpieczeństwa i dostępności stron internetowych jednoznacznie wskazują że stosowanie UTF-8 jest najlepszą praktyką pozwalającą unikać wielu problematycznych sytuacji w międzynarodowym środowisku internetowym. Dążenie do zgodności z tym standardem jest nie tylko rekomendowane ale wręcz wymagane w kontekście tworzenia profesjonalnych i dostępnych stron internetowych. To podejście gwarantuje że treści będą prawidłowo odczytywane przez przeglądarki na całym świecie.

Pytanie 36

W tabeli mieszkańcy zawierającej pola id, imie, nazwisko, ulica, numer, czynsz (wartość całkowita) należy zidentyfikować osoby zamieszkujące ulicę Mickiewicza pod numerami 71, 72, 80, których czynsz jest niższy niż
1000 zł. Jak będzie wyglądać klauzula WHERE w zapytaniu?

A. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) OR czynsz < 1000
B. WHERE ulica = 'Mickiewicza' OR numer IN (71, 72, 80) OR czynsz < 1000
C. WHERE ulica = 'Mickiewicza' AND numer > 70 AND numer < 81 OR czynsz < 1000
D. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000
Odpowiedź jest prawidłowa, ponieważ klauzula WHERE w zapytaniu SQL skutecznie filtruje dane zgodnie z wymaganiami. W tym przypadku, użycie operatora AND w połączeniu z IN i warunkiem < 1000 zapewnia, że zwrócone zostaną jedynie te rekordy, które spełniają wszystkie trzy kryteria: ulica musi być 'Mickiewicza', numer musi być jednym z 71, 72 lub 80, a czynsz musi być mniejszy niż 1000 zł. To jest zgodne z dobrą praktyką w SQL, gdzie łączenie warunków z użyciem operatorów logicznych pozwala na precyzyjne określenie zestawu danych, które nas interesują. Przy tak skonstruowanej klauzuli, zapytanie będzie wydajne i zrozumiałe, co jest kluczowe w pracy z bazami danych. Przykładowe zastosowanie to generowanie raportów dotyczących mieszkańców, co może być istotne dla zarządzania nieruchomościami lub analizy rynku wynajmu. Tego typu zapytania są powszechnie używane w aplikacjach webowych i systemach zarządzania danymi, co podkreśla znaczenie umiejętności formułowania precyzyjnych zapytań SQL.

Pytanie 37

Podana jest tabela psy z polami: imie, rasa, telefon_wlasciciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby znaleźć numery telefonów właścicieli, których psy były szczepione przed rokiem 2015?

A. SELECT imie, rasa FROM psy WHERE rok_szczepienia > 2015
B. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia > 2015
C. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015
D. SELECT psy FROM rok_szczepienia < 2015
Wybór odpowiedzi 'SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015;' jest poprawny z kilku powodów. Przede wszystkim, zapytanie to spełnia wymogi dotyczące selekcji danych z tabeli 'psy', koncentrując się na właścicielach psów, które zostały zaszczepione przed rokiem 2015. W SQL klauzula WHERE jest kluczowym elementem, który pozwala na filtrowanie wyników według określonych kryteriów. W tym przypadku, filtrujemy psy na podstawie roku ich szczepienia, co jest zgodne z naszym celem. Ponadto, selekcjonowanie tylko kolumny 'telefon_wlasciciela' jest właściwe, ponieważ chcemy uzyskać konkretne dane, a nie całą tabelę. Użycie operatora '<' jest odpowiednie, ponieważ skupia się na roku mniejszym niż 2015. Praktycznym zastosowaniem tego zapytania może być uzyskanie kontaktów do właścicieli, aby przypomnieć im o konieczności ponownego zaszczepienia ich psów, co wpisuje się w działania profilaktyczne i zdrowotne w dbaniu o dobrostan zwierząt. Warto również pamiętać, że dobre praktyki w projektowaniu baz danych zalecają użycie poprawnych typów danych oraz właściwe indeksowanie kolumn, co może przyspieszyć wykonanie zapytań tego typu.

Pytanie 38

Jakie wyrażenie w języku JavaScript określa komentarz jednoliniowy?

A. //
B. ?
C. /*
D. #
Odpowiedź '//', stosowana w języku JavaScript, jest poprawnym zapisem komentarza jednoliniowego. Komentarze jednowierszowe rozpoczynają się od podwójnego ukośnika, co oznacza, że wszystko, co znajduje się po tym znaku w danym wierszu, jest ignorowane przez interpreter. Używanie komentarzy jest kluczowe w procesie programowania, ponieważ pozwala na dodawanie notatek, które mogą wyjaśniać logikę kodu lub przypominać o jego funkcji innym programistom oraz przyszłemu ja. Na przykład, jeśli mamy kod odpowiedzialny za obliczenia, można dodać komentarz wyjaśniający, co dokładnie robi dany blok kodu, co ułatwia utrzymanie kodu i jego późniejsze modyfikacje. Komentarze są niezwykle ważne w kontekście dobrych praktyk programistycznych, takich jak DRY (Don't Repeat Yourself) oraz KISS (Keep It Simple, Stupid), pomagając w utrzymaniu przejrzystości i czytelności kodu. Standardy ECMAScript, na których oparty jest JavaScript, jasno definiują sposób użycia komentarzy, co czyni ich stosowanie nie tylko praktyką, ale również zgodnością z normami branżowymi.

Pytanie 39

Podano fragment kodu HTML, który nie przechodzi walidacji. Problemy z walidacją tego kodu będą dotyczyć

<!DOCTYPE HTML>
<html>
<head>
    <title>Test</title>
</head>
<body>

<img src="obraz.gif" alt="Obrazek">
<br>
<img src="obraz.gif" alt="Obrazek">

</body>
</html>
A. braku zamknięcia znacznika <span class="code-text">img</span>
B. braku cudzysłowu
C. duplikacji nazwy pliku graficznego
D. braku zamknięcia znacznika <span class="code-text">br</span>
W przypadku walidacji kodu HTML istnieje wiele potencjalnych błędów, które mogą być źle zrozumiane. Niedomknięcie znacznika br w HTML5 nie jest błędem, ponieważ br jest elementem pustym i może być używany zarówno z zamknięciem (br /), jak i bez. W starszych wersjach HTML, takich jak XHTML, wymagane było jego zamknięcie. Powtórzenie nazwy pliku graficznego nie stanowi błędu walidacji, chyba że prowadzi do problemów z wydajnością lub wskazuje na niezamierzoną duplikację zasobów na stronie. Samo duplikowanie plików nie wpływa bezpośrednio na walidację, ale może negatywnie wpływać na czas ładowania strony. Niedomknięcie znacznika img mogłoby być problemem w starszych wersjach XHTML, ale w HTML5 img jest również elementem pustym, gdzie takie zamknięcie nie jest wymagane. Częstym błędem jest niezrozumienie, że brak cudzysłowu wokół wartości atrybutów, takich jak src czy alt, może prowadzić do problemów walidacyjnych. Warto także pamiętać, że zgodność z HTML5 i dobre praktyki programistyczne nakazują zamykanie wartości atrybutów w cudzysłowach, aby uniknąć niejasności i poprawić kompatybilność między różnymi systemami interpretującymi kod HTML. Uświadomienie sobie różnorodności potencjalnych błędów walidacyjnych pomaga w tworzeniu bardziej zgodnego i bezpiecznego kodu zgodnego ze standardami sieciowymi.

Pytanie 40

W HTML-u, aby połączyć w poziomie dwie sąsiednie komórki w danym wierszu tabeli, należy wykorzystać atrybut

A. colspan
B. cellspacing
C. rowspan
D. cellpadding
Wybór niewłaściwego atrybutu do scalania komórek w tabeli HTML wskazuje na pewne nieporozumienia dotyczące funkcji atrybutów. Atrybut cellpadding służy do określenia odstępu wewnętrznego między zawartością komórki a jej krawędzią, co nie ma żadnego wpływu na scalanie komórek. Z kolei atrybut cellspacing dotyczy odstępu pomiędzy samymi komórkami tabeli, również nie mając nic wspólnego z ich scalaniem. Zastosowanie tych atrybutów może poprawić estetykę tabeli, ale nie wpłynie na sposób, w jaki komórki są łączone. Z kolei atrybut rowspan, mimo że ma podobne zastosowanie do colspan, służy do łączenia komórek w pionie, a nie w poziomie. Użytkownicy często mylą te atrybuty, co prowadzi do błędnych założeń, że mogą one pełnić tę samą funkcję. Niezrozumienie różnicy między tymi atrybutami może prowadzić do niepoprawnych implementacji w praktyce, co z kolei wpływa na wydajność i czytelność stron internetowych. W kontekście projektowania stron internetowych ważne jest, aby dobrze rozumieć nie tylko działanie poszczególnych atrybutów, ale także ich zgodność z najlepszymi praktykami HTML i CSS, co zapewnia lepszą dostępność i doświadczenie użytkownika.