Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 12 czerwca 2026 08:16
  • Data zakończenia: 12 czerwca 2026 08:41

Egzamin niezdany

Wynik: 14/40 punktów (35,0%)

Wymagane minimum: 20 punktów (50%)

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

Którego znacznika należy użyć, aby przejść do nowej linii tekstu, nie tworząc nowego akapitu?

A.
</b>
B.
<p>
C.
</br>
D.
<br>
Znacznik <br> wymusza złamanie wiersza - przenosi dalszy tekst do nowej linii, nie rozpoczynając przy tym nowego akapitu ani dodatkowych odstępów. Jest to element pusty (void), więc w HTML5 zapisuje się go bez ukośnika i bez znacznika zamykającego (poprawnie <br>, a nie </br>). Używa się go np. w adresach czy wierszach wiersza, gdzie liczy się dokładny podział linii. Do oddzielania bloków tekstu właściwy jest jednak akapit <p>. Dlatego nową linię bez akapitu daje <br>.

Pytanie 2

Wskaź, która instrukcja jest równoważna z instrukcją switch w języku PHP?

Ilustracja do pytania
A. Instrukcja 1
B. Instrukcja 4
C. Instrukcja 2
D. Instrukcja 3
Instrukcja switch w PHP służy do wykonywania różnych bloków kodu w zależności od wartości wyrażenia. W podanym przykładzie, jeśli zmienna $liczba wynosi 10 lub 20, zostanie zwiększona o 1. W przeciwnym razie $liczba zostanie ustawiona na 0. Instrukcja 2 używa warunku if z operatorem or, który sprawdza, czy $liczba jest równa 10 lub 20, co odpowiada logice w switch. Dzięki temu, mimo że struktura instrukcji if różni się od switch, logika działania jest identyczna. Praktycznie, użycie instrukcji if z operatorem or w takich sytuacjach jest czytelne i wydajne zwłaszcza jeśli mamy do czynienia z ograniczoną liczbą warunków. Warto zauważyć, że switch jest bardziej efektywny, gdy mamy wiele przypadków do sprawdzenia, ale if z operatorami logicznymi jest bardziej elastyczny, co czyni go przydatnym w różnorodnych scenariuszach programistycznych. Dobre praktyki wskazują na wybór struktury kontrolnej w zależności od złożoności i specyfiki problemu, co pozwala na optymalizację czytelności i utrzymania kodu.

Pytanie 3

Na ilustracji przedstawiono strukturę bloków na stronie internetowej. Który z poniższych fragmentów CSS odpowiada takim ustawieniom? (Dla uproszczenia pominięto właściwości dotyczące koloru tła, wysokości oraz czcionki)

Ilustracja do pytania
A. #pierwszy { width: 30%; } #drugi { width: 70%; } #trzeci { width: 70%; } #czwarty { width: 100%; }
B. #pierwszy{float:left; width:30%;} #drugi {clear:both; width:70%;} #trzeci {clear:both; width:70%;} #czwarty {float:left; width:100%;}
C. #pierwszy {float:left; width:30%;} #drugi {float:left; width:70%;} #trzeci {float:left; width:70%;} #czwarty {clear:both; }
D. #pierwszy {float:left; width:30%; } #drugi {clear:both; width:70%; } #trzeci {float:left; width:70%; } #czwarty {clear:both; }
Inne odpowiedzi wykorzystują niewłaściwe zastosowanie właściwości float oraz clear, co skutkuje nieprawidłowym wyświetlaniem elementów na stronie. Użycie clear:both dla elementów, które powinny być wyświetlane w tej samej linii co inne elementy, powoduje, że te elementy są przesuwane do nowej linii, co nie jest zgodne z zamierzonym układem. Clear:both powinno być stosowane w celu zakończenia efektu float i rozpoczęcia nowego wiersza dla elementów, które mają być poniżej tych unoszących się. Ponadto brak użycia float przy elementach takich jak #drugi i #trzeci oznacza, że nie będą one ułożone w jednej linii, co jest kluczowe dla zaawansowanego rozplanowania przestrzeni na stronie. Niepoprawne użycie tych właściwości może prowadzić do niezgodności w różnych przeglądarkach, co jest częstym błędem w projektowaniu stron. Wiedza o tym, jak i kiedy stosować float oraz clear, jest niezbędna w tworzeniu funkcjonalnych i estetycznych layoutów. Zrozumienie właściwego użycia tych mechanizmów pozwala na unikanie problemów związanych z układem strony, szczególnie w kontekście responsywności i kompatybilności z różnymi urządzeniami. Dlatego ważne jest, aby dobrze zrozumieć zasady relacji między elementami, aby tworzyć bardziej złożone struktury stron internetowych, które są zgodne z obecnymi standardami web developmentu.

Pytanie 4

W skrypcie JavaScript użyto metody DOM getElementsByClassName('akapit'). Ta metoda odniesie się do akapitu

A. <p href="/akapit">akapit3</p>
B. <p class="akapit">akapit4</p>
C. <p>akapit</p>
D. <p id="akapit">akapit2</p>
Metoda DOM getElementsByClassName jest jedną z najważniejszych funkcji w JavaScript, która pozwala na selekcję elementów na stronie internetowej na podstawie ich klas CSS. W tym przypadku, odpowiedź <p class="akapit">akapit4</p> jest poprawna, ponieważ element ten ma przypisaną klasę "akapit", co czyni go bezpośrednim kandydatem do selekcji przez metodę getElementsByClassName('akapit'). Metoda ta zwraca kolekcję elementów (HTMLCollection), które mają podaną klasę, a następnie można z nimi pracować w kodzie JavaScript. Na przykład, możemy zmieniać ich style, zawartość lub dodawać zdarzenia. Dobrą praktyką jest stosowanie klas do stylizacji oraz manipulacji DOM, co pozwala na lepszą organizację kodu i zwiększa jego czytelność. Pamiętaj, że klasy są bardziej uniwersalne i elastyczne niż identyfikatory (ID), które powinny być unikalne na stronie. W przypadku konieczności stosowania metod do manipulacji elementami DOM, warto znać również inne metody, takie jak querySelector i querySelectorAll, które oferują bardziej zaawansowane opcje selekcji, umożliwiające wykorzystanie kombinacji klas, identyfikatorów i innych atrybutów.

Pytanie 5

Jakie obiekty w bazie danych służą do podsumowywania, prezentacji oraz drukowania danych?

