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: 12 kwietnia 2026 22:55
  • Data zakończenia: 12 kwietnia 2026 23:19

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ą kwerendę w bazie MariaDB należy zastosować, aby wybrać artykuły z cenami mieszczącymi się w zakresie obustronnie domkniętym <10, 20>?

A. SELECT * FROM Artykuly WHERE Cena BETWEEN 10 AND 20
B. SELECT * FROM Artykuly WHERE Cena > 10 AND Cena < 20
C. SELECT * FROM Artykuly WHERE Cena LIKE 1%, 2%
D. SELECT * FROM Artykuly WHERE Cena IN (10, 20)
W przypadku pierwszej odpowiedzi, użycie operatora IN do wybrania artykułów o cenach 10 i 20 nie jest trafne, ponieważ IN służy do sprawdzania równości z konkretnymi wartościami, a nie do definiowania przedziałów. Wartości 10 i 20 są tylko skrajne, a nie wszystkie wartości pomiędzy nimi. Druga odpowiedź posługuje się operatorami porównawczymi > i <, co wyklucza wartości graniczne – 10 i 20 nie zostaną uwzględnione, co jest sprzeczne z intencją pytania o przedział domknięty. W codziennej pracy z SQL istotne jest, aby zrozumieć różnicę pomiędzy operatorami porównawczymi a operatorami definiującymi przedziały wartości. Ostatnia odpowiedź z użyciem LIKE jest całkowicie nieadekwatna w kontekście zapytania o ceny, ponieważ LIKE jest przeznaczony do porównywania wzorców w typach danych tekstowych, a nie numerycznych. Typowe błędy myślowe, które prowadzą do takich niepoprawnych wniosków, to brak zrozumienia różnicy między operatorami, co skutkuje błędnym doborem metod w procesie analizy danych. Aby uniknąć tych pułapek, warto zapoznać się ze standardowymi praktykami SQL oraz ciągle doskonalić swoje umiejętności w zakresie kwerend.

Pytanie 2

Który z grafikowych formatów umożliwia zapis przezroczystego tła?

A. JPEG
B. RAW
C. GIF
D. BMP
RAW to format, który przechowuje dane obrazu w formie nieprzetworzonej, co oznacza, że nie zawiera informacji o przejrzystości. Pliki RAW są wykorzystywane głównie w profesjonalnej fotografii, gdzie istotne jest zachowanie jak największej ilości szczegółów w obrazie, jednak nie oferują one żadnej funkcji przejrzystości, co czyni je nieodpowiednimi do zastosowań, gdzie przezroczystość tła jest kluczowa. BMP (Bitmap) to kolejny format, który nie wspiera przezroczystości. Jest to format bezstratny, który przechowuje szczegółowe informacje o każdym pikselu, ale nie umożliwia określenia żadnego koloru jako przezroczystego. BMP jest szeroko stosowany w aplikacjach graficznych, jednak jego duża objętość plików oraz brak wsparcia dla przezroczystości ogranicza jego zastosowanie w sieci. JPEG to format skompresowany, który również nie obsługuje przejrzystości. Chociaż JPEG jest świetny do przechowywania zdjęć ze względu na jego zdolność do kompresji z zachowaniem jakości, nie jest w stanie zapisać informacji o przezroczystości, co czyni go mało użytecznym w sytuacjach, w których wymagane jest zastosowanie przezroczystego tła. W związku z tym, dla projektów wymagających przezroczystości, format GIF pozostaje najlepszym wyborem.

Pytanie 3

Standard kodowania ISO-8859-2 jest używany do poprawnego wyświetlania

A. znaków specjalnych dla języka kodu strony
B. polskich liter, takich jak: ś, ć, ń, ó, ą
C. znaków zarezerwowanych dla języka opisu strony
D. symboli matematycznych
Kodowanie w standardzie ISO-8859-2, znane również jako Latin-2, jest szczególnie istotne dla poprawnego wyświetlania znaków diakrytycznych, które są charakterystyczne dla języków słowiańskich, w tym polskiego. W standardzie tym zdefiniowane są znaki reprezentujące polskie litery takie jak: ś, ć, ń, ó, ą oraz inne znaki diakrytyczne. Przykładem zastosowania tego kodowania może być strona internetowa zawierająca treści w języku polskim, która wymaga użycia odpowiednich znaków w swoich nagłówkach, akapitach czy formularzach. Stosowanie ISO-8859-2 w HTML-u, np. poprzez deklarację w metatagach, zapewnia, że przeglądarki internetowe będą w stanie prawidłowo interpretować i wyświetlać te znaki, co zwiększa czytelność i dostępność treści dla użytkowników. W kontekście dobrych praktyk, warto zauważyć, że dla nowych projektów często zaleca się korzystanie z kodowania UTF-8, które obejmuje znaki ze wszystkich języków, jednak ISO-8859-2 nadal znajduje zastosowanie w wielu starszych systemach i aplikacjach, gdzie zachowanie zgodności z istniejącymi danymi jest kluczowe.

Pytanie 4

Jakiego elementu HTML brakuje, aby walidator HTML zgłosił ostrzeżenie lub błąd?

A. co najmniej jednego <h1>
B. <title>
C. <meta name="author" content="....">
D. <link>
Elementy <link>, <meta name="author" content="...."> oraz przynajmniej jedno <h1> mają swoje specyficzne zastosowania, ale ich brak nie powoduje błędów walidacyjnych w kontekście standardów HTML. Element <link> jest używany do odniesienia się do zewnętrznych zasobów, takich jak style CSS, lecz jego nieobecność nie wpłynie na walidację samego dokumentu HTML. Użytkownicy często mylą tę sytuację, zakładając, że każdy element w sekcji <head> jest obligatoryjny, co nie jest prawdą. Z kolei <meta name="author"> dostarcza informacje o autorze strony, ale nie jest to element wymagany do poprawnej walidacji. W kontekście SEO, jego brak może ograniczyć kontekstualizację strony, ale nie prowadzi do błędów walidacyjnych. Element <h1> jest ważny z punktu widzenia struktury treści, gdyż określa główny nagłówek strony, jednak nie jest bezwzględnie konieczny do walidacji HTML. Często można spotkać błędne przekonanie, że wszystkie te elementy muszą być obecne, co jest mylne. W rzeczywistości HTML pozwala na różne konfiguracje dokumentów, a istotne jest, aby przestrzegać podstawowych zasad dotyczących struktury i semantyki, co nie zawsze oznacza posiadanie każdego elementu w sekcji <head>.

Pytanie 5

W języku PHP wyniki zapytania z bazy danych zostały pobrane przy użyciu polecenia mysql_query(). Aby uzyskać dane w postaci wierszy z tej zwróconej kwerendy, należy użyć polecenia:

A. mysql_fetch_row()
B. mysql_fetch_lengths()
C. mysql_field_len()
D. mysql_list_fields()
Funkcja mysql_fetch_row() to naprawdę ważne narzędzie w PHP, które pomaga w pracy z wynikami zapytań SQL. Kiedy wykonasz zapytanie za pomocą mysql_query(), dostajesz zestaw wyników, który można traktować jak tablicę. Używając mysql_fetch_row(), możesz pobrać jeden wiersz danych z tego zestawu, a to przychodzi w formie tablicy numerycznej. To bardzo przydatne, szczególnie gdy chcesz przejść przez wszystkie wiersze, które zwraca zapytanie. Na przykład, przy wyświetlaniu danych w HTML. Super jest to, że ta funkcja jest prosta w użyciu i działa efektywnie, dlatego tak wielu programistów ją ceni. Pamiętaj, żeby zawsze zabezpieczać zapytania przed SQL Injection. Możesz to zrobić, stosując przygotowane zapytania (prepared statements) albo funkcje, jak mysqli_query() z mysqli_fetch_row(). Warto też wiedzieć, że jeśli nie ma już więcej wierszy do pobrania, to mysql_fetch_row() zwróci false. Można to wykorzystać do kontrolowania pętli w kodzie, co jest przydatne.

Pytanie 6

Z tabel Klienci oraz Uslugi należy wyodrębnić tylko imiona klientów oraz odpowiadające im nazwy usług, które kosztują więcej niż 10 zł. Kwerenda uzyskująca te informacje ma formę

