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: 23 kwietnia 2026 10:06
  • Data zakończenia: 23 kwietnia 2026 10:23

Egzamin zdany!

Wynik: 22/40 punktów (55,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Który efekt został zaprezentowany na filmie?

A. Zmniejszenie kontrastu zdjęcia.
B. Zmiana jasności zdjęć.
C. Przenikanie zdjęć.
D. Zwiększenie ostrości zdjęcia.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 2

W języku PHP, podczas pracy z bazą danych MySQL, aby zakończyć sesję z bazą, powinno się użyć

A. mysqli_commit()
B. mysqli_close()
C. mysqli_rollback()
D. mysqli_exit( )
Wybór odpowiedzi 'mysqli_exit()' pojawia się często wśród programistów, którzy mylą koncepcje związane z obsługą połączeń w PHP. Należy zaznaczyć, że taka funkcja nie istnieje w kontekście baz danych MySQL, co może prowadzić do frustracji i nieporozumień. Niektórzy mogą sądzić, że 'mysqli_exit()' jest funkcją kończącą pracę z bazą, jednak w rzeczywistości nie ma żadnej dokumentacji ani zastosowania dla tej funkcji w standardowej bibliotece PHP. W programowaniu ważne jest, aby stosować się do oficjalnych dokumentacji oraz standardów, co zapewnia nie tylko poprawność kodu, ale także jego bezpieczeństwo i stabilność. Kolejne propozycje, takie jak 'mysqli_rollback()' i 'mysqli_commit()', dotyczą transakcji w bazie danych, a nie zakończenia połączenia. 'mysqli_rollback()' cofa zmiany wprowadzone w bieżącej transakcji, a 'mysqli_commit()' zatwierdza te zmiany. Oznacza to, że obie funkcje mają na celu zarządzanie transakcjami, a nie zamykanie połączeń. Wybierając niewłaściwą funkcję, programista może napotkać problemy z zarządzaniem stanem aplikacji i bazy danych, co jest szczególnie istotne w kontekście aplikacji wielowątkowych lub o dużym natężeniu ruchu. Aby uniknąć takich błędów, warto regularnie przeglądać i aktualizować swoją wiedzę oraz korzystać z zaufanych źródeł informacji.

Pytanie 3

W języku PHP symbol "//" oznacza

A. operator alernatywy
B. operator dzielenia całkowitego
C. początek skryptu
D. początek komentarza jednoliniowego
W PHP znak "//" oznacza początek komentarza jednoliniowego. Komentarze są niezwykle ważnym elementem kodu, ponieważ pozwalają programistom na dodawanie objaśnień i notatek, które nie są wykonywane przez interpreter. Dzięki temu kod staje się bardziej czytelny i łatwiejszy w utrzymaniu, zwłaszcza w projektach zespołowych czy przy dłuższych skryptach. Na przykład, można użyć komentarza, aby wyjaśnić, jak działa dana funkcjonalność lub dlaczego podjęto określoną decyzję projektową. Ponadto, stosowanie komentarzy zgodnie z dobrymi praktykami zwiększa jakość dokumentacji projektu oraz ułatwia przyszłym programistom (lub samemu autorowi) zrozumienie logiki kodu. Warto również zauważyć, że w PHP istnieją inne sposoby komentowania, takie jak "#" dla komentarzy jednoliniowych oraz "/* ... */" dla komentarzy wieloliniowych. Użycie komentarzy w kodzie źródłowym jest istotnym aspektem programowania, promującym najlepsze praktyki związane z czytelnością i zarządzaniem projektami.

Pytanie 4

Jednostka ppi (pixels per inch) odnosi się do rozdzielczości?

A. określa rozdzielczości obrazów wytwarzanych przez drukarki oraz plotery
B. jest miarą rozdzielczości skanerów, definiującą częstotliwość próbkowania obrazu
C. jest wskaźnikiem definiującym rozdzielczość cyfrowych urządzeń dokonujących pomiarów
D. określa rozdzielczość obrazów rastrowych
Zrozumienie pojęcia PPI (pixels per inch) jest kluczowe dla efektywnego zarządzania grafiką cyfrową, a podawanie PPI jako parametru odniesienia do rozdzielczości innych urządzeń, takich jak skanery lub drukarki, jest mylne. PPI odnosi się ściśle do rozdzielczości obrazów rastrowych, które są tworzone z pikseli. Pojęcia, takie jak rozdzielczość skanerów, odnoszą się do innej jednostki miary, zazwyczaj określanej w DPI (dots per inch), która określa liczbę kropli tuszu lub punktów, jakie maszyna może nałożyć na cal. To prowadzi do nieporozumień w interpretacji, ponieważ DPI i PPI, mimo że są używane w kontekście jakości obrazu, służą różnym celom. W przypadku rozdzielczości generowanej przez drukarki i plotery, ich wydajność nie jest bezpośrednio związana z PPI, lecz raczej z DPI, co ma kluczowe znaczenie w kontekście technik druku oraz jakości uzyskiwanych wydruków. W praktyce, błędne zrozumienie tych jednostek może prowadzić do zaprojektowania grafiki, która nie spełnia oczekiwań jakościowych, co jest szczególnie istotne w sytuacjach, gdy precyzja i szczegółowość są kluczowe, takich jak w projektach reklamowych czy publikacjach. Dlatego istotne jest, aby zawsze odnosić się do właściwych jednostek miary w zależności od kontekstu zastosowania, co umożliwia optymalne wykorzystanie zasobów i osiągnięcie zamierzonych rezultatów w projektowaniu graficznym.

Pytanie 5

Zapis w CSS `h2 {background-color: green;}` spowoduje, że kolor zielony będzie dotyczył

A. tła tekstu nagłówka drugiego poziomu
B. tła całej witryny
C. czcionki nagłówków drugiego poziomu
D. czcionki wszystkich nagłówków na stronie
Zapis CSS 'h2 {background-color: green;}' ustawia styl dla nagłówków drugiego stopnia. Dzięki właściwości 'background-color' tło nagłówka zrobi się zielone, co oznacza, że obszar za tekstem tego nagłówka będzie miał kolor zielony. Ważne, żeby pamiętać, że to działa tylko na tło samego nagłówka, a nie na całą stronę. Na przykład, jeśli w elemencie h2 jest tekst 'Witamy na naszej stronie', to tło tego nagłówka dostaje zielony kolor. To podejście jest zgodne z CSS, które pozwala na precyzyjne stylizowanie różnych elementów w dokumencie. Można też używać różnych trybów kolorów jak RGB, HEX czy HSL, co daje jeszcze większe możliwości w projektowaniu.

Pytanie 6

Na podstawie fragmentu dokumentu HTML, określ co należy wpisać w miejsce kropek w odnośniku w menu, aby przenosił on do rozdziału 2.

Fragment menu
<a ...>Rozdział 2</a>

Fragment dalej w dokumencie
<h1 id="r2" name="sekcja2" class="rozdzial2">Rozdział 2<h1>
A. href = "sekcja2"
B. href = "#sekcja2"
C. href = "r2"
D. href = "#r2"
Gratulacje, Twoja odpowiedź jest prawidłowa. Wybrałeś 'href="#r2"', co jest poprawne, ponieważ w HTML, atrybut 'href' w tagu 'a' służy do określenia miejsca docelowego odnośnika. W tym przypadku, miejsce docelowe to identyfikator (id) elementu na tej samej stronie. Przed identyfikatorem umieszcza się znak '#', który informuje przeglądarkę, że ma poszukać elementu z danym 'id' na tej samej stronie. W tym konkretnym przypadku, 'r2' jest identyfikatorem rozdziału 2 na stronie, dlatego 'href="#r2"' skieruje odnośnik do tego rozdziału. W praktyce, używanie identyfikatorów pozwala na tworzenie skomplikowanych stron z wieloma sekcjami, gdzie odsyłacze umożliwiają łatwe i szybkie nawigowanie. To jest zgodne ze standardami i dobrymi praktykami dla tworzenia stron internetowych.

Pytanie 7

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

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

Pytanie 8

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. narysowaniu docelowego obiektu.
D. animowaniu obiektu.
Wybrałeś poprawną odpowiedź, która jest 'geometrycznym transformowaniem obiektu'. Kiedy mówimy o transformacji geometrycznej, mamy na myśli różne operacje, które można wykonać na obiektach, takie jak skalowanie, obracanie i przesuwanie. W przypadku obiektu oznaczonego numerem 1 i numerem 2 na obrazku, najprostszym sposobem na przekształcenie jednego w drugi jest używanie transformacji geometrycznej. Obiekt numer 2 jest większy i obrócony w stosunku do obiektu numer 1. Dzięki transformacjom geometrycznym mogliśmy osiągnąć ten efekt, skalując i obracając obiekt numer 1. Transformacje geometryczne są podstawą wielu operacji w dziedzinach takich jak grafika komputerowa, projektowanie CAD, animacja, a także w wielu innych dziedzinach technologii i nauki.

Pytanie 9

Błędy interpretacji kodu PHP są

A. ignorowane przez przeglądarkę oraz interpreter kodu PHP.
B. zapisywane w logu pod warunkiem ustawienia odpowiedniego parametru w pliku php.ini.
C. zapisywane w podglądzie zdarzeń systemu Windows.
D. wyświetlane w oknie edytora kodu PHP po wybraniu przycisku kompiluj.
W PHP błędy interpretacji nie działają tak jak w typowych aplikacjach desktopowych, dlatego łatwo tu o mylne skojarzenia. Po pierwsze, systemowy Podgląd zdarzeń Windows co prawda może zawierać pewne informacje z serwera WWW, ale standardowo interpreter PHP nie wrzuca tam szczegółowych komunikatów o błędach składni czy ostrzeżeń z kodu. PHP komunikuje się głównie przez własny mechanizm logowania, powiązany z konfiguracją w pliku php.ini oraz z ustawieniami serwera HTTP (Apache, Nginx, IIS). Zakładanie, że wszystko „magicznie” trafi do Podglądu zdarzeń, to typowe przeniesienie nawyków z programów systemowych na środowisko webowe, które działa jednak inaczej. Kolejne mylne wyobrażenie to przekonanie, że błędy są po prostu ignorowane przez przeglądarkę i interpreter. Interpreter PHP nigdy ich nie ignoruje – jeśli wystąpi błąd składni (parse error), skrypt zwyczajnie przestaje się wykonywać w tym miejscu. To, że użytkownik widzi tylko „pustą” stronę, nie znaczy, że nic się nie stało. Po prostu komunikat błędu może nie być wyświetlany, jeśli `display_errors` jest wyłączone, ale wewnętrznie błąd jest rejestrowany lub przynajmniej generowany. Przeglądarka natomiast nie ma żadnego wpływu na interpretację PHP, ona dostaje już tylko gotową odpowiedź HTTP. Równie złudne jest myślenie, że błędy pojawią się w jakimś „oknie edytora” po naciśnięciu przycisku kompiluj. PHP jest językiem interpretowanym, a nie kompilowanym do pliku wykonywalnego w klasycznym sensie. Niektóre IDE potrafią podświetlać błędy składni lub pokazywać je w konsoli, ale robią to, bo same uruchamiają interpreter albo analizują kod statycznie. To funkcja narzędzia, nie mechanizm samego języka. W realnym środowisku serwerowym kluczowe jest zrozumienie, że źródłem prawdy o błędach jest log błędów PHP oraz logi serwera WWW, konfigurowane właśnie w php.ini i plikach konfiguracyjnych serwera. Ignorowanie tego i liczenie na to, że „coś pokaże się w edytorze” albo „system jakoś to zapisze” to prosta droga do frustrującego debugowania bez konkretnych informacji.

Pytanie 10

W celu sprawdzenia poprawności składni kodu CSS można skorzystać z

A. optymalizatora.
B. konsolidatora.
C. walidatora.
D. narzędzia debbuger.
Jeśli chcesz sprawdzić, czy Twój kod CSS jest poprawny, to najlepiej skorzystać z walidatora. To taki program lub strona, która podpowiada, czy wszystko jest zrobione zgodnie z zasadami ustalonymi przez W3C. Dzięki walidatorowi możesz szybko znaleźć błędy w swoim kodzie, na przykład brakuje średnika, są nieprawidłowe wartości lub coś jest nie tak z właściwościami. Używanie walidatorów jest ważne, bo nie tylko poprawia jakość kodu, ale też wpływa na to, jak szybko ładuje się strona i jak dobrze działa na różnych urządzeniach. Można znaleźć online narzędzia, jak W3C CSS Validation Service, gdzie wystarczy wkleić kod, a potem dostajesz raport z błędami. Generalnie, walidacja kodu CSS to dobry sposób na poprawienie jego jakości, a to z kolei może pomóc w lepszym SEO.

Pytanie 11

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

A. nie załaduje strony internetowej
B. wyświetli w miejscu grafiki tekst "pejzaż"
C. w miejscu grafiki pokaże tekst "rysunek.png"
D. w miejscu grafiki zasygnalizuje błąd wyświetlania strony
Kiedy przeglądarka internetowa napotyka na kod HTML, który zawiera element graficzny, w takim przypadku, jeśli wskazany plik nie jest dostępny, następuje zachowanie określone przez atrybut 'alt'. W omawianym przykładzie, gdy przeglądarka nie może znaleźć pliku 'rysunek.png', wyświetli tekst alternatywny 'pejzaż'. Atrybut 'alt' jest niezwykle ważny z perspektywy dostępności oraz SEO, ponieważ pozwala na dostarczenie informacji o obrazie osobom, które nie mogą go zobaczyć, takim jak osoby niewidome korzystające z czytników ekranu. Z punktu widzenia standardów W3C, atrybut 'alt' jest zalecany dla każdego elementu <img>, aby poprawić użyteczność strony. W praktyce, dobrze skonstruowane opisy w atrybucie 'alt' mogą również wpłynąć pozytywnie na pozycjonowanie witryny w wyszukiwarkach, co czyni go kluczowym elementem podczas tworzenia treści na stronie internetowej. Z tego powodu umieszczanie informacyjnych i zrozumiałych opisów w tym atrybucie jest niezbędne nie tylko dla poprawy dostępności, ale także dla efektywnej optymalizacji SEO.

Pytanie 12

Posiadając tabelę zawierającą zwierzeta z kolumnami nazwa, gatunek, gromada, cechy, dlugosc_zycia, aby uzyskać listę nazw zwierząt, które żyją co najmniej 20 lat oraz należą do ssaków, należy wykonać zapytanie:

A. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20;
B. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
C. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';
D. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 OR gromada = 'ssak';
Zapytanie SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 AND gromada = 'ssak'; jest prawidłowe, ponieważ łączy dwa kluczowe warunki, które muszą być spełnione, aby uzyskać pożądane wyniki. W tym przypadku chcemy wyświetlić nazwy zwierząt, które żyją co najmniej 20 lat oraz należą do gromady ssaków. Operator AND w SQL jest stosowany do łączenia warunków, co oznacza, że tylko te rekordy, które spełniają oba warunki, zostaną zwrócone. Przykładem zastosowania takiego zapytania może być analiza danych w zoologii lub biologii, gdzie istotne jest zrozumienie, które gatunki mają długowieczność i są ssakami. Takie zapytanie można również wykorzystać w praktyce, na przykład w aplikacjach ewidencjonujących zwierzęta w ogrodach zoologicznych czy rezerwatach, pomagając w podejmowaniu decyzji o ich ochronie lub hodowli. Zastosowanie dobrych praktyk w SQL polega na precyzyjnym definiowaniu kryteriów, co pozwala na efektywne przetwarzanie i analizowanie danych.

Pytanie 13

Które ograniczenie w bazach danych, należy przypisać kolumnie tabeli, aby wartości wpisywane do niej nie powtarzały się?

A. SINGLE
B. NO REPEAT
C. NOT NULL
D. UNIQUE
Poprawnie – w relacyjnych bazach danych to właśnie ograniczenie UNIQUE zapewnia, że wartości w danej kolumnie nie będą się powtarzały. Technicznie rzecz biorąc, UNIQUE to constraint integralności, który wymusza unikalność danych w obrębie wskazanej kolumny lub zestawu kolumn. Jeżeli spróbujesz wstawić rekord z wartością, która już istnieje w tej kolumnie, silnik bazy (np. MySQL, PostgreSQL, SQL Server) zgłosi błąd naruszenia ograniczenia unikalności. Można to zobaczyć na prostym przykładzie: CREATE TABLE uzytkownicy ( id INT PRIMARY KEY, email VARCHAR(255) UNIQUE, login VARCHAR(50) UNIQUE ); Tutaj zarówno email, jak i login nie mogą się duplikować. W praktyce to jest standardowa dobra praktyka: na polach takich jak email, numer PESEL, NIP, numer indeksu, numer seryjny urządzenia czy nawet nazwa użytkownika bardzo często zakłada się UNIQUE, żeby w systemie nie pojawiły się dwa różne konta z tym samym identyfikatorem. Moim zdaniem, przy projektowaniu bazy danych warto od razu zastanowić się, które pola mają pełnić rolę „identyfikatorów biznesowych” i od razu nadać im ograniczenie UNIQUE. Warto też wiedzieć, że UNIQUE nie oznacza „klucz główny”. PRIMARY KEY automatycznie jest unikalny i nie może być NULL, natomiast UNIQUE pozwala na NULL (zależnie od silnika bazy, ale zazwyczaj wiele NULL-i jest dozwolonych). To pozwala projektować tabele bardziej elastycznie, np. kolumna może być opcjonalna, ale jeśli już ktoś poda wartość, to musi być ona niepowtarzalna. W praktyce UNIQUE często łączy się z indeksami – większość systemów bazodanowych automatycznie zakłada indeks unikalny na takiej kolumnie, co przyspiesza wyszukiwanie i walidację danych. To rozwiązanie jest zgodne z dobrymi praktykami normalizacji i kontroli spójności danych w systemach produkcyjnych.

Pytanie 14

Wskaż kod CSS odpowiadający układowi bloków 2 - 5, zakładając, że są one zbudowane w oparciu o przedstawiony kod HTML.

BLOK 1
BLOK 2BLOK 3BLOK 4
BLOK 5
<div id="pierwszy">BLOK 1</div>
<div id="drugi">BLOK 2</div>
<div id="trzeci">BLOK 3</div>
<div id="czwarty">BLOK 4</div>
<div id="piaty">BLOK 5</div>

Kod 1.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  float: right;
  width: 30%;
}
#piaty {
  clear: both;
  width: 30%;
}
Kod 2.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  float: right;
  width: 30%;
}
#piaty {
  float: left;
  width: 30%;
}
Kod 3.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  width: 30%;
}
#piaty {
  float: right;
  width: 30%;
}
Kod 4.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  width: 30%;
}
#czwarty {
  width: 30%;
}
#piaty {
  float: right;
  width: 30%;
}
A. Kod 3.
B. Kod 2.
C. Kod 1.
D. Kod 4.
Niestety, twoja odpowiedź jest niepoprawna. Wybrałeś odpowiedź niezgodną z przedstawionym układem bloków. Analizując kod CSS, musisz zwrócić uwagę na różne aspekty, takie jak pozycja, szerokość i kolejność bloków. W tym przypadku, blok 'drugi' powinien być umieszczony po lewej stronie i zajmować 40% szerokości, bloki 'trzeci' i 'czwarty' powinny być odpowiednio po lewej i prawej stronie z szerokością 30%, a blok 'piąty' powinien być umieszczony na dole i zajmować 30% szerokości. To wszystko odpowiada układowi bloków na diagramie. Jeżeli wybrałeś inny kod, to prawdopodobnie źle zinterpretowałeś pozycję lub szerokość bloków, co jest kluczowe w tworzeniu układów stron. Ważne jest, aby zrozumieć i umieć manipulować kodem CSS, aby uzyskać pożądany układ strony. Pamiętaj, że praktyka i doświadczenie są kluczowe do zrozumienia jak kod CSS wpływa na układ i stylizację elementów strony.

