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: 27 kwietnia 2026 01:12
  • Data zakończenia: 27 kwietnia 2026 01:13

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

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

Który efekt został zaprezentowany na filmie?

A. Zmniejszenie kontrastu zdjęcia.
B. Zwiększenie ostrości zdjęcia.
C. Przenikanie zdjęć.
D. Zmiana jasności zdjęć.
W tym zadaniu łatwo pomylić kilka różnych rodzajów operacji na obrazie, bo wszystkie jakoś „zmieniają wygląd zdjęcia”, ale działają zupełnie inaczej. Efekt pokazany na filmie to przenikanie dwóch zdjęć w czasie, czyli animowane przejście między jednym obrazem a drugim. Kluczowa cecha: widzimy jednocześnie dwa zdjęcia, jedno stopniowo zanika, a drugie stopniowo się pojawia. To nie jest typowa operacja edycyjna na pojedynczym pliku graficznym, tylko efekt animacyjny, często wykorzystywany w pokazach slajdów, sliderach na stronach WWW i w montażu wideo. Zmiana jasności zdjęć to zupełnie inny rodzaj przetwarzania. Jasność modyfikuje poziom luminancji całego obrazu lub jego fragmentów – obraz staje się ciemniejszy albo jaśniejszy, ale dalej jest to to samo zdjęcie. Nie pojawia się nowe, drugie zdjęcie, nie ma nakładania dwóch kadrów. W programach do grafiki mamy to jako „Brightness”, „Exposure” czy „Levels”. Jeśli na filmie widać, że jeden obraz przechodzi płynnie w inny, to nie jest korekta jasności, tylko przejście między dwiema warstwami. Podobnie z ostrością – zwiększenie ostrości polega na podbiciu kontrastu na krawędziach, żeby szczegóły wyglądały wyraźniej. W praktyce używa się filtrów typu Unsharp Mask, Smart Sharpen albo algorytmów wyostrzania w czasie rzeczywistym. Obraz przed i po wyostrzeniu to ciągle ta sama klatka, tylko z innym przetworzeniem detali, nie ma efektu zanikania jednego zdjęcia i pojawiania się drugiego. Zmniejszenie kontrastu to kolejna korekta globalna, która spłaszcza różnice między jasnymi a ciemnymi partiami obrazu. Zdjęcie robi się bardziej „szare”, mniej dynamiczne. Znowu – cały czas pracujemy na jednym ujęciu, bez miksowania dwóch fotografii. Typowym błędem myślowym przy takich pytaniach jest to, że skoro coś się „zmienia w czasie”, to musi chodzić o jakąś regulację parametrów typu jasność czy kontrast. Tymczasem w efektach multimedialnych bardzo często operujemy na wielu warstwach – dwa obrazy, dwie klatki wideo – i animujemy ich wzajemną przezroczystość. Właśnie to jest esencją przenikania zdjęć i odróżnia je od zwykłych korekt obrazu.

Pytanie 2

Aby ułatwić dodawanie oraz modyfikowanie danych w tabeli, konieczne jest zdefiniowanie

A. formularza.
B. zapytania SELECT.
C. sprawozdania.
D. filtru.
Kwerenda SELECT jest narzędziem służącym do pobierania danych z bazy danych. Chociaż może być wykorzystywana do wyświetlania informacji, nie jest ona odpowiednia do wprowadzania lub edytowania danych. Kwerenda SELECT jedynie odzwierciedla stan bazy danych w momencie jej wykonania, nie oferując możliwości edycji czy wprowadzania nowych informacji. Podobnie, raport jest narzędziem, które syntetyzuje dane i przedstawia je w zrozumiały sposób, jednak jego funkcjonalność ogranicza się do prezentacji wyników, a nie do interakcji z danymi. Raporty są przydatne do analizowania danych, ale nie umożliwiają użytkownikom zmiany ich zawartości. Z kolei filtr to mechanizm, który pozwala na ograniczenie wyświetlanych danych na podstawie określonych kryteriów. Filtry są użyteczne w kontekście przeszukiwania danych, ale ich rola nie obejmuje edytowania ani wprowadzania nowych informacji. Filtry pomagają w selekcji danych, ale nie zmieniają ich stanu, co czyni je niewłaściwym wyborem dla zadania edycji danych. W skrócie, wszystkie wymienione opcje mają swoje zastosowania, lecz nie są w stanie zastąpić funkcji formularza w kontekście jednostkowego wprowadzania i edytowania danych.

Pytanie 3

Z jakich elementów składa się tabela generowana przez poniższy kod?

<table border="1">
<tr>
<td> 1 </td>
<td> 2 </td>
</tr>
</table>
A. jednego wiersza oraz jednej kolumny
B. dwóch wierszy oraz jednej kolumny
C. dwóch wierszy i dwóch kolumn
D. jednego wiersza oraz dwóch kolumn
Kod w pytaniu przedstawia strukturę HTML dla tabeli. Tabela składa się z jednej pary znaczników <tr>, co oznacza, że zawiera jeden wiersz. Wewnątrz tego wiersza znajdują się dwa znaczniki <td>, reprezentujące dwie komórki, czyli kolumny. Praktyczne zastosowanie tabel w HTML obejmuje prezentację danych w sposób strukturalny, co jest szczególnie użyteczne w przypadku raportów, cenników czy kalendarzy. Dobre praktyki w projektowaniu stron internetowych sugerują stosowanie tabel do prezentacji danych, nie zaś do układania treści na stronie, co było popularne w starszych wersjach HTML. W nowoczesnym podejściu do front-endu, używa się CSS i Flexbox lub Grid do układania elementów. Jednak zrozumienie podstaw HTML, takich jak prawidłowa struktura tabeli, jest kluczowe dla tworzenia semantycznych i dostępnych stron WWW. Tabele powinny być też wzbogacone o elementy takie jak <thead>, <tbody> i <tfoot> dla lepszej organizacji danych i wsparcia przez technologie asystujące dla osób z niepełnosprawnościami.

Pytanie 4

Który zapis CSS wprowadzi niebieskie tło dla bloku?

A. div {border-color: blue;}
B. div {shadow: blue;}
C. div {color: blue;}
D. div {background-color: blue;}
Odpowiedzi div {border-color: blue;}, div {color: blue;} oraz div {shadow: blue;} nie są poprawne z kilku powodów, które warto szczegółowo omówić. Pierwsza z tych odpowiedzi odnosi się do właściwości 'border-color', która zmienia kolor obramowania elementu. Chociaż może to wpłynąć na wygląd bloku, nie ma wpływu na tło, co jest celem pytania. Z kolei 'color' to właściwość, która definiuje kolor tekstu wewnątrz elementu, a nie tła. Oznacza to, że użycie tej właściwości zmieni tylko kolor tekstu, pozostawiając tło bez zmian. Wreszcie, zapis 'shadow' nie istnieje w standardzie CSS, co wskazuje na nieporozumienie dotyczące właściwości stylizacji. Możliwe, że użytkownik miał na myśli 'box-shadow', która stosuje cień do elementu, ale nie dotyczy to koloru tła. Kluczowym błędem jest brak zrozumienia podstawowych właściwości CSS oraz ich zastosowania. Warto pamiętać, że CSS ma określone zasady i właściwości, które należy stosować zgodnie z ich przeznaczeniem, aby osiągnąć zamierzony efekt wizualny. Zrozumienie tych różnic jest fundamentalne dla każdego, kto chce efektywnie posługiwać się CSS i projektować atrakcyjne oraz funkcjonalne strony internetowe.

Pytanie 5

Aby włączyć zewnętrzny skrypt JavaScript zatytułowany skrypt.js, należy umieścić w kodzie HTML

