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: 29 kwietnia 2026 09:55
  • Data zakończenia: 29 kwietnia 2026 10:30

Egzamin zdany!

Wynik: 21/40 punktów (52,5%)

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

Jaką treść komunikatu należy umieścić w kodzie PHP zamiast znaków zapytania?

$a = mysql_connect('localhost', 'adam', 'mojeHaslo');

if (!$a)
    echo "?????????????";
A. Błąd w trakcie przetwarzania zapytania SQL
B. Wybrana baza danych nie istnieje
C. Rekord został pomyślnie dodany do bazy
D. Błąd połączenia z serwerem SQL
Poprawna odpowiedź 'Błąd połączenia z serwerem SQL' jest właściwa, ponieważ funkcja mysql_connect() służy do nawiązywania połączenia z serwerem bazy danych MySQL. Jeśli połączenie nie powiedzie się, zwraca false. W takiej sytuacji należy poinformować użytkownika o nieudanym połączeniu. Jest to kluczowe w debugowaniu i zapewnianiu użytkownikowi zrozumiałych komunikatów błędów. W praktyce, połączenie z bazą danych jest podstawowym krokiem w wielu aplikacjach internetowych, a jego poprawna obsługa to standardowa praktyka branżowa. Współczesne podejście wymaga także użycia rozszerzenia mysqli lub PDO zamiast przestarzałej funkcji mysql_connect(). Jest to zalecane ze względu na lepsze wsparcie bezpieczeństwa i wydajności. Użycie funkcji mysqli_connect() pozwala na obsługę zarówno błędów połączenia, jak i zapytań SQL w sposób bardziej elastyczny i bezpieczny.

Pytanie 2

Wybierz prawidłowy sposób umieszczania komentarzy w kodzie źródłowym HTML

A. /* informacje komentarza */
B. -- informacje komentarza --
C. <!-- informacje komentarza -->
D. "" informacje komentarza ""
Poprawny komentarz w HTML musi być zapisany dokładnie w formie: <!-- treść komentarza -->. To jest jedyny format zgodny ze specyfikacją HTML (HTML5, ale też starsze wersje). Przeglądarka traktuje wszystko, co znajduje się między ciągiem znaków <!-- a -->, jako komentarz, czyli tego nie wyświetla użytkownikowi i nie interpretuje jako kod. Dzięki temu można w kodzie zostawiać sobie uwagi, opisy sekcji, tymczasowo coś „wyłączyć” albo oznaczyć fragment do późniejszej edycji. W praktyce stosuje się np.: <!-- Nawigacja główna strony --> albo <!-- TODO: dodać link do panelu logowania -->. Moim zdaniem komentarze są szczególnie ważne w większych projektach, bo po miesiącu naprawdę trudno pamiętać, po co była jakaś dziwna konstrukcja w HTML. Warto też wiedzieć, że w HTML nie stosujemy ani //, ani /* */ jak w JavaScript czy CSS. To są inne języki, inne reguły. Jeżeli wstawisz coś w stylu <!-- <p>Tekst</p> -->, to cały ten akapit jest ignorowany przez przeglądarkę, co jest wygodne przy testowaniu. Dobra praktyka jest też taka, żeby nie przesadzać z ilością komentarzy, ale tam gdzie struktura jest mniej oczywista (np. zagnieżdżone divy, rozbudowane formularze), lepiej dodać krótki, konkretny opis. W projektach komercyjnych często używa się komentarzy do oznaczania sekcji layoutu, np. <!-- HEADER START -->, <!-- FOOTER END -->, co ułatwia pracę całemu zespołowi. W skrócie: tylko zapis z nawiasami ostrymi i myślnikami, czyli <!-- ... -->, jest w HTML prawidłowy i rozpoznawany jako komentarz.

Pytanie 3

Narzędzie używane do organizowania i przedstawiania danych z wielu wpisów w celu ich wydruku lub dystrybucji to

A. makropolecenie
B. raport
C. kwerenda
D. formularz
Raport to taki pomocny zestaw danych, który pozwala na analizę i prezentację informacji z różnych źródeł. Jak myślisz, to naprawdę kluczowe narzędzie, jeśli chodzi o zarządzanie danymi i bazami danych. Dzięki raportom możemy fajnie zobaczyć wyniki sprzedaży czy inne dane, które z różnych miejsc się zbiera. To ułatwia podejmowanie decyzji, bo wszystko jest w jednym dokumencie. Na przykład, kiedy porównujemy wyniki z różnych okresów, to od razu widzimy, co działa, a co nie. Systemy takie jak Microsoft SQL Server Reporting Services czy IBM Cognos pomagają w tworzeniu tych raportów, a nawet pozwalają na ich ładne formatowanie. Super sprawa, bo można je dopasować do własnych potrzeb, co z kolei czyni je bardziej użytecznymi. W branży IT, raportowanie jest podstawą zarządzania usługami, a także w analizach SWOT. Przemyślane podsumowanie danych naprawdę pomaga w ocenie sytuacji firmy.

Pytanie 4

W języku PHP zmienna $_GET jest zmienną

A. zwykłą, utworzoną przez autora witryny
B. predefiniowaną, używaną do przesyłania informacji do skryptów PHP za pośrednictwem adresu URL
C. predefiniowaną, wykorzystywaną do zbierania wartości formularza po nagłówkach żądania HTTP (dane z formularza nie są widoczne w adresie)
D. utworzoną przez autora strony, używaną do przesyłania danych z formularza przez adres URL
Niepoprawne odpowiedzi prowadzą do nieporozumień dotyczących funkcji i konstrukcji zmiennej $_GET. W przeciwieństwie do stwierdzenia, że zmienna ta jest zdefiniowana przez twórcę strony, $_GET jest predefiniowaną zmienną, co oznacza, że jest dostarczana przez PHP jako część jego standardowej biblioteki. Również błędne jest twierdzenie, że dane przekazywane przez $_GET nie są widoczne w adresie URL. W rzeczywistości, jednym z kluczowych elementów działania $_GET jest to, że dane są rzeczywiście dołączane do adresu URL, co czyni je publicznie dostępnymi. Takie podejście może być użyteczne w przypadku, gdy chcemy, aby dane były łatwe do udostępnienia lub w przypadku, gdy chcemy umożliwić użytkownikom zakładanie zakładek na konkretne wyniki wyszukiwania. Niedopuszczalne jest także określanie $_GET jako 'zwykłej' zmiennej, ponieważ jej funkcjonalność jest ściśle związana z interakcją z protokołem HTTP i sposobem, w jaki dane są przesyłane pomiędzy klientem a serwerem. W kontekście aplikacji webowych, kluczowe jest, aby deweloperzy rozumieli nie tylko techniczne aspekty używania $_GET, ale także konsekwencje związane z bezpieczeństwem, takie jak ryzyko ataków XSS (Cross-site scripting) i potrzeba sanitizacji danych, które mogą pochodzić od użytkowników.

Pytanie 5

Jakiego rodzaju oprogramowanie narzędziowe jest wymagane, aby użytkownik mógł przeprowadzać operacje na zebranych danych?