A. zapytanie
B. raport
C. formularz
D. zestawienie
Raport jest narzędziem w bazach danych, które umożliwia podsumowywanie, wyświetlanie i wydruk danych w zorganizowanej formie. Jego głównym celem jest przedstawienie informacji w sposób zrozumiały i estetyczny, co jest szczególnie ważne w kontekście analizy danych oraz podejmowania decyzji biznesowych. Raporty mogą być wykorzystane do generowania zestawień wyników finansowych, analiz sprzedaży czy statystyk użytkowników. Umożliwiają one również prezentację danych w formie tabel, wykresów i diagramów, co zwiększa ich czytelność. W branży IT i zarządzania danymi, dobrą praktyką jest korzystanie z narzędzi raportowych, które integrują się z bazami danych, co pozwala na automatyczne aktualizowanie danych oraz lepszą wizualizację. Warto również wspomnieć o różnych formatach, w jakich raporty mogą być generowane, takich jak PDF, XLSX czy HTML, co umożliwia ich łatwe udostępnianie i archiwizowanie.

Pytanie 6

W bazie danych dotyczącej sklepu znajduje się tabela artykuły, która posiada pole o nazwie nowy. Jak można zaktualizować to pole, aby dla każdego rekordu wprowadzić wartość TRUE, stosując odpowiednią kwerendę?

A. UPDATE nowy FROM artykuły VALUE TRUE
B. INSERT INTO nowy FROM artykuły SET TRUE
C. UPDATE artykuły SET nowy=TRUE
D. INSERT INTO artykuły VALUE nowy=TRUE
Zastosowane w niepoprawnych odpowiedziach metody są błędne z kilku powodów, które warto przeanalizować. W pierwszym przypadku, INSERT INTO artykuły VALUE nowy=TRUE; próbuje wykorzystać instrukcję INSERT do wstawienia nowych danych, co jest nieodpowiednie w kontekście aktualizacji istniejących rekordów. INSERT służy do dodawania nowych wierszy, a nie do modyfikacji istniejących, co skutkuje nieadekwatnością do przedstawionego problemu. W drugim przykładzie, UPDATE nowy FROM artykuły VALUE TRUE; nie ma poprawnej składni SQL. Konstrukcja ta nie uwzględnia prawidłowego użycia klauzuli SET, co powoduje, że kwerenda byłaby nieefektywna. Trzeci wariant, INSERT INTO nowy FROM artykuły SET TRUE;, nie ma też sensu, ponieważ pole 'nowy' nie powinno być wstawiane jako nowy rekord. Tego typu błędy często wynikają z nieznajomości i źle zrozumianej składni SQL. Ponadto, nieodpowiednie użycie instrukcji INSERT oraz błędne koncepcje dotyczące aktualizacji danych w bazie mogą prowadzić do poważnych zniekształceń danych. W kontekście dobrych praktyk, kluczowe jest zrozumienie różnicy między operacjami INSERT i UPDATE oraz ich właściwym zastosowaniem w praktyce dla zapewnienia spójności oraz prawidłowego zarządzania danymi.

Pytanie 7

Z czego skorzystać, aby tworzyć strony internetowe w sposób GRAFICZNY (wizualny)?

A. przeglądarki internetowej
B. programu typu WYSIWYG
C. edytora CSS
D. programu MS Office Picture Manager
Pozostałe narzędzia nie służą do wizualnego budowania stron. Edytor CSS to wpisywanie reguł stylów (tekstowo). Przeglądarka WYŚWIETLA gotowe strony, a MS Office Picture Manager to program do obrazów. Wizualne tworzenie stron umożliwia program WYSIWYG.

Pytanie 8

Aby utworzyć tabelę w języku SQL, należy użyć polecenia

A. ADD TABLE
B. INSERT TABLE
C. CREATE TABLE
D. ALTER TABLE
Odpowiedź 'CREATE TABLE' jest poprawna, ponieważ w języku SQL to polecenie jest używane do tworzenia nowych tabel w bazie danych. Umożliwia definiowanie struktury tabeli, w tym nazw kolumn, typów danych oraz ograniczeń, takich jak klucze główne czy unikalność. Przykładowe użycie polecenia 'CREATE TABLE' może wyglądać następująco: 'CREATE TABLE pracownicy (id INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50));'. W tym przykładzie tworzymy tabelę 'pracownicy' z trzema kolumnami: 'id', 'imie' oraz 'nazwisko'. Warto zaznaczyć, że zgodnie z najlepszymi praktykami, przed wykonaniem polecenia warto sprawdzić, czy tabela o danej nazwie już istnieje, aby uniknąć błędów związanych z podwójnym tworzeniem. Zapewnienie odpowiedniej struktury bazy danych już na etapie jej tworzenia przekłada się na lepszą wydajność oraz łatwiejsze zarządzanie danymi w przyszłości.

Pytanie 9

Wskaż blok, który jest sformatowany zgodnie z podanym stylem CSS.

background: linear-gradient(to right, LightBlue, DarkBlue);
Ilustracja do pytania
A. Blok 3
B. Blok 2
C. Blok 4
D. Blok 1
Blok 2 jest poprawną odpowiedzią ponieważ wykorzystuje styl CSS background linear-gradient(to right LightBlue DarkBlue) co oznacza że gradient kolorów rozciąga się od lewej do prawej strony elementu CSS linear-gradient pozwala na tworzenie gładkich przejść między kolorami co jest popularną techniką w projektowaniu stron internetowych Styl ten dodaje wizualnej atrakcyjności i może być użyty w różnych częściach witryny takich jak przyciski nagłówki czy tła sekcji Właściwość gradientu pozwala na zastosowanie wielu kolorów i kontrolowanie ich punktów początkowych i końcowych co zwiększa elastyczność projektowania Ponadto gradienty są wspierane przez wszystkie nowoczesne przeglądarki co czyni je doskonałym wyborem dla responsywnych stron internetowych Wykorzystanie gradientów zamiast obrazów tła pomaga także w optymalizacji strony zmniejszając czas ładowania co jest zgodne z najlepszymi praktykami branżowymi i wpływa pozytywnie na doświadczenie użytkownika CSS oferuje również inne typy gradientów takie jak radial-gradient i conic-gradient które mogą być używane w zależności od potrzeb projektowych

Pytanie 10

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. grupowania.
B. wykluczenia.
C. sumy.
D. części wspólnej.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno.
Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji.
Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 11

Jaki jest efekt działania programu w JavaScript?

