Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 kwietnia 2026 11:50
  • Data zakończenia: 8 kwietnia 2026 12:03

Egzamin niezdany

Wynik: 15/40 punktów (37,5%)

Wymagane minimum: 20 punktów (50%)

Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

W językach programowania o układzie strukturalnym, aby przechować dane o 50 uczniach (ich imionach, nazwiskach oraz średniej ocen), konieczne jest zastosowanie

A. tablicy z 50 elementami o składowych typu łańcuchowego
B. struktury z 50 elementami o składowych typu tablicowego
C. tablicy z 50 elementami o składowych strukturalnych
D. klasy z 50 elementami typu tablicowego
Wybór tablicy 50 elementów o składowych strukturalnych jest prawidłowy ze względu na potrzebę przechowywania złożonych danych o uczniach. W tym przypadku, każdy element tablicy powinien reprezentować jednego ucznia i zawierać jego imię, nazwisko oraz średnią ocen. Struktura danych, taka jak struktura, pozwala na grupowanie różnych typów danych w jeden obiekt, co jest zgodne z dobrymi praktykami programowania w językach strukturalnych. Przykładowo, w języku C można zadeklarować strukturę dla ucznia w następujący sposób: `struct Uczen { char imie[50]; char nazwisko[50]; float srednia; };`. Następnie można utworzyć tablicę 50 elementów tej struktury: `struct Uczen uczniowie[50];`. Stosowanie struktur w tym kontekście ułatwia zarządzanie danymi i zwiększa czytelność kodu, co jest szczególnie ważne w przypadku projektów wymagających łatwego dostępu do różnych atrybutów obiektów. Używanie dobrze zdefiniowanych struktur danych jest zgodne z zasadami programowania obiektowego, nawet w językach proceduralnych, i przyczynia się do lepszej organizacji kodu oraz jego skalowalności.

Pytanie 2

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

A. Inwersja.
B. Barwienie.
C. Progowanie.
D. Krzywe.
Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.

Pytanie 3

Aby ustanowić relację jeden do wielu, w tabeli reprezentującej stronę "wiele", konieczne jest zdefiniowanie

A. klucza sztucznego odnoszącego się do kluczy podstawowych obydwu tabel
B. klucza podstawowego wskazującego na klucz podstawowy tabeli po stronie "jeden"
C. klucza obcego wskazującego na klucz podstawowy tabeli po stronie "jeden"
D. klucza obcego odnoszącego się do klucza obcego tabeli po stronie "jeden"
Definiowanie relacji w bazach danych to dosyć skomplikowana sprawa. Jakby nie patrzeć, jak zrobisz coś źle z kluczami obcymi czy podstawowymi, to mogą być duże problemy z danymi. Klucz sztuczny, który odnosi się do kluczy podstawowych w obu tabelach, może wydawać się prosty, ale nie rozwiązuje faktycznego problemu, którym jest jasna relacja między danymi. To wprowadza dodatkowe zamieszanie, a to nie jest dobra praktyka. Jak zdefiniujesz klucz obcy, który wskazuje na inny klucz obcy w tabeli po stronie 'jeden', no to może być tylko mętlik, bo ciężko wtedy utrzymać spójność danych. Klucz podstawowy, który wskazuje na klucz podstawowy z tabeli po stronie 'jeden', to również zły wybór, bo klucz podstawowy ma być unikalny dla każdej tabeli. Kluczowe jest, żeby klucze obce były używane w odpowiedni sposób, bo inaczej struktura danych robi się nieczytelna i trudna do zarządzania, a to na pewno nie idzie w parze z dobrym projektowaniem baz danych.

Pytanie 4

Aby sprawdzić, czy kod JavaScript działa poprawnie, należy skorzystać z

A. interpretera PHP
B. interpretera PERL
C. kompilatora C++
D. konsoli w przeglądarce internetowej
Odpowiedzi, które mówią o interpreterach lub kompilatorach innych języków, nie są dobre, jeśli mówimy o testowaniu kodu JavaScript. Na przykład, interpreter PHP dotyczy zupełnie innego języka, który służy głównie do robienia dynamicznych stron internetowych. Podobnie z kompilatorami C++, które zamieniają kod C++ na pliki wykonywalne, więc nie mają nic wspólnego z JavaScript. Nawet interpreter PERL, mimo że to język skryptowy, nie może być użyty do testowania JavaScript. JavaScript działa w przeglądarkach i korzysta z silników takich jak V8 w Chrome czy SpiderMonkey w Firefoxie. Z tego powodu najlepszym wyborem do testowania kodu JavaScript jest konsola w przeglądarkach, bo jest zaprojektowana specjalnie do tego celu.

Pytanie 5

Fragment kwerendy SQL zaprezentowany w ramce ma na celu uzyskanie

SELECT COUNT(wartosc) FROM ...
A. średnią wartość w kolumnie wartosc.
B. liczbę kolumn.
C. sumę wartości w kolumnie wartosc.
D. liczbę wierszy.
SELECT COUNT(wartosc) w zapytaniu SQL jest często mylone z innymi funkcjami agregującymi, co może prowadzić do nieporozumień dotyczących jego działania. COUNT jest specyficznie zaprojektowany do zliczania niepustych wartości w określonej kolumnie, dlatego nie jest używany do obliczania sumy czy średniej wartości. Suma w kolumnie wartosc wymagałaby użycia funkcji SUM(wartosc), która zlicza wartości liczbowe. Z kolei obliczanie średniej wartości w kolumnie wymagałoby zastosowania funkcji AVG(wartosc), która dzieli sumę wartości przez liczbę niepustych wierszy. Mylenie tych funkcji może prowadzić do błędnych interpretacji danych i niepoprawnych wyników, co jest kluczowe w środowisku biznesowym, gdzie precyzja i dokładność są niezbędne. Warto zauważyć, że zrozumienie różnic w działaniu funkcji agregujących jest fundamentalne dla efektywnej analizy danych. Stosowanie odpowiednich funkcji pozwala na optymalizację zapytań oraz zapewnia, że uzyskane wyniki są zgodne z oczekiwaniami analitycznymi, co jest kluczowe w podejmowaniu decyzji opartych na danych.

Pytanie 6

Aby ustawić tło na stronie www należy użyć polecenia

A. <body bgcolor=""></body>
B. <bgcolor=""></bgcolor>
C. <body background=""></body>
D. <background=""></background>
Wszystkie inne odpowiedzi zawierają błędy i nie są zgodne z aktualnymi standardami HTML. Użycie znacznika <background> jest niewłaściwe, ponieważ taki znacznik nie istnieje w HTML; w związku z tym nie ma możliwości jego zastosowania w dokumentach HTML. Co więcej, atrybut <bgcolor> występuje tylko w kontekście znacznika <body> i nie może być używany jako samodzielny element. W przypadku użycia <body background=''> sytuacja jest podobna. Atrybut background był stosowany w starszych wersjach HTML do określenia obrazu tła, co również jest przestarzałe, ponieważ CSS oferuje znacznie bardziej elastyczne opcje. Używanie <body background='url(obrazu.jpg)'> może wciąż działać w niektórych przeglądarkach, ale nie jest to polecana praktyka. Ostatecznie, użycie <bgcolor> jest także ograniczone, ponieważ nie można nim ustawić tła w postaci obrazów czy gradientów, co jest możliwe przy użyciu CSS. Dlatego warto przyjąć nowoczesne podejście do stylizacji stron internetowych, opierając się na CSS, co jest zgodne z aktualnymi standardami i praktykami w branży.

Pytanie 7

W zaprezentowanym fragmencie zapytania SQL, instrukcja SELECT ma za zadanie zwrócić

