Wyniki egzaminu

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

Egzamin niezdany

Wynik: 7/40 punktów (17,5%)

Wymagane minimum: 20 punktów (50%)

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

Aby utworzyć tabelę w systemie baz danych, należy użyć polecenia SQL

A. NEW TABLE
B. ADD TABLE
C. PLUS TABLE
D. CREATE TABLE
Aby utworzyć tabelę w bazie danych, należy użyć polecenia SQL 'CREATE TABLE', które jest standardową komendą w SQL (Structured Query Language) służącą do definiowania struktury tabeli. Polecenie to pozwala na określenie nazw kolumn, ich typów danych oraz opcji, takich jak klucze główne czy unikalność wartości. Przykładowe użycie tego polecenia wygląda następująco: 'CREATE TABLE pracownicy (id INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50))'. Dzięki temu tworzymy tabelę o nazwie 'pracownicy' z trzema kolumnami: 'id', 'imie' i 'nazwisko'. Używanie polecenia 'CREATE TABLE' jest zgodne z normami SQL, co zapewnia jego przenośność między różnymi systemami zarządzania bazami danych. Dobrą praktyką jest także definiowanie ograniczeń, takich jak 'NOT NULL', aby zapewnić integralność danych. Również istotne jest zrozumienie, że polecenie to jest tylko jednym z wielu w SQL, które umożliwia manipulację danymi w relacyjnych bazach danych.

Pytanie 2

Podany poniżej kod źródłowy w języku C++ ma na celu wypisywanie dla wprowadzonych dowolnych liczb całkowitych różniących się od zera:

int main(){
    int liczba;
    cin >> liczba;
    while (liczba != 0)
    {
        if ((liczba % 2) == 0)
            cout << liczba << endl;
        cin >> liczba;
    }
    return 0;
}
A. wszystkie liczby
B. liczby pierwsze
C. tylko liczby nieparzyste
D. jedynie liczby parzyste
Kod źródłowy napisany w języku C++ ma na celu wypisywanie tylko liczb parzystych. Funkcja main() wczytuje liczbę całkowitą za pomocą cin, a następnie wchodzi w pętlę while, która trwa tak długo, jak długo wczytana liczba nie jest równa zero. Wewnątrz pętli, zastosowano sprawdzenie warunku, który definiuje, czy liczba jest parzysta, poprzez operator modulo: (liczba % 2) == 0. Jeśli wynik tego działania jest równy zero, liczba jest parzysta i zostaje wypisana na ekranie. Wszelkie inne liczby (nieparzyste) nie są wyświetlane. Przykładem praktycznego zastosowania tego kodu może być program do analizy danych liczbowych, gdzie chcemy zebrać tylko liczby parzyste do dalszej obróbki, na przykład w statystyce lub w aplikacjach finansowych. Praktyczne podejście do programowania w C++ wymaga znajomości takich konstrukcji jak pętle i warunki, co jest zgodne z najlepszymi praktykami inżynieryjnymi w branży oprogramowania.

Pytanie 3

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 AND liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
D. WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-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 4

Ile razy zostanie wykonana pętla przedstawiona w kodzie PHP?

for($i = 0; $i < 25; $i += 5) { ...... }
A. 0
B. 26
C. 25
D. 5
Pętla for w PHP, zdefiniowana jako for($i = 0; $i < 25; $i += 5), będzie wykonywana do momentu, gdy warunek $i < 25 będzie spełniony. Początkowa wartość $i to 0, a w każdej iteracji zwiększamy $i o 5. Wartości $i w kolejnych iteracjach będą wynosiły: 0, 5, 10, 15, 20. Po piątej iteracji, gdy $i osiągnie wartość 25, warunek $i < 25 przestanie być spełniony, co zakończy działanie pętli. W sumie, pętla wykona się dokładnie pięć razy. Zrozumienie działania pętli for jest kluczowe w programowaniu, ponieważ pozwala na automatyzację wielu zadań, co jest niezbędne w tworzeniu efektywnych i zoptymalizowanych aplikacji. Przykłady zastosowania to iteracja przez elementy tablic, generowanie numerów identyfikacyjnych czy przetwarzanie danych w bazach.

Pytanie 5

W języku C++ stworzono zmienną char zm1[10]; Czym jest ta zmienna?

A. tablicą łańcuchów
B. tablicą znaków
C. znakiem
D. liczbą
Odpowiedzi sugerujące, że zmienna char zm1[10] jest liczbą, tablicą łańcuchów, czy też pojedynczym znakiem, są nieprawidłowe z punktu widzenia definicji i zastosowania zmiennych w języku C++. Zmienna char zm1[10] jest tablicą znaków, co oznacza, że jej przeznaczeniem jest przechowywanie wielu znaków, a nie tylko jednego lub zestawu łańcuchów. Liczby w C++ są definiowane jako zmienne typu int, float, double itp., które mają odmienną reprezentację w pamięci i służą do wykonywania operacji matematycznych. Tablica łańcuchów, która jest bardziej złożoną strukturą, wymagałaby bardziej rozbudowanej definicji, najczęściej jako tablica wskaźników do zmiennych typu char, a nie jako tablicy znaków. Pojedynczy znak również nie oddaje pełnej funkcjonalności zm1, ponieważ zmienna ta została stworzona do przechowywania sekwencji znaków. Typowe błędy myślowe, które mogą prowadzić do błędnych odpowiedzi, obejmują mylenie pojęć i niepełne zrozumienie struktury danych. Ważne jest, aby podczas nauki programowania zrozumieć różnice między typami zmiennych oraz ich zastosowaniem w kodzie. Praktyczna znajomość tablic znaków i ich zarządzania jest kluczowa w każdej aplikacji, która operuje na danych tekstowych.

Pytanie 6

W zaprezentowanym fragmencie kodu HTML zdefiniowano pole input, które można opisać jako

<input type="password" name="pole">
A. dopuszcza jedynie wprowadzanie wartości liczbowych
B. pokazuje znaki, które zostały do niego wprowadzone
C. zawiera domyślny tekst „pole”
D. ukrywa znaki, które zostały do niego wprowadzone
W formularzach HTML często spotykamy różne typy pól input, mające specyficzne zastosowania. Pole input z atrybutem type="text" pozwala na wpisywanie dowolnego tekstu, co sprawia, że jest ono bardziej elastyczne, ale nie zapewnia żadnej ochrony dla wprowadzanych danych. Problematyczne mogą być sytuacje, gdzie takie pole jest używane dla danych wrażliwych, ponieważ nie oferuje ono żadnego poziomu prywatności. Wprowadzenie domyślnego tekstu w polu input jest realizowane poprzez atrybut value, który ustawia początkową wartość, widoczną dla użytkownika. To rozwiązanie bywa mylone z placeholderem, który służy jako podpowiedź wewnątrz pola, ale nie jest domyślną wartością samego pola. Input o typie "number" w HTML ogranicza wprowadzane dane wyłącznie do liczb, co jest przydatne w przypadku pól wymagających wartości liczbowych, takich jak wiek czy ilość. Choć to ograniczenie jest zasadne i chroni przed błędami użytkownika, nie ma zastosowania w kontekście ochrony prywatności danych. Typ password natomiast nie tylko ogranicza wprowadzone dane, ale również ukrywa je przed wglądem, co jest kluczowe dla zapewnienia bezpieczeństwa. Tym samym, zrozumienie różnic w funkcjonalności i zastosowaniu tych różnych typów pól pozwala na lepsze projektowanie bezpiecznych i funkcjonalnych formularzy w aplikacjach webowych. Błędem jest zakładanie, że każde pole input domyślnie zabezpiecza dane, co często prowadzi do niepoprawnych implementacji, które mogą narazić użytkowników na ryzyko wycieku danych.

