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: 30 kwietnia 2026 11:51
  • Data zakończenia: 30 kwietnia 2026 11:52

Egzamin niezdany

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

Formatem plików graficznych rastrowych z bezstratną kompresją jest

A. CDR
B. PNG
C. JNG
D. SVG
Format PNG (Portable Network Graphics) jest popularnym formatem plików graficznych stosowanym do zapisu obrazów rastrowych z kompresją bezstratną. Oznacza to, że podczas zapisywania pliku nie następuje utrata jakości obrazu, co czyni go idealnym do grafiki internetowej, gdzie jakość wizualna ma kluczowe znaczenie. PNG obsługuje przezroczystość, co pozwala na tworzenie grafik z tłem przejrzystym, co jest niezwykle przydatne w projektowaniu stron internetowych oraz w aplikacjach graficznych. Format ten wspiera także różne głębokości kolorów, co oznacza, że można go używać do przedstawiania obrazów w rozdzielczości do 48 bitów na kanał kolorów. W porównaniu do formatu GIF, PNG oferuje lepszą jakość obrazu oraz szersze możliwości zastosowań, ponieważ nie jest ograniczony do palety 256 kolorów. PNG jest zgodny z wieloma standardami, w tym z Internet Engineering Task Force (IETF), który przyjął go jako standard dla grafiki internetowej. Przykłady zastosowania formatu PNG obejmują ikony, logo oraz ilustracje, które wymagają wysokiej jakości i przezroczystości.

Pytanie 2

W języku PHP uzyskano wyniki kwerend z bazy danych przy użyciu polecenia mysql_query. Aby wydobyć z otrzymanej kwerendy pojedynczy wiersz danych, konieczne jest użycie polecenia

A. mysql_fetch_row
B. mysql_list_fields
C. mysql_fetch_lengths
D. mysql_field_len
Wszystkie inne odpowiedzi są nieprawidłowe z różnych powodów, które warto dokładnie zrozumieć. mysql_field_len to funkcja używana do uzyskania długości pola w danej tabeli, a więc nie ma zastosowania w kontekście pobierania wierszy danych. To podejście jest typowym błędem myślowym, w którym zamiast skupić się na operacji, która dotyczy danych wynikowych, użytkownik myli funkcje związane z metadanymi i długościami pól. mysql_list_fields, z kolei, służy do uzyskiwania listy pól w danej tabeli, co również nie odpowiada na potrzebę pobrania danych z kwerendy. Znowu, może to wynikać z nieporozumienia dotyczącego różnicy między metadanymi a rzeczywistymi danymi. Ostatnia funkcja, mysql_fetch_lengths, zwraca długości wszystkich pól w ostatnio pobranym wierszu, co jest przydatne, ale również nie sprosta zadaniu pobrania wiersza danych. Zrozumienie, że różne funkcje mają różne zastosowania, jest kluczowe w programowaniu, szczególnie w pracy z bazami danych, gdzie precyzyjność i znajomość funkcjonalności API są niezbędne do efektywnego działania aplikacji. Warto również dodać, że w kontekście nowoczesnych aplikacji zamiast przestarzałych funkcji mysql, lepiej jest używać mysqli lub PDO, które są bardziej bezpieczne i oferują lepsze wsparcie dla nowoczesnych praktyk programistycznych.

