Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 7 maja 2026 23:20
  • Data zakończenia: 7 maja 2026 23:52

Egzamin niezdany

Wynik: 15/40 punktów (37,5%)

Wymagane minimum: 20 punktów (50%)

Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Które z poniższych poleceń pozwala na dodanie kolumny zadanie_kompletne do tabeli zadania?

A. ADD COLUMN zadanie_kompletne WITH zadania
B. ALTER TABLE zadania ADD COLUMN zadanie_kompletne int
C. CREATE INDEX zadania ADD COLUMN zadanie_kompletne int
D. INSERT INTO zadania VALUES zadanie_kompletne
Wszystkie trzy pozostałe odpowiedzi są nieprawidłowe w kontekście dodawania nowej kolumny do tabeli. Pierwsze z zaproponowanych poleceń, które sugeruje utworzenie indeksu, jest niepoprawne, ponieważ CREATE INDEX służy do tworzenia indeksów, które poprawiają wydajność zapytań, a nie do modyfikacji struktury tabeli. Indeks może być pomocny w optymalizacji wyszukiwania danych w tabeli, jednak nie ma związku z dodawaniem nowych kolumn. Drugie polecenie, INSERT INTO, jest przeznaczone do dodawania nowych rekordów do istniejącej tabeli, a nie do modyfikacji jej struktury. To polecenie umożliwia dodawanie danych do kolumn, które już istnieją, ale nie może być użyte do dodawania nowych kolumn. Ostatnia nieprawidłowa odpowiedź dotycząca 'ADD COLUMN zadanie_kompletne WITH zadania' jest również błędna, ponieważ nie jest to poprawna składnia SQL. Nie ma polecenia 'WITH' w kontekście dodawania kolumn do tabeli; zamiast tego powinno być używane polecenie ALTER TABLE. W rezultacie, niezrozumienie celu każdego z tych poleceń może prowadzić do błędnych prób modyfikacji struktury bazy danych, co w praktyce może skutkować utratą danych lub rozczarowującymi wynikami operacji.

Pytanie 2

W języku JavaScript zapisano poniższy fragment kodu. `````` Po uruchomieniu skryptu zmienna x

A. będzie miała wartość 11 i zostanie wyświetlona w oknie popup
B. będzie miała wartość 10 i zostanie pokazana w dokumencie HTML
C. będzie miała wartość 11 i zostanie wyświetlona w konsoli przeglądarki internetowej
D. będzie miała wartość 10 i zostanie wyświetlona w głównym oknie przeglądarki internetowej
W analizowanym fragmencie kodu JavaScript mamy do czynienia z prostą operacją inkrementacji zmiennej x, która początkowo wynosi 10. Operator ++ zwiększa wartość zmiennej o 1, co skutkuje wartością 11. Wartością, która zostanie wyświetlona, jest wartość zmiennej x, która po inkrementacji wynosi 11. Jednak ważnym aspektem jest to, że w kodzie jest błąd składniowy w wywołaniu funkcji console.log. Poprawna składnia powinna wyglądać tak: console.log(x); zamiast console.logx);. W obecnej formie kodu, mimo inkrementacji zmiennej x do wartości 11, pojawi się błąd wykonania, a wartość nie zostanie wypisana. Gdyby błąd został naprawiony, wynik 11 zostałby wyświetlony w konsoli przeglądarki, co jest standardowym miejscem do monitorowania wyjścia w aplikacjach JavaScript. To zachowanie jest zgodne ze specyfikacjami ECMAScript, które definiują zasady działania operatorów oraz metod konsoli.

Pytanie 3

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

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

Pytanie 4

W języku HTML, aby uzyskać efekt taki jak na przykładzie, należy zastosować konstrukcję

Duży tekst zwykły tekst

A. <p><big>Duży tekst</p> zwykły tekst
B. <p><strike>Duży tekst zwykły tekst</p>
C. <p><big>Duży tekst</big> zwykły tekst</p>
D. <p><strike>Duży tekst</strike> zwykły tekst</p>
Pierwsza z niepoprawnych odpowiedzi wykorzystuje znacznik <big> w kontekście niewłaściwego zamknięcia. Brak zamknięcia tagu <big> czyni tę konstrukcję błędną. Semantycznie, HTML wymaga, aby wszystkie znaczniki były odpowiednio otwarte i zamknięte dla prawidłowego renderowania. Kolejna odpowiedź stosuje znacznik <strike>, który jest przeznaczony do oznaczania tekstu, który był kiedyś aktualny, ale nie jest już taki. Użycie <strike> w tym kontekście jest nieodpowiednie, ponieważ celem jest zwiększenie widoczności tekstu, a nie jego skreślenie. Ostatnia z odpowiedzi również korzysta z tagu <strike>, co prowadzi do podobnego efektu, gdzie tekst jest skreślony, a nie powiększony. Takie podejście nie tylko wprowadza w błąd czytelników, ale także nie spełnia wymogów dostępności, ponieważ nie przekazuje intencji autora tekstu. Poprawne użycie HTML powinno koncentrować się na semantyce i dostępności, a nie na wizualnych efektach, które są efektywniej osiągane przez CSS.

Pytanie 5

W SQL klauzula DISTINCT w poleceniu SELECT zapewnia, że zwrócone wyniki

A. będą zgrupowane według wskazanego pola.
B. będą uporządkowane.
C. będą spełniały dany warunek.
D. nie zawiera będą duplikatów.
Klauzula DISTINCT w języku SQL jest używana w instrukcji SELECT do eliminacji duplikatów w zwracanych wynikach zapytania. Gdy zapytanie wykorzystuje DISTINCT, zwracane są tylko unikalne rekordy, co oznacza, że identyczne wiersze występujące w zestawie wyników są redukowane do jednego wystąpienia. Działa to poprzez porównywanie wszystkich kolumn wymienionych w SELECT, co oznacza, że różnice w jakiejkolwiek kolumnie będą skutkować zwróceniem oddzielnych wierszy. Przykładowe zapytanie: SELECT DISTINCT nazwisko FROM pracownicy; zwróci listę unikalnych nazwisk pracowników, eliminując wszelkie powtórzenia. Klauzula DISTINCT jest szczególnie przydatna w raportach i analizach danych, gdyż pozwala na zrozumienie częstotliwości występowania różnych wartości. Zgodnie z SQL ANSI, użycie DISTINCT jest standardem, co oznacza, że jest obsługiwane przez wszystkie główne systemy zarządzania bazami danych, takie jak MySQL, PostgreSQL czy Oracle. Warto jednak pamiętać, że dodanie DISTINCT do zapytania może wpływać na wydajność, zwłaszcza w przypadku dużych zbiorów danych, ponieważ wymaga dodatkowych operacji przetwarzania, aby zidentyfikować i usunąć duplikaty.

Pytanie 6

Aby poprawnie skomentować linię kodu w języku JavaScript, należy po znakach // wprowadzić komentarz x = Math.max(a,b,c); //

A. wybór wartości maksymalnej spośród zmiennych a, b oraz c
B. w zmiennej x minimalna wartość ze zmiennych a, b, c
C. nieprawidłowe dane
D. w zmiennej x maksymalna wartość ze zmiennych a, b, c
W analizowanych odpowiedziach znajdują się stwierdzenia, które nie oddają rzeczywistego działania funkcji wykorzystywanej w tej linii kodu. Stwierdzenie dotyczące wyboru losowej wartości ze zmiennych a, b i c jest błędne, ponieważ funkcja Math.max nie dokonuje wyboru losowego, ale precyzyjnie analizuje wartości i zwraca największą z nich. Takie myślenie może prowadzić do poważnych nieporozumień w kontekście programowania, gdzie deterministyczne wyniki są kluczowe. Inne z kolei stwierdzenie, że w zmiennej x znajduje się minimalna wartość ze zmiennych a, b, c, jest całkowicie sprzeczne z logiką funkcji Math.max, która z definicji nakazuje jej zwracać maksymalną, a nie minimalną wartość. Użytkownik, bazując na tym błędnym rozumowaniu, mógłby wprowadzić niepoprawne dane do dalszego przetwarzania. Natomiast ostatnia błędna odpowiedź sugerująca, że zmienna x zawiera maksymalną wartość bez uwzględnienia kontekstu, jest niepoprawna w tym sensie, że nie precyzuje, iż funkcja Math.max porównuje konkretnie wartości a, b i c. Aby uniknąć takich nieporozumień, ważne jest zrozumienie mechanizmu działania wbudowanych funkcji w JavaScript oraz ich zastosowania w praktyce.