Pytanie 7

W kodzie CSS zapis ```a[target="_blank"] {color:yellow;}``` spowoduje, że kolor żółty zostanie przypisany do tekstu

A. wszystkich linków
B. linków, które są otwierane w tej samej karcie
C. linków, które otwierają się w nowej karcie
D. tekstów w paragrafie
Odpowiedź dotycząca odnośników, które otwierają się w osobnej karcie, jest poprawna, ponieważ selektor CSS 'a[target="_blank"]' precyzyjnie odnosi się do elementów <a> (odnośników), które mają atrybut target ustawiony na '_blank'. W HTML, atrybut target z wartością '_blank' informuje przeglądarkę, aby otworzyła link w nowej karcie lub oknie. W związku z tym, reguła CSS 'a[target="_blank"] {color:yellow;}' zmienia kolor tekstu tych konkretnych odnośników na żółty. Dobre praktyki w projektowaniu stron internetowych sugerują, aby wizualnie wyróżniać odnośniki otwierające się w nowej karcie, aby użytkownicy byli świadomi tego, że nowa zawartość zostanie otwarta, co zwiększa przejrzystość i użyteczność strony. Przykładem może być formularz kontaktowy, gdzie odnośniki do polityki prywatności mogą być otwierane w nowej karcie, a ich wyróżnienie kolorem może poprawić nawigację po stronie.

Pytanie 8

W języku JavaScript poniższy fragment funkcji ma na celu

wynik = 0;
for (i = 0; i < tab.length; i++) {
  wynik += tab[i];
}
A. obliczyć sumę wszystkich elementów tablicy
B. wprowadzić do każdego elementu tablicy bieżącą wartość zmiennej i
C. wyświetlić wszystkie elementy tablicy
D. dodać do każdego elementu tablicy ustaloną wartość
Wybór odpowiedzi dotyczącej wprowadzenia aktualnej wartości zmiennej i do każdego elementu tablicy jest mylny, ponieważ kod nie wykonuje takiej operacji. W rzeczywistości, zmienna 'i' jest jedynie wskaźnikiem iteracji w pętli i nie jest modyfikowana w żaden sposób w kontekście wartości elementów tablicy. Kolejna odpowiedź sugerująca wyświetlenie wszystkich elementów tablicy jest również błędna, ponieważ w kodzie nie pojawia się żadna operacja wyświetlająca. W języku JavaScript, aby wyświetlić elementy tablicy, używalibyśmy np. funkcji console.log() lub innej metody interakcji z użytkownikiem. Odpowiedź mówiąca o dodawaniu stałej wartości do każdego elementu tablicy odnosi się do innej operacji matematycznej, która nie znajduje odzwierciedlenia w podanym kodzie. W rzeczywistości, dodawanie stałej wartości wymagałoby zdefiniowania tej wartości oraz zmodyfikowania sposobu, w jaki elementy tablicy są przetwarzane. Typowe błędy myślowe przy analizie kodu mogą wynikać z nieprecyzyjnego zrozumienia, co każda linia kodu rzeczywiście wykonuje, a także z braku znajomości podstawowych operacji na tablicach, co prowadzi do błędnych wniosków. Zrozumienie, co dokładnie robi dany fragment kodu, jest kluczowe dla efektywnego programowania i unikania takich nieporozumień.

Pytanie 9

Jaką instrukcją można zastąpić poniższy kod JavaScript, pełniącą tę samą funkcję?

for (i = 0; i < 100; i += 10)
  document.write(i + ' ');
while (i < 10) {
  document.write(i + ' ');
  i += 10;
}

Kod 1.
while (i < 100) {
  document.write(i + ' ');
}

Kod 2.
i = 0;
while (i < 100) {
  document.write(i + ' ');
  i += 10;
}

Kod 3.
i = 0;
while (i < 10) {
  document.write(i + ' ');
  i++;
}

Kod 4.
A. Kod 1
B. Kod 2
C. Kod 3
D. Kod 4
Odpowiedzi inne niż Kod 3 są niepoprawne ponieważ nie odzwierciedlają poprawnie logiki oryginalnej pętli for. Kod 1 gdzie warunek jest i < 10 zamiast i < 100 będzie iterować zbyt mało razy ponieważ inkrementacja i odbywa się co 10 jednostek a warunek przerywający pętlę jest osiągnięty już po pierwszej iteracji co nie odpowiada strukturze pętli for. Kod 2 również używa błędnego warunku i < 100 ale brakuje w nim inicjalizacji zmiennej i co może prowadzić do błędów związanych z używaniem nieokreślonej zmiennej. W praktyce taki błąd jest często spotykany w przypadku gdy programista zapomina o zdefiniowaniu zmiennej przed rozpoczęciem pętli co prowadzi do nieprzewidywalnego działania kodu. Kod 4 także nie jest poprawny ponieważ w warunku while używa i < 10 co oznacza że pętla znów nie zostanie wykonana odpowiednią ilość razy. Ponadto inkrementacja i o 1 jednostkę zamiast o 10 znacznie zmienia ilość iteracji wymaganych do zakończenia pętli co nie jest zgodne z początkową pętlą for. Rozważając te błędne odpowiedzi warto zauważyć że precyzyjne określanie warunków i operacji w pętlach jest kluczowe dla ich prawidłowego działania co jest podstawą efektywnego programowania.

Pytanie 10

Rodzaj zmiennej w języku JavaScript

A. jest tylko jeden rodzaj.
B. nie istnieje.
C. musi być zadeklarowany na początku skryptu.
D. ma miejsce poprzez przypisanie wartości.
Wiele osób uważa, że typ zmiennej w JavaScript powinien być z góry zadeklarowany, co jest niezgodne z jego zasadami działania. Twierdzenie, że typ zmiennej 'nie występuje', jest mylne, ponieważ każda wartość przypisana do zmiennej ma swój typ, nawet jeśli nie jest to jawnie określone. Ignorowanie tego faktu prowadzi do nieporozumień i błędów w kodzie. Kolejne nieprecyzyjne stwierdzenie, że 'jest tylko jeden' typ zmiennej, pomija kluczową cechę JavaScript jako języka dynamicznego, który obsługuje wiele typów, takich jak liczby, stringi, obiekty i tablice. Typy te mogą zmieniać się w trakcie działania programu, co czyni język bardzo elastycznym. Z kolei przekonanie, że zmienne muszą być zadeklarowane na początku skryptu, jest również błędne, ponieważ JavaScript pozwala na przypisywanie wartości do zmiennych w dowolnym miejscu w kodzie, co zwiększa jego dynamikę. Takie myślenie może prowadzić do nieefektywnego kodu, który jest trudniejszy w utrzymaniu oraz rozwijaniu. Ważne jest, aby zrozumieć zasady działające w tym języku, aby unikać typowych pułapek związanych z typowaniem zmiennych oraz właściwie wykorzystać zalety, jakie oferuje JavaScript.