A. <script> skrypt.js </script>
B. <link rel="script" href="skrypt.js" />
C. <link rel="JavaScript" type="js" href="skrypt.js" />
D. <script src="skrypt.js"></script>
Wiele z niepoprawnych odpowiedzi opiera się na nieporozumieniach co do właściwej składni używania JavaScript w dokumentach HTML. Odpowiedź <link rel="JavaScript" type="js" href="skrypt.js" /> jest błędna, ponieważ element <link> jest stosowany głównie do łączenia stylów CSS, a nie skryptów JavaScript. Atrybuty rel i type w tym kontekście nie mają zastosowania, co prowadzi do niepoprawnego załączenia skryptu. Kolejny przykład, <link rel="script" href="skrypt.js" />, również jest niewłaściwy, ponieważ nie istnieje atrybut rel o nazwie "script" w kontekście tagu <link>. Użycie atrybutu rel w kontekście skryptów nie jest zgodne z żadnym standardem HTML. Z kolei odpowiedź <script> skrypt.js </script> jest błędna, ponieważ nie używa atrybutu src, co oznacza, że przeglądarka nie będzie wiedziała, gdzie znaleźć plik skrypt.js. To podejście jest zatem nieefektywne i nieintuicyjne. Właściwe podejście do dołączania skryptów JavaScript polega na używaniu tagu <script> z atrybutem src, co jest zgodne z najlepszymi praktykami i standardami branżowymi. Takie zrozumienie składni HTML i JavaScript jest kluczowe dla każdego dewelopera webowego, aby zapewnić właściwą integrację i funkcjonalność stron internetowych.

Pytanie 6

W konstrukcji warunkowej w języku JavaScript należy sprawdzić sytuację, w której zmienne a oraz b są większe od zera, przy czym zmienna b jest mniejsza niż 100. Taki warunek powinien być zapisany w następujący sposób:

A. if ( a > 0 && b > 0 && b < 100) ...
B. if ( a > 0 || (b > 0 && b < 100)) ...
C. if ( a > 0 && b > 0 || b > 100) ...
D. if ( a > 0 || b > 0 || b > 100) ...
Wybór niewłaściwego warunku logicznego w tej sytuacji prowadzi do błędnych wyników. Przykładowo, w pierwszym przypadku użycie operatora OR (||) sprawia, że warunek zwróci true, jeśli którakolwiek z wartości będzie spełniona, co jest niezgodne z wymaganym zachowaniem. To oznacza, że jeśli 'a' lub 'b' będą dodatnie, ale 'b' będzie większe od 100, to warunek zostanie zrealizowany, co jest niepożądane. W drugim przypadku, mieszając operatory AND i OR, uzyskujemy niejednoznaczność. Warunek ten jest prawdziwy, jeżeli 'a' jest dodatnie oraz 'b' jest dodatnie lub większe od 100, co również nie spełnia naszych wymagań, gdyż obie zmienne muszą być dodatnie, a 'b' powinno być poniżej 100. W trzecim przypadku, zastosowanie operatora OR w sposób, który łączy warunki dotyczące 'b', prowadzi do tego, że warunek może być spełniony, nawet jeżeli 'b' jest większe od 100, co jest sprzeczne z naszymi założeniami. W każdej z tych sytuacji kluczowym błędem jest nieznalezienie właściwej logiki, która jednoznacznie określa, że obie zmienne muszą być dodatnie, a 'b' musi być mniejsze niż 100, co możemy osiągnąć jedynie za pomocą operatora AND.

Pytanie 7

Jak, wykorzystując język PHP, można zapisać w ciasteczku wartość znajdującą się w zmiennej dane na okres jednego dnia?

A. setcookie("dane", "dane", 0);
B. setcookie("dane", $dane, time());
C. setcookie("dane", $dane, 0);
D. setcookie("dane", $dane, time() + (3600*24));
Użycie setcookie("dane", $dane, time()); jest błędne, ponieważ czas wygaśnięcia ciasteczka nie zostaje określony, a domyślnie ciasteczko wygasa z końcem sesji przeglądarki. Oznacza to, że ciasteczko zostanie usunięte, gdy użytkownik zamknie przeglądarkę, co jest niewłaściwe w kontekście potrzeby przechowywania danych przez dłuższy czas, jak w tym przypadku. Zapis setcookie("dane", "dane", 0); również kończy się niepowodzeniem, ponieważ określenie czasu wygaśnięcia na zero ma ten sam skutek, co wcześniejsza odpowiedź - ciasteczko nie będzie przechowywane po zamknięciu sesji. W przypadku setcookie("dane", $dane, 0); błąd wynika z tego, że zmienna $dane nie jest przechowywana, co prowadzi do potencjalnych problemów z dostępnością danych. Zrozumienie tych mechanizmów jest kluczowe dla efektywnego korzystania z ciasteczek w PHP, a niewłaściwe podejście do ich użycia może prowadzić do utraty informacji, co negatywnie wpływa na doświadczenie użytkownika. Użytkownicy powinni unikać pomijania argumentów związanych z czasem wygaśnięcia, ponieważ może to prowadzić do nieprzewidywalnych rezultatów i frustracji ze strony osób korzystających z danej aplikacji.

Pytanie 8

Gdzie w dokumencie HTML mogą być umieszczane fragmenty kodu JavaScript?

A. tak w sekcji <head>, jak i <body>, w znaczniku <java>
B. jedynie w sekcji <head>, w znaczniku <script>
C. zarówno w sekcji <head>, jak i <body>, w znaczniku <script>
D. wyłącznie w sekcji <body>, w znaczniku <java>
Umieszczanie JavaScript w znaczniku <java> to całkowita pomyłka, bo taki znacznik nie istnieje w HTML. To może być mylące dla początkujących, którzy mogą pomyśleć, że to dobry sposób na dodawanie skryptów. Powinieneś używać znacznika <script>, to jest standard. Innym typowym błędem jest mylenie <head> z <body>. <head> zawiera różne metadane, jak linki do stylów czy skrypty, które powinny być załadowane na start. Ale wrzucanie skryptów tylko do <head> może spowolnić renderowanie treści. Najlepiej korzystać z obu sekcji w odpowiedni sposób, żeby optymalnie ładować stronę. Pamiętaj, że w HTML5 <script> ma atrybuty jak 'async' czy 'defer', które pomagają w zarządzaniu kolejnością skryptów i szybszym ładowaniu strony, co jest bardzo ważne przy tworzeniu nowoczesnych aplikacji.

Pytanie 9

Przy użyciu komendy ALTER TABLE można

A. zmienić dane w rekordach
B. zmodyfikować strukturę tabeli
C. usunąć dane z rekordu
D. skasować tabelę
W kontekście baz danych warto zrozumieć, że ALTER TABLE nie zmienia wartości rekordów. Do tego mamy polecenie UPDATE, które pozwala nam na aktualizację danych w konkretnych kolumnach dla wybranych rekordów. Jeśli użyjesz ALTER TABLE w tym przypadku, to będzie to po prostu złe podejście, bo ALTER TABLE zajmuje się strukturą, a nie zawartością tabeli. Też, żeby usunąć rekordy, korzystamy z DELETE, które pozwala na usunięcie jednego lub więcej rekordów na podstawie warunków w klauzuli WHERE. Jak użyjesz ALTER TABLE w tej sytuacji, to może dojść do sporych nieporozumień. Kolejny błąd to myślenie, że ALTER TABLE może usunąć całą tabelę, co tak naprawdę robimy za pomocą DROP TABLE. Ta komenda całkowicie kasuje tabelę z bazy danych, łącznie ze wszystkimi danymi, co jest zupełnie inną sprawą niż modyfikowanie struktury tabeli. Te nieporozumienia mogą prowadzić do złych praktyk w zarządzaniu bazami danych, co w efekcie może wpłynąć na integralność i wydajność systemu.

Pytanie 10

Przedstawiony w ramce kod języka PHP oznacza, że zmienna $liczba2 jest