Ilustracja do pytania
A. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = klienci.id
B. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id
C. SELECT imie, nazwa FROM klienci, uslugi WHERE cena < 10
D. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena > 10
Odpowiedź 4 jest prawidłowa, ponieważ prawidłowo wykorzystuje składnię SQL do połączenia dwóch tabel oraz filtrowania danych na podstawie podanego warunku. Kwerenda używa JOIN, aby połączyć tabele Klienci i Uslugi na podstawie wspólnej kolumny uslugi_id, co jest zgodne z zasadami relacyjnej bazy danych, gdzie klucz obcy w jednej tabeli odnosi się do klucza głównego w innej tabeli. Następnie, kwerenda stosuje filtrację WHERE cena > 10, co pozwala na wybór tylko tych rekordów, gdzie cena usługi przekracza 10 zł. Jest to zgodne z praktyką selektywnego pobierania danych, co jest kluczowe w optymalizacji zapytań i skutecznym zarządzaniu zasobami bazy danych. Zastosowanie takich technik jest standardem w branży, umożliwiając efektywne zarządzanie dużymi zbiorami danych oraz zwiększenie wydajności aplikacji poprzez ograniczenie liczby zwracanych wierszy do tych, które spełniają określone kryteria. Zrozumienie i umiejętność implementacji takich zapytań SQL to podstawowa umiejętność dla specjalistów IT pracujących z bazami danych.

Pytanie 7

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Barwienie.
B. Inwersja.
C. Krzywe.
D. Progowanie.
Prawidłowo wskazana funkcja to „Progowanie”, bo dokładnie ona zamienia obraz kolorowy lub w odcieniach szarości na obraz dwuwartościowy: piksel jest albo czarny, albo biały, w zależności od tego, czy jego jasność przekracza ustawiony próg. W GIMP-ie znajdziesz ją w menu Kolory → Progowanie. Suwakami ustalasz zakres poziomów jasności, które mają zostać potraktowane jako „białe”, a wszystko poza tym zakresem staje się „czarne”. Efekt, który się wtedy uzyskuje, jest bardzo charakterystyczny: mocno kontrastowy, bez półtonów, coś w stylu skanu czarno-białego lub grafiki do druku na ploterze tnącym. Z mojego doświadczenia progowanie świetnie nadaje się do przygotowania logotypów, szkiców technicznych, schematów, a także do wyciągania konturów z lekko rozmytych zdjęć. Często używa się go też przed wektoryzacją, żeby program śledzący krawędzie miał wyraźne granice między czernią a bielą. W pracy z grafiką na potrzeby stron WWW próg bywa stosowany np. przy tworzeniu prostych ikon, piktogramów albo masek (maski przezroczystości można przygotować właśnie na bazie obrazu progowanego). Dobrą praktyką jest najpierw sprowadzenie obrazu do odcieni szarości i dopiero potem użycie progowania, bo wtedy masz większą kontrolę nad tym, jak rozkłada się jasność i gdzie wypadnie granica progu. Warto też pamiętać, że progowanie jest operacją destrukcyjną – traci się informacje o półtonach – więc najlepiej pracować na kopii warstwy, żeby w razie czego móc wrócić do oryginału i poprawić ustawienia progu.

Pytanie 8

W kodzie HTML5 znajduje się fragment, który zawiera błąd walidacji. Jakiego rodzaju jest to błąd?

<h6>tekst</h6>
<p>pierwsza <b>linia</b><br>
<p>Druga linia</p>
A. Znaczniki powinny być zapisane wielkimi literami.
B. Pierwszy znacznik <p> nie został zamknięty.
C. Nagłówek szóstego poziomu nie istnieje.
D. Znacznik <br> musi być zamknięty.
W tym zadaniu chodziło o rozpoznanie typowego błędu związanego z poprawnym zamykaniem znaczników HTML, a dokładniej – ze znacznikiem <p>. W przedstawionym kodzie rzeczywiście pierwszy znacznik <p> nie został zamknięty przed pojawieniem się kolejnego bloku <p>, co powoduje naruszenie struktury dokumentu. Według specyfikacji HTML5, element <p> nie powinien być zagnieżdżany ani przerwany przez inny blokowy element (w tym przypadku przez drugi <p>). Przeglądarki zwykle próbują automatycznie domykać taki znacznik, ale nie jest to dobra praktyka – takie poleganie na mechanizmach autokorekty może później prowadzić do trudnych do wykrycia błędów wizualnych albo nieprzewidywalnych efektów w stylach CSS. Z mojego doświadczenia wynika, że konsekwentne zamykanie znaczników nie tylko poprawia czytelność kodu, ale i ułatwia pracę zespołową oraz skalowanie projektu. Przykład: jeśli piszesz większy artykuł i zapomnisz zamknąć <p>, cała dalsza część tekstu może zostać potraktowana jako jeden paragraf. To potrafi solidnie namieszać, nawet w prostych stronach! Branża webowa od lat promuje zasadę – pisz zgodnie ze specyfikacją, a będziesz miał mniej problemów później. Zawsze lepiej przejrzeć strukturę dokumentu dwa razy, niż potem szukać błędów na produkcji. Przy pracy z edytorami kodu warto korzystać z funkcji podświetlania składni lub walidatorów HTML, które od razu wyłapują takie potknięcia.

Pytanie 9

Czy automatyczna weryfikacja właściciela witryny korzystającej z protokołu HTTPS jest możliwa dzięki

A. informacjom whois
B. danym kontaktowym zamieszczonym na stronie
C. prywatnym kluczom
D. certyfikatowi SSL
Wybór kluczy prywatnych jako odpowiedzi na pytanie o automatyczną weryfikację właściciela strony jest mylący, ponieważ klucze te stanowią część infrastruktury kryptograficznej, ale nie są instrumentem do weryfikacji tożsamości właściciela serwisu. Klucz prywatny jest używany do szyfrowania i podpisywania danych, co jest krytyczne dla bezpieczeństwa komunikacji, ale sam w sobie nie jest narzędziem do potwierdzania, że dany serwis internetowy należy do konkretnego właściciela. Z drugiej strony, dane WHOIS są publicznie dostępnymi informacjami o rejestracji domeny, które mogą zawierać informacje o właścicielu, jednak nie są one weryfikowane w czasie rzeczywistym przez protokoły związane z HTTPS. To oznacza, że mogą być one nieaktualne lub niepoprawne, co czyni je niewystarczającymi do potwierdzenia tożsamości witryny. Odpowiedzi dotyczące danych kontaktowych na stronie również nie odpowiadają na pytanie o automatyczną weryfikację, ponieważ takie dane mogą być łatwo manipulowane lub niedokładne. W kontekście dobrych praktyk i standardów branżowych, kluczowym narzędziem do zagwarantowania integralności oraz autentyczności serwisu jest certyfikat SSL, który przeprowadza rygorystyczne procesy weryfikacyjne przed jego wydaniem, zapewniając w ten sposób realną ochronę dla użytkowników i właścicieli witryn. Izolując kwestie techniczne, automatyczna weryfikacja właściciela strony, która opiera się na zaufanych certyfikatach, jest fundamentalnym elementem budowania bezpieczeństwa w sieci.

Pytanie 10

Etap, w którym identyfikuje się oraz eliminuje błędy w kodzie źródłowym programów, to

A. kompilowanie
B. debugowanie
C. normalizacja
D. standaryzacja
Debugowanie to proces identyfikacji, analizy i eliminacji błędów w kodzie źródłowym programów komputerowych. Jest to kluczowy etap w cyklu życia oprogramowania, który zapewnia, że aplikacje działają zgodnie z założeniami projektowymi. W praktyce debugowanie może obejmować różne techniki, takie jak stosowanie punktów przerwania, śledzenie wartości zmiennych czy analiza stosu wywołań. Przykładowo, programista może użyć narzędzi debugujących, takich jak GDB dla programów w C/C++ lub wbudowane debugery w IDE, takie jak Visual Studio czy Eclipse. Debugowanie jest również związane z dobrymi praktykami, jak testowanie jednostkowe i integracyjne, które pozwalają na wczesne wykrycie błędów. Zrozumienie i umiejętność efektywnego debugowania jest niezbędna dla każdego programisty, aby tworzyć wysokiej jakości, niezawodne i wydajne oprogramowanie. Warto również podkreślić znaczenie dokumentacji oraz korzystania z systemów kontroli wersji, takich jak Git, które pozwalają śledzić zmiany w kodzie i ułatwiają proces debugowania.