Pytanie 15

Sprawdzanie poprawności wypełnienia formularza, które ma przebiegać po stronie klienta, powinno być wykonane w języku

A. JavaScript
B. PHP
C. Ruby on Rails
D. CSS
Zastosowanie CSS do weryfikacji formularzy jest nieodpowiednie, ponieważ CSS jest językiem stylizacji, a nie programowania. Jego głównym zadaniem jest określenie wyglądu i układu elementów na stronie, a nie logika operacji lub przetwarzanie danych. CSS nie ma możliwości interakcji z danymi użytkownika ani przeprowadzania jakichkolwiek obliczeń, co czyni go całkowicie nieadekwatnym narzędziem do walidacji formularzy. Z kolei PHP jest językiem skryptowym działającym po stronie serwera, co oznacza, że wszelkie operacje związane z weryfikacją danych musiałyby odbywać się po przesłaniu formularza, co prowadzi do złego doświadczenia użytkownika. Użytkownik musiałby czekać na odpowiedź serwera, co często wiąże się z opóźnieniami i frustracją. Ruby on Rails, jako framework do rozwijania aplikacji webowych, również nie jest odpowiednim rozwiązaniem do realizacji walidacji po stronie klienta. Jego zastosowanie koncentruje się głównie na logice po stronie serwera i tworzeniu aplikacji, a nie na interakcji użytkownika z interfejsem. Tym samym zarówno PHP, jak i Ruby on Rails nie są w stanie efektywnie zrealizować wymogu weryfikacji formularzy przed ich przesłaniem.