Pytanie 7

Jak określa się proces przekształcania informacji zawartych w dokumencie elektronicznym na format odpowiedni dla konkretnego środowiska?

A. Renderowanie
B. Teksturowanie
C. Mapowanie
D. Rasteryzacja
Wybór mapowania, rasteryzacji lub teksturowania jako odpowiedzi na pytanie o proces przedstawienia informacji zawartych w dokumencie elektronicznym jest niepoprawny, gdyż każdy z tych terminów odnosi się do innego aspektu przetwarzania obrazu lub informacji. Mapowanie to proces, który zazwyczaj odnosi się do przypisywania współrzędnych w przestrzeni 3D do punktów na powierzchni obiektu. W kontekście grafiki komputerowej, mapowanie jest często używane w kontekście mapowania tekstur na 3D obiektach, co jest tylko jednym z wielu kroków w procesie renderowania, ale samo w sobie nie generuje wizualnej reprezentacji. Rasteryzacja to technika przekształcania wektorowych reprezentacji obrazów w piksele. Choć rasteryzacja jest istotnym krokiem w procesie renderowania, nie jest to cały proces, lecz jeden z jego etapów, który zamienia obiekt 3D na obraz 2D, co również nie odnosi się bezpośrednio do przedstawienia informacji zawartych w dokumencie elektronicznym. Teksturowanie natomiast to technika nadawania kolorów i detali powierzchniom obiektów 3D, a także nie jest to proces końcowy, lecz bardziej jest to część szerokiego procesu renderowania, który poprawia wizualną jakość obiektów. Każda z tych technik ma swoje specyficzne zastosowanie, ale nie odpowiadają na pytanie o przekształcanie informacji do formy wizualnej, co jest domeną renderowania.

Pytanie 8

W jaki sposób zostanie uporządkowana lista, stworzona z wszystkich kolumn tabeli uczniowie, zawierająca uczniów z średnią powyżej 5, która zostanie zwrócona jako rezultat przedstawionego zapytania?

Ilustracja do pytania
A. Rosnąco według parametru srednia
B. Malejąco według parametru srednia
C. Malejąco według parametru klasa
D. Rosnąco według parametru klasa
Sortowanie listy wynikowej w SQL jest kluczową operacją, wpływającą na prezentację danych użytkownikowi końcowemu. W kontekście przedstawionego pytania, kluczowym elementem było zrozumienie różnicy między sortowaniem rosnącym a malejącym. Odpowiedzi sugerujące sortowanie według parametru średnia wskazują na brak uwzględnienia kluczowej części zapytania dotyczącej klauzuli ORDER BY, która wyraźnie określała sortowanie według klasy. Błędne zrozumienie kierunku sortowania, czyli rosnąco lub malejąco, wskazuje na pominięcie znaczenia DESC w zapytaniu. DESC to skrót od descending, co oznacza porządek malejący, z kolei jej brak domyślnie oznaczałby sortowanie rosnące (ASC). SQL jest językiem, w którym precyzja składni ma kluczowe znaczenie, a drobne różnice w poleceniach mogą prowadzić do odmiennych wyników. Wybierając parametry sortowania, dobrze jest zrozumieć, jak wpływają one na sposób prezentacji danych. Częstym błędem jest nieuwzględnienie priorytetu sortowania, który w praktyce projektowania baz danych może mieć wpływ na wydajność zapytań, zwłaszcza gdy bazy danych zawierają duże ilości danych. Dlatego też, aby uniknąć typowych błędów, warto dokładnie analizować każde polecenie i jego wpływ na wynikowy zestaw danych.

Pytanie 9

$x = mysql_query('SELECT * FROM mieszkanci'); if (!$x) echo "??????????????????????????????"; W podanym kodzie PHP, w miejscu znaków zapytania powinien wyświetlić się komunikat:

A. Błąd w trakcie przetwarzania zapytania
B. Zapytania zakończono sukcesem
C. Nieprawidłowa nazwa bazy danych
D. Złe hasło do bazy danych
W przedstawionym kodzie PHP mamy do czynienia z próbą wykonania zapytania SQL do bazy danych przy pomocy funkcji mysql_query. Ta funkcja zwraca wartość false, jeśli wystąpił błąd w trakcie przetwarzania zapytania. W kontekście tego kodu, komunikat 'Błąd przetwarzania zapytania.' jest odpowiedni, ponieważ wskazuje, że zapytanie nie zostało poprawnie wykonane. Istotne jest, aby programista zrozumiał, że błędy mogą wynikać z różnych przyczyn, takich jak błędna składnia SQL, problemy z połączeniem do bazy danych lub inne czynniki techniczne. Ważną praktyką jest dodawanie mechanizmów obsługi błędów, które mogą dać więcej informacji na temat problemu, np. użycie mysql_error() do uzyskania szczegółowych informacji o błędzie. Standardy dotyczące programowania w PHP oraz najlepsze praktyki wskazują na konieczność stosowania try-catch dla lepszej kontroli błędów oraz logowania, co może pomóc w diagnozowaniu problemów na etapie produkcyjnym. Warto zaznaczyć, że mysql_query jest przestarzałą funkcją, a obecnie zaleca się użycie mysqli lub PDO do komunikacji z bazą danych, co poprawia bezpieczeństwo i wydajność aplikacji.

Pytanie 10

W języku JavaScript zapis w ramce oznacza, że x=przedmiot.nazwa);

A. nazwa jest cechą obiektu przedmiot
B. zmienna x będzie zawierać wynik działania metody nazwa
C. nazwa jest atrybutem klasy przedmiot
D. zmienna x będzie przechowywać wynik działania funkcji przedmiot
W języku JavaScript zapis 'x = przedmiot.nazwa;' oznacza, że zmienna 'x' będzie przechowywać wartość, która jest wynikiem działania metody lub właściwości 'nazwa' obiektu 'przedmiot'. W JavaScript obiekty mogą mieć zdefiniowane metody oraz właściwości. Jeśli 'nazwa' jest funkcją (metodą) zdefiniowaną w obiekcie 'przedmiot', to jej wywołanie spowoduje, że wynik tego działania zostanie przypisany do zmiennej 'x'. Ważne jest, aby w kontekście obiektów JavaScript rozumieć różnicę między metodą a właściwością. Metody to funkcje, które są dołączone do obiektu, podczas gdy właściwości to wartości skojarzone z obiektem. Przykład zastosowania może wyglądać tak: wyobraźmy sobie obiekt 'przedmiot' reprezentujący książkę, który ma metodę 'nazwa', zwracającą tytuł książki. Jeśli wywołamy 'x = przedmiot.nazwa();', to 'x' przechowa tytuł książki. To podejście pozwala na dynamiczne operowanie danymi w obiektach, co jest kluczowe w programowaniu obiektowym. Zdefiniowanie metody 'nazwa' w obiekcie jest zgodne z zasadami programowania obiektowego w JavaScript, a także spełnia standardy ECMAScript.

Pytanie 11

Jak można utworzyć kopię zapasową bazy danych MySQL?