SELECT COUNT(wartosc) FROM ...
A. średniej wartości tabeli
B. liczby rekordów
C. średniej w kolumnie wartosc
D. suma w kolumnie wartosc
Komenda SELECT COUNT w języku SQL jest używana do zwracania liczby wierszy w rezultacie zapytania. Użycie funkcji COUNT z nazwą kolumny, jak w przykładzie SELECT COUNT(wartosc), pozwala policzyć wszystkie niepuste wartości w danej kolumnie wartosc w tabeli. Jest to przydatne w przypadkach, gdy chcemy zrozumieć, ile danych spełnia określone kryteria, lub gdy interesuje nas liczba wierszy zawierających wartości w konkretnej kolumnie. Funkcja COUNT jest jedną z podstawowych funkcji agregujących w SQL, co oznacza, że podsumowuje dane w określony sposób. Stosowanie tej funkcji jest zgodne z najlepszymi praktykami w projektowaniu baz danych, gdzie często potrzebujemy analizować dane w sposób ilościowy. Przykładowo, jeśli prowadzimy bazę danych klientów, możemy użyć SELECT COUNT(id) FROM klienci, aby dowiedzieć się, ilu mamy zarejestrowanych klientów. Ta funkcja jest także kluczowym elementem w optymalizacji zapytań, ponieważ pozwala na szybkie uzyskanie informacji o liczbie rekordów bez konieczności przetwarzania wszystkich danych z tabeli. Zrozumienie działania COUNT i jego zastosowań jest kluczowe dla efektywnego przetwarzania danych i tworzenia wydajnych zapytań w języku SQL.

Pytanie 8

Pole autor w tabeli ksiazka jest:

CREATE TABLE ksiazka (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
tytul VARCHAR(200),
autor SMALLINT UNSIGNED NOT NULL,
CONSTRAINT `dane` FOREIGN KEY (autor) REFERENCES autorzy(id)
);
A. polem typu tekstowego zawierającym informacje o autorze
B. polem wykorzystanym w relacji z tabelą dane
C. kluczem obcym związanym z tabelą autorzy
D. kluczem podstawowym tabeli ksiazka
Wybór odpowiedzi wskazującej, że pole autor jest kluczem głównym tabeli ksiazka jest błędny, ponieważ klucz główny jest unikalnym identyfikatorem każdego rekordu w tabeli, a w tym przypadku pole id pełni tę rolę. Klucz główny zapewnia, że każdy rekord w tabeli jest jednoznacznie identyfikowalny, co jest kluczowe dla integralności danych. Z kolei klucz obcy, jak w tym przypadku, odnosi się do innej tabeli, co nie ma związku z rolą klucza głównego. Kolejny błąd polega na stwierdzeniu, że pole autor jest polem typu napisowego. W rzeczywistości, pole autor jest zdefiniowane jako SMALLINT UNSIGNED, co oznacza, że przechowuje liczby całkowite, a nie tekst. Ta nieścisłość jest kluczowa, ponieważ typ danych wpływa na sposób, w jaki dane są przechowywane i przetwarzane. Ponadto, błędne jest również podanie, że pole autor jest polem wykorzystanym przy relacji z tabelą dane, ponieważ nie istnieje taka tabela w podanym kontekście. W tym przypadku, odniesienie do tabeli dane jest mylące i nieadekwatne do struktury bazy danych. Przykłady dobrych praktyk w projektowaniu schematów baz danych obejmują poprawne użycie typów danych oraz stosowanie kluczy obcych do zabezpieczenia relacji między tabelami, co jest kluczowe dla efektywnej i bezpiecznej architektury bazy danych.

Pytanie 9

W zaprezentowanym schemacie bazy danych o nazwie biblioteka, składniki: czytelnik, wypożyczenie oraz książka są

Ilustracja do pytania
A. krotkami
B. encjami
C. atrybutami
D. polami
W modelowaniu relacyjnych baz danych encje są kluczowymi elementami, które reprezentują obiekty rzeczywistego świata, wokół których zbudowana jest struktura bazy. W przedstawionym diagramie bazy danych biblioteki encjami są czytelnik wypozyczenie i ksiazka. Każda z tych encji posiada swoje własne atrybuty, które opisują jej właściwości na przykład encja czytelnik ma takie atrybuty jak imię nazwisko i adres. W kontekście praktycznym encje są odwzorowywane na tabele w bazie danych gdzie wiersze tabeli reprezentują poszczególne instancje encji a kolumny reprezentują atrybuty. Rozumienie różnicy między encjami a atrybutami jest istotne dla efektywnego projektowania baz danych zgodnie z dobrymi praktykami takimi jak normalizacja, która pomaga unikać redundancji danych. W związku z tym prawidłowe zrozumienie i identyfikacja encji ma kluczowe znaczenie w budowaniu skalowalnych i wydajnych baz danych. W praktyce analizy danych encje są podstawą do tworzenia modeli relacyjnych które umożliwiają generowanie raportów i analizowanie danych w sposób zorganizowany i logiczny

Pytanie 10

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

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

Pytanie 11

W języku PHP zapis // służy do

A. dodawania komentarza jednoliniowego
B. zastosowania operatora dzielenia bez reszty
C. używania tablicy superglobalnej
D. dodawania komentarza wieloliniowego
Zastosowanie tablicy superglobalnej nie ma bezpośredniego związku z używaniem znaku //. Superglobalne tablice w PHP, takie jak $_POST, $_GET czy $_SESSION, służą do przechowywania i wymiany danych pomiędzy stronami, ale nie mają nic wspólnego z komentarzami. Wstawianie komentarza wieloliniowego jest poprawnym sposobem dodawania dłuższych wyjaśnień w kodzie, jednak znakiem // nie uzyskujemy tego efektu, a raczej ograniczamy się do komentarzy jednoliniowych. Z kolei zastosowanie operatora dzielenia bez reszty również nie jest powiązane z komentarzami. Operator / służy do dzielenia wartości, a jego użycie nie wymaga znaków // do oznaczania komentarzy. W środowisku programistycznym często można spotkać mylne przekonania, że znaki komentarza mogą pełnić inne funkcje, co prowadzi do nieporozumień w stosowaniu kodu. Prawidłowe rozumienie komentarzy w PHP jest kluczowe dla tworzenia zrozumiałego i łatwego do utrzymania kodu. Nieprawidłowe przypisanie funkcji komentarzy do innych elementów języka PHP może prowadzić do poważnych błędów w kodzie oraz trudności w jego analizie przez innych programistów.

Pytanie 12

Jak umieścić komentarz w kodzie PHP?

A. /* ... */
B. <? ... ?>
C. <!-- ... -->
D. /? ... ?/
Wiele osób mogących mieć z początku problemy z właściwym umiejscowieniem komentarzy w kodzie PHP, często korzysta z niewłaściwych składni. Na przykład, odpowiedź <? ... ?> sugeruje, że komentarz można umieścić w specjalnych znacznikach PHP, co jest błędne. W rzeczywistości znaki te służą do otwierania i zamykania bloków kodu PHP, a nie do tworzenia komentarzy. Z kolei odpowiedź /? ... ?/ jest również niepoprawna, ponieważ nie istnieje w PHP żadna składnia komentarza oparta na tym systemie. Typowe błędy myślowe prowadzące do takich wniosków są związane z nieporozumieniem dotyczącym funkcji znaczników PHP. Inną nieprawidłową odpowiedzią jest <!-- ... -->, która jest używana w HTML do komentowania kodu, lecz nie ma zastosowania w PHP. Kluczowe jest zrozumienie, że każda technologia ma swoje własne zasady dotyczące kodowania oraz komentarzy, a mieszanie tych reguł może prowadzić do nieporozumień i błędów w kodzie. Dobre praktyki programistyczne jasno wskazują, że komentarze powinny być używane z umiarem i w odpowiednich miejscach, aby nie wprowadzać zamieszania zarówno w kodzie, jak i w jego interpretacji przez innych programistów.