Pytanie 11

Które z poniższych wyrażeń logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w przedziale (6, 203>?

A. (zm1 > 6) || (zm1 <= 203)
B. (zm1 > 6) && (zm1 <= 203)
C. (zm1 > 6) || (zm1 != 203)
D. (zm1 > 6) && (zm1 != 203)
Odpowiedzi, które nie spełniają wymagań przedziału (6, 203], zawierają różne błędne koncepcje związane z użyciem operatorów logicznych. Na przykład, zapis (zm1 > 6) || (zm1 <= 203) implikuje, że wystarczy, aby jeden z warunków był spełniony, co całkowicie mija się z celem ustalenia przedziału. Umożliwienie wartości zm1, która jest mniejsza lub równa 203, niezależnie od tego, czy jest większa niż 6, prowadzi do sytuacji, w której wartości poniżej 6 są również akceptowane, co jest sprzeczne z wymaganym przedziałem. Podobnie, opcja (zm1 > 6) || (zm1 != 203) jest myląca, ponieważ nie uwzględnia wartości równej 203, co również narusza założenia przedziału. Z kolei (zm1 > 6) && (zm1 != 203) zezwala na wartości większe niż 6, ale wyklucza 203, co jest błędne w kontekście zadania. Te przykłady pokazują, jak łatwo można pomylić się w interpretacji warunków logicznych, co podkreśla znaczenie precyzyjnego formułowania warunków w programowaniu. Kluczem do unikania takich pomyłek jest dogłębne zrozumienie operatorów logicznych oraz ich zastosowania w kontekście zdefiniowanych przedziałów, co jest niezbędne, aby tworzyć poprawny i działający kod.

Pytanie 12

Jaki zapis jest używany do definiowania klucza obcego w MySQL?

A. PRIMARY KEY(ID)
B. UNIQUE KEY(ID)
C. FOREIGN KEY(ID)
D. AUTO_INCREMENT(ID)
Odpowiedź FOREIGN KEY(ID) jest poprawna, ponieważ klucz obcy (foreign key) jest używany w bazach danych do ustanowienia i wymuszenia relacji pomiędzy dwiema tabelami. Klucz obcy w tabeli A wskazuje na klucz podstawowy (primary key) w tabeli B, co pozwala na utrzymanie integralności referencyjnej danych. Na przykład, jeżeli mamy tabelę 'Zamówienia', w której zapisujemy informacje o zamówieniach, i tabelę 'Klienci', w której mamy dane o klientach, możemy zastosować klucz obcy w tabeli 'Zamówienia', aby wskazywał na ID klienta w tabeli 'Klienci'. Dzięki temu, nie będzie możliwości dodania zamówienia dla nieistniejącego klienta, co zapewnia spójność i integralność bazy danych. Używanie kluczy obcych jest zgodne z najlepszymi praktykami projektowania baz danych, ponieważ pozwala na łatwiejsze zarządzanie danymi i ogranicza możliwość wystąpienia błędów. Warto również zauważyć, że klucze obce mogą być używane w kontekście kaskadowej aktualizacji lub usuwania, co dodatkowo ułatwia zarządzanie relacjami między tabelami.

Pytanie 13

Tabela Pacjenci zawiera kolumny: imie, nazwisko, wiek, lekarz_id. Aby stworzyć raport, który będzie zawierał jedynie imiona oraz nazwiska pacjentów mających mniej niż 18 lat i zapisanych do lekarza o id równym 6, można wykorzystać kwerendę SQL

A. SELECT imie, nazwisko FROM Pacjenci WHERE wiek<18 OR lekarz_id=6
B. SELECT imie, nazwisko FROM Pacjenci WHERE wiek<18 AND lekarz_id=6
C. SELECT imie, nazwisko WHERE wiek<18 OR lekarz_id=6
D. SELECT imie, nazwisko WHERE wiek<18 AND lekarz_id=6
Aby uzyskać raport z tabeli Pacjenci, w którym znajdują się wyłącznie imiona i nazwiska pacjentów poniżej 18 roku życia zapisanych do lekarza o id równym 6, należy użyć następującej kwerendy SQL: SELECT imie, nazwisko FROM Pacjenci WHERE wiek<18 AND lekarz_id=6. Kluczowe w tej kwerendzie jest zastosowanie operatora AND, który pozwala na jednoczesne spełnienie obu warunków. W SQL, operator AND łączy dwa warunki, które muszą być prawdziwe, aby dany wiersz został uwzględniony w wynikach. Operator OR byłby nieodpowiedni, ponieważ mógłby zwrócić pacjentów, którzy są młodsi niż 18 lat, ale zapisani do innych lekarzy, co nie spełnia wymagań zadania. Ta kwerenda jest zgodna z ANSI SQL, który jest standardem dla zapytań do baz danych, a także dobrze ilustruje zasady filtracji danych w kontekście relacyjnych baz danych. Przykład takiej tabeli mógłby wyglądać następująco: imie: 'Jan', nazwisko: 'Kowalski', wiek: 17, lekarz_id: 6. W tym przypadku, zapytanie zwróciłoby imię i nazwisko Jana Kowalskiego, ponieważ spełnia on oba warunki.

Pytanie 14

W trakcie weryfikacji stron internetowych nie uwzględnia się

A. źródła pochodzenia narzędzi edytorskich
B. działania hiperłączy
C. zgodności z różnymi przeglądarkami
D. błędów w składni kodu
Walidacja stron internetowych obejmuje różnorodne aspekty techniczne, które są kluczowe dla prawidłowego funkcjonowania witryn w sieci. Analiza działania linków jest istotna, ponieważ sprawdza, czy odnośniki prowadzą do właściwych lokalizacji i czy nie prowadzą do stron błędów 404. Użytkownicy oczekują, że wszystkie interaktywne elementy na stronie będą działały bezproblemowo, a ich analiza pozwala na identyfikację potencjalnych problemów oraz ich szybką naprawę. Błędy składniowe w kodzie HTML lub CSS mogą prowadzić do nieprawidłowego renderowania strony w przeglądarkach, przez co użytkownicy mogą mieć trudności w jej przeglądaniu. Walidacja składni jest zatem niezbędna, aby zapewnić poprawne wyświetlanie zawartości oraz dostępność dla wszystkich użytkowników. Zgodność z przeglądarkami jest równie ważnym aspektem walidacji, ponieważ różne przeglądarki mogą interpretować kod na różne sposoby, co może prowadzić do niezgodności w wyświetlaniu strony. Testowanie zgodności z popularnymi przeglądarkami, takimi jak Chrome, Firefox, Safari czy Edge, jest kluczowe, aby zapewnić spójne doświadczenie użytkowników niezależnie od wybranego narzędzia do przeglądania internetu. W związku z tym, walidacja to kompleksowy proces, który koncentruje się na aspektach technicznych związanych z jakością kodu i doświadczeniem użytkownika.

Pytanie 15

Wykres słupkowy należy zapisać w formacie rastrowym tak, aby jakość jego krawędzi była jak najlepsza, również dla dużego powiększenia, unikając efektu aliasingu. Do tego celu można zastosować format

A. PNG
B. JPEG
C. SVG
D. CDR
Wybierając PNG do zapisu wykresu słupkowego w formacie rastrowym, podjąłeś technicznie uzasadnioną decyzję. PNG to format grafiki rastrowej, który umożliwia zapis obrazów bezstratnie, co jest kluczowe, kiedy zależy nam na zachowaniu ostrych krawędzi – szczególnie przy wykresach, gdzie szczegółowość i czytelność mają pierwszorzędne znaczenie. W odróżnieniu od JPEG, PNG nie stosuje kompresji stratnej, przez co nie pojawiają się charakterystyczne rozmycia czy artefakty wokół linii i tekstów. Z mojego doświadczenia, jeśli chcesz potem wykres powiększać, PNG sprawdza się znakomicie – szczególnie przy plikach przygotowanych w wysokiej rozdzielczości (np. 300 dpi lub więcej). Co ważne, PNG obsługuje przezroczystość i bez problemu radzi sobie z płaskimi kolorami oraz prostymi gradientami, więc wyniki są bardzo przewidywalne. Warto wiedzieć, że format ten jest od lat szeroko akceptowany zarówno w druku, jak i na stronach internetowych. W branży najczęściej poleca się PNG do materiałów edukacyjnych, raportów czy prezentacji, gdy liczy się precyzja i wyrazistość. To taki standardowy wybór dla wszelkich diagramów, infografik czy schematów. Oczywiście, jeśli wykres byłby w pełni wektorowy, najlepszym wyjściem byłby SVG, ale jeśli ma być rastrowy – PNG jest bez dwóch zdań najlepszy. Nawet przy dużym powiększeniu krawędzie pozostają ostre, a efekt aliasingu praktycznie nie występuje, jeśli odpowiednio dobierzesz rozdzielczość wyjściową.

Pytanie 16

W języku CSS stworzono określony styl. Sekcja sformatowana tym stylem będzie miała obramowanie o szerokości

div {
    border: solid 2px blue;
    margin: 20px;
}
A. 20 px oraz marginesy zewnętrzne tego obramowania
B. 2 px oraz marginesy wewnętrzne tego obramowania
C. 20 px oraz marginesy wewnętrzne tego obramowania
D. 2 px oraz marginesy zewnętrzne tego obramowania
Wybór odpowiedzi która nie uwzględnia prawidłowego połączenia właściwości border i margin prowadzi do błędnych założeń Odpowiedzi które sugerują że marginesy znajdują się wewnątrz obramowania są mylące ponieważ w CSS właściwość padding odpowiada za marginesy wewnętrzne natomiast margin dotyczy przestrzeni na zewnątrz obramowania Częstym błędem jest mylenie tych dwóch pojęć co prowadzi do niepoprawnego stylizowania elementów na stronie internetowej W przypadku definicji CSS przedstawionej na obrazku właściwość margin jest ustawiona na 20px co oznacza że do każdego z boków elementu dodawane jest 20 pikseli przestrzeni na zewnątrz jego obramowania Obramowanie samo w sobie ma 2 piksele grubości co precyzyjnie określa border 2px Próby rozumienia tej definicji w kategoriach wewnętrznych marginesów są błędne i wynikają z niepoprawnego zrozumienia struktury boksu w CSS Poprawne zrozumienie różnic między margin i padding jest kluczowe dla prawidłowego stosowania stylów CSS w praktyce projektowania stron internetowych oraz dla uzyskania estetycznych i funkcjonalnych układów które poprawiają doświadczenie użytkownika poprzez właściwe zarządzanie przestrzenią i separacją elementów

Pytanie 17

Celem testów związanych ze skalowalnością oprogramowania jest ocena, czy aplikacja

A. jest właściwie udokumentowana
B. posiada odpowiednią funkcjonalność
C. potrafi funkcjonować przy założonym i wyższym obciążeniu
D. jest chroniona przed nieautoryzowanymi operacjami, np. dzieleniem przez zero
Twoja odpowiedź o funkcjonalności aplikacji i unikaniu błędów, jak dzielenie przez zero, nie do końca odnosi się do testów skalowalności. Właściwie, kluczowym punktem w testach skalowalności jest to, jak system radzi sobie z większym obciążeniem. Funkcjonalność trochę dotyczy tego, co aplikacja umie, ale to nie to samo co skalowanie. Posiadanie dobrej dokumentacji jest istotne, ale nie wpływa na to, jak aplikacja reaguje na rosnące obciążenie. Owszem, zabezpieczenia są ważnym elementem, żeby system był stabilny, ale to właśnie nie ma wiele wspólnego z zagadnieniem skalowalności. Myślę, że część osób myli różne aspekty, takie jak funkcjonalność z wydajnością i zabezpieczeniami. Ważne, żeby umieć je oddzielać i wiedzieć, jak każdy z tych elementów wpływa na ogólną jakość aplikacji w obliczu zmieniającego się zapotrzebowania.

Pytanie 18

Na przedstawionym obrazie zobrazowano wybór formatu pliku do zaimportowania bazy danych. Który z formatów należy wybrać, jeśli dane zostały wyeksportowane z programu Excel i zapisane w formie tekstowej z użyciem przecinka do oddzielania wartości pól?

Ilustracja do pytania
A. XML
B. CSV
C. SQL
D. ESRI
CSV to skrót od Comma-Separated Values czyli wartości oddzielone przecinkami Jest to powszechnie stosowany format plików tekstowych używany do przechowywania danych tabelarycznych Takie pliki są łatwe do utworzenia edytowania i odczytu przez różnorodne aplikacje co czyni je wszechstronnym wyborem dla transferu danych między różnymi systemami i programami Główną zaletą formatu CSV jest jego prostota i szeroka kompatybilność zwłaszcza z programami do obsługi arkuszy kalkulacyjnych takimi jak Microsoft Excel czy Google Sheets Kiedy dane są eksportowane z Excela jako tekst z przecinkami oddzielającymi wartości CSV to optymalny wybór dla importu do baz danych czy innych aplikacji gdzie dane muszą być szybko i bezproblemowo przetworzone Standard ten nie zawiera informacji o typach danych kolorach czy formatach co sprawia że jest lekki i niezawodny CSV jest również obsługiwany przez większość języków programowania co znacznie ułatwia jego obsługę i integrację w procesach automatyzacji Jest to idealne rozwiązanie gdy potrzebujemy prostego i szybkiego sposobu na przeniesienie danych bez skomplikowanych zależności

Pytanie 19

Zdarzenie JavaScript, które jest wywoływane po pojedynczym kliknięciu dowolnego elementu na stronie, określa się jako

A. onLoad
B. onClick
C. onDblClick
D. onKeyDown
Zdarzenie onClick w JavaScript jest jednym z najczęściej używanych zdarzeń w interakcji użytkownika z elementami na stronie internetowej. Jego podstawowa funkcjonalność polega na rejestrowaniu pojedynczego kliknięcia na danym elemencie, co pozwala na wykonanie określonej akcji w odpowiedzi na to zdarzenie. Zdarzenie to jest szczególnie istotne w kontekście rozwoju aplikacji webowych, gdzie interaktywność jest kluczowym elementem doświadczenia użytkownika. Aby zaimplementować zdarzenie onClick, można użyć zarówno atrybutu HTML, jak i metod JavaScript, takich jak addEventListener. Przykładowo, dodając do przycisku HTML atrybut onClick, możemy bezpośrednio wywołać funkcję JavaScript, co znacząco upraszcza kod. W kontekście standardów, onClick jest częścią DOM Level 2 Events Specification, co zapewnia kompatybilność z różnymi przeglądarkami. Przykład zastosowania: <button onClick='alert("Hello World!")'>Kliknij mnie</button> wywoła okno alertu po kliknięciu przycisku. Korzystanie z onClick pozwala na tworzenie dynamicznych interfejsów, które dostosowują się do działań użytkownika, co jest kluczowe w nowoczesnym web designie i programowaniu JavaScript.

Pytanie 20

W trakcie edycji grafiki rastrowej w aplikacji obsługującej kanały, dodanie kanału alfa oznacza

A. wzmocnienie krawędzi obrazu
B. ustalenie właściwego balansu bieli
C. wprowadzenie warstwy z przezroczystością
D. powiększenie głębi ostrości obrazu
Dodanie kanału alfa do grafiki rastrowej jest kluczowym krokiem w procesie zarządzania przezroczystością w obrazach. Kanał alfa to dodatkowy kanał, który przechowuje informacje o przezroczystości pikseli, co pozwala na tworzenie efektów wizualnych, takich jak miękkie krawędzie i złożone kompozycje. W praktyce, zastosowanie kanału alfa umożliwia na przykład nałożenie obiektów na różne tła bez wyraźnych granic, co jest szczególnie przydatne w grafice komputerowej, projektowaniu stron internetowych czy produkcji wideo. Dobrą praktyką w branży jest korzystanie z programów graficznych, takich jak Adobe Photoshop czy GIMP, gdzie dodanie kanału alfa można zrealizować poprzez stworzenie warstwy maski. Podczas pracy w takich programach warto również pamiętać o wykorzystaniu formatu PNG, który obsługuje przezroczystość, co jest standardem w zapewnieniu wysokiej jakości grafiki w sieci.

Pytanie 21

Z przedstawionych tabel Klienci i Uslugi należy wybrać jedynie imiona klientów oraz odpowiadające im nazwy usług, które są droższe niż 10 zł. Kwerenda wybierająca te dane ma postać

Ilustracja do pytania
A. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id;
B. SELECT imie, nazwa FROM klienci, uslugi WHERE cena < 10;
C. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena > 10;
D. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = klienci.id;
Dobra robota, wybrałeś sprawdzoną odpowiedź! To zapytanie SQL, które zaznaczyłeś, łączy tabele 'Klienci' i 'Usługi' przy pomocy klucza obcego 'uslugi_id'. To, co robią takie JOINy, to po prostu łączenie tabel na podstawie wspólnych elementów. W tym przypadku 'uslugi_id' to ten wspólny element, który pozwala na powiązanie obu tabel. A ten warunek 'WHERE cena > 10'? To świetny sposób na to, żeby z ograniczać wyniki do tych, które są droższe niż 10 zł. Fajnie jest mieć pod ręką tylko te informacje, które są dla nas najistotniejsze, szczególnie w większych bazach danych. Pamiętaj, że umiejętność pisania zapytań SQL, jak to, jest naprawdę przydatna, gdy pracujemy z relacyjnymi bazami danych.

Pytanie 22

W tabeli klienci w bazie danych sklepu internetowego występują m.in. pola całkowite: punkty,
liczbaZakupow oraz pole ostatnieZakupy typu DATE. Klauzula WHERE do zapytania wybierającego klientów, którzy posiadają ponad 3000 punktów lub zrealizowali zakupy więcej niż 100 razy, a ich ostatnie zakupy miały miejsce przynajmniej w roku 2022 ma formę

A. WHERE punkty > 3000 AND liczbaZakupow > 100 AND ostatnieZakupy >= '2022-01-01'
B. WHERE punkty > 3000 OR liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
C. WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-01'
D. WHERE punkty > 3000 AND liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
Analizując odpowiedzi, można zauważyć, że wiele z nich opiera się na błędnych założeniach dotyczących logiki operatorów w SQL. W przypadku pierwszej opcji, użycie operatora AND pomiędzy dwoma warunkami punktów i liczby zakupów sugeruje, że klient musi spełniać oba te warunki jednocześnie, co jest niezgodne z wymaganiami pytania. Odpowiedź ta nie uwzględnia, że wystarczy spełnić jeden z warunków, aby być zakwalifikowanym. W drugiej opcji, podobnie, zastosowanie operatora OR dla punktów i liczby zakupów, a następnie operatora AND dla daty, wprowadza w błąd, ponieważ nie uwzględnia subtelności dotyczących logiki kwerendy. Ponadto, w tej odpowiedzi pojawia się nieprawidłowe sformułowanie daty, gdzie zastosowanie '2022-01' nie jest wystarczające do prawidłowego porównania daty. W przypadku trzeciej odpowiedzi, użycie operatora OR dla wszystkich trzech warunków sprawia, że każdy klient, który ma chociażby jeden z tych warunków spełnionych, zostanie wybrany, co jest dalekie od zamierzonego celu. Z kolei ostatnia odpowiedź, chociaż wprowadza poprawne warunki, to wymaga od klientów spełnienia wszystkich jednocześnie, co jest niezgodne z zamysłem. Takie niepoprawne interpretacje wynikają często z nieścisłości w zrozumieniu operatorów logicznych oraz ich wzajemnych powiązań w SQL, co jest kluczowe w tworzeniu efektywnych i działających zapytań.

Pytanie 23

Aplikacja o nazwie FileZilla umożliwia

A. przeprowadzanie testów aplikacji
B. importowanie bazy danych do systemu CMS Joomla!
C. sprawdzanie poprawności plików HTML i CSS
D. publikację strony internetowej na zdalnym serwerze
Niektóre z wymienionych odpowiedzi zawierają powszechne nieporozumienia dotyczące funkcji i zastosowania programu FileZilla. Na przykład, uruchamianie testów aplikacji to zadanie, które zazwyczaj wykonuje się za pomocą środowisk programistycznych czy frameworków testowych, a nie klientów FTP jak FileZilla. Klient FTP koncentruje się na transferze plików, a nie na testowaniu kodu. Również walidacja plików HTML i CSS to proces związany z zapewnieniem poprawności kodu, często realizowany za pomocą dedykowanych narzędzi jak W3C Validator, a nie przez klienta FTP, który nie zajmuje się analizą poprawności kodu. Co więcej, załadowanie bazy danych do systemu zarządzania treścią (CMS) takiego jak Joomla! wymaga użycia innych narzędzi, takich jak phpMyAdmin, które są specjalnie zaprojektowane do zarządzania bazami danych. FileZilla nie jest odpowiednie do tego celu, ponieważ jego funkcjonalność ogranicza się do przesyłania plików, a nie interakcji z bazą danych. Często mylenie tych funkcji wynika z niepełnego zrozumienia roli, jaką różne narzędzia odgrywają w procesie tworzenia i zarządzania stronami internetowymi. Kluczowe jest zrozumienie, że każdy program ma swoje przeznaczenie i zastosowanie, a skuteczne zarządzanie projektami internetowymi wymaga używania odpowiednich narzędzi do konkretnych zadań.

Pytanie 24

Aby zastosować w CSS wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć zapisu

A. p{text-spacing: 30px;}
B. p{line-height: 30px;}
C. p{text-indent: 30px;}
D. p{line-indent: 30px;}
Właściwość 'text-spacing' nie istnieje w standardzie CSS, dlatego odpowiedź ta jest niepoprawna. W CSS nie ma definicji dla 'text-spacing', co oznacza, że nie można jej wykorzystać do modyfikacji odstępów w akapitach. Zamiast tego, do regulacji przestrzeni między znakami i wierszami stosuje się inne właściwości, takie jak 'letter-spacing' czy 'line-height'. Dodatkowo, 'line-height' służy do kontrolowania wysokości linii tekstu, co wpływa na odstęp między poszczególnymi liniami w akapicie, ale nie na wcięcie pierwszej linii. Użycie 'line-height' z wartością 30px nie osiągnie zamierzonego efektu, gdyż wpływa to tylko na wysokość wiersza, a nie na wcięcie. Z kolei 'line-indent' to kolejna fikcyjna właściwość, która nie jest częścią CSS, więc nie można jej używać w żadnym kontekście kodowania CSS. Poprawne formatowanie akapitów wymaga znajomości właściwych technik i terminologii, a użycie nieistniejących właściwości prowadzi do błędów w stylizacji i może negatywnie wpływać na interpretację stylów przez przeglądarki, co w efekcie może obniżyć jakość wyświetlania treści w sieci.

Pytanie 25

Głównym celem systemu CMS jest oddzielenie treści witryny informacyjnej od jej wyglądu. Jak osiągany jest ten efekt?

A. ze statycznych plików HTML oraz wyglądu za pomocą technologii FLASH
B. z bazy danych oraz wyglądu za pomocą atrybutów HTML
C. z bazy danych oraz wyglądu ze zdefiniowanego szablonu
D. ze statycznych plików HTML oraz wyglądu ze zdefiniowanego szablonu
Wykorzystanie statycznych plików HTML do generowania treści w kontekście systemów CMS jest koncepcją nieefektywną oraz niezgodną z współczesnymi standardami zarządzania treścią. Statyczne pliki HTML są trudne do aktualizacji, co oznacza, że każda zmiana wymaga edycji każdego pliku osobno. W praktyce prowadzi to do zwiększenia ryzyka błędów oraz obniża efektywność pracy, szczególnie w większych projektach. Z drugiej strony, wykorzystanie atrybutów HTML do definiowania wyglądu nie oddziela treści od prezentacji, co jest kluczowym założeniem CMS. Takie podejście nie tylko zagraża porządku w organizacji treści, ale także może negatywnie wpływać na dostępność oraz responsywność strony. Ponadto, technologia FLASH, która była popularna w przeszłości, obecnie nie jest wspierana przez większość przeglądarek i nie jest zalecana w nowoczesnym projektowaniu stron internetowych. Właściwe podejście do zarządzania treścią wymaga stosowania nowoczesnych narzędzi, takich jak bazy danych w połączeniu z szablonami, co zapewnia elastyczność i wygodę użytkowania. W ten sposób można efektywnie zarządzać zawartością oraz zapewnić optymalną wydajność i estetykę serwisu.

Pytanie 26

Wskaż zapis warunku w języku JavaScript, który ma na celu sprawdzenie, czy spełniony jest przynajmniej jeden z poniższych przypadków:
1) dowolna liczba naturalna a jest liczbą trzycyfrową
2) dowolna liczba całkowita b ma wartość ujemną