A. System Zarządzania Bazą Danych (SZBD)
B. Obiektowy System Zarządzania Bazą Danych
C. Klucz obcy
D. Otwarty mechanizm komunikacji bazy danych
System Zarządzania Bazą Danych (SZBD) to kluczowy element w architekturze aplikacji, który umożliwia użytkownikom przechowywanie, modyfikowanie i zarządzanie danymi. Dzięki SZBD użytkownicy mogą wykonywać operacje takie jak dodawanie, usuwanie, modyfikacja danych oraz wykonywanie zapytań, co jest niezbędne w każdym systemie informacyjnym. Przykłady powszechnie stosowanych SZBD to MySQL, PostgreSQL oraz Oracle Database. W praktyce, SZBD obsługuje relacje między danymi, co pozwala na zapewnienie integralności i spójności danych. Dodatkowo, SZBD implementują standardy takie jak ACID (Atomicity, Consistency, Isolation, Durability), co jest gwarancją niezawodności transakcji. Aby efektywnie korzystać z SZBD, warto zapoznać się z językiem SQL, który jest standardem do komunikacji z bazą danych. W kontekście dobrych praktyk, umiejętność projektowania prawidłowej struktury bazy danych oraz znajomość zasad normalizacji danych są kluczowe dla optymalizacji wydajności aplikacji oraz minimalizacji ryzyka błędów danych.

