Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 9 grudnia 2025 14:37
  • Data zakończenia: 9 grudnia 2025 15:00

Egzamin zdany!

Wynik: 21/40 punktów (52,5%)

Wymagane minimum: 20 punktów (50%)

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

Jak zdefiniować formatowanie tabeli w języku CSS, aby wyróżnić wiersz, na który aktualnie najeżdża kursor myszy, korzystając z innego koloru?

A. pseudoklasę :visited
B. pseudoelement ::marker
C. pseudoklasę :hover
D. pseudoelement ::first-line
Zastosowanie pseudoklasy :visited jest nieodpowiednie w kontekście zmiany stylów wierszy tabeli, ponieważ ta pseudoklasa dotyczy linków, a konkretnie tych, które zostały już odwiedzone przez użytkownika. Nie ma możliwości jej użycia do modyfikacji stylów dla innych elementów jak wiersze tabel, co ogranicza jej zastosowanie w interaktywnym projektowaniu. Z kolei pseudoelement ::marker jest przeznaczony do stylizacji markerów w listach, a nie do wierszy tabeli, co sprawia, że jest całkowicie nieadekwatny w kontekście tego pytania. Ta pomyłka często wynika z mylnego przekonania, że pseudoelementy mogą być używane w celu wprowadzania efektów interakcji z użytkownikiem, co jest niezgodne z ich przeznaczeniem. Ostatnia z wymienionych opcji, pseudoelement ::first-line, pozwala na stylizację pierwszej linii tekstu w bloku, co również nie ma zastosowania w kontekście zmiany stylów dla wierszy tabel. Tego typu nieporozumienia mogą prowadzić do błędnych implementacji oraz niezrozumienia roli, jaką odgrywają różne selektory w CSS. Dlatego ważne jest, aby przy projektowaniu strony internetowej mieć jasne pojęcie o tym, jakie klasy i pseudoklasy są przeznaczone do jakich zastosowań, aby uniknąć nieefektywnych i błędnych rozwiązań.

Pytanie 2

Jakie oprogramowanie NIE JEST systemem do zarządzania treścią (CMS)?

A. Mambo
B. Joomla
C. WordPress
D. Apache
Apache to serwer HTTP, który jest wykorzystywany do hostowania stron internetowych. Nie jest to system zarządzania treścią (CMS), ponieważ jego głównym zadaniem jest obsługa żądań HTTP i dostarczanie plików do przeglądarek internetowych. Systemy zarządzania treścią, takie jak Joomla, WordPress czy Mambo, to aplikacje, które umożliwiają użytkownikom łatwe tworzenie, edytowanie i zarządzanie treściami na stronach internetowych bez konieczności posiadania zaawansowanej wiedzy technicznej. Przykładem zastosowania Apache może być hostowanie strony internetowej stworzonej w jednym z wymienionych CMS, gdzie Apache dostarcza zasoby, a CMS zarządza treścią i logiką aplikacji. Dobrą praktyką w branży jest oddzielanie warstwy serwera od warstwy aplikacji, co pozwala na lepszą skalowalność i utrzymanie, a także na łatwiejszą aktualizację i zarządzanie bezpieczeństwem.

Pytanie 3

Ile razy zostanie wykonana pętla napisana w języku PHP, przy założeniu, że zmienna kontrolna nie jest zmieniana w trakcie działania pętli?
for ($i = 0; $i <= 10; $i+=2) { .... }

A. 0
B. 5
C. 6
D. 10
Odpowiedź 6 jest poprawna, ponieważ pętla for w języku PHP jest skonstruowana w taki sposób, że iteruje od 0 do 10 w krokach co 2. Inicjalizacja zmiennej $i zaczyna się od 0, a warunek kontynuacji pętli to $i <= 10. Przeanalizujmy zatem wartości, które przyjmie zmienna $i w kolejnych iteracjach: 0, 2, 4, 6, 8, 10. Widzimy, że pętla zatrzyma się po osiągnięciu wartości 10, co daje nam 6 iteracji. W praktyce, takie konstrukcje są bardzo użyteczne w różnych scenariuszach, na przykład, gdy chcemy iterować przez elementy tablicy, które mają parzyste indeksy. Dobrym przykładem może być generowanie dynamicznego kodu HTML, w którym chcemy wyświetlić co drugi element listy, co jest istotne w kontekście optymalizacji wizualnej interfejsów użytkownika. Zrozumienie działania pętli for oraz zasad dotyczących kontrolowania iteracji jest kluczowe w programowaniu, co jest zgodne z najlepszymi praktykami w branży.

Pytanie 4

Skrypt stworzony w języku JavaScript wyznacza cenę promocyjną dla swetrów w barwach: zielonej, niebieskiej (zmienna kolor) przy wydatkach przekraczających 200 zł (zmienna zakupy). Warunek niezbędny do obliczeń powinien być zapisany z użyciem wyrażenia logicznego?

A. zakupy > 200 || kolor == 'zielony' || kolor == 'niebieski'
B. zakupy > 200 || (kolor == 'zielony' && kolor == 'niebieski')
C. zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')
D. zakupy > 200 && kolor == 'zielony' && kolor == 'niebieski'
Odpowiedź zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski') jest poprawna, ponieważ dokładnie spełnia warunki opisane w pytaniu. Wyrażenie logiczne składa się z dwóch głównych części: sprawdzenia, czy wartość zmiennej zakupy jest większa niż 200 oraz sprawdzenia, czy zmienna kolor jest równa 'zielony' lub 'niebieski'. Użycie operatora logicznego '&&' (AND) w połączeniu z '||' (OR) pozwala na zdefiniowanie warunków, które muszą być spełnione, aby uzyskać cenę promocyjną. Przykładowo, jeśli użytkownik kupi sweter za 250 zł w kolorze zielonym, warunek będzie prawdziwy, a cena promocyjna zostanie zastosowana. W kontekście standardów programistycznych, taka konstrukcja jest zgodna z najlepszymi praktykami pisania czytelnego i efektywnego kodu w JavaScript, gdzie zrozumiałość i logika wyrażeń warunkowych są kluczowe dla utrzymania i rozwoju aplikacji.

Pytanie 5

Jaką wartość w formacie RGB będzie miała barwa oznaczona kodem heksadecymalnym: #1510FE?

A. rgb(21, 16, 255)
B. rgb(21, 16, FE)
C. rgb(15, 10, FE)
D. rgb(21, 16, 254)
Wartości RGB w heksadecymalnym nie zawsze są oczywiste i często trzeba je przeliczać. Odpowiedzi rgb(15, 10, FE) i rgb(21, 16, 255) nie są do końca poprawne, bo źle zinterpretowano wartości z formatu hex. W pierwszym przypadku użyto dobrego formatu, ale liczby 15 i 10 zostały źle przeliczone na dziesiętny. '15' z hex to 21, '10' to 16, więc to jest ok, ale 'FE' powinno dać 254, a nie zostać jako 'FE' lub przeliczone na 255. W drugiej błędnej odpowiedzi, pamiętaj, że wartości RGB muszą się mieścić w przedziale 0-255, a przeliczenie 'FE' na 255 to duża pomyłka. Często się zdarza, że ludzie pomijają te obliczenia i przyjmują wartości hex bez konwersji, co powoduje zamieszanie w kolorach w projektach graficznych i aplikacjach. Zrozumienie przeliczenia heksadecymalnych wartości na RGB to klucz do tworzenia fajnych wizualizacji.

Pytanie 6

Jakim znacznikiem można wprowadzić listę numerowaną (uporządkowaną) w dokumencie HTML?