A. ((a > 99) && (a < 1000)) || (b < 0)
B. ((a > 99) || (a < 1000)) && (b < 0)
C. ((a > 99) || (a < 1000)) || (b < 0)
D. ((a > 99) && (a < 1000)) && (b < 0)
Odpowiedź ((a > 99) && (a < 1000)) || (b < 0) jest poprawna, ponieważ spełnia wymagania dotyczące sprawdzenia dwóch warunków. Pierwsza część warunku, czyli (a > 99) && (a < 1000), precyzyjnie weryfikuje, czy liczba 'a' jest trzycyfrowa. Wartości, które spełniają ten warunek, to liczby od 100 do 999. Druga część warunku, czyli (b < 0), efektywnie sprawdza, czy liczba 'b' jest liczbą ujemną. Połączenie tych dwóch warunków za pomocą operatora logicznego OR (||) oznacza, że wystarczy, iż jeden z nich będzie prawdziwy, aby cały warunek został uznany za spełniony. To podejście jest zgodne z dobrymi praktykami programowania, gdzie klarowność i zwięzłość kodu są kluczowe, co ułatwia jego późniejsze utrzymanie. W zastosowaniach praktycznych, taki warunek mógłby być użyty w walidacji danych wejściowych, na przykład w formularzach, gdzie użytkownicy wprowadzają różne wartości, a program musi zapewnić, że przynajmniej jeden z warunków jest spełniony.