A. agregowaniem danych
B. importowaniem bazy
C. eksportowaniem bazy
D. modyfikowaniem danych
Eksport bazy danych MySQL to proces, który pozwala na tworzenie kopii zapasowych danych znajdujących się w bazie. Narzędzie do eksportu, takie jak mysqldump, umożliwia nie tylko zapisanie danych w formacie SQL, ale także w innych formatach, takich jak CSV czy JSON. Eksport jest kluczowy w przypadku migracji danych pomiędzy różnymi środowiskami baz danych lub w sytuacji, gdy zachodzi potrzeba odzyskania danych po awarii. Proces ten można zautomatyzować, korzystając z harmonogramów zadań (cron), co zapewnia regularne tworzenie kopii zapasowych. Zgodnie z najlepszymi praktykami, zaleca się, aby eksportować bazy danych regularnie oraz przechowywać kopie zapasowe w bezpiecznych lokalizacjach, aby zminimalizować ryzyko utraty danych. Standardy takie jak ISO 27001 podkreślają znaczenie odpowiednich procedur zarządzania danymi, w tym tworzenia kopii zapasowych, co czyni eksportu kluczowym elementem strategii ochrony danych w organizacjach.

Pytanie 12

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

A. font-style
B. text-decoration
C. text-style
D. font-weight
Atrybut text-decoration w CSS jest tym, co pozwala na dodawanie różnych efektów do tekstu. Możemy dzięki niemu użyć takich rzeczy jak underline, overline czy nawet blink, chociaż to ostatnie nie jest już zbyt popularne, bo wiele przeglądarek to ignoruje ze względu na dostępność. Dzięki tym efektom tekst może wyglądać bardziej estetycznie, a czytelność też się poprawia. Na przykład, jeśli użyjesz 'p { text-decoration: underline; }', to cały tekst w tym paragrafie będzie podkreślony. W CSS3 dodano też nowe możliwości, jak text-decoration-color czy text-decoration-style, co daje jeszcze większą kontrolę nad tym, jak nasz tekst będzie wyglądał. Dlatego myślę, że umiejętność korzystania z text-decoration jest naprawdę ważna dla każdego, kto zajmuje się tworzeniem stron internetowych.

Pytanie 13

Aby z tabeli Pracownicy wybrać tylko nazwiska kończące się na literę „i”, można zastosować następującą kwerendę SQL

A. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i;
B. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i%";
C. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i%";
D. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i";
Prawidłowa kwerenda SQL do wyszukania nazwisk pracowników, których ostatnią literą jest 'i', to 'SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i";'. Operator LIKE w SQL jest używany do wyszukiwania wzorców w danych tekstowych. W tym przypadku symbol '%' przed literą 'i' oznacza, że przed 'i' może występować dowolna liczba znaków (w tym zero), co umożliwia znalezienie wszystkich nazwisk kończących się na tę literę. Przykładowe nazwiska, które mogą być zwrócone przez tę kwerendę to 'Kowalski', 'Nowak', czy 'Wiśniewski'. Zgodnie z standardem SQL, użycie podwójnych cudzysłowów dla wzorca jest właściwe w kontekście baz danych, jednak w wielu systemach baz danych, w tym MySQL, częściej stosuje się pojedyncze cudzysłowy. Warto także zauważyć, że technika ta jest przydatna przy pracy z bazami danych, gdyż umożliwia elastyczne wyszukiwanie informacji oraz jest szczególnie cenne w aplikacjach wymagających filtrowania danych według specyficznych kryteriów.

Pytanie 14

Jaką wartość w formacie szesnastkowym ma kolor określony kodem RGB o wartościach rgb(128,16,8)?

A. #800F80
B. #FF0F80
C. #FF1008
D. #801008
Jeśli mamy kolor RGB zapisany jako rgb(128, 16, 8), to możemy go przerobić na format szesnastkowy, co jest bardzo przydatne w grafice i web designie. W tym przypadku mamy czerwony na poziomie 128, zielony 16, a niebieski 8. Z każdą z tych wartości robimy tak, że dzielimy je na 16 i szukamy odpowiadających im cyfr hex. I tak dla 128 dostajemy 80, dla 16 to 10, a 8 to 08. Końcowy kolor w formacie szesnastkowym to #801008. To umiejętność, którą dobrze znać w IT, zwłaszcza jeśli chodzi o robienie stron www, bo kody hex są szeroko używane w CSS. Dzięki temu można zaoszczędzić miejsce i naprawdę ułatwić sobie życie przy pisaniu kodu. Zrozumienie jak to działa jest mega ważne dla projektantów i programistów, żeby dobrze zarządzać kolorami w swoich projektach.

Pytanie 15

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

A. zapytania SELECT.
B. filtru.
C. formularza.
D. sprawozdania.
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 16

W skrypcie JavaScript deklaracja zmiennych ma miejsce

A. zawsze z poprzedzającym nazwą znakiem $
B. wyłącznie na początku skryptu
C. w chwili pierwszego użycia zmiennej
D. tylko gdy określimy typ zmiennej oraz jej nazwę
Wybór błędnych odpowiedzi wynika z nieporozumienia dotyczącego zasad deklaracji zmiennych w JavaScript. Wiele osób ma tendencję do myślenia, że zmienne muszą być deklarowane na początku skryptu, co jest niezgodne z elastycznością, jaką oferuje ten język. Deklaracja tylko na początku skryptu ogranicza kreatywność i elastyczność programisty, ponieważ w praktyce można tworzyć zmienne w dowolnym momencie, w zależności od logiki programu. Innym błędnym przekonaniem jest konieczność podawania typu zmiennej przed jej nazwą. W przeciwieństwie do języków silnie typowanych, takich jak Java czy C#, JavaScript jest językiem słabo typowanym, co oznacza, że typ zmiennej jest określany dynamicznie w momencie przypisania wartości. Przykładowo, można zdefiniować zmienną jako liczbę, a następnie przypisać do niej wartość typu tekstowego bez żadnych problemów. Kolejną mylną zasadą jest stwierdzenie, że każda zmienna musi zaczynać się od znaku $. W rzeczywistości, znaki te (jak $ i _) są dozwolone jako pierwsze znaki identyfikatorów, ale nie są wymagane. Takie nieporozumienia mogą prowadzić do nieefektywnego pisania kodu oraz wprowadzania niezamierzonych błędów. Zrozumienie tych zasad jest kluczowe dla prawidłowego korzystania z JavaScript, co pozwala na tworzenie lepszych, bardziej efektywnych aplikacji oraz unikanie typowych błędów i pułapek w programowaniu.

Pytanie 17

Który z poniższych znaczników HTML można wykorzystać do stworzenia struktury witryny internetowej?

A. <mark>
B. <aside>
C. <em>
D. <input>
<aside> to znacznik, który dodaje coś ekstra do treści głównej na stronie, jak np. informacje poboczne. Używanie go jest zgodne z zasadami HTML5, które promują sensowne budowanie dokumentów. Możesz go używać np. do wyróżniania sekcji z informacjami o autorze lub linkami do innych artykułów. Dzięki temu, że stosujesz semantyczne znaczniki jak <aside>, twoje treści stają się lepiej zrozumiałe dla użytkowników. Co więcej, to też polepsza dostępność strony dla osób korzystających z technologii wspomagających, jak czytniki ekranu. Dobrze zastosowane <aside> ułatwia organizację treści, co pozytywnie wpływa na SEO, bo wyszukiwarki łatwiej rozumieją strukturę strony. A i tak w ogóle, używanie semantycznych znaczników pozwala utrzymać kod w lepszej formie, co ważne, zwłaszcza przy pracy w zespołach nad większymi projektami.

Pytanie 18

Ile razy należy użyć instrukcji warunkowej, aby wdrożyć w danym języku programowania przedstawiony algorytm?