A. <dl>
B. <ul>
C. <ol>
D. <li>
Znacznik <ol> służy do wstawiania list numerowanych (uporządkowanych) w dokumentach HTML. Jego zastosowanie pozwala na tworzenie list, gdzie każdy element jest automatycznie numerowany, co jest szczególnie przydatne w sytuacjach, gdy kolejność elementów ma znaczenie, na przykład w przepisach kulinarnych, instrukcjach czy krokach do wykonania. Warto pamiętać, że elementy listy umieszczane są w znaczniku <li>, który określa każdy pojedynczy wpis na liście. Stosowanie znaczników zgodnych z zaleceniami W3C zapewnia, że strona jest zgodna z zasadami dostępności oraz ułatwia interpretację treści przez wyszukiwarki. Przykład użycia: <ol><li>Krok pierwszy</li><li>Krok drugi</li></ol>, co wygeneruje numerowaną listę z dwoma krokami. Przestrzeganie standardów oraz dobrych praktyk w tworzeniu struktury HTML jest kluczowe dla zapewnienia przejrzystości i efektywności strony internetowej.

Pytanie 7

Jakie czynniki wpływają na wysokość dźwięku?

A. intensywność wzbudzenia drgań
B. czas oscylacji źródła dźwięku
C. metoda wzbudzania drgań
D. częstotliwość drgań fali akustycznej
Częstotliwość drgań fali akustycznej to taki kluczowy element, który wpływa na to, jak wysoko brzmi dźwięk. Mówiąc prosto, to ilość drgań, które źródło dźwięku wykonuje w danym czasie, zwykle mierzona w Hertzach (Hz). Im wyższa ta częstotliwość, tym wyższy dźwięk wydobywają instrumenty muzyczne. Na przykład na gitarze, jak skrócisz strunę, to dźwięk staje się wyższy, co jest zgodne z tym, co mówi fizyka akustyczna. W inżynierii dźwięku często korzysta się z filtrów i equalizerów, żeby odpowiednio dostosować dźwięki w nagraniach. Rozumienie tego jest ważne nie tylko w muzyce, ale i w technologiach audio. Projektanci dźwięku muszą dobrze znać te zasady, aby móc stworzyć odpowiednie efekty dźwiękowe. Więc, ogólnie mówiąc, znajomość tego, jak częstotliwość wiąże się z wysokością dźwięku, jest istotna dla każdej osoby związanej z dźwiękiem, zarówno w teorii, jak i w praktyce.

Pytanie 8

Jaką właściwość należy zastosować w kodzie CSS, aby ustawić czcionkę Verdana?

A. font-style: Verdana;
B. font-family: Verdana;
C. font-name: Verdana;
D. font-weight: Verdana;
Aby ustawić czcionkę Verdana w CSS, musisz użyć właściwości 'font-family'. To taka właściwość, która pozwala na określenie czcionek stosowanych w twoim dokumencie. W tym przypadku, chodzi o 'Verdana'. Jak przeglądarka znajdzie tę czcionkę w systemie użytkownika, to ją użyje. Na przykład, taki kod CSS może wyglądać tak: 'body { font-family: Verdana; }'. Warto pamiętać, że dobrze jest podać też inne czcionki na wypadek, gdyby Verdana nie była dostępna. Można to zrobić, wpisując alternatywy, jak w 'font-family: Verdana, Arial, sans-serif;'. Wtedy, jeżeli 'Verdana' nie jest dostępna, przeglądarka przejdzie do 'Arial', a jak ta też nie, to sięgnie po jakąś standardową czcionkę bezszeryfową. Z moich doświadczeń wynika, że stosowanie właściwości 'font-family' jest kluczowe dla stylu strony, bo poprawia to czytelność i jej ogólny wygląd.

Pytanie 9

W języku PHP przypisano zmiennej $a wartość 1. Porównanie $a === $b zwraca true, gdy zmienna $b ma przypisaną wartość

A. '1' lub "1"
B. '1'
C. 1 lub '1'
D. *1
Zmienna $a, zainicjowana wartością 1, jest typu integer i porównując ją z inną zmienną $b za pomocą operatora identyczności (===), należy zwrócić szczególną uwagę na typ i wartość obu zmiennych. Wiele osób myli operator porównania identyczności z operatorem równości (==), który nie wymaga, aby typy były zgodne. Z tego powodu odpowiedzi takie jak 1 lub '1' mogą wydawać się poprawne, jednak w przypadku porównania identyczności, istotne jest, aby zmienne były tego samego typu. Odpowiedź, która sugeruje wartość 1, jest błędna, ponieważ porównuje wartość integer z potencjalnie innym typem bez uwzględnienia konwersji typów, co prowadzi do niejednoznaczności. Z kolei odpowiedź sugerująca wartość '1' nie do końca zdaje sobie sprawę, że chociaż string '1' jest zgodny w kontekście równości, nie spełnia warunków identyczności w dosłownym sensie, gdyż typy są różne. Typowe błędy myślowe prowadzące do takich nieprawidłowych wniosków często wynikają z założenia, że PHP automatycznie wykonuje konwersje typów, co nie zawsze jest pożądane. Dla programistów istotne jest zrozumienie różnic między typami oraz kiedy stosować odpowiednie operatory, aby zapewnić poprawność logiki aplikacji i uniknąć potencjalnych błędów, które mogą prowadzić do trudnych do zdiagnozowania problemów w przyszłości.

Pytanie 10

Który atrybut pozwala na wskazanie lokalizacji pliku graficznego w znaczniku <img>?

A. alt
B. link
C. href
D. src
Atrybut 'src' w znaczniku <img> jest kluczowy, ponieważ określa lokalizację pliku graficznego, który ma być wyświetlany na stronie. Oznacza to, że wartość tego atrybutu to URL (Uniform Resource Locator), który wskazuje na lokalizację obrazu w internecie lub na lokalnym serwerze. Przykładowo, jeśli chcemy wyświetlić obrazek o nazwie 'zdjecie.jpg' znajdujący się w folderze 'obrazy', użyjemy: <img src='obrazy/zdjecie.jpg' alt='Opis obrazka'>. Zastosowanie odpowiedniego atrybutu 'src' jest zgodne z najlepszymi praktykami HTML, co zapewnia, że przeglądarki internetowe prawidłowo interpretują nasze zamierzenia co do wyświetlania treści wizualnych. Nieprawidłowe określenie lokalizacji obrazu może prowadzić do błędów '404 Not Found', co negatywnie wpływa na doświadczenie użytkownika. Dobrze zaprojektowane strony internetowe powinny również uwzględniać atrybut 'alt', który zapewnia dostępność oraz opisuje zawartość obrazu osobom korzystającym z czytników ekranu, ale to 'src' jest odpowiedzialny za wyświetlanie samego obrazu.

Pytanie 11

W SQL prawo SELECT w poleceniu GRANT umożliwia użytkownikowi bazy danych na

A. usuwanie danych z tabeli
B. tworzenie nowych tabel
C. zmianę danych w tabeli
D. pobieranie danych z tabeli
Wybór innych opcji jako odpowiedzi jest błędny, ponieważ każda z nich odnosi się do różnych operacji, które nie są związane z przywilejem SELECT. Pierwsza z błędnych odpowiedzi sugeruje, że GRANT SELECT pozwala na modyfikowanie danych w tabeli, co jest nieprawdziwe, gdyż operacje modyfikujące dane wymagają przywileju UPDATE. Użytkownicy muszą mieć odpowiednie uprawnienia do zmiany danych, a SELECT nie daje takich możliwości. Druga odpowiedź wskazuje na usuwanie danych z tabeli, co również jest błędne, ponieważ usuwanie rekordów wymaga przywileju DELETE. Przywilej SELECT nie ma żadnego związku z operacjami, które niszczą lub eliminują dane, a jego rolą jest jedynie umożliwienie ich odczytu. Trzecia niepoprawna odpowiedź dotyczy tworzenia tabeli, co wymaga przywileju CREATE. Przywilej SELECT nie daje użytkownikowi możliwości wprowadzania strukturalnych zmian w bazie danych, a jego funkcjonalność ogranicza się jedynie do odczytu danych. W związku z tym, przyznanie przywileju SELECT nie daje użytkownikowi żadnych uprawnień do modyfikowania, usuwania ani tworzenia tabel, co czyni te odpowiedzi nieadekwatnymi w kontekście pytania.