Ilustracja do pytania
A. referencją do $liczba1
B. wskaźnikiem do $liczba1
C. iloczynem logicznym ze zmienną $liczba1
D. negacją logiczną zmiennej $liczba1
Kod $liczba2 = &$liczba1; w PHP często bywa mylony z różnymi innymi mechanizmami, bo ten sam znak & występuje także w innych kontekstach. Tutaj jednak nie mamy ani wskaźnika w sensie znanym z języka C, ani operacji logicznej. Silnik PHP traktuje taki zapis jako utworzenie referencji, czyli dwóch nazw dla tej samej wartości w pamięci. To jest dość wysokopoziomowa konstrukcja, a nie bezpośrednia manipulacja adresami. Mylenie tego zapisu ze wskaźnikiem bierze się z analogii do C/C++, gdzie & kojarzy się z adresem. W PHP programista nie dostaje jednak do ręki adresów pamięci, nie może ich inkrementować, przesuwać ani wykonywać typowych operacji wskaźnikowych. Referencja w PHP jest bardziej mechanizmem zarządzania zmiennymi przez silnik, ukrytym pod prostą składnią. Dlatego mówienie, że $liczba2 jest wskaźnikiem do $liczba1, jest merytorycznie błędne – to inny poziom abstrakcji. Kolejne częste nieporozumienie dotyczy logiki. Operator negacji logicznej w PHP to !, a nie &, więc zapis &$liczba1 nie może oznaczać negacji. Ampersand w kontekście logicznym w PHP w ogóle nie występuje jako samodzielny operator, więc łączenie go z pojęciem negacji jest całkowicie chybione. Podobnie w przypadku iloczynu logicznego: w PHP używa się && albo and, natomiast pojedyncze & ma inne znaczenie – w starszych wersjach języka było też używane do operacji bitowych oraz właśnie do referencji. Żaden z tych wariantów nie pasuje do odpowiedzi o iloczynie logicznym zmiennej $liczba1. Typowy błąd myślowy polega na tym, że ktoś kojarzy sam znak & z „jakąś logiką” lub „adresami pamięci” i na tej podstawie strzela odpowiedź, zamiast odnieść się do konkretnej składni PHP. W programowaniu webowym, szczególnie w PHP, warto patrzeć na pełny kontekst: gdzie stoi &, czy jest przed nazwą zmiennej w definicji funkcji, przy przypisaniu, czy może pomiędzy wyrażeniami. Dopiero z tego wynika prawidłowa interpretacja. W tym zadaniu kontekst jest jasny: mamy operator referencji przy przypisaniu, więc chodzi wyłącznie o powiązanie dwóch zmiennych z tą samą wartością, a nie o logikę czy wskaźniki w niskopoziomowym znaczeniu.

Pytanie 11

Która z funkcji SQL nie przyjmuje żadnych argumentów?

A. year
B. len
C. now
D. upper
Wybór funkcji 'upper', 'len' lub 'year' jako odpowiedzi wskazuje na nieporozumienie dotyczące funkcji w SQL. Funkcja 'upper' służy do konwertowania tekstu na wielkie litery, co oznacza, że wymaga argumentu - ciągu znaków, który ma zostać przekształcony. Przykładowe użycie tej funkcji to 'SELECT upper(nazwa) FROM tabela;', gdzie 'nazwa' jest kolumną z danymi tekstowymi. Podobnie, funkcja 'len' wylicza długość ciągu znaków i również wymaga argumentu; na przykład, 'SELECT len(nazwa) FROM tabela;' zwróci liczbę znaków w kolumnie 'nazwa'. Funkcja 'year' wyciąga rok z daty, co czyni ją również funkcją wymagającą argumentu, jak 'SELECT year(data) FROM tabela;', gdzie 'data' jest kolumną z wartościami dat. Typowe błędy myślowe prowadzące do wyboru tych funkcji jako odpowiedzi wynikają z mylenia ich z funkcjami, które mogą działać bez argumentów, jak 'now'. Warto znać różnice między tymi funkcjami, aby skutecznie korzystać z SQL w praktyce, a także unikać niepoprawnych zapytań, które mogą prowadzić do błędów wykonania lub nieprawidłowych wyników.

Pytanie 12

W PHP w konstrukcji switch konieczne jest użycie

A. instrukcji break po każdym przypadku case
B. przynajmniej dwóch instrukcji case
C. instrukcji default
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 13

Jakie jest zastosowanie programu debugger?

A. interpretacji kodu w wirtualnej maszynie Java
B. badania kodu źródłowego w celu znalezienia błędów składniowych
C. tłumaczenia kodu napisanego w języku wyższego poziomu na język maszynowy
D. analizy wykonywanego programu w celu lokalizacji błędów
Interpretacja kodu w wirtualnej maszynie Java odnosi się do działania maszyny wirtualnej, która wykonuje kod bajtowy stworzony przez kompilatory języków programowania, takich jak Java. Chociaż maszyna wirtualna jest istotna w procesie uruchamiania aplikacji Java, nie jest to funkcjonalność debuggera, który ma na celu inną rolę. Podobnie, analiza kodu źródłowego w celu odnalezienia błędów składniowych to proces, który wykonuje kompilator przed uruchomieniem programu. Debugger nie zajmuje się analizą składni, lecz koncentruje się na wykrywaniu błędów podczas wykonywania kodu. Tłumaczenie kodu zapisanego w języku wyższego poziomu na język maszynowy jest zadaniem kompilatora, a nie debuggera. Debugger działa na poziomie wykonania programu, a nie na poziomie jego kompilacji, co jest kluczowym aspektem odróżniającym te dwie funkcjonalności. Poprawne zrozumienie ról kompilatora i debuggera jest niezbędne, aby uniknąć mylnych wniosków dotyczących procesów tworzenia i uruchamiania oprogramowania.

Pytanie 14

Kod JavaScript uruchomiony w wyniku kliknięcia przycisku ma na celu <img id="i1" src="obraz1.gif"> <button onclick="document.getElementById('i1').src='obraz2.gif'"> test</button>

A. zamienić obraz1.gif na obraz2.gif
B. ukryć obraz2.gif
C. wyświetlić obraz2.gif obok obraz1.gif
D. zmienić styl obrazu o id równym i1
Analizując wszystkie pozostałe odpowiedzi można zauważyć, że nie odzwierciedlają one rzeczywistych działań wykonywanych przez kod. Twierdzenie, że 'ukryć obraz2.gif' jest błędne, ponieważ w kodzie nie zachodzi żadna operacja związana z ukrywaniem. Przydzielanie nowego źródła do obrazu nie wpływa na jego widoczność, a jedynie zmienia to, co jest wyświetlane. Na podobnej zasadzie, stwierdzenie, że 'zmienić styl obrazu o id równym i1' jest mylące, ponieważ kod nie dotyczy modyfikacji stylów CSS, lecz wymiany źródła obrazu, co oznacza zupełnie inny typ interakcji. Wreszcie, sugestia, że 'wyświetlić obraz2.gif obok obraz1.gif' jest nieprawidłowa. Kod nie dodaje obrazu obok istniejącego, ale dokonuje zamiany jednego na drugie. Typowe błędy w myśleniu, które prowadzą do takich błędnych wniosków, obejmują pomylenie pojęć manipulacji DOM z innymi operacjami, takimi jak zmiana stylów czy ukrywanie elementów. W kontekście praktycznym, zrozumienie tych różnic ma kluczowe znaczenie dla prawidłowego używania JavaScript w tworzeniu interaktywnych aplikacji webowych.

Pytanie 15

Atrybut value w elemencie formularza XHTML

 <input type="text" name="name" value="value">
A. definiuje maksymalną długość pola
B. określa nazwę pola
C. określa domyślną wartość
D. ustawia pole jako tylko do odczytu
Atrybut 'value' w polu formularza XHTML ma kluczowe znaczenie, ponieważ określa wartość, która będzie domyślnie wyświetlana w polu tekstowym. Kiedy użytkownik otworzy formularz, będzie widział w polu tekstowym wpisaną wartość, co ułatwia interakcję, zwłaszcza w przypadkach, gdy potrzebne są przykłady lub domyślne odpowiedzi. Na przykład, w formularzu rejestracyjnym można ustawić atrybut 'value' na 'Jan Kowalski', co sugeruje użytkownikowi, jak powinien wypełnić swoje imię i nazwisko. Jest to zgodne z dobrymi praktykami projektowania formularzy, które dążą do poprawy użyteczności i zmniejszenia liczby błędów użytkowników. Warto również zauważyć, że w przypadku formularzy, jeśli użytkownik zdecyduje się nie zmieniać tej wartości, atrybut 'value' sprawia, że odpowiedź zostanie przesłana w formularzu po jego wysłaniu. To podkreśla znaczenie predefiniowania wartości w kontekście UX, ponieważ dobrze zaprojektowane formularze mogą znacznie poprawić doświadczenia użytkowników.