Pytanie 11

Na przedstawionym obrazie widać wynik formatowania przy użyciu styli CSS oraz kod HTML, który go generuje. Przy założeniu, że marginesy wewnętrzne wynoszą 50 px, a zewnętrzne 20 px, jak wygląda styl CSS dla tego obrazu?

Ilustracja do pytania
A. Rys. C
B. Rys. D
C. Rys. B
D. Rys. A
Błędne odpowiedzi wynikają głównie z nieprawidłowego przypisania wartości marginesów i marginesów wewnętrznych w stylach CSS. W przypadku niepoprawnych stylów, takich jak w Rys. A i D, zastosowano linię przerywaną, co nie spełnia warunków pytania, które wymaga zastosowania linii ciągłej. Solidna linia graniczna jest bardziej preferowana w projektach profesjonalnych, ponieważ dodaje wyrazistości i estetyki. Warianty, gdzie nie zachowano odpowiednich wartości marginesów i marginesów wewnętrznych, mogą prowadzić do niezamierzonego zachowania w układzie strony, takich jak zły odstęp między elementami, co negatywnie wpływa na użyteczność i estetykę interfejsu użytkownika. Niewłaściwe ustawienie tych wartości często wynika z niedostatecznego zrozumienia modelu pudełkowego w CSS, który jest fundamentem w projektowaniu rozmieszczenia elementów na stronie. Model pudełkowy umożliwia dokładne określenie, jak elementy są wyświetlane, co jest niezbędne do tworzenia responsywnych i estetycznie przyjemnych stron internetowych. Zrozumienie i prawidłowe zastosowanie marginesów i marginesów wewnętrznych jest kluczowe dla osiągnięcia profesjonalnych wyników w projekcie.

Pytanie 12

Aby uzyskać rezultaty działania skryptu napisanego w języku PHP, który jest częścią strony WWW, musi on być

A. zinterpretowany po stronie serwera
B. zinterpretowany po stronie klienta
C. skomponowany po stronie serwera
D. skomponowany po stronie klienta
Pierwsza niepoprawna odpowiedź sugeruje, że PHP powinno działać po stronie klienta, a to nie ma sensu. PHP to język interpretowany, więc nie trzeba go kompilować do jakiegoś tam kodu maszynowego przed uruchomieniem. Nasze przeglądarki nie ogarniają kodu PHP, tylko chcą dostać gotowy HTML. Druga błędna odpowiedź znowu mówi o kompilacji, ale to nie tak działa. Choć są kompilatory PHP, to standardowo PHP działa na zasadzie interpretacji, a nie kompilacji. Ta interpretacja pozwala na to, żeby treści były generowane dynamicznie. Na koniec, ostatnia z błędnych odpowiedzi twierdzi, że PHP powinno działać po stronie klienta, co też jest totalnie nieprawda. PHP przetwarzany jest na serwerze, a klient dostaje już tylko wynik w HTML, CSS i JavaScript. Nie ma dostępu do źródłowego kodu PHP, bo jest on przerobiony przez serwer zanim trafi do klienta. To zapewnia bezpieczeństwo i wydajność stron, bo serwer ogarnia logikę, a klient tylko wyświetla to, co dostaje.

Pytanie 13

Jakim zapisem w języku PHP można określić komentarz, który rozciąga się na wiele linii?

A. <!-- -->
B. #
C. //
D. /*  */
Wybór zapisu # jako sposobu definiowania komentarzy w PHP nie jest poprawny, ponieważ jest to sposób stosowany w innych językach programowania, takich jak Bash czy Perl, do komentowania pojedynczych linii. Komentarze w PHP, które zaczynają się od // również służą do oznaczania komentarzy, ale zaledwie dla jednej linii. Oznacza to, że w przypadku dłuższych opisów, musielibyśmy używać wielu komentarzy liniowych, co obniża czytelność kodu i może prowadzić do zamieszania. Zapis <!-- --> jest całkowicie nieprawidłowy w kontekście PHP. Ten typ komentarza jest używany w HTML i XML, a jego zastosowanie w PHP może skutkować błędami, ponieważ parser PHP nie interpretuje tego formatu jako komentarza. To może prowadzić do sytuacji, w których fragmenty kodu są błędnie analizowane przez interpreter, co skutkuje nieoczekiwanym działaniem programu. Typowe błędy myślowe, które mogą prowadzić do takich niepoprawnych wniosków, to mylenie konwencji komentarzy w różnych językach programowania lub zakładanie, że pewne zapisy są uniwersalne. W praktyce, zaleca się stosowanie odpowiednich formatów komentarzy zgodnie z ich przeznaczeniem w danym języku programowania, aby uniknąć nieporozumień i błędów w kodzie.

Pytanie 14

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

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

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

Pytanie 15

Grafik pragnie zmienić obraz JPG na format PNG bez utraty jakości, tak aby w obszarach, gdzie pierwotnie był kolor biały, w finalnym obrazie występowała przezroczystość. W tym celu powinien

A. przekształcić obraz w odcienie szarości
B. dodać kanał alfa
C. zaimportować obraz do edytora grafiki wektorowej
D. zmniejszyć rozdzielczość obrazu
Zarówno zmniejszenie rozdzielczości obrazu, jak i przekształcenie go w odcienie szarości są podejściami, które nie spełniają wymagań postawionych w pytaniu. Zmniejszenie rozdzielczości oznacza, że zmniejszamy liczbę pikseli w obrazie, co skutkuje utratą detali i jakości, co jest zupełnie niezgodne z celem przekształcenia bez utraty jakości. Takie działanie nie ma również związku z dodawaniem przezroczystości, a może wręcz pogorszyć wizualną jakość końcowego obrazu. Ponadto, konwersja obrazu do odcieni szarości eliminuje wszystkie kolory, co sprawia, że problem z białym kolorem, który ma zostać przekształcony w przezroczystość, staje się bezprzedmiotowy. Importowanie obrazu do edytora grafiki wektorowej, chociaż może być użyteczne w niektórych przypadkach, nie jest odpowiednim narzędziem do przekształcania bitmapy z JPG na PNG z przezroczystością. Grafika wektorowa jest oparta na matematycznych formułach, a nie na pikselach, więc nie można w prosty sposób przenieść bitmapowych właściwości obrazu. Podejścia te mogą prowadzić do błędnych wniosków, w których użytkownicy mogą sadzić, że redukcja jakości i przekształcanie kolorów są wystarczającymi krokami do osiągnięcia zamierzonych efektów graficznych.

Pytanie 16