Ilustracja do pytania
A. Czterokrotnie
B. Dwukrotnie
C. Trzykrotnie
D. Jednokrotnie
W programowaniu, liczba użytych instrukcji warunkowych często odpowiada liczbie punktów decyzyjnych w algorytmie. Diagram przedstawiony w pytaniu zawiera dwie decyzje, co oznacza, że potrzebne są dwie instrukcje warunkowe. Wybór jednego razu świadczyłby o niezrozumieniu, że pojedyncza instrukcja nie wystarczy do pokrycia dwóch odrębnych ścieżek logicznych. Trzy lub cztery instrukcje byłyby zbędne i mogłyby prowadzić do nadmiernej komplikacji kodu. Często popełnianym błędem jest też zbyt częste używanie instrukcji warunkowych dla prostych problemów, co negatywnie wpływa na czytelność i wydajność kodu. Dobre praktyki programowania, jak te opisane w 'Clean Code' Roberta C. Martina, zalecają minimalizację złożoności kodu poprzez używanie tylko niezbędnej ilości instrukcji warunkowych. Warto również zwrócić uwagę na to, aby każda instrukcja warunkowa była dobrze przemyślana i adekwatna do danego problemu, co pozwala na uniknięcie błędów logicznych i ułatwia przyszłe modyfikacje kodu.

Pytanie 19

Dla jakiej wartości zmiennej x instrukcja warunkowa w JavaScript jest spełniona?

if ((x < -5) || (x > 2))
    x++;
A. -1
B. 3
C. 2
D. -4
Analizując dostarczone odpowiedzi, kluczowe jest zrozumienie działania operatora logicznego OR oraz warunków logicznych w języku JavaScript. Instrukcja warunkowa wykonuje się, jeśli którykolwiek z warunków jest prawdziwy. Przy wartości x równej -4, żaden z warunków (x < -5) lub (x > 2) nie jest spełniony, ponieważ -4 jest większe niż -5 i mniejsze niż 2, więc instrukcja x++ się nie wykona. Dla x = -1 sytuacja jest podobna; -1 także nie spełnia obu warunków. Gdy x = 2, nadal nie spełniamy żadnego z wyrażonych warunków, ponieważ 2 nie jest większe niż 2 ani mniejsze niż -5. Typowym błędem myślowym przy rozwiązywaniu takich zadań jest błędne rozumienie zakresu działania operatora OR. Warto pamiętać, że wystarczy jedno prawdziwe wyrażenie, aby cała instrukcja została zaakceptowana. Błędne jest także myślenie, że brak bezpośredniej równości w warunku (jak x > 2) oznacza akceptację wartości granicznej. W tym przypadku konieczne jest pełne spełnienie warunku, co podkreśla znaczenie dokładności w formułowaniu logiki programistycznej. Takie zrozumienie operatorów logicznych i warunków jest niezbędne dla efektywnego tworzenia kodu, który odpowiada na wymagania logiki biznesowej w aplikacjach. Pasjonaci programowania powinni koncentrować się na testowaniu różnych scenariuszy, aby dokładnie zrozumieć, jak wartości zmiennych wpływają na przepływ działania ich kodu. Taka wiedza jest fundamentalna przy tworzeniu skalowalnych i niezawodnych rozwiązań programistycznych, które muszą operować na wielu danych wejściowych i warunkach w dynamicznie zmieniającym się środowisku.

Pytanie 20

W języku PHP operator do wyznaczania reszty z dzielenia to:

A. %
B. &
C. @
D. #
Wybór nieprawidłowych operatorów może prowadzić do nieporozumień w kontekście ich zastosowań w języku PHP. Operator @ jest używany do tłumienia błędów, co oznacza, że pozwala na ignorowanie komunikatów o błędach generowanych przez wyrażenie. Użycie tego operatora nie ma związku z obliczeniami matematycznymi, a jego stosowanie w celach ukrywania błędów jest odradzane w praktyce programistycznej, ponieważ może prowadzić do trudności w diagnostyce problemów. Operator & oznacza „bitowe AND” i służy do wykonywania operacji na bitach, co również nie jest związane z resztą z dzielenia. Użycie tego operatora w kontekście matematycznym może prowadzić do błędnych wniosków, zwłaszcza gdy programiści mylą operacje bitowe z operacjami na liczbach całkowitych. Z kolei operator # nie jest w ogóle operatorem w PHP, a jego zastosowanie może być mylone z innymi językami programowania, gdzie może pełnić rolę symbolu komentarza. W rezultacie, wybór niepoprawnych operatorów nie tylko wprowadza zamieszanie, ale także może prowadzić do błędów w logice programu oraz wydajności, co jest sprzeczne z dobrymi praktykami programistycznymi. Ważne jest, aby programiści dobrze rozumieli każdy operator, aby unikać typowych pułapek i błędów w swoim kodzie.

Pytanie 21

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

<a href="#dane"></a>
A. Otworzy się nowa karta przeglądarki o nazwie dane
B. Zostanie wskazany względny adres URL o nazwie dane
C. Strona przewinie się do elementu o id równym dane
D. Uruchomi się skrypt o nazwie dane
Pierwsza odpowiedź nie jest trafna, bo myśli, że kliknięcie w hiperłącze otworzy nową kartę w przeglądarce. Żeby tak się stało, trzeba użyć atrybutu target="_blank", ale w tym przypadku to nie ma sensu. Druga odpowiedź sugeruje, że kliknięcie wywoła jakiś skrypt, co też jest błędem. Żeby uruchomić skrypt przez <a>, musiałbyś skorzystać z JavaScriptu i użyć onclick, a w przypadku href z # to nie działa. Trzecia odpowiedź wspomina o adresie względnym, co też nie jest właściwe w kontekście znaku # w URL. Adresy względne dotyczą ścieżek związanych z aktualnym URL, a nie nawigacją wewnętrzną do elementów na stronie. To częsty błąd początkujących w tworzeniu stron. Dobrze jest zrozumieć różnice między nawigacją wewnętrzną a zewnętrzną oraz jak to wszystko działa w HTML. Poprawne użycie # jest bardzo ważne, jeśli chcesz, żeby Twój interfejs był przyjazny i dostępny dla użytkowników.

Pytanie 22

W języku CSS zdefiniowano style dla znacznika h1 zgodnie z podanym wzorem. Przy założeniu, że żadne inne style nie są zastosowane do znacznika h1, wskaż właściwy sposób stylizacji tego elementu

Ilustracja do pytania
A. D
B. C
C. B
D. A
Odpowiedź C jest prawidłowa, ponieważ zastosowane style CSS poprawnie odzwierciedlają zasady formatowania zdefiniowane w pytaniu. Styl font-style: oblique; powoduje, że tekst jest pochylony, ale nie jest to zwykła kursywa używana w normalnym tekście. Oblique jest bardziej subtelne i mniej formalne. Font-variant: small-caps; przekształca małe litery w małe kapitaliki, co nadaje tekstowi bardziej formalny i elegancki wygląd. Jest to użyteczne w nagłówkach, które często wymagają wyrazistości i czytelności. Text-align: right; wyrównuje tekst do prawej, co może być stosowane do tworzenia asymetrycznych, nowoczesnych projektów stron internetowych. Takie formatowanie stosowane jest dla zwiększenia czytelności lub dostosowania tekstu do innych elementów strony. Właściwe stosowanie CSS pozwala na pełne kontrolowanie wyglądu i prezentacji treści, co jest kluczowe w profesjonalnym tworzeniu stron internetowych. Przykładowo, użycie oblique i small-caps może być stosowane w projektach graficznych, takich jak logotypy, gdzie pożądany jest specyficzny styl wizualny. Dobre praktyki w CSS to unikanie nadmiernego użycia stylów, które mogą wpłynąć negatywnie na dostępność i użyteczność strony. W tym kontekście, wybrane style są skutecznie zastosowane, zapewniając zarówno estetykę, jak i funkcjonalność.

Pytanie 23

Który z poniższych kodów HTML odpowiada opisanej tabeli? (W celu uproszczenia zrezygnowano z zapisu stylu obramowania tabeli oraz komórek)