Pytanie 12

Elementem wykorzystywanym w bazie danych do podsumowywania, prezentowania oraz drukowania danych jest

A. formularz
B. raport
C. zapytanie
D. zestawienie
Zapytanie, formularz i zestawienie, choć mogą być używane w kontekście pracy z danymi, pełnią inne funkcje niż raport. Zapytanie to instrukcja w języku zapytań, najczęściej SQL, która pozwala na pobranie określonych danych z bazy danych. Zapytania są fundamentalne dla interakcji z bazami danych, ponieważ umożliwiają użytkownikom selekcjonowanie, filtrowanie i sortowanie informacji, ale same w sobie nie dostarczają gotowych podsumowań ani analiz. Formulario to interaktywny element, który umożliwia użytkownikom wprowadzanie danych; jego głównym celem jest zbieranie informacji, a nie ich prezentacja. Użytkownicy często mylą formularze z raportami, co prowadzi do nieporozumień w zakresie ich zastosowania. Zestawienie, z kolei, może odnosić się do porównania wartości lub grup danych, ale nie jest standardowym terminem w kontekście raportów, co może powodować niejasności. Warto zrozumieć, że raporty są narzędziem do podsumowywania wyników, podczas gdy zapytania, formularze i zestawienia mają różne cele i funkcje. Kluczowa jest umiejętność rozróżniania tych elementów, aby skutecznie zarządzać danymi i prezentować je w odpowiedni sposób.

Pytanie 13

Jaki zestaw liczb zostanie wyświetlony w wyniku działania pętli napisanej w języku PHP?

$liczba = 10;
while ($liczba < 50) {
  echo "$liczba ";
  $liczba = $liczba + 5;
}
A. 0 5 10 15 20 25 30 35 40 45 50
B. 10 15 20 25 30 35 40 45
C. 10 15 20 25 30 35 40 45 50
D. 0 5 10 15 20 25 30 35 40 45
Pytanie dotyczyło wyniku działania pętli w języku PHP co często prowadzi do nieporozumień związanych z mechaniką działania pętli iteracyjnych. Pierwsza z niepoprawnych odpowiedzi zakładała że pętla wydrukuje również liczbę 0 co jest błędem ponieważ zmienna $liczba jest inicjalizowana wartością 10 i nigdy nie osiągnie wartości mniejszej niż 10 w trakcie działania tego programu. Częstym błędem w myśleniu jest nieuwzględnianie początkowej wartości zmiennej kontrolnej co prowadzi do fałszywych założeń na temat iteracji. Kolejna błędna odpowiedź sugerowała że pętla zakończy się po wypisaniu liczby 50 jednak warunek pętli while sprawdza czy $liczba jest mniejsza od 50 co oznacza że gdy $liczba osiągnie 50 warunek będzie fałszem i pętla zakończy działanie nie wypisując tej wartości. Ostatecznie inna opcja błędnie zakładała wypisanie liczby 0 co jak wcześniej wspomniano jest niemożliwe w kontekście tej konkretnej pętli. Aby uniknąć takich błędów należy zawsze dokładnie analizować warunki początkowe i końcowe oraz mechanizm inkrementacji zmiennej kontrolnej. Korzystanie z debuggera lub ręczne prześledzenie kolejnych kroków pętli może pomóc w lepszym zrozumieniu jej działania w praktyce co jest kluczowe w efektywnym programowaniu aplikacji wykorzystujących złożone struktury iteracyjne. Zrozumienie tych mechanizmów pozwala na tworzenie bardziej wydajnych i bezbłędnych kodów co jest zgodne z dobrymi praktykami programistycznymi.

Pytanie 14

W CSS, poniższy zapis spowoduje, że czerwony kolor zostanie zastosowany do

h1::first-letter {color:red;}
A. tekst nagłówka pierwszego poziomu
B. pierwsza litera nagłówka pierwszego poziomu
C. pierwsza linia akapitu
D. pierwsza litera nagłówka drugiego poziomu
Wiesz, użycie selektora CSS ::first-letter w połączeniu z stylem h1 to fajny sposób na zmianę wyglądu pierwszej litery w nagłówku. Kiedy używasz tego, kolor czerwony sprawi, że ta litera będzie się wyróżniać, co jest super, zwłaszcza w przypadku nagłówków czy akapitów. To technika, którą często stosuje się w projektowaniu stron, żeby nadać im trochę typograficznego stylu, jak w książkach z dużymi inicjałami. Ale pamiętaj, że ten selektor działa tylko z blokowymi elementami, takimi jak <p> czy <h1>, więc jeżeli spróbujesz zastosować go z elementami liniowymi, to niestety efekty nie będą takie, jak się spodziewasz. Zawsze warto też mieć na uwadze standardy W3C, bo one pomagają w tworzeniu dostępnych stron. No i ten selektor jest częścią specyfikacji CSS Pseudo-Elements Level 3, więc przeglądarki go dobrze wspierają. Zrozumienie, jak i kiedy stosować takie selektory, to klucz do tworzenia nowoczesnych stron.

Pytanie 15

W języku SQL, aby usunąć wszystkie rekordy z tabeli, nie eliminując jej samej, można skorzystać z polecenia

A. DROP
B. UPDATE
C. ALTER
D. TRUNCATE
Wybór polecenia DROP do usunięcia danych z tabeli prowadzi do całkowitego usunięcia zarówno tabeli, jak i jej definicji ze struktury bazy danych. DROP jest stosowane, gdy chcemy usunąć obiekt w całości, co może być nie tylko nieodwracalne, ale także niepożądane w sytuacjach, gdy potrzebujemy zachować strukturę tabeli dla przyszłych operacji. Użycie ALTER w kontekście usuwania danych jest również błędne, ponieważ to polecenie służy do modyfikacji struktury tabeli, takiej jak dodawanie lub usuwanie kolumn, a nie do zarządzania danymi w tabeli. Kolejnym błędem myślowym jest zastosowanie polecenia UPDATE, które jest używane do modyfikacji istniejących danych w tabeli, a nie do ich usuwania. Często mylnie przyjmuje się, że UPDATE można wykorzystać do 'czyszczenia' tabeli, co jednak nie jest zgodne z rzeczywistym działaniem tego polecenia. Poprawne podejście polega na zrozumieniu, że usuwanie danych w SQL wymaga zastosowania odpowiednich poleceń w zależności od celu – czy chcemy usunąć dane, czy całą tabelę. Dlatego kluczowe jest odpowiednie zrozumienie różnicy między tymi poleceniami oraz ich zastosowaniem w praktycznych sytuacjach, aby uniknąć nieodwracalnych błędów w zarządzaniu danymi.

Pytanie 16

W języku Javascript obiekt typu array jest używany do przechowywania

