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: 18 kwietnia 2026 20:59
  • Data zakończenia: 18 kwietnia 2026 21:59

Egzamin niezdany

Wynik: 11/40 punktów (27,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

Jakiego języka można użyć do nawiązania połączenia z bazą MySQL w trakcie tworzenia aplikacji internetowej?

A. PHP
B. CSS
C. XHTML
D. HTML
PHP to naprawdę fajny język skryptowy, który świetnie sprawdza się w tworzeniu dynamicznych aplikacji internetowych. Jest super efektywny, kiedy trzeba połączyć się z bazami danych, takimi jak MySQL. Jako język serwerowy, daje programistom narzędzia do robienia różnych rzeczy z danymi, jak dodawanie, edytowanie czy usuwanie rekordów w bazie. Na przykład, gdy tworzysz aplikację do zarządzania użytkownikami, możesz użyć PHP do obsługi formularza rejestracyjnego, który zbiera dane od użytkowników i następnie łączy się z MySQL, by je zapisać. Do łączenia z bazą danych używa się funkcji, jak mysqli_connect() lub PDO (PHP Data Objects), co pozwala na bezpieczne i sprawne zarządzanie połączeniami oraz zapytaniami SQL. Co ważne, PHP zachęca do dobrych praktyk, jak stosowanie przygotowanych zapytań, co mocno zwiększa bezpieczeństwo aplikacji, chroniąc przed różnymi atakami, jak SQL injection.

Pytanie 2

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

SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;
Ile wierszy wybierze kwerenda?
idtypnazwacena
11Gazpacho20
21Krem z warzyw25
31Gulaszowa ostra30
42Kaczka i owoc30
52Kurczak pieczony40
62wieprzowy przysmak35
72Mintaj w panierce30
82Alle kotlet30
93Owoce morza20
103Grzybki, warzywka, sos15
113Orzechy i chipsy10
123Tatar i jajo15
133Bukiet warzyw10
A. 13
B. 2
C. 5
D. 8
Wybór błędnych odpowiedzi często wynika z nieprawidłowego zrozumienia warunków filtracji danych w zapytaniach SQL. Odpowiedzi takie jak 5, 8 oraz 13 mogą sugerować, że osoba udzielająca odpowiedzi nie dostrzega kluczowych ograniczeń nałożonych przez zapytanie. Po pierwsze, kwerenda ogranicza wynik do tych pozycji, które mają typ mniejszy niż 3 oraz cenę mniejszą niż 30. W odpowiedzi 5, na przykład, można błędnie założyć, że więcej pozycji spełnia te warunki, jednak po dokładnej analizie danych z tabeli tylko dwie pozycje (Gazpacho i Krem z warzyw) są zgodne z tymi kryteriami. Kolejna odpowiedź sugerująca 8 również popełnia błąd w ocenie, ponieważ nie uwzględnia dodatkowych ograniczeń dotyczących ceny. Ostatecznie odpowiedź 13, wskazująca na bezpośrednią liczbę wszystkich wierszy w tabeli, jest całkowicie mylna, ponieważ nie uwzględnia żadnych filtrów. W praktyce, kluczowym krokiem w efektywnym korzystaniu z SQL jest umiejętność precyzyjnego określania warunków, co pozwala na uzyskanie tylko tych danych, które są naprawdę potrzebne. Warto zwrócić uwagę na to, że prawidłowe zrozumienie tych zasad jest podstawą do analizy danych i podejmowania decyzji opartych na rzeczywistych informacjach.

Pytanie 3

W HTML wprowadzono tag a. Co oznacza wartość nofollow w atrybucie rel?

<a href="http://website.com" rel="nofollow">link</a>
A. jest komunikatem dla robota wyszukiwarki Google, by nie śledził tego linku
B. oznacza, że naciśnięcie na link spowoduje jego otwarcie w nowej karcie przeglądarki
C. oznacza, że kliknięcie na link nie przekieruje do strony website.com
D. jest wskazówką dla przeglądarki internetowej, aby nie interpretowała słowa 'link' jako hiperłącza
Nofollow to nie jest informacja dla przeglądarki, żeby nie pokazywała linka jak normalnego odnośnika. Linki wciąż będą wyglądały jak zwykłe linki HTML. Atrybut nofollow dotyczy tylko tego, jak roboty wyszukiwarek traktują ten link, a nie jak wygląda on na stronie. Jak chcesz, żeby link otwierał się w nowej karcie, to musisz użyć atrybutu target z _blank. Nofollow nie ma wpływu na to, gdzie prowadzi link, więc kliknięcie w niego zawsze przeniesie cię na daną stronę, niezależnie od tego, czy jest tam nofollow czy nie. Jego rola jest tylko w SEO i w tym, jak wpływa na PageRank, a nie w tym, co widzą użytkownicy.

Pytanie 4

Wskaż fragment kodu HTML5, który zostanie uznany przez walidator za niepoprawny?

A. <p class="stl"><style>.a{color:#F00}</style>tekst</p>
B. <p class="stl" id="a">tekst</p>
C. <p class="stl" style="color: #F00">tekst</p>
D. <p class="stl">tekst</p>
Odpowiedzi <p class="stl" id="a">tekst</p>, <p class="stl" style="color: #F00">tekst</p> oraz <p class="stl">tekst</p> są poprawne i zgodne z standardami HTML5. Element <p> jest ogólnym znacznikiem używanym do definiowania paragrafów, a jego właściwe użycie obejmuje dodanie klas i identyfikatorów, co może być przydatne do stylizacji i skryptów. Użycie klasy 'stl' w pierwszym przykładzie pozwala na łatwe stylizowanie tego elementu w arkuszach stylów, co jest zgodne z zasadami modularności i ponownego użycia kodu. W przypadku drugiego przykładu, zastosowanie atrybutu style pozwala na bezpośrednie zastosowanie stylu, co jest właściwym podejściem w kontekście prostych aplikacji, chociaż w praktyce lepiej jest unikać inline styles ze względu na trudności w utrzymaniu kodu. Ostatni przykład, czyli <p class="stl">tekst</p>, nie zawiera żadnych dodatkowych atrybutów, ale także jest poprawny i może być używany w wielu kontekstach, gdzie stylizacja nie jest wymagana. Błędne jest myślenie, że elementy HTML5 są jedynie kontenerami treści - ich semantyka i zastosowanie klasy, identyfikatorów oraz stylów mają kluczowe znaczenie dla efektywności i organizacji kodu, co powinno być brane pod uwagę przy projektowaniu stron internetowych.

Pytanie 5

W języku PHP chcąc wyświetlić ciąg n znaków @, należy użyć funkcji

A. function znaki($znak, $n){
   for($i = 0; $i < $n; $i++)
     print($znak);
}
znaki(@, $n);

B. function znaki($i){
   for($i = 0; $i < $n; $i++)
     print("@");
}
znaki($i);

C. function znaki($znak, $n){
   for($i = 0; $i < $n; $i++)
     print($znak);
}
znaki($n);

D. function znaki($znak, $n){
   for($i = 0; $i < $n; $i++)
     print($znak);
}
znaki("@", $n);
A. D.
B. B.
C. C.
D. A.
Właśnie wybrałeś odpowiedź D i jest to absolutnie poprawne. W języku PHP, funkcja, o której mówimy, jest standardowym sposobem wyświetlania ciągu n znaków. Działa to poprzez użycie dwóch argumentów: znaku, który ma być wyświetlony, i liczby n, która określa, ile razy ten znak powinien zostać wyświetlony. W tym przypadku, użyto znaku '@'. Następnie, w pętli for, zmienna $i jest inkrementowana od 0 do n-1, a funkcja print wyświetla znak. To jest dobrym przykładem praktycznego zastosowania pętli w PHP, które są niezwykle przydatne w wielu różnych scenariuszach, od generowania list do manipulowania danymi. Pamiętaj, że zrozumienie, jak działa ta konkretna funkcja, może pomóc Ci lepiej zrozumieć, jak działają pętle i funkcje print w PHP.

Pytanie 6

Kanał alfa jest wykorzystywany do określenia

A. wybranego fragmentu grafiki obiektu
B. podstawowych właściwości obiektu graficznego
C. przezroczystości grafiki obiektu
D. jasności oraz kontrastu barw
Kanał alfa w grafice komputerowej odnosi się do przezroczystości obiektów graficznych, co jest kluczowym elementem w zarządzaniu warstwami i efektami wizualnymi. Przezroczystość pozwala na tworzenie złożonych kompozycji, gdzie jeden obiekt może częściowo lub całkowicie ukrywać inny. Funkcja ta jest niezwykle istotna w aplikacjach graficznych, takich jak Photoshop czy GIMP, które obsługują kanały alfa w formatach obrazów takich jak PNG. Umożliwia to projektantom łatwe łączenie zdjęć i grafik, zachowując ich naturalną przezroczystość. W standardzie RGBA, kanał alfa przyjmuje wartości od 0 (pełna przezroczystość) do 255 (pełna nieprzezroczystość), co pozwala na precyzyjne dostosowanie efektów wizualnych. Dobre praktyki sugerują, aby zrozumieć działanie kanału alfa, aby efektywnie zarządzać przezroczystością i wpływać na postrzeganie wizualne w projektach graficznych, co jest szczególnie istotne w branży projektowania interfejsów użytkownika oraz gier komputerowych.

Pytanie 7

Aby zdefiniować stylizację tabeli w języku CSS w sposób, który umożliwi wyróżnienie wiersza, na który aktualnie najeżdża kursor myszy np. innym kolorem, należy użyć

A. pseudoklasy :hover
B. pseudoelementu :first-line
C. pseudoklasy :visited
D. nowego selektora klasy dla wiersza tabeli
Odpowiedzi, które nie dotyczą zastosowania pseudoklasy :hover, są nieadekwatne w kontekście wyróżnienia wiersza tabeli podczas najeżdżania na niego kursorem. Pseudoklasa :visited jest używana w przypadku linków, aby stylizować te, które zostały już odwiedzone przez użytkownika. Nie ma zastosowania w kontekście tabeli ani interakcji z wierszami, gdyż nie wpływa na elementy, które nie są linkami, a jej użycie w tym kontekście nie przyniesie oczekiwanych rezultatów. Pseudoelement :first-line odnosi się do pierwszej linii tekstu wewnątrz elementu blokowego, co również jest nieodpowiednie w przypadku tabeli, gdyż nie ma możliwości stosowania go do wierszy, a jego zastosowanie jest ograniczone do stylizacji tekstu, a nie całych wierszy. Nowy selektor klasy dla wiersza tabeli, choć może wydawać się przydatny, wymagałby dodatkowego przypisania klas do każdego wiersza w HTML, co czyniłoby proces bardziej skomplikowanym i mniej efektywnym w porównaniu do prostoty użycia pseudoklasy :hover. W rezultacie, żadna z powyższych odpowiedzi nie może prawidłowo spełnić wymagań dotyczących wyróżnienia wiersza tabeli w momencie najeżdżania na niego kursorem.

Pytanie 8

Jakie zapytanie należy użyć, aby wyświetlić tylko imię, nazwisko oraz ulicę wszystkich mieszkańców?

Ilustracja do pytania
A. SELECT imie, nazwisko, ulica FROM Mieszkancy JOIN Adresy ON Mieszkancy.Adresy_id = Adresy.id
B. SELECT imie, nazwisko, ulica FROM Mieszkancy, Adresy ON Mieszkancy.Adresy_id = Adresy.id
C. SELECT * FROM Mieszkancy, Adresy ON Mieszkancy.id = Adresy.id
D. SELECT * FROM Mieszkancy JOIN Adresy ON Adresy.id = Mieszkancy.Adresy.id
Próbując wybrać tylko konkretne kolumny z powiązanych tabel, ważne jest, żeby poprawnie zastosować składnię SQL. Jak źle podejdziesz do tego, mogą wyjść niepoprawne wyniki albo zapytanie może działać nieefektywnie. Często takie błędy wynikają z tego, że nie do końca rozumiemy relacje między tabelami. Jeśli użyjesz zapytania SELECT * FROM Mieszkancy Adresy ON Mieszkancy.id = Adresy.id, to poległeś, bo nie podałeś poprawnego typu złączenia, a dodatkowo użycie gwiazdki * zwraca wszystkie kolumny, co jest niezgodne z celem tego pytania. Jeszcze gorzej, jeśli napiszesz SELECT * FROM Mieszkancy JOIN Adresy ON Adresy.id = Mieszkancy.Adresy.id – mimo, że JOIN jest ok, używanie gwiazdki sprawia, że nie spełniasz warunków dotyczących selekcji kolumn. W obu przypadkach brakuje selektywności, przez co zapytania są mało efektywne i niezgodne z dobrymi praktykami w projektowaniu baz danych. Zapytanie SELECT imie nazwisko ulica FROM Mieszkancy Adresy ON Mieszkancy.Adresy_id = Adresy.id, chociaż wymienia dobre kolumny, stosuje błędną składnię JOIN, więc jest syntaktycznie złe. SQL wymaga precyzji przy złączaniu, żeby dane były spójne i integralne. Rozumienie, jak poprawnie używać JOIN i jak wybierać kolumny, jest kluczowe do tworzenia skutecznych zapytań, co wpływa na optymalizację pracy z bazami danych.

Pytanie 9

Każde informacje, które odnoszą się do innych informacji, określane są jako

A. markup language.
B. metadata.
C. metalanguage.
D. databus.
Odpowiedzi takie jak 'databus', 'metalanguage' oraz 'markup language' nie są odpowiednie w kontekście pytania o dane opisujące inne dane. Termin 'databus' odnosi się do architektury komunikacyjnej, która umożliwia przesyłanie danych pomiędzy różnymi aplikacjami lub systemami, ale nie odnosi się do opisu danych. 'Metalanguage' z kolei to język używany do opisu innego języka, co również nie pasuje do definicji metadanych. Użycie metalanguage może być przydatne w kontekście analizy języków programowania czy gramatyk formalnych, jednak nie wiąże się bezpośrednio z przekazywaniem informacji o danych. Z kolei 'markup language' odnosi się do języków znaczników, takich jak HTML czy XML, które służą do formatowania tekstu i strukturyzacji dokumentów, a nie do opisywania danych. Chociaż te języki mogą wykorzystywać metadane do opisu swojej struktury, same w sobie nie spełniają funkcji metadanych. Często mylnie uważa się, że wszystkie te terminy są ze sobą związane, jednak kluczowa różnica polega na tym, że metadane to informacje o danych, podczas gdy pozostałe odpowiedzi dotyczą różnych aspektów technologii informacyjnej i komunikacyjnej. Prawidłowe zrozumienie tych terminów jest kluczowe dla efektywnego zarządzania danymi oraz ich analizy w kontekście nowoczesnych rozwiązań IT.

Pytanie 10

W jaki sposób można w języku CSS ustawić takie stylizowanie tabeli, aby wiersz, na którym obecnie znajduje się kursor myszki, zmieniał kolor tła na szary?

A. tr:active { color: gray; }
B. tr:active { background-color: gray; }
C. tr:hover { background-color: gray; }
D. tr:hover { color: gray; }
Odpowiedzi tr:hover { color: gray; }, tr:active { color: gray; } i tr:active { background-color: gray; } są w tym kontekście niewłaściwe. W pierwszej odpowiedzi, jak używasz pseudoklasy :hover z właściwością color, zmieniasz tylko kolor tekstu, a nie tła, co nie spełnia wymogu modyfikacji koloru tła wiersza. Użytkownicy naprawdę oczekują, że jak najadą kursorem na wiersz, to zobaczą wyraźną zmianę w jego wyglądzie, a zmiana koloru tekstu to nie jest zbyt skuteczny sygnał wizualny. Druga i trzecia odpowiedź wykorzystują pseudoklasę :active, która działa tylko wtedy, gdy na element klikniemy. To pomija interakcję z myszką, co jest kluczowe w tym zadaniu. :active powinno być stosowane, gdy chcemy zmienić styl elementów podczas aktywacji, ale to nie działa w przypadku najechania kursorem. Użytkownicy mogą się mylić między tymi pseudoklasami, co prowadzi do kiepskiego projektowania interfejsu, który nie reaguje na intuicyjne działania, takie jak najeżdżanie myszą. W praktyce, dobrze jest używać właściwych pseudoklas, żeby osiągnąć zamierzony efekt i poprawić interaktywność aplikacji internetowych.

Pytanie 11

W aplikacji PHP do bazy danych została wysłana kwerenda SELECT przy pomocy funkcji mysqli_query. Jaką funkcję powinien wykorzystać użytkownik, aby ustalić, ile rekordów zostało zwróconych przez zapytanie?

A. mysqli_query
B. mysqli_connect
C. mysqli_num_rows
D. mysqli_fetch_row
Przy wyborze niewłaściwych funkcji jako alternatywy dla mysqli_num_rows pojawia się wiele nieporozumień dotyczących operacji na wynikach zapytań w PHP. Wybór mysqli_fetch_row sugeruje, że użytkownik mylnie zakłada, iż ta funkcja zwraca liczbę rekordów. W rzeczywistości, mysqli_fetch_row służy do pobierania kolejnych wierszy z wyniku zapytania jako tablicy, co oznacza, że do zliczenia rekordów musielibyśmy wielokrotnie wywoływać tę funkcję w pętli, co jest nieefektywne i niezgodne z zasadami optymalizacji. Z kolei mysqli_query, choć fundamentem do wykonania zapytania, nie ma funkcji zliczającej rekordy. Użytkownicy często mylą jej wydajność z funkcją zliczania, co prowadzi do nieefektywnego kodu. Funkcja mysqli_connect jest przeznaczona do nawiązywania połączenia z bazą danych, a nie do operacji na wynikach zapytań. Jest to typowy błąd nowicjuszy, którzy nie rozumieją, że użycie funkcji do zaistnienia w bazie nie ma związku ze zliczaniem rekordów. W praktyce, aby uzyskać informacje o liczbie rekordów, kluczowe jest zrozumienie, że każda z tych funkcji ma swoje zdefiniowane zadania i użycie ich w nieodpowiednich kontekstach prowadzi do nieoptymalnych rozwiązań, co jest sprzeczne z najlepszymi praktykami programowania.

Pytanie 12

Aplikacja o nazwie FileZilla umożliwia

A. wniesienie bazy danych na stronę CMS Joomla!
B. przeprowadzenie testów aplikacji
C. sprawdzanie poprawności plików HTML oraz CSS
D. publikację witryny internetowej na zdalnym serwerze
FileZilla to popularny program typu FTP (File Transfer Protocol), który umożliwia użytkownikom przesyłanie plików między komputerem a serwerem internetowym. Jego głównym celem jest publikacja stron internetowych na odległych serwerach, co jest kluczowe dla procesu tworzenia i utrzymania stron w sieci. Program obsługuje różne protokoły, takie jak FTP, FTPS oraz SFTP, co zapewnia elastyczność i bezpieczeństwo podczas transferu danych. W praktyce, aby opublikować stronę, użytkownik może przeciągnąć pliki z lokalnego folderu do odpowiedniego katalogu na serwerze, co jest intuicyjne i efektywne. FileZilla wspiera również funkcje takie jak synchronizacja folderów, co pozwala na łatwe aktualizowanie zawartości strony. Zgodnie z branżowymi standardami, korzystanie z odpowiednich narzędzi do przesyłania plików, takich jak FileZilla, jest niezbędne dla każdego dewelopera webowego, aby zapewnić bezpieczeństwo i zgodność z najlepszymi praktykami w zakresie publikacji stron internetowych.

Pytanie 13

Przedstawiony blok reprezentuje czynność

Ilustracja do pytania
A. wczytania danych.
B. zastosowania gotowej procedury lub funkcji.
C. podjęcia decyzji.
D. wyświetlenia danych.
Ten blok w kształcie rombu to klasyczny symbol decyzji w schemacie blokowym algorytmu. Zgodnie z przyjętymi standardami notacji (np. ANSI/ISO dla diagramów przepływu), romb oznacza miejsce, w którym program musi coś sprawdzić i na podstawie wyniku tej kontroli wybrać jedną z gałęzi dalszego działania. Innymi słowy: następuje podjęcie decyzji na podstawie warunku logicznego, który zwykle daje odpowiedź typu TAK/NIE (TRUE/FALSE). W praktyce, w kodzie programistycznym taki romb odpowiada instrukcjom warunkowym, takim jak if, if...else, switch, operator trójargumentowy itp. Przykład: „jeśli użytkownik jest zalogowany, pokaż panel administracyjny, w przeciwnym razie przekieruj do logowania”. W schemacie blokowym byłby to właśnie romb z pytaniem „Użytkownik zalogowany?”. Z rombu wychodziłyby dwie strzałki: jedna podpisana „tak”, druga „nie”, prowadzące do różnych bloków akcji. Moim zdaniem warto wyrobić sobie nawyk automatycznego kojarzenia: romb = warunek = rozgałęzienie przepływu. Dzięki temu łatwiej później projektować algorytmy, niezależnie od języka programowania. W praktyce webowej też ma to duże znaczenie: np. sprawdzenie, czy dane z formularza są poprawne, czy użytkownik ma odpowiednie uprawnienia, czy plik istnieje na serwerze. Za każdym razem, gdy w głowie pojawia Ci się „jeśli… to… w przeciwnym razie…”, w schemacie blokowym powinien pojawić się właśnie taki romb, czyli blok podjęcia decyzji. To jest fundament logicznej struktury programu i jedna z podstawowych konstrukcji algorytmicznych.

Pytanie 14

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

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

Pytanie 15

W stylu CSS utworzono klasę uzytkownik. Na stronie będą wyświetlane czcionką w kolorze niebieskim: p.uzytkownik { color: blue; }

A. jedynie elementy tekstowe takie jak <p>, <h1>.
B. wszystkie elementy w sekcji <body> z przypisaną klasą uzytkownik.
C. akapitów, którym przypisano klasę uzytkownik.
D. wszystkie akapity.
Odpowiedzi, które sugerują, że styl CSS dla klasy 'uzytkownik' dotyczy wszystkich paragrafów, albo że odnosi się do znaczników <p> i <h1>, są nie do końca zrozumiałe. Przede wszystkim klasa CSS jest narzędziem do precyzyjnego stosowania stylów do poszczególnych elementów, które tą klasę mają. Reguła 'p.uzytkownik' działa tylko na te <p> z klasą 'uzytkownik', a nie na wszystkie paragrafy. A jeśli ktoś myśli, że styl działa na <h1> czy inne elementy w <body>, to jest w błędzie. Klasy muszą być przypisane jasno, a nie można zakładać, że wszystkie elementy w sekcji dziedziczą style, chyba że są ogólnie zdefiniowane. Takie podejście nie jest efektywne i w ogóle nie wspiera dobrych praktyk w projektowaniu, które mówią o precyzyjnym określaniu, gdzie i jak dany styl ma działać. W efekcie, takie błędne interpretacje mogą prowadzić do chaosu w prezentacji treści i do większych trudności w zarządzaniu stylem na stronie.

Pytanie 16

Funkcja przedstawiona w kodzie JavaScript ma na celu

Ilustracja do pytania
A. pokazać wynik mnożenia a przez n
B. zwrócić iloczyn kolejnych liczb od 1 do a
C. zwrócić wynik potęgowania an
D. wyświetlić kolejne liczby od a do n
Wśród przedstawionych odpowiedzi, niektóre mogą wydawać się kuszące, ale są niepoprawne z powodu złego zrozumienia działania pętli for i operacji arytmetycznych w JavaScript. Opcja, że funkcja miałaby wypisać kolejne liczby od a do n, jest błędna. Kod nie zawiera żadnej instrukcji wyświetlania czy logowania, a jedynie operacje arytmetyczne i zwracanie wyniku. Podobnie, wypisywanie wyniku mnożenia a przez n jest niepoprawne, gdyż funkcja nie wykonuje jednokrotnego mnożenia a i n. Zamiast tego, wykonuje wielokrotne mnożenie a, co jest typowe dla operacji potęgowania. W końcu, mylne byłoby sądzenie, że funkcja oblicza iloczyn kolejnych liczb od 1 do a. Taki proces wymagałby zagnieżdżonej logiki, iteracji po zmiennej innej niż a, co nie jest obecne w danym kodzie. Błędne odpowiedzi mogą wynikać z niepełnego zrozumienia jak działa pętla for lub jak przypisuje się wartości w operacjach iteracyjnych. Kluczową umiejętnością jest umiejętność odczytywania i interpretowania kodu w kontekście wykonywanych operacji, co wymaga doświadczenia w pracy z językiem programowania i jego strukturami kontrolnymi.

Pytanie 17

Jaki jest cel poniższego fragmentu funkcji w JavaScript?

wynik = 0;
for (i = 0; i < tab.length; i++)
{
    wynik += tab[i];
}
A. przypisać do każdego elementu tablicy bieżącą wartość zmiennej i
B. wyświetlić wszystkie pozycje w tablicy
C. obliczyć sumę wszystkich elementów tablicy
D. dodać stałą wartość do każdego elementu tablicy
Podczas analizowania niepoprawnych odpowiedzi warto skupić się na zrozumieniu działania pętli oraz operatora przypisania dodającego +=. Pierwsza z omawianych odpowiedzi sugeruje że kod dodaje do każdego elementu tablicy stałą wartość. Jest to błędne rozumienie operatora += który po lewej stronie ma zmienną a po prawej wartość którą dodajemy do tej zmiennej. W tym przypadku tab[i] jest dodawane do zmiennej wynik co wskazuje na zliczanie a nie modyfikację elementów tablicy. Druga odpowiedź sugeruje że kod wyświetla elementy tablicy. Jednak brak tutaj jakiejkolwiek funkcji wyjściowej takiej jak console.log() która mogłaby wyświetlić wartości w konsoli. Kod skupia się na operacji wewnętrznej a nie na interakcji wyjściowej. Trzecia odpowiedź sugeruje że do każdego elementu tablicy jest wprowadzana aktualna wartość zmiennej i. Jest to również błędne ponieważ nie ma tutaj żadnej operacji przypisania wartości do tablicy. Zmienna i jest jedynie indeksem używanym do iteracji i nie wpływa na zmianę wartości tablicy. Wszystkie te nieporozumienia wynikają z błędnej interpretacji działania pętli oraz operacji arytmetycznych w kodzie. Kluczowe jest zrozumienie jak pętla działa aby poprawnie przypisać operację do odpowiedniego kontekstu w programie.

Pytanie 18

Najłatwiejszym sposobem na zmianę obiektu z numerem 1 na obiekt z numerem 2 jest

Ilustracja do pytania
A. animacja obiektu
B. geometriczne przekształcenie obiektu
C. zmiana warstwy obiektu
D. narysowanie obiektu docelowego
Wybór niewłaściwej metody zamiany obiektu na inny może wynikać z niepełnego zrozumienia zasad manipulacji graficznych. Narysowanie docelowego obiektu to czasochłonny proces, który nie gwarantuje precyzji ani zgodności z oryginałem. Ponadto, ręczne tworzenie obiektów pomija korzyści płynące z automatyzacji i precyzji narzędzi do transformacji. Zmiana warstwy obiektu nie wpływa na jego rozmiar ani kształt; warstwy są wykorzystywane do organizacji elementów w projekcie, a nie do ich transformacji. Animowanie obiektu z kolei odnosi się do nadawania mu ruchu w czasie, co nie zmienia jego statycznej formy. Animacje są stosowane głównie w filmach, grach czy interfejsach użytkownika, gdzie celem jest dynamika. Wszystkie te błędne podejścia wynikają z pomylenia celów i narzędzi odpowiednich do danego zadania. Kluczowym błędem jest brak świadomości, że transformacje geometryczne są najefektywniejszym sposobem na modyfikację samego kształtu i rozmiaru obiektu, co jest standardową praktyką w projektowaniu graficznym i inżynierii komputerowej, zapewniającą dokładność i spójność wyników.

Pytanie 19

Aby osiągnąć pokazany rezultat w programie graficznym wykorzystano

Ilustracja do pytania
A. zmianę intensywności kolorów
B. kanał alpha
C. gradient liniowy
D. gradient okrągły
Zmiana nasycenia odnosi się do modyfikacji intensywności barwy co wpływa na żywość kolorów w obrazie ale nie tworzy efektu płynnego przejścia jak gradient. Jest użyteczna w poprawianiu wyglądu zdjęć gdzie chce się podkreślić lub stonować barwy lecz nie daje efektu gradientowego. Kanał alpha z kolei to komponent definiujący przezroczystość pikseli w obrazie. Manipulacja kanałem alpha jest kluczowa w tworzeniu efektów przeźroczystości i maskowania ale nie jest związana z tworzeniem przejść kolorystycznych. Gradient kołowy natomiast to efekt przejścia kolorów od środka na zewnątrz w formie okręgu co zupełnie różni się od gradientu liniowego który działa w linii prostej. Gradienty kołowe są stosowane w sytuacjach gdy wymagane jest centralne skupienie uwagi jak w przypadku projektowania ikon lub tła gdzie ważna jest symetria. Typowym błędem jest mylenie podstawowych funkcji narzędzi graficznych dlatego zrozumienie ich specyfiki i zastosowania w praktyce jest kluczowe dla profesjonalnego projektowania wizualnego. Właściwe wykorzystanie narzędzi graficznych oparte jest na znajomości ich możliwości oraz ograniczeń co prowadzi do efektywnego tworzenia wysokiej jakości projektów graficznych zgodnych ze standardami branżowymi.

Pytanie 20

Które z poniższych twierdzeń o definicji funkcji pokazanej w ramce jest prawdziwe?

function czytajImie(){
  var imie=null;
  do {
    imie=prompt("podaj imie: ");
    if (imie.length<3)
    alert("wprowadzony tekst jest niepoprawny");
  } while(imie.length<3);
}
A. Pętla zostanie uruchomiona tylko raz
B. Wczytanie tekstu zakończy się, gdy tekst będzie miał co najmniej 3 znaki
C. Tekst będzie wczytywany do czasu podania liczby większej niż 3
D. Funkcja zawiera pętlę, która powtarza się 3 razy
Błędne rozumienie działania pętli do-while może prowadzić do przekonania że pętla wykona się określoną ilość razy lub że zakończy się w momencie spełnienia innych warunków co jest typowym błędem wśród osób początkujących Pętla do-while w języku JavaScript wykonuje blok kodu przynajmniej raz a następnie sprawdza warunek kontynuacji co oznacza że nie jest ograniczona do stałej ilości iteracji jak mogłoby sugerować stwierdzenie o trzykrotnym powtórzeniu Warunek długości tekstu mniejszej niż 3 jest kluczowy dla jej działania i wymusza iterację aż do momentu gdy zostanie wprowadzony prawidłowy ciąg znaków co wyklucza możliwość że pętla wykona się tylko raz chyba że już za pierwszym razem zostanie wprowadzony tekst spełniający warunki Kolejnym nieporozumieniem może być błędne postrzeganie warunku jako związanego z wprowadzeniem liczby podczas gdy w rzeczywistości funkcja operuje na długości tekstu co jest częstym zagadnieniem przy walidacji danych tekstowych przy użyciu funkcji prompt Ważnym aspektem jest zrozumienie że pętle tego typu są używane tam gdzie wymagana jest walidacja danych wprowadzanego tekstu co jest praktyką szeroko akceptowaną w branży programistycznej z uwagi na konieczność zapewniania poprawności danych przed ich dalszym przetwarzaniem

Pytanie 21

W HTML znacznik tekst będzie wyświetlany przez przeglądarkę w taki sam sposób jak znacznik

A. <b>tekst</b>
B. <sub>tekst</sub>
C. <big>tekst</big>
D. <h1>tekst</h1>
Znacznik <strong> jest używany w HTML do oznaczania tekstu, który ma być wyróżniony ze względu na jego ważność. Jest to związane z semantyką dokumentu. Chociaż <strong> i <b> wyświetlają tekst w podobny sposób (zazwyczaj pogrubiony), mają inne znaczenie. Znacznik <b> jest używany do czysto wizualnego wyróżnienia, bez przypisywania wartości semantycznej. Dlatego, gdy używamy <strong>, nie tylko zmieniamy wygląd tekstu, lecz także informujemy przeglądarkę i dostępne technologie, że ten element ma szczególne znaczenie. Przykładem praktycznego zastosowania <strong> może być wyróżnienie kluczowych informacji w artykule, co wpływa na zrozumienie treści przez użytkowników oraz poprawia dostępność strony. Warto pamiętać, że stosowanie odpowiednich znaczników zgodnie z ich przeznaczeniem jest zgodne z zasadami HTML5 i poprawia SEO, ponieważ wyszukiwarki lepiej rozumieją kontekst strony, co jest kluczowe dla jej indeksacji.

Pytanie 22

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr { background-color: Pink; }
B. td, th { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. tr:active { background-color: Pink; }
W tym zadaniu chodzi o zrozumienie, jak działają selektory CSS oraz pseudo-klasy odpowiedzialne za interakcję z użytkownikiem. Jeśli efekt ma pojawiać się tylko wtedy, gdy użytkownik najedzie myszką na wiersz tabeli, to zwykłe ustawienie background-color bez pseudo-klasy nie spełni tego warunku. Deklaracja tr { background-color: Pink; } oznaczałaby, że wszystkie wiersze tabeli są cały czas różowe, niezależnie od tego, czy ktoś na nie najedzie, czy nie. To jest po prostu styl statyczny, bez żadnej reakcji na zdarzenia. Podobnie zapis td, th { background-color: Pink; } ustawia tło dla wszystkich komórek tabeli (zarówno nagłówkowych th, jak i zwykłych td) w sposób stały. Moim zdaniem to dość częsty błąd: ktoś kojarzy tabelę z komórkami i intuicyjnie styluje td/th, ale zapomina, że w pytaniu chodzi o efekt dynamiczny „po najechaniu”. W rezultacie otrzymujemy tabelę pokolorowaną na stałe, bez jakiejkolwiek interakcji, co jest sprzeczne z założeniem zadania i z typowym zachowaniem tabel w nowoczesnych interfejsach. Ciekawsza jest kwestia selektora tr:active { background-color: Pink; }. Pseudo-klasa :active oznacza element w momencie „aktywacji”, czyli najczęściej w chwili klikania (przytrzymania przycisku myszy). Efekt trwa bardzo krótko, tylko w czasie samego kliknięcia. To zupełnie inny scenariusz niż wygodne podświetlenie wiersza, które ma się utrzymywać, dopóki kursor jest nad elementem. Użycie :active prowadzi do efektu, który miga na ułamek sekundy i z punktu widzenia ergonomii jest praktycznie bezużyteczny w kontekście podświetlania wierszy. Typowy błąd myślowy przy takich pytaniach polega na myleniu różnych pseudo-klas: :hover, :active, :focus. W webdevie przyjęło się, że :hover służy do reakcji na najechanie myszką, :active do krótkiej reakcji na kliknięcie, a :focus do zaznaczenia elementu, który ma aktualnie fokus klawiatury. Standardy CSS i dobre praktyki projektowania interfejsów jasno wskazują, że do efektu „podświetl wiersz, gdy nad nim jestem” należy użyć właśnie :hover na odpowiednim elemencie, czyli w tym przypadku tr. Wszystkie pozostałe odpowiedzi ignorują tę zasadę albo stosują nie tę pseudo-klasę, co trzeba, przez co nie odzwierciedlają poprawnie zachowania pokazanego w materiale wideo.

Pytanie 23

Który z języków skryptowych nie wykonuje operacji po stronie serwera?

A. ASP
B. Perl
C. PHP
D. CSS
ASP, PHP i Perl to języki skryptowe, które są używane po stronie serwera, co oznacza, że ich kod jest wykonywany na serwerze przed dostarczeniem strony do użytkownika. ASP (Active Server Pages) to technologia opracowana przez Microsoft, która umożliwia tworzenie dynamicznych stron internetowych poprzez integrację z bazami danych oraz obsługę skryptów. PHP (Hypertext Preprocessor) jest jednym z najpopularniejszych języków skryptowych, który również działa po stronie serwera, umożliwiając tworzenie stron internetowych, które mogą generować HTML w oparciu o dane z różnych źródeł, takich jak bazy danych MySQL. Perl, pierwotnie stworzony do przetwarzania tekstu, stał się również wszechstronnym językiem skryptowym do aplikacji webowych, obsługując różnorodne zadania serwerowe. Te języki są integralną częścią nowoczesnego rozwoju aplikacji webowych i pozwalają na obsługę logiki biznesowej, interakcji z użytkownikami oraz komunikacji z bazami danych, co jest niezbędne w tworzeniu dynamicznych i interaktywnych aplikacji internetowych.

Pytanie 24

Ile razy powtórzy się pętla w JavaScript?

var x=1, i=0;
do{
    x*=3;
    i++;
}
while(x!=27);
A. 3 razy
B. 26 razy
C. 27 razy
D. 2 razy
Błędne odpowiedzi wynikają z niepoprawnego zrozumienia działania pętli do-while oraz mechanizmu iteracji w kodzie. Częstym błędem jest założenie, że pętla wykona się tak wiele razy, jak wynosi ostateczna wartość x. Jednak w rzeczywistości, każda iteracja zwiększa x przez jego pomnożenie przez 3, a nie przez dodawanie. Począwszy od wartości 1, zmienna x przyjmuje wartości 3, 9, i 27, co oznacza, że pętla musi wykonać się trzykrotnie, zanim osiągnie wartość równą 27. Innym częstym błędem jest założenie, że pętla do-while nie różni się od standardowej pętli while. W rzeczywistości, do-while wykonuje swój blok kodu przynajmniej raz, zanim oceni warunek, co jest kluczowe dla zrozumienia, dlaczego pętla wykonuje się dokładnie tyle razy. Niewłaściwe zrozumienie tego mechanizmu może prowadzić do nadmiernego wykonywania pętli lub nieoczekiwanego zakończenia przed osiągnięciem zamierzonego celu. Dobre praktyki programistyczne wymagają dokładnego przemyślenia warunków początkowych i końcowych pętli, aby uniknąć błędów logicznych i zapewnić poprawne działanie kodu w różnych sytuacjach praktycznych, takich jak przetwarzanie danych czy iteracyjne obliczenia matematyczne.

Pytanie 25

Jaki wynik wyświetli poniższy fragment kodu JavaScript?

x='Powodzenia na egzaminie';
z=x.substring(3,9);
y=z.substring(2,4);
document.write(y);
A. ze
B. wodzenia
C. wo
D. owodzeni
W analizowanym zadaniu błędne odpowiedzi wynikają z nieprawidłowego zrozumienia działania funkcji substring w JavaScript która służy do ekstrakcji fragmentu tekstu z ciągu. Kluczowym elementem jest tutaj zrozumienie że indeksowanie stringów zaczyna się od zera co oznacza że pierwszy znak w ciągu ma indeks 0. W przypadku x.substring(3,9) funkcja ta wyodrębnia znaki od indeksu 3 do 8 ponieważ drugi parametr w tej funkcji jest ekskluzywny co oznacza że nie jest uwzględniany w wyniku. Dlatego daje to fragment wodzen. Kolejna operacja z.substring(2,4) bierze pod uwagę wycinek od indeksu 2 do 3 tego nowego ciągu co skutkuje wynikiem ze. Błędne odpowiedzi mogą wynikać z nieznajomości tego jak działa substr w porównaniu do substring ponieważ substr używa innego podejścia wskazując długość a nie końcowy indeks. Innym częstym błędem jest mylenie indeksów co prowadzi do nieprawidłowych wycinków tekstu. Błędy takie mogą prowadzić do problemów w kodzie zwłaszcza przy przetwarzaniu danych wejściowych czy dynamicznym generowaniu zawartości strony co jest częstym zadaniem w web development. Zrozumienie jak dokładnie działa każdy z tych mechanizmów jest kluczowe dla tworzenia poprawnego i bezpiecznego kodu. Warto także pamiętać o testowaniu kodu aby uniknąć nieprzewidywalnych zachowań wynikających z nieprawidłowych wycinków tekstu co może wpłynąć na całość aplikacji.

Pytanie 26

Funkcja napisana w PHP ma na celu

Ilustracja do pytania
A. nawiązanie połączenia z bazą danych
B. pobranie informacji z bazy danych
C. zabezpieczenie bazy danych
D. ustawienie hasła do bazy danych
Ustawienie hasła do bazy danych nie jest realizowane przez zapytanie SQL w PHP lecz przez konfigurację połączenia z bazą danych zwykle przy użyciu funkcji mysql_connect lub mysqli_connect gdzie hasło jest jednym z parametrów. Zabezpieczenie bazy danych nie polega na prostym zapytaniu lecz wymaga szerszego podejścia obejmującego kontrolę dostępu zarządzanie uprawnieniami szyfrowanie danych i ochronę przed atakami SQL Injection. Połączenie z bazą danych w PHP realizowane jest poprzez funkcje umożliwiające nawiązanie sesji z serwerem bazodanowym jak mysql_connect lub nowocześniejsze mysqli_connect oraz obiekty PDO które oferują bardziej zaawansowane mechanizmy zarządzania połączeniami. Często występującym błędem jest mylenie funkcji odpowiedzialnych za zarządzanie połączeniem z funkcjami wykonującymi operacje na danych. Mylenie tych dwóch aspektów pracy z bazą danych prowadzi do błędów w aplikacjach jak niewłaściwe zarządzanie zasobami lub podatność na ataki. Nowoczesne podejścia takie jak stosowanie ORM-ów jak Doctrine w PHP abstrahują wiele tych mechanizmów co upraszcza zarządzanie tymi aspektami w kodzie. Ważnym aspektem jest także stosowanie praktyk bezpieczeństwa takich jak walidacja i sanitizacja danych oraz używanie przygotowanych wyrażeń co jest kluczowe w ochronie danych i zapewnieniu prawidłowego działania aplikacji. Zrozumienie tych podstawowych elementów jest kluczowe w tworzeniu bezpiecznych i wydajnych aplikacji bazodanowych.

Pytanie 27

Jakie znaczniki należy zastosować, aby umieścić kod PHP w pliku z rozszerzeniem php?

A. <?php> ........ <php?>
B. <?php .......... ?>
C. <php .......... />
D. <php> ......... </php>
Wszystkie proponowane odpowiedzi przedstawiają nieprawidłowe formy znaczników PHP, co może prowadzić do nieporozumień oraz błędów w interpretacji kodu przez serwer. Odpowiedź <php .......... /> nie jest poprawna, ponieważ nie zawiera wymaganych znaczników otwierających i zamykających, co skutkuje tym, że interpreter PHP nie będzie w stanie poprawnie zidentyfikować i przetworzyć kodu. W kontekście języka PHP, ważne jest użycie znaczników <?php i ?>, które jasno wskazują, gdzie zaczyna się i kończy kod PHP. Kolejna nieprawidłowa odpowiedź <?php> ........ <php?> zawiera błędne użycie znaczników, ponieważ użycie <php?> jako znaczników zamykających nie jest akceptowane. W praktyce, takie podejście mogłoby prowadzić do poważnych błędów, jako że kod PHP nie zostałby właściwie przetworzony. Z kolei odpowiedź <php> ......... </php> także jest błędna, ponieważ znacznik <php> nie jest poprawnie używany. W standardach PHP istnieją jasne reguły dotyczące stosowania znaczników, które są zdefiniowane w oficjalnej dokumentacji. Nieprzestrzeganie tych reguł może prowadzić do nieczytelności kodu i trudności w jego utrzymaniu. Dlatego kluczowe jest, aby znać zasady dotyczące stosowania znaczników PHP, co będzie miało istotne znaczenie w pracy z tym językiem programowania.

Pytanie 28

Technologia, w której komunikacja użytkownika z serwerem odbywa się bez konieczności przeładowywania całego dokumentu HTML, to

A. AJAX
B. Ruby
C. PHP
D. Django
W tym pytaniu łatwo się pomylić, bo wszystkie podane technologie w jakiś sposób kojarzą się z tworzeniem aplikacji webowych, ale tylko jedna opisuje mechanizm komunikacji bez przeładowania całej strony. Kluczowe jest zrozumienie różnicy między językiem programowania, frameworkiem backendowym a techniką asynchronicznej komunikacji po stronie przeglądarki. Django to framework działający po stronie serwera, napisany w Pythonie. Służy do obsługi logiki biznesowej, generowania szablonów HTML, pracy z bazą danych, routingu adresów URL itd. Samo użycie Django nie powoduje automatycznie, że strona staje się „dynamiczna bez przeładowania”. To, czy strona przeładowuje się w całości, zależy od tego, jak zachowuje się kod w przeglądarce, a nie od tego, jaki framework stoi po stronie serwera. Podobnie PHP to język skryptowy po stronie serwera. Generuje HTML, JSON lub inne odpowiedzi HTTP, ale komunikacja odbywa się standardowo: przeglądarka wysyła żądanie, serwer z PHP odsyła odpowiedź. Bez zastosowania JavaScript i mechanizmów asynchronicznych każda interakcja użytkownika, która wymaga kontaktu z serwerem, kończy się pełnym przeładowaniem dokumentu. Częsty błąd myślowy polega na tym, że skoro PHP „tworzy dynamiczne strony”, to odpowiada też za ich dynamiczne odświeżanie w przeglądarce. W rzeczywistości dynamika po stronie serwera i dynamika interfejsu w przeglądarce to dwie różne warstwy. Ruby również jest tylko językiem programowania, a w świecie webowym najczęściej używany jest z frameworkiem Ruby on Rails. Znowu – świetnie nadaje się do tworzenia API, generowania widoków, obsługi baz danych, ale sam z siebie nie rozwiązuje problemu komunikacji asynchronicznej w przeglądarce. Bez JavaScriptu i odpowiednich wywołań HTTP od strony klienta, strona w Ruby zachowuje się tak samo jak w przypadku PHP czy Django: każda odpowiedź to nowy dokument HTML. Sedno jest takie, że AJAX opisuje konkretną technikę po stronie klienta: asynchroniczne wysyłanie żądań HTTP z przeglądarki i aktualizowanie tylko fragmentów strony. Django, PHP i Ruby mogą być serwerowym „końcem” tych zapytań AJAX, ale nie są samą technologią odpowiedzialną za brak przeładowania strony. Rozdzielenie w głowie: frontendowa komunikacja asynchroniczna vs backendowa logika serwera, to bardzo ważna dobra praktyka w programowaniu webowym.

Pytanie 29

Systemy CMS charakteryzują się

A. możliwością programowania w zaawansowanych frameworkach dla aplikacji Web.
B. możliwością edycji treści bez konieczności znajomości HTML.
C. wbudowanym edytorem grafiki wektorowej.
D. wbudowanym serwerem poczty elektronicznej.
Poprawnie wskazana cecha CMS to możliwość edycji treści bez konieczności znajomości HTML. Właśnie po to powstały systemy zarządzania treścią: żeby osoba nietechniczna, np. pracownik działu marketingu czy sekretariat, mogła samodzielnie aktualizować stronę WWW. W typowym CMS (WordPress, Joomla, Drupal) mamy edytor WYSIWYG przypominający Worda: pogrubienie, nagłówki, listy, wstawianie obrazków, linków. Cały kod HTML generuje się w tle automatycznie. Użytkownik widzi tekst i przyciski, a nie znaczniki typu <div>, <p> czy <a>. Z mojego doświadczenia to ogromne ułatwienie w firmach, gdzie programista nie ma czasu na każdą drobną zmianę w treści. Dobra praktyka jest taka, żeby w CMS rozdzielać warstwę treści (content) od warstwy prezentacji (szablony, CSS). Administrator, redaktor czy copywriter pracuje na treści, a programista i frontendowiec dbają o wygląd i logikę. Dzięki temu aktualizacja np. cennika, aktualności czy opisów produktów nie wymaga dotykania kodu strony. Co więcej, nowoczesne CMS-y stosują mechanizmy wersjonowania treści, workflow publikacji, uprawnienia użytkowników. Wszystko nadal bez konieczności pisania HTML, choć oczywiście możliwość podejrzenia i ręcznej edycji kodu często jest dostępna dla bardziej zaawansowanych użytkowników. W praktyce: jeśli ktoś umie obsłużyć edytor tekstu, to po krótkim przeszkoleniu zwykle bez problemu poradzi sobie z podstawową obsługą CMS i edycją treści na stronie WWW.

Pytanie 30

W bazie danych MySQL utworzono tabelę. Aby jednoznacznie zdefiniować, że pole ID jest kluczem głównym, należy dopisać

 CREATE TABLE Osoby ( ID int NOT NULL, nazwisko varchar(255) NOT NULL, wiek int); 
A. PRIMARY KEY (ID) przed zamknięciem nawiasu.
B. PK (ID) przed zamknięciem nawiasu.
C. PK w linii, w której jest zdefiniowane pole ID.
D. FOREIGN KEY w linii, w której jest zdefiniowane pole ID.
Niektóre odpowiedzi na to pytanie mogły zawierać błędne koncepcje, które warto omówić. W języku SQL, skrót 'PK' nie jest rozpoznawany jako oznaczenie klucza głównego. Poprawnym oznaczeniem jest klauzula 'PRIMARY KEY'. Innym błędnym podejściem jest próba oznaczenia pola ID jako klucz obcy za pomocą klauzuli 'FOREIGN KEY'. Klucze obce są używane do tworzenia powiązań między tabelami w relacyjnych bazach danych, a nie do definiowania unikalności rekordu. Dlatego takie podejście jest niezgodne ze standardami SQL i dobrymi praktykami w projektowaniu baz danych. Zrozumienie różnicy między kluczami głównymi a obcymi jest kluczowe dla efektywnego tworzenia i zarządzania relacyjnymi bazami danych. Za pomocą klucza głównego określamy unikalność rekordu, natomiast klucz obcy pozwala na tworzenie relacji między różnymi tabelami.

Pytanie 31

W zamieszczonym przykładzie pseudoklasa hover sprawi, że styl pogrubiony będzie przypisany

a:hover { font-weight: bold; }
A. wszystkim odnośnikom nieodwiedzonym.
B. odnośnikowi, w momencie kiedy najechał na niego kursor myszy.
C. wszystkim odnośnikom odwiedzonym.
D. każdemu odnośnikowi niezależnie od aktualnego stanu.
Twoja odpowiedź jest prawidłowa. Pseudoklasa :hover w CSS jest używana do stylizacji elementów, na które najechał kursor myszy. Na przykład, jeżeli użyjemy stylu 'font-weight: bold;' z pseudoklasą :hover, tekst odnośnika stanie się pogrubiony tylko wtedy, kiedy na niego najedziemy kursorem. Jest to bardzo przydatne w interaktywnym designie strony internetowej, gdzie możemy w prosty sposób zasygnalizować użytkownikowi, że dany element jest aktywny lub interaktywny. Pamiętaj, że pseudoklasy w CSS są potężnym narzędziem, które pozwala nam na tworzenie zaawansowanych efektów bez konieczności użycia JavaScriptu. Znajomość i umiejętność wykorzystania pseudoklas jest zatem kluczową umiejętnością każdego front-end developera.

Pytanie 32

Najprostszy sposób zamiany obiektu oznaczonego cyfrą 1 na obiekt oznaczony cyfrą 2 polega na

Ilustracja do pytania
A. zmianie warstwy obiektu.
B. geometrycznym transformowaniu obiektu.
C. animowaniu obiektu.
D. narysowaniu docelowego obiektu.
Wybrana odpowiedź nie jest prawidłowa. Transformacja geometryczna to najprostszy sposób przekształcenia obiektu oznaczonego numerem 1 w obiekt oznaczony numerem 2, jak pokazano na obrazie. To nie jest kwestia 'zmiany warstwy obiektu' czy 'animowania obiektu'. Zmiana warstwy obiektu nie zmienia jego kształtu ani orientacji, co jest wymagane w tym przypadku. Z kolei animacja obiektu dodaje ruch, ale nie zmienia kształtu ani orientacji obiektu statycznego. Dodatkowo, 'narysowanie docelowego obiektu' jest niepotrzebnie pracochłonne i nie jest najprostszym podejściem do problemu. Przekształcenia geometryczne, takie jak skalowanie i obrót, są znacznie bardziej efektywne i praktyczne w takich sytuacjach. Wybierając jedną z tych niepoprawnych odpowiedzi, można nabrać błędne przekonanie co do natury i zastosowania transformacji geometrycznych.

Pytanie 33

W języku JavaScript przedstawiona poniżej definicja jest definicją
var imiona=["Anna", "Jakub", "Iwona", "Krzysztof"];

A. klasy.
B. obiektu.
C. tablicy.
D. kolekcji.
Zdefiniowanie zmiennej jako var imiona=["Anna", "Jakub", "Iwona", "Krzysztof"]; może prowadzić do nieporozumień, jeśli nie zrozumiemy, czym dokładnie jest tablica w kontekście JavaScriptu. Wybierając klasę jako odpowiedź, można pomylić koncepcje obiektowości w JavaScript, gdzie klasy są używane do tworzenia obiektów z określonymi właściwościami i metodami. Klasa jest strukturą, która opisuje typ obiektu, ale nie jest tym, co zostało zaprezentowane w tym przykładzie. Innym błędnym podejściem jest wskazanie obiektu jako odpowiedzi. Obiekt w JavaScript jest zbiorem par klucz-wartość, co różni się od tablicy, która jest zorganizowana w formie sięgającej za pomocą indeksów, a nie kluczy. W dodatku, odpowiedź mówiąca o kolekcji może wywołać zamieszanie z pojęciem tablicy, podczas gdy kolekcje w JavaScript obejmują bardziej zaawansowane struktury, takie jak Set czy Map, które mają różne zastosowania i właściwości. Typowe błędy myślowe prowadzące do takich odpowiedzi wynikają z nieprecyzyjnego rozumienia podstawowych typów danych oraz ich zastosowania w JavaScript. Dlatego kluczowe jest, aby przed podjęciem decyzji zrozumieć, jak różne struktury danych funkcjonują i jakie mają zastosowania w praktycznych scenariuszach programistycznych.

Pytanie 34

W przedstawionym kodzie HTML ukazany styl CSS to styl:

<p style="color: red;">To jest przykładowy akapit.</p>
A. lokalny.
B. nagłówkowy.
C. dynamiczny.
D. zewnętrzny.
Wybrane opcje mogą wprowadzać w błąd, gdyż każda z nich odnosi się do innego sposobu stosowania stylów w CSS. Styl zewnętrzny polega na umieszczeniu wszystkich reguł stylów w osobnym pliku CSS, który jest linkowany do dokumentu HTML. To podejście jest niezwykle efektywne, ponieważ pozwala na oddzielenie treści od prezentacji i umożliwia wielokrotne wykorzystanie tych samych stylów w różnych częściach witryny. Z kolei styl dynamiczny odnosi się do technik, które zmieniają wygląd elementów w czasie rzeczywistym, na przykład przy użyciu JavaScript lub poprzez interakcje użytkownika. Styl nagłówkowy umieszczany jest w sekcji <head> dokumentu HTML, zazwyczaj za pomocą tagu <style>, co również różni się od stylu lokalnego, który jest bezpośrednio przypisany do konkretnego elementu. Kluczową różnicą jest wpływ na organizację i zarządzanie kodem – zewnętrzne i nagłówkowe style sprzyjają lepszej strukturze, podczas gdy lokalne style mogą prowadzić do nieczytelności kodu i problemów z utrzymywaniem. Zrozumienie tych różnic jest istotne dla efektywnego projektowania stron internetowych oraz dla przestrzegania najlepszych praktyk w zakresie CSS.

Pytanie 35

Aby stworzyć warunek w zapytaniu wybierającym nazwiska wszystkich uczniów z klas początkowych (od pierwszej do trzeciej), można zastosować klauzulę

A. WHERE klasa >= 1 OR klasa <= 3
B. WHERE klasa BETWEEN 1 AND 3
C. WHERE klasa IN (1, 3)
D. WHERE klasa < 3
Zestawienie innych odpowiedzi w kontekście tego zapytania ujawnia typowe nieporozumienia dotyczące logiki operacji SQL. Klauzula "WHERE klasa < 3" jest nieprawidłowa, ponieważ obejmuje jedynie klasy 1 i 2, co oznacza, że nie uwzględnia uczniów z klasy 3, a więc nie spełnia wymagań pytania. Również użycie klauzuli "WHERE klasa IN (1, 3)" jest mylące, ponieważ wybiera tylko uczniów z klasy 1 i 3, pomijając klasę 2, co jest sprzeczne z definicją klas nauczania początkowego. Kolejna odpowiedź, "WHERE klasa >= 1 OR klasa <= 3", generuje dodatkowe zamieszanie, ponieważ jest logicznie błędna; w praktyce ten warunek zawsze będzie prawdziwy dla wszystkich klas, ponieważ każda klasa będzie spełniać przynajmniej jeden z tych warunków, co prowadzi do zwrócenia wszystkich uczniów, a nie tylko tych z nauczania początkowego. Takie nieprawidłowe użycie operatorów może prowadzić do nieefektywnych zapytań oraz zwiększonego obciążenia bazy danych, a także do niezamierzonych wyników. W przypadku pracy z bazami danych kluczowe jest zrozumienie, jak różne klauzule wpływają na zestaw danych i jakie mogą przynieść konsekwencje w kontekście wyników, co często wymaga starannej analizy oraz testowania zapytań przed ich wdrożeniem.

Pytanie 36

Aby właściwie przystosować stronę internetową dla osób niewidomych, należy przypisać wyświetlanym za pomocą znacznika img obrazom atrybut

A. style
B. alt
C. src
D. text
Atrybut 'alt' w znaczniku <img> to naprawdę ważny element, jeśli chodzi o dostępność stron internetowych dla osób niewidomych. Głównie chodzi o to, żeby zapewnić opis obrazka, który mogą zrozumieć technologie asystujące, tak jak czytniki ekranu. Dzięki temu, osoby niewidome mają możliwość dowiedzieć się, co znajduje się na zdjęciu. Na przykład, jeśli mamy zdjęcie czerwonego swetra w sklepie internetowym, to warto wpisać coś takiego jak 'Czerwony sweter z wełny' w tym atrybucie. To też pomaga w SEO, bo wyszukiwarki lubią takie opisy. W skrócie, dobrze jest stosować atrybut 'alt' przy każdym obrazie, by każdy użytkownik mógł zrozumieć treść strony.

Pytanie 37

Co oznacza zapis w obiekcie w języku JavaScript?

x = przedmiot.nazwa();
A. zmienna x będzie przechowywać rezultat działania funkcji przedmiot
B. zmienna x będzie przechowywać wynik działania metody nazwa
C. nazwa jest cechą obiektu przedmiot
D. nazwa jest atrybutem klasy przedmiot
W języku JavaScript wyrażenie przedmiot.nazwa() oznacza wywołanie metody nazwa na obiekcie przedmiot. Wynik tego wywołania jest przypisywany do zmiennej x. Metody są funkcjami zdefiniowanymi wewnątrz obiektu które mogą wykorzystywać jego dane. Przy wywołaniu metody używamy operatora kropki do dostępu do konkretnej funkcji w obiekcie. Taki zapis jest powszechnie stosowany w programowaniu obiektowym i pozwala na wykonywanie operacji zdefiniowanych w kontekście danego obiektu. Dobre praktyki zalecają aby nazewnictwo metod było opisowe co ułatwia rozumienie kodu i jego utrzymanie przez innych programistów. Przykładem może być obiekt samochód mający metodę uruchom która po wywołaniu realizuje logikę uruchomienia samochodu. Warto również zwrócić uwagę na aspekt asynchroniczności który w JavaScript ma duże znaczenie zwłaszcza przy operacjach sieciowych gdzie często stosuje się metody zwracające obietnice. Dzięki temu zapis x = przedmiot.nazwa() jest podstawowym przykładem zastosowania programowania obiektowego w praktyce

Pytanie 38

Czy przedstawione w języku CSS ustawienia czcionki będą dotyczyć dla ```* { font-family: Tahoma; color: Teal; }```?

A. całego dokumentu HTML, niezależnie od późniejszych reguł CSS
B. znaczników o id równym *
C. znaczników z klasą przypisaną równą *
D. całego dokumentu HTML, jako domyślne formatowanie dla wszystkich elementów strony
Właściwość CSS zastosowana w podanym kodzie dotyczy wszystkich elementów HTML na stronie, ponieważ użycie selektora * oznacza, że formatowanie będzie miało zastosowanie do każdego elementu, niezależnie od jego typu. Oznacza to, że czcionka Tahoma oraz kolor Teal będą domyślnie stosowane do tekstu we wszystkich znacznikach HTML. Tego rodzaju podejście jest zgodne z dobrymi praktykami w projektowaniu stron, ponieważ pozwala na jednolite formatowanie bez konieczności stylizowania każdego elementu z osobna. Przykładem zastosowania może być stworzenie spójnego wyglądu strony, gdzie wszystkie nagłówki, akapity i inne teksty mają ten sam styl, co poprawia czytelność i estetykę. Dodatkowo, takie zastosowanie stylów jest efektywne, gdyż zmiana stylu w kontekście całej strony odbywa się poprzez edytowanie jednego miejsca w kodzie CSS, co oszczędza czas i zmniejsza ryzyko błędów.

Pytanie 39

Który z elementów relacyjnej bazy danych, będący kodem w języku SQL, może być użyty w zapytaniach zmieniających kolumny danych przedstawiane w formie tabeli, niezależnie od tego, czy jest tworzony ręcznie, czy też dynamicznie?

A. Funkcja zdefiniowana
B. Reguła
C. Procedura składowa
D. Wyzwalacz
Reguła, wyzwalacz oraz procedura składowa to inne obiekty, które jednak nie spełniają wymogów opisanych w pytaniu. Reguły, które są defektem w SQL, pozwalają na określenie, jak dane powinny być modyfikowane, ale są mniej elastyczne i nie pozwalają na dynamiczne przetwarzanie. Nie są one już powszechnie używane w nowoczesnych systemach zarządzania bazami danych (DBMS), ze względu na problemy z wydajnością i zrozumiałością kodu. Wyzwalacze to mechanizmy uruchamiane automatycznie w odpowiedzi na określone operacje na danych, takie jak INSERT, UPDATE lub DELETE. Chociaż wyzwalacze mogą być przydatne do automatycznego przetwarzania danych, nie mogą być wywoływane bezpośrednio w zapytaniach SQL, co ogranicza ich zastosowanie w przypadku złożonych logik. Procedura składowa natomiast, choć może zawierać logikę modyfikacji danych i być wywoływana w odpowiedzi na określone zdarzenia, jest zdefiniowana jako zestaw instrukcji, który nie zwraca wartości ani nie może być używana bezpośrednio w zapytaniach modyfikujących kolumny danych. Procedury składowe są bardziej złożone, a ich wywołanie często wymaga dodatkowych parametrów oraz kontekstu, co czyni je mniej odpowiednimi w sytuacjach, w których potrzebna jest prostota i elastyczność.

Pytanie 40

Baza danych szkoły podstawowej dla dzieci w wieku 6 lat obejmuje tabelę szkoła, która zawiera kolumny: imie, nazwisko, klasa. Wszyscy uczniowie w klasach od 1 do 5 przeszli do wyższej klasy. W celu zwiększenia wartości w kolumnie klasa o 1, należy wykonać następujące polecenie

A. SELECT szkoła FROM klasa = klasa + 1 WHERE klasa >=1 AND klasa <= 5
B. UPDATE nazwisko, imie SET klasa = klasa + 1 WHERE klasa>l OR klasa < 5
C. SELECT nazwisko, imie FROM klasa = klasa + 1 WHERE klasa>l OR klasa < 5
D. UPDATE szkoła SET klasa = klasa + 1 WHERE klasa >=1 AND klasa <= 5
W analizie odpowiedzi, które są nieprawidłowe, można zauważyć szereg nieporozumień związanych z podstawowymi zasadami składni SQL i logiką operacji na bazach danych. W pierwszej z niepoprawnych propozycji zastosowano polecenie SELECT, które jest używane do pobierania danych, a nie do ich aktualizacji. Definicja sama w sobie jest błędna, ponieważ nie można używać SELECT do modyfikacji zawartości tabeli. Druga odpowiedź również wykorzystuje SELECT, co sprawia, że jest nieodpowiednia, ale dodatkowo wykorzystuje błędny warunek 'klasa>l OR klasa < 5', gdzie 'l' jest nieprawidłowym oznaczeniem, co wskazuje na nieporozumienie w składni. Ostatnia nieprawidłowa odpowiedź znowu używa błędnego polecenia, tym razem próbując zaktualizować 'nazwisko, imie', co jest niemożliwe, gdyż kolumna 'klasa' powinna być aktualizowana w kontekście całej tabeli 'szkoła'. Takie błędy pokazują brak zrozumienia dla struktury zapytań SQL oraz zasad dotyczących modyfikacji danych w bazach danych. Kluczowe dla efektywnego korzystania z SQL jest zrozumienie, które polecenia są odpowiednie do danych operacji oraz jakie składnie są wymagane do poprawnego ich zdefiniowania. Właściwe podejście do aktualizacji danych wymaga nie tylko znajomości polecenia UPDATE, ale także umiejętności poprawnego formułowania warunków w klauzuli WHERE, aby uniknąć niepożądanych efektów ubocznych, takich jak aktualizacja niewłaściwych rekordów.