W zaprezentowanym fragmencie dokumentu HTML ustalono stylowanie CSS dla selektora klasy "menu", aby kolor tła tego elementu był zielony. Które z poniższych określeń stylu CSS odpowiada temu stylowaniu?

<div class="menu"></div>
A. div.menu { background-color: green; }
B. menu { background-color: rgb(0,255,0); }
C. div:menu { color: green; }
D. #menu { background-color: rgb(0,255,0); }
Błędne odpowiedzi wynikają z niewłaściwego zastosowania selektorów w języku CSS. Selektor #menu sugeruje użycie ID, jednak w HTML identyfikator musi być unikalny, a zadanie dotyczy klasy, co implikuje użycie selektora klasy poprzedzonego kropką. Takie błędne użycie prowadzi do niezrozumienia podstawowej różnicy między klasami a identyfikatorami w CSS, co jest kluczowe w projektowaniu stron internetowych. Z kolei selektor menu { background-color: rgb(0,255,0); } jest niepoprawny, ponieważ nie odnosi się do konkretnego elementu. Chociaż specyfikacja CSS pozwala na selektory nazwane, najczęściej stosuje się je w kontekście semantycznym dla elementów HTML, a nie tych określonych przez klasy. Wreszcie, definicja div:menu { color: green; } używa błędnej składni, ponieważ pseudo-klasy w CSS są używane do stylizacji specyficznych stanów elementów, takich jak hover, active czy focus, a nie do stylizacji klas. Istotne jest zrozumienie, że użycie pseudo-klas wymaga odpowiedniego kontekstu, który w tym przypadku jest niepoprawnie użyty. Kluczem do poprawnego stosowania CSS jest zrozumienie specyfiki selektorów i ich właściwe wykorzystanie, co pozwala na efektywne zarządzanie stylem w projekcie webowym. Podstawową zasadą powinno być projektowanie stylów z myślą o ich wielokrotnym wykorzystaniu i utrzymaniu czystości kodu.

Pytanie 17

Jak nazywa się metoda tworząca obiekt w języku PHP?

A. __create
B. __new
C. __construct
D. __open
Konstruktor w języku PHP to specjalna metoda, która jest automatycznie wywoływana w momencie tworzenia instancji obiektu danej klasy. W PHP konstruktorzy są definiowani za pomocą słowa kluczowego __construct. Jest to zgodne z zasadami programowania obiektowego, które zakładają, że każdy obiekt powinien być odpowiednio zainicjowany przed użyciem. Dzięki temu programiści mogą ustawić właściwości obiektu lub przeprowadzić inne operacje inicjalizacyjne, które są niezbędne dla prawidłowego działania obiektu. Na przykład, jeśli mamy klasę 'Samochod', konstruktor może przyjmować parametry takie jak marka czy model, a następnie przypisywać je do właściwości obiektu. Przykład: class Samochod { public $marka; public $model; public function __construct($marka, $model) { $this->marka = $marka; $this->model = $model; } }. Konstruktorzy są kluczowym elementem w programowaniu obiektowym, ponieważ wspierają enkapsulację i pomagają w tworzeniu bardziej zorganizowanego i łatwiejszego w utrzymaniu kodu. PHP w wersji 5 i wyższych wprowadził zdefiniowane konstruktorzy, co znacząco poprawiło jakość kodu oraz jego czytelność.

Pytanie 18

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();
Podejście polegające na używaniu funkcji mysqli_exit() jest błędne, ponieważ taka funkcja nie istnieje w kontekście rozwiązań MySQL w PHP. Oprócz tego, wywołanie mysqli_commit() nie jest właściwą odpowiedzią, gdyż ta funkcja służy do potwierdzania transakcji, a nie do zamykania połączenia. Transakcje w MySQL są kluczowe dla zapewnienia integralności danych, ale ich zakończenie nie jest równoznaczne z zakończeniem połączenia. Z kolei funkcja mysqli_rollback() jest używana do wycofywania transakcji, co także nie dotyczy zamykania połączeń. Te nieprawidłowe odpowiedzi mogą wynikać z nieporozumienia dotyczącego ról poszczególnych funkcji w kontekście zarządzania transakcjami oraz połączeniami. Typowym błędem myślowym jest mylenie zamykania połączenia z zarządzaniem transakcjami; to dwa odrębne aspekty interakcji z bazą danych. Użytkownicy mogą błędnie zakładać, że każda funkcja związana z bazą danych ma na celu ich zamykanie, co prowadzi do niepoprawnych wniosków. Dlatego kluczowe jest zrozumienie różnicy pomiędzy zarządzaniem połączeniami a zarządzaniem transakcjami, co jest fundamentem efektywnej pracy z bazami danych w PHP.

Pytanie 19

W CSS zastosowano stylowanie elementu listy, przy czym żadne inne style CSS nie zostały ustalone. Użyte stylowanie spowoduje, że

li :hover { color: Maroon; }
A. Po najechaniu kursorem na element listy, kolor tekstu zmieni się na Maroon.
B. Wszystkie teksty elementów listy będą w kolorze Maroon.
C. Teksty wszystkich elementów, którym nadano id „hover”, będą w kolorze Maroon.
D. Kolor Maroon będzie dotyczył co drugiego elementu listy.
Twoja odpowiedź jest na pewno trafna, bo reguła CSS li:hover { color: Maroon; } działa w kontekście pseudo-klasy :hover. To znaczy, że jak najedziesz kursorem na element listy (li), to jego kolor tekstu zmienia się na Maroon. Fajnie, że to wiesz! Takie podejście jest zgodne z zasadami CSS, które pozwalają na dynamiczne zmiany wyglądu elementów, gdy użytkownik z nimi interaguje. Na przykład, jeżeli masz listę z elementami <li>, to najeżdżając na nie, kolor tekstu zmienia się na Maroon. To może naprawdę poprawić użytkowanie strony i wyróżnić ważne elementy w interfejsie. Używanie pseudo-klas, jak :hover, to standard w projektowaniu stron, które są responsywne i interaktywne, co znacznie podnosi komfort przeglądania.

Pytanie 20

W poniższym kodzie CSS czcionka zmieni kolor na żółty

a[target="_blank"]
{
  color: yellow;
}
A. każdego linku
B. odnośników, które otwierają się w tej samej karcie
C. tekstu akapitu
D. odnośników, które otwierają się w nowej karcie
Prawidłowa odpowiedź wskazuje na zastosowanie selektora a[target="_blank"] w języku CSS. Ten selektor odnosi się do wszystkich odnośników HTML, które otwierają się w nowej karcie przeglądarki dzięki użyciu atrybutu target z wartością "_blank". Stylizacja tych odnośników na kolor żółty jest możliwa przez przypisanie właściwości color z odpowiednią wartością. Jest to praktyczne podejście, które pozwala na wizualne wyróżnienie linków otwierających się w osobnych zakładkach. Takie podejście jest zgodne z dobrymi praktykami projektowania stron internetowych, gdzie wskazane jest, aby użytkownicy mieli wyraźne sygnały o nietypowych działaniach linków. W kontekście dostępności webowej, takie stylizowanie wspiera użytkowników w szybszym orientowaniu się w sposobie działania poszczególnych elementów interfejsu. Separacja stylu i treści zgodnie z zasadami CSS umożliwia bardziej elastyczne zarządzanie wyglądem strony i ułatwia utrzymanie spójności wizualnej na całej witrynie. Przykład ten ilustruje, jak CSS może wpływać na interakcję użytkownika z elementami strony, co jest kluczowe w procesie tworzenia przyjaznych i intuicyjnych interfejsów użytkownika.