Ilustracja do pytania
A. Odpowiedź D
B. Odpowiedź B
C. Odpowiedź A
D. Odpowiedź C
W koncepcji struktury tabeli HTML, zrozumienie atrybutów rowspan i colspan jest kluczowe dla poprawnego tworzenia układu danych. W analizie dostępnych odpowiedzi, niektóre z nich błędnie stosują te atrybuty lub ich nie używają, co prowadzi do niepoprawnego renderowania tabeli. Na przykład, w niektórych przypadkach, gdy użycie colspan lub rowspan jest niepotrzebne, może to prowadzić do nieporządku wizualnego i semantycznego. W odpowiedziach, w których zaniedbano atrybut rowspan, nie osiągnięto prawidłowego połączenia wierszy w kolumnie, co powoduje, że dane są wyświetlane w sposób nieczytelny. Typowym błędem myślowym jest zakładanie, że zagnieżdżenie danych w kolejnych komórkach wystarczy do ich poprawnej prezentacji, jednak w praktyce to prowadzi do rozbicia logicznej ciągłości informacji. Takie podejście może zaburzać użytkownikom interakcję z danymi, zwłaszcza gdy przeglądają oni tabele na urządzeniach mobilnych, gdzie przestrzeń jest ograniczona. Właściwe użycie rowspan zapewnia jednolitą prezentację, poprawiając zarówno estetykę, jak i funkcjonalność tabeli, zgodnie z dobrymi praktykami projektowania interfejsów użytkownika.

Pytanie 24

Tabela o nazwie naprawy zawiera kolumny: klient, czyNaprawione. Jakie polecenie należy użyć, aby wykasować rekordy, w których pole czyNaprawione ma wartość prawdziwą?

A. DELETE FROM naprawy WHERE czyNaprawione = TRUE;
B. DELETE naprawy WHERE czyNaprawione = TRUE;
C. DELETE FROM naprawy;
D. DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;
W przypadku drugiej odpowiedzi, 'DELETE naprawy WHERE czyNaprawione = TRUE;', brak jest kluczowego słowa 'FROM', co jest niezgodne z syntaksą SQL. W standardzie SQL polecenie DELETE zawsze wymaga określenia tabeli, z której mają zostać usunięte dane, za pomocą słowa kluczowego 'FROM'. Bez tego, zapytanie będzie generować błąd. Kolejna odpowiedź, 'DELETE FROM naprawy;', jest niepoprawna, ponieważ usuwa wszystkie rekordy z tabeli 'naprawy', co zwykle nie jest pożądanym działaniem. To podejście może prowadzić do utraty wszystkich zapisów, co w praktyce jest katastrofalne, jeśli nie wykonano wcześniej kopii zapasowej. Czwarta odpowiedź, 'DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;', błędnie sugeruje, że można wskazać konkretne kolumny do usunięcia, co jest także niezgodne z zasadami SQL. W SQL nie można wskazać pojedynczych kolumn do usunięcia, to całe rekordy są usuwane. Typowe błędy myślowe, które prowadzą do takich nieprawidłowych wniosków, to brak znajomości podstawowych zasad działania zapytań SQL oraz mylenie koncepcji usuwania danych z modyfikowaniem ich zawartości.

Pytanie 25

Jaki wynik daje poniższy kod PHP?

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. jest niepoprawny, nieznany operator =>
B. jest błędny, ponieważ indeksami tablicy mogą być wyłącznie liczby całkowite
C. definiuje tablicę z trzema wartościami
D. określa tablicę zawierającą sześć wartości
W tym przypadku mówimy o tablicach w PHP, które są podstawą zarządzania danymi w tym języku. Jednak stwierdzenie, że tablice asocjacyjne mogą mieć tylko klucze liczbowe, to nieprawda. W rzeczywistości klucze asocjacyjne mogą być wszelkimi wartościami skalarnymi, a najczęściej używa się ciągów znaków dla lepszej czytelności kodu. Operator '=>' w PHP jest powszechnie stosowany do przypisywania wartości do kluczy tablic asocjacyjnych, co jest totalnie normalne. Wydaje mi się, że błędne rozumienie tego operatora może pochodzić z braku praktyki z PHP albo z mieszania z innymi językami. Przykład zawiera trzy pary klucz-wartość, więc twierdzenie, że definiuje sześć wartości, jest grube nieporozumienie. Zrozumienie, jak PHP działa z tablicami, jest kluczowe, zwłaszcza w aplikacjach webowych, bo tablice są mega przydatne do przetwarzania danych. Dlatego warto przyłożyć się do analizowania struktury tych tablic, co pomoże unikać błędów w projektach.

Pytanie 26

Zastosowanie bloku deklaracji background-attachment: scroll sprawia, że

A. tło strony będzie się przesuwać razem z tekstem
B. grafika tła będzie się powtarzać (kafelki)
C. tło strony pozostanie statyczne, a tekst będzie się przesuwał
D. grafika tła znajdzie się w prawym górnym rogu strony
Inne odpowiedzi na to pytanie są niepoprawne z kilku powodów. Stwierdzenie, że grafika tła będzie wyświetlona w prawym górnym rogu strony, jest mylące, ponieważ właściwość 'background-attachment' nie wpływa na położenie tła, a jedynie na jego zachowanie podczas przewijania. Pozycjonowanie tła jest kontrolowane za pomocą właściwości 'background-position', która definiuje, gdzie tło ma być umieszczone, a nie jak się zachowuje w kontekście przewijania. Warto również zauważyć, że tło strony może być umieszczone w dowolnym miejscu, a nie tylko w jednym rogu. Inną nieprawidłową koncepcją jest stwierdzenie, że tło strony będzie stałe, a tekst będzie się przewijał. Taka konfiguracja odpowiada właściwości 'background-attachment: fixed', która rzeczywiście utrzymuje tło w stałej pozycji podczas przewijania zawartości. To prowadzi do błędnych wniosków, ponieważ mieszanie tych właściwości może skutkować niezamierzonymi efektami wizualnymi. Ostatnia odpowiedź, sugerująca, że grafika tła będzie powtarzana, odnosi się do 'background-repeat', która kontroluje, czy tło powinno być powtarzane, co jest niezwiązane z przewijaniem. Użytkownicy często mylą te właściwości, co prowadzi do niepoprawnych interpretacji efektów wizualnych. W praktyce ważne jest, aby zrozumieć, że każda z tych właściwości ma swoje unikalne zastosowanie i wpływ na wygląd oraz funkcjonalność strony internetowej.

Pytanie 27

W bazie danych dotyczącej pojazdów pole kolor w tabeli samochody może mieć wartości jedynie z definicji lakier. Aby nawiązać relację między tabelami samochody a lakier, należy użyć kwerendy

A. ALTER TABLE samochody ADD FOREIGN KEY kolor REFERENCES lakier;
B. ALTER TABLE samochody ADD FOREIGN KEY barwa REFERENCES samochody.lakier;
C. ALTER TABLE lakier ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
D. ALTER TABLE samochody ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);
Odpowiedzi, które nie pasują do zapytania, często wynikają z nieporozumienia dotyczącego koncepcji kluczy obcych oraz ich zastosowania w relacyjnych bazach danych. Na przykład, zmiana struktury tabeli lakier przez dodanie klucza obcego do tabeli samochody nie jest zasadne, ponieważ relacja powinna zostać zdefiniowana w tabeli, która zawiera odwołanie do innej tabeli. Klucz obcy powinien znajdować się w tabeli, której dane są uzależnione od innej tabeli, co nie jest spełnione w tej sytuacji. Innym typowym błędem jest niepoprawne odwołanie się do kolumny w kontekście klucza obcego. Użycie "barwa" lub "kolor", jako klucza obcego w niewłaściwy sposób, prowadzi do sytuacji, gdzie nie można skutecznie zapewnić integralności danych. Należy pamiętać, że klucz obcy odnosi się do kolumny, która pełni rolę klucza głównego w innej tabeli, a w przypadku lakier, kluczem głównym jest lakierId. Stosowanie kluczy obcych nie tylko wspomaga zarządzanie danymi, ale również poprawia ich spójność oraz wiarygodność. Praktyki te są fundamentalnym aspektem projektowania baz danych, które powinny być przestrzegane, aby uniknąć nieporozumień w przyszłości.

