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: 16 kwietnia 2026 13:31
  • Data zakończenia: 16 kwietnia 2026 13:51

Egzamin niezdany

Wynik: 5/40 punktów (12,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

Który model barw opisuje kolor za pomocą stożka przestrzeni barw?

A. CIE
B. CMY
C. HSV
D. CMYK
Model barw HSV (Hue, Saturation, Value) jest jednym z najbardziej znanych modeli opisujących kolory w przestrzeni barwnej, który można graficznie przedstawić w formie stożka. W modelu tym kolor definiowany jest przez trzy parametry: odcień (Hue), nasycenie (Saturation) i jasność (Value). Odcień określa kolor, nasycenie odnosi się do intensywności koloru, a jasność wskazuje na jego jasność. Przykładem zastosowania modelu HSV może być grafika komputerowa, gdzie użytkownicy często korzystają z suwaków do wyboru koloru; suwak odcienia pozwala na wybór koloru bazowego, suwak nasycenia modyfikuje jego intensywność, a suwak jasności pozwala na kontrolowanie poziomu jasności koloru. Model HSV jest szeroko używany w oprogramowaniu do edycji zdjęć oraz w programowaniu gier, co sprawia, że jest niezwykle praktyczny w zastosowaniach cyfrowych. Jest zgodny z wieloma standardami, takimi jak sRGB czy Adobe RGB, co czyni go uniwersalnym narzędziem w pracy z kolorami.

Pytanie 2

Systemy CMS charakteryzują się

A. możliwością edycji treści bez konieczności znajomości HTML.
B. możliwością programowania w zaawansowanych frameworkach dla aplikacji Web.
C. wbudowanym edytorem grafiki wektorowej.
D. wbudowanym serwerem poczty elektronicznej.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie wskazana cecha CMS to możliwość edycji treści bez konieczności znajomości HTML. Właśnie po to powstały systemy zarządzania treścią: żeby osoba nietechniczna, np. pracownik działu marketingu czy sekretariat, mogła samodzielnie aktualizować stronę WWW. W typowym CMS (WordPress, Joomla, Drupal) mamy edytor WYSIWYG przypominający Worda: pogrubienie, nagłówki, listy, wstawianie obrazków, linków. Cały kod HTML generuje się w tle automatycznie. Użytkownik widzi tekst i przyciski, a nie znaczniki typu <div>, <p> czy <a>. Z mojego doświadczenia to ogromne ułatwienie w firmach, gdzie programista nie ma czasu na każdą drobną zmianę w treści. Dobra praktyka jest taka, żeby w CMS rozdzielać warstwę treści (content) od warstwy prezentacji (szablony, CSS). Administrator, redaktor czy copywriter pracuje na treści, a programista i frontendowiec dbają o wygląd i logikę. Dzięki temu aktualizacja np. cennika, aktualności czy opisów produktów nie wymaga dotykania kodu strony. Co więcej, nowoczesne CMS-y stosują mechanizmy wersjonowania treści, workflow publikacji, uprawnienia użytkowników. Wszystko nadal bez konieczności pisania HTML, choć oczywiście możliwość podejrzenia i ręcznej edycji kodu często jest dostępna dla bardziej zaawansowanych użytkowników. W praktyce: jeśli ktoś umie obsłużyć edytor tekstu, to po krótkim przeszkoleniu zwykle bez problemu poradzi sobie z podstawową obsługą CMS i edycją treści na stronie WWW.

Pytanie 3

Rodzaj programowania, w którym seria poleceń (sekwencja instrukcji) jest traktowana jako program, nazywa się programowaniem

A. logicznym
B. imperatywnym
C. funkcyjnym
D. stanowym

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Programowanie imperatywne to podejście, w którym programy są definiowane jako ciąg instrukcji, które komputer wykonuje w określonej kolejności. W tym modelu programista precyzyjnie określa kroki, które należy wykonać, aby osiągnąć zamierzony cel. Kluczowym elementem programowania imperatywnego jest zmiana stanu programu, co odnosi się do manipulacji danymi i kontrolowania przepływu wykonania. Przykładem mogą być języki programowania takie jak C, Java czy Python, które umożliwiają wykorzystanie zmiennych, pętli i instrukcji warunkowych. W praktyce, programowanie imperatywne jest często wykorzystywane w tworzeniu aplikacji, które wymagają precyzyjnego sterowania przepływem danych, na przykład w systemach operacyjnych czy oprogramowaniu sterującym. Zgodnie z zasadami dobrych praktyk, programowanie imperatywne promuje modularność, dzięki czemu kod jest bardziej zrozumiały i łatwiejszy w utrzymaniu. To podejście jest fundamentem dla wielu technik programistycznych, jak na przykład programowanie obiektowe, które rozszerza te zasady poprzez organizowanie kodu w oparciu o obiekty i klasy.

Pytanie 4

W języku Javascript obiekt typu array jest używany do przechowywania

A. wielu wartości jedynie liczbowych
B. wielu wartości różnych typów
C. wielu wartości lub metod
D. wielu wartości jedynie tekstowych
Wielu programistów mogą zmylić ograniczenia dotyczące typów danych w JavaScript, co prowadzi do błędnych wniosków na temat możliwości tego języka. Nieprawidłowe odpowiedzi sugerują, że tablice w JavaScript mogą przechowywać tylko jednorodne typy danych, takie jak wyłącznie tekstowe lub wyłącznie liczbowe wartości. Takie podejście jest ograniczone i nie uwzględnia elastyczności, jaką oferuje JavaScript. Obiekty array w tym języku są projektowane w taki sposób, aby umożliwić przechowywanie różnych typów danych w jednej tablicy, co jest kluczowe dla nowoczesnego programowania. Przykładem może być tablica, która zawiera zarówno liczby, jak i obiekty, co umożliwia tworzenie bardziej złożonych struktur danych. Często spotykanym błędem jest mylenie tablic z innymi strukturami danych, które wymuszają jednolitość typów, jak np. tablice w języku Java. Właściwe zrozumienie typów danych oraz ich właściwości w JavaScript jest niezbędne dla efektywnego kodowania oraz unikania pułapek związanych z typowymi błędami myślowymi, które mogą prowadzić do długotrwałych trudności w utrzymaniu kodu.

Pytanie 5

Aby stworzyć poprawną kopię zapasową bazy danych, która będzie mogła zostać później przywrócona, należy najpierw sprawdzić

A. uprawnienia dostępu do serwera bazy danych
B. poprawność składni zapytań
C. możliwość udostępnienia bazy danych
D. spójność bazy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Spójność bazy danych jest kluczowym elementem, który należy sprawdzić przed wykonaniem kopii bezpieczeństwa, ponieważ zapewnia, że wszystkie dane są zgodne i nie zawierają błędów. Spójność oznacza, że wszelkie reguły i ograniczenia, takie jak klucze główne, klucze obce oraz unikalne indeksy, są spełnione. W przypadku naruszenia spójności, kopia bazy danych mogłaby zawierać uszkodzone lub niekompletne dane, co mogłoby uniemożliwić jej prawidłowe odtworzenie w przyszłości. Przykładem może być sytuacja, gdy mamy tabelę zamówień, która odwołuje się do tabeli klientów. Jeśli rekord klienta został usunięty, a zamówienia pozostają, to mamy do czynienia z naruszeniem spójności. Standardy, takie jak ACID (Atomicity, Consistency, Isolation, Durability), podkreślają znaczenie spójności w zarządzaniu bazami danych, co czyni ją niezbędnym krokiem w procesie tworzenia kopii zapasowych.

Pytanie 6

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; }
B. nav { float: right; } section { float: right; }
C. aside {float: left; }
D. nav { float: left; } aside { float: left; }

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 7

Relacja wiele-do-wielu w bazach danych występuje pomiędzy tabelami, gdy