var osoba = prompt("Podaj imię", "Adam");
A. otwarcie okna z polem do edycji, w którym znajduje się domyślny tekst "Adam"
B. uzyskanie z formularza wyświetlonego na stronie HTML imienia "Adam"
C. przypisanie do zmiennej osoba wartości "Adam"
D. pojawi się okno z pustym polem do edycji
Kod var osoba = prompt('Podaj imię' 'Adam') używa funkcji prompt która jest specyficznym mechanizmem w JavaScript. Funkcja ta nie przypisuje bezpośrednio wartości Adam do zmiennej osoba w sposób jawny ale prezentuje użytkownikowi okno dialogowe z domyślną wartością. To okno dialogowe zawiera pole tekstowe które umożliwia edycję przez użytkownika. Użytkownik może pozostawić sugerowaną wartość Adam lub ją zmienić wprowadzając dane. W przypadku gdy użytkownik kliknie anuluj zmienna osoba zostanie ustawiona na null. Z tego powodu odpowiedź sugerująca bezpośrednie przypisanie wartości do zmiennej nie jest poprawna. Koncepcja pobrania imienia z formularza HTML również jest błędna ponieważ nie jest to forma interakcji z formularzem a z oknem dialogowym. Formularze HTML mają swoją własną strukturę i sposób manipulacji danymi który różni się od metody używanej w przypadku prompt. Kolejnym błędnym założeniem jest twierdzenie że okno dialogowe jest puste. Prompt oferuje możliwość podania domyślnej wartości co zostało zrealizowane w przykładzie poprzez umieszczenie Adama jako drugiego argumentu funkcji. Zrozumienie różnic w działaniu funkcji JavaScript oraz ich ograniczeń jest kluczowe w projektowaniu efektywnych interfejsów użytkownika na stronach internetowych. Programiści powinni być świadomi standardów i dobrych praktyk związanych z używaniem różnych metod interakcji w aplikacjach webowych by zapewnić optymalne doświadczenia użytkownika i kompatybilność z nowoczesnymi przeglądarkami internetowymi. Funkcje takie jak prompt są wygodne lecz ich użycie wymaga zrozumienia kontekstu i potencjalnych ograniczeń bezpieczeństwa oraz kompatybilności z przeglądarkami które mogą wpływać na sposób ich obsługi w bardziej złożonych aplikacjach webowych. Dlatego nowoczesne rozwiązania często korzystają z bardziej złożonych mechanizmów jak formularze HTML z dynamicznymi stylami i skryptami które pozwalają na większą kontrolę i elastyczność w interakcji z użytkownikiem.

Pytanie 12

Wskaż element, który definiuje pole edycyjne formularza zgodne z ilustracją

Ilustracja do pytania
A. <input type="month" id="hh" name="mm">
B. <input type="date" id=" minutes" name="hours">
C. <input type="number" id="mm" name="hh" min="0" max="24">
D. <input type="time" id="minutes" name="hours">
W tym zadaniu kluczowe jest zrozumienie różnic pomiędzy poszczególnymi typami pól formularza w HTML5. Ilustracja pokazuje prosty formularz, w którym użytkownik ma podać godzinę zakończenia egzaminu w formacie hh:mm. To oznacza, że interesuje nas wyłącznie czas (godziny i minuty), bez daty, bez miesiąca, bez liczb z dowolnego zakresu. HTML5 wprowadził specjalne typy pól właśnie po to, żeby takie sytuacje obsługiwać dokładnie i w sposób przewidywalny.
Element z type="month" służy do wyboru miesiąca i roku, zwykle w formacie RRRR-MM. Przeglądarka wyświetla wtedy kontrolkę pozwalającą wybrać miesiąc, a nie godzinę. Użycie go do wprowadzania czasu byłoby kompletnie nieintuicyjne dla użytkownika i łamałoby założenia semantycznego HTML. To jest typowy błąd: patrzymy na atrybut i myślimy „month, minutes, coś z czasem”, a to zupełnie inny zakres danych.
Z kolei pole type="date" obsługuje pełną datę, najczęściej w formacie RRRR-MM-DD. Tu pojawia się kolejna pułapka: skoro egzamin ma jakąś datę, to może warto użyć date? Tylko że w treści i na ilustracji mowa jest wyraźnie o godzinie zakończenia, a nie o dniu egzaminu. type="date" wyświetli kalendarz, co kompletnie nie pasuje do opisu formatu „hh : mm” i wprowadzałoby użytkownika w błąd.
Ostatnia propozycja, type="number" z zakresem min="0" max="24", wygląda na pierwszy rzut oka kusząco, bo pozwala ograniczyć wartości do liczb. Jednak takie pole nie rozumie pojęcia czasu, nie ma formatu hh:mm, nie waliduje dwóch części (godziny i minuty), a dodatkowo zakres 0–24 jest nieprecyzyjny (co z minutami, co z 23:59 itd.). To tylko surowa liczba, bez kontekstu semantycznego. W praktyce zmuszałoby to programistę do pisania dodatkowej logiki walidującej i parsującej.
Cały sens HTML5 polega na tym, żeby dobierać typy pól zgodnie z danymi, które użytkownik ma wprowadzić. Wtedy przeglądarka może pomóc z walidacją, dostępnością i wygodą obsługi na urządzeniach mobilnych. Wybór innego typu niż time w tym konkretnym przypadku jest więc nie tylko formalnie błędny, ale też sprzeczny z dobrymi praktykami projektowania formularzy webowych.

Pytanie 13

Którego atrybutu użyć, aby scalić w POZIOMIE dwie sąsiednie komórki w wierszu tabeli?

A.
cellspacing
B.
colspan
C.
rowspan
D.
cellpadding
Trzeba odróżnić scalanie poziome od pionowego. rowspan łączy komórki w PIONIE (przez wiersze). cellpadding i cellspacing to atrybuty całej tabeli sterujące odstępami, a nie scalaniem. Poziome scalanie komórek daje colspan.

Pytanie 14

Jakie parametry powinny być ustawione w funkcji biblioteki mysqli, aby umożliwić połączenie z serwerem oraz bazą danych?

mysqli_connect($a, $b, $c, $d) or die('Brak połączenia z serwerem MySQL.');
A. adres serwera - $c, nazwa bazy danych - $d, login - $a, hasło - $b
B. adres serwera - $c, nazwa bazy danych - $d, login - $b, hasło - $a
C. adres serwera - $a, nazwa bazy danych - $b, login - $c, hasło - $d
D. adres serwera - $a, nazwa bazy danych - $d, login - $b, hasło - $c
W przypadku niepoprawnych odpowiedzi można zauważyć typowe błędy związane z zrozumieniem argumentów funkcji mysqli_connect. Wiele osób myli kolejność zmiennych oraz ich znaczenie. Na przykład, podanie adresu serwera jako $c lub $d jest błędne, ponieważ pierwszy argument zawsze powinien wskazywać na adres serwera. Warto również zwrócić uwagę na znaczenie loginu i hasła – nie można ich zamieniać miejscami, ponieważ każdy z tych parametrów pełni inną funkcję w kontekście autoryzacji do bazy danych. W ramach dobrych praktyk programistycznych, istotne jest także stosowanie raz jeszcze uwierzytelnienia użytkownika, co pozwala uniknąć nieautoryzowanego dostępu do danych. Przykłady niepoprawnych odpowiedzi pokazują też, że błędne przypisanie nazw bazy danych do zmiennych może prowadzić do błędów w aplikacji, co w efekcie utrudnia jej działanie oraz zwiększa ryzyko wycieków danych. Kluczowe jest zrozumienie, że każdy parametr pełni specyficzną rolę w tworzeniu połączenia. Niezrozumienie tego kontekstu może prowadzić do trudności w dalszym programowaniu oraz w diagnostyce problemów z bazą danych.