Pytanie 16

Zapis CSS

margin: auto;
wskazuje, że marginesy są
A. dziedziczone z elementu nadrzędnego dla danego obiektu
B. obliczane przez przeglądarkę w taki sposób, aby element został wyśrodkowany poziomo
C. stałe dla konkretnej przeglądarki, niezależnie od rozmiaru jej okna
D. równe domyślnym wartościom marginesów elementu, do którego są przypisane
Wybór odpowiedzi, że marginesy są odziedziczone po elemencie rodzica, jest niepoprawny, ponieważ w CSS marginesy nie są dziedziczone tak jak inne właściwości, takie jak kolor tekstu czy czcionka. Marginesy są zazwyczaj stosowane jako zewnętrzna przestrzeń wokół elementów, a ich wartości są określane niezależnie od elementów rodzicielskich. Wartości marginesów są zdefiniowane dla danego elementu, a nie dziedziczone, co oznacza, że każde wystąpienie marginesu jest osobno specyficzne dla swojego elementu. Ponadto, stwierdzenie, że marginesy są stałe dla danej przeglądarki, niezależnie od rozmiaru jej okna, również jest błędne. CSS pozwala na elastyczne dopasowywanie marginesów i innych właściwości w zależności od układu strony i rozmiaru okna przeglądarki. Z kolei twierdzenie, że marginesy są równe domyślnym wartościom marginesów elementu, jest mylące, ponieważ domyślne wartości mogą różnić się w zależności od przeglądarki, a także są często nadpisywane przez style CSS. Typowym błędem myślowym jest zakładanie, że wszystkie właściwości CSS są dziedziczne, co prowadzi do nieporozumień w implementacji i projektowaniu układów stron. Warto zapoznać się z dokumentacją i standardami CSS, aby lepiej zrozumieć, jak działa model pudełkowy oraz właściwości marginesów.

Pytanie 17

Które z formatowań nie jest wyrażone w języku CSS?

A. Fragment pliku strona.html:
<style>
body { background-color: yellow; }
</style>
B. Fragment pliku formatowanie.css:
body { background-color: yellow; }
C. Fragment pliku strona.html:
<body bgcolor="yellow">
D. Fragment pliku strona.html:
<body style="background-color: yellow;" >
A. C.
B. B.
C. D.
D. A.
Twoja odpowiedź nie była prawidłowa. Pytanie dotyczyło rozróżnienia, które formatowanie nie jest wyrażone w języku CSS. W przypadku CSS, istotne jest zrozumienie, że jest to język wykorzystywany do opisu wyglądu strony internetowej napisanej w HTML. CSS pozwala na zapewnienie spójnego wyglądu dla różnych elementów na stronie, a także na dostosowanie wyglądu do różnych urządzeń i rozmiarów ekranu. Fragment A i fragment B pokazują styl wewnątrz dokumentu HTML oraz styl z zewnętrznego pliku CSS. Oba są prawidłowymi zastosowaniami CSS. W przypadku fragmentu D, mimo że jest to tzw. "inline CSS", który jest stosowany bezpośrednio do elementu HTML, nadal wykorzystuje składnię CSS. Błędem był wybór jednego z tych fragmentów jako odpowiedzi, ponieważ wszystkie wykorzystują CSS. Ostatecznie, jedynie fragment C nie używa CSS. Zamiast tego, używa przestarzałego atrybutu HTML "bgcolor" do określenia koloru tła. Ten atrybut nie jest elementem CSS i jest obecnie uważany za przestarzały. Przy projektowaniu stron internetowych, zaleca się stosowanie CSS zamiast bezpośredniego formatowania HTML, aby zapewnić większą kontrolę nad wyglądem i zachowaniem strony.

Pytanie 18

Hermetyzacja to zasada programowania obiektowego, która mówi, że

A. pola i metody dostępne tylko dla konkretnej klasy/obiektu mają zasięg ograniczony do private lub protected
B. klasy/obiekty mogą dzielić się funkcjonalnością
C. typy pól w klasach/obiektach mogą być zmieniane w sposób dynamiczny w zależności od przypisywanych danych
D. klasy/obiekty mogą definiować metody wirtualne, które są realizowane w klasach/obiektach pochodnych
Odpowiedzi sugerujące różne interpretacje hermetyzacji w programowaniu obiektowym zakładają błędne zrozumienie tej zasady. Wskazanie, że klasy mogą mieć metody wirtualne, które są implementowane w pochodnych klasach, odnosi się do polimorfizmu, a nie hermetyzacji. Polimorfizm pozwala na zdefiniowanie metod w klasie bazowej, które mogą być nadpisywane w klasach pochodnych, ale nie ma związku z ograniczeniem dostępu do danych. Z kolei twierdzenie, że typy pól w klasach mogą być dynamicznie zmieniane, wskazuje na nieporozumienie dotyczące typów statycznych i dynamicznych w kontekście języków programowania, gdzie typy pól są zazwyczaj ustalane w momencie kompilacji. Ponadto, stwierdzenie, że klasy mogą współdzielić ze sobą funkcjonalność, odnosi się do dziedziczenia oraz kompozycji, które są osobnymi konceptami w programowaniu obiektowym. W rzeczywistości, hermetyzacja jest bardziej związana z ochroną danych i zapewnieniem, że wewnętrzna logika klasy pozostaje nietknięta przez nieautoryzowane modyfikacje. Te nieporozumienia mogą prowadzić do istotnych problemów w architekturze aplikacji, gdzie niezrozumienie hermetyzacji skutkuje nadmiernym uzależnieniem od zewnętrznych interakcji oraz zwiększoną złożonością kodu. Zrozumienie hermetyzacji jest kluczowe, aby tworzyć kod, który jest nie tylko bardziej odporny na błędy, ale również łatwiejszy do utrzymania i rozwijania.

Pytanie 19

W dokumencie HTML umieszczono tekst sformatowany określonym stylem. Aby wprowadzić w treści kilka słów o zróżnicowanym stylu, należy użyć znacznika

A. <span>
B. <section>
C. <table>
D. <hr>
Wybór znaczników <section>, <table> i <hr> jako sposobów na wtrącenie fragmentów tekstu stylizowanych różnie od reszty treści jest niewłaściwy z technicznego punktu widzenia. Znacznik <section> jest przeznaczony do tworzenia sekcji dokumentu, co oznacza, że ma on znaczenie semantyczne i jest używany do grupowania treści, które dotyczą tego samego tematu. Użycie go do stylizacji pojedynczych słów może prowadzić do nieczytelności struktury dokumentu oraz negatywnie wpływać na dostępność treści. Z kolei znacznik <table> służy do tworzenia tabel, które organizują dane w wierszach i kolumnach, a więc jego zastosowanie w kontekście formatowania tekstu byłoby zarówno nieefektywne, jak i niezgodne z przeznaczeniem. Stosowanie <hr> natomiast, które definiuje poziomą linię, nie ma sensu w kontekście zmiany stylu tekstu, ponieważ jego funkcją jest oddzielanie sekcji treści, a nie stylizowanie tekstu. Wybierając nieodpowiednie znaczniki, możemy naruszyć zasady semantyki HTML, co prowadzi do problemów z dostępnością i SEO, a także do trudności w dalszej edycji oraz utrzymaniu kodu. Prawidłowe użycie znaczników jest kluczowym elementem dobrych praktyk w tworzeniu stron internetowych i wpływa na ich czytelność oraz zrozumienie przez różne urządzenia i technologie.

Pytanie 20

Interpreter PHP zgłosi błąd i nie zrealizuje kodu, jeśli programista

