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

Egzamin zdany!

Wynik: 28/40 punktów (70,0%)

Wymagane minimum: 20 punktów (50%)

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

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

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

Pytanie 2

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

A. console.log()
B. console.error()
C. console.count()
D. console.warn()
Funkcja console.log() jest najczęściej używaną metodą do wyświetlania informacji w konsoli JavaScript. Umożliwia ona programistom monitorowanie wartości zmiennych w czasie rzeczywistym, co jest niezwykle pomocne podczas debugowania aplikacji. Używając console.log(), można łatwo wprowadzić komunikaty do konsoli, co pozwala na śledzenie zachowań aplikacji oraz identyfikację potencjalnych problemów. Przykładowo, jeśli mamy zmienną 'x' i chcemy zobaczyć jej wartość, wystarczy wpisać console.log(x). Dobre praktyki inżynierii oprogramowania sugerują, aby używać tego narzędzia do logowania istotnych informacji, w tym danych wejściowych oraz wyników operacji, co ułatwia późniejszą analizę i utrzymanie kodu. Ponadto, console.log() jest częścią standardu Web API, co potwierdza jego znaczenie i powszechność w branży. Warto też pamiętać, że nadmierne logowanie może prowadzić do zagracenia konsoli, dlatego kluczowe jest stosowanie tej funkcji w umiarkowany sposób, szczególnie w środowisku produkcyjnym.

Pytanie 3

Rozdzielczość obrazów cyfrowych wyświetlanych na ekranie monitora wyrażona w liczbie pikseli na cal określa jednostka

A. lpi
B. spi
C. ppi
D. dpi
W tym pytaniu bardzo łatwo się pomylić, bo skróty ppi, dpi, spi i lpi są do siebie podobne i wszystkie gdzieś tam krążą wokół pojęcia rozdzielczości. Kluczowa sprawa jest taka: pytanie dotyczy obrazów cyfrowych wyświetlanych na ekranie monitora i jest mowa o liczbie pikseli na cal. To od razu ustawia nas na właściwy tor, bo piksele są elementami obrazu na ekranie, a nie kroplami tuszu czy liniami rastra. W świecie wyświetlaczy stosuje się jednostkę ppi – pixels per inch. To ona określa gęstość pikseli matrycy i decyduje o tym, jak szczegółowy wydaje się obraz przy danej przekątnej ekranu. Typowy błąd polega na automatycznym wybieraniu dpi, bo wiele osób kojarzy to słowo z „rozdzielczością” ogólnie. Tymczasem dpi, czyli dots per inch, odnosi się przede wszystkim do druku: kropek tuszu naniesionych przez drukarkę na papier. Owszem, niektórzy producenci urządzeń myląco używają dpi również przy opisach ekranów, ale z punktu widzenia poprawnej terminologii i dobrych praktyk branżowych dpi to świat drukarek, a ppi – świat ekranów. Kolejny skrót, spi (samples per inch), pojawia się głównie przy skanerach. Określa, ile próbek na cal pobiera skaner z oryginalnego obrazu. To ma znaczenie przy digitalizacji zdjęć lub dokumentów, ale nie opisuje rozdzielczości wyświetlania na monitorze. Lpi, czyli lines per inch, związane jest z technikami druku rastrowego – określa gęstość linii rastra w procesie drukarskim, na przykład przy druku offsetowym. W grafice komputerowej i multimedialnej do zastosowań ekranowych, szczególnie w kontekście projektowania interfejsu, stron WWW czy aplikacji, trzymanie się rozróżnienia ppi dla ekranów i dpi dla druku jest dobrą praktyką. Z mojego doświadczenia wynika, że osoby, które od początku nauczą się tego rozdzielenia, później mają mniej problemów przy przygotowywaniu grafik zarówno do sieci, jak i do materiałów drukowanych.

Pytanie 4

Element

<meta charset="utf-8">
definiuje metadane dotyczące strony internetowej, odnosząc się do
A. kodowania znaków
B. języka witryny
C. opisu witryny
D. słów kluczowych
Ten element <meta charset="utf-8"> jest naprawdę ważny w nagłówku stron HTML, bo to on mówi przeglądarkom, jak odczytywać znaki w Twoim dokumencie. Dzięki temu tekst wyświetla się poprawnie na różnych urządzeniach. UTF-8 jest najbardziej popularnym kodowaniem, bo obsługuje niemal wszystkie znaki z różnych języków, co sprawia, że Twoja strona może być bardziej uniwersalna. Na przykład, jeśli masz tekst po polsku, to użycie UTF-8 upewnia się, że takie znaki jak ą czy ć będą prawidłowo pokazane. Właśnie dlatego warto stosować UTF-8, bo to, co zaleca W3C, jest bardzo sensowne - chodzi przecież o to, żeby strona była dostępna dla każdego, niezależnie od tego, z jakiego języka korzysta.

Pytanie 5

W celu zmiany struktury tabeli w systemie MySQL trzeba wykonać polecenie

A. INSERT INTO
B. UPDATE
C. GRANT
D. ALTER TABLE
Odpowiedź 'ALTER TABLE' to strzał w dziesiątkę, bo to właśnie to polecenie w MySQL pozwala na zmiany w strukturze tabeli w bazach danych. Gdy używamy 'ALTER TABLE', możemy dodawać nowe kolumny, usuwać te, które już nie są potrzebne, albo zmieniać typ danych w kolumnach. Przykładowo, jeśli chcemy dodać kolumnę 'wiek' do tabeli 'pracownicy', używamy: ALTER TABLE pracownicy ADD COLUMN wiek INT;. A żeby usunąć kolumnę 'adres', wystarczy: ALTER TABLE pracownicy DROP COLUMN adres;. Pamiętaj przy tym, żeby zawsze sprawdzić, czy te zmiany nie będą miały negatywnego wpływu na dane oraz czy mamy odpowiednie uprawnienia. Osobiście uważam, że warto robić kopie zapasowe przed większymi zmianami, bo to może uratować skórę, gdy coś pójdzie nie tak. Dobry sposób na to, by być pewnym siebie w pracy z bazami danych, to dobrze poznać 'ALTER TABLE' i jego możliwości.

Pytanie 6

W dokumencie HTML zdefiniowano listę oraz dodano do niej formatowanie CSS. Który z efektów odpowiada tej definicji?

<ul>
  <li>Foksterier
  <li>Bokser
  <li>Baset
</ul>
li::after {
  content: " - Pies";
  background-color: teal;
  color: white;
}
Efekt 1
  • Foksterier
  • Bokser
  • Baset
Efekt 2
  • Foksterier
  • Bokser
  • Baset
Efekt 3
  • Foksterier
  • Bokser
  • Baset