Pytanie 15

Która właściwość języka CSS może przyjmować wartości: underline, overline, line-through?

A. font-style
B. text-decoration
C. text-style
D. font-weight
W tym pytaniu łatwo się pomylić, bo wszystkie odpowiedzi wyglądają jakby miały coś wspólnego z tekstem i czcionką, ale tylko jedna faktycznie odpowiada za podkreślenia, nadkreślenia i przekreślenia. Właściwości `text-style` w ogóle nie ma w standardzie CSS – to jest dość typowy błąd: próbujemy zgadnąć nazwę „na logikę”, zamiast pamiętać faktycznie zdefiniowane właściwości z dokumentacji. W specyfikacji W3C nie znajdziemy `text-style`, więc przeglądarka i tak ją zignoruje.
`font-style` jest już prawdziwą właściwością CSS, ale jej rola jest inna. Służy do określania stylu kroju pisma, czyli np. `normal`, `italic`, `oblique`. Używamy jej, gdy chcemy zrobić tekst pochylony, np. dla cytatów czy nazw własnych. Nie ma ona nic wspólnego z podkreślaniem czy przekreślaniem tekstu. Często osoby początkujące mylą sprawy wyglądu „czcionki” (fontu) z dekoracjami tekstu, ale w CSS jest to wyraźnie rozdzielone na osobne właściwości.
Z kolei `font-weight` odpowiada za grubość pisma, czyli pogrubienie. Standardowe wartości to np. `normal`, `bold` albo liczby jak `400`, `700`. Kiedy chcemy uzyskać efekt pogrubionego nagłówka czy ważnego fragmentu, stosujemy właśnie `font-weight`, a nie `text-decoration`. Pogrubienie i podkreślenie to wizualnie różne efekty i w CSS mają inne mechanizmy.
Za linie typu `underline`, `overline`, `line-through` zawsze odpowiada rodzina właściwości `text-decoration`. To jest ważna granica: wszystko co jest „krojem pisma” to `font-*`, a wszystko co jest „ozdobą tekstu” typu linie, styl linii, kolor linii – to `text-decoration` i jego pochodne. Mylenie tych grup prowadzi do kodu, który niby wygląda sensownie, ale po prostu nie działa, bo przeglądarka ignoruje nieistniejące lub źle użyte właściwości. Dlatego dobrze jest opierać się na oficjalnych nazwach z dokumentacji, a nie intuicji nazewniczej.

Pytanie 16

Przy edytowaniu obrazu w programie graficznym rastrowym należy usunąć kolory z obrazu, aby uzyskać jego wersję w skali szarości. Jaką funkcję można zastosować, aby osiągnąć ten efekt?

A. kadrowania
B. szumu RGB
C. desaturacji
D. filtru rozmycia
Filtr rozmycia, szum RGB oraz kadrowanie to techniki, które nie służą do usuwania kolorów z obrazu, co czyni je nieodpowiednimi w kontekście uzyskiwania odcieni szarości. Rozmycie, które jest często stosowane do wygładzania krawędzi i redukcji szumów w obrazach, nie wpływa na kolorystykę, a jedynie na ostrość detali. Stosowanie filtru rozmycia w nadmiarze może prowadzić do utraty ważnych informacji wizualnych, co w kontekście edycji nie jest pożądane. Szum RGB jest techniką wprowadzania losowych danych kolorystycznych, która może być użyta do generowania efektów specjalnych, ale nie ma zastosowania w procesie desaturacji, gdyż zamiast eliminować kolory, może je wprowadzać. Kadrowanie jest natomiast procesem przycinania obrazu do wybranego formatu, co również nie ma związku z usuwaniem kolorów, a bardziej z kompozycją wizualną. Typowym błędem myślowym jest założenie, że każdy proces edycji obrazu może być użyty zamiennie. Kluczowe jest zrozumienie, że różne techniki służą różnym celom i wybór odpowiedniej metody powinien być oparty na zamierzeniach artystycznych oraz technicznych wymogach projektu.

Pytanie 17

Formularze do zarządzania bazami danych są tworzone w celu

A. wyszukiwania rekordów, które spełniają określone kryteria
B. generowania raportów z danych
C. tworzenia powiązań w relacyjnych bazach danych
D. ułatwienia wprowadzania, edytowania i usuwania danych
Wiele osób może pomylić funkcję formularzy w bazach danych z ich rolą w raportowaniu danych. Chociaż formularze mogą być używane do generowania raportów, ich głównym celem nie jest prezentacja danych, ale ułatwienie ich wprowadzania oraz zarządzania. Raporty zazwyczaj są generowane na podstawie danych już istniejących w bazie i wymagają analizy, co wykracza poza funkcję formularzy. Z kolei wyszukiwanie wierszy spełniających określone kryteria, choć istotne, również nie jest głównym zadaniem formularzy. Wyszukiwanie to proces związany z kwerendami SQL, który pozwala na wydobycie danych na podstawie różnych warunków, co także nie jest bezpośrednio związane z funkcjonalnością formularzy, które skupiają się na interakcji użytkownika z danymi. Ponadto, wprowadzanie powiązań w relacyjnych bazach danych to bardziej zaawansowany proces projektowania bazy, który wymaga zrozumienia struktury danych i zastosowania kluczy głównych oraz obcych. Powiązania są definiowane na etapie projektowania bazy danych, a nie podczas korzystania z formularzy. Dlatego, chociaż wszystkie wymienione funkcje są istotne w kontekście zarządzania danymi, formularze skupiają się głównie na uproszczeniu interakcji użytkownika z procesem wprowadzania i modyfikacji danych.

Pytanie 18

Aby przyspieszyć ładowanie strony z dużą grafiką (2000×760 px), należy zmniejszyć jej rozmiar:

A. w programie graficznym
B. właściwością CSS w pikselach
C. właściwością CSS w procentach
D. za pomocą atrybutów HTML
Pozostałe sposoby nie zmniejszają tego, co przeglądarka musi pobrać. Atrybuty HTML (width/height) oraz właściwości CSS - czy to w pikselach, czy w procentach - sterują tylko rozmiarem wyświetlania obrazu na ekranie. Plik źródłowy nadal waży tyle samo i w całości jest ściągany, więc czas ładowania się nie poprawia, a obraz bywa dodatkowo skalowany „w locie”. Realne przyspieszenie daje zmniejszenie wymiarów i kompresja pliku w programie graficznym, dlatego to ta odpowiedź jest poprawna.

Pytanie 19

Którego znacznika użyć, aby wstawić na stronę obraz JPG?

A.
<src>
B.
<img>
C.
<jpg>
D.
<table>
Obraz (np. JPG) wstawia się na stronę znacznikiem <img> z atrybutem src wskazującym plik. Dlatego do wstawienia obrazu służy <img>.

Pytanie 20

Której pseudoklasy CSS użyć, aby element zmieniał kolor po najechaniu kursorem?