A. nie umieści średnika po wyrażeniu w instrukcji if, jeśli po nim występuje sekcja else
B. pobierze wartość z formularza, w którym pole input nie zostało wypełnione
C. będzie definiował zmienne w obrębie warunku
D. będzie pisał kod bez odpowiednich wcięć
Istnieje kilka mitów dotyczących składni PHP, które mogą prowadzić do błędnych wniosków. Wcięcia w kodzie PHP nie mają wpływu na wykonanie kodu, ponieważ PHP nie jest językiem, który wymaga stosowania wcięć w celu zdefiniowania bloków kodu. Wcięcia są stosowane dla czytelności kodu i organizacji, ale nie mają wpływu na jego działanie. Kolejnym powszechnym błędnym przekonaniem jest to, że brak średnika po instrukcji 'if' z sekcją 'else' jest jedynym problemem. Jednakże, PHP nie zgłasza błędu, jeśli programista deklaruje zmienne wewnątrz warunku; jest to dozwolone i często stosowane w praktyce. Przykład: 'if ($a > 10) { $b = $a; }' jest poprawny i będzie działał. Ostatni mit dotyczy błędów związanych z pobieraniem wartości z formularza. Jeśli pole input nie zostało wypełnione, PHP po prostu zwróci wartość null lub pusty ciąg, co jest zupełnie poprawne w kontekście działania skryptu. Nie prowadzi to do błędów wykonawczych, a programista powinien obsłużyć takie przypadki zgodnie z logiką aplikacji.

Pytanie 21

Jakie polecenie należy zastosować, aby cofnąć uprawnienia przyznane użytkownikowi?

A. DROP PRIVILEGES
B. REVOKE
C. GRANT NO PRIVILEGES
D. REMOVE
Użycie poleceń DELETE, DELETE PRIVILEGES oraz GRANT NO PRIVILEGES w kontekście odbierania uprawnień użytkownikom w bazach danych jest mylące i nieprawidłowe. DELETE jest poleceniem służącym do usuwania danych z tabeli, a jego zastosowanie w kontekście uprawnień nie ma sensu. Użytkownicy często mylą DELETE z operacjami zarządzania uprawnieniami, co prowadzi do nieprawidłowego wnioskowania o tym, jak zarządzać dostępem do danych. DELETE PRIVILEGES również nie jest uznawane za standardowe polecenie w systemach baz danych, co może prowadzić do nieporozumień dotyczących przyznawania i odbierania uprawnień. Na koniec, GRANT NO PRIVILEGES może wydawać się logiczne, ale w rzeczywistości jest to niepoprawna konstrukcja — system zarządzania bazą danych nie rozumie tej komendy jako efektywnego sposobu na odebranie uprawnień, co czyni ją bezużyteczną. W związku z tym, aby skutecznie zarządzać uprawnieniami, ważne jest, aby znać właściwe polecenia i ich zastosowanie, aby unikać nieporozumień oraz błędów w zarządzaniu dostępem do danych.

Pytanie 22

W programie Audacity, podczas edytowania dźwięku pozyskanego z płyty analogowej, konieczne jest usunięcie pojedynczych trzasków typowych dla płyt winylowych. Jakie narzędzie jest do tego celu przeznaczone?

A. Usuwanie stukotu (Click Removal)
B. Redukcja szumu (Noise Reduction)
C. Obwiednia (Envelope)
D. Normalizuj (Normalize)
Wybór narzędzi takich jak 'Obwiednia (Envelope)', 'Normalizuj (Normalize)' oraz 'Redukcja szumu (Noise Reduction)' wskazuje na nieporozumienie dotyczące funkcji tych opcji w programie Audacity. Narzędzie 'Obwiednia' służy do dynamicznej regulacji głośności dźwięku w czasie, co nie ma zastosowania w przypadku usuwania pojedynczych trzasków. Chociaż może być użyteczne w kontekście ogólnej edycji utworu, nie jest odpowiednie do eliminacji krótkotrwałych zakłóceń. Z kolei 'Normalizuj' ma na celu podniesienie poziomu głośności całego nagrania do maksymalnego poziomu bez zniekształceń, co może skutkować wzmocnieniem trzasków zamiast ich eliminacji. Używanie tego narzędzia przed usunięciem trzasków może sprawić, że będą one bardziej wyraźne, co jest przeciwnym efektem do zamierzonego. 'Redukcja szumu' jest narzędziem, które usuwa szumy tła, a nie krótkotrwałe dźwięki, takie jak trzaski. Chociaż może być użyta w procesie poprawy jakości nagrania, nie jest ona w stanie skutecznie rozwiązać problemu z trzaskami, które mają inną charakterystykę. W praktyce, nieodpowiedni wybór narzędzi prowadzi do nieefektywnej obróbki dźwięku, co może skutkować niezadowalającą jakością finalnego nagrania.

Pytanie 23

W języku JavaScript obiekt typu array jest wykorzystywany do przechowywania

A. wielu wartości lub funkcji.
B. wielu wartości wyłącznie liczbowych.
C. wielu wartości dowolnego typu.
D. wielu wartości wyłącznie tekstowych.
Wybierając odpowiedzi, które ograniczają typy danych do tylko jednej kategorii, można zauważyć, że są one niepoprawne. Obiekty typu array w JavaScript mogą przechowywać wartości dowolnego rodzaju, co wyklucza te odpowiedzi. Niepoprawna jest idea przechowywania tylko wielu wartości lub funkcji, ponieważ tablice są znacznie bardziej wszechstronne. Funkcje mogą być jedynie jednym z elementów tablicy, ale nie definiują jej głównej funkcji. Przechowywanie tylko wielu wartości wyłącznie liczbowych jest również błędne, ponieważ tablica może zawierać różnorodne typy danych, nie tylko liczby. Tak samo, ograniczenie do wartości wyłącznie tekstowych jest mylące, gdyż tablica może przechowywać obiekty, inne tablice oraz liczby. Przykładowo, w tablicy można mieć mieszankę różnych typów danych takich jak: let mixedArray = [1, 'tekst', true, {key: 'value'}, [5, 6, 7]]; co pokazuje, że tablice są zdolne do przechowywania różnorodnych informacji. W związku z tym, ograniczenie do pojedynczych typów danych nie oddaje w pełni potencjału, jaki oferują tablice w JavaScript, co jest kluczowe dla ich użyteczności w programowaniu.

Pytanie 24

Jak można zmodyfikować nałożone na siebie fragmenty obrazu, nie zmieniając innych elementów?

A. Warstwy
B. Wykres histogramu
C. Przycinanie
D. Kanał przezroczystości
Kadrowanie obrazu polega na przycinaniu jego części, co negatywnie wpływa na elastyczność edycji. Gdy fragment obrazu zostanie wykadrowany, nie ma już możliwości jego modyfikacji, co jest dużym ograniczeniem, jeżeli chcemy edytować poszczególne elementy. Histogram odnosi się do analizy jasności oraz kolorystyki w obrazie, co nie ma bezpośredniego związku z edytowaniem nakładających się fragmentów obrazu. Histogram pozwala na dostosowanie tonacji i kontrastu, ale nie umożliwia precyzyjnej edycji konkretnych obszarów obrazu. Kanał alfa jest wykorzystywany do reprezentacji przezroczystości w grafice rastrowej, ale sam w sobie nie jest wystarczający do edytowania nakładających się obrazów. Choć kanał alfa może być pomocny w pracy z przezroczystościami, nie zastępuje funkcjonalności warstw, które pozwalają na pełną kontrolę nad poszczególnymi elementami obrazu. Typowe błędy myślowe prowadzące do takich niepoprawnych wniosków to mylenie różnych technik edycji oraz brak zrozumienia ich specyficznych zastosowań w praktyce graficznej. Właściwe podejście do edycji grafiki wymaga znajomości narzędzi i ich funkcji, a także umiejętności ich łączenia w celu osiągnięcia zamierzonych efektów wizualnych.

Pytanie 25

Którego formatu należy użyć do zapisu zdjęcia z kompresją stratną?