Efekt 4
  • Foksterier
  • Bokser
  • Baset
A. Efekt 3.
B. Efekt 4.
C. Efekt 2.
D. Efekt 1.
Gratulacje, wybrałeś poprawną odpowiedź, która jest 'Efekt 4'. W tym przypadku, dokument HTML został odpowiednio sformatowany za pomocą kodu CSS. Widzimy, że pseudoelement ::after został użyty do dodania tekstu '- Pies' za każdym elementem listy. Jest to często stosowana technika w CSS do dodawania dekoracji lub dodatkowych informacji do elementów na stronie. Dodatkowo, widzimy, że styl CSS definiuje kolor tła jako 'teal' i kolor tekstu jako 'white'. Jest to zgodne z zasadami dobrego projektowania stron internetowych, które sugerują, że kontrast między kolorem tekstu a tłem powinien być wystarczający, aby tekst był łatwo czytelny. Również dobrym podejściem jest utrzymanie spójności kolorów na stronie internetowej, co poprawia jej estetykę i profesjonalizm. W praktyce, umiejętność manipulacji elementami HTML za pomocą CSS jest kluczowa dla każdego front-end developera.

Pytanie 7

Jaką rolę pełni funkcja PHP o nazwie mysql_select_db()?

A. pobrać dane z bazy danych na podstawie zapytania
B. nawiązać połączenie bazy danych z serwerem SQL
C. określić bazę, z której będą pobierane dane
D. określić tabelę, z której będą pobierane informacje
Funkcja mysql_select_db() służy do określenia, która baza danych będzie używana w kontekście bieżącego połączenia z serwerem MySQL. W momencie, gdy nawiązuje się połączenie z serwerem za pomocą funkcji mysql_connect(), należy jasno zdefiniować, w której bazie danych będą wykonywane zapytania. Właściwe ustawienie aktualnej bazy danych jest kluczowe, ponieważ wszelkie operacje związane z pobieraniem lub modyfikowaniem danych będą odnosiły się tylko do tej wskazanej bazy. Przykładowo, jeżeli mamy bazę danych 'sklep' i chcemy pobrać dane o produktach, najpierw musimy wywołać mysql_select_db('sklep'). Dobrą praktyką jest również sprawdzenie, czy operacja wyboru bazy danych zakończyła się sukcesem, co można zrobić, sprawdzając zwracany wynik. Należy pamiętać, że funkcja mysql_select_db() jest częścią starzejącego się interfejsu MySQL, a w nowoczesnych aplikacjach rekomendowane są bardziej aktualne rozszerzenia, takie jak MySQLi lub PDO, które oferują lepsze możliwości obsługi błędów oraz bezpieczeństwo.

Pytanie 8

Jakie będą skutki wykonania podanego zapytania w tabeli?

ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;
A. zmiana wartości kolumny nazwa2 na DOUBLE
B. zmiana nazwy kolumny z nazwa1 na nazwa2
C. dodanie kolumny nazwa2 z wartością domyślną typu DOUBLE
D. dodanie kolumny nazwa2 typu zmiennoprzecinkowego
Pytanie dotyczy użycia polecenia SQL ALTER TABLE w celu modyfikacji struktury istniejącej tabeli. W przedstawionym zapytaniu ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL; widzimy, że użyto słowa kluczowego ADD co wskazuje na dodanie nowej kolumny do tabeli. Kolumna ta nazywa się nazwa2 i ma typ danych DOUBLE co oznacza, że będzie przechowywać wartości zmiennoprzecinkowe. Specyfikacja NOT NULL oznacza, że żadna wartość w tej kolumnie nie może być NULL co jest częstym wymogiem w bazach danych aby zapewnić spójność i prawidłowość danych. Dodawanie nowych kolumn do tabeli jest typową operacją w zarządzaniu bazami danych umożliwiającą rozbudowę ich struktury w celu spełnienia nowych wymagań biznesowych. Typ DOUBLE jest szczególnie użyteczny w przechowywaniu danych liczbowych wymagających dużej precyzji takich jak wartości finansowe czy pomiary naukowe. Ważne jest aby zawsze po dodaniu nowej kolumny dostosować aplikacje korzystające z bazy danych aby mogły poprawnie obsługiwać nowe dane co jest zgodne z najlepszymi praktykami w branży IT.

Pytanie 9

Na ilustracji przedstawiono kompozycję bloków strony www. Który z elementów formatowania strony odpowiada temu układowi? (Dla uproszczenia pominięto właściwości dotyczące koloru tła, wysokości oraz czcionki)

Ilustracja do pytania
A. Odpowiedź 1: A
B. Odpowiedź 2: B
C. Odpowiedź 4: D
D. Odpowiedź 3: C
Jeśli chodzi o inne odpowiedzi, to niestety mają spore błędy. W odpowiedzi A zastosowano clear:both dla drugiego bloku, co sprawia, że ten blok wyląduje poniżej pierwszego, a nie obok. To uniemożliwia uzyskanie układu wielokolumnowego, a to dość powszechny błąd, gdy korzysta się z float. Z kolei odpowiedź C całkowicie pomija użycie float, ustawiając tylko szerokość elementów. Bez float lub innego sposobu na układ w poziomie, elementy będą się ustawiać jeden pod drugim, co nie jest tym, czego byśmy chcieli. Odpowiedź D używa float dla bloku czwartego, co sprawia, że wyświetli się obok pierwszych bloków, zamiast pod nimi, co burzy strukturę strony. Takie błędne użycie CSS prowadzi do chaosu wizualnego i utrudnia nawigację użytkownikowi, a w perspektywie przyszłego zarządzania kodem HTML i CSS może być kłopotliwe. Dlatego warto zrozumieć, jak działają właściwości float i clear oraz ich interakcje w kontekście całego układu, co jest istotne w projektach, które chcą być przejrzyste i responsywne.

Pytanie 10

Kwalifikatory dostępu, takie jak private, protected oraz public, określają mechanizm

A. hermetyzacji
B. przeładowania
C. polimorfizmu
D. rekurencji
Kwalifikatory dostępu nie są jakoś związane z przeładowaniem, polimorfizmem czy rekurencją, bo te tematy to zupełnie inne rzeczy w programowaniu obiektowym. Przeładowanie to technika, która pozwala na kilka metod o tej samej nazwie, ale z różnymi parametrami. Polimorfizm z kolei to umiejętność obiektów do przyjmowania różnych form, co jest ważne przy dziedziczeniu i interfejsach. Rekurencja to, jak wiadomo, sytuacja, gdy funkcja wywołuje samą siebie, co jest przydatne do rozwiązywania problemów, które można podzielić na mniejsze zadania. Często myli się te koncepcje z kwalifikatorami dostępu, bo niektórzy programiści myślą, że hermetyzacja to tylko ograniczanie dostępu, a tak naprawdę chodzi głównie o zabezpieczenie danych. Musisz zrozumieć te różnice, by tworzyć naprawdę dobre i bezpieczne aplikacje, które łatwo można rozwijać.