A.
:hover
B.
:visited
C.
:coursor
D.
:active
Pseudoklasa :hover zmienia wygląd elementu, gdy najedzie na niego kursor, np. a:hover { color: red; } podświetli link pod myszą. To podstawowy sposób na interaktywne reakcje bez JavaScriptu. Zapamiętaj: „hover” = unoszenie kursora nad elementem.

Pytanie 21

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. A.
B. D.
C. B.
D. C.
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 22

Którego atrybutu użyć, aby kolumna nie przyjmowała wartości PUSTEJ?

A.
NULL
B.
NOT NULL
C.
DEFAULT
D.
UNIQUE
Pozostałe atrybuty robią coś innego, a część wręcz odwrotnego. NULL jawnie POZWALA na puste wartości - to przeciwieństwo wymagania. UNIQUE pilnuje, by wartości się nie powtarzały, ale dopuszcza pustkę. DEFAULT podstawia wartość domyślną, gdy żadnej nie podano, lecz nie zakazuje pustki. Zakaz pustej wartości daje wyłącznie NOT NULL.

Pytanie 23

W języku HTML atrybut shape w znaczniku area, który definiuje typ obszaru, może mieć wartość

A. rect, poly, circle
B. poly, square, circle
C. rect, triangle, circle
D. rect, square, circle
Wybór nieprawidłowych wartości atrybutu shape może prowadzić do istotnych deficytów w funkcjonalności interaktywnych map obrazów. Na przykład, odpowiedź z wykorzystaniem wartości triangle jest błędna, gdyż HTML nie definiuje obsługi trójkąta jako kształtu obszaru w znaczniku area. Użytkownicy mogą błędnie zakładać, że różne kształty mogą być dowolnie definiowane, co jest mylnym podejściem, ponieważ HTML ma ściśle określone standardy dotyczące kształtów. Odpowiedzi takie jak square czy rectangle mogą prowadzić do nieporozumień, gdyż square jest de facto specjalnym przypadkiem rect. W praktyce, zrozumienie różnicy pomiędzy tymi wartościami oraz ich właściwe wykorzystanie jest kluczowe dla osiągnięcia zamierzonych celów w zakresie interaktywności. Używanie niewłaściwych kształtów może skutkować niewłaściwą nawigacją na stronie, co negatywnie wpływa na doświadczenia użytkowników oraz dostępność treści. Dlatego ważne jest, aby projektanci stron WWW opierali się na rzetelnych źródłach dokumentacji oraz standardów W3C, które definiują, jakie kształty są dostępne oraz w jaki sposób powinny być stosowane. Zastosowanie niepoprawnych wartości nie tylko wpłynie na działanie mapy, ale również może prowadzić do błędów w SEO, ponieważ niewłaściwie zdefiniowane obszary mogą być pomijane przez wyszukiwarki, co ogranicza widoczność strony w sieci.

Pytanie 24

Funkcja zapisana w języku PHP ma postać jak poniżej. Jej zadaniem jest

function fun1($liczba)
{
    if($liczba % 2 == 0)
        return 1;

    return 0;
}
A. wypisanie liczby nieparzystej.
B. wypisanie liczby parzystej.
C. zwrócenie wartości 0, gdy liczba jest parzysta.
D. zwrócenie wartości 1, gdy liczba jest parzysta.
Wybrana przez Ciebie odpowiedź jest niepoprawna. W analizowanej funkcji nie ma elementów, które sugerowałyby wypisywanie wyniku, a tylko zwracanie go - stąd odpowiedzi sugerujące wypisywanie są błędne. Funkcja fun1($liczba) w PHP zwraca wartość 1, gdy liczba podana jako argument jest parzysta, a nie wypisuje jej. W PHP, do wypisywania wartości służy funkcja echo lub print, której tutaj brakuje. Poza tym, funkcja zwraca wartość 0, gdy liczba nie jest parzysta, a nie gdy jest parzysta - zatem, ostatnia odpowiedź także jest niepoprawna. Błędne odpowiedzi wynikają z niewłaściwego zrozumienia mechanizmu działania funkcji i operacji, które na niej są wykonywane. Ważne jest, aby umieć odróżnić operacje zwracania wartości od wypisywania jej, a także zrozumieć znaczenie operatora modulo i warunku porównania w kontekście analizowanej funkcji.

Pytanie 25

W kontekście PGP zmienna $_GET jest zmienną

A. predefiniowaną, służącą do zbierania wartości z formularzy po nagłówkach zapytań HTTP (dane z formularzy nie są widoczne w URL)
B. zdefiniowaną przez autora strony, wykorzystywaną do przesyłania danych z formularzy przez adres URL
C. zwykłą, stworzoną przez autora strony
D. predefiniowaną, stosowaną do przesyłania informacji do skryptów PHP poprzez adres URL
Odpowiedzi dotyczące zmiennej $_GET zawierają szereg nieścisłości, które mogą wprowadzać w błąd. Pierwsza z nich sugeruje, że $_GET jest używana do gromadzenia wartości formularza po nagłówkach zlecenia HTTP. W rzeczywistości, $_GET jest używana do przesyłania danych poprzez adres URL, a nie z nagłówków formularza; to zmienna $_POST odpowiada za przesyłanie danych z formularza, których nie widać w adresie. Druga niepoprawna odpowiedź twierdzi, że $_GET jest zdefiniowana przez twórcę strony. Należy podkreślić, że $_GET jest zmienną predefiniowaną, co oznacza, że jest wbudowana w PHP i nie można jej zmienić ani zdefiniować na nowo. Ostatnia odpowiedź sugeruje, że $_GET jest zwykłą zmienną, co jest nieprecyzyjne, ponieważ zmienne predefiniowane, takie jak $_GET, mają specjalne znaczenie i funkcjonalność w kontekście aplikacji webowych. W związku z tym każda z tych odpowiedzi zawiera błędne zrozumienie roli zmiennej $_GET, co może prowadzić do nieprawidłowego użycia tej zmiennej w praktyce.

Pytanie 26

Metoda i zmienna są dostępne dla metod tej klasy ORAZ klas po niej dziedziczących (potomnych). Który modyfikator?

A.
public
B.
protected
C.
static
D.
private
Modyfikator protected udostępnia składowe metodom TEJ klasy ORAZ klasom po niej DZIEDZICZĄCYM (potomnym), ale nie kodowi z zewnątrz. To pośredni poziom między private a public, przydatny, gdy klasa bazowa ma coś udostępnić dziedzicom, lecz ukryć przed światem. Zapamiętaj: protected = „dla mnie i moich potomków”.

Pytanie 27

Fragment kodu w języku PHP przedstawia się następująco (patrz ramka): W wyniku wykonania pętli zostaną wyświetlone liczby