A. wielu wierszom z tabeli A przypisany jest tylko jeden wiersz z tabeli B
B. jednemu wierszowi z tabeli A przysługuje wyłącznie jeden wiersz z tabeli B
C. wielu wierszom z tabeli A przyporządkowane są liczne wiersze z tabeli B
D. jednemu wierszowi z tabeli A odpowiada wiele wierszy z tabeli B

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź, że wielu wierszom z tabeli A przypada wiele wierszy z tabeli B, jest jak najbardziej na miejscu. Wiesz, relacja wiele-do-wielu w bazach danych pojawia się, gdy jednemu rekordowi w jednej tabeli przypisanych jest kilka rekordów w drugiej. Na przykład w bazie danych uczelni mamy studentów (tabela A), którzy mogą zapisać się na różne kursy (tabela B), a jeden kurs może być realizowany przez różnych studentów. W praktyce, żeby to wszystko działało, tworzymy tabelę pośredniczącą, która łączy oba zestawy danych za pomocą kluczy obcych. Taki sposób daje sporo swobody w zarządzaniu danymi, bo łatwo można dodawać lub usuwać powiązania. Ważne jest też, aby zwrócić uwagę na zasady normalizacji baz danych, które pomagają unikać powielania danych i zapewniają, że wszystko jest spójne. Dobrze przemyślane relacje w bazie danych to podstawa, bo to one wpływają na wydajność i prostotę w zarządzaniu danymi.

Pytanie 8

Która metoda obiektu location w języku JavaScript pozwala na zamianę aktualnego dokumentu na dokument z adresu podanego w parametrze metody?

A. replace();
B. open();
C. close();
D. reaload();
Wybór metod takich jak open(), close() oraz reload() świadczy o niepełnym zrozumieniu funkcji obiektu location w JavaScript oraz ich zastosowania w kontekście manipulacji dokumentami webowymi. Metoda open() jest używana do otwierania nowych okien przeglądarki lub kart, co nie ma związku z zastępowaniem bieżącego dokumentu. Użytkownicy często mylą tę metodę z funkcjonalnością nawigacyjną, jednak efektem otwarcia nowego okna jest jedynie dodanie nowej instancji, a nie modyfikacja bieżącej. Z kolei close() ma na celu zamknięcie obecnego okna, co również nie odpowiada na potrzebę zmiany dokumentu. Użycie reload() może prowadzić do nieporozumień, gdyż ta metoda odnawia bieżący dokument, ale nie zastępuje go nowym - przeglądarka ponownie ładuje tę samą stronę, co nie spełnia założenia pytania. W praktyce, użytkownik, uznając reload() za właściwe podejście, może napotkać na problemy z wydajnością i użytecznością, gdyż wielokrotne odświeżanie tej samej strony może prowadzić do niepożądanych efektów, takich jak utrata danych w formularzach. Kluczowe jest zrozumienie różnic pomiędzy tymi metodami oraz ich odpowiednim zastosowaniem w kontekście nawigacji i zarządzania historią przeglądarki, co jest istotne dla osiągnięcia optymalnego doświadczenia użytkownika.

Pytanie 9

W języku JavaScript, aby uzyskać podciąg tekstu pomiędzy wskazanymi indeksami, należy skorzystać z metody

A. slice()
B. concat()
C. replace()
D. trim()

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Metoda slice() w JavaScript jest używana do wydzielania części napisu na podstawie podanych indeksów. Przyjmuje dwa argumenty: indeks początkowy oraz indeks końcowy, co pozwala na uzyskanie fragmentu tekstu w określonym zakresie. Na przykład, jeśli mamy napis 'JavaScript' i zastosujemy slice(0, 4), otrzymamy 'Java'. Metoda ta nie zmienia oryginalnego napisu, co jest zgodne z zasadą niemodyfikowalności w JavaScript. Dobrą praktyką jest również pamiętanie, że indeks końcowy jest wyłączny, co oznacza, że znak na tym indeksie nie jest wliczany do wynikowego napisu. Ponadto, slice() może przyjmować wartości ujemne, co pozwala na łatwe wydzielanie fragmentów z końca napisu, co jest szczególnie przydatne w dynamicznych aplikacjach webowych. Warto również wiedzieć, że slice() jest preferowane do używania nad innymi metodami, gdyż jest bardziej intuicyjna i wydajna w kontekście manipulacji łańcuchami znaków.

Pytanie 10

Funkcjonalność obejmującą edycję kodu źródłowego, jego kompilację, tworzenie zasobów programu, baz danych i komponentów udostępnia