Pytanie 28

Poniższy fragment kodu w PHP wyświetli

$n = '[email protected]';
$dl = strlen($n);
$i = 0;
while($i < $dl && $n[$i] != '@')
{
    echo $n[$i];
    $i++;
}
A. samą nazwę domeny, czyli "host.pl"
B. tylko nazwę konta, czyli "adres"
C. cały adres e-mail, czyli "[email protected]"
D. nazwa konta z symbolem @, czyli "adres@"
Analizując poszczególne odpowiedzi, można zrozumieć, gdzie mogą tkwić typowe błędy myślowe. Pierwsza odpowiedź zakłada, że kod wypisze nazwę konta ze znakiem '@'. Jednak kod zatrzymuje się przed '@', więc ten znak nie jest wypisywany. Jest to typowy błąd wynikający z niezrozumienia warunku pętli, która przerywa iterację, gdy napotka '@'. Druga odpowiedź poprawnie wskazuje, co kod faktycznie robi, czyli wypisuje nazwę konta. Trzecia odpowiedź myli się, oczekując, że cały adres e-mail zostanie wypisany. W rzeczywistości kod nigdy nie przejdzie przez '@', więc ani domena, ani '@' nie zostaną uwzględnione w wyniku. Jest to błąd wynikający z założenia, że pętla obsłuży cały ciąg bez przerwania. Brak zrozumienia logiki warunku pętli while może prowadzić do takiego błędnego wniosku. Czwarta odpowiedź sugeruje, że kod wypisze nazwę domeny, co jest błędne, ponieważ iteracja kończy się przed '@', nie osiągając części domenowej. Takie błędy mogą wynikać z mylnego zrozumienia przepływu sterowania w kodzie lub założenia, że kod wykonuje parsowanie zupełne, co w tym przypadku jest nieprawidłowe. W praktykach programistycznych ważne jest zrozumienie iteracji i warunków, co pozwala uniknąć takich nieporozumień w analizie kodu. Podstawowe zrozumienie logicznych warunków i iteracji w językach programowania jest kluczowe do prawidłowej analizy kodu i jego przewidywanego działania.

Pytanie 29

Jakie są etapy w odpowiedniej kolejności przy tworzeniu aplikacji?

A. Analiza oczekiwań klienta, określenie wymagań, programowanie, wdrożenie, testowanie
B. Programowanie, analiza oczekiwań klienta, określenie wymagań, wdrożenie, testowanie
C. Określenie wymagań, analiza oczekiwań klienta, programowanie, wdrożenie, testowanie
D. Analiza oczekiwań klienta, określenie wymagań, programowanie, testowanie, wdrożenie
Odpowiedź wskazująca na kolejność: analiza wymagań klienta, specyfikacja wymagań, tworzenie, testy, wdrażanie jest poprawna i odzwierciedla standardowy model cyklu życia oprogramowania (SDLC). Zaczynamy od analizy wymagań, co oznacza zrozumienie potrzeb klienta i zebranie informacji, które będą fundamentem dalszych prac. Następnie przechodzimy do specyfikacji wymagań, gdzie dokumentujemy te potrzeby w formie, która będzie zrozumiała dla zespołu developerskiego. Tworzenie aplikacji następuje po szczegółowym omówieniu i zaakceptowaniu wymagań, co minimalizuje ryzyko błędów. Testy są kluczowym etapem, który pozwala na weryfikację, czy stworzone rozwiązanie spełnia wymagania oraz działa zgodnie z założeniami. Ostateczne wdrożenie aplikacji do użytkowania powinno nastąpić po przeprowadzeniu wszystkich testów i uzyskaniu pozytywnych wyników. Przykład zastosowania tej metodologii można zaobserwować w projektach realizowanych w metodologii Agile, gdzie iteracje pozwalają na ciągłe dostosowywanie aplikacji do zmieniających się potrzeb klienta. Takie podejście zwiększa satysfakcję użytkowników i minimalizuje koszty związane z poprawkami.

Pytanie 30

Wskaż zdanie, które jest fałszywe w odniesieniu do poniższej definicji funkcji w języku C++?

void zamien(float &x, float &y) {
    float tmp;
    tmp = x;
    x = y;
    y = tmp;
}
A. Funkcja zwraca wartość
B. Funkcja korzysta z parametrów przez referencję
C. Funkcja ma dwa argumenty
D. Funkcja nie zwraca żadnej wartości
Jednym z typowych nieporozumień jest mylne interpretowanie funkcji deklarowanych z użyciem 'void'. Wbrew niektórym założeniom, taka funkcja nie zwraca żadnych wartości. Jej celem jest wykonanie pewnych operacji na danych wejściowych, często poprzez modyfikację ich wartości, jak w tym przypadku, gdzie funkcja dokonuje zamiany. Pojęcie zwracania wartości należy do funkcji o określonym typie zwracanym, takich jak 'int', 'float', itp. Zrozumienie różnicy między przekazywaniem przez wartość a przekazywaniem przez referencję jest kluczowe. W sytuacji, gdy parametry są przekazywane przez referencję, jak w omawianym przykładzie, funkcja ma bezpośredni dostęp do zmiennych zewnętrznych, umożliwiając ich modyfikację bez zwracania żadnej wartości. To podejście jest często stosowane w przypadku operacji na dużych strukturach danych, gdzie kopiowanie może być kosztowne. Niepoprawne założenie, że funkcja nie posiada parametrów lub że nie operuje na nich przez referencję, wynika z braku zrozumienia odnośnie technik efektywnego zarządzania pamięcią i zasobami w C++. Programowanie z użyciem referencji jest bardziej wydajne i pozwala na tworzenie kodu, który jest zarówno szybki, jak i czytelny. Ważne jest, aby nie mylić pojęcia parametrów funkcji z wartością zwrotną, ponieważ prowadzi to do błędnych założeń i niepoprawnego działania kodu w praktyce.

Pytanie 31

W instrukcjach mających na celu odtwarzanie dźwięku na witrynie internetowej jako podkładu muzycznego nie stosuje się atrybutu

A. loop="10"
B. volume="-100"
C. balance="-10"
D. href="C:/100.wav">
Wybór atrybutów, takich jak 'volume="-100"', 'balance="-10"' oraz 'loop="10"', może prowadzić do nieporozumień dotyczących ich zastosowania w kontekście odtwarzania dźwięku na stronach internetowych. Atrybut 'volume', w rzeczywistości, nie jest standardowym atrybutem HTML. Wprowadzenie atrybutu 'volume' z wartością '-100' sugeruje błędne podejście do zarządzania głośnością, gdyż głośność powinna być regulowana w sposób programowy, często przy użyciu JavaScript, aby zapewnić bardziej precyzyjną kontrolę nad poziomem dźwięku. Z kolei 'balance' także nie jest standardowym atrybutem HTML i nie istnieje możliwość bezpośredniego jego zastosowania w tagach HTML dla dźwięku. Aby zrównoważyć dźwięk, należy skorzystać z dedykowanych narzędzi audio w JavaScript lub edytorów audio. Warto również zauważyć, że 'loop="10"' jest błędnym wykorzystaniem atrybutu 'loop', który w HTML działa jako prosty przełącznik, bez możliwości określenia liczby powtórzeń. Przykład wartości boolean 'loop' w tagu <audio> polega na tym, że plik audio będzie powtarzany w nieskończoność, a nie przez 10 razy. Te nieporozumienia mogą prowadzić do rozczarowania wśród deweloperów, jeśli nie są świadomi funkcji i ograniczeń atrybutów HTML. Kluczowe jest zrozumienie, że użycie atrybutów powinno być zgodne z ich przeznaczeniem w standardach HTML, aby zapewnić prawidłowe działanie aplikacji webowych.