Pytanie 3

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr { background-color: Pink; }
B. tr:hover { background-color: Pink; }
C. tr:active { background-color: Pink; }
D. td, th { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 4

Model, w którym wszystkie dane są zapisane w jednej tabeli, określa się mianem

A. sieciowym
B. jednorodnym
C. hierarchicznym
D. relacyjnym
Modele sieciowe i hierarchiczne są zupełnie inne od modelu jednorodnego, bo wprowadzają więcej złożoności w to, jak dane są trzymane. Na przykład model sieciowy pozwala tworzyć różne powiązania jak w grafie, co daje większą elastyczność, ale już dla prostych aplikacji to może być przesada. Z kolei model hierarchiczny z tą swoją drzewiastą strukturą też potrafi namieszać, bo trudniej wtedy zarządzać informacjami. Żeby dobrze zrozumieć, jak to wszystko działa, trzeba pojąć hierarchię i jak ze sobą te dane grają, co czasami bywa problematyczne, jak relacje się zmieniają. Moim zdaniem, w modelu relacyjnym, gdzie dane są w różnych tabelach połączonych kluczami, zyskujemy więcej elastyczności, ale też zwiększa się złożoność. Dlatego często można się zagubić w tych wszystkich możliwościach, a model jednorodny zazwyczaj jest najlepszy tylko tam, gdzie nic skomplikowanego nie trzeba. Większość systemów bazodanowych korzysta jednak z modelu relacyjnego, bo to zgodne ze standardami SQL, co ułatwia życie na dłuższą metę.

Pytanie 5

Ustalenie klucza obcego jest konieczne do skonstruowania

A. klucza podstawowego
B. relacji 1..1
C. relacji 1..n
D. transakcji
Zdefiniowanie klucza obcego nie jest bezpośrednio związane z relacjami 1..1, transakcjami czy kluczem podstawowym, ponieważ każde z tych pojęć odnosi się do innego aspektu zarządzania danymi w relacyjnych bazach danych. W przypadku relacji 1..1, każdemu rekordowi w jednej tabeli odpowiada dokładnie jeden rekord w drugiej tabeli, co oznacza, że nie ma potrzeby stosowania klucza obcego, gdyż relacja ta nie wymaga wskazywania powiązań między różnymi rekordami. Ponadto, transakcje są zbiorem operacji, które muszą być wykonane w całości lub wcale, a klucz obcy nie ma bezpośredniego wpływu na ich działanie - klucze obce służą głównie do zapewnienia integralności danych, a nie do zarządzania transakcjami. Klucz podstawowy, z drugiej strony, to unikalny identyfikator każdego rekordu w tabeli, a jego definicja jest odrębna od definicji klucza obcego. W praktyce, pomylenie tych pojęć prowadzi do błędnych wniosków o strukturyzacji danych oraz ich relacjach, co może skutkować nieefektywnym projektowaniem baz danych oraz trudnościami w późniejszym zarządzaniu danymi.

Pytanie 6

Jakiego rodzaju relację uzyskuje się, łącząc ze sobą dwie tabele za pomocą kluczy głównych?

A. jeden do wielu
B. wiele do jednego
C. jeden do jednego
D. wiele do wielu
Wybór innych odpowiedzi, takich jak 'wiele do wielu', 'wiele do jednego' czy 'jeden do wielu', wynika zazwyczaj z nieporozumienia dotyczącego definicji i zastosowania relacji w bazach danych. Relacja wiele do wielu występuje, gdy wiele rekordów w jednej tabeli może być powiązanych z wieloma rekordami w innej tabeli, co jest często realizowane przez wprowadzenie tabeli pośredniczącej. Na przykład, w przypadku tabel 'Studenci' i 'Kursy', gdzie jeden student może zapisać się na wiele kursów, a każdy kurs może mieć wielu studentów, stosujemy relację wiele do wielu. Z kolei relacja wiele do jednego oznacza, że wiele rekordów w jednej tabeli odnosi się do jednego rekordu w innej tabeli, co ilustruje na przykład relacja 'Zamówienia' do 'Klientów', gdzie wiele zamówień może być złożonych przez jednego klienta. Natomiast relacja jeden do wielu charakteryzuje się tym, że jeden rekord w jednej tabeli może mieć wiele odpowiadających mu rekordów w innej tabeli. Zrozumienie tych typów relacji jest kluczowe dla projektowania efektywnych baz danych, ponieważ pozwala na optymalne zarządzanie danymi i ich integralnością. Użytkownicy, którzy nie dostrzegają subtelności między tymi relacjami, mogą wprowadzać błędy w projektowaniu baz danych, co prowadzi do problemów z wydajnością i spójnością danych.

Pytanie 7

Na ilustracji przedstawiającej tabelę muzyka, zrealizowano poniższe zapytanie SQL. Jaki rezultat zwróci ta kwerenda?

SELECT wykonawca FROM`muzyka`
WHERE wykonawca LIKE 'C%w';
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzesław Niemen2005Przyjdź W Taka Noc itp.
2IkonaStan Borys2014
3AerolitCzesław Niemen2017Winylowa reedycja płyty "Aerolit"
4JourneyMikołaj Czechowski2013
A. Czesław, Niemen
B. pusty wynik
C. Czesław
D. Czesław, Czechowski
W przypadku zapytania SQL które wykorzystuje operator LIKE z wzorcem C%W często dochodzi do nieporozumienia dotyczącego działania tego operatora. LIKE jest używany do porównywania wzorców tekstowych a procent % służy do zastępowania dowolnej liczby znaków. Można by błędnie założyć że skoro zapytanie ma zwrócić wykonawców których imiona zaczynają się na C i kończą na W to którąś z dostępnych opcji w tabeli spełnia ten warunek. Jednakże w tej konkretnej tabeli nie ma wykonawcy który by spełniał te kryteria. Czesław Niemen kończy się na M a nie na W natomiast Mikołaj Czechowski rozpoczyna się od litery M zamiast C. Przykładem typowego błędu jest nieprawidłowa interpretacja tego jak działają wzorce w operatorze LIKE lub przeoczenie że wzorzec musi być dokładnie zgodny z wymaganiami. Ważnym aspektem jest też zrozumienie że w praktyce biznesowej dokładność danych jest kluczowa a niepoprawne zrozumienie wzorców prowadzi do niepoprawnych wyników zapytań. Dlatego zawsze warto przetestować zapytanie na mniejszym zbiorze danych aby upewnić się że zwraca oczekiwane wyniki co jest dobrą praktyką w zarządzaniu bazami danych.

Pytanie 8

Formularz przesyła informacje do pliku skrypt.php po naciśnięciu przycisku oznaczonego jako "WYŚLIJ". Wskaż właściwą definicję formularza.

Ilustracja do pytania
A. Skrypt 2
B. Skrypt 1
C. Skrypt 4
D. Skrypt 3
Analizując błędne definicje formularza warto zrozumieć dlaczego nie są one poprawne. W przypadku formularza HTML kluczowe jest określenie dwóch atrybutów: action oraz method. Atrybut action wskazuje na skrypt do którego dane powinny być przesłane natomiast method definiuje sposób przesłania danych zwykle POST lub GET. W skrypcie 1 brakuje zarówno atrybutu action jak i poprawnego typu przycisku co uniemożliwia przesłanie danych. Skrypt 2 używa atrybutu method zamiast action co jest niepoprawne ponieważ method powinien określać sposób przesyłania danych a nie docelowy skrypt. Ponadto używa typu reset który jedynie resetuje formularz i nie wysyła danych. Skrypt 3 choć poprawnie używa atrybutu action nie definiuje typu input jako submit co jest konieczne aby przycisk działał jako wyzwalacz przesyłania. Typowe błędy to mylenie atrybutów lub niewłaściwe definiowanie typu przycisku. Aby uniknąć takich problemów konieczne jest solidne zrozumienie jak HTML zarządza formularzami oraz praktyczne zastosowanie tej wiedzy w projektach internetowych."

Pytanie 9

Ile razy zostanie wykonana pętla przedstawiona w języku PHP, zakładając, że zmienna kontrolna nie jest zmieniana w jej wnętrzu?
for($i = 0; $i <= 10; $i++) { ...... }

A. Nieskończoność
B. 10 razy
C. 11 razy
D. 0 razy
Odpowiedzi 0, 10 oraz nieskończoność są niepoprawne z kilku powodów. Przyjęcie, że pętla wykona się 0 razy, jest błędne, ponieważ pętla for rozpoczyna swoje działanie od zainicjowania zmiennej $i na 0. Zgodnie z konstrukcją pętli, pierwsze sprawdzenie warunku $i <= 10 jest pozytywne, co implikuje, że blok kodu zostanie wykonany przynajmniej raz. W odniesieniu do odpowiedzi 10, zakłada ona, że pętla zakończy się, gdy $i osiągnie wartość 10, co jest mylące. W rzeczywistości, pętla wykonuje się 11 razy, ponieważ ostatnie wykonanie kodu następuje przy $i równym 10, a następnie następuje inkrementacja, co sprawia, że $i osiąga 11 i przerywa działanie pętli. Wreszcie, odpowiedź sugerująca nieskończoną ilość iteracji jest również błędna. Nieskończone pętle często wynikają z braku modyfikacji zmiennej sterującej, jednak w tym przypadku pętla for ma zdefiniowaną inkrementację, co zapewnia, że po pewnym czasie pętla zakończy swoje działanie, nie generując nieskończoności. Każda z tych błędnych odpowiedzi pokazuje różne nieporozumienia dotyczące działania pętli for oraz logiki programistycznej w PHP.

Pytanie 10

Funkcję session_start() w PHP należy zastosować przy realizacji

A. jakiejkolwiek strony internetowej, która obsługuje cookies
B. ładowania danych z zewnętrznych plików
C. przetwarzania formularza
D. wielostronicowej strony, która wymaga dostępu do danych podczas przechodzenia pomiędzy stronami
Wybór odpowiedzi dotyczącej dowolnej witryny obsługującej ciasteczka wskazuje na niepełne zrozumienie roli sesji w PHP. Ciasteczka, choć są narzędziem do przechowywania danych w przeglądarkach, różnią się zasadniczo od sesji. Główną różnicą jest to, że ciasteczka są przechowywane po stronie klienta, co oznacza, że użytkownik ma dostęp do ich zawartości i mogą być one modyfikowane przez użytkownika. W przypadku sesji, dane są przechowywane po stronie serwera, co oferuje większe bezpieczeństwo i kontrolę nad danymi użytkownika. W kontekście wczytywania danych z plików zewnętrznych, nie ma związku z sesjami, ponieważ ta operacja nie wymaga przechowywania stanu użytkownika. Podobnie, odpowiedź dotycząca obsługi formularza również nie uwzględnia, że sesje są stosowane do utrzymywania stanu aplikacji, a nie do samej obsługi formularzy. Typowym błędem jest mylenie sesji z mechanizmami przechowywania danych, które są bardziej odpowiednie dla informacji statycznych, a nie dynamicznych interakcji użytkownika. Zrozumienie, kiedy używać sesji, a kiedy ciasteczek lub innych metod przechowywania, jest kluczowe dla tworzenia bezpiecznych i funkcjonalnych aplikacji internetowych.

Pytanie 11

Określ rezultat działania podanego kodu PHP, przy założeniu, że zmienna tab jest tablicą.

$tab = explode(",", "jelenie,sarny,dziki,lisy,borsuki"); 
echo $tab[1]." ".$tab[2];
A. lisy borsuki
B. sarny dziki
C. dziki lisy
D. jelenie sarny
Wynik wykonania kodu PHP przedstawionego w pytaniu to 'sarny dziki', co odpowiada trzeciej opcji. Analizując kod, najpierw wykorzystujemy funkcję explode, która dzieli ciąg znaków na elementy tablicy, używając przecinka jako separatora. W rezultacie zmienna $tab stanie się tablicą składającą się z pięciu elementów: 'jelenie', 'sarny', 'dziki', 'lisy', 'borsuki'. Następnie w instrukcji echo odwołujemy się do drugiego i trzeciego elementu tablicy, co odpowiada indeksom 1 i 2, ponieważ indeksowanie w PHP zaczyna się od zera. Zatem $tab[1] to 'sarny', a $tab[2] to 'dziki'. W kontekście praktycznym, znajomość pracy z tablicami oraz funkcji do ich manipulacji jest kluczowa w programowaniu w PHP, zwłaszcza przy pracy z danymi w formacie CSV lub innymi formatami wymagającymi podziału ciągów. Opanowanie takich technik jest istotne dla programistów zajmujących się tworzeniem aplikacji webowych, gdzie przetwarzanie danych wejściowych jest na porządku dziennym.

Pytanie 12

Podaj właściwą sekwencję przy tworzeniu bazy danych?

A. Zdefiniowanie celu, utworzenie relacji, stworzenie tabel, normalizacja
B. Zdefiniowanie celu, normalizacja, utworzenie tabel, stworzenie relacji
C. Zdefiniowanie celu, normalizacja, utworzenie relacji, stworzenie tabel
D. Zdefiniowanie celu, stworzenie tabel, utworzenie relacji, normalizacja
Prawidłowa odpowiedź wskazuje, że pierwszym krokiem w procesie tworzenia bazy danych jest określenie celu, co jest kluczowe dla zrozumienia, jakie dane będą gromadzone i w jaki sposób będą one używane. Następnie, stworzenie tabel to fundament, na którym opiera się cała baza danych. Tabele definiują struktury danych, które będą przechowywane, a ich projektowanie powinno uwzględniać normalizację, czyli proces eliminowania redundancji danych i zapewniania ich integralności. Utworzenie relacji między tabelami jest kolejnym krokiem, który pozwala na efektywne łączenie danych w różnych tabelach, co z kolei umożliwia bardziej złożone zapytania. Normalizacja, będąca ostatnim krokiem, pozwala na optymalizację struktury bazy, co zwiększa wydajność operacji. Przykład zastosowania tej kolejności można zobaczyć w projektowaniu systemów zarządzania bazami danych w przedsiębiorstwach, gdzie dokładne określenie potrzeb biznesowych wpływa na przyszłe modele danych i ich relacje.

Pytanie 13

Które z poniższych twierdzeń o definicji funkcji pokazanej w ramce jest prawdziwe?

function czytajImie(){
  var imie=null;
  do {
    imie=prompt("podaj imie: ");
    if (imie.length<3)
    alert("wprowadzony tekst jest niepoprawny");
  } while(imie.length<3);
}
A. Wczytanie tekstu zakończy się, gdy tekst będzie miał co najmniej 3 znaki
B. Pętla zostanie uruchomiona tylko raz
C. Tekst będzie wczytywany do czasu podania liczby większej niż 3
D. Funkcja zawiera pętlę, która powtarza się 3 razy
Błędne rozumienie działania pętli do-while może prowadzić do przekonania że pętla wykona się określoną ilość razy lub że zakończy się w momencie spełnienia innych warunków co jest typowym błędem wśród osób początkujących Pętla do-while w języku JavaScript wykonuje blok kodu przynajmniej raz a następnie sprawdza warunek kontynuacji co oznacza że nie jest ograniczona do stałej ilości iteracji jak mogłoby sugerować stwierdzenie o trzykrotnym powtórzeniu Warunek długości tekstu mniejszej niż 3 jest kluczowy dla jej działania i wymusza iterację aż do momentu gdy zostanie wprowadzony prawidłowy ciąg znaków co wyklucza możliwość że pętla wykona się tylko raz chyba że już za pierwszym razem zostanie wprowadzony tekst spełniający warunki Kolejnym nieporozumieniem może być błędne postrzeganie warunku jako związanego z wprowadzeniem liczby podczas gdy w rzeczywistości funkcja operuje na długości tekstu co jest częstym zagadnieniem przy walidacji danych tekstowych przy użyciu funkcji prompt Ważnym aspektem jest zrozumienie że pętle tego typu są używane tam gdzie wymagana jest walidacja danych wprowadzanego tekstu co jest praktyką szeroko akceptowaną w branży programistycznej z uwagi na konieczność zapewniania poprawności danych przed ich dalszym przetwarzaniem

Pytanie 14

Jakie jest zadanie poniższej pętli?

int x = 0;
while (x < 10)
{
    mojeKsiazki[x] = new Ksiazka();
    x++;
}
A. Wyświetlenie na ekranie informacji z tabeli Ksiazka.
B. Stworzenie dziesięciu instancji obiektów typu Ksiazka.
C. Stworzenie jednego obiektu typu mojeKsiazki.
D. Uzupełnienie tablicy mojeKsiazki danymi.
Wszystkie pozostałe odpowiedzi zawierają błędne interpretacje działania przedstawionej pętli. Po pierwsze, wypełnienie tabeli Ksiazka danymi nie jest precyzyjnie określone w kodzie. Pętla nie przypisuje żadnych konkretów do utworzonych obiektów, a jedynie je inicjalizuje. Odpowiedź dotycząca wypisania na ekranie danych tabeli Ksiazka również jest błędna. W kodzie nie ma żadnych instrukcji wyświetlających dane obiektów, więc ta interpretacja jest myląca. Kolejną nieprawidłowością jest sugestia, że pętla tworzy tylko jeden obiekt. W rzeczywistości pętla jest zaprojektowana tak, aby utworzyć osiem obiektów, co jest sprzeczne z założeniem, że jedna iteracja odpowiada jednemu obiektowi. Typowe błędy myślowe prowadzące do takich wniosków to brak zrozumienia mechanizmu działania pętli i nieumiejętność analizy kodu krok po kroku. Ważne jest, aby programiści potrafili czytać i analizować kod w kontekście ogólnych zasad programowania obiektowego oraz rozumieli rolę pętli w tworzeniu i zarządzaniu obiektami.

Pytanie 15

Wskaż kod CSS odpowiadający układowi bloków 2 - 5, zakładając, że są one zbudowane w oparciu o przedstawiony kod HTML.

BLOK 1
BLOK 2BLOK 3BLOK 4
BLOK 5
<div id="pierwszy">BLOK 1</div>
<div id="drugi">BLOK 2</div>
<div id="trzeci">BLOK 3</div>
<div id="czwarty">BLOK 4</div>
<div id="piaty">BLOK 5</div>

Kod 1.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  float: right;
  width: 30%;
}
#piaty {
  clear: both;
  width: 30%;
}
Kod 2.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  float: right;
  width: 30%;
}
#piaty {
  float: left;
  width: 30%;
}
Kod 3.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  width: 30%;
}
#piaty {
  float: right;
  width: 30%;
}
Kod 4.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  width: 30%;
}
#czwarty {
  width: 30%;
}
#piaty {
  float: right;
  width: 30%;
}
A. Kod 3.
B. Kod 4.
C. Kod 1.
D. Kod 2.
Niestety, twoja odpowiedź jest niepoprawna. Wybrałeś odpowiedź niezgodną z przedstawionym układem bloków. Analizując kod CSS, musisz zwrócić uwagę na różne aspekty, takie jak pozycja, szerokość i kolejność bloków. W tym przypadku, blok 'drugi' powinien być umieszczony po lewej stronie i zajmować 40% szerokości, bloki 'trzeci' i 'czwarty' powinny być odpowiednio po lewej i prawej stronie z szerokością 30%, a blok 'piąty' powinien być umieszczony na dole i zajmować 30% szerokości. To wszystko odpowiada układowi bloków na diagramie. Jeżeli wybrałeś inny kod, to prawdopodobnie źle zinterpretowałeś pozycję lub szerokość bloków, co jest kluczowe w tworzeniu układów stron. Ważne jest, aby zrozumieć i umieć manipulować kodem CSS, aby uzyskać pożądany układ strony. Pamiętaj, że praktyka i doświadczenie są kluczowe do zrozumienia jak kod CSS wpływa na układ i stylizację elementów strony.