Ilustracja do pytania
A. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
B. 0, 4, 8, 12, 16
C. 0, 4, 8, 12, 16, 20
D. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
Pętla for w PHP to naprawdę podstawowe narzędzie, które pozwala nam w łatwy sposób powtarzać różne operacje na danych. W tej pętli zaczynamy od $i równego 0, a kończymy, kiedy $i osiągnie 20. W każdej iteracji dodajemy 4 do $i, więc wypisujemy liczby od 0 do 20, co 4 jednostki. Super sprawa, jeśli chcemy równomiernie przetwarzać dane. Przykładowo, gdy mamy jakieś tabele z danymi albo potrzebujemy wygenerować wykresy w regularnych odstępach, to taka pętla się przydaje. Stosowanie pętli to też dobra praktyka programistyczna, bo automatyzuje nam powtarzalne zadania, co czyni kod bardziej przejrzystym. Jak zrozumiesz, jak działa ta pętla, to dużo łatwiej będzie ci tworzyć różne algorytmy, co jest super ważne w informatyce.

Pytanie 28

Funkcji session_start() w PHP należy używać podczas realizacji

A. każdej strony, która wykorzystuje ciasteczka
B. wielostronicowej strony internetowej, która wymaga dostępu do danych przy przechodzeniu między stronami
C. przetwarzania formularzy
D. ładowania danych z zewnętrznych plików
Stosowanie funkcji session_start() w kontekście wczytywania danych z plików zewnętrznych jest nieadekwatne, ponieważ głównym celem tej funkcji jest zarządzanie sesjami użytkowników, a nie operacje na plikach. W przypadku wczytywania danych, zazwyczaj korzystamy z funkcji takich jak fopen(), fread() czy file_get_contents(), które są bezpośrednio przeznaczone do pracy z danymi przechowywanymi w plikach. Ponadto, wykorzystanie sesji w kontekście ciasteczek jest również mylące. Sesje w PHP mogą współpracować z ciasteczkami do przechowywania identyfikatorów sesji, ale ich użycie nie jest tożsame z prostą obsługą ciasteczek, która dotyczy bardziej danych o preferencjach użytkowników. Obsługa formularzy również nie wymaga bezpośrednio sesji, chociaż można je używać do przechowywania danych z formularzy pomiędzy różnymi stronami. Typowym błędem jest mylenie koncepcji związanych z trwałością danych i ich dostępnością. Sesje są używane do przechowywania stanu użytkownika w ramach danej wizyty na stronie, a nie do wczytywania danych czy ustawień globalnych, stąd ich zastosowanie w tych kontekstach jest ograniczone i nieodpowiednie.

Pytanie 29

Instrukcja w języku JavaScript

var napis1 = new napisy();
ma na celu
A. stworzenie nowej klasy napis1
B. wykonanie metody obiektu napisy
C. stworzenie obiektu napis1 z klasy napisy
D. zadeklarowanie zmiennej napis1 oraz uruchomienie funkcji, która przyjmuje jako argument napis1
Odpowiedź jest poprawna, ponieważ zapis "var napis1 = new napisy();" faktycznie tworzy nowy obiekt o nazwie "napis1" na podstawie klasy "napisy". W JavaScript, użycie słowa kluczowego "new" jest niezbędne do instancjonowania obiektu z klasy. Klasy w JavaScript definiują strukturę obiektów, a w tym przypadku "napisy" może być zdefiniowaną przez programistę klasą, która zawiera różne metody i właściwości związane z obiektami tego typu. Przykładowo, jeśli klasa "napisy" ma metody do manipulacji tekstem, to obiekt "napis1" może wykorzystywać te metody do operacji na łańcuchach tekstowych. W praktyce, prawidłowe stosowanie klas i obiektów w programowaniu obiektowym pozwala na lepsze organizowanie kodu, zwiększa jego czytelność oraz umożliwia ponowne wykorzystanie kodu. Warto również zauważyć, że tworzenie obiektów w ten sposób jest zgodne z najlepszymi praktykami programistycznymi, co przyczynia się do bardziej strukturalnego podejścia do rozwoju aplikacji webowych.

Pytanie 30

Który z akapitów został sformatowany zgodnie z przedstawionym stylem, zakładając, że pozostałe właściwości akapitu mają wartości domyślne?

Ilustracja do pytania
A. Odpowiedź B
B. Odpowiedź A
C. Odpowiedź D
D. Odpowiedź C
Wybór nieprawidłowych odpowiedzi może wynikać z niezrozumienia specyfiki stylów CSS zastosowanych w tym pytaniu. Opcja A stosuje pełne wypełnienie kolorem tła, co nie jest zgodne z przedstawionym stylem, ponieważ styl ten nie obejmuje background-color. Wybór taki mógł być spowodowany błędnym przekonaniem, że kolor tekstu zmienia również kolor tła. Opcja B nie posiada odpowiedniego pogrubienia tekstu, co może wynikać z niepełnego zrozumienia znaczenia właściwości font-weight, która w tym przypadku wynosi 900, wskazując na bardzo pogrubiony tekst. Brak tego efektu w opcji B sugeruje, że tekst nie był stylizowany zgodnie z wymaganiami, stąd wybór tej opcji jest błędny. Odpowiedź D, chociaż posiada pewne podobieństwa, zbyt słabo przedstawia efekt paddingu, który powinien wynosić 20 pikseli, co oznacza znaczne wcięcie wewnętrzne. To może wynikać z nieuświadomienia sobie, jak padding wpływa na przestrzeń wokół tekstu. Znajomość tych podstawowych zasad CSS jest kluczowa w profesjonalnym projektowaniu stron internetowych, gdzie poprawne zastosowanie stylów wpływa na funkcjonalność i estetykę interfejsu użytkownika. Typowym błędem w zrozumieniu może być założenie, że wszystkie style wpływają na wygląd tak samo, podczas gdy ich działanie jest często bardzo specyficzne.

Pytanie 31

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

A. INSERT INTO zadania VALUES zadanie_kompletne
B. CREATE INDEX zadania ADD COLUMN zadanie_kompletne int
C. ADD COLUMN zadanie_kompletne WITH zadania
D. ALTER TABLE zadania ADD COLUMN zadanie_kompletne int
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 32

Baza danych księgarni zawiera tabelę o nazwie książki, w której znajdują się: id, idAutor, tytul, ileSprzedanych oraz tabelę autorzy z polami: id, imie, nazwisko. Aby wygenerować raport dotyczący sprzedanych książek z tytułami i nazwiskami autorów, co należy zrobić?