Pytanie 6

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:active { background-color: Pink; }
B. td, th { background-color: Pink; }
C. tr { background-color: Pink; }
D. tr:hover { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 7

Jak należy prawidłowo udokumentować wzorcowanie pola nazwa we fragmencie kodu JavaScript?

function validateForm(Form)
{
reg=/^\[1-9\]*[A-ZŻŹĘĄĆŚÓŁŃ]{1}[a-zżźćńółęąś]{2,}$/;
wyn = Form.nazwa.value.match(reg);
if (wyn == null) {
    alert("Proszę podać poprawną nazwę");
    return false;
}
return true;
}
A. /* Pole nazwa musi składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i dwóch małych liter. */
B. /* Pole nazwa może zawierać dowolny ciąg cyfr (z wyłączeniem 0), następnie musi zawierać dużą literę i ciąg minimum dwóch małych liter. */
C. /* Pole nazwa powinno składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i ciągu małych liter. */
D. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i dużych liter. */
Weryfikacja pola nazwa przy użyciu wyrażeń regularnych w aplikacji JavaScript jest kluczowym elementem zapewnienia integralności danych wejściowych. Niektóre przedstawione opcje zawierają błędne założenia na temat porządku i wymogów składniowych wzorca. Przykładowo, nieprawidłowe jest założenie, że jedynie dowolny ciąg cyfr (bez zer) wystarczy, ponieważ kod wyraźnie wymaga, aby po cyfrach nastąpiła jedna duża litera, a następnie minimum dwie małe litery. Niezrozumienie tego może prowadzić do błędnych założeń dotyczących logiki walidacji. Niedokładne opisy wzorca mogą prowadzić do błędów w implementacji, co może skutkować działaniem niezgodnym z oczekiwaniami. Ponadto, dobre praktyki programistyczne zawsze sugerują, aby dokumentacja była dokładna i odzwierciedlała rzeczywiste wymagania kodu, co w tym przypadku oznacza precyzyjne określenie kolejności i wymogów dotyczących znaków. Niewłaściwe rozumienie wyrażeń regularnych może również prowadzić do błędów bezpieczeństwa, takich jak podatność na wstrzykiwanie danych, dlatego kluczowe jest poprawne udokumentowanie wzorca, aby zapewnić bezpieczne przetwarzanie danych użytkowników.

Pytanie 8

Tabele Osoby oraz Adresy są ze sobą połączone relacją typu jeden do wielu. Jakie zapytanie SQL powinno być użyte, aby poprawnie wyświetlić nazwiska oraz odpowiadające im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby, Adresy
B. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id=Adresy.id
C. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id=Adresy.id
D. SELECT nazwisko, Miasto FROM Osoby.Adresy_id=Adresy.id FROM Osoby, Adresy
Użycie składni JOIN w zapytaniu SQL to naprawdę dobra decyzja, jeśli chodzi o pokazywanie powiązanych danych z różnych tabel w bazie danych. W odpowiedzi zastosowałeś INNER JOIN, co jest jednym z tych najpopularniejszych sposobów łączenia tabel, zwłaszcza gdy mamy wspólny klucz. W tym przypadku klucz obcy Adresy_id w tabeli Osoby łączy się z kluczem głównym id w tabeli Adresy, co pozwala na wyciągnięcie nazwisk z Osób oraz odpowiadających im miast z Adresów. W praktyce takie użycie JOIN jest zgodne z najlepszymi praktykami, bo ułatwia zarządzanie danymi i sprawia, że wszystko jest czytelniejsze. Gdy pracujesz nad bardziej skomplikowanymi systemami, umiejętność poprawnego łączenia tabel jest kluczowa. Umożliwia to utrzymanie porządku w danych i zmniejszenie ich powtarzalności przez normalizację. I naprawdę, takie zapytania są mega przydatne w analizie danych, generowaniu raportów czy w aplikacjach, które operują na dużych zbiorach, gdzie wydajność i przejrzystość kodu SQL są niezwykle ważne.

Pytanie 9

Podczas działania skryptu JavaScript został w konsoli wygenerowany błąd związany z działaniami na atrybucie elementu DOM. Z komunikatu wynika, że próbowano ustawić atrybut dla

Ilustracja do pytania
A. odnośnika.
B. paragrafu.
C. tabeli.
D. obrazu.
Twoja odpowiedź była prawidłowa. Błąd 'Uncaught TypeError: Cannot set property 'src' of null' jest związany z próbą przypisania wartości do atrybutu 'src' nieistniejącego elementu DOM. Atrybut 'src' jest charakterystyczny dla elementów HTML obrazu, czyli <img>, i służy do określenia źródła obrazka. Gdy masz do czynienia z błędem tego typu, najczęściej wynika to z próby manipulacji atrybutem 'src' obrazu, który nie istnieje w strukturze DOM, co może wynikać na przykład z błędu w selektorze. Pamiętaj, że przed przypisaniem wartości atrybutu, warto upewnić się, że dany element DOM faktycznie istnieje. W przeciwnym razie, jak w tym przypadku, JavaScript zwróci błąd. Zrozumienie charakterystyki błędów i potrafiące identyfikowanie ich przyczyn jest kluczowe w procesie programowania.

Pytanie 10

Atrybut NOT NULL kolumny jest konieczny w przypadku

A. klucza podstawowego
B. określenia wszystkich pól typu numerycznego
C. użycia atrybutu DEFAULT
D. określenia wszystkich pól tabeli
W przypadku atrybutu DEFAULT, jego zadaniem jest przypisanie domyślnej wartości do kolumny w momencie tworzenia nowego rekordu, jeśli nie zostanie podana inna wartość. Oznaczenie kolumny jako NOT NULL nie jest wymagane, ponieważ DEFAULT pozwala na wprowadzenie wartości domyślnej, co jest wystarczające do spełnienia wymogu posiadania wartości w kolumnie. Wartości domyślne mogą być stosowane w różnorodnych sytuacjach, na przykład, aby zapewnić, że pole z datą utworzenia zawsze ma przypisaną aktualną datę. W odniesieniu do definicji wszystkich pól tabeli, nie ma konieczności, aby każde pole miało atrybut NOT NULL. W praktyce wiele kolumn w tabelach baz danych jest zaprojektowanych tak, aby mogły przyjmować wartości NULL, co daje większą elastyczność w przechowywaniu danych. Co więcej, w przypadku pól typu numerycznego, możliwość przechowywania wartości NULL jest często wykorzystywana do reprezentacji braku danych, co czyni atrybut NOT NULL w tym kontekście zbędnym. Wykorzystywanie NULL w bazach danych ma swoje uzasadnienie i powinno być stosowane rozważnie, gdyż niektóre systemy zarządzania bazami danych mogą mieć różne metody obsługi NULL, co może wpływać na operacje zapytań i logikę aplikacji korzystających z tych danych. Powszechnym błędem jest myślenie, że wszystkie kolumny w tabeli muszą być oznaczone jako NOT NULL, co prowadzi do nieoptymalnych struktur danych i może ograniczać możliwości rozwoju aplikacji.

Pytanie 11

W języku SQL polecenie INSERT INTO

A. dodaje tabelę.
B. aktualizuje rekordy określoną wartością.
C. wprowadza dane do tabeli.
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 12

Wskaź poprawną formę kodowania polskich znaków w pliku HTML?

A. <meta content='UTF8'>
B. <meta char set= "UTF-8">
C. <meta charset="UTF-8">
D. <meta "content=UTF-8">
Odpowiedź <meta charset="UTF-8"> to strzał w dziesiątkę! To zgodny z nowoczesnymi standardami HTML sposób na określenie kodowania znaków w dokumencie. Dzięki temu, że używamy atrybutu 'charset' z wartością 'UTF-8', mówimy przeglądarkom, że tekst powinien być interpretowany według tego kodowania. UTF-8 jest super popularne, bo obsługuje wszystkie znaki w Unicode. To oznacza, że możemy pisać wszystkie polskie znaki diakrytyczne, czyli te jak ą, ć, ę, ł itd., bez obaw o błędy w wyświetlaniu. Jeśli wstawisz ten tag w sekcji <head> swojego dokumentu HTML, masz pewność, że strona będzie dobrze wyglądać w różnych przeglądarkach i na różnych urządzeniach. Dobrze jest umieszczać go na początku sekcji <head>, żeby uniknąć problemów z pokazywaniem treści. Co więcej, korzystanie z UTF-8 jest rekomendowane przez W3C, więc to naprawdę dobry wybór dla nowoczesnych aplikacji webowych.

Pytanie 13

Przedstawiono efekt formatowania CSS oraz kod HTML. Jak należy zdefiniować styl, aby osiągnąć takie formatowanie?

<p>
Mimozami jesień się zaczyna,<br>
Złotawa, krucha i miła.<br>
To ty, to ty jesteś ta dziewczyna,<br>
Która do mnie na ulicę wychodziła.
</p>
Ilustracja do pytania
A. p::first-line { font-size: 200%; color: brown; }
B. #first-line { font-size: 200%; color: brown; }
C. .first-line { font-size: 200%; color: brown; }
D. p.first-line { font-size: 200%; color: brown; }
Niestety, wybrana przez ciebie odpowiedź jest niepoprawna. Najważniejszym błędem jest brak zrozumienia, jak działają pseudoelementy i selektory CSS. Pseudoelement ::first-line jest używany specyficznie do formatowania pierwszej linii paragrafu. Zastosowanie selektora typu ID (#first-line) lub klasy (.first-line) nie dałoby oczekiwanego efektu, ponieważ te selektory odnoszą się do elementów o określonym identyfikatorze lub klasie, a nie do pierwszej linii paragrafu. Podobnie, selektor p.first-line oznacza paragraf o klasie 'first-line', a nie pierwszą linię paragrafu. Dlatego w tym przypadku prawidłowym rozwiązaniem jest zastosowanie pseudoelementu ::first-line w połączeniu z selektorem paragrafu (p), co umożliwi formatowanie tylko pierwszej linii paragrafu. Pamiętaj, że prawidłowe rozumienie selektorów CSS jest kluczowe do efektywnego stylowania stron internetowych i tworzenia responsywnych, atrakcyjnych layoutów.

Pytanie 14

Która z reguł dotyczących sekcji w HTML jest właściwa?

A. W sekcji <head> można definiować szablon strony przy użyciu znaczników <div>
B. W sekcji <head> mogą znajdować się znaczniki <meta>, <title>, <link>
C. W sekcji <head> nie można umieszczać kodu CSS, tylko odwołanie do pliku CSS
D. W sekcji <head> znajduje się sekcja <body>
Poprawnie wskazana zasada dotyczy tego, co zgodnie ze specyfikacją HTML powinno znajdować się w sekcji <head>. Ta część dokumentu przechowuje tzw. metadane, czyli informacje o stronie, a nie samą treść widoczną dla użytkownika. Właśnie dlatego typowe i jak najbardziej prawidłowe elementy w <head> to <meta>, <title> oraz <link>. Znacznik <title> ustawia tytuł strony wyświetlany na karcie przeglądarki i używany np. przez wyszukiwarki. Znaczniki <meta> służą m.in. do określenia kodowania znaków (np. <meta charset="UTF-8">), opisu strony, słów kluczowych, informacji dla robotów indeksujących czy ustawienia viewportu na urządzeniach mobilnych. Z kolei <link> pozwala podpiąć zewnętrzne zasoby, najczęściej arkusze stylów CSS (rel="stylesheet"), ale też np. ikony favicon. W praktyce w dobrze napisanym dokumencie HTML w <head> znajdziesz zwykle: deklarację <meta charset>, <meta name="viewport">, tytuł strony w <title>, link do pliku CSS przez <link rel="stylesheet" href="style.css"> oraz czasem dodatkowe meta tagi dla SEO czy integracji z social media (Open Graph, Twitter Cards). Z mojego doświadczenia warto pilnować porządku w <head>, bo przejrzysta i poprawna struktura ułatwia późniejsze utrzymanie projektu, poprawia dostępność, pozycjonowanie i ogólnie jest zgodna z dobrymi praktykami rekomendowanymi przez W3C i społeczność front‑endową. Moim zdaniem dobrze opanowana sekcja <head> to taki fundament profesjonalnej strony WWW, nawet jeśli użytkownik jej bezpośrednio nie widzi.

Pytanie 15

Funkcja pg_connect w PHP pozwala na nawiązanie połączenia z bazą danych

A. MS ACCESS
B. MS SQL
C. mySQL
D. PostgreSQL
Polecenie pg_connect w języku PHP jest używane do nawiązywania połączenia z bazą danych PostgreSQL. PostgreSQL to zaawansowany system zarządzania relacyjnymi bazami danych, który obsługuje wiele zaawansowanych funkcji, takich jak transakcje, złożone zapytania czy wsparcie dla różnych typów danych. Funkcja pg_connect przyjmuje jako argumenty łańcuch połączenia, w którym określamy host, port, nazwę bazy danych, użytkownika oraz hasło. Przykładowe użycie polecenia to: $conn = pg_connect("host=localhost dbname=mydb user=myuser password=mypass");. Przy prawidłowym połączeniu, zmienna $conn będzie zawierała uchwyt do bazy danych, który można używać w dalszych operacjach, takich jak wykonywanie zapytań SQL. PostgreSQL jest często wybierany ze względu na swoje możliwości dostosowywania, silne wsparcie dla standardów SQL oraz szeroką społeczność. Warto zauważyć, że pg_connect jest częścią rozszerzenia PHP o nazwie pgsql, które musi być włączone, aby umożliwić korzystanie z tej funkcji.

Pytanie 16

Aby przenieść stronę internetową na serwer, można wykorzystać program

A. FileFilla
B. Go!Zilla
C. Bugzilla
D. CloneZilla
FileFilla to oprogramowanie, które umożliwia przesyłanie plików na serwer oraz zarządzanie nimi w sposób efektywny i przejrzysty. Jest to klient FTP, co oznacza, że wykorzystuje protokół File Transfer Protocol do komunikacji między komputerem użytkownika a serwerem. Dzięki FileFilla, użytkownik ma możliwość przenoszenia plików z lokalnej maszyny na serwer w sposób zorganizowany, co jest kluczowe przy migracji witryn internetowych. Program obsługuje różne protokoły, takie jak SFTP i FTPS, co zapewnia dodatkowe bezpieczeństwo podczas przesyłania danych. Praktycznym przykładem zastosowania FileFilla może być sytuacja, w której twórca strony internetowej aktualizuje treść na serwerze, przesyłając nowe pliki lub foldery. Zastosowanie tego oprogramowania pozwala nie tylko na szybkie przenoszenie plików, ale także na monitorowanie postępu transferu oraz zarządzanie plikami na serwerze, co czyni go nieocenionym narzędziem dla administratorów stron. Warto również wspomnieć, że FileFilla jest zgodna z wieloma standardami, co sprawia, że jest uniwersalnym rozwiązaniem w świecie technologii webowej.

Pytanie 17

Który z poniższych znaczników HTML nie służy do formatowania tekstu?

A. <em>
B. <sub>
C. <strong>
D. <div>
Znacznik <div> jest używany w HTML do dzielenia dokumentu na sekcje, co czyni go elementem blokowym, który nie formatuje tekstu w sensie stylizacji, ale organizuje strukturę dokumentu. Użycie <div> jest zgodne z dobrymi praktykami tworzenia przejrzystych i semantycznych kodów HTML, co jest fundamentem w budowie responsywnych oraz dostępnych stron internetowych. Na przykład, <div> może być użyty do grupowania elementów w sekcję strony, co ułatwia ich stylizację za pomocą CSS. Można tworzyć klasy lub identyfikatory dla <div>, co pozwala na dalsze formatowanie i manipulację jego zawartością. Warto pamiętać, że stosowanie <div> jest kluczowe w kontekście nowoczesnych ram CSS, takich jak Flexbox czy Grid, które umożliwiają bardziej zaawansowane układanie elementów na stronie.

Pytanie 18

Wyjątkowa metoda przynależąca do danej klasy w programowaniu obiektowym, która jest automatycznie wywoływana w momencie tworzenia obiektu i zazwyczaj ma na celu inicjalizację pól, to

A. specyfikator dostępu
B. konstruktor
C. destruktor
D. obiekt
Obiekt to instancja klasy, która zawiera konkretne wartości pól oraz metody zdefiniowane w klasie. Nie jest to jednak metoda, a raczej jej realizacja. W programowaniu obiektowym obiekty są tworzone za pomocą konstruktorów, co oznacza, że mylenie tych pojęć prowadzi do nieporozumień. Destruktor, z drugiej strony, to metoda wywoływana automatycznie podczas usuwania obiektu z pamięci. Jego zadaniem jest zwolnienie zasobów zajmowanych przez obiekt. Brak zrozumienia różnicy między konstruktorem a destruktorem może prowadzić do problemów z zarządzaniem pamięcią i wycieków zasobów. Specyfikator dostępu, natomiast, to mechanizm definiujący widoczność i dostępność pól oraz metod w klasie. Pomimo że jest kluczowym elementem programowania obiektowego, nie odnosi się bezpośrednio do tworzenia instancji obiektów. Powszechnym błędem jest zatem utożsamianie konstruktorów z innymi elementami języka obiektowego, co może prowadzić do nieefektywnej architektury oprogramowania oraz trudności w jego zrozumieniu i utrzymaniu. Kluczowe jest zatem zrozumienie roli, jaką konstruktor odgrywa w kontekście cyklu życia obiektu oraz zarządzania jego stanem.

Pytanie 19

Jaki wynik pojawi się po wykonaniu zaprezentowanego kodu HTML?

Ilustracja do pytania
A. Odpowiedź D
B. Odpowiedź A
C. Odpowiedź B
D. Odpowiedź C
W analizie kodu HTML istotne jest zrozumienie struktury zagnieżdżonych list. Błędne odpowiedzi wynikają z niedokładnej interpretacji hierarchii i stylizacji list. Listy uporządkowane oznaczone tagiem ol oraz nieuporządkowane ul są podstawą do strukturalizacji informacji w HTML. Częsty błąd polega na nieuwzględnieniu, jak przeglądarki interpretują zagnieżdżone listy. Element ol z atrybutami type i start zmienia styl numeracji. Wersje z atrybutem type=A zmieniają numerację na literową, a start=4 decyduje o punkcie startowym. Pominięcie tego aspektu prowadzi do błędnych wniosków. Dobre praktyki obejmują klarowność struktury HTML poprzez właściwe użycie tagów i atrybutów, co jest kluczowe dla dostępności i użyteczności stron. Przy projektowaniu, warto pamiętać o spójności formatowania i zgodności z semantyką HTML, co poprawia doświadczenia użytkowników i wydajność SEO. Właściwe zrozumienie i zastosowanie atrybutów list ułatwia zarządzanie złożonymi strukturami na stronach internetowych.

Pytanie 20

W języku PHP znajduje się poniższa instrukcja pętli. Ile iteracji wykona ta pętla, zakładając, że zmienna kontrolna nie jest zmieniana w jej wnętrzu i nie zastosowano instrukcji przerywającej pętlę typu break?

for ($i = 10; $i <= 100; $i += 10)
A. 9 iteracji
B. 100 iteracji
C. 11 iteracji
D. 10 iteracji
W przypadku błędnych odpowiedzi, najczęściej występującym błędem jest mylenie wartości granicznych i liczby iteracji pętli. Na przykład, jeśli ktoś uważa, że pętla wykona się tylko 9 razy, może to wynikać z niepoprawnego zrozumienia, jak działa operator porównania w instrukcji for. Wartości graniczne oraz sposób inkrementacji (tutaj $i += 10) powinny być dokładnie analizowane. Osoby, które odpowiedziały, że pętla wykona się 11 razy, mogą zakładać, że dolna granica nie jest wliczana w całkowitą liczbę wykonanych iteracji, co jest nieprawidłowe, gdyż w przypadku tego konkretnego kodu dolna granica jest uwzględniana. Ponadto, odpowiedź sugerująca, że pętla wykona się 100 razy ignoruje fakt, że zmienna $i nie może przekraczać 100. W praktyce, błędy te mogą prowadzić do poważnych problemów w logice aplikacji, a zrozumienie, jak dokładnie funkcjonują pętle w PHP, jest kluczowe dla efektywnego programowania. Prawidłowe podejście do analizy kodu, zrozumienia jego struktury i funkcji, jest niezbędne, aby uniknąć typowych pułapek w programowaniu oraz zapewnić, że napisany kod będzie wydajny i wolny od błędów.

Pytanie 21

W SQL, aby uniemożliwić stworzenie konta przy wykonywaniu kwerendy CREATE USER, gdy konto już istnieje, można zastosować następującą składnię

A. CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
B. CREATE OR REPLACE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
C. CREATE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
D. CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
Odpowiedzi, które nie zawierają klauzuli 'IF NOT EXISTS', nie są optymalne, ponieważ mogą prowadzić do błędów, gdy próbuje się utworzyć konto, które już istnieje. W przypadku polecenia 'CREATE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';', jeśli konto 'anna' jest już w systemie, użytkownik otrzyma błąd, co skutkuje niepowodzeniem całego skryptu. W kontekście administracji baz danych, jest to szczególnie problematyczne, gdy skrypty są uruchamiane automatycznie, ponieważ mogą one przerywać dalsze operacje. Natomiast składnia 'CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' jest nieprawidłowa, ponieważ nie istnieje w standardzie SQL. Użytkownicy mogą mylić 'DROP' z opcją usunięcia konta, co w praktyce nie powinno być podejmowane bez wyraźnej intencji. Ostatecznie, 'CREATE OR REPLACE USER...' działa odmiennie, ponieważ nie jest standardową operacją w SQL dla użytkowników; bardziej odpowiednie byłoby jej zastosowanie w kontekście obiektów, takich jak procedury czy widoki. Kluczowe jest zrozumienie, że błędne podejście do tworzenia użytkowników może prowadzić do chaosu w zarządzaniu bazą danych i stwarzać potencjalne zagrożenia dla bezpieczeństwa. Dlatego tak istotne jest stosowanie klauzuli 'IF NOT EXISTS', co jest zgodne z najlepszymi praktykami w branży zarządzania systemami baz danych.

Pytanie 22

Wskaż poprawną definicję stylu CSS dla przycisku typu submit o właściwościach: czarny kolor tła, brak obramowania, marginesy wewnętrzne 5 px.

input[type=submit] {
  background-color: #000000;
  border: none;
  padding: 5px;
}                         A.

input[type=submit] {
  background-color: #ffffff;
  border: none;
  padding: 5px;
}                         B.

input=submit {
  background-color: #000000;
  border: none;
  margin: 5px;
}                         C.

input=submit {
  background-color: #000000;
  border: 0px;
  margin: 5px;
}                         D.
A. A.
B. B.
C. C.
D. D.
Wybrana przez Ciebie odpowiedź nie jest prawidłowa, ale nie martw się, ważne jest, żeby zrozumieć dlaczego. CSS to kaskadowe arkusze stylów, które umożliwiają określenie stylu strony internetowej. Kluczowym aspektem CSS jest składnia, która obejmuje selektor, właściwość i wartość. W przypadku przycisku typu 'submit', selektorem jest 'input[type='submit']'. Właściwością jest 'background-color', 'border' lub 'padding', a wartością jest 'black', 'none' lub '5px' odpowiednio. Niepoprawne odpowiedzi nie spełniają wszystkich lub niektórych z tych wymagań. Mogą one ignorować wymagany czarny kolor tła, brak obramowania, marginesy wewnętrzne 5 px lub wszystkie te elementy. Inne błędne odpowiedzi mogą zawierać nieprawidłowe selektory, właściwości lub wartości. Pamiętaj, że praktyka prowadzi do mistrzostwa, więc nie zniechęcaj się, jeśli nie udało ci się tego dostrzec za pierwszym razem.

Pytanie 23

Podano tabelę ksiazki z kolumnami: tytul, autor (w formacie tekstowym), cena (w formacie liczbowym). Aby zapytanie SELECT zwracało jedynie tytuły, dla których cena jest niższa niż 50zł, należy użyć:

A. SELECT ksiazki FROM tytul WHERE cena < '50 zł'
B. SELECT * FROM ksiazki WHERE cena < 50
C. SELECT tytul FROM ksiazki WHERE cena < 50
D. SELECT tytul FROM ksiazki WHERE cena > '50 zł'
W analizowanych odpowiedziach występują różnorodne błędy związane z interpretacją składni SQL oraz zasad dotyczących typów danych. Zastosowanie 'SELECT ksiazki FROM tytul WHERE cena < '50 zł';' jest błędne, ponieważ nie tylko niewłaściwie odnosi się do nazw tabeli i kolumn, ale także używa złego formatu porównania. Cena powinna być traktowana jako wartość liczbową, więc użycie apostrofów wokół '50 zł' prowadzi do błędnej interpretacji i może skutkować błędem wykonania. Kolejny błąd występuje w 'SELECT tytul FROM ksiazki WHERE cena > '50 zł';', gdzie użycie operatora '>' zupełnie ignoruje założenie dotyczące ceny, które powinno być mniejsze niż 50 zł. To pokazuje typowy problem w myśleniu o logicznych warunkach zapytań SQL, w których kluczowe jest zrozumienie, jakie dane chcemy uzyskać. W ostatniej niepoprawnej odpowiedzi 'SELECT * FROM ksiazki WHERE cena < 50;' również występuje problem, ponieważ użycie '*' zwraca wszystkie kolumny z tabeli, podczas gdy pytanie sugeruje, że interesują nas tylko tytuły. To nieefektywne podejście do wyboru danych, ponieważ może prowadzić do zbędnego obciążenia systemu. W kontekście projektowania baz danych i pisania zapytań SQL istotne jest, aby doprecyzować, które kolumny są naprawdę potrzebne oraz stosować odpowiednie typy danych, co pozwala uniknąć problemów związanych z interpretacją wartości. Kluczową nauką jest to, aby nie tylko tworzyć zapytania, ale również zrozumieć ich logikę oraz efektywność w kontekście wydajności systemu.

Pytanie 24

Które z wymienionych par znaczników HTML mają identyczny efekt wizualny na stronie internetowej, jeśli nie zastosowano żadnych stylów CSS?

A. <p> oraz <h2>
B. <b> i <strong>
C. <b> i <big>
D. <meta> oraz <title>
Wybór innych par znaczników HTML w tej kwestii jest błędny z kilku powodów. Znacznik <p> i <h2> pełnią różne role w hierarchii dokumentu HTML; <p> oznacza akapit, a <h2> nagłówek drugiego poziomu, co wpływa na ich interpretację przez przeglądarki oraz wyszukiwarki internetowe. Używanie ich zamiennie może prowadzić do niezgodności semantycznych, które obniżają jakość SEO i dostępność treści. Z kolei znaczniki <b> i <big> różnią się w swoim przeznaczeniu, gdzie <b> oznacza pogrubienie, a <big> zwiększa rozmiar czcionki, co wprowadza dodatkowe zmiany wizualne, a nie tylko wyróżnienie treści. W kontekście SEO oraz dostępności, niepoprawne użycie tych znaczników osłabia przekaz oraz utrudnia robotom wyszukiwarek zrozumienie struktury strony. Odpowiedź <meta> i <title> również jest błędna, ponieważ <meta> jest znacznikiem używanym do definiowania metadanych, a <title> określa tytuł dokumentu. Ich zastosowanie jest zupełnie inne, co prowadzi do dezorientacji, jeśli chodzi o zrozumienie celu ich użycia. Sumując, wybór nieprawidłowych par znaczników prowadzi do zamieszania i nieefektywnej struktury dokumentu, co jest niezgodne z dobrymi praktykami projektowania stron internetowych.

Pytanie 25

W przedstawionym kodzie HTML ukazany styl CSS to styl:

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

Pytanie 26

Znacznik <pre> </pre> służy do wyświetlania

A. znaku skreślenia
B. treści czcionką w języku polskim
C. znaku wielokropkowego
D. treści czcionką o stałej szerokości
Znacznik <pre> </pre> jest używany do wyświetlania treści w formacie, który zachowuje oryginalny układ oraz czcionkę o stałej szerokości. Umożliwia on prezentację tekstu w takiej formie, w jakiej został wprowadzony, co jest szczególnie przydatne w kontekście kodu źródłowego, danych tabelarycznych lub innych elementów, gdzie zachowanie spacji, łamań linii i innych formatów jest istotne. Przykładem zastosowania znacznika <pre> może być wyświetlanie fragmentów kodu w dokumentacji HTML lub na stronach internetowych, gdzie istotne jest, aby użytkownik mógł widzieć dokładnie, jak kod wygląda, bez modyfikacji przestrzeni lub układu, co jest często problematyczne w przypadku standardowego tekstu HTML. Używanie tego znacznika jest zgodne z dobrymi praktykami w tworzeniu przejrzystych i czytelnych interfejsów, zwłaszcza w kontekście tworzenia stron internetowych o charakterze technicznym.

Pytanie 27

W programowaniu zmienna o typie integer służy do przechowywania

A. znaku
B. wartości logicznej
C. liczby rzeczywistej
D. liczby całkowitej
Zmienna typu integer w językach programowania jest przeznaczona do przechowywania liczb całkowitych, co oznacza liczby bez części dziesiętnej. To podstawowy typ danych, który jest szeroko stosowany w programowaniu do reprezentowania wartości takich jak liczby porządkowe, ilości, indeksy w tablicach czy inne wartości, które nie wymagają precyzyjnych obliczeń dziesiętnych. Przykładami zastosowania zmiennych typu integer mogą być liczniki w pętlach, które określają liczbę iteracji, lub zmienne przechowujące wiek osoby, liczbę punktów w grze czy numer identyfikacyjny w bazie danych. Warto zaznaczyć, że różne języki programowania mogą oferować różne rozmiary dla typu integer, co wpływa na zakres wartości, jakie mogą być w nim przechowywane. Na przykład w języku C++ standardowy typ int zazwyczaj zajmuje 4 bajty i może przechowywać liczby z przedziału od -2,147,483,648 do 2,147,483,647. W praktyce, znajomość typów danych i ich odpowiedniego używania powinna być kluczową umiejętnością każdego programisty, aby pisać wydajny i prawidłowy kod.

Pytanie 28

W języku JavaScript rezultat wykonania polecenia zmienna++; będzie identyczny jak polecenia

A. zmienna=zmienna+10;
B. zmienna===zmienna+1;
C. zmienna --;
D. zmienna+=1;
W języku JavaScript operator inkrementacji '++' zwiększa wartość zmiennej o 1. Zapis 'zmienna++' jest równoważny z 'zmienna += 1', ponieważ obydwa polecenia prowadzą do tej samej końcowej wartości zmiennej. Operator '+=' to skrót, który dodaje wartość po prawej stronie operatora do aktualnej wartości zmiennej. Warto nadmienić, że 'zmienna++' działa w trybie post-inkrementacji, co oznacza, że zwraca pierwotną wartość przed inkrementacją, podczas gdy '++zmienna' działa w trybie pre-inkrementacji, zwracając wartość po inkrementacji. Przykładowo, jeśli zmienna wynosi 5, to po zastosowaniu 'zmienna++' jej nowa wartość stanie się 6, a jej wartość zwracana to 5. Zastosowanie operatora '+=' jest zgodne z ECMAScript, standardem, na którym oparty jest JavaScript. Użycie tych operatorów jest powszechne w programowaniu, zwłaszcza w iteracjach i obliczeniach. Przykładając to do praktyki, w kodzie można zobaczyć takie zastosowanie: let x = 5; x++; console.log(x); // wypisze 6, a let y = 5; y += 1; console.log(y); // również wypisze 6.

Pytanie 29

Przedstawione zapytanie SELECT wykonane na tabeli przechowującej dane o uczestnikach konkursu ma za zadanie wybrać

SELECT MAX(wiek) - MIN(wiek) FROM uczestnicy;
A. minimalny oraz maksymalny wiek uczestników.
B. liczbę najstarszych uczestników.
C. średnią arytmetyczną wieku uczestników.
D. różnicę wieku pomiędzy najstarszym i najmłodszym uczestnikiem.
Niestety, podane odpowiedzi nie są poprawne. Zapytanie SQL, które zostało przedstawione, korzysta z funkcji agregujących MAX i MIN, by znaleźć maksymalną i minimalną wartość wieku, a następnie oblicza różnicę między nimi. Taka operacja nie daje nam informacji o minimalnym i maksymalnym wieku uczestników (odpowiedź #1), nie oblicza również średniej arytmetycznej wieku uczestników (odpowiedź #3), ani nie zwraca liczby najstarszych uczestników (odpowiedź #4). W każdym z tych przypadków, zapytanie musiałoby być sformułowane w inny sposób. Na przykład, do obliczenia średniego wieku uczestników, użylibyśmy funkcji AVG. Dlatego ważne jest zrozumienie, jak działają różne funkcje agregujące w SQL i jakie informacje mogą dostarczyć, aby poprawnie interpretować wyniki zapytań SQL. Pamiętaj, że błędne zrozumienie tego, co robi dane zapytanie SQL, może prowadzić do niepoprawnej interpretacji danych, co w konsekwencji może prowadzić do błędnych decyzji biznesowych lub analitycznych.

Pytanie 30

W PHP, przy wykonywaniu działań na bazie danych MySQL, aby zakończyć sesję z bazą, należy użyć

A. mysqli_close();
B. mysqli_commit();
C. mysqli_rollback();
D. mysqli_exit();
Funkcja mysqli_close() jest właściwym sposobem na zakończenie pracy z połączeniem do bazy danych MySQL w języku PHP. Użycie tej funkcji zwalnia zasoby skojarzone z danym połączeniem, co jest kluczowe w kontekście wydajności aplikacji. Po zakończeniu operacji na bazie danych, zwłaszcza w przypadku aplikacji intensywnie korzystających z zasobów, takich jak serwery webowe, ważne jest, aby zamknąć połączenie, aby uniknąć wycieków pamięci oraz ograniczyć liczbę otwartych połączeń. Przykładowo, po wykonaniu zapytań do bazy danych, stosując mysqli_close($connection), gdzie $connection to uchwyt do otwartego połączenia, można skutecznie zakończyć interakcję z bazą. Dobrą praktyką jest zamykanie połączeń w blokach finally, aby upewnić się, że zasoby są zwalniane nawet w przypadku wystąpienia wyjątków. Kiedy zamykasz połączenie, pamiętaj, że nie będziesz w stanie już korzystać z tego uchwytu połączenia, co jest zgodne z filozofią zarządzania zasobami, gdzie każdy otwarty zasób powinien być odpowiednio zamykany po zakończeniu jego użycia.

Pytanie 31

Który z poniższych fragmentów kodu JavaScript zwróci true?

A. "a" > "b"
B. "ab" > "c"
C. "def" > "abc"
D. "abc" > "def"
Porównania 'a' > 'b', 'ab' > 'c' oraz 'abc' > 'def' nie zwracają wartości true z powodu zasad leksykalnego porównania ciągów tekstowych w JavaScript. W pierwszym przypadku, porównując 'a' do 'b', 'a' ma wartość Unicode 97, a 'b' wartość 98. Ponieważ 97 jest mniejsze niż 98, porównanie zwraca false. W drugim przypadku, 'ab' i 'c' są analizowane w ten sposób, że 'a' (97) jest mniejsze niż 'c' (99), co również skutkuje wynikiem false, ponieważ porównanie zaczyna się od pierwszych znaków. Ostatnie porównanie 'abc' > 'def' także zwraca false, ponieważ pierwszy znak 'd' (100) jest większy niż 'a' (97), co sprawia, że całe porównanie jest fałszywe. Warto zauważyć, że w przypadku porównań ciągów tekstowych, wielkość liter ma wpływ na wynik, dlatego 'A' będzie mniejsze od 'a', co może prowadzić do nieporozumień, szczególnie przy pracy z danymi użytkowników lub przy sortowaniu. Zrozumienie tych zasad jest kluczowe dla programistów, aby unikać błędów logicznych w kodzie.

Pytanie 32

Zademonstrowano fragment kodu JavaScript. Po jego uruchomieniu zmienna str2 otrzyma wartość. ```var str1 = "JavaScript"; var str2 = str1.substring(2, 6);```

A. avaS
B. avaScr
C. vaScri
D. vaSc
Pierwsza z niepoprawnych odpowiedzi 'avaS' sugeruje, że odczytujemy znaki zaczynając od drugiego indeksu, jednak końcowy indeks 6 zmienia sposób odczytu. Możliwe, że ktoś mógł pomylić kolejność lub sposób, w jaki substring działa, co jest częstym błędem w zrozumieniu tej metody. Druga odpowiedź 'vaScri' wydaje się sugerować, że ktoś zrozumiał, jak działa substring, ale błędnie wyznaczył końcowy indeks, co prowadzi do wyodrębnienia znacznie większej ilości znaków. W rzeczywistości, aby uzyskać 'vaScri', należałoby użyć indeksów 2 i 8, co również jest nieprawidłowe. Ostatnia niepoprawna odpowiedź 'avaScr' wskazuje na błędne wyznaczenie pierwszego znaku. Użytkownik mógł pomylić interpretację indeksu zaczynając od 0, co w JavaScript jest istotne. W kontekście całego łańcucha, odpowiedzi te pokazują, jak ważne jest zrozumienie indeksowania i prawidłowego użycia metod do manipulacji tekstem, aby unikać błędów w kodzie. Rozwój umiejętności w pracy z łańcuchami tekstowymi jest kluczowy dla efektywnego programowania w JavaScript.

Pytanie 33

Program FileZilla może być użyty do

A. zmiany domyślnych ustawień hostingu dla strony internetowej
B. walidacji strony internetowej
C. publikacji strony internetowej na serwerze
D. zarządzania bazami danych strony internetowej
Wybór odpowiedzi, która nie odnosi się do publikacji strony internetowej na serwerze, jest typowym błędem związanym z myleniem różnych funkcji i zastosowań technologii internetowych. Walidacja strony internetowej, choć ważna, odnosi się do sprawdzania poprawności kodu HTML oraz zgodności z standardami W3C, co nie ma bezpośredniego związku z przesyłaniem plików na serwer. Użytkownicy często zakładają, że weryfikacja poprawności ich kodu jest wystarczająca do publikacji, co jest nieścisłe, ponieważ nawet poprawny kod nie będzie dostępny online bez przesłania na serwer. Zmiana domyślnych ustawień hostingu również nie ma związku z funkcjonalnością FileZilla, ponieważ takie zmiany zazwyczaj dokonuje się w panelu zarządzania hostingiem, a nie przez klienta FTP. Ponadto zarządzanie bazami danych, które jest inną kluczową częścią rozwoju aplikacji webowych, wymaga użycia narzędzi takich jak PHPMyAdmin czy konsola SQL, a nie narzędzi do przesyłania plików. Zrozumienie tych różnic jest niezbędne dla efektywnego korzystania z technologii webowych i unikania typowych pułapek, które mogą prowadzić do błędnych wniosków oraz problemów w procesie publikacji stron internetowych.

Pytanie 34

W pokazanym fragmencie zapytania w języku SQL, polecenie SELECT ma na celu uzyskanie wyników z komendy SELECT COUNT(wartosc) FROM....?

A. średnią wartości w kolumnie wartosc
B. liczbę rekordów
C. średnią wartości w tabeli
D. sumę wartości w kolumnie wartosc
W kontekście zapytania SQL, komenda SELECT COUNT(wartosc) ma na celu zwrócenie liczby wierszy w danej tabeli, które spełniają określone kryteria. Funkcja COUNT jest jedną z agregujących funkcji zapytań SQL, która zlicza liczbę niepustych wartości w kolumnie. Jeżeli argumentem funkcji jest konkretna kolumna, to zostaną zliczone tylko te wiersze, w których ta kolumna zawiera wartości, natomiast jeżeli użyjemy COUNT(*) bez podawania kolumny, zliczymy wszystkie wiersze tabeli, niezależnie od tego, czy kolumny zawierają wartości. Przykład praktyczny: jeśli mamy tabelę 'Zamówienia' i chcemy zliczyć liczbę dokonanych zamówień, można użyć zapytania SELECT COUNT(*) FROM Zamówienia; co zwróci całkowitą liczbę zamówień w tabeli. Istotne jest, aby zrozumieć, że COUNT zwraca liczbę wierszy, a nie sumę, średnią lub inne statystyki. W standardzie SQL nie ma specyfikacji, która by zmieniała tę funkcjonalność, co czyni ją uniwersalną w różnych bazach danych, takich jak MySQL, PostgreSQL, czy SQL Server.

Pytanie 35

Fragment kodu w języku JavaScript realizujący dodawanie dwóch liczb ma poniższą postać. Aby dodawanie wykonane było po kliknięciu przycisku o nazwie "dodaj", należy w wykropkowane miejsce wstawić

Podaj pierwszą liczbę: <input type="text" name="liczba1" />
Podaj drugą liczbę: <input type="text" name="liczba2" />
….
<script type=text/javascript>
function dodaj()
{
    // ta funkcja realizuje dodawanie i podaje jego wynik
}
</script>
A. <button onclick="return oblicz()">dodaj</button>
B. <button onclick="return dodaj()">dodaj</button>
C. <button onselect="return dodaj()">dodaj</button>
D. <button onselect="return dodaj()">oblicz</button>
Wybór niewłaściwej odpowiedzi sugeruje pewne nieporozumienie związane z obsługą zdarzeń w JavaScript i jak są one wywoływane w kontekście przycisków. Wszystkie pozostałe odpowiedzi używają zdarzenia 'onselect' lub wywołują nieistniejącą funkcję 'oblicz'. Zdarzenie 'onselect' jest wyzwalane, gdy użytkownik zaznacza tekst w elemencie, co jest nieodpowiednie dla przycisku. Innymi słowy, 'onselect' nie jest odpowiednim zdarzeniem do obsługi kliknięcia przycisku. Co więcej, wywołanie funkcji 'oblicz' jest błędem, ponieważ nie istnieje taka funkcja zdefiniowana w skrypcie. Ta myląca odpowiedź może wynikać z niezrozumienia, jak zdarzenia są obsługiwane w JavaScript i jakie zdarzenia są odpowiednie dla różnych elementów. Zasada ta jest zgodna z dobrymi praktykami programowania, które zalecają używanie odpowiednich zdarzeń dla różnych elementów i typów interakcji użytkownika.

Pytanie 36

W którym z bloków powinien znaleźć się warunek pętli?

Ilustracja do pytania
A. C.
B. A.
C. D.
D. B.
Blok oznaczony literą C jest symbolem decyzji w diagramach przepływu i jest używany do umieszczania warunków pętli w programowaniu. Symbol ten, przypominający romb, pozwala na zadanie pytania lub warunku, który decyduje o dalszym przebiegu działania programu. W praktyce, w językach programowania takich jak C++ czy Python, pętle warunkowe takie jak 'while' lub 'for' wymagają zdefiniowania warunku, który kontroluje liczbę iteracji. Blok decyzyjny umożliwia tworzenie logiki kontrolowanej przez dane wejściowe, co jest fundamentalne dla dynamicznych i responsywnych aplikacji. Zastosowanie bloku decyzyjnego zgodnie ze standardami branżowymi, jak np. UML (Unified Modeling Language), jest kluczowe dla tworzenia zrozumiałych i skalowalnych diagramów przepływu. Dzięki temu, programiści mogą łatwo komunikować algorytmy złożone z sekwencji warunków i decyzji, co jest niezbędne w projektowaniu oprogramowania o dużej złożoności. Praktyczne zrozumienie i stosowanie warunków w blokach decyzyjnych jest kluczowe dla tworzenia efektywnych rozwiązań programistycznych.

Pytanie 37

W języku PHP zmienna globalna $_POST, służąca do odbierania danych z formularza przesłanych metodą POST, jest: 

A. tablicą asocjacyjną.
B. obiektem klasy stdClass.
C. zmienną tekstową.
D. ciągiem znaków zakodowanym w JSON.
W PHP zmienna superglobalna $_POST nie jest ani ciągiem znaków, ani zwykłą zmienną tekstową, ani obiektem. To jedno z częstszych nieporozumień u osób, które dopiero zaczynają z programowaniem webowym. Mechanizm przesyłania danych metodą POST w HTTP faktycznie polega na wysłaniu zakodowanego ciągu danych w treści żądania, ale interpreter PHP po odebraniu takiego requestu automatycznie parsuje ten strumień i mapuje go na tablicę asocjacyjną. Programista nie pracuje już z surowym tekstem, tylko z gotową strukturą danych – z tablicą. Może się wydawać, że skoro dane „lecą” przez sieć jako tekst, to $_POST powinna być po prostu stringiem. Jednak PHP, zgodnie z filozofią ułatwiania pracy, od razu rozbija ten tekst na pary klucz–wartość na podstawie nazwy pól formularza. Dzięki temu nie trzeba ręcznie parsować treści żądania ani rozdzielać jej po znakach & i =. Dlatego koncepcja, że $_POST jest zmienną tekstową albo jednym dużym ciągiem (np. w JSON) jest myląca. JSON to osobny format serializacji danych; PHP nie koduje automatycznie $_POST do JSON, chyba że sam to zrobisz, np. json_encode($_POST). Inny błąd myślowy to traktowanie $_POST jako obiektu, bo w wielu nowoczesnych frameworkach mamy różne klasy Request, które udostępniają metody typu $request->getPost(). W czystym PHP taka abstrakcja nie jest domyślnie obecna – $_POST to zwykła tablica asocjacyjna, a nie instancja stdClass ani żadnej innej klasy. Jeżeli ktoś oczekuje zachowania obiektowego, to musi je samemu zbudować albo skorzystać z frameworka. Podsumowując, poprawne rozumienie $_POST jako tablicy asocjacyjnej jest kluczowe, bo wpływa na to, jak później bezpiecznie walidujemy, filtrujemy i przetwarzamy dane z formularzy. Założenie, że to string, JSON lub obiekt prowadzi do błędnych założeń przy implementacji logiki aplikacji i często do niepotrzebnych komplikacji w kodzie.

Pytanie 38

Wskaż, który paragraf jest sformatowany przy użyciu podanego stylu CSS:

p {
    font-family: serif;
    background-color: Teal;
    color: white;
    font-style: italic;
}
Ilustracja do pytania
A. Paragraf 1
B. Paragraf 3
C. Paragraf 2
D. Paragraf 4
Paragraf 4 jest prawidłowo sformatowany zgodnie z przedstawionym stylem CSS. W stylu tym zastosowano cztery właściwości: font-family o wartości serif co sugeruje użycie czcionki o kroju szeryfowym background-color ustawiony na Teal co ustawia tło na ciemnozielony kolor color ustawiony na White co oznacza że tekst powinien być biały oraz font-style ustawiony na italic co powoduje że tekst jest pochylony. Paragraf 4 spełnia te kryteria jest napisany czcionką szeryfową ma ciemnozielone tło biały tekst i jest kursywą. Zastosowanie takich stylów jest częste w projektowaniu stron internetowych gdzie ważne jest czytelne i estetyczne przedstawienie informacji. Używanie odpowiednich stylów CSS pozwala na lepszą organizację wizualną treści co jest kluczowe w tworzeniu interfejsów przyjaznych dla użytkownika. Stylowanie w CSS wspiera standardy takie jak CSS3 które wprowadzają nowe właściwości i ulepszenia umożliwiające bardziej zaawansowane i wydajne metody formatowania.

Pytanie 39

Jakie czynniki wpływają na wysokość dźwięku?

A. intensywność wzbudzenia drgań
B. metoda wzbudzania drgań
C. czas oscylacji źródła dźwięku
D. częstotliwość drgań fali akustycznej
To prawda, że czas drgania źródła dźwięku i sposoby, jakimi te drgania są wzbudzane, mają swoje znaczenie, ale nie wpływają one na wysokość dźwięku tak, jak to robi częstotliwość. Czas drgania to okres jednego cyklu drgania, a jego odwrotność to częstotliwość. Można by pomyśleć, że dłuższy czas drgania oznacza niższy dźwięk, ale to nie tak działa. W rzeczywistości to częstotliwość jest wyznacznikiem wysokości dźwięku. W muzyce, różne techniki, takie jak atak struny czy wibrato, mogą zmieniać brzmienie, ale nie mają wpływu na podstawową częstotliwość. Można też mówić o sile wzbudzenia drgań, co dotyczy amplitudy fali akustycznej, a to z kolei wpływa na głośność, a nie wysokość dźwięku. Często ludzie mylą głośność z wysokością, co może prowadzić do różnych nieporozumień. Na przykład, niektóre instrumenty mogą grać zarówno głośno, jak i cicho, ale na tej samej wysokości, co pokazuje, że te dwa aspekty dźwięku to zupełnie różne sprawy. Zrozumienie tych różnic to podstawa dla każdego, kto działa w akustyce czy inżynierii dźwięku.

Pytanie 40

Interpreter PHP zwróci błąd i zaniecha wykonania kodu, jeżeli programista

A. nie umieści średnika po wyrażeniu w instrukcji if, jeśli za nim znajduje się sekcja else
B. pobierze wartość z formularza, w którym pole input nie zostało wypełnione
C. będzie definiował zmienne w obrębie warunku
D. będzie tworzył kod bez odpowiednich wcięć
Niepostawienie średnika po wyrażeniu w instrukcji if, gdy następuje sekcja else, prowadzi do błędu składniowego w PHP. W języku PHP średnik jest używany do zakończenia instrukcji, co oznacza, że każda linia kodu, która stanowi osobną instrukcję, powinna być zakończona średnikiem. W przypadku używania instrukcji warunkowej if z sekcją else, zastosowanie średnika po pierwszej instrukcji (if) jest kluczowe. Przykładowo, poprawny kod wyglądałby tak: "if ($warunek) { //kod } else { //kod }". Jeśli pominiemy średnik po instrukcji if, interpreter PHP nie będzie w stanie prawidłowo zinterpretować kodu, co skutkuje błędem. Jest to zgodne z dobrymi praktykami programowania, które zalecają dbałość o szczegóły w składni, aby uniknąć błędów podczas wykonywania skryptów. Praktyka ta jest istotna, szczególnie w większych projektach, gdzie błędy składniowe mogą prowadzić do trudnych do zdiagnozowania problemów.