Pytanie 16

Czym jest relacja w bazach danych?

A. logicznym powiązaniem tabel
B. połączeniem dwóch pól jednej tabeli
C. kluczem podstawowym w relacji tabel
D. algebraicznym powiązaniem tabel
Niektóre odpowiedzi wskazujące, że relacja w bazach danych jest algebraicznym połączeniem tabel albo chodzi o klucz główny w relacji tabel, są trudne do przyjęcia. Bo relacje w bazach danych to nie tylko techniczne sprawy, ale przede wszystkim sposób łączenia różnych tabel. Używanie terminu 'algebraiczne połączenie' trochę mija się z celem, bo te relacje są bardziej związane z logiką niż z matematyką. Klucz główny jest ważny do identyfikacji rekordów, ale to nie jest to samo co relacja. To się przypina z założeniem, że relacja to połączenie pól w jednej tabeli, co całkowicie nie zgadza się z tym jak działają relacyjne bazy danych. Takie błędne myślenie może namieszać w projektowaniu baz danych i potem ciężko będzie robić złożone zapytania. Dlatego dobrze jest mieć jasność co do relacji, bo to klucz do skutecznego zarządzania danymi.

Pytanie 17

Określ właściwą hierarchię stylów CSS biorąc pod uwagę ich priorytet w stylizacji elementów strony WWW?