Pytanie 11

Klucz obcy w tabeli jest ustanawiany w celu

A. wiązać go z innymi kluczami obcymi w tabeli
B. zapewnić jednoznaczną identyfikację rekordu w tabeli
C. opracować formularz do wprowadzania danych do tabeli
D. określić relację 1..n powiązującą go z kluczem głównym innej tabeli
Klucz obcy jest często mylony z innymi elementami bazy danych, co prowadzi do nieprawidłowych wniosków na temat jego funkcji. Nie jest to mechanizm do łączenia go z innymi kluczami obcymi tabeli, co sugeruje pierwsza odpowiedź. Zamiast tego, klucz obcy ma na celu ustanowienie relacji między tabelami, co jest znacząco różne. Proces tworzenia formularzy do wprowadzania danych również nie jest bezpośrednio związany z funkcją klucza obcego. Formularze są narzędziem interfejsu użytkownika, które pozwala na wprowadzanie danych, ale nie wpływają na relacje między danymi w bazie. Ponadto, chociaż klucz obcy może wspierać identyfikację rekordu, jego główną rolą nie jest jednoznaczne wskazywanie na rekord w obrębie tej samej tabeli, lecz raczej wskazywanie na rekord w innej tabeli. Tego rodzaju nieporozumienia wynikają z braku zrozumienia zasad modelowania danych oraz relacji 1..1 i 1..n, co jest podstawą projektowania baz danych. Klucz obcy jest kluczowym elementem w relacyjnych bazach danych, a jego prawidłowe zrozumienie jest niezbędne do efektywnego korzystania z systemów zarządzania danymi.

Pytanie 12

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

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

Pytanie 13

Podaj polecenie SQL, które pozwoli na dodanie kolumny miesiacSiewu do tabeli rośliny znajdującej się w bazie danych

A. INSERT INTO rośliny VALUES (miesiacSiewu int);
B. ALTER TABLE rośliny ADD miesiacSiewu int;
C. UPDATE rośliny ADD miesiacSiewu int;
D. CREATE TABLE rośliny {miesiacSiewu int};
Odpowiedź 'ALTER TABLE rośliny ADD miesiacSiewu int;' jest jak najbardziej na miejscu. Używasz tutaj komendy SQL 'ALTER TABLE', co jest standardem, jeśli chcesz coś zmienić w już istniejącej tabeli. W tym przypadku dodajesz nowe pole 'miesiacSiewu' w formacie 'int' do tabeli 'rośliny'. Fajnie, bo dodawanie kolumn w relacyjnych bazach danych to chleb powszedni, zwłaszcza gdy musisz dodać nowe informacje. Na przykład, jak chcesz wiedzieć, kiedy siać rośliny, to zrobienie tego przy pomocy tej komendy pozwoli Ci trzymać te dane blisko innych szczegółów roślin. Warto też pamiętać, żeby nowe kolumny były dobrze indeksowane lub miały jakieś wartości domyślne, bo to może przyspieszyć zapytania do bazy. Tego typu operacje są naprawdę ważne w zarządzaniu bazami danych, bo dają Ci elastyczność, żeby dostosować strukturę bazy do potrzeb Twojej aplikacji.

Pytanie 14

W języku PHP zapisano fragment kodu działającego na bazie MySQL. Jego zadaniem jest wypisanie

$z = mysqli_query($db, "SELECT ulica, miasto, kod_pocztowy FROM adresy");
$a = mysqli_fetch_row($z);
echo "$a[1], $a[2]";
A. miasta i kodu pocztowego ze wszystkich zwróconych rekordów.
B. ulicy i miasta z pierwszego zwróconego rekordu.
C. ulicy i miasta ze wszystkich zwróconych rekordów.
D. miasta i kodu pocztowego z pierwszego zwróconego rekordu.
Niestety, wybrałeś niepoprawną odpowiedź. W twoim fragmencie kodu PHP, wykonujesz zapytanie SQL, które wybiera kolumny 'ulica', 'miasto', 'kod pocztowy' z tabeli 'adresy'. Następnie używasz funkcji mysqli_fetch_row(), która pobiera pierwszy zwrócony rekord jako indeksowaną tablicę. Funkcja echo wyświetla drugi i trzeci element tej tablicy (indeksy 1 i 2), które odpowiadają kolumnom 'miasto' i 'kod pocztowy'. Niepoprawne odpowiedzi sugerują, że twój kod wypisze 'ulicę i miasto' lub 'miasto i kod pocztowy' ze wszystkich zwróconych rekordów, co jest nieprawdą. Niezrozumienie, jak funkcje PHP działają z MySQL i jaki jest ich wynik, może prowadzić do poważnych błędów w kodzie. Wskazane jest dokładne zrozumienie, jakie dane są zwracane przez SQL i jak je przetwarzać w PHP.

Pytanie 15

Aby zapewnić integralność danych w bazie programu Microsoft Access, należy zastosować

A. archiwizację bazy
B. kwerendę aktualizującą
C. defragmentację bazy
D. więzy integralności
Wybór więzów integralności jako metody zapewnienia spójności danych w programie Microsoft Access jest właściwy, ponieważ więzy te definiują zasady, które muszą być spełnione w bazie danych, aby utrzymać spójność i poprawność danych. Przykładowo, można ustawić więzy integralności, które zapobiegają wprowadzeniu duplikatów w kluczowych polach, takich jak identyfikator klienta, co jest kluczowe dla unikania konflikty i błędów w analityce danych. Więzy integralności mogą obejmować takie elementy jak klucze główne, klucze obce oraz unikalne ograniczenia, które pomagają w zachowaniu logiki relacyjnej w bazie danych. Dobrą praktyką jest regularne przeglądanie i aktualizowanie więzów integralności, aby zapewnić ich adekwatność do zmieniających się potrzeb danych. Ponadto, w sytuacjach, gdy dane są wprowadzane przez wiele źródeł, więzy integralności stają się kluczowym narzędziem w zarządzaniu jakością i spójnością danych, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi.

Pytanie 16

Która z definicji funkcji w języku C++ przyjmuje parametr typu zmiennoprzecinkowego i zwraca wartość typu całkowitego?