A. PCX
B. GIF
C. JPEG
D. PNG
Format JPEG (Joint Photographic Experts Group) jest powszechnie stosowany do zapisu obrazów z kompresją stratną, co oznacza, że ​​część danych jest usuwana, aby zmniejszyć rozmiar pliku. JPEG jest szczególnie efektywny w przypadku fotografii i obrazów z wieloma kolorami oraz gradientami, gdzie niewielka utrata jakości jest akceptowalna dla użytkowników. Ten format kompresji stratnej działa na zasadzie analizy obrazu i eliminacji informacji, które są mniej zauważalne dla ludzkiego oka, co pozwala na znaczne zmniejszenie rozmiaru pliku. Przykładem zastosowania JPEG jest publikacja zdjęć w sieci, gdzie prędkość ładowania strony ma duże znaczenie. W praktyce format JPEG jest szeroko stosowany w mediach społecznościowych, portalach internetowych i w fotografii cyfrowej, co czyni go jednym z najpopularniejszych formatów graficznych. Dodatkowo, JPEG wspiera różne profile kolorów, co pozwala na lepszą reprezentację kolorystyczną w różnych urządzeniach wyjściowych, takich jak monitory i drukarki, co jest zgodne z najlepszymi praktykami w dziedzinie obróbki obrazu.

Pytanie 26

W danej tabeli pracownicy, polecenie MySQL eliminujące wszystkie wpisy, dla których nie została wypełniona kolumna rodzaj_umowy, ma następującą formę

A. DROP pracownicy WHERE rodzaj_umowy IS NULL;
B. DELETE FROM pracownicy WHERE rodzaj_umowy IS NULL;
C. DELETE pracownicy WHERE rodzaj_umowy = 'brak';
D. DROP pracownicy FROM rodzaj_umowy = 0;
W odpowiedziach, które zostały uznane za błędne, można dostrzec kilka istotnych nieporozumień dotyczących użycia poleceń SQL. Przykładowo, polecenie "DELETE pracownicy WHERE rodzaj_umowy = 'brak';" sugeruje, że chcesz usunąć pracowników z tabeli, którzy mają zaznaczoną wartość 'brak'. Jednak, w kontekście baz danych, wartość NULL jest odmienna od wartości tekstowej. NULL oznacza brak jakiejkolwiek wartości, co nie jest tożsame z wartością 'brak'. W związku z tym to zapytanie nie zwróci żadnych rezultatów, ponieważ nie identyfikuje rekordów, których pole 'rodzaj_umowy' jest puste. Inna odpowiedź, "DROP pracownicy WHERE rodzaj_umowy IS NULL;" jest również niepoprawna, ponieważ komenda DROP służy do usuwania całej tabeli, a nie poszczególnych rekordów. Zastosowanie WHERE w tym kontekście jest niewłaściwe, co prowadzi do całkowitego usunięcia tabeli, a nie do usunięcia tylko określonych wierszy. Z kolei "DROP pracownicy FROM rodzaj_umowy = 0;" także wykazuje fundamentalne błędy, ponieważ DROP jest używane do usuwania obiektów bazy danych, a nie do operacji na danych. Użycie FROM jest również niepoprawne w kontekście DROP, co wskazuje na niewłaściwe zrozumienie składni SQL. Tego rodzaju pomyłki mogą prowadzić do poważnych konsekwencji, takich jak utrata danych czy zniszczenie struktury bazy danych, dlatego niezwykle istotne jest zrozumienie podstawowych różnic między poszczególnymi poleceniami oraz ich zastosowaniem w praktyce.

Pytanie 27

Jakim poleceniem SQL można zlikwidować z tabeli artykuly wiersze, które zawierają słowo "sto" w dowolnej lokalizacji pola tresc?

A. DELETE FROM artykuly WHERE tresc LIKE "%sto%"
B. DELETE FROM artykuly WHERE tresc = "%sto%"
C. DELETE * FROM artykuly WHERE tresc = "%sto%"
D. DELETE * FROM artykuly WHERE tresc LIKE "%sto%"
Odpowiedź "DELETE FROM artykuly WHERE tresc LIKE '%sto%';" jest okej, bo używasz operatora LIKE. To pozwala na szukanie wzorców w tekście. W SQL to polecenie usunie wszystkie wiersze z tabeli 'artykuly', które mają słowo 'sto' w polu 'tresc', niezależnie od tego, gdzie się ono znajduje. Te znaki procentu (%) przed i po 'sto' to takie wildcardy, które mogą oznaczać dowolny tekst przed lub po. To zgodne z dobrymi praktykami programowania w SQL, gdzie można używać LIKE, gdy nie mamy ściśle określonego formatu. Na przykład, takie zapytanie może się przydać, żeby usunąć artykuły z niepożądanym zwrotem, co ma znaczenie przy moderowaniu treści na stronach internetowych.

Pytanie 28

Który z poniższych typów plików jest plikiem rastrowym?

A. TIFF
B. SVG
C. SWF
D. CDR
Wybór innych formatów plików, takich jak SVG, SWF czy CDR, wskazuje na nieporozumienia dotyczące klasyfikacji formatów graficznych. SVG (Scalable Vector Graphics) to wektorowy format graficzny, który umożliwia tworzenie grafiki opartej na matematycznych kształtach, co czyni go idealnym do tworzenia logo i ikon. Jego elastyczność i skalowalność są kluczowe w projektach, gdzie jakość obrazu musi być zachowana niezależnie od rozmiaru. Natomiast SWF (Shockwave Flash) był używany do animacji i interaktywnych aplikacji w internecie, ale nie jest formatem graficznym w tradycyjnym sensie, a jego użyteczność spadła wraz z deprecjacją technologii Flash. CDR to natomiast format pliku stworzony przez CorelDRAW, który jest narzędziem do tworzenia grafiki wektorowej. Wybierając te formaty jako odpowiedzi, można mylnie zinterpretować, że są one związane z grafiką rastrową, podczas gdy każdy z nich ma inną specyfikę i zastosowanie. Zrozumienie różnicy między formatami rastrowymi a wektorowymi jest kluczowe dla każdego, kto pracuje z grafiką komputerową. Typowe błędy w myśleniu obejmują mylenie grafiki wektorowej z rastrową lub błędne przypisanie funkcji do formatów, co prowadzi do nieoptymalnych wyborów w kontekście projektowania graficznego.

Pytanie 29

Komunikat błędu generowany przez walidator HTML może wskazywać na

A. brak zamknięcia znaczników zagnieżdżonych wewnątrz znacznika <p> przed jego zakończeniem
B. zamknięciu znacznika <p>, mimo że wcześniej nie był on otwarty
C. niezgodną ilość znaczników <p> otwartych i zamkniętych
D. brak zamknięcia znacznika <p>
Błąd mówi, że zamknąłeś znacznik <p>, ale niektóre znaczniki wewnętrzne, jak <a>, pozostają otwarte. To nie chodzi o to, żeby zamknąć <p> bez wcześniejszego otwarcia, ale o to, że musisz zamknąć wszystkie zagnieżdżone znaczniki przed zamykaniem nadrzędnego. Jeśli to zrobisz, to wszystko powinno działać lepiej i strona powinna się wyświetlać tak, jak chcesz.

Pytanie 30

Jaką integralność określa przytoczona definicja?

Ilustracja do pytania
A. Referencyjną
B. Encji
C. Statyczną
D. Semantyczną
Integralność encji odnosi się do unikalności danych w tabeli poprzez klucze główne. Jest to fundamentalna koncepcja w relacyjnych bazach danych polegająca na tym że każda encja czyli rekord w tabeli musi być jednoznacznie identyfikowalna. Klucz główny zapewnia tę unikalność co jest niezależne od relacji między tabelami opisywanych przez integralność referencyjną. Pojęcie integralności statycznej odnosi się do stanu danych który nie zmienia się w czasie co nie jest bezpośrednio związane z relacjami pomiędzy tabelami. Integralność statyczna może odnosić się do historycznych danych lub archiwów gdzie dane muszą pozostać niezmienne po ich zarejestrowaniu. Podczas gdy integralność referencyjna dotyczy dynamicznych relacji między różnymi zestawami danych integralność statyczna wiąże się z zachowaniem niezmienności danych w obrębie pojedynczego zbioru. Integralność semantyczna odnosi się natomiast do znaczenia i logiki biznesowej danych. Chodzi o zapewnienie że dane w bazie są zgodne z regułami i założeniami biznesowymi. Na przykład data urodzenia nie może być późniejsza niż data zatrudnienia. Chociaż integralność semantyczna jest ważna dla poprawności danych z punktu widzenia aplikacji biznesowej nie opisuje ona relacji między tabelami w taki sposób jak integralność referencyjna. Właściwe rozumienie tych różnych koncepcji jest kluczowe dla projektowania i utrzymania spójnych i niezawodnych systemów baz danych.