A. Rozciąganie stylu, Zewnętrzny, Lokalny
B. Zewnętrzny, Wydzielone bloki, Lokalny
C. Wewnętrzny, Zewnętrzny, Rozciąganie stylu
D. Lokalny, Wewnętrzny, Zewnętrzny
Wszystkie błędne odpowiedzi zawierają istotne nieporozumienia dotyczące priorytetów stylów CSS oraz sposobu, w jaki są one stosowane na stronach internetowych. Porządek stylów jest kluczowy dla efektywnego projektowania stron, a zrozumienie, które style mają pierwszeństwo, jest fundamentalne. Wewnętrzny styl nie powinien być uznawany za wyższy niż zewnętrzny, co sugeruje jedna z niepoprawnych odpowiedzi. Zewnętrzne arkusze stylów, będące najlepszym rozwiązaniem do zarządzania stylami w aplikacjach webowych, są ładowane na początku, co oznacza, że mają niższy priorytet niż style zdefiniowane lokalnie. Natomiast odpowiedzi, które sugerują, że styl zewnętrzny może mieć wyższy priorytet niż lokalny, są szczególnie mylące, gdyż mogą prowadzić do sytuacji, w której zmiany w stylach lokalnych są ignorowane. Dodatkowe błędne koncepcje dotyczą możliwości stosowania tzw. rozciągania stylu, co nie jest terminem uznawanym w kontekście CSS, co jeszcze bardziej potęguje nieporozumienia. W praktyce, nieprzestrzeganie zasad priorytetów stylów CSS może skutkować nieczytelnym kodem i chaotycznym stylem strony, co jest sprzeczne z dobrymi praktykami tworzenia stron internetowych, takimi jak stosowanie zunifikowanych arkuszy stylów i unikanie nadmiarowych deklaracji stylów.

Pytanie 18

W JavaScript zdarzenie onKeydown zostanie wywołane, gdy klawisz

A. klawiatury będzie zwolniony
B. myszki będzie wciśnięty
C. klawiatury będzie wciśnięty
D. myszki będzie zwolniony
Wybór odpowiedzi związanej z myszą, jak naciśnięcie lub zwolnienie przycisku myszki, jest nieprawidłowy, ponieważ zdarzenie onKeydown nie ma związku z interakcjami myszy. Zdarzenia związane z myszą, takie jak onclick, onmousedown czy onmouseup, są odpowiedzialne za reakcje na działania użytkownika z użyciem myszy, a nie klawiatury. W kontekście zastosowań webowych, mylenie tych dwóch rodzajów interakcji może prowadzić do nieprawidłowego zrozumienia, jak działa system zdarzeń w JavaScript. Zdarzenie onKeydown jest specyficzne dla klawiatury i jest wywoływane tylko, gdy użytkownik naciśnie klawisz na klawiaturze, co jest istotne dla operacji wymagających danych tekstowych lub komend klawiszowych. Ignorowanie tej zasady prowadzi do typowych błędów w programowaniu, takich jak niewłaściwa obsługa zdarzeń, co z kolei może skutkować nieefektywnym działaniem aplikacji i frustracją użytkowników. Ważne jest, aby przy projektowaniu systemów interakcji, wyraźnie rozróżniać rodzaje zdarzeń oraz zrozumieć ich zastosowanie w praktyce, co jest fundamentem efektywnego programowania w JavaScript.

Pytanie 19

Poleceniem SQL służącym do wstawiania nowego rekordu z danymi jest

A. INSERT INTO
B. CREATE
C. ADD
D. UPDATE
W SQL każde polecenie ma swoje konkretne, dość precyzyjne znaczenie i pomieszanie tych komend to bardzo typowy błąd na początku nauki. Wstawianie nowych rekordów do tabeli realizuje się wyłącznie za pomocą instrukcji `INSERT INTO`. To jest element języka DML, czyli tej części SQL, która służy do manipulowania danymi już istniejącymi w strukturze bazy. Jeśli ktoś wybiera inne słowo kluczowe, to najczęściej wynika to z intuicji językowej („update to coś zmieni, create coś stworzy, add coś doda”), ale niestety silnik SQL nie działa na intuicji, tylko na ścisłej składni standardu. `UPDATE` nie służy do dodawania nowych wierszy, tylko do modyfikacji danych w rekordach, które już istnieją. Typowy przykład: `UPDATE klienci SET email='[email protected]' WHERE id=5;`. Tutaj nie tworzymy nowego klienta, tylko zmieniamy dane konkretnego, wskazanego przez warunek `WHERE`. Gdyby `UPDATE` dodawał nowe rekordy, to nie dałoby się w ogóle odróżnić operacji modyfikacji od wstawiania, co byłoby kompletnie niepraktyczne. W logice transakcyjnej bazy danych to są dwie zupełnie różne operacje, inaczej liczone są też uprawnienia i wpływ na integralność danych. Z kolei `CREATE` należy do DDL (Data Definition Language), czyli części odpowiedzialnej za tworzenie struktury bazy: tabel, widoków, indeksów, baz danych. Przykład: `CREATE TABLE klienci (...)`. To polecenie definiuje tabelę jako obiekt w systemie, ale nie dodaje żadnego wiersza z danymi użytkowników. Po `CREATE TABLE` baza jest pusta, dopiero `INSERT INTO` zaczyna ją faktycznie „wypełniać”. Mylenie `CREATE` z wstawianiem danych wynika często z tego, że ktoś kojarzy słowo „create” z „stworzeniem czegoś nowego” i nie rozróżnia poziomu struktury od poziomu zawartości. Natomiast `ADD` w standardowym SQL nie jest samodzielnym poleceniem do dodawania rekordów. Pojawia się co najwyżej jako fragment składni `ALTER TABLE`, np. `ALTER TABLE klienci ADD kolumna_telefon VARCHAR(20);`, gdzie służy do dodawania nowej kolumny do istniejącej tabeli, a nie nowego wiersza z danymi. Czyli znowu: to jest operacja na schemacie tabeli, nie na danych w środku. Typowy błąd myślowy polega tu na tym, że ktoś miesza „dodawanie elementu do struktury” z „dodawaniem rekordu do danych”. W dobrze zaprojektowanych systemach bazodanowych te poziomy są mocno oddzielone, bo inaczej utrzymanie spójności i migracji schematu byłoby koszmarem. Z mojego doświadczenia warto już na starcie zapamiętać prosty podział: `CREATE`/`ALTER`/`DROP` – struktura, `INSERT`/`UPDATE`/`DELETE` – dane. Dzięki temu od razu widać, dlaczego tylko `INSERT INTO` pasuje do pytania o wstawianie nowego rekordu.

Pytanie 20

Znacznik <pre> </pre> służy do prezentacji