A. float fun1(void a)
B. void fun1(int a)
C. float fun1(int a)
D. int fun1(float a)
Każda z błędnych odpowiedzi ilustruje typowe nieporozumienia związane z deklaracją funkcji w języku C++. Odpowiedź 'void fun1(int a);' nie spełnia wymogów, ponieważ zwraca typ 'void', co oznacza, że funkcja nie zwraca żadnej wartości. To podejście jest właściwe, gdy chcemy wykonać operacje, które nie wymagają zwracania wyniku, ale nie odpowiada na pytanie dotyczące zwracania wartości całkowitej. W przypadku 'float fun1(int a);', chociaż funkcja poprawnie przyjmuje argument całkowity, zwraca typ 'float', co jest sprzeczne z wymaganiem zwrotu wartości całkowitej. Kolejna odpowiedź 'float fun1(void a);' zawiera syntaktyczny błąd, ponieważ typ 'void' nie może być użyty jako typ parametru, co prowadzi do błędów kompilacji. W języku C++ każdy parametr musi mieć określony typ, a użycie 'void' jako typu parametru jest niepoprawne. Te nieprawidłowe odpowiedzi wskazują na brak zrozumienia podstawowych zasad typowania w C++, co jest kluczowe w kontekście projektowania funkcji. Istotne jest, aby przy tworzeniu funkcji dobrze zrozumieć, jakie typy danych są akceptowane i jakie wartości są oczekiwane jako wynik, aby uniknąć błędów w logice programu oraz poprawić jego wydajność i czytelność.

Pytanie 17

W języku JavaScript funkcja getElementById odnosi się do

A. elementu HTML z określoną nazwą klasy
B. zmiennej numerycznej
C. elementu HTML z podanym id
D. klasy zdefiniowanej w CSS
Metoda getElementById w języku JavaScript jest kluczowym narzędziem do manipulacji DOM (Document Object Model), które pozwala deweloperom na łatwe odwoływanie się do konkretnych elementów HTML za pomocą ich atrybutu id. Dzięki temu, możemy dynamicznie zmieniać treść, style lub atrybuty tych elementów, co jest niezwykle przydatne w tworzeniu interaktywnych stron internetowych. Na przykład, jeśli mamy element HTML z atrybutem id='header', możemy użyć `document.getElementById('header')` do uzyskania do niego dostępu. To podejście jest zgodne z zasadami poprawnej struktury HTML, gdzie atrybut id powinien być unikalny w obrębie dokumentu. Rekomendowane jest, aby id było zrozumiałe i jasno określało zawartość elementu, co ułatwia późniejszą nawigację i skrypty, a także poprawia dostępność strony. W praktyce, korzystając z getElementById, możemy na przykład zmieniać tekst nagłówka: `document.getElementById('header').innerText = 'Nowy nagłówek';`.

Pytanie 18

Dla dowolnego a w zakresie (0,99), celem funkcji napisanej w JavaScript jest:

function fun1(a)
{
    for(n=a; n<=100; n++)
        document.write(n);
    return n;
}
A. zwrócenie wartości z zakresu a..99
B. wypisanie wartości zmiennej a oraz zwrócenie wartości zmiennej n
C. wypisanie wartości z zakresu a..99 i zwrócenie liczby 100
D. wypisanie wartości z zakresu a...100 i zwrócenie wartości zmiennej n
Odpowiedź numer trzy jest poprawna ponieważ kod funkcji w języku JavaScript zawiera pętlę for która iteruje od wartości a aż do 100 włącznie. W każdym przebiegu pętli wywoływana jest metoda document.write która wypisuje na ekranie bieżącą wartość zmiennej n. Ponieważ pętla kończy się na 100, ostatnia wartość która zostanie wypisana to 100. Dodatkowo zauważmy że po zakończeniu pętli funkcja zwraca wartość zmiennej n, która po zakończeniu pętli będzie równa 101. Jest to typowy wzorzec używany w JavaScript gdzie pętla jest wykorzystywana do iteracji po zbiorze wartości a po jej zakończeniu zwracana jest ostatnia wartość zmiennej sterującej. Praktyczne zastosowanie tej wiedzy obejmuje rozumienie podstawowych mechanizmów iteracji w JavaScript co jest kluczowe w programowaniu. Dobre praktyki wskazują na wyraźne rozdzielenie logiki wyświetlania od logiki zwracania wartości co ułatwia testowanie i utrzymanie kodu. Zwracanie wartości po pętli może być używane w sytuacjach gdy chcemy uzyskać informację o stanie końcowym iteracji co jest częstym scenariuszem w obliczeniach arytmetycznych lub przetwarzaniu danych.

Pytanie 19

Aby grupować sekcje na poziomie bloków, które będą stilizowane za pomocą znaczników, jakiego należy użyć?

A. <span>
B. <p>
C. <div>
D. <param>
Znak <div> jest jednym z podstawowych elementów HTML, który służy do grupowania i organizowania zawartości w dokumentach HTML. Umożliwia on stosowanie stylów CSS oraz skryptów JavaScript na grupach elementów, co czyni go niezwykle użytecznym w budowie responsywnych i złożonych układów stron. W przeciwieństwie do znaku <p>, który zarezerwowany jest dla akapitów tekstu, lub <span>, który jest używany do izolowania niewielkich fragmentów tekstu w ramach większego kontekstu, <div> działa jako kontener wypełniający swoje otoczenie. Ponadto, <div> jest znacznikiem blokowym, co oznacza, że zajmuje całą szerokość dostępnego miejsca w swoim rodzicu, co jest kluczowe w projektowaniu układów. W praktyce może być używany do tworzenia sekcji strony, nagłówków, stopki czy artykułów, co pozwala na lepszą organizację kodu i stylów. W kontekście standardów, <div> jest częścią W3C HTML5, co zapewnia jego szeroką akceptację i zgodność z przeglądarkami. Użycie <div> do grupowania obszarów na poziomie bloków jest zatem najlepszą praktyką w nowoczesnym web designie.

Pytanie 20

W języku JavaScript zapisano poniższy fragment kodu. `````` Po uruchomieniu skryptu zmienna x

A. będzie miała wartość 10 i zostanie pokazana w dokumencie HTML
B. będzie miała wartość 10 i zostanie wyświetlona w głównym oknie przeglądarki internetowej
C. będzie miała wartość 11 i zostanie wyświetlona w konsoli przeglądarki internetowej
D. będzie miała wartość 11 i zostanie wyświetlona w oknie popup
W analizowanym fragmencie kodu JavaScript mamy do czynienia z prostą operacją inkrementacji zmiennej x, która początkowo wynosi 10. Operator ++ zwiększa wartość zmiennej o 1, co skutkuje wartością 11. Wartością, która zostanie wyświetlona, jest wartość zmiennej x, która po inkrementacji wynosi 11. Jednak ważnym aspektem jest to, że w kodzie jest błąd składniowy w wywołaniu funkcji console.log. Poprawna składnia powinna wyglądać tak: console.log(x); zamiast console.logx);. W obecnej formie kodu, mimo inkrementacji zmiennej x do wartości 11, pojawi się błąd wykonania, a wartość nie zostanie wypisana. Gdyby błąd został naprawiony, wynik 11 zostałby wyświetlony w konsoli przeglądarki, co jest standardowym miejscem do monitorowania wyjścia w aplikacjach JavaScript. To zachowanie jest zgodne ze specyfikacjami ECMAScript, które definiują zasady działania operatorów oraz metod konsoli.