Pytanie 16

Która z komórek tabeli została sformatowana przedstawionym stylem CSS zakładając, że pozostałe własności przyjmują wartości domyślne?

td {
  border: 1px solid black;
  padding: 15px;
  height: 40px;
  vertical-align: bottom;
}
dane w tabeli


dane w tabelidane w tabelidane w tabeli
Komórka 1Komórka 2Komórka 3Komórka 4
A. Komórka 2.
B. Komórka 3.
C. Komórka 4.
D. Komórka 1.
Niestety, ta odpowiedź jest nieprawidłowa. Wybór jakiejkolwiek innej komórki oprócz komórki 3. oznacza niezrozumienie, jak działają style CSS w kontekście formatowania komórek tabeli. Obramowanie, padding, wysokość i wyrównanie tekstu to atrybuty CSS, które wpływają na wygląd komórki tabeli. Często błędem jest mylenie paddingu (wewnętrznego marginesu) z marginesem (zewnętrznym marginesem) lub niezrozumienie, jak działa wyrównanie tekstu. Warto pamiętać, że w CSS 'vertical-align: bottom' oznacza wyrównanie tekstu do dolnej krawędzi komórki. Wybór innej komórki, która nie spełnia podanych kryteriów, sugeruje, że nie zrozumiałeś prawidłowo tych konceptów. Radzę powtórzyć materiał dotyczący stylizacji komórek tabeli w CSS i spróbować ponownie. Pamiętaj, że kluczem do zrozumienia CSS jest praktyka, więc nie bój się eksperymentować z różnymi stylami!