A. znaku przekreślenia
B. znaku wielokropka
C. treści czcionką o stałej szerokości
D. treści polską czcionką
Wybór znaków przekreślenia, znaków wielokropka czy treści polską czcionką jest niepoprawny, ponieważ żaden z tych elementów nie jest związany z funkcją znacznika <pre>. Po pierwsze, znaki przekreślenia są używane w HTML do zaznaczania tekstu, który ma być przedstawiony jako przekreślony, co nie ma nic wspólnego z preformatowaniem tekstu. Element <s> lub <del> jest odpowiedzialny za takie formatowanie, a nie <pre>. Kolejną pomyłką jest zrozumienie roli wielokropka. W HTML nie istnieje znacznik, który odpowiada za wyświetlanie wielokropka w specyficzny sposób poza standardowym tekstem. W rzeczywistości wielokropek jest jedynie trzema kropkami i nie ma potrzeby go formatować w kontekście preformatowanego tekstu. Ostatnia z wymienionych odpowiedzi, sugerująca, że <pre> służy do wyświetlania treści polską czcionką, jest również błędna. HTML nie definiuje czcionek narodowych; zamiast tego, czcionki są kontrolowane przez CSS, a nie przez znaczniki HTML. Z tego powodu znaczniki <pre> nie mają żadnego wpływu na wybrany styl czcionki, a ich główną funkcją jest zachowanie formatowania tekstu, co czyni je idealnym narzędziem do wyświetlania kodu źródłowego, a nie do stylizacji typograficznej.

Pytanie 21

Który z typów plików dźwiękowych oferuje największą kompresję rozmiaru?

A. CD-Audio
B. MP3
C. WAV
D. PCM
Format MP3 (MPEG Audio Layer III) jest standardem kompresji stratnej, który znacząco zmniejsza rozmiar pliku dźwiękowego, zachowując przy tym akceptowalną jakość dźwięku. Technologia ta wykorzystuje algorytmy psychoakustyczne, które eliminują dźwięki, które są mniej słyszalne dla ludzkiego ucha. Dzięki temu możliwe jest osiągnięcie redukcji rozmiaru pliku o 70-90% w porównaniu z jakością oryginalnego nagrania. Praktyczne zastosowanie formatu MP3 jest szerokie: od przesyłania muzyki przez internet po użycie w odtwarzaczach multimedialnych oraz smartfonach. Możliwość dostosowania bitrate'u (od 32 kbps do 320 kbps) pozwala użytkownikom na balansowanie pomiędzy jakością a rozmiarem pliku. MP3 stał się de facto standardem w dystrybucji muzyki cyfrowej, a jego wsparcie w praktycznie każdym odtwarzaczu audio czyni go niezwykle uniwersalnym. Warto również dodać, że MP3 jest zgodny z wieloma standardami, takimi jak ID3, które umożliwiają dołączanie metadanych do plików audio, co dodatkowo podnosi jego funkcjonalność.

Pytanie 22

W HTML, aby ustawić tytuł dokumentu na "Moja strona", który pojawi się na karcie przeglądarki internetowej, należy użyć zapisu

A. <head>Moja strona</head>
B. <meta name="title" content="Moja strona">
C. <meta title="Moja strona">
D. <title>Moja strona</title>
Z odpowiedzi, które są niepoprawne, można wyciągnąć kilka błędów, które są związane z tym, jak zdefiniować tytuł strony w HTML. Na przykład, <head> to nie ten element, który definiuje tytuł, bo on jest bardziej do grupowania różnych metadanych, takich jak <title>, <meta> czy <link>. Co ważne, zawartość <head> nie pojawia się na zakładkach przeglądarki. Jeśli chodzi o zapis <meta title="Moja strona">, to jest to zła forma, bo element <meta> nie określa tytułu strony. <meta> używane jest do metadanych, jak opisy, słowa kluczowe czy kto jest autorem, ale nie wpływa to na tytuł wyświetlany w przeglądarkach. Podobnie <meta name="title" content="Moja strona"> to też błędny przykład, bo atrybut "name" w <meta> nie odnosi się do tytułu, więc jego zawartość nie będzie się pokazywać jako tytuł w przeglądarkach. Te elementy mogą być pomocne dla SEO, ale mają inne zadania i nie powinny być mylone z <title>, który jasno określa tytuł wyświetlany w zakładkach oraz w wynikach wyszukiwania.

Pytanie 23

Jaką treść komunikatu należy umieścić w kodzie PHP zamiast znaków zapytania?

$a = mysql_connect('localhost', 'adam', 'mojeHaslo');

if (!$a)
    echo "?????????????";
A. Wybrana baza danych nie istnieje
B. Błąd w trakcie przetwarzania zapytania SQL
C. Błąd połączenia z serwerem SQL
D. Rekord został pomyślnie dodany do bazy
Poprawna odpowiedź 'Błąd połączenia z serwerem SQL' jest właściwa, ponieważ funkcja mysql_connect() służy do nawiązywania połączenia z serwerem bazy danych MySQL. Jeśli połączenie nie powiedzie się, zwraca false. W takiej sytuacji należy poinformować użytkownika o nieudanym połączeniu. Jest to kluczowe w debugowaniu i zapewnianiu użytkownikowi zrozumiałych komunikatów błędów. W praktyce, połączenie z bazą danych jest podstawowym krokiem w wielu aplikacjach internetowych, a jego poprawna obsługa to standardowa praktyka branżowa. Współczesne podejście wymaga także użycia rozszerzenia mysqli lub PDO zamiast przestarzałej funkcji mysql_connect(). Jest to zalecane ze względu na lepsze wsparcie bezpieczeństwa i wydajności. Użycie funkcji mysqli_connect() pozwala na obsługę zarówno błędów połączenia, jak i zapytań SQL w sposób bardziej elastyczny i bezpieczny.

Pytanie 24

Aby prawidłowo udokumentować linię kodu w języku JavaScript, należy po znakach // wpisać komentarz.

x = Math.max(a, b, c); //
A. w zmiennej x maksymalna wartość ze zmiennych a, b, c
B. nieprawidłowe dane.
C. wybór losowej wartości ze zmiennych a, b i c
D. w zmiennej x minimalna wartość ze zmiennych a, b, c
Wybór odpowiedzi, która sugeruje inne wartości niż maksymalne, wskazuje na pewne błędne zrozumienie działania funkcji Math.max() w JavaScript. Funkcja ta nie generuje losowych wartości ani nie posługuje się pojęciem minimalnej wartości w kontekście porównania podanych argumentów. Przykład, który mówi o "wyborze losowej wartości", wprowadza chaos w logice programowania, ponieważ programy oparte na konkretnych funkcjach matematycznych, takich jak Math.max(), działają w oparciu o zdefiniowane zasady i algorytmy, a nie na losowych wyborach. Z kolei mylenie maksymalnej wartości z minimalną wskazuje na brak zrozumienia podstawowych koncepcji porównywania wartości, co jest fundamentem programowania. Istotne jest, aby każdy programista rozumiał różnicę pomiędzy maksymalnymi a minimalnymi wartościami oraz umiejętność korzystania z odpowiednich funkcji do ich obliczania. Takie nieprawidłowe zrozumienie może prowadzić do błędów w kodzie, co w kontekście większych projektów może skutkować poważnymi problemami z wydajnością i stabilnością aplikacji. Umiejętność klarownego definiowania, co każda linia kodu robi, jest kluczowa w pracy programisty i przyczynia się do sukcesu projektów programistycznych.

Pytanie 25

Jeżeli zmienna $x zawiera dowolną dodatnią liczbę naturalną, to przedstawiony kod źródłowy PHP ma na celu wyświetlenie:

$licznik = 0;
while ($licznik != $x)
{
    echo $licznik;
    $licznik++;
}
A. kolejnych liczb od x do 0
B. kolejnych liczb od 0 do x-1
C. losowych liczb z zakresu (0, x)
D. liczb wprowadzanych z klawiatury, aż do momentu wprowadzenia wartości x
Odpowiedzi błędne wynikają z niepoprawnej interpretacji działania pętli i warunku zakończenia. Pierwszym błędnym rozumowaniem jest wniosek że pętla wyświetla kolejne liczby wstecz od x do 0. W kodzie $licznik jest inkrementowany co oznacza że wartości rosną a nie maleją. To często spotykany błąd gdyż może się wydawać że warunek różności sugeruje zbliżanie się do zera zamiast do wartości $x. Kolejnym błędnym założeniem jest błędne zrozumienie że kod wczytuje wartości z wejścia aż do osiągnięcia $x. Kod nie używa funkcji do wczytywania danych od użytkownika takich jak np. fgets() w związku z czym nie można tutaj mówić o interakcji z użytkownikiem. Ostatnia błędna odpowiedź sugeruje losowanie liczb co jest nieprawidłowe gdyż w kodzie nie występuje żaden mechanizm generowania liczb losowych np. poprzez rand(). Warto tutaj zauważyć że pętla while jest jedną z podstawowych struktur sterujących i zrozumienie jej poprawnego działania jest kluczowe dla programowania w każdym języku. Dobór odpowiedniego warunku zakończenia i modyfikacji zmiennej kontrolnej to podstawy które pomagają uniknąć błędów logicznych w kodzie.

Pytanie 26

Kod przedstawiony poniżej został napisany w języku JavaScript. W zdefiniowanym obiekcie metoda to element o nazwie

 var obj1 = {
    czescUlamkowa: 10,
    czescCalkowita: 20,
    oblicz: function () { ... }
}
A. czescUlamkowa
B. czescCalkowita
C. oblicz
D. obj1
Odpowiedzi 'czescUlamkowa', 'obj1' oraz 'czescCalkowita' są niepoprawne, ponieważ nie są metodami w kontekście obiektu 'obj1'. 'czescUlamkowa' i 'czescCalkowita' to właściwości obiektu, które przechowują dane, ale nie wykonują żadnych operacji. W JavaScript, właściwości obiektów są parametrami, które mogą przechowywać wartości, jednak nie są to funkcje. Właściwości te mogą być wykorzystywane w metodach do przechowywania i manipulowania danymi, ale same w sobie nie wykonują żadnych obliczeń ani operacji. Odpowiedź 'obj1' odnosi się do samego obiektu, a nie do jego metod. W kontekście programowania obiektowego, obiekty są instancjami klas, które grupują ze sobą zarówno dane, jak i funkcjonalność, ale tylko metody można wywoływać w celu wykonania operacji. Typowym błędem myślowym jest mylenie pojęcia obiektu z pojęciem metody. Aby rozwiązać takie nieporozumienia, warto przyjąć podejście, w którym każda metoda jest rozumiana jako funkcjonalność obiektu, podczas gdy właściwości służą do przechowywania danych. Zrozumienie tej różnicy jest kluczowe, aby efektywnie korzystać z obiektowego modelu programowania w JavaScript.

Pytanie 27

Polecenie SQL przedstawione poniżej ma za zadanie

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

Pytanie 28

Wskaźnik HTML, który umożliwia oznaczenie tekstu jako błędnego lub nieodpowiedniego poprzez jego przekreślenie, to jaki?

A. <em> </em>
B. <s> </s>
C. <u> </u>
D. <b> </b>
W tym pytaniu łatwo pomylić różne znaczniki HTML, bo wiele z nich wpływa na wygląd tekstu, ale pełnią zupełnie inne role semantyczne. W standardzie HTML <b> odpowiada głównie za pogrubienie tekstu, bez nadawania mu specjalnego znaczenia. To po prostu wizualne wyróżnienie, coś jak podkręcenie czcionki w edytorze tekstu. Nie informuje jednak, że treść jest błędna, nieaktualna czy powinna być zignorowana. W nowoczesnym kodzie, jeśli chcemy podkreślić ważność treści, lepszym wyborem jest <strong>, a nie <b>. Podobnie <em> nie ma nic wspólnego z przekreśleniem – ten znacznik służy do emfazy, czyli zaakcentowania fragmentu zdania, zwykle renderowany jest kursywą. Semantycznie oznacza, że dany fragment ma inne brzmienie albo nacisk w wypowiedzi, co jest istotne np. dla czytników ekranu czy tłumaczeń. Z kolei <u> historycznie kojarzy się z podkreślaniem tekstu, ale w HTML5 jego znaczenie zostało doprecyzowane: używa się go raczej do oznaczania treści, które są w jakiś sposób wyróżnione konwencjonalnie (np. błąd ortograficzny, nazwa własna w tekście innym alfabetem), a nie do dekoracyjnego podkreślania wszystkiego jak leci. Typowym błędem jest myślenie kategoriami „jak to wygląda”, zamiast „co to oznacza”. Wiele osób wybiera <b> albo <u>, bo kojarzy im się to z edytorem Word i zmianą stylu, a w HTML powinniśmy bardziej zwracać uwagę na semantykę i zgodność ze specyfikacją. Do oznaczania tekstu jako błędnego lub nieaktualnego używa się <s> (lub w bardziej formalnych zmianach <del>), bo te znaczniki jednoznacznie wskazują, że dana treść nie jest już obowiązująca. Dzięki temu narzędzia do dostępności, wyszukiwarki i style CSS mogą poprawnie interpretować znaczenie tego fragmentu, a nie tylko jego wygląd.

Pytanie 29

Co oznacza zapis w obiekcie w języku JavaScript?

x = przedmiot.nazwa();
A. zmienna x będzie przechowywać rezultat działania funkcji przedmiot
B. zmienna x będzie przechowywać wynik działania metody nazwa
C. nazwa jest cechą obiektu przedmiot
D. nazwa jest atrybutem klasy przedmiot
Zapis przedmiot.nazwa() w języku JavaScript oznacza wywołanie metody nazwa na obiekcie przedmiot. Częstym błędem jest mylenie metody z polem klasy czy właściwością obiektu. Pole klasy odnosi się do zmiennej zdefiniowanej na poziomie klasy która przechowuje dane związane z instancjami tej klasy. Metody natomiast są funkcjami które wykonują operacje na danych obiektu. Jeśli chodzi o zmienną przechowującą wynik działania funkcji przedmiot nie jest to poprawna interpretacja ponieważ przedmiot w tym przypadku jest obiektem na którym działa metoda nazwa a nie funkcją. Kolejny błąd to mylenie wywołania metody z przypisaniem wartości właściwości obiektu. Właściwości to atrybuty które przechowują stany obiektu natomiast metody określają jego zachowanie i umożliwiają wykonywanie czynności. Często podczas nauki JavaScript błędnie interpretujemy składnię kropki jako odnoszącą się tylko do właściwości zamiast dostrzegać że może ona również oznaczać wywołanie metod. Dobra praktyka polega na jasnym rozróżnieniu pomiędzy metodami a właściwościami co zwiększa czytelność i niezawodność kodu ułatwiając jego późniejszą konserwację i rozwój przez zespoły programistyczne

Pytanie 30

Jakie mechanizmy przydzielania zabezpieczeń, umożliwiające przeprowadzanie operacji na bazie danych, są powiązane z zagadnieniami dotyczącymi zarządzania kontami, użytkownikami oraz uprawnieniami?

A. Z przywilejami systemowymi
B. Z przywilejami obiektowymi
C. Z atrybutami
D. Z regułami
Przywileje systemowe odnoszą się do uprawnień, które są nadawane użytkownikom w kontekście zarządzania kontami i dostępem do zasobów w systemach baz danych. Te mechanizmy są kluczowe dla zapewnienia bezpieczeństwa oraz integralności danych. Przykładem przywilejów systemowych mogą być uprawnienia do tworzenia i usuwania innych kont użytkowników, a także do modyfikacji struktur danych, co jest fundamentalne w operacjach administracyjnych. W praktyce, administratorzy baz danych wykorzystują te przywileje do określenia, które konta mają dostęp do określonych funkcji systemu. W standardach takich jak SQL standard, zarządzanie uprawnieniami jest ściśle zdefiniowane, co pozwala na audyt i kontrolę dostępu. Aby stosować dobre praktyki, warto wdrożyć zasadę najmniejszych uprawnień, co oznacza, że użytkownicy powinni otrzymywać tylko te uprawnienia, które są niezbędne do wykonywania ich zadań. Dzięki temu minimalizujemy ryzyko nieautoryzowanego dostępu oraz potencjalnych naruszeń bezpieczeństwa.