Pytanie 27

Z ilustracji można odczytać, że użytkownik bazy danych posiada uprawnienia do:

Ilustracja do pytania
A. dodawania, aktualizacji i usuwania danych.
B. wyświetlania, dodawania i usuwania danych.
C. wyświetlania, dodawania i aktualizacji danych.
D. wyświetlania, aktualizacji i usuwania danych.
Na ilustracji widać listę uprawnień do bazy danych w typowym narzędziu administracyjnym (bardzo podobne okno można spotkać np. w phpMyAdminie). Zaznaczone są pola SELECT, UPDATE i DELETE, a niezaznaczone INSERT oraz FILE. W praktyce oznacza to, że użytkownik może odczytywać dane (SELECT), modyfikować istniejące rekordy (UPDATE) oraz je usuwać (DELETE), ale nie ma prawa dodawać nowych wierszy (INSERT) ani operować na plikach na serwerze (FILE). Dlatego poprawna odpowiedź to: „wyświetlania, aktualizacji i usuwania danych”. SELECT odpowiada za wyświetlanie/odczyt danych, UPDATE za aktualizację rekordów, a DELETE za kasowanie danych w tabelach. W administracji bazą danych takie precyzyjne rozróżnienie uprawnień jest jedną z podstawowych dobrych praktyk bezpieczeństwa: użytkownik powinien mieć dokładnie takie prawa, jakich potrzebuje do pracy (zasada najmniejszych uprawnień – least privilege). Na przykład: typowy użytkownik aplikacji raportującej potrzebuje zwykle tylko SELECT, bo ma jedynie oglądać dane. Pracownik działu obsługi klienta może mieć SELECT i UPDATE, aby poprawiać błędne dane klientów, ale niekoniecznie DELETE, żeby przypadkiem nie usuwać rekordów. Z kolei konto techniczne używane przez skrypty migracyjne albo instalator systemu może mieć pełen zestaw: SELECT, INSERT, UPDATE, DELETE. Moim zdaniem warto od razu kojarzyć te nazwy z typowymi poleceniami SQL, bo później, przy pisaniu zapytań w kodzie (PHP, JavaScript z backendem, itp.), dokładnie te same słowa kluczowe pojawiają się w instrukcjach. Jeśli system pokazuje uprawnienia tak jak na obrazku, zawsze patrz najpierw, które checkboxy są zaznaczone, i od razu tłumacz je sobie na: odczyt, dodawanie, zmiana, usuwanie danych.