Pytanie 17

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
Desaturacja to technika używana w edytorach grafiki rastrowej, polegająca na usunięciu kolorów z obrazu, co prowadzi do uzyskania odcieni szarości. Proces ten jest często stosowany w celu podkreślenia formy, tekstury i kontrastu obiektów w grafice, a także w celu poprawy czytelności w przypadku zdjęć i ilustracji, gdzie kolory mogą rozpraszać uwagę. Aby zastosować desaturację, użytkownik może skorzystać z odpowiedniej opcji w menu edytora, co zazwyczaj odbywa się poprzez wybór narzędzia desaturacji lub konwersji na skalę szarości. Dobrą praktyką jest przetestowanie różnych metod desaturacji, ponieważ niektóre programy oferują różne algorytmy, które mogą dawać różne rezultaty. Na przykład, niektóre edytory pozwalają na kontrolę intensywności desaturacji, co daje większą elastyczność w edytowaniu. W kontekście standardów branżowych, desaturacja jest powszechnie używana w grafikach do druku i w mediach cyfrowych, aby poprawić jakość wizualną i komunikacyjną obrazów.

Pytanie 18

Czym w relacyjnej bazie danych jest odpowiednik encji?

A. kolumna
B. wiersz
C. atrybut
D. tabela
No, odpowiedzi w formie wierszy, kolumn czy atrybutów nie oddają tego, co encja oznacza w relacyjnych bazach danych. Wiersz to niby pojedynczy rekord, ale nie pokazuje encji w pełni. Jakbyśmy uznali wiersz za encję, to moglibyśmy źle zrozumieć, że encja to tylko jeden zestaw danych, a nie cały zbiór rekordów. Kolumna z kolei definiuje atrybuty encji, ale sama nie oddaje encji w całości. Atrybuty są do opisu cech obiektów, ale to nie znaczy, że same w sobie pokazują ich zbiór. Ważne jest, żeby pojąć, że encja jako całość jest reprezentowana przez tabelę, a nie przez pojedyncze składniki jej struktury. W praktyce wiele osób myli te pojęcia, co rzadko prowadzi do efektywnego modelowania danych i może sprawiać problemy z integracją oraz wydajnością zapytań. Dlatego warto uczyć się o strukturze bazy danych, skupiając się na tym, jak różne elementy współdziałają, żeby tworzyć sensowną całość, która dobrze przechowuje i zarządza danymi.

Pytanie 19

Przedstawiony blok reprezentuje czynność

Ilustracja do pytania
A. zastosowania gotowej procedury lub funkcji.
B. wczytania danych.
C. podjęcia decyzji.
D. wyświetlenia danych.
Przedstawiony na rysunku blok w kształcie rombu nie służy ani do wczytywania danych, ani do ich wyświetlania, ani też do reprezentowania gotowej procedury lub funkcji. W klasycznej notacji schematów blokowych, stosowanej w podręcznikach, dokumentacji technicznej i w większości narzędzi CASE, romb jest jednoznacznie zarezerwowany dla operacji decyzyjnych, czyli sprawdzania warunku logicznego i rozgałęzienia przepływu sterowania. Wczytywanie danych z klawiatury, pliku czy formularza jest zwykle oznaczane blokiem równoległoboku. Taki blok opisuje operacje wejścia/wyjścia, czyli pobranie informacji z zewnątrz albo wypisanie jej na ekran, do pliku, do logów. Z mojego doświadczenia częsty błąd polega na tym, że ktoś widzi „coś się dzieje z danymi” i od razu kojarzy to z wejściem/wyjściem, a pomija aspekt logiki sterującej. Jednak w symbolice schematów blokowych kształt ma znaczenie ważniejsze niż skojarzenie słowne. Podobnie jest z wyświetlaniem danych. To też jest operacja wejścia/wyjścia, więc również powinna być przedstawiona jako równoległobok, a nie romb. Wyświetlanie niczego nie „decyduje”, ono jedynie prezentuje wynik, komunikat błędu, informacje dla użytkownika. Decyzja to zawsze sprawdzenie warunku: czy coś jest większe od czegoś, równe, czy jest puste, czy użytkownik ma uprawnienia, i na tej podstawie wybór dalszej ścieżki działania. Gotowa procedura lub funkcja też ma swój własny symbol – najczęściej prostokąt (czasem z podwójną krawędzią) oznaczający blok wykonawczy. Taki blok mówi: „tu wykonaj zdefiniowaną gdzieś indziej czynność”. Nie ma on jednak wbudowanego mechanizmu wyboru ścieżki. To tylko kolejny krok w sekwencji instrukcji. Typowym błędem myślowym jest utożsamianie „czegoś bardziej złożonego” z decyzją, ale z punktu widzenia schematu liczy się to, czy pojawia się warunek i rozgałęzienie. Romb na diagramie zawsze oznacza, że w tym miejscu algorytm zadaje pytanie typu TAK/NIE i w zależności od odpowiedzi kieruje przepływ dalej różnymi drogami. To jest sedno sterowania warunkowego, które później w kodzie przekłada się na instrukcje if, else, switch i podobne konstrukcje logiczne. Dlatego odpowiedzi sugerujące wczytywanie, wyświetlanie albo zastosowanie procedury nie pasują do tego symbolu – opisują inne klasy operacji w algorytmie, które mają inne, ściśle określone kształty na schemacie blokowym.

Pytanie 20

W języku HTML zdefiniowano znacznik a oraz atrybut rel nofollow.