Pytanie 21

W SQL warunek ten odpowiada warunkowi liczba >= 10 AND liczba <= 100?

A. liczba LIKE '10%'
B. liczba IN (10, 100)
C. NOT (liczba < 10 AND liczba > 100)
D. liczba BETWEEN 10 AND 100

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'liczba BETWEEN 10 AND 100' jest prawidłowa, ponieważ odpowiada warunkowi, który sprawdza, czy wartość zmiennej 'liczba' mieści się w przedziale od 10 do 100, włączając oba końce. W SQL konstrukcja 'BETWEEN' jest preferowana, ponieważ jest bardziej czytelna i zrozumiała dla programistów, co sprzyja utrzymaniu kodu. Przykładowe zapytanie SQL używające tego warunku mogłoby wyglądać tak: 'SELECT * FROM tabela WHERE liczba BETWEEN 10 AND 100;'. Zastosowanie 'BETWEEN' unika potencjalnych błędów związanych z używaniem operatorów porównawczych i zapewnia, że obie granice przedziału są respektowane. W praktyce, korzystanie z 'BETWEEN' w zapytaniach SQL jest zgodne z dobrymi praktykami programowania, gdyż poprawia czytelność i ułatwia analizę kodu. Dodatkowo, warto zauważyć, że 'BETWEEN' działa również z datami, co czyni go uniwersalnym narzędziem w SQL.

Pytanie 22

Którego atrybutu należy użyć w miejscu trzech kropek w znaczniku HTML5 <blockquote>, aby zdefiniować źródło cytatu?

<blockquote ...="https://pl.wikipedia.org">
Pokojowa Nagroda Nobla jest przyznawana kandydatom, którzy wykonali największą lub najlepszą
pracę na rzecz braterstwa między narodami
</blockquote>
A. cite
B. src
C. href
D. alt

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje, twoja odpowiedź jest poprawna. Atrybut 'cite' w znaczniku <blockquote> jest używany do definiowania źródła cytatu. Jest to zgodne z definicją tego atrybutu zawartą w specyfikacji HTML5. W praktyce, jeśli chcesz zacytować fragment tekstu z innego źródła na swojej stronie internetowej, możesz użyć znacznika <blockquote> i atrybutu 'cite' do określenia źródła cytatu, co jest zgodne z dobrymi praktykami branżowymi. Na przykład, <blockquote cite='https://www.example.com'> Tutaj umieść tekst cytatu </blockquote>. Dzięki temu, czytelnik może łatwo odnaleźć źródło cytowanego tekstu. Warto zaznaczyć, że choć atrybut 'cite' nie jest wyświetlany bezpośrednio na stronie, jest on użyteczny dla użytkowników technologii asystujących, takich jak czytniki ekranowe.

Pytanie 23

Jaki zestaw liczb zostanie wyświetlony w wyniku działania pętli napisanej w języku PHP?

$liczba = 10;
while ($liczba < 50) {
  echo "$liczba ";
  $liczba = $liczba + 5;
}
A. 10 15 20 25 30 35 40 45
B. 10 15 20 25 30 35 40 45 50
C. 0 5 10 15 20 25 30 35 40 45
D. 0 5 10 15 20 25 30 35 40 45 50

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź to 10 15 20 25 30 35 40 45 ponieważ pętla while w języku PHP działa na zasadzie sprawdzania warunku przed każdą iteracją. W tym przypadku zmienna $liczba jest inicjalizowana wartością 10 a warunek w pętli sprawdza czy $liczba jest mniejsza niż 50. Wartość zmiennej jest wypisywana i następnie zwiększana o 5 w każdym kroku iteracyjnym. Pętla zakończy się gdy $liczba osiągnie wartość 50 lub większą. Dlatego ostatnią wypisaną wartością będzie 45 gdyż po dodaniu 5 zmienna $liczba wyniesie 50 i przestanie spełniać warunek pętli. Takie konstrukcje pętli są powszechne w programowaniu szczególnie gdy mamy do czynienia z iteracją po stałych przedziałach liczbowych. Stosowanie pętli while jest zalecane w przypadku gdy liczba iteracji nie jest z góry znana a jedynie zależy od spełnienia określonego warunku. Ważne jest by pamiętać o możliwości nieskończonej pętli jeśli warunek nigdy nie zostanie spełniony co może prowadzić do błędów wykonania programu. Praktycznym zastosowaniem takiej pętli jest iteracja po zbiorze danych którego rozmiar zależy od zewnętrznych czynników np danych wejściowych od użytkownika lub zawartości pliku.

Pytanie 24

Jak określa się metodę sortowania, która polega na podziale na n przedziałów o równej długości, w których odbywa się sortowanie, a następnie posortowane zawartości przedziałów są analizowane i prezentowane?

A. Sortowanie szybkie
B. Sortowanie kubełkowe
C. Sortowanie przez wybór
D. Sortowanie bąbelkowe

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Sortowanie kubełkowe to metoda, która dzieli zbiór danych na mniejsze, jednakowe przedziały (kubełki), co pozwala na efektywniejsze sortowanie. Po umieszczeniu elementów w odpowiednich kubełkach, każdy kubełek jest sortowany osobno, zazwyczaj przy użyciu prostszej metody sortowania, takiej jak sortowanie bąbelkowe lub przez wybór. Następnie, posortowane kubełki są łączone w jeden uporządkowany zbiór. Taka strategia jest szczególnie skuteczna, gdy dane są równomiernie rozłożone i idealnie nadaje się do sortowania dużych zbiorów danych, na przykład w aplikacjach analitycznych czy w systemach rekomendacji. W praktyce, sortowanie kubełkowe może znacząco zwiększyć wydajność w porównaniu do tradycyjnych metod sortowania, zwłaszcza w kontekście danych o znanym zakresie. To podejście jest szeroko stosowane w informatyce, w tym w algorytmach sortowania i przetwarzania danych, co czyni je istotnym elementem w optymalizacji algorytmów.

Pytanie 25

Który link jest poprawnie sformułowany?