Pytanie 28

Parametr face w znaczniku <font> jest używany do określenia

A. koloru czcionki
B. stylów czcionki
C. rozmiaru czcionki
D. typy czcionki
Parametr <b>face</b> znacznika <b>&lt;font&gt;</b> jest używany do określenia nazwy czcionki, co jest kluczowe dla stylizacji tekstu w dokumentach HTML. Umożliwia on deweloperom wybór konkretnej czcionki, która będzie używana do wyświetlania tekstu, co wpływa na jego estetykę oraz czytelność. Przykładowo, można użyć wartości takiej jak 'Arial', 'Times New Roman' czy 'Courier New', aby zdefiniować preferowaną czcionkę, co jest szczególnie ważne w przypadku identyfikacji wizualnej brandu. W praktyce, dobór odpowiedniej czcionki wpływa na doświadczenie użytkownika, a także na dostępność treści. Warto zaznaczyć, że w nowoczesnych praktykach webowych, stosowanie CSS do stylizacji tekstu stało się bardziej zalecane niż używanie znaczników <font>, co wynika z dążenia do separacji treści od prezentacji. Dobre praktyki wskazują na użycie właściwości CSS takich jak 'font-family', co jest bardziej elastyczne i zgodne z aktualnymi standardami sieciowymi.

Pytanie 29

Dla strony internetowej stworzono styl, który będzie stosowany tylko do wybranych znaczników, takich jak niektóre nagłówki oraz kilka akapitów. W tej sytuacji, aby przypisać styl do konkretnych znaczników, najodpowiedniejsze będzie użycie

Ilustracja do pytania
A. identyfikatora
B. klasy
C. pseudoklasy
D. selektora akapitu
Pseudoklasy w CSS są używane do stylizowania elementów w określonym stanie, np. :hover dla zmiany stylu po najechaniu myszą. Nie są odpowiednie do przypisywania unikalnych stylów do konkretnych elementów. Identyfikator w CSS, oznaczany przez #, jest używany do stylizowania jednego unikalnego elementu na stronie. Jego użycie jest ograniczone do jednego elementu, co jest zgodne z zasadą unikalności identyfikatorów w dokumencie HTML. Nie nadaje się do sytuacji, gdy ten sam styl ma być stosowany do wielu elementów, ponieważ zmuszałoby to do definiowania i przypisywania wielu unikalnych identyfikatorów do każdego z nich, co jest przeciwieństwem DRY (Don't Repeat Yourself). Selektor akapitu bezpośrednio odnosi się do wszystkich elementów danego typu, np. p dla wszystkich akapitów. Nie jest on elastyczny, gdy chcemy zastosować styl tylko do niektórych elementów danego typu. Klasy oferują większą elastyczność w zarządzaniu stylami wielu elementów, ponieważ mogą być stosowane do różnych typów elementów w różnych miejscach dokumentu HTML. Ponadto, klasy są bardziej czytelne i ułatwiają utrzymanie kodu, co jest zgodne z najlepszymi praktykami w programowaniu front-endowym. Użycie klas wspiera również lepszą strukturę i modularność kodu CSS, co jest istotne w kontekście pracy zespołowej oraz skalowalności projektu.

Pytanie 30