Pytanie 13

Aby uruchomić skrypt JavaScript, potrzebne jest oprogramowanie

A. serwera MySQL
B. serwera WWW
C. debuggera JavaScript
D. przeglądarki internetowej
Aby uruchomić skrypt JavaScript, niezbędne jest posiadanie przeglądarki internetowej, która obsługuje JavaScript. Przeglądarki takie jak Chrome, Firefox, Safari czy Edge zawierają silniki JavaScript, które interpretują i wykonują skrypty na stronach internetowych. Przykładowo, gdy użytkownik wchodzi na stronę internetową, która wykorzystuje JavaScript do dynamicznego ładowania treści lub interakcji z użytkownikiem, przeglądarka przetwarza skrypty w czasie rzeczywistym, co wpływa na doświadczenie użytkownika. Przeglądarki regularnie aktualizują swoje silniki, co przyczynia się do poprawy wydajności i bezpieczeństwa. Dodatkowo, korzystanie z narzędzi deweloperskich w przeglądarkach, takich jak konsola JavaScript, umożliwia programistom testowanie i debugowanie skryptów w łatwy sposób. W kontekście standardów webowych, JavaScript jest kluczowym elementem technologii front-end, współpracując z HTML i CSS, aby zapewnić interaktywność i responsywność stron internetowych. Warto również zauważyć, że niektóre frameworki, takie jak React czy Angular, również opierają się na JavaScript, co podkreśla jego znaczenie w nowoczesnym web developmencie.

Pytanie 14

Jakie są określenia typowych komend języka SQL, które dotyczą przeprowadzania operacji na danych SQL DML (np.: dodawanie danych do bazy, usuwanie, modyfikowanie danych)?

A. SELECT, SELECT INTO
B. ALTER, CREATE, DROP
C. DELETE, INSERT, UPDATE
D. DENY, GRANT, REVOKE
Odpowiedź DELETE, INSERT, UPDATE jest prawidłowa, ponieważ te polecenia stanowią podstawowe instrukcje języka SQL DML (Data Manipulation Language), które są wykorzystywane do manipulacji danymi w bazie danych. DELETE służy do usuwania rekordów z tabel, co jest niezbędne w sytuacjach, gdy dane są już nieaktualne lub niepotrzebne. INSERT umożliwia dodawanie nowych rekordów, co jest kluczowe w procesie wprowadzania danych, na przykład dodawania nowych klientów do bazy danych. Z kolei UPDATE pozwala na modyfikację już istniejących danych, co jest istotne w przypadku zmiany informacji, takich jak aktualizacja adresu klienta. W praktyce te operacje są niezwykle ważne dla utrzymania spójności i aktualności danych w systemach zarządzania bazami danych. Warto również zauważyć, że stosowanie tych poleceń zgodnie z dobrymi praktykami, takimi jak transakcje, pozwala na zabezpieczenie integralności danych oraz umożliwia łatwe wycofywanie zmian w przypadku błędów.

Pytanie 15

SELECT AVGcena) FROM usługi; Celem użycia funkcji agregującej AVG w tym zapytaniu jest

A. zliczyć ilość dostępnych usług w tabeli
B. wyliczyć średnią arytmetyczną cen wszystkich usług
C. określić najwyższą cenę usług
D. zsumować wartości kosztów wszystkich usług
Odpowiedź "obliczyć średnią arytmetyczną cen wszystkich usług" jest poprawna, ponieważ funkcja AVG (average) w SQL jest zaprojektowana do obliczania średniej wartości z zestawu danych w danej kolumnie. W podanym zapytaniu, AVG(cena) ma na celu zsumowanie wartości w kolumnie 'cena' dla wszystkich wierszy w tabeli 'usługi' oraz podzielenie tej sumy przez liczbę wierszy, które zawierają dane. W praktyce, średnia arytmetyczna jest niezwykle użyteczna w analizie danych, ponieważ pozwala na uzyskanie jednego, reprezentatywnego wyniku, który może być pomocny w podejmowaniu decyzji biznesowych. Na przykład, firma usługowa może użyć tej informacji do oceny swojej polityki cenowej, porównując średnią cenę swoich usług do średnich cen konkurencji. Zgodnie z najlepszymi praktykami w branży, stosowanie funkcji agregujących takich jak AVG powinno być integralną częścią procesów analizy danych, szczególnie w kontekście raportowania i oceny efektywności operacyjnej.

Pytanie 16

W języku PHP, aby uzyskać dostęp do pliku dane.txt w trybie tylko do odczytu i odczytać jego zawartość, należy użyć funkcji:

A. fopen("dane.txt", "r") oraz fgets()
B. fopen("dane.txt", "r") oraz fputs()
C. fopen("dane.txt", "w") oraz fgets()
D. fopen("dane.txt", "w") oraz fputs()
Wszystkie pozostałe opcje są niepoprawne z kilku kluczowych powodów. Odpowiedź z użyciem 'fopen' w trybie 'w' (zapis) jest błędna, ponieważ otwiera plik do zapisu, co powoduje, że jego zawartość zostanie nadpisana, a nie odczytana. To fundamentalny błąd w zrozumieniu trybów otwierania plików w PHP. Funkcja 'fputs' służy do zapisywania danych do pliku, co jest nieadekwatne, gdy celem jest odczyt treści. Oprócz tego, nie można użyć 'fgets' do odczytu z pliku otwartego w trybie zapisu, ponieważ ta funkcja wymaga, aby plik był otwarty w trybie odczytu. Ponadto, wiele osób mylnie zakłada, że wystarczy otworzyć plik w dowolnym trybie, aby móc go odczytać, jednak w rzeczywistości każdy tryb ma swoje specyficzne zastosowanie. Błąd polegający na używaniu trybu 'w' zamiast 'r' może prowadzić do poważnych problemów w aplikacji, takich jak utrata danych. Dlatego krytycznie ważne jest, aby w pełni zrozumieć, jak różne tryby otwierania plików wpływają na ich późniejsze wykorzystanie. Bez tej wiedzy, programista może wprowadzić niezamierzone błędy do swojego kodu.

Pytanie 17

W CSS, co spowoduje poniższy kod z plikiem rysunek.png?

p {background-image: url("rysunek.png");}
A. tłem dla każdego akapitu
B. tłem całej witryny
C. widoczny, jeśli zastosowany zostanie znacznik img w kodzie
D. pokazany obok każdego akapitu
Rozważmy niepoprawne odpowiedzi które dotyczą innych zastosowań obrazów w CSS. Pierwsza sugestia że obraz będzie tłem całej strony jest błędna ponieważ aby to osiągnąć należałoby przypisać właściwość background-image do selektora body a nie p. Tylko wtedy obraz tła obejmowałby całą stronę. Z kolei odpowiedź sugerująca że obraz zostanie wyświetlony przy użyciu znacznika img również nie jest prawidłowa w kontekście kodu CSS który odnosi się do tła a nie do wstawiania obrazów jako treści dokumentu HTML. Taki efekt można uzyskać tylko poprzez odpowiednie osadzenie obrazu w kodzie HTML a nie za pomocą właściwości background-image. Trzecia niepoprawna sugestia że obraz będzie wyświetlany obok każdego paragrafu jest niezgodna z działaniem CSS dla tła. W rzeczywistości ustawienie background-image wpływa tylko na tło elementu a nie na jego zewnętrzne ułożenie. Typowym błędem przy interpretacji znaczenia background-image jest założenie że wpływa on na pozycjonowanie czy zawartość w sposób inny niż wizualne tło co może prowadzić do nieporozumień w kontekście projektowania stron internetowych. Ważne jest zrozumienie że background-image w CSS służy jedynie do dekoracyjnego aspektu wewnątrz danego selektora i nie zmienia struktury dokumentu HTML co stanowi kluczowy element w projektowaniu responsywnych i estetycznych stron www.