A. <a src="/www.strona.pl">strona</a>
B. <a href="http://strona.pl">strona</a>
C. <a href=http://strona.pl>strona</a>
D. <a href="http::/strona.pl>strona</a>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź <a href="http://strona.pl">strona</a> jest poprawna, ponieważ używa atrybutu "href" do definiowania odnośnika. Atrybut ten jest standardem w języku HTML i służy do określenia docelowego adresu URL, do którego ma prowadzić link. W przypadku tej odpowiedzi, składnia jest prawidłowa: adres URL jest umieszczony w cudzysłowach, a prefiks HTTP jest poprawny. W praktyce, poprawne użycie atrybutu href jest kluczowe dla zapewnienia, że użytkownicy mogą bezproblemowo nawigować po stronie internetowej. Na przykład, w dokumentacji HTML5, wyraźnie zaznaczone jest, że atrybut href powinien być używany, aby wskazać lokalizację zasobu. W rezultacie, stosując tę poprawną składnię, można uniknąć potencjalnych błędów w działaniu strony oraz poprawić jej dostępność, co jest istotne z punktu widzenia najlepszych praktyk webowych oraz SEO.

Pytanie 26

CAPTCHA to metoda zabezpieczeń stosowana na stronach WWW, która umożliwia

A. potwierdzenie, że informacje z formularza są przesyłane przez człowieka
B. przyspieszenie logowania do aplikacji internetowej
C. ominięcie procesu autoryzacji w aplikacji internetowej
D. automatyczne wypełnienie formularza logowania danymi użytkownika

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
CAPTCHA, czyli Completely Automated Public Turing test to tell Computers and Humans Apart, to technika zabezpieczeń powszechnie stosowana na stronach internetowych, której celem jest rozróżnienie użytkowników ludzkich od automatycznych programów (botów). Mechanizm ten działa poprzez prezentację wyzwań, które są trudne do rozwiązania przez maszyny, ale relatywnie proste dla ludzi. Przykłady obejmują rozpoznawanie tekstu zniekształconego w obrazach, wybieranie obrazków pasujących do podanych kategorii, czy rozwiązywanie prostych zagadek logicznych. CAPTCHA jest bardzo istotnym narzędziem w ochronie przed spamem, atakami typu brute-force oraz innymi formami nadużyć, które mogą zagrażać bezpieczeństwu aplikacji internetowych. Zastosowanie CAPTCHA stało się standardem w branży IT i jest szeroko wspierane przez organizacje, takie jak Google, które opracowały popularny reCAPTCHA, integrujący technologię uczenia maszynowego do dalszego poprawienia skuteczności i użyteczności testów. Wdrożenie CAPTCHA w formularzach rejestracyjnych czy logowania znacząco zwiększa poziom bezpieczeństwa, jednocześnie zmniejszając ryzyko nadużyć oraz ochroniając dane użytkowników.

Pytanie 27

Jaką właściwość CSS należy zastosować, aby ustawić wewnętrzne marginesy dla danego elementu?

A. padding
B. margin
C. width
D. hight

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Właściwość CSS, którą należy zastosować do definiowania marginesów wewnętrznych elementu, to padding. Padding określa przestrzeń wewnętrzną między zawartością elementu a jego granicami. Przy pomocy paddingu możemy dostosować, jak dużo przestrzeni chcemy mieć wokół tekstu, obrazów czy innych elementów wewnątrz danego kontenera. Na przykład, zastosowanie padding: 20px; w CSS sprawi, że wewnętrzny margines będzie wynosił 20 pikseli od wszystkich stron wokół zawartości. Na poziomie praktycznym, padding jest niezwykle użyteczny w projektowaniu responsywnych interfejsów użytkownika, ponieważ pozwala na lepsze dostosowanie elementów do różnych rozmiarów ekranów. Dobrą praktyką jest używanie paddingu w połączeniu z innymi właściwościami, takimi jak margin, aby uzyskać pełną kontrolę nad położeniem i rozkładem elementów na stronie. Warto także pamiętać, że w CSS możemy ustalać padding oddzielnie dla górnej, prawej, dolnej i lewej strony, co daje jeszcze większą elastyczność w projektowaniu.

Pytanie 28

Podana linia kodu została napisana w języku?

document.getElementById("paragraf1").innerHTML = wynik;
A. JavaScript
B. Python
C. PHP
D. C#

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź JavaScript jest prawidłowa, ponieważ linia kodu, którą przedstawiono, wykorzystuje standardową metodę DOM (Document Object Model) do dynamicznej manipulacji zawartością HTML. W kodzie 'document.getElementById("paragraf1").innerHTML = wynik;' funkcja 'getElementById' służy do odnajdywania elementu HTML o identyfikatorze 'paragraf1'. Następnie, przypisanie wartości zmiennej 'wynik' do 'innerHTML' tego elementu zmienia jego zawartość tekstową. JavaScript jest głównym językiem do tworzenia interaktywnych stron internetowych i umożliwia programistom tworzenie dynamicznych funkcjonalności. Przykład praktycznego użycia to sytuacja, gdy na stronie internetowej chcemy wyświetlić obliczone wyniki w czasie rzeczywistym, np. w aplikacjach kalkulatorów online. W kontekście standardów branżowych, używanie DOM do manipulacji elementami HTML w JavaScript jest uważane za dobrą praktykę, a jego znajomość jest niezbędna dla każdego web developera.

Pytanie 29

Który z poniższych znaczników HTML jest używany do tworzenia struktury strony internetowej?

A. <em>
B. <input>
C. <aside>
D. <mark>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Znacznik <aside> jest poprawnym rozwiązaniem, ponieważ jest używany do definiowania treści, która jest powiązana z otaczającym kontekstem, ale nie jest kluczowa dla głównego przebiegu informacji. Z perspektywy budowy struktury strony internetowej, <aside> doskonale wpisuje się w koncepcję bocznych paneli, przypisów, lub dodatkowych informacji, które wzbogacają główną treść. Przykładem zastosowania może być umieszczenie sekcji z cytatami, powiązanymi artykułami lub innymi treściami uzupełniającymi. Zgodnie z zasadami semantyki HTML5, <aside> pozwala na lepszą interpretację treści przez przeglądarki oraz narzędzia do analizy SEO, co przyczynia się do poprawy dostępności i użyteczności strony. W praktyce, korzystanie z semantycznych znaczników, takich jak <aside>, wspiera także tworzenie bardziej czytelnych i strukturalnych dokumentów, co jest zgodne z najlepszymi praktykami w tworzeniu stron internetowych.

Pytanie 30

Jaką funkcję w języku PHP należy wykorzystać, aby nawiązać połączenie z bazą danych o nazwie zwierzaki?

A. $polacz = sql_connect('localhost', 'root','','zwierzaki');
B. $polacz = server_connect('localhost', 'root','','zwierzaki');
C. $polacz = db_connect('localhost', 'root','','zwierzaki');
D. $polacz = mysqli_connect('localhost', 'root','','zwierzaki');

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź $polacz = mysqli_connect('localhost', 'root','','zwierzaki'); jest poprawna, ponieważ funkcja mysqli_connect jest standardowym sposobem nawiązywania połączenia z bazą danych MySQL w języku PHP. Funkcja ta jest częścią rozszerzenia MySQLi, które oferuje bardziej zaawansowane możliwości w porównaniu do oryginalnego rozszerzenia MySQL. Umożliwia obsługę złożonych zapytań i zabezpieczeń, a także wspiera techniki programowania obiektowego. Warto zauważyć, że przy wywołaniu tej funkcji przekazujemy cztery argumenty: adres serwera (w tym przypadku 'localhost'), nazwę użytkownika ('root'), hasło (które jest puste w tym przypadku), oraz nazwę bazy danych ('zwierzaki'). Praktyczne zastosowanie tej funkcji jest kluczowe w kontekście aplikacji webowych, gdzie interakcja z bazą danych jest niezbędna. Na przykład, po nawiązaniu połączenia możemy wykonywać zapytania SQL, pobierać dane, a także dodawać nowe rekordy. Warto również dodać, że przed użyciem tej funkcji, powinniśmy zawsze sprawdzić, czy rozszerzenie MySQLi jest zainstalowane i aktywne, co jest zgodne z dobrymi praktykami programistycznymi.