Pytanie 31

W przedstawionej definicji stylu CSS, powtarzanie dotyczy

body {
  background-image: url("rysunek.gif");
  background-repeat: repeat-y;
}
A. tła każdego ze znaczników akapitu.
B. rysunku umieszczonego w tle strony w pionie.
C. rysunku umieszczonego znacznikiem img.
D. rysunku umieszczonego w tle strony w poziomie.
Niestety, Twoja odpowiedź nie jest poprawna. 'background-repeat: repeat-y;' w CSS rzeczywiście nie dotyczy rysunków wstawianych przez tag img ani tła akapitów. Mówi po prostu, że tło się powtarza w pionie, czyli wzdłuż osi Y. Może to trochę mylić, ale warto pamiętać, że oś Y to pion a oś X to poziom. Zrozumienie tych podstawowych rzeczy jest konieczne, żeby ogarnąć CSS i tworzyć ładne strony www.

Pytanie 32

Które z zapytań SQL wybiera nazwiska z tabeli klient, które mają co najmniej jedną literę i zaczynają się od litery Z?

A. SELECT nazwisko FROM klient WHERE nazwisko='Z?';
B. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z%';
C. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z_%';
D. SELECT nazwisko FROM klient WHERE nazwisko='Z_?';
Pierwsza odpowiedź, 'SELECT nazwisko FROM klient WHERE nazwisko='Z?';', nie działa, bo użycie znaku zapytania '?' w SQL to nie to samo co szukanie jednoliterowych wzorców. Znak '?' zazwyczaj używa się w kontekście parametrów w zapytaniach, a nie jako zamiennik dla jednego znaku. Więc to zapytanie nie zwróci żadnych nazwisk zaczynających się na 'Z'. W przypadku drugiej odpowiedzi, 'SELECT nazwisko FROM klient WHERE nazwisko='Z_?';', jest podobnie. Kombinacja 'Z_' sugeruje, że po 'Z' musi być jeden znak, ale dodanie znaku zapytania po znaku podkreślenia nie ma sensu w tym kontekście. Dlatego to zapytanie też nie przyniesie oczekiwanych rezultatów. Ostatnia odpowiedź, 'SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z_%';', mówi, że powinien być jeden dowolny znak po 'Z', co nie pasuje do wymagań pytania. To oznacza, że zwrócone będą tylko te nazwiska, które mają dokładnie jedną dodatkową literę, co też nie spełnia kryteriów pytania. Więc, podsumowując, żadna z tych odpowiedzi nie pasuje do tego, czego szukaliśmy.

Pytanie 33

W programowaniu zmienna o typie integer służy do przechowywania

A. znaku
B. liczby rzeczywistej
C. liczby całkowitej
D. wartości logicznej
Wybór odpowiedzi dotyczącej wartości logicznej jest niewłaściwy, ponieważ typ wartości logicznej, znany także jako boolean, jest przeznaczony do przechowywania jedynie dwóch stanów: true i false. Typ ten znajduje zastosowanie w warunkach, pętlach oraz operacjach logicznych, ale nie ma związku z liczbami całkowitymi. W kontekście programowania, typ ten jest kluczowy w podejmowaniu decyzji na podstawie warunków. Z kolei zmienna przechowująca znak odnosi się do typu char, który jest używany do przechowywania pojedynczych znaków, takich jak litery czy symbole, co jest zupełnie innym przypadkiem. Typ char jest przydatny, kiedy chcemy manipulować tekstem na poziomie pojedynczych znaków, ale nie ma zastosowania w przechowywaniu liczb całkowitych. Odpowiedź dotycząca liczb rzeczywistych odnosi się do zmiennych typu float lub double, które z kolei służą do przechowywania wartości z częścią dziesiętną. Zrozumienie różnicy między tymi typami danych jest kluczowe dla programisty, gdyż użycie niewłaściwego typu może prowadzić do błędów w obliczeniach i logice programu. Często początkujący programiści mylą te typy danych, co skutkuje nieefektywnym kodem oraz problemami z wydajnością i pamięcią. Warto więc zainwestować czas w naukę i zrozumienie podstawowych typów danych oraz ich zastosowania w praktyce, co jest fundamentalnym aspektem programowania.

Pytanie 34

Jakie możliwości daje funkcja phpinfo()?

A. uzyskanie informacji o środowisku pracy serwera obsługującego PHP
B. zweryfikowanie wartości zmiennych użytych w kodzie PHP
C. analizowanie kodu PHP
D. uruchomienie kodu w języku PHP
Analizując odpowiedzi, można zauważyć, że niektóre z nich mogą wydawać się logiczne, ale są mylące w kontekście działania funkcji phpinfo(). Na przykład, debugowanie kodu PHP to proces, który wymaga narzędzi takich jak Xdebug, które umożliwiają śledzenie wykonania skryptów, a nie prostego wyświetlania informacji konfiguracyjnych. Również zainicjowanie kodu w języku PHP nie jest właściwym opisem tej funkcji, ponieważ phpinfo() nie służy do uruchamiania skryptów, lecz do prezentacji stanu środowiska PHP. Kolejnym błędnym podejściem jest sądzenie, że phpinfo() może sprawdzić wartości zmiennych użytych w kodzie PHP – w rzeczywistości, funkcja ta nie ma na celu monitorowania wartości zmiennych, lecz skupia się na ogólnych informacjach o systemie. Użytkownicy często mylą funkcje diagnostyczne z funkcjami informacyjnymi, co prowadzi do nieporozumień w zakresie ich zastosowania. Kluczowym aspektem jest zrozumienie, że phpinfo() to narzędzie do zbierania informacji o konfiguracji, a nie do interakcji z kodem źródłowym. Ważne jest również, aby pamiętać o bezpieczeństwie, ponieważ publiczne udostępnienie wyników phpinfo() może narazić serwer na ataki, ujawniając szczegóły dotyczące jego konfiguracji. Zrozumienie tych różnic jest kluczowe dla prawidłowego korzystania z PHP i zarządzania aplikacjami w tym języku.

Pytanie 35

Po uruchomieniu poniższego kodu PHP na ekranie ukaże się bieżąca data w formacie:

echo date("Y-m");
A. dzień, miesiąc, rok
B. rok oraz miesiąc
C. dzień oraz rok
D. tylko rok
Wybierając odpowiedź, która sugeruje, że zwrócona zostanie jedynie data dnia lub roku, można popaść w mylne przekonania dotyczące funkcji formatowania daty w PHP. Przykładowo, odpowiedź wskazująca na "dzień i rok" nie uwzględnia kluczowego elementu, jakim jest miesiąc, który jest absolutnie niezbędny w analizowanym kodzie. Jeśli ktoś wybierałby odpowiedź mówiącą o "jedynie roku", mógłby nie zrozumieć, że użycie formatu "Y-m" skupia się na dostarczeniu pełnego obrazu daty poprzez połączenie roku z miesiącem. Warto zauważyć, że umiejętność właściwego formatowania dat jest fundamentalna w programowaniu, szczególnie w kontekście baz danych, gdzie niewłaściwe zrozumienie formatu danych może prowadzić do błędów w zapytaniach SQL. Umożliwiając sobie dostęp do pełnych informacji o dacie, programiści mogą wdrażać bardziej zaawansowane funkcjonalności aplikacji, takie jak sortowanie rekordów czy generowanie raportów miesięcznych. Ignorowanie miesięcy w kontekście bardziej złożonych operacji może prowadzić do błędnych interpretacji wyników oraz nieefektywności procesów analitycznych.