A. wielu wartości różnych typów
B. wielu wartości lub metod
C. wielu wartości jedynie liczbowych
D. wielu wartości jedynie tekstowych
Obiekt typu array w języku JavaScript jest niezwykle potężnym narzędziem, które pozwala na przechowywanie wielu wartości dowolnego typu w jednej zmiennej. W przeciwieństwie do niektórych innych języków programowania, JavaScript pozwala na umieszczanie w tablicach zarówno liczb, jak i stringów, obiektów, a nawet funkcji. Dzięki temu programiści mogą tworzyć złożone struktury danych, które są elastyczne i dopasowane do ich potrzeb. Przykładem praktycznego zastosowania tablicy może być tworzenie listy użytkowników, gdzie każdy element tablicy może być obiektem użytkownika zawierającym różne właściwości, takie jak imię, nazwisko, adres e-mail itd. Dobrymi praktykami przy korzystaniu z tablic w JavaScript są stosowanie metod takich jak map, filter, reduce, które ułatwiają manipulację danymi oraz dbałość o czytelność kodu, co sprzyja jego późniejszej konserwacji. Warto także pamiętać o tym, że tablice są dynamiczne, co oznacza, że można je modyfikować w trakcie działania programu, co daje dodatkową elastyczność.

Pytanie 17

Instrukcją równoważną funkcjonalnie do przedstawionej instrukcji JavaScript jest

for (i = 0; i < 100; i += 10)
  document.write(i + ' ');
Kod 1.
while (i < 10) {
  document.write(i + ' ');
  i += 10;
}
Kod 2.
while (i < 100)
  document.write(i + ' ');
Kod 3.
i = 0;
while (i < 100) {
  document.write(i + ' ');
  i += 10;
}
Kod 4.
i = 0;
while (i < 10) {
  document.write(i + ' ');
  i++;
}
A. Kod 1.
B. Kod 4.
C. Kod 2.
D. Kod 3.
Niestety, wybrana odpowiedź jest nieprawidłowa. Kluczowym aspektem do zrozumienia w tym pytaniu jest funkcjonalna równoważność pętli. Kod 1, Kod 2 i Kod 4 nie są funkcjonalnie równoważne z prezentowaną pętlą for. Kod 1 wykonuje się tylko dla i < 10, co jest różne od warunku w prezentowanej pętli for (i < 100). Kod 2 nie zwiększa i o 10, co jest niezgodne z krokiem iteracji w prezentowanej pętli for. Kod 4 również wykonuje się dla i < 10, ale zwiększa i tylko o 1, co jest niezgodne z krokiem iteracji w prezentowanej pętli for. W kontekście programowania, zrozumienie równoważności różnych typów pętli jest kluczowe dla optymalizacji kodu i poprawy jego czytelności. Ważne jest zrozumienie, kiedy i jak używać różnych typów pętli w zależności od specyficznych wymagań danego problemu programistycznego.

Pytanie 18

<img src="/rysunek.png" alt="pejzaż"> Zapisany został kod HTML, który wstawia obrazek na stronę. Jeśli rysunek.png nie zostanie znaleziony, przeglądarka

A. w miejscu grafiki pokaże tekst "rysunek.png"
B. wyświetli w miejscu grafiki tekst "pejzaż"
C. w miejscu grafiki zasygnalizuje błąd wyświetlania strony
D. nie załaduje strony internetowej
Pierwsza z niepoprawnych odpowiedzi sugeruje, że brak grafiki spowoduje, iż strona internetowa się nie wyświetli. To stwierdzenie jest nieprawdziwe, ponieważ HTML jest zaprojektowany w taki sposób, aby kontynuować rendering strony nawet w przypadku, gdy niektóre zasoby, takie jak obrazy, są niedostępne. Strona internetowa będzie dostępna, a użytkownik zobaczy pozostałe elementy treści. Kolejną nieprawidłowością jest to, że przeglądarka wyświetli tekst 'rysunek.png' w przypadku braku grafiki. Zamiast tego, przeglądarka zareaguje zgodnie z ustawieniami atrybutu 'alt', a nie wypisze nazwy pliku. Taki mechanizm nie tylko umożliwia lepszą interpretację zawartości, ale także zapobiega wyświetlaniu technicznych szczegółów pliku użytkownikowi. Ostatnia z opcji również jest błędna, sugerując, że w przypadku braku pliku zostanie wyświetlony błąd wyświetlania strony. W rzeczywistości, błędy wyświetlania strony wynikają z problemów z ładowaniem całej strony, a nie tylko z pojedynczych zasobów, takich jak obrazy. Takie podejście do zarządzania błędami jest kluczowe w projektowaniu stron internetowych i wpływa na ogólną jakość doświadczeń użytkowników.

Pytanie 19

Wskaż, jaki błąd walidacyjny zawiera przedstawiony fragment kodu w języku HTML 5.

<h6>CSS</h6>
<p>Kaskadowe arkusze stylów (<b>ang. <i>Cascading Style Sheets</b></i>)<br>to język służący ...</p>
A. Znacznik zamykający /b jest niezgodny z zasadą zagnieżdżania
B. Znacznik h6 nie jest używany w HTML5
C. Znacznik br nie został prawidłowo zamknięty
D. Znacznik br nie powinien znajdować się wewnątrz znacznika p
W analizowanym fragmencie kodu HTML, znacznik zamykający /b jest niezgodny z zasadą zagnieżdżania. W prawidłowej konstrukcji HTML, znaczniki powinny być zamykane w odwrotnej kolejności do ich otwierania — nazywa się to zasadą LIFO (Last In, First Out). W przedstawionym kodzie, znacznik <b> jest otwierany przed znacznikiem <i>, ale zamykany po nim, co jest błędem strukturalnym. Poprawny zapis powinien wyglądać tak: <b><i>Cascading Style Sheets</i></b>. Ważne jest, aby zawsze pamiętać o poprawnej strukturze dokumentu HTML, ponieważ nieprzestrzeganie tej zasady może prowadzić do nieprzewidywalnych wyników renderowania na różnych przeglądarkach. Zasada ta jest kluczowa w zapewnieniu, że znaczniki są zagnieżdżone poprawnie i że style oraz skrypty działają zgodnie z oczekiwaniami. Tego rodzaju błędy mogą również negatywnie wpływać na dostępność strony dla użytkowników korzystających z czytników ekranowych.

Pytanie 20

Styl ten generuje pojedyncze obramowanie, które charakteryzuje się następującymi właściwościami:

border: solid 1px;
border-color: red blue green yellow;
A. krawędź górna ma kolor czerwony, krawędź prawa jest w kolorze niebieskim, krawędź dolna ma kolor zielony, krawędź lewa jest koloru żółtego
B. krawędź górna jest czerwonego koloru, krawędź lewa jest w kolorze niebieskim, krawędź dolna ma kolor zielony, krawędź prawa ma kolor żółty
C. krawędź prawa jest koloru czerwonego, krawędź dolna ma kolor niebieski, krawędź lewa ma kolor zielony, krawędź górna ma kolor żółty
D. krawędź lewa ma kolor czerwony, krawędź dolna jest w kolorze niebieskim, krawędź prawa jest koloru zielonego, krawędź górna ma kolor żółty
Błędne zrozumienie przypisania kolorów do krawędzi obramowania w CSS wynika z niewłaściwego interpretowania kolejności, w jakiej te kolory są przypisywane. W standardach CSS, kiedy używamy składni takiej jak border-color: red blue green yellow; kolory są przypisywane zaczynając od krawędzi górnej, a następnie zgodnie z kierunkiem wskazówek zegara. Stąd czerwona krawędź to górna, niebieska to prawa, zielona to dolna, a żółta to lewa. Błędne odpowiedzi wynikają z niepoprawnego przypisania kolorów do krawędzi w innej kolejności. Typowym błędem jest myślenie, że kolory są przypisane w porządku lewa-prawa-dół-góra, co jest sprzeczne z domyślną kolejnością CSS. Bez poprawnego zrozumienia tej logiki, projektanci mogą doświadczyć trudności w przewidywaniu jakich efektów wizualnych oczekiwać od swojej pracy, co może prowadzić do błędów w projektach. Aby uniknąć takich problemów, kluczowe jest zapoznanie się i zrozumienie zasad określających jak style CSS są interpretowane przez przeglądarki, co pozwala na pełne wykorzystanie możliwości jakie oferują style kaskadowe. Poprawne stosowanie tych zasad jest niezbędne do tworzenia profesjonalnych i spójnych projektów internetowych, które są zgodne z najlepszymi praktykami w branży.