A. oznacza, że kliknięcie w link otworzy go w nowej karcie przeglądarki
B. jest wskazówką dla robota wyszukiwarki Google, aby nie śledził tego linku
C. jest poleceniem dla przeglądarki internetowej, aby nie traktowała słowa "link" jako hiperłącza
D. oznacza, że kliknięcie w link nie przekieruje na stronę website.com
Pierwsza odpowiedź sugeruje, że kliknięcie w link nie przeniesie użytkownika do strony website.com, co jest absolutnie błędne. Użycie atrybutu nofollow nie zmienia funkcji samego linku w kontekście przeglądarki internetowej. Użytkownicy nadal mogą klikać w link, a przeglądarka otworzy stronę docelową. Atrybut nofollow ma zastosowanie wyłącznie do robotów wyszukiwarek, a nie do rzeczywistego zachowania linku w przeglądarkach. Druga odpowiedź myli również rolę atrybutu nofollow, sugerując, że link otworzy się w osobnej karcie przeglądarki. Rzeczywiście, aby link został otwarty w nowej karcie, powinien on zawierać atrybut target z wartością '_blank', a nie rel nofollow. Ostatnia odpowiedź sugeruje, że nofollow informuje przeglądarkę, aby nie formatowała słowa 'link' jako odnośnika. To również jest niepoprawne, ponieważ rel nofollow nie ma wpływu na sposób wyświetlania linków w przeglądarkach, a jego rola ogranicza się wyłącznie do komunikacji z robotami wyszukiwarek. W skrócie, wszystkie trzy odpowiedzi mylnie interpretują funkcję atrybutu nofollow, co może prowadzić do poważnych nieporozumień w zakresie SEO i zarządzania linkami.

Pytanie 21

Która z poniższych funkcji w języku PHP zmieni słowo „kota” na „mysz” w zdaniu „ala ma kota”?

A. replace("ala ma kota", "kota", "mysz");
B. replace("kota", "mysz", "ala ma kota");
C. str_replace( "kota", "mysz", "ala ma kota");
D. str_replace("ala ma kota", "kota", "mysz");
Wszystkie inne odpowiedzi wykazują nieporozumienia w zakresie używania funkcji zamiany tekstu w PHP. Na przykład, pierwszy wariant używa funkcji replace, która nie istnieje w standardowej bibliotece PHP. W PHP funkcja do zamiany ciągów znaków to str_replace, co oznacza, że taka odpowiedź nie może być prawidłowa. Z kolei drugi wariant również błędnie stosuje funkcję replace, ale dodatkowo zamienia argumenty – pierwszy argument powinien być tym, co zamieniamy, a nie tym, co jest zmieniane. Użycie str_replace z nieodpowiednią kolejnością argumentów prowadziłoby do niespodziewanych rezultatów. Natomiast trzecia odpowiedź podaje argumenty w prawidłowej kolejności, jednak również używa nieistniejącej funkcji replace, co czyni ją błędną. Typowe błędy myślowe, które mogą prowadzić do takich niepoprawnych wniosków, to nieprawidłowe rozumienie syntaktyki funkcji oraz mylenie istniejących funkcji z nieistniejącymi. Ważne jest zrozumienie, że w PHP musimy korzystać z dokumentacji, aby upewnić się, że używamy odpowiednich funkcji i argumentów, co jest kluczowe dla prawidłowego działania aplikacji. Niezrozumienie tych podstaw może prowadzić do frustracji i trudności w programowaniu.

Pytanie 22

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

A. standard jakości cyfrowego dźwięku
B. poziom głośności nagranego utworu
C. intensywność fali dźwiękowej utworu
D. standard jakości analogowego dźwięku
Zrozumienie wpływu częstotliwości próbkowania na dźwięk cyfrowy jest kluczowe, a niektórzy mogą mylnie zakładać, że ma ona bezpośredni wpływ na inne aspekty dźwięku. Przykładowo, wiele osób może myśleć, że częstotliwość próbkowania wpływa na skalę głośności zapisanego utworu, co jest nieprawidłowe, ponieważ głośność jest określana przez amplitudę sygnału audio, a nie przez jego próbkowanie. Ponadto, jakość analogowego dźwięku nie podlega wpływowi częstotliwości próbkowania, ponieważ analogowe sygnały są ciągłe i nie wymagają próbkowania, aby być reprodukowane. Co więcej, amplituda fali dźwiękowej odnosi się do poziomu energii fali, a nie do jej częstotliwości próbkowania. Zrozumienie tej różnicy jest kluczowe dla prawidłowego pojmowania technologii dźwiękowej. Częstotliwość próbkowania ma znaczenie tylko w kontekście cyfrowego przetwarzania dźwięku, gdzie wpływa na jakość reprodukcji, ale nie ma zastosowania w analogowej sferze dźwięku. Typowe błędy myślowe w tej kwestii mogą wynikać z nieporozumienia dotyczącego różnicy między dźwiękiem analogowym a cyfrowym oraz sposobów, w jakie są one przetwarzane.

Pytanie 23

W języku SQL polecenie INSERT INTO

A. aktualizuje rekordy określoną wartością.
B. wprowadza dane do tabeli.
C. dodaje tabelę.
D. dodaje pola do tabeli.
Polecenie INSERT INTO w SQL służy dokładnie do tego, co wskazuje poprawna odpowiedź: do wprowadzania danych do istniejącej tabeli. W praktyce oznacza to dodanie nowego wiersza (rekordu) do tabeli, która ma już zdefiniowaną strukturę: kolumny, typy danych, klucze itp. Najprostszy przykład w standardowym SQL wygląda tak: INSERT INTO klienci (imie, nazwisko, email) VALUES ('Jan', 'Kowalski', '[email protected]'); Tutaj tabela klienci już istnieje, a polecenie tylko dopisuje nowy rekord. Moim zdaniem warto zapamiętać, że INSERT pracuje na danych, a nie na strukturze tabeli. Do tworzenia tabel służy CREATE TABLE, do zmiany struktury ALTER TABLE, a do modyfikacji istniejących rekordów UPDATE. W codziennej pracy z bazami danych INSERT INTO jest jednym z absolutnie podstawowych poleceń. Używa się go przy obsłudze formularzy rejestracji użytkownika, dodawaniu zamówień w sklepie internetowym, logowaniu zdarzeń w systemie (logi), czy zapisywaniu wyników pomiarów z czujników. Dobrą praktyką jest zawsze podawanie listy kolumn, do których wstawiamy dane, zamiast polegać na kolejności kolumn w tabeli. Dzięki temu kod SQL jest czytelniejszy i mniej podatny na błędy po zmianach w strukturze tabeli. Warto też wiedzieć, że istnieją różne warianty INSERT, np. INSERT ... SELECT (wstawianie danych na podstawie wyników zapytania), INSERT IGNORE czy INSERT ... ON CONFLICT/ON DUPLICATE KEY w konkretnych systemach (PostgreSQL, MySQL). To wszystko dalej jest ta sama rodzina poleceń: celem zawsze jest dodanie nowych rekordów, a nie modyfikacja starych czy zmiana schematu bazy. Z mojego doświadczenia, kto dobrze ogarnie różne formy INSERT, temu dużo łatwiej budować sensowne aplikacje bazodanowe.

Pytanie 24

W zaprezentowanym fragmencie algorytmu wykorzystano