Pytanie 18

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 zrealizowany przez frameworki aplikacji webowych (ASP.NET)
C. Mechanizm uruchamiania aplikacji dla bibliotek klas
D. Mechanizm uruchamiania aplikacji realizowany przez funkcję Windows API (Application Programming Interface)
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 19

Za pomocą zapytania SQL trzeba uzyskać z bazy danych nazwiska pracowników, którzy pełnią funkcję kierownika, a ich wynagrodzenie mieści się w przedziale jednostronnie domkniętym (3000, 4000>. Która klauzula sprawdza ten warunek?

A. WHERE kierownik = true AND pensja => 3000 OR pensja < 4000
B. WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000
C. WHERE kierownik = true OR pensja > 3000 OR pensja <= 4000
D. WHERE kierownik = true AND pensja => 3000 AND pensja <= 4000
Wszystkie pozostałe odpowiedzi zawierają błędne podejścia do formułowania odpowiednich warunków w zapytaniu SQL. Przykładowo, pierwsza z odpowiedzi sugeruje użycie operatora '=>', który jest nieprawidłowy, ponieważ w standardowym SQL powinien być użyty operator '>=', który oznacza 'większy lub równy'. Użycie tego operatora w tym kontekście powoduje, że zapytanie zwraca pracowników z pensją równą 3000, co jest niezgodne z wymaganym przedziałem. Kolejna odpowiedź wykorzystuje operator '>', co jest poprawne, ale połączenie go z 'pensja <= 4000' w sposób, w jaki to zostało sformułowane, również nie spełnia wymogu jednostronnego domknięcia przedziału. Oznacza to, że odpowiedź ta nie respektuje struktury zadania, które precyzuje, iż dolna granica pensji powinna być wyłączona, a górna włączona. Odpowiedzi oparte na operatorze 'OR' w przypadku niektórych odpowiedzi wprowadzają zamieszanie, ponieważ sugerują, że jakikolwiek spełniony warunek (kierownik lub pensja) wystarczy do zwrócenia pracownika. To jest fundamentalny błąd w logice zapytania, ponieważ nie uwzględnia wymogu, że oba warunki muszą być jednocześnie spełnione, aby właściwie zdefiniować grupę pracowników. Prawidłowe formułowanie zapytań SQL wymaga zrozumienia operatorów logicznych oraz zasad filtracji danych, co jest kluczowe dla skutecznej analizy i zarządzania danymi w bazach danych.

Pytanie 20

Która zasada dotyczy programowania strukturalnego? 

A. Dla powtarzających się sekwencji instrukcji należy tworzyć procedury i funkcje.
B. Można tworzyć obiekty składające się z pól i metod.
C. Nie można korzystać z instrukcji warunkowych if. 
D. W kodzie programu należy często korzystać z instrukcji skoku goto.
W tym pytaniu łatwo wpaść w kilka typowych pułapek myślowych dotyczących stylów programowania. Programowanie strukturalne często myli się z innymi paradygmatami, szczególnie z programowaniem obiektowym albo z bardzo starym, „spaghetti kodem” opartym na instrukcjach skoku. W efekcie pojawiają się błędne skojarzenia, że skoro jest jakiś „styl programowania”, to pewnie czegoś kategorycznie zabrania, albo że sprowadza się do modnych pojęć jak obiekty czy klasy. Jednym z takich nieporozumień jest przekonanie, że w programowaniu strukturalnym nie wolno używać instrukcji warunkowych if. Jest dokładnie odwrotnie. Instrukcje warunkowe są jednym z trzech filarów programowania strukturalnego, obok sekwencji i pętli. To właśnie dzięki nim można budować czytelne rozgałęzienia logiki programu, zamiast skakać po kodzie goto. Gdy ktoś myśli, że „strukturalne” oznacza „bez if”, to zwykle wynika to z pomieszania pojęć albo z jakiegoś źle zapamiętanego hasła z teorii. Kolejna myląca sprawa to obiekty z polami i metodami. To już jest domena programowania obiektowego, które pojawiło się później i rozwinęło idee programowania strukturalnego, ale ich nie zastąpiło. W podejściu stricte strukturalnym skupiamy się na funkcjach, procedurach i danych, a nie na łączeniu ich w klasy i obiekty. Oczywiście w praktyce, w językach takich jak PHP czy JavaScript, często mieszamy te paradygmaty, ale sama możliwość tworzenia obiektów nie jest zasadą programowania strukturalnego. Dość zdradliwa jest też pokusa, żeby intensywnie korzystać z instrukcji skoku goto. Historycznie wiele języków je miało i programiści budowali z nich całe przepływy sterowania, co prowadziło do tzw. spaghetti code – kodu trudnego do śledzenia i utrzymania. Programowanie strukturalne właśnie z tym walczy: zamiast skakać w losowe miejsca pliku, używamy pętli, instrukcji warunkowych oraz dobrze wydzielonych procedur i funkcji. Jeżeli ktoś uważa goto za „skrócenie drogi”, to zwykle kończy z kodem, którego nikt nie chce potem dotykać. Sedno sprawy jest takie, że podstawowe dobre praktyki – unikanie goto, świadome używanie if i pętli, wydzielanie powtarzających się fragmentów do funkcji – to fundament, na którym buduje się dalsze, bardziej zaawansowane style programowania. Zrozumienie, dlaczego pozostałe odpowiedzi są sprzeczne z tym podejściem, pomaga lepiej ogarnąć, skąd wzięły się współczesne standardy jakości kodu i czemu tak mocno kładzie się nacisk na czytelność oraz utrzymywalność programu.

Pytanie 21

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

A. font-decoration
B. text-decoration
C. font-style
D. text-align
Właściwość 'text-align' dotyczy ustawienia wyrównania tekstu w obrębie kontenera. Jej zastosowanie koncentruje się na takich wartościach jak 'left', 'right', 'center' czy 'justify', które wpływają na układ tekstu na stronie, ale nie mają związku z jego dekoracją. Z kolei 'font-style' odnosi się do stylu czcionki, umożliwiając taką manipulację jak kursywa lub normalny styl, jednak nie kontroluje dekoracji tekstu. Z kolei 'font-decoration' nie jest standardową właściwością CSS; błędne jej wykorzystanie może wynikać z nieznajomości konwencji CSS. Właściwości takie jak 'text-decoration' są zdecydowanie bardziej odpowiednie do osiągania zamierzonych efektów wizualnych na tekście. Często początkujący programiści mylą te różne właściwości, co prowadzi do niepoprawnego stylizowania elementów tekstowych. Warto zwrócić uwagę, że każda z wymienionych właściwości ma swoje unikalne zastosowanie i wymagania, dlatego kluczowe jest zrozumienie ich specyfiki oraz kontekstu użycia w projekcie stron internetowych. Prawidłowe stosowanie właściwości CSS jest niezbędne dla zapewnienia estetyki oraz funkcjonalności strony, co jest fundamentalne w nowoczesnym web designie.

Pytanie 22

Który znacznik ma zastosowanie w sekcji body dokumentu HTML?

A. <link>
B. <h2>
C. <title>
D. <meta>
W tym pytaniu często myli się dwa podstawowe obszary dokumentu HTML: sekcję <head> oraz sekcję <body>. To jest taki klasyczny błąd początkujących – wszystko wygląda jak „znaczniki HTML”, więc kusi, żeby wrzucać je wszystkie do jednego worka, a jednak każdy ma swoje konkretne miejsce i przeznaczenie. Sekcja <body> służy do umieszczania treści widocznej dla użytkownika: nagłówków, akapitów, obrazów, list, przycisków, formularzy. Natomiast <head> zawiera metadane, konfigurację i informacje pomocnicze dla przeglądarki, wyszukiwarek i innych narzędzi. Znacznik <link> jest elementem typowym dla sekcji <head>. Służy między innymi do podłączania arkuszy stylów CSS (np. <link rel="stylesheet" href="style.css">), ikon strony (favicon) czy innych zasobów powiązanych z dokumentem. Umieszczanie <link> w <body> jest sprzeczne z dobrą praktyką i specyfikacją – przeglądarka zwykle to „przełknie”, ale jest to zły nawyk i może powodować problemy z wydajnością i walidacją kodu. Podobnie <title> to znacznik, który definiuje tytuł strony wyświetlany na karcie przeglądarki oraz używany przez wyszukiwarki. On musi się znajdować w <head>. Nie jest elementem treści, którą widzi użytkownik w samym obszarze strony, tylko opisem dokumentu. Wstawienie <title> do <body> łamie strukturę dokumentu, a część narzędzi i walidatorów wskaże to jako błąd. Znacznik <meta> również należy wyłącznie do sekcji <head>. Służy do przekazywania metadanych, na przykład informacji o kodowaniu znaków (<meta charset="UTF-8">), opisu strony, słów kluczowych, ustawień dla robotów wyszukiwarek czy danych dla mediów społecznościowych (Open Graph). To są dane konfiguracyjne, a nie zawartość strony. Typowym błędnym myśleniem jest traktowanie wszystkich tych znaczników jako „zwykłych elementów HTML, które można dać gdziekolwiek”. W nowoczesnym podejściu kładzie się duży nacisk na semantykę: każdy element ma swoje logiczne miejsce. Dzięki temu kod jest czytelny, zgodny ze standardami W3C, lepiej interpretowany przez wyszukiwarki i narzędzia wspomagające. Dlatego w sekcji <body> powinniśmy umieszczać takie znaczniki jak <h1>–<h6>, <p>, <div>, <section>, <article>, <nav> i inne elementy treści, natomiast <link>, <title> i <meta> pozostają w <head>, bo pełnią zupełnie inną rolę niż widoczna zawartość strony.

Pytanie 23

Jaką metodę przesyłania danych za pomocą formularza do kodu PHP należy uznać za najbardziej bezpieczną dla poufnych informacji?

A. Metoda POST, przy użyciu protokołu HTTPS
B. Metoda GET, przy użyciu protokołu HTTP
C. Metoda GET, przy użyciu protokołu HTTPS
D. Metoda POST, przy użyciu protokołu HTTP
Metoda POST, za pomocą protokołu HTTPS jest najbezpieczniejszym sposobem przesyłania danych poufnych w formularzach internetowych. Główną zaletą metody POST jest to, że dane nie są widoczne w adresie URL, co redukuje ryzyko ich ujawnienia w przypadku zapisania historii przeglądania lub w logach serwera. Co więcej, HTTPS, czyli HTTP Secure, zapewnia dodatkową warstwę zabezpieczeń poprzez szyfrowanie danych przesyłanych pomiędzy klientem a serwerem. Dzięki temu, nawet jeśli dane zostaną przechwycone przez nieautoryzowany podmiot, będą one zaszyfrowane, co znacznie utrudnia ich odczytanie. Zastosowanie tej metody jest szczególnie kluczowe w przypadku formularzy wymagających wprowadzenia danych osobowych, informacji finansowych lub logowania do konta użytkownika. W praktyce, wiele współczesnych aplikacji internetowych wymaga stosowania POST i HTTPS jako standardu do przesyłania wrażliwych informacji, co jest zgodne z najlepszymi praktykami bezpieczeństwa oraz standardami branżowymi takim jak OWASP.

Pytanie 24

Który z poniższych sposobów na komentarz jednoliniowy jest akceptowany w języku JavaScript?

A. #
B. <!
C. //
D. !
W JavaScript, jeśli chcesz dodać komentarz jednoliniowy, musisz użyć podwójnych ukośników, czyli '//' na początku linii. Te komentarze są naprawdę przydatne, bo pozwalają ci opisać, co robi dany kawałek kodu, albo czasami wyłączyć fragmenty podczas testowania. Co fajne, to że wszystko, co napiszesz za '//' zostanie zignorowane przez interpreter, więc nie będzie miało wpływu na działanie skryptu. Przykład: masz linijkę 'let x = 5; // Ustawia wartość x na 5', i wszystko po '//' nie będzie brane pod uwagę przez JavaScript. Komentarze są zgodne z ECMAScript, który jest takim standardem dla tego języka. Szczerze mówiąc, dobrze jest używać komentarzy do dokumentacji, bo to ułatwia czytanie kodu i pracę z innymi programistami. Pamiętaj, żeby robić je zwięzłe, ale muszą też dobrze tłumaczyć, co miał na myśli autor kodu.

Pytanie 25

W HTML, aby utworzyć sekcję z cytatem, która może zawierać wiele akapitów i aby przeglądarka dodała wspólne wcięcie, trzeba użyć znacznika

A. <q>
B. <indent>
C. <blockq>
D. <blockquote>
Znacznik <q> jest używany do oznaczania cytatów wprowadzonej w linii, co oznacza, że jest przeznaczony do krótkich cytatów, a nie dłuższych fragmentów tekstu. Jego zastosowanie nie zapewnia odpowiedniego wcięcia ani oddzielenia wizualnego od reszty treści, co może prowadzić do nieczytelności dłuższych cytatów. Odpowiedź <indent> nie jest poprawna, ponieważ nie istnieje taki znacznik w HTML. Użytkownicy mogą pomylić go z CSS, gdzie właściwość 'text-indent' służy do dodawania wcięć, ale sama nie definiuje struktury dokumentu. Z kolei <blockq> to literówka, gdyż poprawny znacznik to <blockquote>. Użycie nieistniejącego znacznika prowadzi do błędów w renderowaniu strony i zmniejsza jej semantyczność. Ważne jest, aby w projektowaniu stron internetowych stosować właściwe i standardowe znaczniki HTML, które nie tylko wpływają na estetykę, ale również na SEO i dostępność. W kontekście zarządzania treścią na stronie internetowej, niepoprawne użycie znaczników może wprowadzać w błąd użytkowników oraz maszyny przeszukujące, co negatywnie wpływa na ich doświadczenia i skuteczność wyszukiwania.

Pytanie 26

Rezultatem wykonania podanego zapytania SQL jest

SELECT count(*) FROM Uczniowie WHERE srednia = 5;
A. Suma ocen uczniów, których średnia ocen wynosi 5.
B. Liczba uczniów, którzy mają średnią ocen równą 5.
C. Całkowita liczba uczniów.
D. Średnia ocen wszystkich uczniów.
Zapytanie SQL, które zostało przedstawione, używa funkcji `COUNT(*)` w celu zliczenia wszystkich wierszy w tabeli `Uczniowie`, które spełniają określone kryterium w klauzuli `WHERE`. W tym przypadku kryterium to jest `srednia = 5`. Oznacza to, że zapytanie zlicza wszystkich uczniów, których średnia ocen wynosi dokładnie 5. Takie użycie `COUNT(*)` jest zgodne ze standardami SQL, gdzie funkcja ta służy do zliczania wszystkich wierszy w zbiorze wyników, które spełniają dane warunki. W praktyce, uzyskanie liczby uczniów z określoną średnią może być przydatne w analizie statystycznej lub raportowaniu wyników akademickich. Zrozumienie, jak korzystać z `COUNT(*)` w połączeniu z różnymi warunkami `WHERE`, jest kluczowe dla efektywnego zarządzania i analizowania danych w bazach danych SQL. Dzięki temu można wydobywać konkretne informacje, które wspierają podejmowanie decyzji w edukacji i zarządzaniu danymi.

Pytanie 27

W języku PHP symbol "//" oznacza

A. operator dzielenia całkowitego.
B. początek komentarza jednoliniowego
C. operator alternatywy.
D. początek programu.
Znak "//" w PHP to początek komentarza jednoliniowego. Komentarze to naprawdę ważna część kodowania, bo dzięki nim można dodawać notatki, które wyjaśniają, co się dzieje w kodzie. Ułatwia to późniejsze zrozumienie przy pracy nad projektem. Kiedy programista wpisuje "//", mówi interpreterowi PHP, żeby zignorował wszystko, co znajduje się w tej linii po tym znaku. Dzięki temu można opisywać funkcje czy klasy albo tymczasowo wyłączać część kodu, gdy testujemy różne rzeczy. To dobra praktyka, bo czytelność i dokumentacja kodu są kluczowe, szczególnie w większych projektach. Przykładowo, można zobaczyć taki komentarz: // Funkcja oblicza sumę dwóch liczb function suma($a, $b) { return $a + $b; } Dzięki takiemu komentarzowi inny programista szybko zrozumie, co ta funkcja robi, co jest super ważne w sytuacjach, gdy w zespole jest więcej osób.

Pytanie 28

Wskaż styl CSS za pomocą, którego uzyskano przedstawiony efekt

Styl 1.
img {
  width: 100px;
  border-radius: 10%;
}
Styl 2.
img {
  width: 100px;
  border-radius: 50px;
}
Styl 3.
img {
  width: 100px;
  border: 50% green;
}
Styl 4.
img {
  width: 100px;
  shape: circle;
}
Ilustracja do pytania
A. Styl 3.
B. Styl 2.
C. Styl 1.
D. Styl 4.
Niestety, wybrałeś niepoprawną odpowiedź. Poprawną odpowiedzią jest 'Styl 2.', który wykorzystuje właściwość CSS border-radius z wartością 50px do zaokrąglania rogów obrazka. Zobaczmy, dlaczego pozostałe style są niepoprawne. 'Styl 1.' ma za małą wartość zaokrąglenia, co nie daje oczekiwanego efektu. Właściwość border-radius musi mieć odpowiednią wartość, aby uzyskać pożądane zaokrąglenie. 'Styl 3.' zawiera niepoprawną wartość, a mianowicie kolor. Kolor nie jest właściwą wartością dla border-radius, co pokazuje, jak ważne jest zrozumienie, jakie wartości są akceptowane dla różnych właściwości CSS. 'Styl 4.' używa właściwości shape, która nie istnieje w CSS. To jest błąd typowy dla osób, które nie są jeszcze pewne, które właściwości są dostępne w CSS. Jest to jasnym przykładem, dlaczego nauka i praktyka CSS są tak ważne do tworzenia atrakcyjnych i funkcjonalnych stron internetowych.

Pytanie 29

W języku HTML, aby połączyć w pionie dwie sąsiadujące komórki w kolumnie tabeli, należy użyć atrybutu

A. cellpadding
B. rowspan
C. colspan
D. cellspacing
W kontekście scalania komórek w pionie w HTML, inne proponowane atrybuty są nieodpowiednie. Atrybut colspan służy do scalania komórek w poziomie, co oznacza, że pozwala na połączenie kilku komórek w jednym wierszu, co jest zupełnie inną operacją niż scalanie w pionie. Używanie colspan byłoby nieodpowiednie w sytuacji, gdy celem jest połączenie komórek w kolumnie. Atrybut cellpadding dotyczy natomiast przestrzeni wewnętrznej, określającej odstęp pomiędzy zawartością komórki a jej krawędziami. Jego zastosowanie nie wpływa na scalanie komórek, a jedynie na ich wygląd, co sprawia, że jest to zupełnie inny aspekt formatowania tabeli. Podobnie atrybut cellspacing, który jest używany do definiowania odstępów między komórkami tabeli, również nie ma zastosowania w procesie scalania komórek. Obydwa te atrybuty mogą być użyte do poprawy estetyki tabeli, ale nie wpływają na strukturę danych w sposób, który byłby wymagany do osiągnięcia pionowego scalania komórek. Użycie ich zamiast rowspan jest błędne i prowadzi do niepoprawnego zrozumienia struktury HTML oraz sposobu, w jaki tabele powinny być zbudowane.

Pytanie 30

Polecenie DBCC CHECKDB ('sklepAGD', Repair_fast) w systemie MS SQL Server

A. zweryfikuje spójność danej tabeli
B. sprawdzi spójność konkretnej tabeli i naprawi uszkodzone dane
C. sprawdzi spójność bazy danych i naprawi uszkodzone indeksy
D. przeprowadzi kontrolę spójności bazy danych i wykona kopię zapasową
Polecenie DBCC CHECKDB jest kluczowym narzędziem w MS SQL Server do monitorowania integralności bazy danych. Użycie opcji Repair_fast sprawia, że system nie tylko sprawdza spójność bazy danych, ale także podejmuje działania naprawcze w przypadku wykrycia uszkodzonych indeksów. Uszkodzone indeksy mogą znacząco wpływać na wydajność zapytań oraz ogólną stabilność bazy danych. Przykładem zastosowania CHECKDB z Repair_fast może być sytuacja, w której administrator zauważa spowolnienie działania aplikacji. W takim przypadku, uruchomienie tego polecenia pozwala na szybką diagnozę i naprawę ewentualnych problemów z indeksami, co przywraca optymalną wydajność. W praktyce zaleca się regularne wykonywanie tego polecenia w celu zapobiegania problemom oraz zapewnienia zdrowia bazy danych. Standardy branżowe sugerują także, aby przed wykonaniem jakiejkolwiek naprawy, w tym Repair_fast, zawsze tworzyć kopię zapasową bazy danych, co pozwala na minimalizację ryzyka utraty danych.

Pytanie 31

Aby skutecznie zrealizować algorytm, który znajdzie największą z trzech podanych liczb a, b oraz c, wystarczy użyć

A. dwóch warunków
B. dwóch tablic
C. jednej pętli
D. pięciu zmiennych
Zastosowanie pięciu zmiennych w tym zadaniu jest zbędne i wskazuje na nadmierne skomplikowanie algorytmu. Aby ustalić największą liczbę, nie ma potrzeby przechowywania więcej niż trzech wartości, które reprezentują a, b i c. Użycie dodatkowych zmiennych może prowadzić do zamieszania w kodzie i jest sprzeczne z zasadą efektywności. Ponadto, koncepcja użycia jednej pętli w tym kontekście jest również błędna, ponieważ nie ma potrzeby iterowania przez dane w celu porównania ich wartości. Algorytm powinien być prosty, a pętla wprowadza zbędną kompleksowość. Dwie tablice również nie są właściwym rozwiązaniem, ponieważ problem może być rozwiązany bez konieczności organizowania danych w strukturze tablicowej. Wprowadzenie tablicy mogłoby sugerować, że istnieje potrzeba wielokrotnego porównywania wartości, co jest nieefektywne i niepraktyczne. Ponadto, nieprawidłowe podejścia mogą prowadzić do nieefektywnego wykorzystania pamięci i zasobów, co jest sprzeczne z najlepszymi praktykami w inżynierii oprogramowania. Zrozumienie, dlaczego proste porównanie wystarczy, jest kluczowe w rozwijaniu umiejętności programistycznych i umiejętności rozwiązywania problemów.

Pytanie 32

Który z modyfikatorów określa opisany w ramce przypadek? Metoda i zmienna są dostępne wyłącznie dla innych metod tej samej klasy

A. public
B. private
C. protected
D. static
Modyfikatory dostępu mają kluczowe znaczenie dla organizacji i bezpieczeństwa kodu. Odpowiedzi wskazujące na 'static', 'public' oraz 'protected' są nieprawidłowe w kontekście podanego opisu. Modyfikator 'static' oznacza, że metoda lub zmienna należy do klasy, a nie do instancji klasy, co pozwala na dostęp do niej bez tworzenia obiektu. Jest to użyteczne w przypadku narzędzi lub metod pomocniczych, ale nie odpowiada na wymaganie dotyczące ograniczenia dostępu. Modyfikator 'public' z kolei pozwala na dostęp do elementów z każdego miejsca w kodzie, co jest sprzeczne z definicją zawężającego dostępu do innych metod klasy. Użycie 'public' w tym kontekście prowadzi do sytuacji, w której inne klasy mogą niebezpiecznie zmieniać stan obiektów, co jest sprzeczne z zasadami dobrego projektowania. Modyfikator 'protected' umożliwia dostęp do elementów dla klas dziedziczących oraz dla tych, które znajdują się w tej samej paczce, co również nie spełnia wymogu ograniczenia dostępu wyłącznie do metod własnej klasy. Typowe błędy myślowe, prowadzące do wyboru niewłaściwych odpowiedzi, często wynikają z braku zrozumienia zasad projektowania obiektowego oraz niewłaściwego kojarzenia modyfikatorów z poziomem dostępu. Dlatego kluczowe jest zrozumienie, że 'private' jest jedynym modyfikatorem, który w pełni spełnia wymagania opisane w pytaniu.

Pytanie 33

Która metoda JavaScript służy do dodawania nowego elementu na końcu tablicy?

A. shift()
B. push()
C. pop()
D. unshift()
Metoda <code>push()</code> w JavaScript jest odpowiedzialna za dodawanie nowych elementów na końcu tablicy. Jest to jedna z podstawowych metod manipulujących tablicami i jest szeroko stosowana w różnych projektach webowych. Przykładowo, jeśli masz tablicę zawierającą listę produktów w koszyku zakupowym, możesz użyć <code>push()</code>, aby dodać nowy produkt do tej listy. Ta metoda nie tylko dodaje element, ale także zwraca nową długość tablicy, co jest przydatne, gdy chcesz wiedzieć, ile elementów obecnie zawiera tablica. Warto również zauważyć, że <code>push()</code> modyfikuje oryginalną tablicę, co oznacza, że jest to operacja destruktywna. Użycie tej metody jest zgodne z dobrymi praktykami, ponieważ jest ona szybka i efektywna, zwłaszcza gdy potrzebujesz dynamicznie zmieniać zawartość tablicy w trakcie działania aplikacji.

Pytanie 34

Jednoznacznym identyfikatorem rekordu w bazie danych jest pole

A. klucza głównego.
B. klucza obcego.
C. wyłącznie typu logicznego.
D. wyłącznie typu tekstowego.
Poprawna jest odpowiedź dotycząca klucza głównego, bo to właśnie pole (lub zestaw pól) oznaczone jako PRIMARY KEY w tabeli pełni rolę jednoznacznego identyfikatora rekordu. W praktyce oznacza to, że dla każdej krotki (wiersza) w tabeli wartość klucza głównego musi być unikalna i nie może być pusta (NULL). Systemy baz danych, takie jak MySQL, PostgreSQL, SQL Server czy Oracle, egzekwują te zasady automatycznie – jeśli spróbujesz wstawić drugi rekord z tą samą wartością klucza głównego, dostaniesz błąd naruszenia unikalności. Moim zdaniem to jedna z kluczowych zasad normalnego projektowania baz danych: zawsze projektujemy tabelę zaczynając od przemyślania klucza głównego. W aplikacjach webowych bardzo często używa się prostego klucza głównego typu liczbowego (np. INT AUTO_INCREMENT lub SERIAL), który jest technicznym identyfikatorem rekordu. Dzięki temu łatwo się odwołać do konkretnego użytkownika, zamówienia czy produktu po jego ID. Klucz główny jest też podstawą do definiowania kluczy obcych w innych tabelach – relacje typu 1:N czy N:M opierają się właśnie na odwołaniach do wartości PRIMARY KEY. Z mojego doświadczenia wynika, że stosowanie sztucznych (surrogate) kluczy głównych, zamiast kombinowania z wieloma polami naturalnymi, upraszcza później zapytania SQL, modyfikacje struktury i integrację z kodem w PHP czy JavaScript. W dobrze zaprojektowanej bazie danych każda tabela relacyjna powinna mieć jasno zdefiniowany klucz główny, bo bez tego trudno mówić o porządnym zarządzaniu danymi, spójności referencyjnej i wydajnym indeksowaniu.

Pytanie 35

Która z podanych funkcji w języku PHP zwraca sumę połowy wartości a oraz połowy wartości b?

A. function licz($a,$b){return 2/$a+2/$b; }
B. function licz($a,$b){return $a/2+$b/2; }
C. function licz($a,$b){return $a/2+$b; }
D. function licz($a,$b){return ($a/2+$b)/2; }
W sytuacjach, gdy programista stara się obliczyć sumę połowy a i połowy b, mogą wystąpić różne nieporozumienia dotyczące logiki matematycznej oraz syntaktyki języka PHP. Niepoprawne odpowiedzi zawierają różne koncepcje, które nie realizują założonego celu. Przykładowo, jedna z funkcji zwraca wartość 2/$a + 2/$b. To podejście nie tylko nie oblicza połowy wartości a i b, ale również prowadzi do obliczeń odwrotnych, co może dawać zaskakujące wyniki w przypadku zmiany wartości zmiennych. W praktyce, stosowanie takich wzorów może prowadzić do poważnych błędów, szczególnie gdy wartości a i b są bliskie zeru, co może skutkować dzieleniem przez zero. Inna funkcja, która oblicza ($a/2 + $b)/2, również jest niepoprawna, ponieważ oblicza średnią z sumy połowy a oraz wartości b, co nie spełnia postawionego zadania. Takie błędne podejście do formułowania równań może wynikać z braku zrozumienia podstaw arytmetyki oraz struktury funkcji w PHP. Programiści powinni być świadomi, że każdy błąd w definicji funkcji może prowadzić do nieprzewidywalnych wyników, dlatego tak istotne jest, aby przed implementacją skonsultować logikę obliczeń i dokładnie zaplanować, co funkcja ma osiągnąć.

Pytanie 36

Podczas edytowania grafiki w programie do obróbki grafiki rastrowej należy usunąć kolory z obrazu, aby uzyskać wersję w odcieniach szarości. Do osiągnięcia tego efektu można wykorzystać funkcję

A. desaturacji
B. kadrowania
C. szumu RGB
D. filtru rozmycia
Kadrowanie to proces, który polega na przycinaniu obrazu, zmieniając jego rozmiar i proporcje, co nie ma związku z eliminacją kolorów. Choć kadrowanie może poprawić kompozycję zdjęcia, nie wpływa na jego kolorystyczną zawartość. Szum RGB odnosi się do niepożądanych artefaktów w obrazie, które mogą być wynikiem zakłóceń w sygnale podczas skanowania lub przetwarzania obrazu. Szum nie jest techniką edycyjną, lecz problemem, który można zredukować za pomocą filtrów, ale nie eliminuje kolorów. Filtr rozmycia jest narzędziem służącym do wygładzania krawędzi i detali w obrazie, co przyczynia się do uzyskania miękkiego efektu. Rozmycie nie usuwa kolorów, a jedynie modyfikuje ich widoczność poprzez rozprzestrzenianie pikseli, co może prowadzić do utraty szczegółów, ale nie ma na celu uzyskania odcieni szarości. W związku z tym, żadna z tych metod nie jest odpowiednia do osiągnięcia efektu desaturacji, który jest kluczowy dla konwersji obrazu do formy monochromatycznej.

Pytanie 37

W systemie PHP złożono zapytanie SELECT do bazy przy pomocy funkcji mysqli_query. Jaką funkcję powinien wykorzystać użytkownik, aby ustalić liczbę rekordów, które zwróciło to zapytanie?

A. mysqli_fetch_row
B. mysqli_num_rows
C. mysqli_connect
D. mysqli_query
Wybór innych funkcji jako odpowiedzi na pytanie jest niezgodny z ich rzeczywistym przeznaczeniem w kontekście analizy wyników zapytań w PHP. Funkcje takie jak mysqli_fetch_row służą do pobierania pojedynczego wiersza z zestawu wyników i nie dostarczają informacji o łącznej liczbie rekordów. Użycie tej funkcji może prowadzić do błędnych wniosków, gdyż zamiast podać liczbę wyników, zwraca jedynie dane jednego wiersza. Innym przykładem jest mysqli_query, która jest odpowiedzialna za wykonanie zapytania, ale nie oferuje metody na określenie ilości zwróconych rekordów. Podobnie, mysqli_connect jest funkcją do nawiązywania połączenia z bazą danych, co jest zupełnie nieadekwatne w kontekście analizy wyników zapytań. Użytkownicy często mylą te funkcje, ponieważ wszystkie są częścią pakietu MySQLi, jednak każda z nich ma swoje specyficzne zastosowanie. Właściwe zrozumienie roli poszczególnych funkcji jest kluczowe dla efektywnej pracy z bazami danych w PHP. Ignorowanie tego może prowadzić do nieefektywnego kodu oraz problemów z wydajnością aplikacji. Dlatego ważne jest, aby przed przystąpieniem do pisania zapytań zrozumieć, jakie funkcje będą potrzebne i jakie dane chcemy uzyskać.

Pytanie 38

Znacznik <s> w HTML generuje

A. pochylenie tekstu
B. migotanie tekstu
C. podkreślenie tekstu
D. przekreślenie tekstu
Wybrałeś odpowiedź o pochyleniu tekstu, ale to nie jest poprawne. Do pochylenia używamy znaczników <em> lub <i>, a one mają trochę inne zadanie. Pochylenie tekstu zazwyczaj wyróżnia ważne elementy, co różni się od przekreślenia. A migotanie tekstu, chociaż może fajnie wygląda, to nie jest wspierane w HTML i zazwyczaj osiąga się to przez CSS, co nie jest najlepszym pomysłem z punktu widzenia dostępności. Może to frustrować użytkowników i nawet powodować problemy zdrowotne, na przykład migreny. Co do podkreślenia, to jest robione przez znacznik <u>, który też ma inne przeznaczenie. Często ludzie mylą podkreślenie z przekreśleniem, bo oba zmieniają wygląd, ale ich znaczenie jest inne. Podkreślenie sugeruje link, co też może wprowadzać zamieszanie. Takie nieporozumienia mogą wynikać z braku zrozumienia, jak działają znaczniki HTML oraz jak je stosować w praktyce, by tworzyć treści, które są zrozumiałe i dostępne. Dobre używanie znaczników poprawia nie tylko estetykę, ale też wspiera standardy dostępności, co jest naprawdę istotne w nowoczesnym projektowaniu stron.

Pytanie 39

Wskaż prawdziwe stwierdzenie dotyczące polecenia:

CREATE TABLE IF NOT EXISTS adres (ulica VARCHAR(70) CHARACTER SET utf8);
A. Do tabeli nie można wprowadzać nazw ulic zawierających polskie znaki.
B. Rekordem tabeli nie może być '3 MAJA'.
C. IF NOT EXISTS stosuje się opcjonalnie, aby upewnić się, że w bazie danych nie istnieje już taka tabela.
D. Klauzula CHARACTER SET utf8 jest obowiązkowa.
Dobrze, że wybrałeś właściwą odpowiedź! Polecenie CREATE TABLE IF NOT EXISTS jest rzeczywiście używane w SQL, aby stworzyć tabelę tylko wtedy, gdy nie istnieje ona już w bazie danych. To jest bardzo praktyczne narzędzie, które pozwala uniknąć błędów, gdy próbujemy stworzyć tabelę, która już istnieje. Jest to zgodne z dobrymi praktykami zarządzania danymi i jest oparte na standardach SQL. Dodatkowo, warto pamiętać, że klauzula CHARACTER SET utf8, chociaż nie jest obowiązkowa, pozwala na przechowywanie znaków specjalnych, w tym polskich. Jest to ważne, gdy pracujemy z danymi, które zawierają różne zestawy znaków. Dlatego, nawet jeśli nie jest to wymagane, często jest to dobra praktyka. Podobnie, warto pamiętać, że typ danych VARCHAR(70) pozwala na przechowywanie dowolnych ciągów znaków, w tym dat i nazw, więc nie ma żadnych ograniczeń co do tego, jakie informacje mogą być przechowywane w tabeli.

Pytanie 40

Aby ustanowić połączenie z serwerem bazy danych w języku PHP, należy użyć funkcji

A. mysqli_connect()
B. mysqli_get_connection_stats()
C. mysqli_autocommit()
D. mysqli_fetch_row()
Wybór funkcji, która ma za zadanie połączenie z bazą danych w PHP, jest mega istotny dla działania aplikacji. Niektóre opcje, jak mysqli_get_connection_stats(), mysqli_fetch_row() i mysqli_autocommit(), są często mylnie rozumiane jeśli chodzi o nawiązywanie połączenia. Mysqli_get_connection_stats() daje Ci statystyki połączenia i to jest fajne dla monitorowania wydajności, ale nie inicjuje połączenia. Mysqli_fetch_row() z kolei służy do ściągania wierszy z wyników zapytań SQL, więc też nie ma nic wspólnego z nawiązywaniem połączenia. Używasz jej, jak już połączenie jest nawiązane i masz jakieś wyniki. Mysqli_autocommit() to funkcja, która kontroluje transakcje, aktywuje lub dezaktywuje automatyczne zatwierdzanie. To jest ważne w kontekście transakcji, ale dalej nie ma nic wspólnego z samym połączeniem. Warto o tym pamiętać, bo wiele osób myli te funkcje na początku swojej drogi z kodowaniem, co często prowadzi do błędów. Z mojego doświadczenia wynika, że kluczowe jest rozumienie, jakiego rodzaju funkcje są do jakich zadań, bo to naprawdę ułatwia programowanie i minimalizuje błędy.