Pytanie 21

Formatem plików graficznych rastrowych z bezstratną kompresją jest

A. PNG
B. SVG
C. CDR
D. JNG
Format PNG (Portable Network Graphics) jest popularnym formatem plików graficznych stosowanym do zapisu obrazów rastrowych z kompresją bezstratną. Oznacza to, że podczas zapisywania pliku nie następuje utrata jakości obrazu, co czyni go idealnym do grafiki internetowej, gdzie jakość wizualna ma kluczowe znaczenie. PNG obsługuje przezroczystość, co pozwala na tworzenie grafik z tłem przejrzystym, co jest niezwykle przydatne w projektowaniu stron internetowych oraz w aplikacjach graficznych. Format ten wspiera także różne głębokości kolorów, co oznacza, że można go używać do przedstawiania obrazów w rozdzielczości do 48 bitów na kanał kolorów. W porównaniu do formatu GIF, PNG oferuje lepszą jakość obrazu oraz szersze możliwości zastosowań, ponieważ nie jest ograniczony do palety 256 kolorów. PNG jest zgodny z wieloma standardami, w tym z Internet Engineering Task Force (IETF), który przyjął go jako standard dla grafiki internetowej. Przykłady zastosowania formatu PNG obejmują ikony, logo oraz ilustracje, które wymagają wysokiej jakości i przezroczystości.

Pytanie 22

Podana jest tabela książki z kolumnami: tytuł, autor (w formie tekstowej), cena (w formie liczbowej). Jaką kwerendę SELECT należy wykorzystać, aby otrzymać tylko tytuły, których cena jest niższa niż 50 zł?

A. SELECT tytul FROM ksiazki WHERE cena < 50;
B. SELECT ksiazki FROM tytul WHERE cena < '50 zł';
C. SELECT tytul FROM ksiazki WHERE cena > '50 zł';
D. SELECT * FROM ksiazki WHERE cena < 50;
Odpowiedzi, które zostały podane jako niepoprawne, zawierają różne błędy w składni oraz logiczne nieścisłości. W pierwszym przypadku, zapytanie "SELECT * FROM ksiazki WHERE cena < 50;" zwraca wszystkie kolumny z tabeli, co nie jest zgodne z wymaganiami pytania, które prosi o zwrócenie jedynie tytułów książek. Użycie operatora * zamiast konkretnego pola jest nieefektywne, co prowadzi do większego obciążenia, szczególnie przy dużych zbiorach danych. Innym zapytaniem, które jest niepoprawne, jest "SELECT tytul FROM ksiazki WHERE cena > '50 zł';". To zapytanie zawiera błąd w operatorze porównania, ponieważ zamiast poszukiwać książek tańszych niż 50 zł, filtruje te droższe. Dodatkowo, zawarcie ceny jako tekstu ('50 zł') wprowadza nieprawidłowe zachowanie porównania, ponieważ SQL nie przetwarza wartości tekstowych jako liczb. Wreszcie, zapytanie "SELECT ksiazki FROM tytul WHERE cena < '50 zł';" jest całkowicie błędne, ponieważ sugeruje, że wybieramy kolumnę z tabeli 'ksiazki' na podstawie warunków dotyczących innej kolumny. Tego typu błędne zrozumienie struktury i składni SQL często prowadzi do frustracji w pracy z bazami danych. Kluczowe w nauce SQL jest zrozumienie, że każdy element zapytania ma swoje miejsce i rolę, co pozwala na tworzenie poprawnych i efektywnych kwerend.

Pytanie 23

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 FROM klienci WHERE status = "Platynowy"
B. CREATE VIEW KlienciPlatyna AS SELECT * 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 24

Na ilustracji pokazano relację jeden do wielu. Łączy ona

Ilustracja do pytania
A. klucz obcy rezyserzy_id tabeli filmy z kluczem obcym id tabeli rezyserzy
B. klucz podstawowy id tabeli filmy z kluczem obcym rezyserzy_id tabeli rezyserzy
C. klucz podstawowy id tabeli filmy z kluczem podstawowym id tabeli rezyserzy
D. klucz obcy rezyserzy_id tabeli filmy z kluczem podstawowym id tabeli rezyserzy
W kontekście relacji jeden do wielu w bazach danych często dochodzi do nieporozumień związanych z błędnym przypisaniem kluczy. Klucz podstawowy w jednej tabeli nigdy nie może być kluczem obcym w innej relacji tego typu, ponieważ klucz podstawowy musi być unikalny i jednoznacznie identyfikować rekord w swojej tabeli. Podobne błędy pojawiają się przy przypisywaniu klucza obcego jako odnoszącego się do innego klucza obcego, co nie jest prawidłowym podejściem, ponieważ klucz obcy powinien odnosić się do klucza podstawowego w innej tabeli, aby zapewnić integralność referencyjną. Klucz obcy nie może być kluczem podstawowym w relacji jeden do wielu, ponieważ naruszałoby to zasadę unikalności wymaganej dla klucza podstawowego. Częstym błędem jest także mylenie kierunku relacji, co prowadzi do projektowania niepraktycznych struktur danych, które są trudne do zarządzania i skalowania. Prawidłowe zastosowanie kluczy obcych i podstawowych oraz zrozumienie ich roli w strukturze bazy danych stanowi fundament dla efektywnego modelowania danych, co jest zgodne z najlepszymi praktykami w projektowaniu systemów zarządzania relacyjnymi bazami danych. Kluczowe jest, aby projektanci baz danych byli świadomi tych zasad i potrafili je stosować w praktyce, aby uniknąć problemów z integralnością danych i późniejszymi trudnościami przy ich modyfikacji lub rozszerzaniu struktury bazy danych. Poprawne zrozumienie relacji między tabelami oraz ich implementacja jest niezbędna dla utrzymania spójności i wydajności systemów bazodanowych w długim okresie użytkowania.

Pytanie 25

Kolorem, który ma odcień niebieski, jest kolor

A. #EE0000
B. #00EE00
C. #EE00EE
D. #0000EE
Poprawna odpowiedź to kolor #0000EE, który reprezentuje odcień niebieskiego w systemie RGB. Kolory w tym systemie definiowane są poprzez trzy składowe: czerwoną, zieloną i niebieską (RGB), gdzie wartości są podawane w formacie szesnastkowym. W przypadku #0000EE, pierwsze dwie pary zer oznaczają brak składowych czerwonej i zielonej, natomiast ostatnia para 'EE' wskazuje na wysoką intensywność składowej niebieskiej. Takie podejście jest powszechnie stosowane w programowaniu i projektowaniu stron internetowych, gdzie precyzyjnie określone kolory mają kluczowe znaczenie dla estetyki i użyteczności interfejsu. Przykładem zastosowania koloru niebieskiego może być jego użycie w projektach związanych z tematyką technologiczną lub finansową, gdzie niebieski symbolizuje zaufanie i profesjonalizm. Warto również zwrócić uwagę, że w kontekście dostępności barw, stosowanie odpowiednich kontrastów z tłem jest niezbędne, aby zapewnić czytelność tekstu i elementów graficznych. Odpowiednie wykorzystanie kodów koloru może znacząco wpłynąć na postrzeganie marki oraz interakcję użytkowników z treściami wizualnymi na stronach internetowych.