Ilustracja do pytania
A. jedną pętlę
B. dwie pętle
C. jeden blok decyzyjny
D. trzy bloki operacyjne (procesy)
Na tym diagramie widać jedną pętlę, co jest dość ważne w programowaniu. Pętla pozwala na powtarzanie pewnych działań, aż spełni się jakiś warunek. Tu mamy blok decyzyjny, który mówi, czy proces ma trwać, czy się zakończyć. To dość powszechnie używane podejście, zwłaszcza w algorytmach, jak na przykład sortowanie czy obróbka danych. Warto zwrócić uwagę, by dobrze zrozumieć, jak działają pętle, szczególnie te oparte na warunkach, jak while czy for. Pozwoli to uniknąć problemów z niekończącymi się pętlami, które mogą sprawić, że program przestanie działać. Z mojego doświadczenia, ogarnać te struktury to kluczowy skill dla każdego, kto chce działać w IT.

Pytanie 25

Jakie wartości zostaną wyświetlone kolejno w wyniku wykonania podanego skryptu?

<script language = "JavaScript">
var x = 1;
var y;
++y;
document.write(++x);
document.write(" ");
document.write(x--);
document.write(" ");
document.write(x);
</script>
A. 1 2 1
B. 2 2 1
C. 1 2 2
D. 2 1 1
Poprawna odpowiedź to 2 2 1 ponieważ skrypt modyfikuje wartość zmiennej x krok po kroku. Pierwsza instrukcja ++x zwiększa wartość x z 1 do 2 i wypisuje ją na ekranie. Jest to przykład preinkrementacji gdzie wartość zmiennej jest zwiększana przed jej użyciem w wyrażeniu. Drugie wywołanie x-- to postdekrementacja która najpierw zwraca bieżącą wartość zmiennej x czyli 2 a dopiero potem ją zmniejsza. Dlatego w wyniku druga wartość to również 2. Wreszcie ostatnia instrukcja wypisuje aktualną wartość x po dekrementacji która wynosi teraz 1. Tego typu operacje na zmiennych są kluczowe w programowaniu gdyż pozwalają na efektywną kontrolę nad przepływem danych i logiką sterującą w aplikacjach. Zrozumienie różnicy między pre- i post- inkrementacją jest istotne w kontekście optymalizacji kodu i zapobiegania potencjalnym błędom logicznym.

Pytanie 26

W języku CSS określono formatowanie znacznika h1 według wzoru. Zakładając, że żadne inne formatowanie nie jest dodane do znacznika h1, wskaż sposób formatowania tego znacznika

Ilustracja do pytania
A. B
B. A
C. C
D. D
Formatowanie znacznika h1, określone w podanym kodzie CSS, wprowadza kilka charakterystycznych cech stylistycznych. Przede wszystkim, zastosowanie 'font-style: oblique;' zmienia wygląd tekstu, nadając mu ukośny styl. To oznacza, że tekst będzie wyświetlany w wyraźnie przechylonej formie, co jest często używane do podkreślenia ważnych elementów. Dodatkowo, 'font-variant: small-caps;' odpowiedzialne jest za przekształcenie małych liter w małe kapitałki, co nadaje tekstowi elegancki i formalny wygląd. Taki zabieg jest często wykorzystywany w tytułach lub nagłówkach, aby wyróżnić je wśród pozostałego tekstu. Ostatni element, 'text-align: right;', wyrównuje tekst do prawej krawędzi kontenera, co jest mniej powszechnie stosowane w porównaniu do wyrównania do lewej lub wyśrodkowanego, ale może być użyteczne w specyficznych układach strony. W przypadku, gdyby były dodatkowe style CSS przypisane do tego znacznika, mogłyby one wpłynąć na ostateczny wygląd, jednak w tym przypadku zakładamy, że są to jedyne zastosowane style. Standardy CSS jasno określają, jak różne właściwości mogą być używane do stylizacji elementów HTML, co czyni je niezwykle potężnym narzędziem w tworzeniu estetycznych i funkcjonalnych stron internetowych.

Pytanie 27

W języku JavaScript, w programowaniu obiektowym, zapis this.zawod w przedstawionym kodzie oznacza

function Uczen(){
  this.imie = "";
  this.nazwisko = "";
  this.technik = 'informatyk';
  this.zawod = function(){
    return this.technik;
  };
}
A. właściwość
B. metodę
C. konstruktor
D. klasę
Kod JavaScript używa funkcji do tworzenia obiektów, co może być mylące. Kiedy wskazujesz this.zawod, to pokazujesz, że to jest metoda, ale wybór odpowiedzi klasa jest nieprawidłowy. JavaScript nie działa z klasami jak w Javie czy C#. Klasy pojawiły się dopiero w ES6 jako taki dodatek do funkcji konstrukcyjnych. Odpowiedź metoda to w sumie strzał w dziesiątkę, bo w obiektach funkcja przypisana do właściwości to właśnie metoda, która działa na danych obiektu. Wybór konstruktor też jest błędny, bo konstruktor to specjalna funkcja do tworzenia nowych obiektów, i w naszym przykładzie to ta funkcja Uczen. Z kolei odpowiedź właściwość jest myląca, bo choć this.zawod to właściwość, która trzyma funkcję, to jest też metodą. Warto zrozumieć różnice między właściwościami a metodami, bo to jest kluczowe w programowaniu obiektowym w JavaScript.

Pytanie 28

W kodzie HTML przypisano pewne znaczniki do klasy o nazwie "nomargin". Jak można przeprowadzić operacje na tych znacznikach w języku JavaScript, korzystając z odpowiedniej funkcji?

A. getElementById("nomargin")
B. getElementsByClassName("nomargin")
C. getElementsByTagName("nomargin")
D. getElement("nomargin")
Wybór odpowiedzi 'getElementsByClassName("nomargin")' jest właściwy, ponieważ ta funkcja umożliwia selekcję wszystkich elementów HTML, które mają przypisaną daną klasę. W tym przypadku klasa to 'nomargin'. Funkcja ta zwraca kolekcję elementów, co jest bardzo przydatne w manipulacji DOM, gdyż pozwala na wykonywanie operacji na wielu elementach jednocześnie. Przykładowo, jeśli chcemy usunąć marginesy z wszystkich elementów, które mają tę klasę, możemy wykorzystać zwróconą kolekcję do iteracji i zastosować odpowiednie style CSS. Kod mógłby wyglądać tak: var elements = document.getElementsByClassName('nomargin'); for (var i = 0; i < elements.length; i++) { elements[i].style.margin = '0'; }. Standardy JavaScript oraz DOM odnoszą się do używania tej funkcji jako efektywnej metody nawiązywania interakcji z elementami na stronie. Warto także pamiętać, że getElementsByClassName zwraca „żywą” kolekcję, co oznacza, że zmiany w DOM będą natychmiast widoczne w tej kolekcji.

Pytanie 29

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

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

Pytanie 30

Jaki jest efekt wielokrotnego wykonywania kodu PHP?

if (!isset($_COOKIE["ciastko"]))
    $zm = 1;
  else
    $zm = intval($_COOKIE["ciastko"]) + 1;