Pytanie 31

Aby utworzyć relację wiele do wielu między tabelami A i B, wystarczy, że

A. zostanie zdefiniowana trzecia tabela z kluczami obcymi do tabel A i B
B. połączenie tabeli A z tabelą B nastąpi poprzez określenie kluczy obcych
C. wiele wpisów z tabeli A powtórzy się w tabeli B
D. tabela A będzie miała identyczne pola jak tabela B

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź, że należy zdefiniować trzecią tabelę z kluczami obcymi do tabel A i B, jest poprawna, ponieważ relacja wiele do wielu wymaga pośrednictwa trzeciej tabeli, często nazywanej tabelą asocjacyjną lub łączącą. W praktyce oznacza to, że każdy rekord w tabeli A może być powiązany z wieloma rekordami w tabeli B i vice versa. Tabela asocjacyjna zawiera co najmniej dwa pola kluczy obcych: jedno wskazujące na odpowiedni rekord w tabeli A i drugie na odpowiadający mu rekord w tabeli B. Na przykład, w systemie zarządzania kursami, tabela 'Studenci' i tabela 'Kursy' mogą być połączone poprzez tabelę 'Rejestracje', która przechowuje identyfikatory studentów i kursów, umożliwiając przypisanie wielu studentów do wielu kursów. To podejście jest zgodne z zasadami normalizacji baz danych, które mają na celu minimalizację redundancji i zapewnienie spójności danych. Dobrą praktyką jest również zapewnienie, że klucze obce w tabeli asocjacyjnej są odpowiednio indeksowane, co poprawia wydajność zapytań oraz umożliwia łatwe zarządzanie relacjami.

Pytanie 32

Rekordy do raportu mogą pochodzić z

A. tabeli
B. zapytania INSERT INTO
C. makropolecenia
D. innego raportu

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Tabela stanowi fundamentalne źródło danych w kontekście raportowania, ponieważ przechowuje zorganizowane informacje w formie wierszy i kolumn. W praktyce, raporty często opierają się na danych zgromadzonych w tabelach, które są częścią bazy danych. Dzięki strukturze tabeli, możliwe jest łatwe filtrowanie, sortowanie i agregowanie danych, co jest kluczowe w procesie tworzenia raportów. Na przykład, w systemach CRM, dane o klientach są przechowywane w tabeli, co pozwala na wygenerowanie raportów dotyczących sprzedaży, aktywności klientów czy trendów rynkowych. W kontekście standardów branżowych, stosowanie tabel w relacyjnych bazach danych jest nie tylko powszechne, ale również zgodne z najlepszymi praktykami, które zalecają utrzymywanie danych w znormalizowanej formie, aby minimalizować redundancję i ułatwiać zarządzanie danymi. Dodatkowo, w przypadku tworzenia raportów, można korzystać z języka SQL, aby dynamicznie wydobywać dane z tabel, co zwiększa elastyczność i precyzję raportowania.