Pytanie 26

Które z poniższych stwierdzeń na temat klucza głównego jest prawdziwe?

A. Może przyjmować wyłącznie wartości liczbowe
B. Jest unikalny dla danej tabeli
C. Składa się wyłącznie z jednego pola
D. W przypadku tabeli z danymi osobowymi może to być pole nazwisko
Wiele osób myli pojęcie klucza podstawowego z innymi właściwościami atrybutów w tabeli. Chociaż klucz podstawowy może składać się tylko z jednego pola, nie jest to warunek konieczny. Klucze podstawowe mogą również być złożone, co oznacza, że mogą składać się z wielu pól. Na przykład, w tabeli rejestrującej sprzedaż można wykorzystać kombinację kolumn takich jak 'ID produktu' i 'ID zamówienia' jako klucz podstawowy, co jest częstą praktyką w projektowaniu baz danych. Z kolei twierdzenie, że pole nazwisko może być kluczem podstawowym w tabeli danych osobowych, jest również problematyczne, ponieważ nazwiska mogą się powtarzać. W związku z tym, wybór atrybutów do klucza podstawowego powinien opierać się na ich unikalności oraz stabilności, a nie na ich powszechności. Ostatnia nieprawidłowa koncepcja sugeruje, że klucz podstawowy może przyjmować tylko wartości liczbowe, co jest wprowadzeniem w błąd. Klucz podstawowy może być zarówno liczbowy, jak i tekstowy; klucz identyfikujący użytkownika może zawierać np. adres e-mail, co jest także przykładem spójnego podejścia w projektowaniu baz danych. Typowe błędy myślowe prowadzące do takich wniosków to uproszczenia związane z rozumieniem właściwości atrybutów oraz zbyt wąskie podejście do koncepcji unikalności w kontekście baz danych.

Pytanie 27

Można wydać instrukcję transakcyjną ROLLBACK, aby

A. cofnąć transakcję po zastosowaniu instrukcji COMMIT
B. cofnąć działanie transakcji
C. zatwierdzić jedynie wybrane modyfikacje transakcji
D. zatwierdzić transakcję
Każda odpowiedź, która nie odnosi się do właściwego działania instrukcji ROLLBACK, wykazuje istotne nieporozumienia dotyczące transakcji w bazach danych. Na przykład, stwierdzenie, że ROLLBACK jest używane do zatwierdzania transakcji, jest fundamentalnie błędne. Zatwierdzanie transakcji, zazwyczaj realizowane za pomocą instrukcji COMMIT, polega na zapisaniu wszystkich zmian dokonanych w ramach transakcji w bazie danych. W przeciwieństwie do tego, ROLLBACK jest środkiem ochrony, pozwalającym na cofnięcie wszelkich zmian, które mogły zostać wykonane przed jego wywołaniem. Do tego dochodzi błędne uznanie, że ROLLBACK może cofnąć tylko wybrane modyfikacje transakcji, co jest niezgodne z jego zasadniczą funkcją. ROLLBACK działa na całej transakcji, a nie na jej poszczególnych elementach, co jest kluczowe dla zapewnienia spójności stanu bazy danych. Warto również zauważyć, że instrukcja ROLLBACK nie może być używana po zastosowaniu instrukcji COMMIT, ponieważ COMMIT ostatecznie kończy transakcję i zapisuje wszystkie zmiany, co czyni je nieodwracalnymi. Te błędne koncepcje mogą prowadzić do poważnych problemów w aplikacjach bazodanowych, takich jak utrata danych, niespójności czy awarie systemów, dlatego kluczowe jest zrozumienie właściwego działania mechanizmów transakcyjnych i ich zastosowania w praktyce.

Pytanie 28

Określ rezultat działania skryptu napisanego w języku PHP ```PHP "Perl",14=>"PHP",20=>"Python",22=>"Pike"); asort($tablica); print("

");
print_r($tablica);
print("
"); ?> ```

Ilustracja do pytania
A. rys. A
B. rys. D
C. rys. B
D. rys. C
Poprawna odpowiedź wskazuje uporządkowanie tablicy asocjacyjnej według wartości. Funkcja asort() w języku PHP sortuje tablicę według wartości, zachowując klucze. Oznacza to, że elementy zostaną uporządkowane alfabetycznie według nazw języków, co w tym przypadku prowadzi do kolejności PHP Perl Pike Python. Klucze pozostają przypisane do swoich wartości co jest ważnym aspektem przy pracy z tablicami asocjacyjnymi w PHP. Praktyczne zastosowanie tej funkcji obejmuje np. sortowanie list produktów według ich nazw w aplikacjach e-commerce. Dobre praktyki programistyczne sugerują użycie funkcji sortujących z zachowaniem kluczy w przypadku gdy klucze te mają istotne znaczenie np. unikalne identyfikatory. Zrozumienie jak działa sortowanie w PHP pozwala na efektywne zarządzanie danymi i poprawia optymalizację kodu.

Pytanie 29

Zakładając, że zmienna tablicowa $tab jest wypełniona liczbami naturalnymi, wynikiem programu będzie wypisanie

$liczba = $tab[0];
foreach ($tab as $element)
{
    if ($element > $liczba)
        $liczba = $element;
}
echo $liczba;
A. tych elementów, które są większe od zmiennej $liczba.
B. elementu tablicy, który jest równy wartości $tab[0].
C. najmniejszego elementu tablicy.
D. największego elementu tablicy.
Niektóre z błędnych odpowiedzi sugerują, że wynikiem programu będzie wypisanie najmniejszego elementu tablicy, tych elementów, które są większe od zmiennej $liczba, oraz elementu tablicy, który jest równy wartości $tab[0]. Te odpowiedzi są nieprawidłowe, ponieważ nie odzwierciedlają one prawidłowo działania programu. Program nie szuka najmniejszego elementu, ale największego. Nie ma również informacji, że program miałby wypisywać elementy większe od jakiejś konkretnej zmiennej - program porównuje wszystkie elementy tablicy z bieżącą największą znaną wartością, a nie z określoną z góry wartością. Odpowiedź sugerująca, że program wypisze wartość $tab[0] również jest nieprawidłowa, ponieważ wartość $tab[0] jest tylko początkową wartością do porównania, a nie koniecznie największym elementem tablicy.

Pytanie 30

Jakie działanie wykonuje poniższy fragment kodu w języku JavaScript? n = "Napis1"; s = n.length;

A. Zwraca długość napisu zawartego w zmiennej n
B. Przypisuje do zmiennej s wartość odpowiadającą długości napisu z zmiennej n
C. Przypisuje do zmiennej s część napisu z zmiennej n, o długości określonej przez zmienną length
D. Przypisuje wartość zmiennej n do zmiennej s
Odpowiedzi, które błędnie interpretują fragment kodu, wskazują na nieporozumienie dotyczące działania właściwości length oraz przypisania wartości w JavaScript. Przypisanie zmiennej n do zmiennej s nie jest możliwe w kontekście omawianego fragmentu, ponieważ zmienna s nie przyjmuje obiektu, a wyłącznie wartość długości napisu. Stwierdzenie, że skrypt wyświetli długość napisu, jest również nieprawidłowe, ponieważ w danym kodzie nie ma operacji wyświetlania - zmienne są jedynie przypisane. Kolejnym błędnym wnioskiem jest przypisanie fragmentu napisu do zmiennej s, co nie ma miejsca, ponieważ length zwraca tylko liczbę, a nie podłańcuch. Podstawowym błędem myślowym jest pomylenie przypisania wartości z operacjami wyświetlania i manipulacji łańcuchami. Warto zrozumieć, że JavaScript, jako język o dynamicznej typizacji, wymaga precyzyjnego rozumienia typów danych, a także właściwości i metod obiektów, co jest kluczowe dla efektywnego programowania. Niezrozumienie tych podstawowych konceptów może prowadzić do wielu błędów w kodzie, które są trudne do zdiagnozowania, a także mogą wpływać na wydajność i stabilność aplikacji.