setcookie("ciastko", $zm);
A. pokazanie ciasteczka z zapisanym parametrem
B. zapisanie do ciasteczka wartości 1 przy każdym odświeżeniu witryny
C. zliczanie liczby wizyt na stronie
D. dodanie danych do ciasteczka tylko przy pierwszym wejściu na stronę
W pytaniu zawarto kilka opcji związanych z działaniem ciasteczek w PHP. Pierwsza z nich mówi o wyświetleniu ciasteczka z zapisaną zmienną co nie jest zgodne z kodem, który nie zawiera żadnej funkcji wyświetlającej jak echo. Ciasteczka służą do przechowywania danych po stronie klienta i mogą być wykorzystywane do wielu celów, ale ich wyświetlenie nie jest bezpośrednim efektem działania kodu. Druga opcja wspomina o zapisaniu danych do ciasteczka tylko przy pierwszym uruchomieniu strony. Jest to częściowa prawda, ponieważ pierwsze uruchomienie inicjuje ciasteczko, ale przy każdej kolejnej wizycie liczba odwiedzin jest aktualizowana a nie pozostaje stała. Ostatnia z niepoprawnych odpowiedzi sugeruje, że za każdym odświeżeniem zapisuje się wartość 1, co jest błędne ponieważ kod zwiększa wartość o 1 przy każdym odświeżeniu strony. Typowym błędem myślowym jest założenie, że ciasteczka są statyczne lub że ich funkcjonalność jest ograniczona do prostego przechowywania danych bez logiki związanej z ich aktualizacją czy modyfikacją w ramach sesji użytkownika. Ciasteczka są elastycznym narzędziem, które może być używane w wielu zaawansowanych scenariuszach, jednak ich manipulacja musi być dobrze zrozumiana by uniknąć nieprawidłowych wniosków czy implementacji.

Pytanie 31

W znaczniku meta w miejsce kropek należy wpisać

<meta name="description" content="…">
A. streszczenie treści strony.
B. nazwę edytora.
C. informację o dostosowaniu do urządzeń mobilnych.
D. język dokumentu.
W meta tagu, w polu 'content' powinno być streszczenie tego, co jest na stronie. To bardzo ważne dla SEO, czyli optymalizacji strony pod kątem wyszukiwarek. Taki opis pojawia się w wynikach wyszukiwania, co wpływa na to, jak użytkownicy postrzegają stronę i czy klikną w link. Fajnie by było, gdyby był krótki, zrozumiały i zawierał ważne słowa kluczowe dotyczące tematu strony. Na przykład, jeśli strona jest o zdrowym jedzeniu, można napisać coś w stylu: 'Poradnik zdrowego odżywiania z przepisami i wskazówkami na lepszy styl życia'. Użycie tych znaczników meta zgodnie z zaleceniami Google i innych wyszukiwarek zwiększa szansę, że strona będzie lepiej widoczna w sieci. Dlatego dobrze, żeby używać tego znacznika w odpowiedni sposób, bo to naprawdę pomaga w poprawie widoczności strony w internecie.

Pytanie 32

Poniżej znajduje się fragment kodu w języku HTML. Przedstawia on definicję listy:

Ilustracja do pytania
A. B
B. D
C. A
D. C
Odpowiedź C jest poprawna ponieważ przedstawiony fragment kodu HTML definiuje uporządkowaną listę zagnieżdżoną W tym kodzie zauważamy że główna lista jest uporządkowana oznaczona jako ol co definiuje elementy listy jako numerowane po kolei Elementy li w tej liście to punkty jeden dwa i trzy Na szczególną uwagę zasługuje fakt że drugi element li zawiera zagnieżdżoną nieuporządkowaną listę ul co jest zgodne ze standardami HTML dotyczącymi zagnieżdżania list Zgodnie z dobrymi praktykami zagnieżdżanie list w HTML powinno być stosowane w sposób przejrzysty i logiczny co ułatwia czytelność i zrozumienie kodu oraz jego późniejsze modyfikacje Praktycznym zastosowaniem takich struktur jest organizowanie treści w dokumentach internetowych w sposób hierarchiczny co ułatwia zarówno użytkownikom przeglądanie zawartości jak i programistom zarządzanie kodem Zrozumienie zagnieżdżania list jest kluczowe dla efektywnego tworzenia stron internetowych które są nie tylko estetyczne ale także funkcjonalne i dostępne dla szerokiej grupy odbiorców

Pytanie 33

Aby skutecznie zrealizować algorytm, który znajdzie największą z trzech podanych liczb a, b oraz c, wystarczy użyć

A. dwóch warunków
B. pięciu zmiennych
C. jednej pętli
D. dwóch tablic
Aby znaleźć największą z trzech liczb a, b i c, wystarczy użyć dwóch warunków logicznych. Przykładowo, można porównać a z b, a następnie wynik tego porównania porównać z c. Jeśli a jest większe od b, to następnie sprawdzamy, czy a jest większe od c. W przeciwnym razie, porównujemy b z c. Tego rodzaju podejście pozwala na efektywną i prostą realizację algorytmu w O(1) czasie, co oznacza, że czas wykonania nie zależy od rozmiaru danych. W praktyce, takie podejście jest zgodne z zasadami minimalizmu w programowaniu, gdzie dąży się do używania jak najmniejszej liczby operacji. Dobrym przykładem jest implementacja tego algorytmu w różnych językach programowania, które pokazuje, jak zastosowanie prostych warunków może przyczynić się do zrozumienia i efektywności kodu. Użycie dwóch warunków jest również zgodne z zasadą KISS (Keep It Simple, Stupid), która promuje prostotę w projektowaniu algorytmów.

Pytanie 34

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

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

Pytanie 35

Który z komentarzy przedstawia opis działania funkcji zdefiniowanej w języku PHP?

A. /* Funkcja zwraca większą z dwóch podanych wartości, a w przypadku ich równości zwraca -1 */
B. /* Funkcja zwraca większą z dwóch podanych wartości, a w przypadku ich równości zwraca wartość $a */
C. /* Funkcja zwraca mniejszą z dwóch podanych wartości, a w przypadku ich równości zwraca -1 */
D. /* Funkcja zwraca mniejszą z dwóch podanych wartości, a w przypadku ich równości zwraca wartość $a */
W analizowanych odpowiedziach można zauważyć kilka nieporozumień dotyczących działania funkcji. Niektóre propozycje podają informację, że funkcja zwraca wartość niższą z dwóch podanych argumentów, co jest absolutnie błędne. Funkcja jest zaprojektowana tak, aby zawsze zwracała wartość wyższą, co jest kluczowym aspektem jej działania. Inne odpowiedzi wskazują, że w przypadku równości funkcja zwraca wartość $a, co także jest niezgodne z kodem źródłowym. W rzeczywistości, zgodnie z implementacją, zwracana jest wartość -1, co jest istotne, ponieważ wskazuje na brak różnicy między argumentami. Tego rodzaju pomyłki mogą wynikać z nieścisłości w interpretacji warunków logicznych. Ważne jest, aby przy analizie funkcji dokładnie zwracać uwagę na każdy element kodu, aby nie przeoczyć istotnych szczegółów. Przykładowo, błędne rozumienie tego, co oznacza 'wyższa' wartość w kontekście porównania, może prowadzić do złych wniosków w dalszym programowaniu, w szczególności w funkcjach, które bazują na porównaniach. Dlatego tak istotne jest, aby korzystać z praktyk kodowania, które zapewniają jasność i przejrzystość działania funkcji.