Pytanie 31

ALTER TABLE artykuły MODIFY cena float; Ta kwerenda ma na celu wprowadzenie zmian w tabeli artykuły.

A. usunięcie kolumny cena o typie float
B. dodanie kolumny cena o typie float, o ile nie istnieje
C. zmiana typu na float dla kolumny cena
D. zmiana nazwy kolumny cena na float
Odpowiedź była trafna, bo dotyczyła zmiany typu danych w kolumnie w tabeli. Kiedy piszesz 'ALTER TABLE artykuły MODIFY cena float;', to tak naprawdę modyfikujesz kolumnę 'cena', żeby mogła przyjmować liczby zmiennoprzecinkowe. Używanie typu float jest naprawdę przydatne, gdyż ceny często mają wartości z przecinkiem, więc nie ma sensu tego trzymać w innym formacie. Z mojego doświadczenia, takie zmiany są ważne, bo pomagają w dokładnym przechowywaniu danych, co jest kluczowe w przy aplikacjach związanych z finansami czy sprzedażą online. Ale pamiętaj, że warto zawsze mieć kopię zapasową, bo jeśli masz już jakieś dane, które się nie zmieszczą w nowym typie, to może być kłopot. Generalnie, używanie 'ALTER TABLE' to podstawowa rzecz w zarządzaniu bazami danych i dobrze wiedzieć, co się robi.

Pytanie 32

W CSS wartości: underline, overline, blink są powiązane z atrybutem

A. text-decoration
B. font-style
C. font-weight
D. text-style
Atrybut text-style to w zasadzie fikcja w CSS, bo takiego czegoś po prostu nie ma w specyfikacji. Owszem, CSS daje nam różne opcje do stylizacji tekstu, ale text-style to nie jest jedna z nich. Lepiej skupić się na text-decoration, font-style czy font-weight, bo to już są realne właściwości. Na przykład, font-style pozwala wybrać styl czcionki, jak normal, italic albo oblique, ale nie zrobisz tym efektów dekoracyjnych, takich jak podkreślenie czy nadkreslenie. Z kolei font-weight dotyczy grubości czcionki, ale też nie ma nic wspólnego z dekoracją tekstu. Wartości, które tam znajdziesz, jak normal, bold czy bolder, odnoszą się raczej do samego kroju pisma. Więc jeśli chodzi o dekorację, to musisz używać text-decoration, bo to właśnie do tego zostało stworzone, a inne właściwości mają zupełnie inne zastosowania.

Pytanie 33

Znacznik <s> w HTML generuje

A. podkreślenie tekstu
B. migotanie tekstu
C. przekreślenie tekstu
D. pochylenie tekstu
Wybrałeś odpowiedź o pochyleniu tekstu, ale to nie jest poprawne. Do pochylenia używamy znaczników <em> lub <i>, a one mają trochę inne zadanie. Pochylenie tekstu zazwyczaj wyróżnia ważne elementy, co różni się od przekreślenia. A migotanie tekstu, chociaż może fajnie wygląda, to nie jest wspierane w HTML i zazwyczaj osiąga się to przez CSS, co nie jest najlepszym pomysłem z punktu widzenia dostępności. Może to frustrować użytkowników i nawet powodować problemy zdrowotne, na przykład migreny. Co do podkreślenia, to jest robione przez znacznik <u>, który też ma inne przeznaczenie. Często ludzie mylą podkreślenie z przekreśleniem, bo oba zmieniają wygląd, ale ich znaczenie jest inne. Podkreślenie sugeruje link, co też może wprowadzać zamieszanie. Takie nieporozumienia mogą wynikać z braku zrozumienia, jak działają znaczniki HTML oraz jak je stosować w praktyce, by tworzyć treści, które są zrozumiałe i dostępne. Dobre używanie znaczników poprawia nie tylko estetykę, ale też wspiera standardy dostępności, co jest naprawdę istotne w nowoczesnym projektowaniu stron.

Pytanie 34

Dla strony internetowej stworzono grafikę rysunek.jpg o wymiarach: szerokość 200 px, wysokość 100 px. Jak można wyświetlić tę grafikę jako miniaturę – pomniejszoną z zachowaniem proporcji, używając znacznika?

A. <img src="rysunek.png" style="width: 25px; height:50px;">
B. <img src="rysunek.png">
C. <img src="rysunek.png" style="width: 50px">
D. <img src="rysunek.png" style="width: 25px; height:25px;">
No dobra, ta odpowiedź <img src="rysunek.png" style="width: 50px"> jest w porządku, bo ustawia szerokość grafiki na 50 pikseli. Dzięki temu zachowujemy proporcje oryginalnego rysunku, który ma rozmiar 200x100 pikseli. Jak zmniejszymy szerokość do 50 px, to automatycznie zmniejsza się też wysokość, więc dostajemy miniaturkę 50x25 px. To jest mega istotne, kiedy budujemy responsywne strony, które muszą się dobrze wyświetlać na różnych urządzeniach. Korzystanie z CSS do ogarniania wielkości obrazków to najlepsza praktyka w web devie, bo dzięki temu możemy elastycznie dopasować treści do różnych ekranów. No i nie zapominajmy o dostępności – zasady mówią, że zachowanie proporcji jest ważne, bo źle skompresowane lub rozciągnięte obrazy mogą sprawić problem osobom z ograniczeniami wzrokowymi.

Pytanie 35

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

A. document.getElementById(id).innerHTML = <nowa wartość>
B. document.getElementById(id).<nazwa-atrybutu> = <nowa wartość>
C. document.getElementById(id).style.<nazwa właściwości> = <nowa wartość>
D. document.getElementById(id).<nazwa właściwości> = <nowa wartość>
Odpowiedź "document.getElementById(id).style.<nazwa właściwości> = <nowa wartość>;" jest poprawna, ponieważ umożliwia bezpośrednią modyfikację stylu CSS elementu HTML o określonym identyfikatorze. Przy użyciu metody getElementById() uzyskujemy dostęp do konkretnego elementu w DOM (Document Object Model), a następnie poprzez właściwość style, możemy zmieniać różne atrybuty CSS. Na przykład, aby zmienić kolor tła elementu, możemy napisać: document.getElementById('myElement').style.backgroundColor = 'red';. Wartością, którą przypisujemy, jest odpowiednia właściwość CSS, co czyni ten sposób zgodnym z dobrymi praktykami w programowaniu JavaScript. Dodatkowo, korzystając z tej metody, możemy dynamicznie dostosowywać styl elementów na stronie w odpowiedzi na interakcje użytkownika, co jest kluczowe w nowoczesnych aplikacjach webowych. Warto też zauważyć, że zmiany dokonane w ten sposób są natychmiast widoczne na stronie, co przyczynia się do lepszego doświadczenia użytkownika.

Pytanie 36

Jak brzmi nazwa edytora, który wspiera proces tworzenia stron internetowych i którego działanie można określić w polskim tłumaczeniu słowami: widzisz to, co otrzymujesz?