Pytanie 21

W programowaniu obiektowym proces, dzięki któremu klasa podrzędna może wykorzystywać metody z klasy nadrzędnej, określa się mianem

A. dziedziczeniem
B. wirtualizacją
C. polimorfizmem
D. hermetyzacją
Dziedziczenie to fundamentalny mechanizm w programowaniu obiektowym, który pozwala na tworzenie hierarchii klas. Klasa pochodna dziedziczy pola i metody klasy bazowej, co prowadzi do ponownego wykorzystania kodu i uproszczenia procesu programowania. Przykładowo, jeśli mamy klasę bazową 'Pojazd', która definiuje metody takie jak 'uruchom()' oraz 'zatrzymaj()', klasa pochodna 'Samochód' może dziedziczyć te metody bez konieczności ich ponownego definiowania. Ponadto, dziedziczenie wspiera zasadę OOP zwaną DRY (Don't Repeat Yourself), co jest istotne w kontekście utrzymania i rozwoju oprogramowania. W praktyce, możemy również nadpisywać metody klasy bazowej w klasie pochodnej, co pozwala na dostosowanie ich działania do specyficznych potrzeb. Dobrą praktyką jest stosowanie dziedziczenia w sposób przemyślany, aby uniknąć zbyt głębokich hierarchii klas, które mogą prowadzić do skomplikowanego zarządzania kodem. Warto również pamiętać o zasadzie Liskov Substitution, która mówi, że obiekty klasy pochodnej powinny być wymienialne z obiektami klasy bazowej.

Pytanie 22

Jakie jest zadanie funkcji PHP o nazwie mysql_select_db?

A. wyznaczyć bazę, z której będą pobierane informacje
B. pobrać dane z bazy danych na podstawie zapytania
C. wyznaczyć tabelę, z której będą pobierane informacje
D. nawiązać połączenie bazy danych z serwerem SQL
Funkcja PHP mysql_select_db() jest używana do wyboru aktywnej bazy danych w kontekście połączenia z serwerem MySQL. Jej głównym celem jest określenie, z której bazy danych będą pobierane dane podczas wykonywania zapytań SQL. Działa to w ten sposób, że po nawiązaniu połączenia z serwerem MySQL za pomocą funkcji mysql_connect(), musimy wskazać, którą bazę danych chcemy używać. Przykład użycia to: mysql_select_db('nazwa_bazy');. Jeśli baza danych o podanej nazwie istnieje, zostaje ustawiona jako aktywna i wszystkie subsequentne zapytania będą odnosiły się do tej bazy. Warto również zauważyć, że w nowszych wersjach PHP zaleca się korzystanie z rozszerzenia mysqli lub PDO, ponieważ mysql_select_db() oraz inne funkcje z rodziny mysql zostały usunięte w PHP 7. Standardy dotyczące korzystania z baz danych, takie jak SQL, wymagają, aby przed wykonaniem zapytania, zdefiniować bazę danych, co czyni mysql_select_db() kluczowym elementem zarządzania danymi.

Pytanie 23

W poniższym kodzie CSS zdefiniowano cztery klasy formatowania, które następnie zostały użyte do formatowania paragrafów. Efekt widoczny na rysunku powstał po zastosowaniu klasy o nazwie:

.format1 {    text-decoration: overline;     }
.format2 {    text-decoration: line-through; }
.format3 {    text-decoration: underline;    }
.format4 {    text-decoration: none;         }
formatowanie
A. format3
B. format2
C. format4
D. format1
Odpowiedź z klasy format2 jest trafna, bo definiuje styl text-decoration line-through, który służy do przekreślenia tekstu. W CSS ta właściwość jest mega przydatna, bo pozwala zmieniać wygląd tekstu, dodając różne linie, takie jak podkreślenie czy nadkreślenie. Przekreślenie stosuje się często, żeby pokazać, że coś zostało usunięte lub jest już nieaktualne. Na przykład w sklepach online, gdzie można oznaczyć przecenione ceny. Według standardów CSS, warto stawiać na prostotę i czytelność definicji stylów, bo to ułatwia później zrozumienie kodu dla innych programistów. Takie podejście jest zgodne z dobrymi praktykami kodowania, które mówią, że kod powinien być łatwy do zrozumienia. A co ważne, jeśli chodzi o dostępność, to przekreślony tekst jest znany narzędziom wspierającym, jak czytniki ekranowe, co zwiększa dostępność treści dla osób z niepełnosprawnościami.

Pytanie 24

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 25

W kodzie HTML atrybut alt w tagu img służy do określenia

A. opisu, który pojawi się pod obrazem
B. atrybutów obrazu, takich jak rozmiar, ramka, wyrównanie
C. tekstu, który będzie prezentowany, gdy obraz nie może być załadowany
D. ścieżki oraz nazwy pliku źródłowego
Atrybut alt w znaczniku img w HTML to naprawdę ważny element, jeśli chodzi o dostępność stron www. Jego głównym zadaniem jest pomóc osobom z problemami ze wzrokiem zrozumieć, co widnieje na obrazku. Jeśli nie da się wyświetlić grafiki – na przykład przez zły internet czy błąd w ścieżce do pliku – tekst w atrybucie alt pokazuje się jako alternatywa. Na przykład <img src='example.jpg' alt='Zachód słońca nad morzem'>, co by ułatwiło osobom korzystającym z czytników ekranu zrozumienie treści. Warto też pamiętać, że ten atrybut ma znaczenie dla SEO, bo wyszukiwarki mogą go wykorzystać do lepszego zrozumienia zawartości strony, co wpływa na jej indeksowanie. Ogólnie rzecz biorąc, używanie odpowiednich atrybutów alt to dobra praktyka w budowaniu stron www.

Pytanie 26

Jakiego typu mechanizm zabezpieczeń aplikacji jest zawarty w środowisku uruchomieniowym platformy .NET Framework?

A. Mechanizm uruchamiania aplikacji oparty na uprawnieniach kodu (CAS - Code Access Security) i na rolach (RBS - Role-Based Security)
B. Mechanizm uruchamiania aplikacji realizowany przez funkcję Windows API (Application Programming Interface)
C. Mechanizm uruchamiania aplikacji dla bibliotek klas
D. Mechanizm uruchamiania aplikacji zrealizowany przez frameworki aplikacji webowych (ASP.NET)
Odpowiedzi sugerujące, że mechanizmy bezpieczeństwa w .NET Framework są realizowane przez bibliotekę klas, frameworki aplikacji internetowych (ASP.NET) oraz przez funkcje Windows API, są niepoprawne. Mechanizm wykonywania aplikacji dla bibliotek klas nie jest samodzielnym systemem kontroli bezpieczeństwa; oferują one zestaw funkcji i klas, które mogą być używane do rozwoju, ale nie zawierają w sobie wbudowanych zabezpieczeń. Również frameworki aplikacji internetowych, takie jak ASP.NET, wykorzystują różne techniki i standardy do zapewnienia bezpieczeństwa, ale same w sobie nie stanowią całościowego mechanizmu kontroli dostępu. Funkcje Windows API (Application Programming Interface) dostarczają niskopoziomowe interfejsy do interakcji z systemem operacyjnym, jednak ich rola w kontekście bezpieczeństwa aplikacji .NET jest ograniczona i nie odpowiada za zarządzanie uprawnieniami kodu. W rzeczywistości CAS i RBS są odpowiedzialne za zarządzanie dostępem do zasobów w .NET Framework, co czyni te mechanizmy kluczowymi dla zapewnienia bezpieczeństwa, podczas gdy pozostałe wymienione mechanizmy są bardziej złożonymi elementami większej architektury aplikacji i same w sobie nie oferują pełnej funkcjonalności ochrony przed nieautoryzowanym dostępem.

Pytanie 27

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

A. nav { float: right; } section { float: right; }
B. nav { float: right; }
C. aside {float: left; }
D. nav { float: left; } aside { float: left; }
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa float, a nie tylko samo skojarzenie, że „left to lewo, right to prawo”. Wiele osób myśli, że wystarczy ustawić jeden element na lewo, drugi na prawo i wszystko magicznie się poukłada. W praktyce przeglądarka trzyma się bardzo konkretnych reguł: najpierw liczy kolejność elementów w HTML, potem dopiero stosuje float i układa je możliwie jak najwyżej i jak najbliżej odpowiedniej krawędzi. Jeśli nada się float tylko dla aside albo tylko dla nav, to zmienia się ich pozycja, ale układ trzech bloków nie spełni warunku z zadania: aside i nav nie zamienią się miejscami z pozostawieniem section w środku. Przykładowo, samo float: left na aside niczego nie „zamieni”, bo element i tak pojawia się jako pierwszy w kodzie, więc będzie u góry, tylko że „przyklejony” do lewej. Z kolei ustawienie nav na prawą stronę bez odpowiedniego floatowania section prowadzi do sytuacji, gdzie section nadal zachowuje się jak normalny blok, zwykle ląduje pod elementami pływającymi albo obok nich w sposób mało przewidywalny dla początkującego. Częsty błąd myślowy polega też na tym, że ktoś próbuje wszystkim elementom dać float: left, licząc na to, że przeglądarka „ułoży je po swojemu”. Wtedy jednak wszystkie te bloki ustawiają się w jednym kierunku, w kolejności z HTML, więc nie ma mowy o świadomym „zamienianiu miejsc”. Brak zrozumienia, że float wyjmuje element z normalnego przepływu i wpływa na to, jak kolejne elementy zawijają się wokół niego, prowadzi właśnie do takich błędnych odpowiedzi. Z mojego doświadczenia lepiej jest najpierw narysować sobie prosty schemat: w jakiej kolejności idą znaczniki i które z nich mają pływać w prawo, a które zostać w naturalnym układzie. Dopiero wtedy dobiera się konkretne deklaracje CSS. Takie myślenie przydaje się nie tylko przy float, ale też przy nauce flexboxa czy grida, gdzie kolejność w DOM i własności układu też grają ogromną rolę.

Pytanie 28

Jak określa się program, który wykonuje polecenia zawarte w kodzie źródłowym tworzonego oprogramowania bez wcześniejszego generowania rezultatu finalnego?

A. Konwerter kodu
B. Konwerter języka
C. Kompilator
D. Interpreter
Interpreter to taki program, który od razu wykonuje to, co ma w kodzie, bez czekania na jakieś pliki wynikowe. Działa tak, że analizuje kod linijka po linijce, dzięki czemu można natychmiast uruchamiać programy i testować różne kawałki kodu. Na przykład, Python, Ruby czy JavaScript to popularne interpretery, które fajnie sprawdzają się przy szybkim prototypowaniu czy poprawianiu błędów. Myślę, że to bardzo wygodne, bo możemy szybko wprowadzać zmiany, co jest super ważne, gdy pracujemy nad projektami, które wymagają ciągłych poprawek. W branży, zwłaszcza w DevOps i Continuous Integration, szybkie sprawdzanie kodu to bardzo istotna sprawa. Dobrą praktyką jest też korzystanie z interaktywnych środowisk, co naprawdę bardzo ułatwia naukę programowania.

Pytanie 29

W przedstawionym diagramie bazy danych biblioteka, elementy: czytelnik, wypozyczenie i ksiazka są

Ilustracja do pytania
A. krotkami.
B. atrybutami.
C. encjami.
D. polami.
W tym zadaniu kluczowe jest zrozumienie, jak na diagramie bazy danych odróżnić encje od pozostałych elementów modelu. Nazwy „czytelnik”, „wypozyczenie” i „ksiazka” to nie są pojedyncze dane, tylko typy obiektów, o których przechowujemy informacje. W relacyjnych bazach danych i w klasycznym modelu ER przyjmuje się, że takie prostokąty z nazwą u góry reprezentują encje, czyli odpowiedniki tabel. To jest punkt wyjścia do dalszego projektowania: określamy encje, ich atrybuty i relacje między nimi. Częsty błąd polega na myleniu encji z atrybutami. Atrybuty to cechy encji, czyli kolumny w tabeli, np. imie, nazwisko, tytul, autor, datawypozyczenia. One opisują konkretną encję, ale same w sobie nie są odrębnymi obiektami w modelu. Gdybyśmy uznali „czytelnik” albo „ksiazka” za atrybut, całkowicie zgubilibyśmy strukturę relacji i nie moglibyśmy poprawnie odwzorować zależności typu jeden-do-wielu czy wiele-do-wielu, które są standardem w dobrze zaprojektowanych bazach. Pojawia się też zamieszanie wokół krotek. Krotka (rekord, wiersz) to jedno konkretne wystąpienie encji, np. jeden konkretny czytelnik albo jedna konkretna książka w tabeli. Na diagramie logicznym nie pokazuje się pojedynczych krotek, tylko ogólny typ obiektu. Dlatego nazwy tabel nie mogą być krotkami – one reprezentują zbiór wszystkich możliwych rekordów danego typu. Z kolei pola to potoczna nazwa kolumn, a więc znowu mówimy o atrybutach, a nie o tabelach. Wiele osób używa słów „pola” i „atrybuty” zamiennie, co jest w miarę akceptowalne w luźnej rozmowie, ale w analizie modelu danych warto być precyzyjnym, bo inaczej łatwo pomylić poziom abstrakcji. Trzymając się dobrych praktyk projektowania relacyjnych baz danych, prostokąty z nazwami „czytelnik”, „wypozyczenie” i „ksiazka” interpretujemy jednoznacznie jako encje.

Pytanie 30

Ogólne tablice służące do przechowywania informacji o ciasteczkach oraz sesjach: $_COOKIE oraz $_SESSION są elementem języka

A. JavaScript
B. C#
C. PHP
D. Perl
Odpowiedź PHP jest poprawna, ponieważ $_COOKIE i $_SESSION to superglobalne tablice, które są integralną częścią języka PHP. Umożliwiają one przechowywanie i zarządzanie danymi sesji oraz informacjami o ciasteczkach. $_COOKIE służy do odczytywania i zapisywania danych, które są przechowywane w urządzeniu użytkownika w postaci ciasteczek. Z kolei $_SESSION pozwala na przechowywanie danych sesyjnych na serwerze, co jest kluczowe dla utrzymania stanu użytkownika podczas przeglądania strony. Dzięki temu, programiści mogą tworzyć aplikacje webowe, które identyfikują użytkowników, zachowują ich preferencje oraz dane logowania, co poprawia doświadczenia użytkownika. Praktycznym zastosowaniem tych tablic jest na przykład realizacja systemów logowania, gdzie dane o użytkownikach są przechowywane w sesji, a ciasteczka mogą być używane do zapamiętywania ich preferencji na przyszłość. Często stosowanym standardem w branży jest dbanie o bezpieczeństwo danych sesyjnych, co można osiągnąć poprzez odpowiednie zarządzanie czasem życia sesji oraz używanie bezpiecznych ciasteczek.

Pytanie 31

Najłatwiejszym sposobem na zmianę obiektu z numerem 1 na obiekt z numerem 2 jest

Ilustracja do pytania
A. animacja obiektu
B. narysowanie obiektu docelowego
C. zmiana warstwy obiektu
D. geometriczne przekształcenie obiektu
Geometryczne transformowanie obiektu to proces, który pozwala na zmiany w wielkości, kształcie, pozycji lub orientacji obiektu bez modyfikacji jego struktury. W przypadku zamiany obiektu oznaczonego cyfrą 1 na obiekt oznaczony cyfrą 2, transformacja geometryczna, jak skalowanie, jest najprostszą metodą. Skalowanie pozwala na proporcjonalne powiększenie obiektu, co jest niezbędne, gdy chcemy zwiększyć jego rozmiar bez zniekształceń. W praktyce, narzędzia do obróbki grafiki czy modelowania 3D, takie jak Adobe Illustrator czy AutoCAD, oferują funkcje do precyzyjnego skalowania. Kluczowe jest zachowanie proporcji, co można osiągnąć poprzez skalowanie względem określonego punktu odniesienia. Transformacje geometryczne są fundamentalne w wielu dziedzinach, takich jak projektowanie graficzne, inżynieria czy animacja komputerowa, i są zgodne z najlepszymi praktykami, które promują efektywność i precyzję w pracy z obiektami wizualnymi.

Pytanie 32

W CSS wartości takie jak: underline, overline, line-through oraz blink odnoszą się do właściwości

A. font-style
B. text-decoration
C. text-align
D. font-decoration
Właściwość CSS 'text-decoration' jest używana do określenia dekoracji tekstu. Do jej wartości zaliczają się między innymi: 'underline' (podkreślenie), 'overline' (nadpisanie), 'line-through' (przekreślenie) oraz 'blink' (miganie), chociaż ostatnia z nich jest obecnie rzadko używana z powodu problemów z dostępnością i wsparciem w nowoczesnych przeglądarkach. W praktyce, użycie 'text-decoration' pozwala na poprawę czytelności tekstu oraz jego wyróżnienie w kontekście estetyki strony internetowej. Na przykład, stosując 'text-decoration: underline;' możemy podkreślić linki, co jest powszechną praktyką w projektowaniu stron. Zgodnie z wytycznymi W3C, stosowanie dekoracji tekstu powinno być przemyślane, aby nie wprowadzać zamieszania w interpretacji treści przez użytkowników. Przykładowo, nadpisanie może być użyte w kontekście wskazywania błędów, co wprowadza dodatkowe znaczenie do przekazu. Zrozumienie i umiejętne stosowanie 'text-decoration' jest kluczowe dla tworzenia profesjonalnych i funkcjonalnych interfejsów użytkownika.

Pytanie 33

Która z komend w języku JavaScript pozwala na zmianę koloru tekstu na niebieski w akapicie określonym w pliku HTML?

A. document.getElementById("jeden").background-color = "blue";
B. document.getElementById("jeden").style.color = "blue";
C. document.getElementById("jeden").color = "blue";
D. document.getElementById("jeden").style.background-color = "blue";
Twoja odpowiedź document.getElementById("jeden").style.color = "blue" jest jak najbardziej trafna. Tu wykorzystujesz metodę document.getElementById, co pozwala na dotarcie do konkretnego elementu HTML, który ma identyfikator "jeden". To akurat odnosi się do tego akapitu <p id="jeden">. Później, używając właściwości style.color, zmieniasz kolor tekstu tego elementu na niebieski. To całkiem standardowy sposób, żeby dynamicznie zmieniać style CSS za pomocą JavaScript. W interaktywnych aplikacjach internetowych tak się często robi, bo zmiany kolorów na stronie są potrzebne, kiedy użytkownik klika w różne rzeczy. Na przykład, w takich aplikacjach zmiany kolorów elementów w odpowiedzi na działania użytkowników są mega ważne. Właściwie, korzystanie z metod DOM (Document Object Model) w taki sposób jest kluczowe dla tworzenia interaktywnych i responsywnych interfejsów, co jest bardzo istotne przy budowaniu stron internetowych.

Pytanie 34

Wskaź złożony typ danych.

A. class
B. bool
C. char
D. float
Złożone typy w programowaniu to takie struktury, które mogą mieć wiele wartości albo różne rodzaje danych. W językach takich jak C++ czy Java, typ 'class' jest super ważny, bo dzięki niemu możemy tworzyć obiekty. Klasa działa jak szablon do tworzenia obiektów, gdzie możesz mieć różne dane (pola) i funkcje (metody), które z tymi danymi coś robią. Na przykład klasa 'Samochód' mogłaby mieć pola, takie jak 'marka' i 'model', a także metody jak 'przyspiesz()' lub 'hamuj()'. W programowaniu obiektowym mamy różne zasady, jak enkapsulacja czy dziedziczenie. Definiowanie klas pozwala na lepszą organizację kodu, co ułatwia pracę, zwłaszcza przy większych projektach. Klasy są teraz podstawowym elementem wielu nowoczesnych języków, więc warto się ich dobrze nauczyć, bo naprawdę pomagają w tworzeniu aplikacji.

Pytanie 35

Aby z tabeli Pracownicy wybrać tylko nazwiska kończące się na literę „i”, można zastosować następującą kwerendę SQL

A. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i%";
B. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i%";
C. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i;
D. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i";
Prawidłowa kwerenda SQL do wyszukania nazwisk pracowników, których ostatnią literą jest 'i', to 'SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i";'. Operator LIKE w SQL jest używany do wyszukiwania wzorców w danych tekstowych. W tym przypadku symbol '%' przed literą 'i' oznacza, że przed 'i' może występować dowolna liczba znaków (w tym zero), co umożliwia znalezienie wszystkich nazwisk kończących się na tę literę. Przykładowe nazwiska, które mogą być zwrócone przez tę kwerendę to 'Kowalski', 'Nowak', czy 'Wiśniewski'. Zgodnie z standardem SQL, użycie podwójnych cudzysłowów dla wzorca jest właściwe w kontekście baz danych, jednak w wielu systemach baz danych, w tym MySQL, częściej stosuje się pojedyncze cudzysłowy. Warto także zauważyć, że technika ta jest przydatna przy pracy z bazami danych, gdyż umożliwia elastyczne wyszukiwanie informacji oraz jest szczególnie cenne w aplikacjach wymagających filtrowania danych według specyficznych kryteriów.

Pytanie 36

Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w SQL pozwala na

A. usuwanie konta użytkownika z bazy danych
B. pozbawianie użytkownika uprawnień
C. przyznawanie praw dostępu do tabeli
D. przyznawanie uprawnień za pomocą ustalonego schematu
Polecenie REVOKE SELECT ON nazwa1 FROM nazwa2 w SQL służy do cofnięcia uprawnień, które wcześniej przyznaliśmy jakiejś osobie albo roli. W kontekście baz danych, uprawnienia SELECT to po prostu możliwość oglądania danych w tabeli (nazwa1). To dosyć ważna sprawa, jeśli mówimy o bezpieczeństwie bazy. Dzięki temu możesz kontrolować, kto ma dostęp do jakich danych, co jest szczególnie istotne w przypadku różnych regulacji prawnych, jak RODO. Przykładowo, jeśli użytkownik (nazwa2) miał dostęp do tej tabeli, a później uznaje się, że nie powinien go mieć, to używasz REVOKE, żeby to cofnąć. To normalne podejście w administrowaniu bazami danych, bo bezpieczeństwo danych to bardzo ważny aspekt. Warto również czasami przeglądać, kto ma jakie uprawnienia, żeby zminimalizować ryzyko, że ktoś niepowołany dostanie się do wrażliwych informacji.

Pytanie 37

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

A. prologu <!DOCTYPE html>
B. <body>
C. przynajmniej jednego <h1>
D. <meta name="author" content="....">
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.

Pytanie 38

W posiadanej tabeli zwanej przedmioty, która zawiera kolumny ocena oraz uczenID, aby wyliczyć średnią ocen dla ucznia z ID równym 7, należy użyć zapytania

A. SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7
B. COUNT SELECT ocena FROM przedmioty WHERE uczenID = 7
C. AVG SELECT ocena FROM przedmioty WHERE uczenID = 7
D. SELECT COUNT(ocena) FROM przedmioty WHERE uczenID = 7
Odpowiedź 'SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;' jest poprawna, ponieważ wykorzystuje funkcję agregującą AVG, która oblicza średnią ocen dla wszystkich wpisów w tabeli 'przedmioty', gdzie 'uczenID' jest równy 7. W SQL funkcje agregujące są niezwykle przydatne do analizy danych, pozwalając na uzyskanie statystyk dotyczących zbiorów danych. Użycie klauzuli WHERE pozwala na filtrowanie danych do tych, które dotyczą konkretnego ucznia, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi. Na przykład, w praktycznych zastosowaniach, może to być użyte do generowania raportów dotyczących wyników ucznia w określonym przedziale czasowym lub w porównaniu do innych uczniów. Warto również zauważyć, że poprawna konstrukcja zapytania SQL jest kluczowa dla utrzymania integralności i wydajności bazy danych, co podkreśla znaczenie płynnego zapisu zapytań. Takie umiejętności są nieocenione w pracy z bazami danych oraz w kontekście analizy danych w różnych dziedzinach.

Pytanie 39

Wskaż definicję metody, którą należy wstawić w miejscu kropek, aby na stronie WWW wyświetlił się tekst: Jan Kowalski

<p id="wynik"></p>
<script type="text/javascript">
    var osoba = { nazwisko: "Kowalski", imie: "Jan" };
    …
    document.getElementById("wynik").innerHTML = osoba.dane();
</script>

osoba.dane = function() {
    return this.imie+" "+this.nazwisko;
};                 A.

dane() = function() {
    return this.imie+" "+this.nazwisko;
};                 B.

osoba.dane = function() {
    return imie+" "+nazwisko;
};                 C.

dane() = function {
    this.imie+" "+this.nazwisko;
};                 D.
A. B.
B. D.
C. A.
D. C.
Fajnie, że wybrałeś dobrą odpowiedź! Metoda 'dane' jest powiązana z obiektem 'osoba', co pozwala ci używać słowa kluczowego 'this', żeby odwołać się do 'imię' i 'nazwisko'. To naprawdę ważna zasada w programowaniu obiektowym. 'This' to taki klucz, dzięki któremu możesz wskazać, z którego obiektu korzystasz w danej chwili. W tym przypadku odnosisz się do obiektu 'osoba'. Wyobraź sobie, że tworzysz aplikację i chcesz pokazać informacje o użytkowników, na przykład na stronie profilu. Dzięki metodzie 'dane', która jest częścią obiektu 'osoba', możesz łatwo wyświetlić imię i nazwisko. O to chodzi w programowaniu!

Pytanie 40

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

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