Pytanie 31

Które z poniższych twierdzeń na temat języków programowania jest FAŁSZYWE?

A. PHP jest językiem do tworzenia stron w czasie rzeczywistym
B. SQL jest językiem programowania strukturalnego
C. JavaScript jest językiem skryptowym
D. C++ jest językiem obiektowym
SQL (Structured Query Language) to język zapytań, który służy do zarządzania danymi w relacyjnych bazach danych. Pomimo swojej nazwy, SQL nie jest językiem programowania strukturalnego w tradycyjnym sensie, ponieważ nie obsługuje pełnych konstrukcji programistycznych, takich jak pętle czy warunki, które są charakterystyczne dla języków takich jak C czy Pascal. SQL jest językiem deklaratywnym, co oznacza, że użytkownicy formułują zapytania, które definiują, jakie dane chcą uzyskać, a nie jak je uzyskać. Dzięki temu SQL jest niezwykle efektywny w pracy z dużymi zbiorami danych i umożliwia szybkie wykonywanie operacji na bazach danych. Przykładowe zastosowanie SQL to tworzenie zapytań do wyszukiwania określonych informacji w bazie danych klientów lub przy używaniu funkcji agregujących do analizy danych. Zrozumienie roli SQL w architekturze baz danych oraz umiejętność jego stosowania jest kluczowe w dziedzinie analizy danych i rozwijania aplikacji webowych.

Pytanie 32

Selektor CSS a:link {color:red} użyty w kaskadowych arkuszach stylów określa

A. klasę
B. pseudoklasę
C. pseudoelement
D. identyfikator
Odpowiedź, którą wybrałeś, to pseudoklasa. W CSS jest to typowa sprawa, bo selektor a:link to właśnie przykład użycia pseudoklas. Dzięki nim możesz stylizować różne elementy na podstawie ich stanu lub tego, jak się zachowują w dokumencie. Na przykład, selektor a:link definiuje styl dla linków, które jeszcze nie zostały odwiedzone - więc jeśli ktoś kliknął na link, zmienia się jego wygląd. Używając pseudoklas, możesz znacznie poprawić estetykę stron i sprawić, że będą bardziej przyjazne dla użytkowników. Pomyśl o takich pseudoklasach jak :hover, co zmienia styl, gdy najedziemy kursorem, albo :active, która wprowadza zmiany podczas klikania. To naprawdę dobra technika, żeby nadać stronom fajny, dynamiczny charakter. Rozumienie pseudoklas to istotna sprawa w web designie, a to, co się zgadza z tym, co mówi W3C, to dodatkowy atut.

Pytanie 33

Które polecenie SQL zaktualizuje w tabeli tab wartość Ania na Zosia w kolumnie kol?

A. UPDATE tab SET kol='Zosia' WHERE kol='Ania';
B. ALTER TABLE tab CHANGE kol='Ania' kol='Zosia';
C. ALTER TABLE tab CHANGE kol='Zosia' kol='Ania';
D. UPDATE tab SET kol='Ania' WHERE kol='Zosia';
W tym przypadku, żeby zmienić 'Ania' na 'Zosia' w kolumnie 'kol' w tabeli 'tab', wykorzystujemy polecenie UPDATE. To umożliwia nam modyfikację danych, które już są w bazie. Składnia jest dosyć prosta: UPDATE nazwa_tabeli SET kolumna='nowa_wartość' WHERE warunek. Więc w tym naszym przykładzie, musimy ustalić, że w kolumnie 'kol' jest obecnie 'Ania', żeby wymienić ją na 'Zosia'. Jak to napiszesz, to będzie wyglądać tak: UPDATE tab SET kol='Zosia' WHERE kol='Ania';. Tego typu polecenia są naprawdę przydatne, zwłaszcza w systemach CRM, gdzie często aktualizujemy dane o klientach. Co ciekawe, stosując SQL, działamy zgodnie z zasadami ACID, co sprawia, że nasze dane zachowują spójność. Nie zapomnij też, że przed aktualizacją warto mieć kopię zapasową, żeby w razie czego nie stracić nic ważnego.

Pytanie 34

Przedstawione polecenie MySQL ma za zadanie

 ALTER TABLE ksiazki
 MODIFY tytul VARCHAR(100) NOT NULL;
A. zmienić nazwę kolumny w tabeli ksiazki.
B. usunąć kolumnę tytul z tabeli ksiazki.
C. zmienić typ kolumny tytul w tabeli ksiazki.
D. dodać do tabeli ksiazki kolumnę tytul.
Dobra robota, Twoja odpowiedź jest właściwa! W poleceniu użyto ALTER TABLE, co to jest ten typowy sposób na modyfikowanie tabel w bazach danych. No i to słowo kluczowe MODIFY wskazuje, że zmieniamy coś w już istniejącej kolumnie. W tym przypadku chodzi o kolumnę 'tytul' w tabeli 'ksiazki', której typ zmieniamy na VARCHAR(100), co znaczy, że teraz może ona mieć teksty do 100 znaków długości. Dodatkowo dodajemy ograniczenie NOT NULL, więc 'tytul' musi być zawsze wypełniony. To normalna rzecz, kiedy na przykład musimy dostosować strukturę danych, gdy na przykład zauważymy, że tytuły książek stają się dłuższe albo musimy mieć pewność, że zawsze są wprowadzone.

Pytanie 35

Która z zasad walidacji strony internetowej jest nieprawidłowa?

A. Jeżeli w poleceniu występuje kilka atrybutów, ich kolejność powinna być uporządkowana alfabetycznie np. ```<img alt="..." src="/.."/>```
B. Tagi, poza samozamykającymi się, funkcjonują do momentu ich wyłączenia znakiem "/", np. ```<p> ..</p>```
C. Wyłączanie tagów musi następować w odwrotnej sekwencji do ich włączenia, np. ```<p> ... <big>...</big></p>```
D. W tagach nie jest brana pod uwagę różnica między dużymi a małymi literami, np. ```<p>``` i ```<P>``` to ten sam tag.
Odpowiedź dotycząca kolejności atrybutów w znacznikach HTML jest poprawna, ponieważ nie ma wymogu, aby atrybuty w znacznikach były uporządkowane alfabetycznie. W rzeczywistości, HTML pozwala na dowolną kolejność atrybutów, co czyni tę regułę błędną. Przykładowo, znacznik <img src="/path/to/image.jpg" alt="Opis obrazu" /> jest poprawny niezależnie od kolejności atrybutów. Ważne jest, aby atrybuty były odpowiednio używane w kontekście ich przeznaczenia, a nie w kontekście kolejności alfabetycznej. Dobrą praktyką jest również stosowanie atrybutów w sposób, który zwiększa czytelność kodu, jednak nie jest to wymóg techniczny. Zgodnie z zaleceniami W3C, kluczowym aspektem jest poprawność semantyczna i zgodność ze standardami, a nie kolejność atrybutów.

Pytanie 36

Który z poniższych zapisów w HTML określa kodowanie znaków stosowane w dokumencie?