A. IDE
B. WEB STUDIO
C. WYSIWYG
D. VISUAL EDITOR
IDE, czyli Integrated Development Environment, to zintegrowane środowisko programistyczne, które oferuje narzędzia dla programistów do pisania, testowania i debugowania kodu. IDE zazwyczaj skupia się na językach programowania i wymaga od użytkownika znajomości takich języków jak C++, Java czy Python, co znacznie różni się od podejścia WYSIWYG, które ma na celu umożliwienie edycji treści bez potrzeby pisania kodu. Wybór IDE zamiast edytora WYSIWYG może prowadzić do błędnych wniosków dotyczących procesu tworzenia stron internetowych, ponieważ programiści i twórcy treści mają różne potrzeby i umiejętności. WEB STUDIO to termin, który zazwyczaj odnosi się do kompleksowych narzędzi do tworzenia stron internetowych, ale niekoniecznie oznacza edytor WYSIWYG. Niektóre z tych narzędzi mogą wymagać znajomości kodu, co również nie pasuje do koncepcji WYSIWYG. VISUAL EDITOR to termin ogólny, który może odnosić się do różnych typów edytorów, ale nie jest ściśle związany z ideą WYSIWYG. Pominięcie tego aspektu może prowadzić do mylnych wyobrażeń o możliwościach i funkcjonalności tych narzędzi. Dlatego ważne jest, aby zrozumieć różnice między tymi pojęciami i znać ich zastosowanie w praktyce. W przeciwnym razie można łatwo wpaść w pułapkę myślenia, że wszystkie narzędzia do tworzenia treści są sobie równe, co jest dalekie od prawdy.

Pytanie 37

W modelu kolorów RGB kolor żółty powstaje z połączenia zielonego i czerwonego. Który kod szesnastkowy przedstawia kolor żółty?

A. #00FFFF
B. #FFFF00
C. #FF00FF
D. #F0F0F0
Pierwszy z kodów szesnastkowych, który zawiera #FF00FF, reprezentuje kolor magenta. Magenta powstaje z połączenia pełnego czerwonego i niebieskiego, przy zerowej intensywności zielonego, co sprawia, że nie jest to kolor żółty. Z kolei kod #00FFFF to kolor cyjan, który uzyskuje się z połączenia pełnego zielonego i niebieskiego, co również nie prowadzi do uzyskania żółtego. Ostatni z kodów, #F0F0F0, to odcień szarości o wysokiej jasności, co oznacza, że jego składowe RGB są prawie równe, ale zdecydowanie nie są odpowiednie dla uzyskania koloru żółtego. Warto zauważyć, że korzystając z tych kodów w projektach graficznych, można łatwo pomylić się, jeśli nie zrozumie się, jak poszczególne kolory są tworzone z podstawowych składowych RGB. Zrozumienie tego systemu kolorów jest kluczowe dla każdego, kto projektuje w cyfrowym środowisku, ponieważ różne kolory mają różne zastosowania i znaczenia, które mogą wpływać na odbiór wizualny projektu.

Pytanie 38

Poniżej przedstawiono fragment kodu obsługującego

<?php
if ( !isset($_COOKIE[$nazwa]) )
  echo "nie ustawiono!";
else
  echo "ustawiono, wartość: " . $_COOKIE[$nazwa];
?>
A. zmiennych tekstowych
B. ciasteczek
C. baz danych
D. sesji
Odpowiedzi takie jak "bazy danych", "zmiennych tekstowych" oraz "sesji" są niepoprawne, ponieważ w kontekście podanego kodu nie odnoszą się one do rzeczywistości przedstawionej w pytaniu. Bazy danych służą do trwałego przechowywania danych, ale nie są związane z tym, co jest opisane w kodzie. Kod PHP nie ma nic wspólnego z operacjami na bazach danych, takimi jak SQL, ani z mechanizmami przechowywania danych w relacyjnych bazach danych. Zmienne tekstowe to pojęcie ogólne, które nie oddaje sedna zagadnienia - kod nie operuje na zmiennych tekstowych w kontekście przetwarzania danych, lecz na ciasteczkach, które są szczególnym przypadkiem przechowywania informacji w przeglądarkach. Sesje, z kolei, są innym mechanizmem przechowywania informacji, który pozwala na utrzymanie stanu aplikacji pomiędzy różnymi żądaniami HTTP. Sesje są przechowywane po stronie serwera, a identyfikator sesji jest zazwyczaj przechowywany w ciasteczkach. W tym przypadku odpowiedzi te są mylące, ponieważ nie uwzględniają kluczowej różnicy między ciasteczkami a mechanizmami przechowywania danych, jak sesje czy bazy danych. Typowy błąd myślowy polega na myleniu ciasteczek z innymi formami przechowywania, co można zauważyć w kontekście użycia ciasteczek do identyfikacji użytkownika lub sesji. Zrozumienie różnic pomiędzy tymi pojęciami jest istotne dla skutecznego programowania w PHP oraz budowy aplikacji webowych.

Pytanie 39

Jakie są właściwe etapy tworzenia bazy danych?

A. Zdefiniowanie celu, normalizacja, stworzenie tabel, utworzenie relacji
B. Zdefiniowanie celu, normalizacja, utworzenie relacji, stworzenie tabel
C. Zdefiniowanie celu, utworzenie relacji, stworzenie tabel, normalizacja
D. Zdefiniowanie celu, stworzenie tabel, utworzenie relacji, normalizacja
Wybór nieprawidłowej kolejności procesów w tworzeniu bazy danych może prowadzić do poważnych problemów z integralnością oraz wydajnością systemu. W pierwszym przypadku, w którym normalizację wprowadzono przed utworzeniem relacji, brak byłby zrozumienia, jakie dane w ogóle należy normalizować, co mogłoby skutkować nieefektywnym modelowaniem danych. Proces normalizacji powinien odbywać się po zdefiniowaniu tabel oraz relacji, ponieważ to one stanowią bazę do analizy nadmiarowości. W innym scenariuszu, gdzie tabele zostałyby stworzone przed ustaleniem relacji, mogłoby to prowadzić do niezgodności danych, ponieważ relacje definiują, jak poszczególne tabele współdziałają. Bez zrozumienia tych zależności, konstrukcja tabel może być chaotyczna i trudna do zarządzania. Ostatni przypadek, w który normalizacja poprzedza tworzenie tabel, jest również błędny, ponieważ nie można normalizować danych, które nie zostały jeszcze zdefiniowane. Normalizacja wymaga pełnej wiedzy na temat struktury danych, co czyni ten krok niemożliwym do wykonania bez wcześniejszego określenia tabel. Te błędy w kolejności działań mogą prowadzić do wielu problemów w przyszłości, takich jak trudności w zapytaniach do bazy danych, nieefektywności w przechowywaniu danych oraz trudności z zachowaniem integralności referencyjnej.

Pytanie 40

Wskaż, który z poniższych jest poprawnym zapisem zmiennej w języku JavaScript.

A. var $name@ = 10;
B. let variableName = 10;
C. const var-name = 10;
D. var 2nameVar = 10;
W JavaScript istnieje kilka zasad dotyczących nazywania zmiennych, które są kluczowe dla poprawnego działania kodu. Zmienna nie może zaczynać się od cyfry, co jest błędem w przypadku zapisu <code>var 2nameVar = 10;</code>. Numer na początku nazwy zmiennej jest zabroniony, ponieważ może prowadzić do niejednoznaczności w rozumieniu kodu przez interpreter. Z kolei <code>const var-name = 10;</code> jest błędny z powodu użycia znaku minus, który nie jest dozwolony w nazwach zmiennych. Znak minus jest interpretowany jako operator, co powoduje, że taki zapis jest nieprawidłowy. Kolejna niepoprawna opcja to <code>var $name@ = 10;</code>. Chociaż znak dolara jest dozwolony w nazwach zmiennych, to znak <code>@</code> już nie. Użycie niedozwolonych znaków w nazwach zmiennych jest częstym błędem początkujących programistów, którzy nie są zaznajomieni z pełnym zakresem dozwolonych symboli. Moim zdaniem, zrozumienie tych zasad jest kluczowe, aby uniknąć typowych pułapek w programowaniu. Dodatkowo, stosowanie się do standardowych konwencji nazewnictwa, takich jak camelCase, poprawia czytelność i zrozumiałość kodu, co jest istotne w pracy zespołowej i podczas utrzymania większych projektów. Warto pamiętać, że przestrzeganie dobrych praktyk programistycznych nie tylko zapobiega błędom, ale również ułatwia rozwój i testowanie aplikacji.