Polecenie SQL przedstawione poniżej ma za zadanie

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. ustawienie wartości pola Uczen na 1
B. zwiększenie o jeden wartości pola Uczen
C. ustawienie wartości kolumny id_klasy na 1 dla każdego rekordu w tabeli Uczen
D. zwiększenie o jeden wartości kolumny id_klasy dla wszystkich rekordów tabeli Uczen
Polecenie SQL używa instrukcji UPDATE aby zmodyfikować wszystkie rekordy w tabeli Uczen Zwiększenie wartości kolumny id_klasy o 1 to typowa operacja używana na przykład w przypadkach kiedy chcemy zmienić przypisanie uczniów do kolejnej klasy Jest to przydatne w scenariuszach takich jak promocja uczniów do następnej klasy w systemie szkolnym Warto zauważyć że użycie tej składni jest zgodne z dobrymi praktykami SQL szczególnie gdy chcemy przeprowadzić identyczną modyfikację dla wszystkich rekordów w tabeli W takich przypadkach operacje masowe jak ta są znacznie bardziej efektywne niż iteracyjne modyfikowanie każdego rekordu oddzielnie Od strony technicznej SQL umożliwia manipulację danymi na poziomie całych tabel co jest jedną z najważniejszych jego cech i wyróżnia go jako wszechstronne narzędzie do zarządzania bazami danych Zrozumienie tej zasady pozwala na efektywne i skalowalne zarządzanie dużymi zbiorami danych co jest kluczowe w profesjonalnym środowisku IT

Pytanie 31

Do uruchomienia kodu napisanego w języku PHP konieczne jest posiadanie w systemie

A. serwera WWW z interpreterem PHP
B. serwera WWW, parsera PHP oraz bazy danych MySQL
C. przeglądarki internetowej
D. serwera WWW z bazą danych MySQL
Pierwsza z niepoprawnych odpowiedzi sugeruje, że wystarczy zainstalować przeglądarkę internetową do uruchamiania kodu PHP. To podejście jest błędne, ponieważ przeglądarki internetowe są narzędziami do wyświetlania zawartości HTML i nie mają zdolności do interpretowania skryptów PHP. PHP musi być przetwarzany na serwerze, a przeglądarka jedynie odbiera już przetworzone dane. Kolejna niepoprawna odpowiedź wskazuje na konieczność posiadania serwera WWW wraz z serwerem MySQL. Chociaż MySQL jest popularnym systemem zarządzania bazami danych używanym w połączeniu z PHP, nie jest on niezbędny do uruchamiania samych skryptów PHP, zwłaszcza w sytuacjach, gdy aplikacja nie korzysta z bazy danych. Ostatnia z niepoprawnych odpowiedzi odnosi się do potrzeby posiadania serwera WWW, parsera PHP oraz serwera MySQL. Choć jest to podejście bardziej kompleksowe, to znowu, do uruchomienia kodu PHP wystarczy jedynie serwer WWW z interpreterem PHP. MySQL jest opcjonalny i wykorzystywany tylko wtedy, gdy aplikacja wymaga interakcji z bazą danych. Wnioskując, aby uruchomić kod PHP, kluczowym elementem jest serwer WWW z interpreterem PHP, co czyni inne odpowiedzi niepoprawnymi w kontekście podstawowych wymagań.

Pytanie 32

Które z wymienionych stwierdzeń na temat zasad programowania w PHP jest prawdziwe?

A. W nazwach zmiennych wielkość liter nie ma znaczenia
B. Zmienna deklarowana jest po słowie var
C. Nazwy zmiennych poprzedza znak !
D. Jest to język z ograniczoną kontrolą typów
PHP, czyli Hypertext Preprocessor, to język skryptowy o słabej kontroli typów, co oznacza, że nie wymaga od programisty jawnego deklarowania typów zmiennych. Dzięki temu programiści mogą tworzyć elastyczny i dynamiczny kod, w którym zmienne mogą przechowywać różne typy danych w trakcie działania programu. Na przykład, zmienna, która pierwotnie przechowuje liczbę całkowitą, może później przyjąć wartość tekstową bez konieczności konwersji. Przykład takiego zachowania można zobaczyć w poniższym kodzie: $variable = 10; $variable = 'tekst';. W pierwszym przypadku zmienna przechowuje liczbę całkowitą, a w drugim ciąg tekstowy. To podejście ułatwia szybkość prototypowania, ale może prowadzić do błędów w czasie wykonywania, które są trudne do zdiagnozowania. Warto również zwrócić uwagę, że PHP, w wersji 7 i wyższych, wprowadził opcjonalne deklaracje typów, co pozwala na większą kontrolę w przypadku bardziej złożonych aplikacji. Mimo to, głównym założeniem pozostało, że programiści mają swobodę w doborze typów, co jest kluczowe dla dynamizmu PHP.

Pytanie 33

Jaki będzie rezultat po uruchomieniu podanego skryptu?

class Owoc {
    function __construct() {
        echo "test1";
    }
    function __destruct() {
        echo "test2";
    }
}
$gruszka = new Owoc();
A. Nie pojawi się żaden tekst
B. Pojawi się wyłącznie tekst „test2”
C. Pojawią się oba teksty: „test1” i „test2”
D. Pojawi się jedynie tekst „test1”
Wybór błędnych odpowiedzi może wynikać z tego, że nie do końca rozumiesz, jak działają konstruktory i destruktory w programowaniu obiektowym. Nie jest tak, że nie ma żadnego napisu, bo nawet jeżeli nie stworzysz obiektu, to przy końcu skryptu destruktor powinien się uruchomić i wtedy wyświetli się 'test2'. Tak że, gdy mówisz, że tylko 'test1' się pokaże, to nie bierzesz pod uwagę, co się dzieje po zakończeniu skryptu. I to, co napisałeś, że tylko 'test2' się wyświetli, też nie jest prawdą, bo konstruktor musi być wywołany, kiedy robi się obiekt. Zrozumienie tych wszystkich spraw jest naprawdę ważne, by dobrze zarządzać danymi w aplikacjach, zwłaszcza w większych projektach, gdzie jest masa obiektów i różne interakcje między nimi.

Pytanie 34

Jaki jest cel poniższego fragmentu funkcji w JavaScript?

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

Pytanie 35

Który zapis jest selektorem pseudoklasy CSS?

A. td.wyroznienie
B. body
C. p#wyroznienie
D. a:link
W tym zadaniu wszystkie odpowiedzi wyglądają jak poprawne selektory CSS, ale tylko jedna z nich jest selektorem pseudoklasy. To dość typowa pułapka: ktoś widzi poprawny składniowo selektor i automatycznie zakłada, że skoro jest „jakiś znak specjalny”, to pewnie chodzi o pseudoklasę. W CSS warto jednak rozróżniać kilka zupełnie różnych mechanizmów: selektor typu, selektor klasy, selektor identyfikatora oraz właśnie pseudoklasy. Zapis „p#wyroznienie” łączy selektor typu z selektorem identyfikatora. Oznacza akapit <p> o konkretnym id="wyroznienie". Znak # w CSS nie ma nic wspólnego z pseudoklasami, tylko jednoznacznie wskazuje na identyfikator elementu. To jest bardzo częste nieporozumienie: część osób myli dwukropek z kratką, bo oba wyglądają jak „specjalne dopiski”. Tymczasem pseudoklasy zawsze używają dwukropka, a identyfikatory – znaku #. „td.wyroznienie” to z kolei połączenie selektora typu z selektorem klasy. Ten zapis wybierze komórki tabeli <td> posiadające class="wyroznienie". Kropka w CSS zawsze oznacza klasę, czyli coś, co definiujemy w atrybucie class w HTML. To zupełnie inny mechanizm niż pseudoklasy, bo klasę nadajemy ręcznie w kodzie HTML, a pseudoklasa opisuje stan lub cechę obliczaną przez przeglądarkę, np. czy element jest pierwszy w swoim rodzicu, czy link jest odwiedzony, czy pole formularza ma fokus. Zapis „body” to najprostszy możliwy selektor typu – wskazuje wszystkie elementy <body> w dokumencie (zwykle jest tylko jeden). Tu w ogóle nie ma żadnego symbolu wskazującego na pseudoklasę, więc traktowanie tego jako pseudoklasy to już zupełne pomieszanie pojęć: to po prostu nazwa elementu HTML. Typowy błąd myślowy przy takich pytaniach polega na tym, że zamiast skupić się na definicji pseudoklasy („selektor z dwukropkiem, opisujący stan”), uczestnik testu szuka odpowiedzi, która „najbardziej wygląda na zaawansowaną”. Tymczasem wszystkie błędne odpowiedzi są zwykłymi, podstawowymi selektorami: typu, klasy i id. Pseudoklasa zawsze ma postać coś:coś_tam, np. a:hover, button:disabled, li:first-child. Jeżeli nie ma dwukropka – to na pewno nie jest pseudoklasa, niezależnie od tego, jak bardzo skomplikowany wygląda zapis.