A. <meta encoding="UTF-8">
B. <meta charset="UTF-8">
C. <charset="UTF-8">
D. <encoding="UTF-8">
Zapis <meta charset="UTF-8"> jest prawidłową deklaracją kodowania znaków w dokumencie HTML. Element <meta> jest używany w sekcji <head> dokumentu i pozwala na zdefiniowanie różnych metadanych, w tym kodowania znaków. Użycie "UTF-8" jako wartości dla atrybutu charset oznacza, że dokument będzie używał kodowania Unicode, które jest standardem preferowanym w sieci. Dzięki temu, dokumenty mogą poprawnie wyświetlać znaki z różnych języków, co jest kluczowe w zglobalizowanym świecie internetu. Przykładem zastosowania tego zapisu może być strona internetowa, która zawiera teksty w wielu językach, co wymaga wsparcia dla różnorodnych znaków diakrytycznych i symboli. Warto również podkreślić, że zgodnie z zasadami dobrych praktyk, zawsze powinno się definiować kodowanie znaków w dokumencie HTML, aby uniknąć problemów z wyświetlaniem treści, co może negatywnie wpłynąć na doświadczenia użytkowników oraz SEO strony.

Pytanie 37

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

A. cookie("jabłko","owoce",3600);
B. cookie("owoce","jabłko",3600);
C. setcookie("owoce","jabłko",time()+3600);
D. setcookie("jabłko","owoce",time()+3600);
Wybór niewłaściwej funkcji do ustawiania ciasteczka w PHP może prowadzić do nieprawidłowego działania aplikacji. Przykładowo, odpowiedzi, które używają funkcji cookie zamiast setcookie, są błędne, ponieważ w standardzie PHP nie istnieje funkcja o nazwie cookie. Dodatkowo, każda z odpowiedzi, która nieprawidłowo ustawia argumenty funkcji setcookie, wprowadza w błąd co do właściwego wykorzystania tego narzędzia. Warto zauważyć, że w odpowiedzi setcookie("jabłko","owoce",time()+3600) nie tylko zamieniono nazwy i wartości, ale także ich kolejność, co skutkuje błędnym ustawieniem ciasteczka. W PHP, pierwszy argument powinien być nazwą ciasteczka, a drugi - jego wartością. Niepoprawne podejście do tematu ciasteczek może prowadzić do problemów z przechowywaniem danych użytkowników, co jest kluczowe w kontekście UX i bezpieczeństwa aplikacji. W praktyce, przy każdym użyciu funkcji setcookie należy zwracać uwagę na to, aby przestrzegać konwencji i standardów PHP, co zapewnia nie tylko poprawność działania kodu, ale także jego czytelność oraz ułatwia późniejsze jego utrzymanie. Typowe błędy, takie jak pomylenie argumentów, mogą skutkować błędną logiką w aplikacji lub nawet brakiem możliwości zapisywania ważnych informacji w ciasteczkach. Dlatego kluczowe jest zrozumienie działania funkcji setcookie oraz przestrzeganie dobrych praktyk programistycznych.

Pytanie 38

W PHP w konstrukcji switch konieczne jest użycie

A. instrukcji break po każdym przypadku case
B. instrukcji default
C. przynajmniej dwóch instrukcji case
D. konstrukcji switch(wyrażenie)
Wiele osób może mylnie sądzić, że każda opcja wymieniona w pytaniu jest konieczna do prawidłowego działania instrukcji switch. Na przykład, powszechnym błędem jest przekonanie, że instrukcja default jest niezbędna. W rzeczywistości jest to sekcja opcjonalna, która jest wykonywana, jeśli żaden z przypadków case nie pasuje do wyrażenia. W przypadku, gdy instrukcja default nie jest użyta, program po prostu przejdzie do następnej instrukcji po switch, jeśli żaden z przypadków nie został spełniony. Również nie jest konieczne posiadanie przynajmniej dwóch case. Można mieć jedną sekcję case, a nawet żadną, ale w tym ostatnim przypadku kod nie będzie zawierał żadnego działania w switch. Innym częstym nieporozumieniem jest myślenie, że instrukcja break musi znajdować się po każdej sekcji case. Choć break jest zalecany, aby uniknąć tzw. 'fall-through', czyli niezamierzonego przejścia do kolejnych sekcji case, jego brak nie czyni switch niepoprawnym. Program wciąż działa, ale może nie zachowywać się zgodnie z oczekiwaniami, co może prowadzić do trudnych do zdiagnozowania błędów. W praktyce, dla czytelności i przewidywalności kodu, stosowanie break jest uznawane za dobrą praktykę. Zrozumienie tych zasad jest kluczowe dla efektywnego korzystania z konstrukcji switch w PHP.

Pytanie 39

Aby aplikacja PHP mogła nawiązać połączenie z bazą danych, konieczne jest najpierw użycie funkcji o nazwie

A. mysqli_close
B. mysqli_connect
C. mysqli_create_db
D. mysqli_select_db
Funkcja mysqli_connect jest kluczowym elementem w procesie komunikacji aplikacji PHP z bazą danych. Jej głównym zadaniem jest nawiązanie połączenia z serwerem MySQL, co jest niezbędne, zanim jakiekolwiek operacje na danych mogą zostać przeprowadzone. Wywołując tę funkcję, należy podać odpowiednie parametry: nazwę hosta (zazwyczaj 'localhost'), nazwę użytkownika, hasło oraz nazwę bazy danych, z którą chcemy pracować. Na przykład: $conn = mysqli_connect('localhost', 'user', 'password', 'database');. Dobrą praktyką jest również sprawdzenie, czy połączenie zostało nawiązane poprawnie, co można zrobić za pomocą odpowiednich warunków. W przypadku ewentualnych błędów podczas nawiązywania połączenia, funkcja ta zwraca wartość false, co umożliwia dalsze działania naprawcze. Dodatkowo, w kontekście bezpieczeństwa, warto stosować techniki takie jak przygotowywanie zapytań (prepared statements), aby zminimalizować ryzyko ataków typu SQL Injection. Właściwe nawiązanie połączenia z bazą danych jest fundamentem każdej aplikacji webowej opartej na PHP.

Pytanie 40

Jakie tabele będą weryfikowane przez podane polecenie?

CHECK TABLE pracownicy CHANGED;
A. Tabele, które zmieniły się w bieżącej sesji.
B. Tylko tabele, które nie zostały prawidłowo zamknięte.
C. Jedynie tabele referencyjne.
D. Tabele, które uległy zmianie od ostatniego sprawdzenia lub nie zostały prawidłowo zamknięte.
Odpowiedź, że polecenie CHECK TABLE sprawdzi tabele, które zmieniły się od ostatniej kontroli lub nie zostały poprawnie zamknięte, jest poprawna. Polecenie to jest wykorzystywane w systemach zarządzania bazami danych, takich jak MySQL, do diagnozowania i naprawy problemów związanych z integralnością danych. Kiedy tabele są zmieniane lub nie zostały poprawnie zamknięte, mogą wystąpić uszkodzenia, które mogą prowadzić do błędów przy odczycie lub zapisie danych. W praktyce, administratorzy baz danych regularnie wykonują polecenie CHECK TABLE, aby upewnić się, że struktura tabeli jest nienaruszona i że system operacyjny poprawnie zarządza danymi. Użycie CHECK TABLE w kontekście tabel, które zmieniły się od ostatniej kontroli, jest kluczowe, gdyż pozwala na szybką lokalizację problemów. Warto również zauważyć, że w przypadku dużych baz danych wykonanie tego polecenia może być czasochłonne, dlatego dobrze jest zintegrować jego użycie z harmonogramem regularnych kontroli integralności danych, co jest zgodne z najlepszymi praktykami w zarządzaniu bazami danych.