Pytanie 36

Jaka wartość zostanie wypisana na standardowym wyjściu dla zamieszczonego w ramce fragmentu programu napisanego w języku C++ ?

int obliczenia( int x ){
    x %= 3;
    x++;
    return x;
}

int main( ){
    std::cout << obliczenia(32);
}
A. 3
B. 2
C. 32
D. 0
Niestety, to nie jest to. Wybranie niewłaściwej opcji oznacza, że mogłeś nie do końca zrozumieć, jak działają operatory w C++. Mamy tu funkcję 'obliczenia', która przyjmuje 32 jako wartość dla 'x'. Potem 'x' jest zmieniane przez operację modulo (x %= 3). Ta operacja daje nam resztę z dzielenia przez 3, czyli 2. Jeżeli wybrałeś opcję 2, to może umknął ci krok, w którym 'x' jest zwiększane o 1 (x++). Na końcu dostajemy 3, a to jest wynik, który funkcja zwraca. Jeśli wybrałeś opcję 32, mógłbyś błędnie założyć, że argument funkcji się nie zmienia, a tak nie jest. 'x' jest zmieniane wewnątrz funkcji. A jak wybrałeś opcję 0, to pewnie zrozumiałeś źle, jak działa operator modulo. To nie daje wyniku dzielenia, tylko resztę. Staraj się pamiętać o tych zasadach, bo są istotne w dalszym programowaniu.

Pytanie 37

Jakim formatem plików dźwiękowych charakteryzuje się kompresja bezstratna?

A. MP3
B. FLAC
C. WAW
D. MPEG
MP3 to format dźwiękowy, który wykorzystuje kompresję, ale niestety jest to kompresja stratna, więc część danych audio się traci. Dlatego jakość dźwięku nie jest najlepsza, co może być problemem dla audiofilów, którzy szukają czegoś lepszego. Z kolei WAV to format nieskompresowany, co oznacza, że zachowuje wszystkie dane, ale pliki są duże… mało praktyczne, zwłaszcza jak masz ogromną bibliotekę muzyczną. MPEG, znany bardziej jako standard kompresji wideo, też może być używany do dźwięku, ale tak jak MP3, traci na jakości. Generalnie ani MP3, ani WAV, ani MPEG nie nadają się do kompresji bezstratnej, więc to nie są dobre odpowiedzi w tym przypadku.

Pytanie 38

W HTML, aby uzyskać rezultat jak w podanym przykładzie, należy użyć struktury `

Duży tekst zwykły tekst

A. <p><strike>Duży tekst</strike> zwykły tekst</p>
B. <p><big>Duży tekst</p> zwykły tekst
C. <p><big>Duży tekst</big> zwykły tekst</p>
D. <p><strike>Duży tekst zwykły tekst</p>
Odpowiedź <p><big>Duży tekst</big> zwykły tekst</p> jest poprawna, ponieważ wykorzystuje znacznik <big>, który jest zgodny z semantyką HTML i odpowiednio formatuje tekst, zwiększając jego rozmiar. Warto zauważyć, że użycie znacznika <big> jest zgodne z praktykami, które rekomendują wykorzystanie odpowiednich znaczników do modelowania treści w dokumentach HTML. Taki zabieg nie tylko pozwala na lepszą prezentację tekstu, ale także ułatwia dostępność strony, co jest istotne w kontekście WCAG (Web Content Accessibility Guidelines). Przykładem zastosowania może być sytuacja, w której chcemy wyróżnić istotne informacje w tekście, np. nagłówki sekcji lub kluczowe dane. Zastosowanie <big> w tym kontekście zwiększa czytelność oraz zwraca uwagę użytkowników, co jest szczególnie ważne w długich dokumentach. Warto również pamiętać, że stosowanie znaczników odpowiadających ich przeznaczeniu wspiera SEO, gdyż wyszukiwarki lepiej interpretują strukturę treści. Z tego powodu, używanie semantycznych i odpowiednich znaczników, takich jak <big>, jest kluczowe dla tworzenia poprawnych i funkcjonalnych stron internetowych.

Pytanie 39

$n = '[email protected]'; $dl = strlen($n); $i = 0; while ($i < $dl && $n[$i] != '@') {     echo $n[$i];     $i++; } Fragment kodu w języku PHP wyświetli

A. wyłącznie nazwę konta, czyli 'adres'
B. nazwę konta z znakiem @, czyli 'adres@'
C. cały adres e-mail, czyli '[email protected]'
D. tylko nazwę domeny, czyli 'host.pl'
W przedstawionym kodzie PHP zmienna $n przechowuje adres e-mail '[email protected]'. Funkcja strlen($n) zwraca długość tego ciągu, co w tym przypadku wynosi 14. Pętla while iteruje przez znaki ciągu, aż napotka znak '@' lub do końca ciągu. W każdej iteracji pętli, znak aktualnej pozycji jest wypisywany. Pętla zaczyna od indeksu 0 i sprawdza każdy znak, aż do momentu, gdy napotka znak '@'. W wyniku działania pętli, wypisywane są tylko znaki przed '@', co w tym przypadku oznacza nazwę konta, czyli 'adres'. Aby lepiej zrozumieć to działanie, warto postawić przed sobą praktyczny przykład. Jeśli zmienimy zmienną $n na '[email protected]', kod wypisze 'test', co potwierdza, że pętla działa zgodnie z zamierzeniem, wypisując wyłącznie część przed znakiem '@'. Technicznie, zmienne tablicowe w PHP mogą być indeksowane za pomocą operatora kwadratowego, co jest wykorzystywane w tym przypadku do dostępu do poszczególnych znaków ciągu, co jest typowe w programowaniu z użyciem PHP i stringów. W kontekście standardów, kod przestrzega zasady oddzielania nazwy użytkownika od domeny w adresie e-mail, co jest kluczowe dla jego poprawnego działania.

Pytanie 40

Ustanowienie klucza obcego jest konieczne do stworzenia

A. transakcji
B. relacji 1..n
C. relacji 1..1
D. klucza podstawowego
Klucz obcy (foreign key) to jeden z podstawowych elementów baz danych, który służy do definiowania relacji między tabelami. Jego główną funkcją jest zapewnienie integralności referencyjnej, co oznacza, że wartość klucza obcego w jednej tabeli musi odpowiadać wartości klucza podstawowego w innej tabeli. Definiując klucz obcy, tworzymy relację 1..n, co oznacza, że jeden rekord w tabeli rodzica (tabela z kluczem podstawowym) może być powiązany z wieloma rekordami w tabeli dziecka (tabela z kluczem obcym). Przykładem może być tabela klientów i tabela zamówień, gdzie jeden klient może mieć wiele zamówień. W praktyce, klucz obcy jest często używany w systemach zarządzania bazą danych, takich jak MySQL, PostgreSQL czy Oracle, zgodnie z normami SQL, które definiują relacje między tabelami. Właściwe wykorzystanie kluczy obcych jest kluczowe dla prawidłowego modelowania baz danych oraz zapewnienia spójności danych podczas operacji takich jak aktualizacja czy usuwanie rekordów.