Pytanie 36

Aby przyznać użytkownikowi prawa do tabel w bazie danych, powinno się użyć polecenia

A. REVOKE
B. SELECT
C. GRANT
D. CREATE
Polecenie SELECT jest używane do pobierania danych z tabel w bazie danych, ale nie ma zastosowania w kontekście nadawania uprawnień. Chociaż wybór danych jest kluczowym aspektem pracy z bazą danych, nie można użyć SELECT do przyznawania użytkownikom dostępu do tych danych. Nieporozumienie dotyczące tego polecenia często wynika z mylnego przekonania, że użytkownik ma możliwość zarządzania uprawnieniami za pomocą standardowych operacji zapytań. Podobnie, polecenie CREATE służy do tworzenia nowych obiektów bazy danych, takich jak tabele, widoki czy procedury, jednak nie ma ono nic wspólnego z przydzielaniem uprawnień. Użytkownicy mogą mylić te operacje, ponieważ obie są częścią typowych zadań związanych z administracją bazą danych, ale w rzeczywistości pełnią różne funkcje. Oprócz tego, polecenie REVOKE, chociaż jest związane z uprawnieniami, służy do ich odbierania, a nie nadawania. Użytkownik, który decyduje się na jego użycie, musi być świadomy, że może to wpływać na dostęp do danych i funkcjonalność systemu. Zrozumienie różnicy między tymi poleceniami jest kluczowe dla skutecznego zarządzania bezpieczeństwem i dostępem do danych w bazie, co jest niezbędne w każdym dobrze zarządzanym środowisku IT.

Pytanie 37

W dokumencie HTML stworzono formularz. Jakie działanie kodu zostanie pokazane przez przeglądarkę, jeśli w drugie pole użytkownik wprowadzi tekst „ala ma kota”?

Ilustracja do pytania
A. Efekt 3
B. Efekt 4
C. Efekt 2
D. Efekt 1
Efekt 2 jest poprawny ponieważ kod HTML przedstawia formularz zawierający element select oraz pole input typu password. Element select pozwala na wybór jednej z trzech opcji Kraków Poznań i Szczecin co widzimy w efekcie 2. Pole input typu password zasłania wpisywane przez użytkownika znaki co jest zgodne z przedstawionym obrazem gdzie w miejscu drugiego pola widoczne są zamaskowane znaki. To zabezpieczenie jest standardem w formularzach internetowych chroniącym dane przed nieuprawnionym dostępem. Przeglądarki internetowe interpretują typ password zamieniając wprowadzone znaki na symbole najczęściej kropki lub gwiazdki. Dla programistów webowych jest to istotne przy projektowaniu interfejsów użytkownika zapewniając zarówno funkcjonalność jak i bezpieczeństwo. Ważne jest również aby pamiętać o odpowiednim zarządzaniu danymi wprowadzonymi w polach password po stronie serwera zapewniając szyfrowanie i bezpieczne przechowywanie. Stosowanie elementu select w połączeniu z input type=password jest popularne w formularzach rejestracyjnych gdzie użytkownik wybiera opcję a następnie wprowadza hasło. Dobre praktyki obejmują również walidację danych po stronie klienta i serwera aby zapewnić poprawność i bezpieczeństwo wprowadzanych informacji.

Pytanie 38

Który program komputerowy przekłada kod źródłowy, stworzony w określonym języku programowania, na język maszyny?

A. Kompilator
B. Środowisko programistyczne
C. Debugger
D. Edytor kodu źródłowego
Debugger, edytor kodu i środowisko programistyczne to narzędzia, które pomagają programistom na różnych etapach tworzenia oprogramowania, ale nie są to kompilatory. Debugger służy do analizy tego, co się dzieje z aplikacją w czasie rzeczywistym, więc można łatwiej znaleźć i naprawić błędy, ale nie zmienia kodu źródłowego w język maszynowy. Edytor kodu to program, w którym piszemy i edytujemy nasz kod, często ma fajne funkcje, jak podświetlanie składni, ale też nie wykonuje kompilacji. Środowisko programistyczne to cała kupa narzędzi i programów, które wspierają nas w pisaniu oprogramowania, łącząc edytory kodu, kompilatory i inne użyteczne narzędzia w jednym miejscu. Często programiści mylą te pojęcia, myśląc, że edytor kodu lub środowisko programistyczne są w stanie skompilować kod, co jest błędne. Ważne jest, żeby wiedzieć, co jakie narzędzie robi, bo to pomaga w efektywnym tworzeniu oprogramowania i zarządzaniu procesem programistycznym.

Pytanie 39

Komenda skierowana do serwera bazy danych, która polega na zbieraniu, wyszukiwaniu lub zmienianiu danych w bazie, nosi nazwę

A. kolumny
B. kwerendy
C. kopii
D. formularza
Formularz to interfejs użytkownika, który umożliwia wprowadzanie informacji, ale nie jest związany z operacjami na bazach danych. To narzędzie wizualne, które może być używane do zbierania danych w sposób zorganizowany, jednak samo w sobie nie wykonuje żadnych operacji na danych w bazie. Koncepcja kolumny odnosi się do struktury tabeli w bazie danych, gdzie kolumny definiują typy danych przechowywanych w danej tabeli, ale nie są one powiązane z wykonywaniem zapytań czy operacji na danych. Kopią można określić duplikat danych lub backup, ale również nie ma ona zastosowania w kontekście wysyłania poleceń do serwera bazy danych. Istnieje ryzyko, że błędne zrozumienie terminów związanych z bazami danych prowadzi do mylnych interpretacji, co może skutkować trudnościami w pracy z danymi. Kluczowe jest zrozumienie, że kwerenda jest specyficznym poleceniem, które oddziałuje na strukturę danych, a nie narzędziem do ich wizualizacji czy opisu. Błędy te mogą prowadzić do niewłaściwego projektowania systemów baz danych oraz do ograniczonej efektywności w realizacji zadań związanych z zarządzaniem danymi.

Pytanie 40

Poniższe zapytanie zwróci

SELECT COUNT(cena) FROM uslugi;
A. liczbę wszystkich cen usług w tabeli
B. średnią wartość cen usług w tabeli
C. łączną wartość cen usług w tabeli
D. wszystkie wartości cen usług w tabeli
Wszystkie pozostałe odpowiedzi wynikają z nieporozumienia dotyczącego funkcji COUNT oraz jej zastosowania w SQL. Przede wszystkim, odpowiedź sugerująca sumę cen usług jest błędna, ponieważ COUNT nie sumuje wartości, lecz zlicza ich ilość. W SQL do obliczenia sumy używa się funkcji SUM. W kontekście średniej ceny, podobnie, funkcja COUNT nie dostarcza takiej informacji; do obliczeń średnich wykorzystuje się funkcję AVG. Innym częstym błędem jest mylenie zliczania wszystkich rekordów z wyświetlaniem ich wartości. Użycie COUNT zawsze odnosi się do ilości, a nie do treści poszczególnych rekordów. Warto zrozumieć, że funkcje agregujące, takie jak COUNT, SUM, AVG, MAX czy MIN, mają różne zastosowania i dostarczają różnych informacji. Każda z tych funkcji ma swoje specyficzne zadanie i nie można ich stosować zamiennie. Na przykład, błędna interpretacja może prowadzić do sytuacji, w której analityk danych podejmuje decyzje na podstawie niewłaściwie zrozumianych wyników zapytania, co może skutkować poważnymi konsekwencjami biznesowymi. W związku z tym istotne jest nie tylko znajomość składni SQL, ale także zrozumienie logiki stojącej za funkcjami agregującymi, co jest kluczowe dla analizy danych.