Pytanie 32

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

A. wielu wartości różnych typów
B. wielu wartości jedynie tekstowych
C. wielu wartości lub metod
D. wielu wartości jedynie liczbowych
Wielu programistów mogą zmylić ograniczenia dotyczące typów danych w JavaScript, co prowadzi do błędnych wniosków na temat możliwości tego języka. Nieprawidłowe odpowiedzi sugerują, że tablice w JavaScript mogą przechowywać tylko jednorodne typy danych, takie jak wyłącznie tekstowe lub wyłącznie liczbowe wartości. Takie podejście jest ograniczone i nie uwzględnia elastyczności, jaką oferuje JavaScript. Obiekty array w tym języku są projektowane w taki sposób, aby umożliwić przechowywanie różnych typów danych w jednej tablicy, co jest kluczowe dla nowoczesnego programowania. Przykładem może być tablica, która zawiera zarówno liczby, jak i obiekty, co umożliwia tworzenie bardziej złożonych struktur danych. Często spotykanym błędem jest mylenie tablic z innymi strukturami danych, które wymuszają jednolitość typów, jak np. tablice w języku Java. Właściwe zrozumienie typów danych oraz ich właściwości w JavaScript jest niezbędne dla efektywnego kodowania oraz unikania pułapek związanych z typowymi błędami myślowymi, które mogą prowadzić do długotrwałych trudności w utrzymaniu kodu.

Pytanie 33

Ile razy zostanie wykonana zaprezentowana pętla w języku PHP, zakładając, że zmienna sterująca nie jest zmieniana wewnątrz pętli?

 for ($i = 0; $i <= 10; $i++) {
    // kod pętli
}
A. 10
B. 0
C. 11
D. Nieskończenie wiele
Nieprawidłowe odpowiedzi mogą wynikać z kilku błędnych założeń dotyczących działania pętli for. Jednym z częstszych błędów jest myślenie, że pętla for będzie iterować tylko do wartości 10, co skutkuje odpowiedzią 10. W rzeczywistości jednak warunek '$i <= 10' oznacza, że wartość 10 także jest wliczana do całkowitej liczby iteracji, przez co pętla będzie wykonana 11 razy. Z kolei odpowiedź sugerująca nieskończoną liczbę iteracji może pojawić się u osób, które nie zauważają, że zmienna $i jest inkrementowana w każdej iteracji. Warto również wspomnieć, że w przypadku początkowej wartości zmiennej $i wynoszącej 0 oraz braku modyfikacji tej zmiennej wewnątrz pętli nie może wystąpić sytuacja, w której pętla nie kończy się, co prowadzi do błędnego wniosku o 0 iteracjach. Kluczowe jest zrozumienie, jak struktura pętli for działa i jakie warunki wpływają na liczbę jej iteracji. Świadomość tych zasad jest niezbędna do pisania efektywnego i poprawnego kodu w PHP oraz innych językach programowania.

Pytanie 34

Aby móc edytować nakładające się na siebie pojedyncze fragmenty grafiki, przy zachowaniu niezmienności pozostałych elementów, powinno się zastosować

A. warstwy
B. kanał alfa
C. histogram
D. kadrowanie
Wykorzystanie warstw w edytorach graficznych, takich jak Adobe Photoshop czy GIMP, pozwala na wydajne zarządzanie i edytowanie poszczególnych fragmentów obrazu. Warstwy umożliwiają oddzielne manipulowanie elementami, co jest niezwykle istotne, gdy chcemy edytować część obrazu bez wpływania na jego pozostałe elementy. Przykładowo, podczas pracy nad projektem graficznym możemy na jednej warstwie umieścić tekst, na innej obrazek, a na trzeciej tło. Dzięki temu edytując jedną z warstw, pozostałe pozostają nietknięte. Istotnym aspektem pracy z warstwami jest ich hierarchia, która pozwala na ustalanie porządku wyświetlania – warstwy wyższe w hierarchii przykrywają te niższe. Warstwy są również wykorzystywane do tworzenia efektów takich jak przezroczystość czy cienie, co zwiększa głębię i atrakcyjność wizualną projektu. W branży graficznej stosowanie warstw stało się najlepszą praktyką, ponieważ zwiększa elastyczność pracy i ułatwia wprowadzanie poprawek bez ryzyka utraty danych oryginalnych.

Pytanie 35

Znacznik

<pre> </pre>
służy do prezentacji:
A. znaku przekreślenia
B. znaku wielokropka
C. treści polską czcionką
D. treści czcionką o stałej szerokości
Interpretacja znacznika <pre> jako narzędzia do wyświetlania znaku przekreślenia lub wielokropka jest błędna, ponieważ te elementy nie mają związku z funkcją, jaką pełni <pre>. W kontekście HTML, znacznik <pre> nie jest zaprojektowany do formatowania treści na podstawie stylów czcionek, takich jak 'polska czcionka', ale skupia się na zachowaniu oryginalnego formatowania tekstu. Próba zrozumienia <pre> w kontekście czcionek wyłącznie ze względu na ich wygląd prowadzi do pomyłek, ponieważ nie dotyczy to głównego celu tego znacznika. Ponadto, używanie <pre> dla treści, które nie wymagają stałej szerokości czcionki, może prowadzić do złożonych problemów w responsywności układu strony oraz trudności w dostosowaniu treści do różnych urządzeń. Znaki przekreślenia i wielokropka są raczej reprezentowane przez inne znaczniki HTML, takie jak <s> lub <span>, które są bardziej odpowiednie do stylizacji tekstu. Właściwe zrozumienie roli każdego znacznika HTML jest kluczowe dla skutecznego projektowania stron internetowych i aplikacji, co podkreśla znaczenie edukacji w zakresie web developmentu.

Pytanie 36

Skrypt w JavaScript, który obsługuje wynagrodzenia pracowników, powinien stworzyć raport dla tych, którzy są zatrudnieni na umowę o pracę oraz otrzymują wynagrodzenie w przedziale domkniętym od 4000 do
4500 zł. Jaki warunek należy zastosować do wygenerowania raportu?

A. umowa == 'praca' && (pensja >= 4000 && pensja <= 4500)
B. umowa == 'praca' || (pensja >= 4000 || pensja <= 4500)
C. umowa == 'praca' && (pensja >= 4000 || pensja <= 4500)
D. umowa == 'praca' || (pensja >= 4000 && pensja <= 4500)
Analizując inne odpowiedzi, można zauważyć kilka kluczowych błędów w koncepcjach wykorzystanych w tych formułach. W pierwszej odpowiedzi występuje nieprawidłowe użycie operatora logicznego '||', który w tym kontekście nie jest odpowiedni. Wykorzystanie '||' oznacza, że pensja może być mniejsza lub równa 4000 zł, co prowadzi do sytuacji, w której zostaną uwzględnieni pracownicy, którzy nie spełniają wymogu minimalnej pensji, co jest sprzeczne z założeniem raportu. W drugiej odpowiedzi zastosowanie operatora '||' również powoduje, że warunek dotyczący umowy jest nieistotny, co sprawia, że program może generować raporty dla osób zatrudnionych na innych rodzajach umów. Trzecia odpowiedź wydaje się być bliska, jednak użycie '&&' w odniesieniu do pensji nie jest wystarczające, ponieważ nie definiuje warunku zatrudnienia. Właściwa logika programistyczna wymaga precyzyjnego określenia zarówno rodzaju umowy, jak i zakresu płacy. W praktyce, niepoprawne zrozumienie operatorów logicznych oraz ich zastosowania w warunkach może prowadzić do poważnych błędów w kodzie, co w konsekwencji wpływa na jakość danych raportowych. Warto pamiętać, że przy tworzeniu warunków w oprogramowaniu, kluczowe jest stosowanie odpowiednich operatorów, aby uniknąć błędów w logice oraz zapewnić poprawność wyników.