A. stworzyć kwerendę wyszukującą tytuły książek
B. zdefiniować relację 1..1 pomiędzy tabelami książki i autorzy, a następnie przygotować kwerendę łączącą obie tabele
C. zdefiniować relację 1..n pomiędzy tabelami książki i autorzy, a następnie przygotować kwerendę łączącą obie tabele
D. przygotować dwie oddzielne kwerendy: pierwszą wyszukującą tytuły książek, drugą wyszukującą nazwiska autorów
Wybranie odpowiedzi, która mówi tylko o tym, żeby stworzyć kwerendę do wyszukiwania tytułów książek, to nie jest dobry pomysł, bo nie bierze pod uwagę związku między książkami a autorami. Bez połączenia tych dwóch rzeczy raport byłby niespójny i brakowałoby ważnych informacji o autorach. Co do odpowiedzi, która mówi o relacji 1..1 - to też nie jest to prawda, bo tak naprawdę w naszym przypadku autorzy mogą mieć kilka książek, więc relacja powinna być 1..n. W innym wypadku, mogłoby to wprowadzić w błąd. Dodatkowo, robienie dwóch oddzielnych kwerend to nie jest efektywne podejście, bo nie integruje danych, a to jest kluczowe, gdy chcemy mieć pełny obraz sytuacji. Łączenie danych w jednej kwerendzie za pomocą JOIN to standard w analizie baz danych i daje lepszą organizację oraz czytelność wyników.

Pytanie 33

Zmienna zadeklarowana w C++ jako double x*; to

A. zmienna typu całkowitego
B. parametr formalny typu zmiennoprzecinkowego
C. zmienna zmiennoprzecinkowa
D. wskaźnik
Parametr formalny typu rzeczywistego nie ma zastosowania w kontekście 'double x*;', ponieważ nie jest to definicja dla parametru funkcji, lecz dla wskaźnika na zmienną typu double. Zmienna rzeczywista odnosi się do prostej deklaracji zmiennej, która przechowuje wartość typu double, jednak w tym przypadku mamy do czynienia z wskaźnikiem, a nie ze zmienną przechowującą wartość. Zmienna całkowita z kolei jest typem danych przechowującym liczby całkowite, a więc nie ma związku z typem double, który jest przeznaczony dla liczb zmiennoprzecinkowych. Wskaźniki są bardziej zaawansowanym konceptem w C++, pozwalającym na manipulacje adresami w pamięci oraz umożliwiającym dynamiczne alokacje pamięci. Użycie wskaźników jest kluczowe w przypadku struktur danych oraz programowania obiektowego, gdzie pozwalają one na efektywne przechowywanie i zarządzanie danymi. Zrozumienie różnic między różnymi typami danych w języku C++ oraz ich zastosowań jest niezbędne dla prawidłowego projektowania aplikacji i unikania błędów programistycznych.

Pytanie 34

Wskaż prawidłowe twierdzenie odnoszące się do zaprezentowanego kodu HTML.

<video width="640" height="480" controls>
    <source src="animacja.mp4" type="video/mp4">
</video>
A. Kod może nie działać w przeglądarkach, które nie wspierają HTML5.
B. Plik animacja.mp4 powinien mieć rozdzielczość 640x480 pikseli, aby można go było odtworzyć.
C. Użytkownik nie będzie miał możliwości kontrolowania odtwarzania wideo.
D. Ścieżka do pliku jest niepoprawna, nie zawiera pełnej ścieżki.
Pierwsze stwierdzenie sugeruje, że plik animacja.mp4 musi mieć rozdzielczość 640x480 pikseli, co jest nieprawdziwe, ponieważ atrybuty width i height w znaczniku <video> nie narzucają wymagań rozdzielczości dla samego pliku wideo, lecz jedynie definiują rozmiar ramki odtwarzacza w przeglądarce. Jeśli plik ma inną rozdzielczość, przeglądarka odpowiednio go przeskaluje. Drugie stwierdzenie, że użytkownik nie będzie miał możliwości sterowania odtwarzaniem animacji, jest błędne, ponieważ atrybut controls w znaczniku <video> dokładnie to umożliwia, dostarczając przyciski do odtwarzania, pauzowania oraz regulacji głośności. Ostatnie stwierdzenie dotyczące lokalizacji pliku jest również mylne, ponieważ kod nie wymaga ścieżki bezwzględnej dla pliku animacja.mp4. W przypadku gdy plik znajduje się w tym samym katalogu co strona HTML, wystarczy podać jego nazwę. W przeciwnym razie można zastosować ścieżkę względną, co jest zgodne z dobrymi praktykami w zakresie organizacji plików na serwerze. Te nieporozumienia mogą prowadzić do mylnych wniosków, dlatego ważne jest zrozumienie zasad działania znaczników HTML oraz podstawowych koncepcji związanych z odtwarzaniem multimediów w sieci.

Pytanie 35

Przedstawiono kod tabeli 3×2. Jaką modyfikację należy wprowadzić w drugim wierszu, aby tabela wyglądała jak na obrazie z niewidocznym wierszem?

<table>
  <tr>
    <td style="border: solid 1px;">Komórka 1</td>
    <td style="border: solid 1px;">Komórka 2</td>
  </tr>
  <tr>
    <td style="border: solid 1px;">Komórka 3</td>
    <td style="border: solid 1px;">Komórka 4</td>
  </tr>
  <tr>
    <td style="border: solid 1px;">Komórka 5</td>
    <td style="border: solid 1px;">Komórka 6</td>
  </tr>
</table>
Komórka 1Komórka 2
Komórka 3Komórka 4
Komórka 5Komórka 6
A. <tr style="display: none">
B. <tr style="visibility: hidden">
C. <tr style="display: table-cell">
D. <tr style="clear: none">
Właściwość CSS 'visibility: hidden' jest używana do ukrycia elementu, ale jednocześnie zachowuje ona jego miejsce w układzie strony. Jest to idealne dla sytuacji, kiedy chcemy ukryć konkretny element, ale nie chcemy wpływać na układ pozostałych elementów. W kontekście naszego pytania, jeśli chcielibyśmy ukryć drugi wiersz tabeli, ale nie chcemy, aby pozostałe wiersze zmieniały swoje położenie, 'visibility: hidden' jest idealnym rozwiązaniem. W przeciwnym razie, gdybyśmy użyli 'display: none', wiersz zostałby całkowicie usunięty z układu strony, a pozostałe wiersze przesunęłyby się do góry, aby zapełnić puste miejsce. W praktyce, właściwość 'visibility: hidden' jest często używana w połączeniu z JavaScript do tworzenia efektów 'hide/show', gdzie ukryte elementy mogą być później odkrywane bez wpływu na układ strony.

Pytanie 36

Wskaż prawidłową definicję funkcji w języku JavaScript?