Pytanie 33

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. aside {float: left; }
B. nav { float: left; } aside { float: left; }
C. nav { float: right; }
D. nav { float: right; } section { float: right; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie. W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie. Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 34

Jak można w języku CSS ustawić kolor czerwony dla tekstu?

A. text-color: rgb(255,0,0);
B. text-color: rgb(#FF0000);
C. color: rgb(#FF0000);
D. color: rgb(255,0,0);

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Dobra robota! Odpowiedź 'color: rgb(255,0,0);' jest na pewno trafna. Używasz tu poprawnej składni CSS do ustawiania koloru tekstu. Wartość 'rgb(255,0,0)' daje nam mocny, intensywny czerwony kolor, a składniki RGB, czyli czerwony, zielony i niebieski, są liczone od 0 do 255. To, co robi ta funkcja, jest zgodne z dobrymi praktykami w stylizacji stron, więc naprawdę dobrze to ogarnąłeś. Przykładowo, możesz to zastosować w praktyce w pliku CSS, pisząc coś takiego jak 'h1 { color: rgb(255,0,0); }', co zmieni kolor nagłówków na czerwony. Oczywiście są też inne sposoby na podawanie kolorów, jak HEX ('#FF0000') czy HSL, ale RGB jest bardzo uniwersalne i proste do zrozumienia. Ważne też, żeby zwracać uwagę na dostępność, bo kontrastowe kolory, jak czerwony na białym tle, mogą naprawdę poprawić czytelność tekstu. To istotny element, gdy projektujemy UX.

Pytanie 35

Aby umieścić aplikację PHP w sieci, należy przesłać jej pliki źródłowe na serwer przy użyciu protokołu

A. FTP
B. HTTP
C. SMTP
D. NNTP

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
FTP, czyli File Transfer Protocol, to świetny wybór! Umożliwia przesyłanie plików między komputerami w sieci, co jest naprawdę ważne, gdy wgrywamy aplikację PHP na serwer. Bez FTP nawet nie wyobrażam sobie, jak byśmy mieli to zrobić. Dzięki temu protokołowi można nie tylko przesyłać pliki, ale też nimi zarządzać, np. usuwać czy przenosić je do innych folderów. Fajne jest to, że istnieją różne programy klienckie do FTP, takie jak FileZilla, które bardzo ułatwiają tę pracę – można tam po prostu przeciągać pliki. No i nie zapominajmy o bezpieczeństwie! FTP można skonfigurować do pracy w trybie szyfrowanym (SFTP), co sprawia, że nasze dane są lepiej chronione. Z mojego doświadczenia, warto też przyjrzeć się uprawnieniom dostępu na serwerze, bo to kluczowe, żeby nikt niepowołany nie miał do nich dostępu.

Pytanie 36

W CSS należy ustawić tło dokumentu na obraz rys.png, który powinien się powtarzać tylko w poziomie. Którą definicję trzeba przypisać selektorowi body?

A. {background-image: url("rys.png"); background-repeat: round;}
B. {background-image: url("rys.png"); background-repeat: repeat-y;}
C. {background-image: url("rys.png"); background-repeat: repeat-x;}
D. {background-image: url("rys.png"); background-repeat: repeat;}

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybrana odpowiedź {background-image: url("rys.png"); background-repeat: repeat-x;} jest poprawna, ponieważ dokładnie definiuje sposób wyświetlania tła w dokumencie HTML. W języku CSS, właściwość background-image ustala źródło obrazu, który ma być użyty jako tło, a background-repeat kontroluje, jak ten obraz się powtarza. Ustawienie repeat-x sprawia, że obraz będzie powtarzany tylko w poziomie, co oznacza, że ​​będzie się ukazywał wielokrotnie od lewej do prawej, ale nie będzie powtarzany w pionie. Taki sposób wyświetlania tła jest przydatny w wielu kontekstach, na przykład w projektowaniu stron internetowych, gdzie chcemy uzyskać efekt pasów lub linii w poziomie, bez nadmiaru treści w pionie. Szereg dobrych praktyk w CSS wskazuje, że należy dbać o efektywność i estetykę, a odpowiednie powtarzanie tła może znacząco wpłynąć na wizualną atrakcyjność strony. Ponadto, użycie właściwego formatu URL i umiejętne stosowanie obrazów tła może poprawić doświadczenia użytkowników, podczas gdy nieodpowiednie podejście może prowadzić do problemów z wydajnością, szczególnie na urządzeniach mobilnych, gdzie ładowanie zbyt dużych lub nieoptymalnych obrazów może obniżyć responsywność strony.

Pytanie 37

Który z poniższych kodów HTML odpowiada opisanej tabeli? (W celu uproszczenia zrezygnowano z zapisu stylu obramowania tabeli oraz komórek)

Ilustracja do pytania
A. Odpowiedź A
B. Odpowiedź B
C. Odpowiedź C
D. Odpowiedź D

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź B jest prawidłowa, ponieważ wykorzystuje atrybut rowspan do połączenia dwóch wierszy w jednej kolumnie tabeli. HTML zapewnia atrybuty rowspan i colspan, które umożliwiają połączenie wielu komórek tabeli w jedną, co jest niezbędne w sytuacjach, gdy dane muszą być przedstawione w sposób bardziej przejrzysty i zwarty. W przedstawionej tabeli labelka Telefon jest wspólna dla dwóch numerów, co skutkuje koniecznością użycia rowspan=2 w komórce, która łączy dwa wiersze. Ta konstrukcja jest zgodna z dobrymi praktykami tworzenia semantycznie poprawnych i wizualnie uporządkowanych tabel w dokumentach HTML. Zastosowanie atrybutu rowspan może poprawić czytelność tabel, co jest szczególnie przydatne przy prezentacji złożonych danych w aplikacjach biznesowych czy raportach. Użycie tego podejścia pozwala na bardziej efektywne wykorzystanie przestrzeni w tabeli i jest zgodne ze standardami W3C, które promują semantykę i dostępność w sieci.

Pytanie 38

W formularzu HTML wykorzystano znacznik <input>. Wyświetlane pole będzie przeznaczone do wprowadzania maksymalnie

Ilustracja do pytania
A. 30 znaków, które nie są widoczne w polu tekstowym
B. 20 znaków, które nie są widoczne w polu tekstowym
C. 20 znaków, które są widoczne podczas wpisywania
D. 30 znaków, które są widoczne podczas wpisywania

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Podany znacznik <input> definiuje element formularza HTML typu password. Gdy używasz typu password, wprowadzone znaki są maskowane, zazwyczaj używając symboli takich jak kropki lub gwiazdki, co oznacza, że nie są widoczne podczas wprowadzania. Atrybut maxlength określa maksymalną liczbę znaków, które użytkownik może wprowadzić. W tym przypadku wartość maxlength równa 20 oznacza, że użytkownik może wprowadzić do 20 znaków, nawet jeśli więcej znaków można by zobaczyć w polu dzięki atrybutowi size. Rozdzielając te dwa aspekty, atrybut size określa jedynie widoczną szerokość pola, co w przypadku tego inputu wynosi 30, ale nie wpływa na ilość możliwych do wpisania znaków. Zastosowanie pola password jest powszechne w formularzach logowania, gdzie bezpieczeństwo wprowadzanych danych jest priorytetem. Użycie maxlength pozwala kontrolować długość hasła, co może być częścią strategii zabezpieczeń, eliminując zbyt długie lub zbyt krótkie hasła, które są łatwiejsze do złamania. Takie podejście jest zgodne z najlepszymi praktykami w zakresie bezpieczeństwa aplikacji webowych.

Pytanie 39

Jaką wartość przyjmie zmienna a po wykonaniu poniższej sekwencji komend w PHP?

$a = 1;
$a++;
$a += 10;
--$a;
A. 11
B. 10
C. 1
D. 12

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zmienna a początkowo jest ustawiona na wartość 1. Instrukcja $a++ to postinkrementacja co oznacza że pierwotna wartość zmiennej a jest użyta w bieżącym wyrażeniu a dopiero potem zwiększana. Po wykonaniu tej instrukcji a staje się 2. Następnie $a += 10 zwiększa wartość o 10 co daje nam 12. Ostatecznie instrukcja --$a to predekrementacja co oznacza że zmniejsza wartość przed użyciem w wyrażeniu. W efekcie końcowym a wynosi 11. W praktyce zrozumienie różnic między inkrementacją a dekrementacją jest kluczowe dla efektywnego kodowania zwłaszcza przy operacjach na licznikach w pętlach. Dobre praktyki w programowaniu zalecają świadome stosowanie post- i preinkrementacji oraz zrozumienie jak te operacje wpływają na logikę programu. Umiejętność przewidywania efektów tych operacji jest jedną z podstawowych kompetencji programistycznych która znacząco wpływa na jakość i niezawodność tworzonego oprogramowania. Warto także zwrócić uwagę na zachowanie tych operatorów w różnych językach programowania ponieważ mimo pewnych podobieństw zachowanie może się różnić

Pytanie 40

Który składnik języka HTML jest niezbędny, aby uniknąć błędu w walidacji HTML5?

A. przynajmniej jednego <h1>
B. <meta name="author" content="....">
C. <body>
D. prologu <!DOCTYPE html>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prolog <!DOCTYPE html> jest kluczowym elementem każdego dokumentu HTML5, który definiuje typ dokumentu i jego wersję. Jego obecność umożliwia przeglądarkom internetowym prawidłowe interpretowanie i renderowanie treści strony. Bez tego prologu przeglądarka nie ma informacji o tym, że strona powinna być interpretowana jako dokument HTML5, co może prowadzić do nieprzewidywalnych wyników w renderowaniu i działaniu strony. W praktyce, dodanie <!DOCTYPE html> na początku dokumentu HTML jest fundamentalnym krokiem, który powinien być zawsze przestrzegany. Standardy W3C jasno określają, że prolog jest niezbędny, aby zapewnić zgodność z HTML5 i uniknąć błędów walidacji. Na przykład, jeśli zapomnimy o tym elemencie, nasza strona może nie wyświetlać się poprawnie w różnych przeglądarkach, co z kolei wpłynie na doświadczenia użytkowników oraz pozycjonowanie strony w wyszukiwarkach. Dlatego każdy programista powinien traktować <!DOCTYPE html> jako nieodłączny element kodu HTML, zapewniając tym samym stabilność i spójność prezentowanej treści.