A. Notpead++
B. PhpMyAdmin
C. środowisko IDE
D. debugger

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to środowisko IDE, czyli Integrated Development Environment. To właśnie IDE łączy w jednym narzędziu kilka kluczowych funkcji: edycję kodu źródłowego z podświetlaniem składni, systemem podpowiedzi (intellisense), często także automatyczne formatowanie kodu; kompilację lub uruchamianie programu (np. budowanie projektu w C#, Javie czy C++ jednym kliknięciem); zarządzanie zasobami aplikacji, takimi jak pliki konfiguracyjne, grafiki, szablony, pliki językowe; integrację z systemami kontroli wersji typu Git; a w wielu przypadkach też kreatory do tworzenia baz danych, modeli ORM, migracji i komponentów aplikacji. W praktyce, gdy programista pracuje w Visual Studio, IntelliJ IDEA, PhpStorm czy Eclipse, to właśnie korzysta z IDE. Z mojego doświadczenia, w pracy zespołowej korzystanie z IDE jest dziś standardem branżowym, bo przyspiesza development, zmniejsza liczbę błędów i ułatwia utrzymanie dużych projektów. IDE bardzo często ma wbudowany debugger, profiler, narzędzia do testów jednostkowych, integrację z serwerami aplikacyjnymi czy kontenerami (np. Docker). Dobre praktyki mówią, żeby wykorzystywać możliwości IDE maksymalnie: skróty klawiaturowe, refaktoryzację (automatyczna zmiana nazwy metody, wyodrębnianie funkcji), inspekcje kodu i linters. W projektach webowych IDE potrafi też generować szkielet aplikacji, podpowiadać składnię HTML, CSS, JavaScript i PHP, a nawet integrować się z narzędziami bazodanowymi, dzięki czemu można z jednego miejsca zarządzać kodem, strukturą bazy i konfiguracją serwera. Dlatego właśnie tylko odpowiedź „środowisko IDE” spełnia cały opis zawarty w pytaniu.

Pytanie 11

Jakie technologie są konieczne do uruchomienia systemu CMS Joomla!?

A. Apache oraz PHP
B. PHP oraz MySQL
C. Apache, PHP i MySQL
D. IIS, PERL i MySQL
Joomla! jest systemem zarządzania treścią, który wymaga specyficznych technologii do prawidłowego działania. Do uruchomienia Joomla! niezbędne jest środowisko, które obejmuje serwer WWW Apache, język skryptowy PHP oraz bazę danych MySQL. Apache jest najpopularniejszym serwerem WWW, który obsługuje wiele funkcji, takich jak obsługa dynamicznych treści oraz zarządzanie dużymi ilościami ruchu. PHP jest językiem skryptowym, który pozwala na interakcję z bazą danych oraz generowanie treści w czasie rzeczywistym, co jest kluczowe dla działania CMS-a. MySQL natomiast jest systemem zarządzania bazą danych, który przechowuje wszystkie dane dotyczące witryny, takie jak artykuły, ustawienia i użytkownicy. Przykładem zastosowania tych technologii może być stworzenie strony internetowej dla lokalnej organizacji non-profit, gdzie Joomla! umożliwia łatwe zarządzanie treścią przez osoby nieposiadające zaawansowanej wiedzy technicznej. Dobre praktyki w branży zalecają stosowanie najnowszych wersji tych technologii, aby zapewnić bezpieczeństwo oraz wydajność witryny.

Pytanie 12

Jakiego znacznika w HTML użyjemy, aby uzyskać tekst wyświetlany czcionką o stałej szerokości znaku, który również uwzględnia dodatkowe spacje, tabulacje oraz znaki końca linii?

A. <pre>…</pre>
B. <blockquote>…</blockquote>
C. <code>…</code>
D. <ins>…</ins>
Znaczniki <code>, <ins> i <blockquote> mają swoje unikalne zastosowania, ale nie nadają się do zachowania formatowania tekstu, jak to robi <pre>. Znacznik <code> jest przeznaczony do oznaczania fragmentów kodu, jednak nie utrzymuje przestrzeni i formatowania. Kiedy używasz <code>, przeglądarka wyświetli tekst w inny sposób, ale nie uwzględni dodatkowych odstępów lub tabulacji, co może prowadzić do nieczytelności w przypadku dłuższych fragmentów kodu. Z kolei znacznik <ins> służy do wskazywania wstawionego tekstu, co ma znaczenie w kontekście edycji lub zmian, ale nie zmienia jego formatowania ani nie zachowuje układów, co ogranicza jego użyteczność w przypadku tekstów wymagających precyzyjnego formatowania. Wreszcie, <blockquote> jest używane do cytowania dłuższych fragmentów tekstu z innego źródła, co również nie związane jest z zachowaniem konkretnego formatowania, a jego celem jest raczej stylistyczne wyróżnienie cytatu. W praktyce, mylenie tych znaczników może prowadzić do frustracji użytkowników, którzy oczekują zachowania konkretnych układów, zwłaszcza w kontekście programowania lub prezentacji danych. Ważne jest, aby zrozumieć, że każdy znacznik ma swoje specyficzne zastosowanie i powinien być używany zgodnie z jego przeznaczeniem, aby zapewnić spójność i czytelność prezentowanych treści.

Pytanie 13

Przedstawiona w języku C++ definicja typu wyliczeniowego sprawi, że enumerator CZWARTEK będzie równy

enum dni {PONIEDZIALEK = 1, WTOREK, SRODA, CZWARTEK, PIATEK, SOBOTA, NIEDZIELA};
A. liczbie 4
B. napisowi "CZWARTEK"
C. liczbie 1
D. napisowi 'CZWARTEK'

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Definicja typu wyliczeniowego (enum) w języku C++ jest używana do tworzenia zestawu nazwanych stałych, co zwiększa czytelność i organizację kodu. W przypadku podanej definicji enum dni {PONIEDZIALEK = 1, WTOREK, SRODA, CZWARTEK, PIATEK, SOBOTA, NIEDZIELA};, każdy element enumeracji automatycznie przyjmuje wartość całkowitą, zaczynając od podanej wartości dla pierwszego elementu, czyli PONIEDZIALEK = 1. Kolejne elementy, WTOREK, SRODA i CZWARTEK, przyjmują wartości 2, 3 i 4 odpowiednio. Tak więc CZWARTEK, będący czwartym elementem listy, ma przypisaną wartość 4. W praktyce, takie zdefiniowanie dni tygodnia jako enum pozwala na łatwe i zrozumiałe odwoływanie się do dni w kodzie, co ułatwia jego konserwację oraz eliminację błędów. Przy implementacji programów, w których operuje się na dniach tygodnia, korzystanie z typów wyliczeniowych jest powszechną praktyką i jest zgodne ze standardami kodowania, które promują użycie czytelnych i zrozumiałych nazw dla wartości.

Pytanie 14

Jaką wartość będzie mieć zmienna str2 po wykonaniu poniższego fragmentu kodu JavaScript?

var str1 = "JavaScript"; var str2 = str1.substring(2, 6);
A. avaS
B. vaScri
C. avaScr
D. vaSc
Zrozumienie działania metody substring jest kluczowe do prawidłowego wyodrębniania części łańcucha znaków w JavaScript. Metoda ta przyjmuje dwa argumenty: indeks początkowy oraz opcjonalny indeks końcowy. Indeks początkowy wskazuje od którego znaku zaczynamy wycinanie a indeks końcowy wskazuje na pierwszy znak który nie zostanie uwzględniony. Jeśli indeks końcowy nie jest podany metoda wycina do końca łańcucha. Indeksowanie w JavaScript jest zerowe co oznacza że pierwszy znak ma indeks 0 drugi indeks 1 itd. To może prowadzić do mylnych założeń jeśli nie zrozumie się poprawnie jak działają indeksy. Typowym błędem jest użycie indeksu końcowego w sposób który uwzględnia także znak na tej pozycji co jest błędne ponieważ indeks końcowy jest wyłączny. W pytaniu gdy użyjemy substring(2 6) z łańcuchem JavaScript zaczynamy od znaku o indeksie 2 czyli v i kontynuujemy do indeksu 6 nie włączając go co daje nam ciąg vaSc. Inne odpowiedzi mogą wynikać z błędnego uwzględnienia indeksów początkowego lub końcowego co prowadzi do wycinania niepoprawnych fragmentów łańcucha. Rozumienie i stosowanie zasad indeksowania oraz logiki zerowania indeksów jest kluczowe przy pracy z łańcuchami znaków w JavaScript.

Pytanie 15

W skrypcie JavaScript użyto metody DOM getElementsByClassName('akapit'). Ta metoda odniesie się do akapitu

A. <p class="akapit">akapit4</p>
B. <p id="akapit">akapit2</p>
C. <p>akapit</p>
D. <p href="/akapit">akapit3</p>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Metoda DOM getElementsByClassName jest jedną z najważniejszych funkcji w JavaScript, która pozwala na selekcję elementów na stronie internetowej na podstawie ich klas CSS. W tym przypadku, odpowiedź <p class="akapit">akapit4</p> jest poprawna, ponieważ element ten ma przypisaną klasę "akapit", co czyni go bezpośrednim kandydatem do selekcji przez metodę getElementsByClassName('akapit'). Metoda ta zwraca kolekcję elementów (HTMLCollection), które mają podaną klasę, a następnie można z nimi pracować w kodzie JavaScript. Na przykład, możemy zmieniać ich style, zawartość lub dodawać zdarzenia. Dobrą praktyką jest stosowanie klas do stylizacji oraz manipulacji DOM, co pozwala na lepszą organizację kodu i zwiększa jego czytelność. Pamiętaj, że klasy są bardziej uniwersalne i elastyczne niż identyfikatory (ID), które powinny być unikalne na stronie. W przypadku konieczności stosowania metod do manipulacji elementami DOM, warto znać również inne metody, takie jak querySelector i querySelectorAll, które oferują bardziej zaawansowane opcje selekcji, umożliwiające wykorzystanie kombinacji klas, identyfikatorów i innych atrybutów.

Pytanie 16

Jakim zapisem w dokumencie HTML można stworzyć element, który wyświetli obrazek kotek.jpg z tekstem alternatywnym "obrazek kotka"?

A. <img href="kotek.jpg" alt="obrazek kotka">
B. <img src="kotek.jpg" title="obrazek kotka">
C. <img src="kotek.jpg" alt="obrazek kotka">
D. <img href="kotek.jpg" title="obrazek kotka">

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź <img src="kotek.jpg" alt="obrazek kotka"> jest poprawna, ponieważ zgodnie z standardem HTML do wyświetlania obrazów należy używać atrybutu 'src', który wskazuje źródło obrazu. Atrybut 'alt' jest również niezbędny, ponieważ zapewnia tekst alternatywny dla obrazów, co jest kluczowe dla dostępności strony internetowej. Użytkownicy, którzy korzystają z technologii wspomagających, takich jak czytniki ekranu, będą mogli zrozumieć zawartość obrazu poprzez ten tekst. Dobrą praktyką jest również stosowanie odpowiednich nazw plików obrazów oraz opisowych tekstów alternatywnych, co poprawia SEO i użyteczność strony. Na przykład, jeśli w przyszłości planujesz dodać więcej obrazów kotów, warto, aby każdy z nich miał unikalny opis w atrybucie 'alt', co pomoże w lepszym zrozumieniu kontekstu przez użytkowników i roboty wyszukiwarek. W ten sposób poprawiasz zarówno dostępność, jak i indeksowalność swojej strony.

Pytanie 17

Jakie będzie rezultatem działania poniższego kodu PHP?

$a = $c = true; 
$b = $d = false;
if(($a && $b) || ($c && $d)) echo 'warunek1';
elseif(($a && $b) || ($c || $d)) echo 'warunek2';
elseif(($c && $d) || (!$a)) echo 'warunek3';
else echo 'warunek4';
A. warunek3
B. warunek4
C. warunek2
D. warunek1
Analizowany kod PHP to przykład użycia operatorów logicznych w strukturze sterującej if-else, gdzie każda z odpowiedzi reprezentuje wynik działania konkretnego bloku kodu. Zmienna $a i $c są zainicjalizowane jako true, natomiast $b i $d jako false. Zrozumienie tego jest kluczowe dla poprawnej analizy logicznej. Pierwszy warunek if z ($a && $b) || ($c && $d) nie zostaje spełniony, ponieważ zarówno (true && false) jak i (true && false) zwracają false, co skutkuje false || false, czyli false. Kolejna sekcja elseif obejmuje ($a && $b) || ($c || $d). Tutaj (true && false) zwraca false, ale (true || false) daje true, co prowadzi do false || true, czyli true, co spełnia warunek i 'warunek2' zostaje wyświetlony. Trzeci warunek elseif, sprawdzający ($c && $d) || (!$a), nie jest rozpatrywany, ponieważ poprzedni warunek był już true. Warto podkreślić znaczenie logicznych operatorów w programowaniu: && i || odpowiadają za łączenie warunków, a ich poprawne zrozumienie pozwala na efektywne modelowanie logiki aplikacji. Typowym błędem jest mylenie znaczenia tych operatorów, co może prowadzić do błędnych decyzji warunkowych w kodzie. Programiści powinni zawsze upewniać się, że logika warunków jest zgodna z zamierzonym działaniem programu, a testowanie jest kluczowym elementem tego procesu. Zastosowanie testów jednostkowych może pomóc w zapewnieniu prawidłowego działania skomplikowanych struktur logicznych, pozwalając na wykrycie i korektę potencjalnych błędów logicznych.

Pytanie 18

Działaniem przedstawionego kodu PHP będzie wypełnienie tablicy. Działaniem przedstawionego kodu PHP będzie wypełnienie tablicy.

$tab = array();
for($i = 0; $i < 10; $i++) {
    $tab[$i] = rand(-100, 100);
}
foreach ($tab as $x){
    if ($x < 0) echo "$x ";
}
A. 10 losowymi wartościami, a następnie wypisanie wartości ujemnych.
B. kolejnymi liczbami od 0 do 9 i wypisanie ich.
C. 100 losowymi wartościami, a następnie wypisanie wartości dodatnich.
D. kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych.
Prawidłowo zidentyfikowałeś, że kod PHP wypełni tablicę 10 losowymi wartościami, a następnie wypisze tylko te, które są wartościami ujemnymi. Jest to fundament, na którym opiera się działanie tego konkretnego fragmentu kodu. Tworzenie losowych wartości jest powszechną praktyką w programowaniu i jest wykorzystywane do testowania funkcji, symulowania danych wejściowych czy generowania unikalnych identyfikatorów. Tutaj, użycie losowości służy do stworzenia przypadkowego zestawu liczb, które następnie są filtrowane i wypisywane tylko te o wartości ujemnej. Ta technika jest przydatna, gdy chcemy przefiltrować dane według określonych kryteriów, w tym przypadku liczby ujemne. Jest to ważne nie tylko dla zrozumienia tego konkretnego pytania, ale także dla zrozumienia, jak działa programowanie i jakie są jego praktyczne zastosowania. Pamiętaj, że zrozumienie tego, co robi konkretny fragment kodu, jest kluczowe dla skutecznego programowania i debugowania.

Pytanie 19

W programie MS Access w ustawieniach pola klasa należy określić maskę wprowadzania danych. Jaką maskę należy ustawić, aby dane wprowadzone składały się z trzech znaków w formacie: obowiązkowa cyfra, następnie dwie obowiązkowe litery?

Ogólne
Rozmiar pola3
Format
Maska wprowadzania
Tytuł
Wartość domyślna
Reguła spr. poprawności
Tekst reguły spr. poprawności
WymaganeNie
Zerowa dł. dozwolonaTak
IndeksowaneNie
Kompresja UnicodeTak
Tryb IMEBez formantu
Tryb zdania edytora IMEBrak
Tagi inteligentne
A. 0CC
B. 0LL
C. 000
D. CLL
W przypadku maski wprowadzania danych w MS Access, należy zrozumieć, jakie znaczenie mają poszczególne symbole używane do stworzenia maski. Symbole te określają, co użytkownik może wprowadzić w każdym miejscu pola. Często spotykanym błędem jest wybór niewłaściwego symbolu, co prowadzi do niepoprawnego formatu danych. W przypadku masek takich jak 0CC, 000 i CLL, każda z nich stosuje niewłaściwe podejście do formatu wymaganego w pytaniu. Maska 0CC zakłada, że po cyfrze mogą znajdować się dowolne znaki, co nie spełnia wymagań dotyczących dwóch obowiązkowych liter. Maska 000 z kolei wymusza wprowadzenie trzech cyfr, co całkowicie mija się z celem, ponieważ wymagany jest format składający się z jednej cyfry i dwóch liter. Maska CLL sugeruje, że pierwszy znak może być dowolnym znakiem (cyfrą lub literą), co również jest niezgodne z wymaganiami, gdzie pierwszą pozycję musi zajmować cyfra. Takie nieporozumienia mogą wynikać z braku zrozumienia znaczenia symboli używanych w maskach wprowadzania danych. Kluczem do poprawnego zastosowania masek w MS Access jest więc dokładne poznanie, jakie symbole są dostępne i jakie mają zastosowanie, aby zwiększyć spójność i integralność danych w systemach bazodanowych. Zrozumienie tych zasad pozwala również uniknąć typowych błędów wynikających z niepoprawnej interpretacji wymagań dotyczących formatowania danych, co jest istotne nie tylko w kontekście egzaminacyjnym, ale także w praktycznej pracy z bazami danych. Poprawne zrozumienie i stosowanie masek wprowadzania danych jest elementem profesjonalnego zarządzania danymi, gdzie każda baza musi spełniać określone standardy jakości i wydajności.

Pytanie 20

Aby cofnąć uprawnienia dostępu do serwera MySQL, należy wykorzystać polecenie

A. REVOKE
B. USAGE
C. GRANT
D. DELETE

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby odebrać prawa dostępu do serwera MySQL, używa się polecenia REVOKE. To polecenie jest kluczowe w zarządzaniu uprawnieniami użytkowników w systemie zarządzania bazą danych MySQL. REVOKE pozwala na usunięcie wcześniej przydzielonych praw dostępu do określonych zasobów, takich jak tabele, bazy danych lub inne obiekty. Przykładowo, aby odebrać prawo SELECT dla użytkownika 'janek' na tabeli 'produkty', należy użyć komendy: REVOKE SELECT ON produkty FROM 'janek'@'localhost';. Dzięki temu użytkownik 'janek' nie będzie miał możliwości wykonywania zapytań SELECT na tej tabeli. Warto zaznaczyć, że REVOKE działa w oparciu o hierarchię uprawnień, co oznacza, że można je łączyć z innymi poleceniami, aby skutecznie zarządzać dostępem. Zgodnie z dokumentacją MySQL, REVOKE jest integralną częścią systemu autoryzacji, co czyni je niezbędnym dla zapewnienia bezpieczeństwa danych w bazach danych. Użycie REVOKE jest również istotne w kontekście audytów bezpieczeństwa, gdzie konieczne jest zarządzanie dostępem do danych.

Pytanie 21

Wskaż funkcję PHP, która umożliwia zapisanie odczytanej zawartości pliku do zmiennej, która reprezentuje ciąg znaków?

A. fwrite()
B. get_file()
C. file_get_contents()
D. eof()

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja file_get_contents() jest podstawowym narzędziem w PHP, które umożliwia odczytanie zawartości pliku i zapisanie jej bezpośrednio do zmiennej jako ciągu znaków. Jest to niezwykle przydatne, gdyż pozwala na łatwe przetwarzanie tekstu z plików, takich jak pliki konfiguracyjne, dokumenty JSON lub XML. Przykład zastosowania: $content = file_get_contents('plik.txt');. Dzięki temu możemy szybko manipulować danymi, analizować je lub wyświetlać na stronie. Warto również zauważyć, że funkcja ta obsługuje różne źródła, w tym zdalne pliki, co czyni ją wszechstronnym narzędziem w programowaniu webowym. Z perspektywy dobrych praktyk, pamiętaj o sprawdzaniu, czy plik istnieje przed jego odczytem, aby uniknąć błędów. Użycie file_get_contents() jest zgodne z zasadami efektywnego zarządzania danymi w aplikacjach PHP, co czyni ją rekomendowanym podejściem do pracy z plikami tekstowymi.

Pytanie 22

Kwerenda ma za zadanie w tabeli artykuly ALTER TABLE artykuly MODIFY cena float;

A. dodać kolumnę cena o typie float, jeśli nie istnieje
B. zmienić typ na float dla kolumny cena
C. zmienić nazwę kolumny z cena na float
D. usunąć kolumnę cena typu float
Odpowiedzi, które sugerują usunięcie kolumny 'cena', zmiana jej nazwy albo dodanie nowej kolumny, nie są zgodne z rzeczywistym działaniem polecenia ALTER TABLE w kontekście przedstawionym w pytaniu. Usunięcie kolumny jest operacją destrukcyjną, która prowadzi do utraty wszystkich danych w tej kolumnie, co z reguły nie jest celem operacji zmiany typu danych. Zmiana nazwy kolumny na typ float również jest niewłaściwa, ponieważ typ danych nie powinien być nazwą kolumny; kolumny mają nazwy, a polecenie ALTER TABLE nie zmienia ich nazw na typy danych. Dodanie nowej kolumny 'cena' o typie float, jeśli nie istnieje, jest z kolei inną operacją, która nie odnosi się do modyfikacji istniejącej kolumny, a zamiast tego tworzy nową kolumnę, co jest całkowicie innym zamysłem. Kluczowe błędy myślowe w tych odpowiedziach wynikają z nieporozumienia dotyczącego podstawowego działania kwerend SQL i różnicy między modyfikacją a usuwaniem czy dodawaniem kolumn. W praktyce, przede wszystkim należy rozumieć, że ALTER TABLE jest używane do zmiany struktury tabeli, a nie do jej usuwania czy dodawania zbędnych elementów.

Pytanie 23

Klucz obcy w bazie danych jest tworzony w celu

A. umożliwienia jednoznacznej identyfikacji rekordu w bazie danych
B. łączenia go z innymi kluczami obcymi w tabeli
C. stworzenia formularza do wprowadzania danych do tabeli
D. określenia relacji 1..n łączącej go z kluczem głównym innej tabeli

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klucz obcy w tabeli jest fundamentalnym elementem w relacyjnych bazach danych, który umożliwia tworzenie relacji pomiędzy tabelami. W szczególności, definiuje relację 1..n, co oznacza, że jeden rekord w tabeli, w której znajduje się klucz główny, może być powiązany z wieloma rekordami w tabeli, która posiada klucz obcy. Taki mechanizm pozwala na strukturalne powiązanie danych, co jest kluczowe dla zapewnienia integralności referencyjnej. Na przykład, w bazie danych zarządzającej informacjami o klientach i ich zamówieniach, klucz obcy w tabeli zamówień może wskazywać na klucz główny w tabeli klientów, co pozwala na łatwe śledzenie, które zamówienia są przypisane do konkretnego klienta. Zastosowanie kluczy obcych wspiera również dobre praktyki projektowania baz danych, takie jak normalizacja, co minimalizuje redundancję danych i poprawia ich spójność. Zgodność z tymi zasadami jest zgodna z wytycznymi organizacji takich jak ISO/IEC 9075 oraz ANSI SQL, które promują efektywne zarządzanie danymi.

Pytanie 24

Oznaczenie barwy w postaci #FF00E0 jest równoważne zapisowi

A. rgb(255, 0, 128)
B. rgb(FF, 0, E0)
C. rgb(F, 0, E0)
D. rgb(255, 0, 224)
Zapis #FF00E0 to klasyczny przykład koloru w notacji szesnastkowej, używanej w CSS i ogólnie w webdesignie. Cały haczyk polega na tym, że te literki i cyfry nie są traktowane jako tekst, tylko jako liczby w systemie o podstawie 16. Każde dwa znaki odpowiadają jednej składowej koloru: czerwonej, zielonej i niebieskiej. Czyli mamy strukturę: #RRGGBB. W tym konkretnym przypadku RR = FF, GG = 00, BB = E0. Częsty błąd polega na traktowaniu tych liter dosłownie, jak w odpowiedziach typu rgb(F, 0, E0) czy rgb(FF, 0, E0). W zapisie rgb() wartości muszą być liczbami dziesiętnymi z zakresu 0–255, a nie ciągami znaków. Przeglądarka oczekuje tam konkretnych wartości natężenia składowych, a nie kodu szesnastkowego. FF to nie symbol, tylko liczba w systemie hex. Żeby ją poprawnie zinterpretować, trzeba przeliczyć ją na system dziesiętny: F to 15, więc FF = 15×16 + 15 = 255. Podobnie z E0: E to 14, więc E0 = 14×16 + 0 = 224. Z mojego doświadczenia to przeliczanie jest źródłem wielu pomyłek, szczególnie na początku nauki. Inny typowy błąd myślowy to zgadywanie wartości na oko, jak w odpowiedzi rgb(255, 0, 128). Ktoś widzi intensywny kolor, więc daje maksymalny czerwony i jakąś średnią wartość niebieskiego. Problem w tym, że hex E0 to wcale nie jest 128, tylko 224, czyli dużo bliżej maksimum 255 niż środka skali. Takie „strzelanie” bez przeliczenia łamie spójność pomiędzy zapisem hex a rgb i prowadzi do zupełnie innego koloru niż zamierzony. Dobra praktyka w branży jest taka, żeby zawsze pamiętać: zapis hex to trzy liczby 0–255 zapisane w bazie 16, a rgb() to te same liczby zapisane normalnie, po ludzku, w systemie dziesiętnym. Jeżeli pojawiają się litery A–F, to znaczy, że mamy do czynienia z systemem szesnastkowym i trzeba je potraktować jak cyfry 10–15, a nie jako jakiś tekst. To niby drobiazg, ale w pracy front-endowca albo grafika webowego ma ogromne znaczenie, bo precyzja kolorów jest kluczowa dla spójności całego projektu graficznego.

Pytanie 25

W dostępnej tabeli o nazwie przedmioty znajdują się pola: ocena oraz uczenID. Jakie zapytanie należy wykonać, aby obliczyć średnią ocenę ucznia z ID równym 7?

A. SELECT COUNT(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 AVG(ocena) FROM przedmioty WHERE uczenID = 7;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;" jest poprawna, ponieważ zastosowanie funkcji agregującej AVG pozwala na obliczenie średniej wartości ocen dla ucznia o konkretnym identyfikatorze. W SQL, funkcje agregujące, takie jak AVG, COUNT, SUM, MIN i MAX, są kluczowymi narzędziami do analizy i przetwarzania danych. W tym przypadku, AVG oblicza średnią wartość pól 'ocena' w tabeli 'przedmioty', gdzie spełniony jest warunek 'uczenID = 7'. To podejście jest zgodne z najlepszymi praktykami w SQL, które zalecają ograniczenie zbioru danych przed zastosowaniem funkcji agregujących, aby wyniki były precyzyjne i użyteczne. Przykładowo, jeśli w przyszłości chcielibyśmy obliczyć średnią ocen dla innych uczniów, moglibyśmy zmieniać wartość 'uczenID', co czyni to zapytanie bardzo elastycznym. Ponadto, umiejętność korzystania z funkcji agregujących jest niezbędna w kontekście analizy danych w systemach baz danych, co czyni tę wiedzę fundamentalną w pracy z SQL.

Pytanie 26

Polecenie w języku SQL w formie ALTER TABLE 'miasta' ADD 'kod' text?

A. wprowadza do tabeli nową kolumnę o nazwie kod typu text
B. zmienia nazwę tabeli miasta na kod
C. dodaje do tabeli dwie kolumny o nazwach: kod i text
D. w tabeli miasta modyfikuje nazwę kolumny kod na text
Wszystkie pozostałe odpowiedzi są błędne z kilku powodów. Pierwsza z nich sugeruje, że polecenie zmienia nazwę tabeli 'miasta' na 'kod', co jest nieprawdziwe. W SQL, aby zmienić nazwę tabeli, używa się polecenia RENAME TABLE lub ALTER TABLE z odpowiednimi argumentami, a nie polecenia ADD, które służy wyłącznie do dodawania nowych kolumn. Kolejna fałszywa odpowiedź stwierdza, że dodaje dwie kolumny o nazwach 'kod' i 'text'. W rzeczywistości polecenie ALTER TABLE dodaje tylko jedną kolumnę, co jest wyraźnie widoczne w zapytaniu. W przypadku, gdybyśmy chcieli dodać więcej niż jedną kolumnę, musielibyśmy użyć oddzielnych poleceń ADD dla każdej kolumny lub zdefiniować je razem w pojedynczym poleceniu, co również nie ma miejsca w tym przykładzie. Ostatnia niepoprawna odpowiedź sugeruje, że w tabeli 'miasta' następuje zmiana nazwy kolumny 'kod' na 'text'. Tego rodzaju operacja wymagałaby użycia polecenia RENAME COLUMN, a nie ADD. Polecenie ADD nie zmienia istniejących kolumn, lecz dodaje nowe, co jest fundamentalnym zrozumieniem działania komendy ALTER TABLE. Dlatego wszystkie te odpowiedzi są technicznie błędne i nie oddają rzeczywistego działania zapytania SQL.

Pytanie 27

W SQL po wykonaniu zapytania ALTER TABLE osoba DROP COLUMN grupa; co się stanie?

A. kolumna grupa zostanie dodana
B. nazwa kolumny zmieni się na grupa
C. kolumna grupa zostanie usunięta
D. nazwa tabeli zmieni się na grupa

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
No więc dobrze trafiłeś. To zapytanie SQL ALTER TABLE osoba DROP COLUMN grupa; jest używane do usunięcia kolumny 'grupa' z tabeli 'osoba'. To polecenie jest częścią SQL, który służy do zmieniania struktury tabel. Usunięcie kolumny może być fajne, gdy już nie jest potrzebna, albo jeśli wprowadzasz jakieś zmiany w danych. Na przykład, może się zdarzyć, że kolumna 'grupa' ma dane, które są już nieaktualne, bo zmieniłeś sposób klasyfikacji. A tak w ogóle, dobrze jest przed taką operacją zrobić kopię zapasową danych, bo usunięcie kolumny to trwała zmiana. To podejście jest powszechnie wykorzystywane w zarządzaniu bazami danych oraz w procesach ETL, gdzie ważne jest, by dane były dobrze zorganizowane.

Pytanie 28

Jakie z wyrażeń logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w zakresie (6, 203)?

A. (zm1 > 6) || (zm1 != 203)
B. (zm1 > 6) && (zm1 != 203)
C. (zm1 > 6) || (zm1 <= 203)
D. (zm1 > 6) && (zm1 <= 203)
W analizie wyrażeń logicznych ważne jest zrozumienie logiki za każdym z operatorów oraz ich zastosowania w kontekście zadania. Przykładowo, wyrażenie (zm1 > 6) || (zm1 <= 203) jest niepoprawne, ponieważ użycie operatora || (OR) sugeruje, że wystarczy, aby zm1 spełniało jeden z dwóch warunków, co nie jest zgodne z definicją przedziału. W przypadku (zm1 > 6) && (zm1 != 203) wyrażenie również nie jest prawidłowe, ponieważ ignoruje dolny limit przedziału – wartość 203 nie jest wbudowana w przedział, co sprawia, że zmienna może przyjmować wartości, które nie są odpowiednie. Z kolei (zm1 > 6) || (zm1 != 203) jest całkowicie mylne, gdyż połączenie operatora OR nie tylko rozluźnia wymagania, ale również wprowadza błąd logiczny, który może prowadzić do nieprawidłowych wyników, gdyż zm1 może być mniejsze lub równe 6. Te błędy mogą wynikać z niepełnego zrozumienia operatorów logicznych oraz ich kontekstu w programowaniu. Właściwe stosowanie operatorów logicznych jest kluczowe dla tworzenia poprawnych i niezawodnych aplikacji. Warto pamiętać, że precyzyjne określenie zakresów i warunków w programie ma kluczowe znaczenie dla jego poprawności oraz stabilności działania.

Pytanie 29

Zmienne typu int odnoszą się do liczb całkowitych

A. całkowitych
B. w notacji zmiennoprzecinkowej
C. naturalnych
D. w notacji stałoprzecinkowej

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zmienne typu int w języku programowania odnoszą się do wartości całkowitych, co oznacza, że mogą przechowywać liczby bez części dziesiętnych. W zależności od konkretnego języka programowania, zmienne int mogą mieć różne zakresy wartości, które są determinowane przez liczbę bitów przydzielanych do ich reprezentacji. Na przykład, w języku C++ typ int najczęściej zajmuje 4 bajty (32 bity), co pozwala na reprezentację liczb w zakresie od -2 147 483 648 do 2 147 483 647. Wartości całkowite są szeroko stosowane w programowaniu do zliczania, indeksowania, a także kiedy precyzja jest kluczowa, na przykład w obliczeniach matematycznych, gdzie ułamki i wartości zmiennoprzecinkowe byłyby nieodpowiednie. Ważne jest również uwzględnienie standardów, takich jak ISO C, które definiują sposób działania typów danych w danym języku. Dla programistów znajomość zmiennych int i ich zastosowań jest podstawą efektywnego pisania algorytmów i rozwiązań problemowych.

Pytanie 30

Instrukcja SQL przedstawiona w formie graficznej

ALTER TABLE 'miasta'
ADD 'kod' text;
A. dodaje do tabeli kolumnę o nazwie kod typu text
B. wprowadza do tabeli dwie kolumny o nazwach: kod i text
C. zmienia nazwę tabeli miasta na nazwę kod
D. w tabeli miasta zmienia nazwę kolumny kod na nazwę text
Zrozumienie polecenia ALTER TABLE w SQL jest ważne, ale czasem ludzie mają problemy z interpretacją. To polecenie służy do zmiany struktury tabeli, a nie do zmiany nazw kolumn czy tabel. W Twoim przykładzie używasz słowa kluczowego ADD, co wskazuje na dodanie nowego elementu, a nie na zmianę nazwy. Jeśli myślisz, że możesz zmienić nazwę kolumny, to wchodzisz na minę, bo to wymaga innego polecenia, jak RENAME lub ALTER COLUMN w niektórych systemach SQL. Wydaje się, że niektórzy myślą, że każde ALTER TABLE wiąże się z nazwami, ale to nie tak. Dlatego ważne jest, żeby znać składnię, bo błędne użycie poleceń może prowadzić do problemów, jak utrata danych. Jeśli testujesz nowe polecenia w kontrolowanym środowisku, to lepiej zrozumiesz, jak to działa i unikniesz typowych pomyłek w SQL.

Pytanie 31

Jaki jest wynik wykonania pętli for w poniższym kodzie PHP, jeśli chodzi o wypisanie liczb?

<?php
for($i=5; $i>1; $i-=2)
echo (
$i%2) . " " ;
?
>
A. 1 0 1 0
B. 1 0 1
C. 1 1
D. 1 0

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Pętla for w kodzie PHP inicjuje zmienną i wartością 5 i iteruje dopóki i jest większe niż 1 zmniejszając wartość i o 2 w każdej iteracji. Wewnętrznie pętla wyświetla wartość wyrażenia i % 2 czyli resztę z dzielenia i przez 2. W przypadku początkowej wartości i równej 5 reszta z dzielenia 5 przez 2 wynosi 1. Następnie wartość i jest zmniejszana o 2 dając 3 dla której reszta dzielenia przez 2 również wynosi 1. W ostatniej iteracji i przyjmuje wartość 1 i pętla się kończy ponieważ warunek i > 1 nie jest już spełniony. Dlatego wynikiem działania tej pętli jest 1 1. Warto zauważyć że użycie operatora modulo jest powszechną praktyką w programowaniu do określania parzystości liczby. Często wykorzystuje się go w algorytmach które wymagają naprzemiennego wykonania operacji lub filtrowania danych. Kod demonstruje także jak efektywnie kontrolować przepływ pętli za pomocą warunku zakończenia i modyfikacji zmiennej sterującej co jest kluczowe w optymalizacji algorytmów.

Pytanie 32

Tabela Pracownicy zawiera informacje na temat pracowników różnych działów, co jest zaznaczone przez pole liczbowe dzial. Z racji tego, że zazwyczaj kwerendy dotyczą tylko działu 2, można uprościć zapytania do tej tabeli, tworząc wirtualną tabelę o nazwie Prac_dzial2 przy użyciu zapytania

A. VIEW Prac_dzial2 SELECT FROM Pracownicy WHERE dzial=2;
B. VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2;
C. CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2;
D. CREATE VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2;
Wybór odpowiedzi, która nie zawiera pełnej składni SQL, prowadzi do nieporozumień w zrozumieniu, jak działa tworzenie widoków w bazach danych. Odpowiedzi takie jak 'CREATE VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2;' są błędne, ponieważ użycie słowa kluczowego 'FROM' jest niewłaściwe w kontekście definicji widoku. W standardowym SQL używa się 'AS' do określenia zapytania, które definiuje widok, co jest kluczowe dla poprawnego przetwarzania zapytania przez silnik bazy danych. Z kolei odpowiedzi, które zaczynają się od 'VIEW', takie jak 'VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2;' oraz 'VIEW Prac_dzial2 SELECT FROM Pracownicy WHERE dzial=2;', są całkowicie niepoprawne, ponieważ w SQL nie istnieje polecenie 'VIEW' jako samodzielne polecenie do tworzenia widoków. To może prowadzić do mylnego przekonania, że komendy SQL są bardziej elastyczne w kwestii składni, co nie jest zgodne z rzeczywistością. Użytkownicy powinni zawsze odnosić się do dokumentacji SQL oraz standardów, aby upewnić się, że struktura zapytań jest zgodna z wymaganiami danego systemu bazy danych. Rozumienie poprawnej składni i semantyki SQL jest podstawowym elementem efektywnego zarządzania bazami danych i kluczowym krokiem w procesie nauki oraz implementacji skutecznych rozwiązań bazodanowych.

Pytanie 33

Które z poniższych zdań poprawnie opisuje utworzoną tabelę?

CREATE TABLE dane (kolumna INTEGER(3));
A. Kolumny tabeli dane są nazwane: kolumna1, kolumna2, kolumna3
B. Tabela o nazwie dane ma jedną kolumnę typu całkowitego
C. Tabela zawiera jedną kolumnę, która przechowuje trzyelementowe tablice
D. Tabela o nazwie dane składa się z trzech kolumn typu całkowitego

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcja CREATE TABLE w podanym przykładzie tworzy tabelę o nazwie `dane` z jedną, jedyną kolumną o nazwie `kolumna` i typie `INTEGER(3)`. Kluczowe są tu dwie rzeczy: po pierwsze, nazwa tabeli (`dane`), po drugie, lista kolumn w nawiasie. W tej liście jest tylko jedna pozycja: nazwa kolumny i jej typ danych. W SQL każda definicja kolumny to osobny wpis, oddzielany przecinkiem. Skoro nie ma przecinka, to znaczy, że jest dokładnie jedna kolumna. Zapis `INTEGER(3)` nie oznacza trzech kolumn ani tablicy, tylko typ liczbowy całkowity z określoną „szerokością wyświetlania” (w MySQL) lub po prostu liczbę całkowitą – w wielu silnikach baz danych nawias jest wręcz ignorowany. W praktyce tę kolumnę możemy potem używać np. do przechowywania wieku, liczby sztuk towaru, numeru poziomu uprawnień itp. Przykładowo: `INSERT INTO dane (kolumna) VALUES (5);` wstawi rekord z wartością 5 w tej jednej kolumnie. Z mojego doświadczenia warto przy projektowaniu tabel zawsze jasno nazywać kolumny, tak żeby z samej nazwy wynikało, co przechowują, np. `wiek`, `ilosc_sztuk`, a nie ogólne `kolumna`. Dobrą praktyką jest też od razu dodanie klucza głównego, np. `id INT AUTO_INCREMENT PRIMARY KEY`, ale w tym zadaniu skupiamy się tylko na liczbie kolumn i ich typie. To pytanie dobrze pokazuje, że w SQL struktura tabeli wynika z liczby pozycji w nawiasie, a nie z liczby w nawiasie przy typie danych.

Pytanie 34

Rozmiar grafiki JPEG zamieszczonej na stronie www może wpływać na

A. błędy w składni HTML.
B. zgodność z systemem Windows.
C. czas ładowania strony.
D. szybsze sprawdzanie linków.
Wielkość grafiki JPEG umieszczonej na stronie internetowej ma istotny wpływ na długość czasu ładowania strony. Gdy obraz jest zbyt duży, wymaga większej ilości danych do pobrania, co wydłuża czas, który użytkownik musi czekać na wyświetlenie zawartości. Optymalizacja grafik jest więc kluczowym aspektem projektowania stron internetowych. W praktyce, kompresja zdjęć przed ich załadowaniem na stronę, na przykład przy użyciu narzędzi takich jak ImageOptim lub TinyPNG, może znacząco zmniejszyć rozmiar pliku bez widocznej utraty jakości. Zgodnie z wytycznymi Google PageSpeed Insights, obrazy powinny być odpowiednio dostosowane do wymagań dotyczących jakości i rozmiaru. Sprawne zarządzanie grafiką może poprawić współczynnik konwersji oraz zredukować współczynnik odrzuceń, co jest kluczowe dla sukcesu witryny. Prędkość ładowania strony ma również znaczenie dla SEO, ponieważ wyszukiwarki preferują strony, które ładują się szybko, co wpływa na pozycjonowanie. Dlatego odpowiednia optymalizacja obrazów JPEG jest niezbędna dla każdej witryny internetowej, aby zapewnić pozytywne doświadczenia użytkowników oraz dobre wyniki w rankingach wyszukiwarek.

Pytanie 35

Jaką wartość przyjmie zmienna po wykonaniu poniższego fragmentu kodu w JavaScript?

var w=0;
var i=1;
for (i = 1; i < 50; i++)
{
    if (i%2 == 0)
        w += i;
}
A. liczbom naturalnym, które są nieparzyste i mniejsze od 50
B. suma naturalnych liczb parzystych, które są mniejsze od 50
C. liczbie naturalnych liczb parzystych większych od 50
D. suma wszystkich naturalnych liczb nieparzystych, które są większe od 50

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kod przedstawiony w pytaniu jest fragmentem programu JavaScript, który ma za zadanie zsumować wszystkie liczby parzyste mniejsze od 50. Początkowo zmienna w jest ustawiona na 0 i reprezentuje sumę, którą będziemy obliczać. Pętla for zaczyna się od i=1 i iteruje do i<50 zwiększając wartość i o 1 w każdej iteracji. Wewnątrz pętli znajduje się instrukcja warunkowa if, która sprawdza, czy liczba i jest parzysta, co oznacza, że jej reszta z dzielenia przez 2 wynosi 0. Jeśli warunek jest spełniony, liczba i jest dodawana do zmiennej w. W efekcie po zakończeniu pętli zmienna w zawiera sumę wszystkich parzystych liczb mniejszych niż 50. Przykładem praktycznego zastosowania takiego algorytmu może być sytuacja, w której musimy szybko obliczyć sumę określonego zbioru liczb spełniających dane kryterium, co jest częste w analizie danych lub generowaniu raportów. Konstrukcje takie jak pętla for i operator modulo są podstawowymi narzędziami w programowaniu, pozwalającymi na efektywne przetwarzanie danych i automatyzację złożonych operacji obliczeniowych, co jest zgodne z dobrymi praktykami w branży IT.

Pytanie 36

W CSS określono styl dla pola do edycji, które będzie miało tło w kolorze jasnozielonym po aktywacji.

input:focus { background-color: LightGreen; }
A. w każdej sytuacji
B. gdy jest to pierwsze użycie tego elementu w dokumencie
C. po kliknięciu myszką w celu wprowadzenia tekstu
D. jeśli zostanie na nie najechane kursorem bez kliknięcia
Typowe błędy myślowe prowadzące do niepoprawnych odpowiedzi często obejmują mylenie różnych stanów interakcji z elementami formularzy. Na przykład, odpowiedź sugerująca, że stylizowane tło zostaje aktywowane "gdy zostanie wskazane kursorem myszy bez kliknięcia" myli pojmowanie stanu focus z prostym najechaniem kursorem. W rzeczywistości, stan focus aktywuje się tylko w wyniku interakcji, takiej jak kliknięcie lub nawigacja za pomocą klawiatury. Kolejną nieścisłością jest stwierdzenie, że formatowanie ma zastosowanie "w każdym przypadku". Takie podejście nie uwzględnia faktu, że styl focus jest specyficzny dla interakcji użytkownika, a więc jego zastosowanie jest ograniczone do sytuacji, w których element jest aktywny. Warto zauważyć, że dobrze zaprojektowane formularze online powinny wykorzystywać zdarzenia focus i blur, aby dostarczać użytkownikom pomocnych wskazówek oraz ułatwić wprowadzanie danych. Ignorowanie tych koncepcji prowadzi do projektowania interfejsów, które nie są w pełni responsywne wobec potrzeb użytkowników. Dlatego zrozumienie różnicy między focus a zwykłym wskazaniem kursorem jest kluczowe dla tworzenia efektywnych i przyjaznych dla użytkownika aplikacji internetowych.

Pytanie 37

Jakim sposobem w języku PHP można zapisać komentarz zajmujący kilka linii?

A. #
B. //
C. /* */
D. <!-- -->

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W języku PHP, sposób komentowania bloku komentarza w kilku liniach to użycie znaków /* i */. Taki sposób pozwala na umieszczenie dowolnej ilości tekstu w obrębie tych znaków, co jest niezwykle przydatne, gdy chcemy opisać bardziej złożoną funkcję lub fragment kodu. Na przykład, w czasie tworzenia dokumentacji kodu, często stosujemy bloki komentarzy do szczegółowego opisania działania funkcji, parametrów oraz zwracanych wartości. Dzięki temu każdy programista, który będzie pracował z naszym kodem w przyszłości, może szybko zrozumieć jego przeznaczenie. Dobrą praktyką jest również umieszczanie daty aktualizacji oraz informacji o autorze w takich blokach, co ułatwia zarządzanie projektem. Stosowanie bloków komentarzy jest zgodne z konwencjami programistycznymi, co zwiększa czytelność kodu i jego późniejszą konserwację.

Pytanie 38

Zidentyfikuj poprawnie zbudowany warunek w języku PHP, który sprawdza brak połączenia z bazą MySQL.

A. if (mysqli_connect_errno()){}
B. if (mysql_connect_error())()
C. if {mysql_connect_errno()}{}
D. if {mysqli_connect_error()}{}

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź, którą zaznaczyłeś, to 'if (mysqli_connect_errno()){}'. Funkcja 'mysqli_connect_errno()' mówi nam, jaki błąd wystąpił, jeśli nie udało się połączyć z bazą danych MySQL. Jeśli zwraca coś innego niż zero, to znaczy, że coś poszło nie tak. Używamy warunku 'if' w PHP, żeby sprawdzić, czy coś jest prawdą, a w tym wypadku badamy, czy wystąpił błąd podczas łączenia się. Kiedy już wiemy, że są problemy, warto dodać logikę do obsługi błędów, na przykład powiedzieć użytkownikowi, co się wydarzyło lub zapisywać szczegóły w logach. Pamiętaj, żeby korzystać z 'mysqli', bo 'mysql' to już staroć i nie jest rozwijana. ‘Mysqli’ to lepszy wybór, bo daje nam więcej możliwości oraz lepsze bezpieczeństwo i wydajność w aplikacjach webowych.

Pytanie 39

Baza danych szkoły podstawowej dla dzieci w wieku 6 lat obejmuje tabelę szkoła, która zawiera kolumny: imie, nazwisko, klasa. Wszyscy uczniowie w klasach od 1 do 5 przeszli do wyższej klasy. W celu zwiększenia wartości w kolumnie klasa o 1, należy wykonać następujące polecenie

A. SELECT nazwisko, imie FROM klasa = klasa + 1 WHERE klasa>l OR klasa < 5
B. SELECT szkoła FROM klasa = klasa + 1 WHERE klasa >=1 AND klasa <= 5
C. UPDATE szkoła SET klasa = klasa + 1 WHERE klasa >=1 AND klasa <= 5
D. UPDATE nazwisko, imie SET klasa = klasa + 1 WHERE klasa>l OR klasa < 5

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawne polecenie to 'UPDATE szkoła SET klasa = klasa + 1 WHERE klasa >=1 AND klasa <= 5;'. To zapytanie aktualizuje wartość w kolumnie 'klasa' dla wszystkich uczniów w tabeli 'szkoła', których aktualny poziom klasy mieści się w zakresie od 1 do 5. Kluczowym elementem jest użycie polecenia UPDATE, które jest standardowym sposobem na modyfikowanie danych w bazach danych SQL. Oznaczenie 'SET klasa = klasa + 1' wskazuje, że chcemy zwiększyć obecną wartość w kolumnie 'klasa' o 1. Warto zwrócić uwagę na warunek WHERE, który filtruje rekordy tak, aby aktualizacja dotyczyła tylko tych uczniów, którzy są w klasach 1-5. Tego rodzaju operacje są powszechnie stosowane w zarządzaniu danymi w aplikacjach edukacyjnych i są zgodne z praktykami bezpieczeństwa i integralności danych, zapewniając, że tylko odpowiednie rekordy są aktualizowane. Przykładem praktycznego zastosowania może być coroczna aktualizacja klas uczniów po zakończeniu roku szkolnego.

Pytanie 40

Który zbiór znaczników, określających projekt strony internetowej w sposób semantyczny, jest zgodny z normą HTML 5?

Ilustracja do pytania
A. Zbiór 1
B. Zbiór 4
C. Zbiór 2
D. Zbiór 3
Wykaz 4 jest zgodny ze standardem HTML 5, ponieważ poprawnie używa semantycznych znaczników do strukturyzacji zawartości strony. <header> jest używany do definiowania nagłówka dokumentu lub sekcji, co jest poprawne dla Bloku 1. Znacznik <main> w Bloku 2 wskazuje na główną treść strony, co jest zgodne z jego przeznaczeniem. <aside> w Bloku 3 jest trafnie używany do treści pobocznych, które są związane, ale niekonieczne dla głównego wątku treści, co odpowiada typowej strukturze witryny, gdzie treści poboczne są często wyświetlane obok głównej treści. Na koniec, <footer> w Bloku 4 jest poprawnie przypisany, gdyż zamyka i podsumowuje zawartość strony. HTML5 kładzie duży nacisk na semantykę, co pomaga w optymalizacji pod kątem SEO oraz ułatwia rozumienie struktury strony zarówno przez ludzi, jak i maszyny. Takie podejście poprawia dostępność, ułatwia stylizowanie za pomocą CSS oraz wspiera lepsze praktyki w zakresie zgodności z przyszłymi standardami.