A. typ_funkcji nazwa_funkcji(argumenty) {instrukcje;}
B. function nazwa_funkcji(argumenty) {instrukcje;}
C. new nazwa_funkcji(argumenty) {instrukcje;}
D. nazwa_funkcji(argumenty) {instrukcje;}
Wybór innej definicji funkcji w JavaScript, takiej jak 'typ_funkcji nazwa_funkcji(argumenty) {instrukcje;}' czy 'new nazwa_funkcji(argumenty) {instrukcje;}' jest niepoprawny z kilku kluczowych powodów. Przede wszystkim, użycie 'typ_funkcji' sugeruje, że funkcja ma być zdefiniowana w oparciu o z góry określony typ, co jest niezgodne z dynamiczną naturą JavaScript, gdzie typ danych jest określany w czasie wykonywania, a nie w czasie kompilacji. Ponadto, zapis 'new nazwa_funkcji(argumenty) {instrukcje;}' odnosi się do tworzenia instancji obiektów za pomocą konstruktora, a nie do definiowania funkcji, co wprowadza zamieszanie. Typowe błędy myślowe mogą wynikać z mylenia pojęć funkcji i obiektów, co prowadzi do nieporozumień co do roli funkcji w tym języku. Warto również zwrócić uwagę, że konwencja używania słowa kluczowego 'function' pomaga w zachowaniu spójności i czytelności kodu, co jest istotne w kontekście współpracy w zespołach programistycznych oraz utrzymania jakości kodu. W końcu, znajomość standardowej składni deklaracji funkcji w JavaScript jest niezbędna do efektywnego programowania w tym języku oraz zrozumienia jego podstawowych zasad działania.

Pytanie 37

Co MUSI wystąpić w konstrukcji switch w PHP?

A. co najmniej dwie instrukcje case
B. nagłówek switch(wyrażenie)
C. instrukcja default
D. instrukcja break po każdym case
Pozostałe elementy są OPCJONALNE lub niewymagane. Gałąź default można pominąć (wykona się tylko, gdy żaden case nie pasuje). break jest zalecany, ale niewymagany składniowo. Liczba case nie musi wynosić co najmniej dwa. Konieczny jest jedynie nagłówek switch(wyrażenie).

Pytanie 38

Który z elementów w sekcji head dokumentu HTML 5 jest obowiązkowy według walidatora HTML, a jego niedobór skutkuje błędem (error)?

A. style
B. meta
C. link
D. title
Odpowiedzi wskazujące na znaczniki takie jak „style”, „link” czy „meta” mogą wprowadzać w błąd, jeśli chodzi o ich rolę w dokumentach HTML. Znacznik „style” jest używany do osadzania arkuszy stylów CSS i jest istotny dla prezentacji wizualnej, jednak nie jest wymagany do prawidłowego działania strony w kontekście walidacji. Podobnie znacznik „link” jest kluczowy dla łączenia zasobów zewnętrznych, takich jak pliki CSS, ale jego brak nie prowadzi do błędów w walidacji HTML. Z kolei znacznik „meta” pozwala na definiowanie metadanych, takich jak opis strony czy słowa kluczowe, które również są istotne z perspektywy SEO, ale nie są obligatoryjne w każdej sytuacji. Typowym błędem myślowym jest sądzenie, że wszystkie te znaczniki są równie niezbędne jak „title”. Warto pamiętać, że tylko znacznik „title” ma bezpośrednie znaczenie dla walidacji HTML i jest wymagany, aby dokument był zgodny z normami. Brak „title” może prowadzić do negatywnych konsekwencji zarówno w zakresie walidacji, jak i SEO, co podkreśla znaczenie każdej struktury w dokumencie HTML. Dlatego ważne jest, aby zrozumieć, jaka jest rola poszczególnych znaczników w budowie dokumentów HTML oraz jakie są ich konsekwencje w kontekście standardów sieciowych.

Pytanie 39

Podczas testowania skryptu JavaScript można w konsoli wyświetlać obecnie przechowywane wartości zmiennych przy użyciu funkcji

A. console.warn()
B. console.error()
C. console.count()
D. console.log()
Funkcje console.count(), console.warn() i console.error() mają różne zastosowania, które nie są odpowiednie do prostego wyświetlania wartości zmiennych. console.count() jest używana do zliczania, ile razy została wywołana w danym kontekście, co może być przydatne w niektórych przypadkach, ale nie służy do prezentacji bieżących wartości zmiennych. Użycie tej metody może prowadzić do nieporozumień, ponieważ nie umożliwia użytkownikowi bezpośredniego przeglądania wartości w tradycyjny sposób. console.warn() generuje komunikaty ostrzegawcze, a jej celem jest zwrócenie uwagi na potencjalne problemy w kodzie. Ta funkcja, mimo że może przekazywać informacje o stanie aplikacji, nie jest przeznaczona do monitorowania konkretnych wartości zmiennych. Z kolei console.error() służy do zgłaszania błędów, co jest kluczowe w identyfikacji problemów, ale także nie dostarcza bieżących informacji o zmiennych. Używanie tych metod w kontekście debugowania zmiennych może prowadzić do błędnych wniosków, ponieważ nie dostarczają one pełnego obrazu danych. Programiści często wpadają w pułapkę myślenia, że wszelkie komunikaty w konsoli są równoważne z efektywnym debugowaniem, co jest mylnym podejściem. Kluczowe jest zrozumienie, że każda z tych funkcji ma swoje specyficzne zadanie i nie powinny być one stosowane zamiennie z console.log(), która jest dedykowana do prostego i przejrzystego logowania wartości zmiennych.

Pytanie 40

Wskaż nieprawdziwe zdanie dotyczące normalizacji dźwięku.

A. Podczas normalizacji poziom głośności całego nagrania jest wyrównywany.
B. Funkcja normalizacja znajduje się w menu programu do edycji dźwięku.
C. Gdy najgłośniejszy fragment dźwięku ma wartość pół na skali, to wszystkie dźwięki zostaną wzmocnione dwukrotnie - w ten sposób najgłośniejszy fragment osiągnie maksymalną wartość na skali.
D. Normalizacja polega na obniżeniu poziomu najgłośniejszej próbki w sygnale do określonej wartości, a następnie w odniesieniu do niej proporcjonalnym zwiększeniu głośności pozostałej części sygnału.
W tej odpowiedzi jest pewne nieporozumienie związane z tym, co to znaczy normalizacja sygnału dźwiękowego. To nie jest po prostu podwojenie głośności najgłośniejszego kawałka, to by było za proste. Chodzi o to, żeby całe nagranie miało odpowiednią głośność bez wprowadzania zniekształceń. Jeśli najgłośniejszy fragment audio jest na poziomie 50%, normalizacja ma za zadanie podnieść poziom całego nagrania tak, żeby ten najgłośniejszy kawałek dotarł do maksymalnej wartości. To nie jest kwestia po prostu pomnożenia przez dwa, a raczej odpowiedniego dostosowania do skali decybelowej. To jest szczególnie ważne, bo w normalizacji musimy unikać clippingu, czyli zniekształceń dźwięku, które mogą się zdarzyć, gdy poziom wyjściowy jest za wysoki. Normalizacja dobrze działa w połączeniu z innymi technikami, takimi jak kompresja i limitacja, żeby uzyskać najlepsze efekty w produkcji audio. Dlatego warto to dobrze rozumieć, bo źle użyta normalizacja może prowadzić do kiepskiej jakości dźwięku oraz ogólnie nieprzyjemnych wrażeń podczas słuchania.