Pytanie 36

Tabela o nazwie naprawy posiada kolumny klient oraz czyNaprawione. W celu usunięcia rekordów, w których wartość pola czyNaprawione wynosi prawda, należy użyć komendy

A. DELETE naprawy WHERE czyNaprawione = TRUE;
B. DELETE FROM naprawy WHERE czyNaprawione = TRUE;
C. DELETE FROM naprawy;
D. DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;
Wszystkie błędne odpowiedzi zawierają niepoprawne podejście do użycia polecenia DELETE w SQL. Odpowiedź sugerująca "DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;" powiela powszechny błąd związany z błędnym formatowaniem zapytania. W SQL nie używa się słowa kluczowego 'klient' w kontekście polecenia DELETE, ponieważ nie ma takiej struktury w poleceniach usuwania. Natomiast "DELETE naprawy WHERE czyNaprawione = TRUE;" również jest niepoprawne, ponieważ nie jest to prawidłowa składnia SQL; brak jest klauzuli FROM, co skutkuje błędem w zapytaniu. Odpowiedź "DELETE FROM naprawy;" z kolei jest skrajnie nieodpowiednia, ponieważ usuwa wszystkie rekordy z tabeli naprawy, co może prowadzić do nieodwracalnej utraty danych. Takie podejście łamie zasadę ostrożności w zarządzaniu bazami danych, gdzie ważne jest, aby nie wykonywać operacji na wszystkich rekordach bez wyraźnego określenia warunków. Typowym błędem jest również zrozumienie, że każdy nieprecyzyjny zapis w SQL skutkuje utratą danych lub błędami wykonania. Dlatego kluczowe jest, aby mieć świadomość struktury składni SQL oraz konsekwencji każdej operacji na bazach danych, w tym ryzyka związane z usuwaniem danych.

Pytanie 37

Funkcja agregująca AVG wykorzystana w zapytaniu

SELECT AVG(cena) FROM uslugi;
ma na celu
A. wyliczenie średniej arytmetycznej cen wszystkich usług
B. znalezienie najwyższej ceny za usługi
C. zsumowanie wszystkich kosztów usług
D. obliczenie liczby dostępnych usług w tabeli
Funkcja agregująca AVG w języku SQL oblicza średnią arytmetyczną wartości w określonej kolumnie, w tym przypadku w kolumnie 'cena' tabeli 'uslugi'. W kontekście baz danych, obliczanie średniej jest kluczowym narzędziem analitycznym, które pozwala na uzyskanie ogólnego obrazu wartości danej kolumny. W praktyce, analiza średnich cen usług może być użyteczna dla menedżerów chcących dostosować strategię cenową lub dla działów finansowych oceniających wydajność sprzedaży. Przykładowo, jeżeli średnia cena usług wynosi 100 zł, a kolejny miesiąc przynosi spadek do 80 zł, jest to sygnał do analizy powodów obniżenia przychodów. Stosowanie funkcji AVG jest zgodne z najlepszymi praktykami w zakresie analizy danych, gdyż pozwala na podejmowanie decyzji opartych na faktach i liczbach. Warto również zauważyć, że do obliczeń średnich często używa się danych z różnych grup, co może pomóc w zrozumieniu trendów oraz wzorców w zachowaniach klientów na rynku.

Pytanie 38

Podczas walidacji witryn internetowych nie analizuje się

A. działania hiperlinków
B. zgodności z różnymi przeglądarkami
C. błędów w składni kodu
D. źródła pochodzenia narzędzi edycyjnych
W procesie walidacji stron internetowych, źródło pochodzenia narzędzi edytorskich nie jest przedmiotem analizy, ponieważ walidacja koncentruje się na technicznych aspektach kodu HTML, CSS i JavaScript, które wpływają na funkcjonalność oraz dostępność strony. Główne obszary walidacji obejmują zgodność z przeglądarkami, co oznacza, że strona powinna działać poprawnie w różnych środowiskach przeglądarkowych. Działania linków są również monitorowane, aby zapewnić, że wszystkie odnośniki kierują do właściwych lokalizacji oraz nie prowadzą do błędów 404. Błędy składni kodu są kluczowe, ponieważ mogą znacząco wpłynąć na sposób, w jaki strona jest renderowana przez przeglądarki. Przykładowo, walidatory HTML, takie jak W3C Validator, pomagają identyfikować błędy i ostrzegają o problemach, które mogą wpłynąć na dostępność i SEO strony. Dobre praktyki wymuszają, aby każda strona internetowa była nie tylko estetyczna, ale przede wszystkim funkcjonalna i zgodna z obowiązującymi standardami, co przekłada się na lepsze doświadczenia użytkowników.

Pytanie 39

Polecenie w SQL GRANT ALL PRIVILEGES ON klienci TO pracownik ma na celu

A. cofnąć wszystkie uprawnienia pracownika do tabeli klienci
B. przyznać grupie klienci uprawnienia do tabeli pracownik
C. nadać wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik
D. przenieść uprawnienia z grupy klienci na użytkownika pracownik
Polecenie GRANT ALL PRIVILEGES ON klienci TO pracownik w języku SQL jest używane do nadawania wszystkich dostępnych uprawnień na określonej tabeli, w tym przypadku na tabeli klienci, użytkownikowi o nazwie pracownik. Dzięki temu, otrzymuje on pełną kontrolę nad danymi w tej tabeli, co obejmuje możliwość dodawania, modyfikowania oraz usuwania rekordów, a także zarządzania strukturą tabeli. Jako przykład, jeśli pracownik potrzebuje wprowadzać nowe informacje o klientach, usuwanie zbędnych danych lub edytowanie istniejących rekordów, nadanie mu wszystkich uprawnień jest kluczowe. Standardy SQL definiują sposób zarządzania uprawnieniami i pozwalają administratorom na precyzyjne kontrolowanie dostępu do danych. W praktyce, aby skorzystać z tego polecenia, użytkownik musi mieć odpowiednie uprawnienia do nadawania uprawnień innym użytkownikom. Warto również pamiętać o zasadzie najmniejszych uprawnień, która sugeruje, że użytkownik powinien otrzymać tylko te uprawnienia, które są niezbędne do wykonania jego zadań, co zwiększa bezpieczeństwo bazy danych.

Pytanie 40

W języku PHP zmienna $a została przypisana do wartości 1. Wyrażenie $a === $b będzie miało wartość true, gdy zmienna $b będzie ustawiona na wartość

A. 1 lub '1'
B. *1
C. "1" lub '1'
D. '1'
Odpowiedzi, które sugerują różne typy danych, takie jak '1', 1 lub '1', oraz \"1\" lub '1', mogą prowadzić do nieporozumień wynikających z niepełnego rozumienia operatorów porównania w PHP. W przypadku operatora porównania identyczności (===), ważne jest, aby zarówno wartość, jak i typ zmiennej były zgodne. Porównanie 1 (liczba całkowita) z '1' (łańcuch znaków) zwróci false, ponieważ różnią się one typem. Typowe błędy myślowe, prowadzące do takiej pomyłki, mogą wynikać z braku zrozumienia, jak PHP obsługuje typy danych i konwersję typów. Warto zauważyć, że w innych językach programowania porównania mogą działać inaczej, co może prowadzić do zamieszania, szczególnie w kontekście programowania w PHP. Istotne jest, aby przy projektowaniu aplikacji zawsze stosować porównania identyczności, by uniknąć nieprzewidzianych problemów związanych z typami danych. Dobrą praktyką jest również eksploracja dokumentacji PHP oraz testowanie porównań w praktyce, co pozwala na głębsze zrozumienie działania języka. Właściwe podejście do typów danych oraz klarowne rozumienie operatorów porównania są kluczowymi elementami skutecznego programowania w PHP.