Pytanie 37

Atrybut wskazujący na lokalizację pliku graficznego w znaczniku <img> to

A. alt
B. href
C. link
D. src
Atrybut 'src' (source) jest kluczowym elementem znacznika <img>, ponieważ wskazuje lokalizację pliku graficznego, który ma być wyświetlony na stronie internetowej. Użycie tego atrybutu jest niezbędne, aby przeglądarka mogła zlokalizować i załadować odpowiedni obraz. Na przykład, jeśli chcesz wyświetlić grafikę logo na stronie, możesz użyć znacznika <img src='logo.png'>, gdzie 'logo.png' jest ścieżką do pliku graficznego. Ważne jest, aby pamiętać o dokładnym podaniu ścieżki, która może być względna lub absolutna. Zgodnie z najlepszymi praktykami, ważne jest również użycie atrybutu 'alt', który opisuje obraz dla osób z problemami wzrokowymi oraz w przypadku, gdy obraz nie może być załadowany. Przestrzeganie standardów W3C w zakresie HTML zapewnia lepszą dostępność i użyteczność stron internetowych.

Pytanie 38

Aby zweryfikować konfigurację w pliku php.ini, można uruchomić skrypt PHP, który zawiera zapis

A. <?php phpcredits(); ?>
B. <?php echo phpversion(); ?>
C. <?php ini_set(); ?>
D. <?php phpinfo(); ?>
Odpowiedź <?php phpinfo(); ?> jest poprawna, ponieważ funkcja phpinfo() generuje szczegółowy raport na temat konfiguracji PHP, w tym informacje o zainstalowanych rozszerzeniach, wersji PHP, oraz ustawieniach w pliku php.ini. W praktyce, ta funkcja jest niezwykle przydatna przy diagnozowaniu problemów związanych z konfiguracją serwera, ponieważ dostarcza pełen wgląd w aktualne ustawienia środowiska, co pozwala na szybkie zidentyfikowanie ewentualnych niezgodności. Przykładem zastosowania może być sytuacja, w której programista chce sprawdzić, czy określone rozszerzenie PHP jest aktywne lub jakie są wartości domyślne dla różnych dyrektyw, takich jak memory_limit czy upload_max_filesize. Dobrą praktyką w sytuacjach produkcyjnych jest ograniczenie dostępu do skryptów wywołujących phpinfo(), aby nie ujawniać wrażliwych informacji o serwerze osobom nieupoważnionym. Myśląc o bezpieczeństwie aplikacji, warto usunąć takie skrypty po zakończeniu diagnostyki.

Pytanie 39

W tabeli o nazwie zadania znajduje się kolumna tekstowa status. Jakie zapytanie należy wykorzystać, aby usunąć te rekordy, w których status to ‘zamknięte’?

A. TRUNCATE TABLE zadania;
B. DELETE FROM zadania WHERE status = 'zamknięte';
C. TRUNCATE TABLE zadania WHERE status = 'zamknięte';
D. DELETE FROM zadania;
Odpowiedź 'DELETE FROM zadania WHERE status = 'zamknięte';' jest poprawna, ponieważ ta kwerenda w sposób precyzyjny usuwa tylko te rekordy z tabeli 'zadania', które mają status 'zamknięte'. Użycie klauzuli WHERE jest kluczowe, ponieważ pozwala na ograniczenie operacji usunięcia do konkretnych wierszy w tabeli, co jest zgodne z najlepszymi praktykami w zarządzaniu bazami danych. Należy unikać bezwarunkowego usuwania wszystkich rekordów, jak w przypadku kwerendy 'DELETE FROM zadania;', co mogłoby spowodować utratę danych, które są nadal potrzebne. Przykłady zastosowania tej kwerendy można znaleźć w wielu systemach zarządzania projektami, gdzie często musimy archiwizować lub usuwać zakończone zadania. Dodatkowo stosowanie klauzuli WHERE jest zgodne z zasadą minimalizacji zmian w bazie danych, co jest istotne dla zapewnienia integralności danych i umożliwienia ich późniejszej analizy.

Pytanie 40

ID_PracownikaNazwiskoImięStanowiskoWynagrodzenie
1KowalskiKrzysztofkasjer3215,76
2NowakAntonikierownik5350,00
3ZającAlicjaksięgowy4568,70
4KrólWitoldkasjer3045,00
5NowikGrzegorzkasjer2750,65
6KotulskiAndrzejkierowca3467,00
7TutkaKatarzynakierownik4935,33
8PoradaJakubmagazynier3321,56
Które zapytanie SQL należy wykonać na tabeli Pracownicy, aby otrzymać średnie wynagrodzenie dla pracownika na stanowisku kasjer?
A. SELECT AVG(kasjer.Wynagrodzenie) FROM Pracownicy;
B. SELECT SUM(*) FROM Pracownicy AND Stanowisko= 'kasjer';
C. SELECT AVG(Wynagrodzenie) FROM Pracownicy WHERE Stanowisko='kasjer';
D. SELECT SREDNIA(Wynagrodzenie) AND Stanowisko='kasjer' FROM Pracownicy;
W tym zadaniu widać kilka typowych pułapek związanych z pisaniem zapytań SQL, zwłaszcza przy funkcjach agregujących. Kluczowa rzecz: jeśli chcemy policzyć średnie wynagrodzenie dla konkretnego stanowiska, to zawsze musimy połączyć poprawną funkcję agregującą z poprawnym filtrowaniem danych. Standard SQL definiuje funkcję AVG() do liczenia średniej, SUM() do sumowania, COUNT() do liczenia wierszy i tak dalej. Nie ma natomiast funkcji o nazwie SREDNIA, bo to byłaby już jakaś specyficzna, niestandardowa funkcja w danej bazie (a w typowych systemach jak MySQL, PostgreSQL, SQL Server czy Oracle po prostu jej nie ma). Częsty błąd to próba używania nazwy stanowiska jakby była nazwą tabeli lub aliasu, np. coś w stylu AVG(kasjer.Wynagrodzenie). Tu „kasjer” nie jest ani aliasem tabeli, ani osobną tabelą, tylko wartością tekstową w kolumnie Stanowisko. W SQL nie można w ten sposób „kropkować” wartości. Do filtrowania służy klauzula WHERE: Stanowisko='kasjer'. Kolejna rzecz to używanie SUM(*) czy innych funkcji w połączeniu z AND w niewłaściwym miejscu. Wyrażenie typu SELECT SUM(*) FROM Pracownicy AND Stanowisko='kasjer'; jest po prostu składniowo błędne. Warunki logiczne AND, OR, NOT zawsze trafiają do części WHERE lub JOIN ON, a nie między nazwę tabeli a funkcję agregującą. Inny typowy błąd myślowy to mieszanie logiki zapytania: ktoś próbuje jednocześnie pisać coś w rodzaju SELECT SREDNIA(Wynagrodzenie) AND Stanowisko='kasjer' FROM Pracownicy; jakby można było w jednym miejscu łączyć funkcję i warunek. SQL ma jasno rozdzielone sekcje: SELECT (co zwracamy), FROM (z jakiej tabeli), WHERE (jak filtrujemy), opcjonalnie GROUP BY, HAVING, ORDER BY. Warunek filtrowania nie pojawia się w środku listy wybieranych kolumn, tylko w WHERE. Z mojego doświadczenia wynika, że jak ktoś zaczyna poprawnie myśleć o kolejności wykonywania zapytania (najpierw FROM, potem WHERE, potem agregacja), to takie błędy po prostu znikają. Dobrą praktyką jest też, zanim użyje się funkcji agregującej, zadać sobie pytanie: na jakim dokładnie podzbiorze danych chcę tę funkcję zastosować? I właśnie ten podzbiór trzeba opisać w WHERE.