Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 3 czerwca 2025 14:51
  • Data zakończenia: 3 czerwca 2025 15:08

Egzamin zdany!

Wynik: 20/40 punktów (50,0%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Przedstawiono kod tabeli 3×2.Której modyfikacji w jej drugim wierszu należy dokonać, aby tabela wyglądała jak na obrazie z niewidocznym wierszem?

<table>
  <tr>
    <td style="border: solid 1px;">Komórka 1</td>
    <td style="border: solid 1px;">Komórka 2</td>
  </tr>
  <tr>
    <td style="border: solid 1px;">Komórka 3</td>
    <td style="border: solid 1px;">Komórka 4</td>
  </tr>
  <tr>
    <td style="border: solid 1px;">Komórka 5</td>
    <td style="border: solid 1px;">Komórka 6</td>
  </tr>
</table>
Komórka 1Komórka 2
Komórka 3Komórka 4
Komórka 5Komórka 6

A.
B.
C.
D.
Wybrana odpowiedź jest niepoprawna, ale nie martw się, to jest okazja do nauki. Jeśli chcesz ukryć element na stronie, ale zachować jego miejsce w układzie, powinieneś użyć właściwości CSS 'visibility: hidden'. Takie podejście jest zgodne z dobrymi praktykami w tworzeniu stron internetowych. Inne opcje, takie jak 'display: none', 'display: table-cell' i 'clear: none' nie są odpowiednie w tym kontekście. 'display: none' całkowicie usuwa element z układu strony, co powoduje przesunięcie pozostałych elementów, aby zapełnić puste miejsce. 'display: table-cell' jest właściwością, która pozwala elementowi zachowywać się jak komórka tabeli, co nie ma tutaj zastosowania, gdyż chcemy ukryć cały wiersz, a nie pojedynczą komórkę. 'clear: none' jest właściwością używaną do kontroli przepływu elementów w stosunku do elementów z lewej lub prawej strony, ale nie ma wpływu na ukrywanie elementów. Dobra praktyka polega na zrozumieniu i właściwym stosowaniu różnych właściwości CSS, aby uzyskać zamierzony efekt na stronie.

Pytanie 2

Jaka funkcja w PHP pozwala na wyświetlenie ciągu n znaków @?

function znaki($znak,$i++){
for($i=0;$i<$n;$i++)
print($znak);
}
znaki(@,$n);
A
function znaki($i){
for($i=0;$i<$n;$i++)
print("@");
}
znaki($i);
B
function znaki($znak,$i++){
for($i=0;$i<$n;$i++)
print($znak);
}
znaki($n);
C
function znaki($znak,$n){
for($i=0;$i<$n;$i++)
print($znak);
}
znaki("@",$n);
D

A. B
B. D
C. A
D. C
Błędne odpowiedzi w tym przypadku wynikają z niepoprawnego przekazania parametrów do funkcji lub niewłaściwego sposobu ich wykorzystania co skutkuje nieosiągnięciem zamierzonego celu czyli wyświetlenia ciągu znaków @. W jednym przypadku funkcja nie przyjmuje wystarczającej liczby parametrów co uniemożliwia dynamiczne określenie liczby powtórzeń znaku. Zamiast tego powinno się zapewnić że funkcja przyjmuje zarówno znak jak i liczbę powtórzeń jako parametry. Innym częstym błędem jest brak przekazania właściwego argumentu do funkcji co skutkuje jej niepoprawnym działaniem i potencjalnym błędem wykonania. Ponadto korzystanie z niepoprawnie nazwanych zmiennych lub zmiennych które nie są jasno zdefiniowane w kontekście wywołania funkcji prowadzi do błędów logicznych. Kluczowym jest zrozumienie w jaki sposób funkcje w PHP przyjmują i przetwarzają argumenty oraz jak pętle takie jak for pozwalają na iteracyjne przetwarzanie danych. Poprawne zrozumienie i zastosowanie tych mechanizmów jest fundamentem efektywnego programowania w PHP co przekłada się na tworzenie kodu który jest nie tylko poprawny ale także łatwy do utrzymania i skalowalny. Zrozumienie tych podstawowych zasad pozwala na uniknięcie typowych błędów w programowaniu i prowadzi do tworzenia bardziej niezawodnych aplikacji. Prawidłowe podejście do tworzenia funkcji i ich wywoływania jest jednym z kluczowych elementów w rozwijaniu umiejętności programistycznych w PHP i innych językach programowania. Dlatego też ważne jest aby zawsze dokładnie analizować wymagania funkcji i poprawnie konstruować ich implementację oraz wywołanie aby zapewnić ich poprawne i efektywne działanie w kontekście całego systemu.

Pytanie 3

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

A. pop()
B. unshift()
C. shift()
D. push()
Metoda push() 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ć push(), 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 push() 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 4

Jaki styl CSS umożliwia ustawienie wyrównania tekstu do prawej strony?

A.

tekst

B.

tekst

C.

tekst

D.

tekst

Wszystkie pozostałe odpowiedzi zawierają błędne podejścia do stylizacji tekstu. W pierwszym przypadku, użycie 'align' jest nieprawidłowe, ponieważ nie jest to uznawana właściwość CSS; w HTML, wyrównanie tekstu było obsługiwane przez atrybut 'align', ale jest już przestarzałe. Innym błędem jest zastosowanie 'positon', które zapewne miało odnosić się do 'position', lecz ta właściwość służy do określenia sposobu pozycjonowania elementów na stronie, a nie do wyrównania tekstu. 'font' z kolei odnosi się do stylów czcionek, takich jak rodzaj, rozmiar i styl, ale nie ma wpływu na wyrównanie tekstu. Te błędne odpowiedzi ukazują typowe nieporozumienia dotyczące właściwości CSS oraz ich zastosowań. Kluczowe jest zrozumienie, że każda właściwość CSS ma swoje specyficzne zastosowanie, a ich nieprawidłowe użycie prowadzi do nieoczekiwanych rezultatów na stronie. Aby uniknąć takich błędów, warto zapoznać się ze standardami CSS oraz dokumentacją, co pomoże w lepszym zrozumieniu i zastosowaniu odpowiednich właściwości do stylizacji tekstu. W praktyce, korzystanie z odpowiednich właściwości CSS nie tylko poprawia wygląd strony, ale również wpływa na jej dostępność i użyteczność.

Pytanie 5

Zastosowanie atrybutu NOT NULL dla kolumny jest konieczne w sytuacji, gdy

A. mamy do czynienia z kluczem podstawowym
B. tworzymy definicję wszystkich pól tabeli
C. definiujemy wszystkie pola o typie numerycznym
D. korzystamy z atrybutu DEFAULT
Atrybut NOT NULL jest kluczowym elementem definiującym kolumny w bazach danych, szczególnie w kontekście kluczy podstawowych. Klucz podstawowy, będący unikalnym identyfikatorem wierszy w tabeli, nie może zawierać wartości NULL, ponieważ jego główną funkcją jest zapewnienie jednoznacznej identyfikacji każdej instancji danych. W praktyce, definiując klucz podstawowy, programiści są zobowiązani do użycia atrybutu NOT NULL dla wszystkich kolumn, które ten klucz obejmuje. Przykładowo, w tabeli 'Użytkownicy', pole 'ID_Użytkownika' może być kluczem podstawowym z definicją 'ID_Użytkownika INT NOT NULL PRIMARY KEY'. Dzięki temu, każda wartość w tej kolumnie jest unikalna i nie może być pusta. Zastosowanie NOT NULL w kontekście kluczy podstawowych jest zgodne z zasadami normalizacji bazy danych, co zwiększa integralność danych oraz ułatwia zarządzanie informacjami.

Pytanie 6

Wskaż problem z walidacją w podanym fragmencie kodu HTML

<h6>CSS</h6>
<p>Kaskadowe arkusze stylów (<b>ang. <i>Cascading Style Sheets</b></i>)<br>to język służący... </p>

A. Nieznany znacznik h6
B. Znacznik br nie został poprawnie zamknięty
C. Znacznik br nie może występować wewnątrz znacznika p
D. Znacznik zamykający /b niezgodny z zasadą zagnieżdżania
Znacznik zamykający b niezgodny z zasadą zagnieżdżania czyli poprawna odpowiedź 1 odnosi się do zasady poprawnego zagnieżdżania znaczników HTML Zasada ta mówi że znaczniki muszą być zamykane w odwrotnej kolejności do ich otwarcia W naszym przykładzie mamy otwierający znacznik b a następnie i co oznacza że najpierw powinien być zamknięty znacznik i a potem b Tego typu błąd jest często spotykany w kodzie HTML i może prowadzić do nieoczekiwanych problemów z wyświetlaniem strony Warto pamiętać że poprawne zagnieżdżanie znaczników wpływa na czytelność i utrzymanie kodu co jest kluczowe w większych projektach HTML jest językiem opartym na strukturze drzewiastej i każda niezgodność w zagnieżdżaniu może wpłynąć na sposób przetwarzania dokumentu przez przeglądarki Dbałość o szczegóły w strukturze dokumentu HTML jest zgodna z dobrymi praktykami branżowymi i wspomaga zgodność z różnymi przeglądarkami i urządzeniami co w konsekwencji poprawia dostępność i użyteczność strony internetowej

Pytanie 7

W tabeli zwierzeta znajdują się pola: nazwa, gatunek, gromada, cechy oraz dlugosc_zycia. Aby uzyskać listę nazw zwierząt, które dożywają przynajmniej 20 lat i są ssakami, należy wykonać zapytanie:

A. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
B. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20;
C. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 OR gromada = 'ssak';
D. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 AND gromada = 'ssak';
Twoja odpowiedź jest jak najbardziej na miejscu, bo spełnia te dwa ważne wymagania z pytania: pokazuje nazwy zwierząt, które żyją przynajmniej 20 lat i są ssakami. Użycie AND w klauzuli WHERE sprawia, że w wynikach są tylko te zwierzęta, które pasują do obu kryteriów. To zapytanie ma swoje zastosowanie, na przykład w analizach zoologicznych, gdzie długość życia niektórych gatunków ssaków może być kluczowa, zwłaszcza w kontekście ochrony i badań nad ich ekologią. Z osobistego doświadczenia mogę powiedzieć, że dobrze jest stosować takie zapytania w bazach danych, bo to zapewnia lepszą efektywność i wydajność w przetwarzaniu danych. Generalnie w tworzeniu zapytań SQL warto zawsze ustalać konkretne warunki w klauzuli WHERE, żeby uniknąć niechcianych wyników i zmniejszyć obciążenie bazy danych.

Pytanie 8

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

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

Pytanie 9

Jakie typy danych w języku C++ służą do reprezentacji liczb zmiennoprzecinkowych?

A. float, double
B. float, long
C. double, short
D. double, bool
Wybór odpowiedzi, które zawierają typy danych inne niż 'float' i 'double', wskazuje na niezrozumienie podstawowych koncepcji typów danych w języku C++. Typ 'bool' to typ logiczny, który przechowuje jedynie dwie wartości: prawda (true) lub fałsz (false). Nie ma możliwości przechowywania wartości liczbowych, a tym bardziej rzeczywistych. Typy całkowite, takie jak 'short', czy 'long', są wykorzystywane do reprezentacji liczb całkowitych, co wyklucza możliwość użycia ich do reprezentacji wartości zmiennoprzecinkowych. Odpowiedzi, które łączą 'double' z innymi nieodpowiednimi typami, mogą prowadzić do błędnych wniosków, ponieważ podkreślają mylne założenie, że dowolny typ liczbowy mógłby być użyty w obliczeniach zmiennoprzecinkowych. Typowe błędy myślowe obejmują mylenie pojęć związanych z precyzją oraz reprezentacją danych, co skutkuje niepoprawnym rozumieniem, jakie typy można stosować w kontekście liczb rzeczywistych. W praktycznych zastosowaniach programistycznych, niewłaściwy dobór typów danych może prowadzić do błędów obliczeniowych, co jest krytyczne w sytuacjach wymagających wysokiej precyzji, jak w inżynierii oprogramowania czy obliczeniach finansowych.

Pytanie 10

Zaprezentowano poniżej obsługę

if (!isset($_COOKIE[$nazwa]))
  echo "nie ustawiono!";
else
  echo "ustawiono: " . $_COOKIE[$nazwa];

A. ciasteczek
B. bazy danych
C. zmiennych tekstowych
D. sesji
Obsługa ciasteczek jest kluczowym elementem w zarządzaniu stanem w aplikacjach webowych. Ciasteczka, czyli małe pliki tekstowe przechowywane w przeglądarce użytkownika, pozwalają na śledzenie aktywności użytkownika między stronami i sesjami. W kodzie powyżej widzimy użycie globalnej tablicy PHP $_COOKIE do sprawdzania, czy ciasteczko o określonej nazwie zostało ustawione. Funkcja isset() sprawdza, czy zmienna jest zdefiniowana i nie jest null. Jeśli ciasteczko istnieje, jego wartość jest wyświetlana. Ciasteczka są powszechnie używane do zarządzania sesjami, personalizacji treści czy śledzenia zachowań użytkowników. W praktyce, zabezpieczenia są ważnym aspektem zarządzania ciasteczkami. Powinny być szyfrowane i oznaczone jako HttpOnly oraz Secure, aby zminimalizować ryzyko kradzieży informacji przez ataki XSS. Programiści powinni także stosować polityki prywatności zgodnie z regulacjami RODO, informując użytkowników o użyciu ciasteczek. Zrozumienie tych mechanizmów jest fundamentalne dla budowy bezpiecznych i funkcjonalnych aplikacji webowych.

Pytanie 11

Tabela o nazwie naprawy posiada kolumny klient oraz czyNaprawione. W celu usunięcia rekordów, w których wartość pola czyNaprawione wynosi prawda, należy użyć komendy

A. DELETE FROM naprawy WHERE czyNaprawione = TRUE;
B. DELETE FROM naprawy;
C. DELETE naprawy WHERE czyNaprawione = TRUE;
D. DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;
Wszystkie błędne odpowiedzi zawierają niepoprawne podejście do użycia polecenia DELETE w SQL. Odpowiedź sugerująca "DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;" powiela powszechny błąd związany z błędnym formatowaniem zapytania. W SQL nie używa się słowa kluczowego 'klient' w kontekście polecenia DELETE, ponieważ nie ma takiej struktury w poleceniach usuwania. Natomiast "DELETE naprawy WHERE czyNaprawione = TRUE;" również jest niepoprawne, ponieważ nie jest to prawidłowa składnia SQL; brak jest klauzuli FROM, co skutkuje błędem w zapytaniu. Odpowiedź "DELETE FROM naprawy;" z kolei jest skrajnie nieodpowiednia, ponieważ usuwa wszystkie rekordy z tabeli naprawy, co może prowadzić do nieodwracalnej utraty danych. Takie podejście łamie zasadę ostrożności w zarządzaniu bazami danych, gdzie ważne jest, aby nie wykonywać operacji na wszystkich rekordach bez wyraźnego określenia warunków. Typowym błędem jest również zrozumienie, że każdy nieprecyzyjny zapis w SQL skutkuje utratą danych lub błędami wykonania. Dlatego kluczowe jest, aby mieć świadomość struktury składni SQL oraz konsekwencji każdej operacji na bazach danych, w tym ryzyka związane z usuwaniem danych.

Pytanie 12

W przedstawionej regule CSS h1{color: blue} co oznacza h1?

A. selektor
B. deklarację
C. klasę
D. wartość
W regule CSS h1{color: blue} termin h1 odnosi się do selektora, który jest używany do wybierania elementów HTML, a w tym przypadku oznacza wszystkie nagłówki pierwszego poziomu. Selekcje w CSS są kluczowym elementem stylizacji stron internetowych, ponieważ pozwalają na precyzyjne określenie, które elementy mają być stylizowane. Selekcja h1 odnosi się do wszystkich elementów

w dokumencie HTML, co oznacza, że wszystkie nagłówki pierwszego poziomu zostaną stylizowane zgodnie z podaną regułą. Wartością kolorystyki, czyli blue, jest przypisana do właściwości CSS 'color', co skutkuje zmianą koloru tekstu nagłówka na niebieski. Zgodnie z W3C, CSS (Cascading Style Sheets) pozwala na oddzielenie treści od prezentacji, co zwiększa elastyczność i ułatwia zarządzanie stylem strony. Przykładem praktycznym może być strona internetowa, gdzie wszystkie nagłówki pierwszego poziomu są wyróżnione kolorem niebieskim, co przyciąga uwagę użytkowników i poprawia czytelność. Selekcja jest zatem podstawowym narzędziem w stylizacji, umożliwiającym aplikację reguł CSS do określonych elementów HTML.


Pytanie 13

W MSSQL Server rola dbcreator, która jest predefiniowana, umożliwia użytkownikowi

A. tworzenie, modyfikowanie, usuwanie i odzyskiwanie bazy danych
B. wykonywanie każdej operacji na serwerze i posiadanie prawa własności każdej bazy
C. zarządzanie plikami na dysku
D. zarządzanie bezpieczeństwem systemu
Rola dbcreator w Microsoft SQL Server jest jedną z predefiniowanych ról serwerowych, która umożliwia użytkownikom zaawansowane zarządzanie bazami danych. Użytkownicy z tą rolą mają pełne uprawnienia do tworzenia nowych baz danych, modyfikowania istniejących oraz usuwania ich, co jest kluczowe dla administratorów i deweloperów pracujących w środowisku SQL. Rola ta pozwala także na odzyskiwanie baz danych, co jest niezbędne w kontekście zarządzania danymi krytycznymi oraz zapewniania ciągłości działania aplikacji. Przykład praktyczny zastosowania roli dbcreator można zobaczyć w sytuacji, gdy zespół deweloperski tworzy nowe środowisko testowe na podstawie istniejącej bazy danych produkcyjnej. Dzięki tej roli, deweloperzy mogą w łatwy sposób sklonować bazę, przeprowadzić modyfikacje i testy, a następnie usunąć niepotrzebne już zasoby. Standardy bezpieczeństwa oraz dobre praktyki zarządzania danymi zalecają ograniczanie uprawnień, co czyni rolę dbcreator narzędziem potężnym, ale wymagającym odpowiedzialnego podejścia ze strony użytkowników.

Pytanie 14

Kolor Chartreuse przedstawiony w formie heksadecymalnej jako #7FFF00 odpowiada wartości RGB wynoszącej

A. rgb(192, 255, 0)
B. rgb(128, 255, 0)
C. rgb(64, 255, 0)
D. rgb(127, 255, 0)
Analizując pozostałe odpowiedzi, można zauważyć, że każda z nich nieprawidłowo interpretuje wartości heksadecymalne koloru Chartreuse, co prowadzi do błędnych konwersji na model RGB. Na przykład, odpowiedź z rgb(64, 255, 0) błędnie interpretuje wartość czerwonego odcienia jako 64, podczas gdy w rzeczywistości wartość ta wynosi 127. Błąd ten wynika z nieprawidłowego przeliczenia heksadecymalnej wartości 7F na system dziesiętny, co może być spowodowane błędnym założeniem, że każdy z dwóch symboli heksadecymalnych oznacza jedną z dwóch składowych RGB. Podobnie, odpowiedzi rgb(128, 255, 0) oraz rgb(192, 255, 0) również nie zgadzają się z rzeczywistą wartością, co jest wynikiem niewłaściwego zrozumienia zasady konwersji. Wartości te są zbyt wysokie, co może sugerować, że osoba udzielająca tych odpowiedzi nie miała pełnej wiedzy o systemie kolorów. W praktyce, niepoprawne obliczenia lub pomyłki w konwersji kolorów mogą prowadzić do niezgodności w projektach graficznych, co w efekcie wpływa na estetykę oraz spójność wizualną. Dlatego kluczowe jest zrozumienie, że system heksadecymalny jest oparty na szesnastkowej reprezentacji kolorów, gdzie każdy kolor składa się z trzech wartości: czerwonej, zielonej i niebieskiej, a ich prawidłowe przeliczenie jest podstawą profesjonalnego projektowania.

Pytanie 15

Wskaż PRAWIDŁOWE stwierdzenie dotyczące polecenia: CREATE TABLE IF NOT EXISTS ADRES(ulica VARCHAR(70) CHARACTER SET utf8);

A. IF NOT EXISTS jest stosowane opcjonalnie, aby upewnić się, że tabela nie istnieje już w bazie danych
B. Rekordem tabeli nie może być 3 MAJA
C. Do tabeli nie można wprowadzać ulic, które zawierają w nazwie polskie znaki
D. Klauzula CHARACTER SET utf8 jest wymagana
Stwierdzenie, że 'IF NOT EXISTS' stosuje się opcjonalnie, aby upewnić się, że brak w bazie danych takiej tabeli, jest jak najbardziej prawdziwe. Klauzula ta jest używana w kontekście tworzenia tabel, aby uniknąć błędu, który wystąpiłby, gdyby tabela o tej samej nazwie już istniała. Dzięki temu programista może mieć pewność, że operacja tworzenia tabeli przebiegnie pomyślnie, bez konieczności wcześniejszego sprawdzania, czy tabela już istnieje. Przykładowo, w praktyce programistycznej, podczas automatyzacji skryptów do zarządzania bazami danych, często wykorzystuje się tę klauzulę, aby zapewnić, że skrypty są odporne na błędy wynikające z istniejących obiektów. Jest to zgodne z dobrymi praktykami w programowaniu baz danych, które koncentrują się na minimalizowaniu ryzyka i poprawie efektywności pracy.

Pytanie 16

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

A. Zdefiniowanie celu, normalizacja, utworzenie tabel, stworzenie relacji
B. Zdefiniowanie celu, utworzenie relacji, stworzenie tabel, normalizacja
C. Zdefiniowanie celu, stworzenie tabel, utworzenie relacji, normalizacja
D. Zdefiniowanie celu, normalizacja, utworzenie relacji, stworzenie tabel
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 17

DOM oferuje metody i właściwości, które w języku JavaScript umożliwiają

A. manipulowanie łańcuchami zadeklarowanymi w kodzie
B. przesyłanie danych formularza bezpośrednio do bazy danych
C. pobieranie oraz modyfikowanie elementów strony widocznej w przeglądarce
D. przeprowadzanie operacji na zmiennych przechowujących liczby
Odpowiedź dotycząca pobierania i modyfikowania elementów strony wyświetlonej przez przeglądarkę jest poprawna, ponieważ DOM (Document Object Model) stanowi interfejs programistyczny, który umożliwia skryptom JavaScript dostęp do struktury dokumentu HTML lub XML. Dzięki DOM programiści mogą dynamicznie zmieniać zawartość, strukturę i styl dokumentu. Na przykład, za pomocą metody document.getElementById('elementId') można uzyskać dostęp do konkretnego elementu na stronie, a następnie modyfikować jego właściwości, jak tekst czy atrybuty, za pomocą elementów takich jak innerHTML lub setAttribute. Stosowanie DOM jest zgodne z najlepszymi praktykami, takimi jak minimalizowanie manipulacji na stronie, co prowadzi do lepszej wydajności aplikacji. Warto również zwrócić uwagę na standardy W3C, które promują poprawne użycie DOM w kontekście dostępu i użyteczności stron internetowych. Umiejętność efektywnej pracy z DOM jest kluczowa w nowoczesnym web developmencie, gdzie interaktywność i dynamika są niezbędne do tworzenia atrakcyjnych i responsywnych aplikacji internetowych.

Pytanie 18

W bazie danych znajduje się tabela uczniowie, która ma kolumny: imie, nazwisko i klasa. Jakie polecenie SQL należy użyć, aby uzyskać imiona oraz nazwiska uczniów, których nazwiska zaczynają się na literę M?

A. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN 'M%';
B. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko='M%';
C. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN 'M%';
D. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE 'M%';
W analizie błędnych odpowiedzi kluczowe jest zrozumienie, że każda z nich nie spełnia wymagań dotyczących składni i logiki SQL. Pierwsza odpowiedź sugeruje użycie operatora IN, który jest przeznaczony do sprawdzania, czy wartość znajduje się w zbiorze danych, a nie do porównywania wzorów tekstowych. Wartości tekstowe powinny być używane z operatorem LIKE, aby umożliwić wyszukiwanie według wzorców. Z kolei trzecia odpowiedź zawiera błąd w postaci użycia klauzuli ORDER BY w nieodpowiednim kontekście, ponieważ ta klauzula służy do sortowania wyników, a nie do ich filtrowania. Ostatnia propozycja również mylnie łączy operator IN z klauzulą ORDER BY, co jest syntaktycznie niepoprawne i prowadzi do nieczytelnych i nieefektywnych zapytań. Typowe błędy myślowe prowadzące do takich pomyłek często obejmują mylenie funkcji operatorów oraz błędne zrozumienie, kiedy i jak używać określonych klauzul w SQL. Aby skutecznie korzystać z SQL, należy dobrze poznać funkcje każdego z operatorów oraz ich zastosowanie w kontekście zapytań, co pozwoli na tworzenie bardziej efektywnych i zrozumiałych zapytań do baz danych.

Pytanie 19

W programie Microsoft Access mechanizmem ochrony danych związanym z tabelą i kwerendą jest

A. wykorzystanie makr
B. przypisanie uprawnień
C. ustalanie limitów przestrzeni na dysku
D. określanie zakresu tabel
Przypisanie uprawnień jest kluczowym elementem zarządzania bezpieczeństwem w Microsoft Access, ponieważ pozwala na kontrolowanie, kto ma dostęp do danych w tabelach i kwerendach. W praktyce, administratorzy baz danych mogą definiować, które grupy użytkowników mogą przeglądać, edytować lub usuwać dane. To podejście jest zgodne z zasadą najmniejszych uprawnień, co oznacza, że użytkownicy otrzymują tylko te uprawnienia, które są im niezbędne do wykonywania swoich zadań. Na przykład, jeśli pracownik potrzebuje jedynie przeglądać dane w konkretnej tabeli, administrator może przyznać mu jedynie uprawnienia do odczytu, co minimalizuje ryzyko nieautoryzowanych zmian. Warto także wspomnieć, że przypisanie uprawnień nie ogranicza się tylko do tabel, ale dotyczy również kwerend, formularzy i raportów, co pozwala na szczegółowe zarządzanie dostępem do różnych zasobów systemu. Dobre praktyki w zakresie bezpieczeństwa baz danych zalecają regularne audyty uprawnień, aby upewnić się, że są one nadal odpowiednie do zmieniających się potrzeb organizacji oraz roli użytkowników.

Pytanie 20

Jakie jest odstępstwo pomiędzy poleceniem DROP TABLE a TRUNCATE TABLE?

A. Obydwa polecenia usuwają tabelę wraz z jej zawartością, jednak tylko TRUNCATE TABLE można cofnąć
B. DROP TABLE usuwa tabelę, a TRUNCATE TABLE eliminuje wszystkie dane, zostawiając pustą tabelę
C. DROP TABLE usuwa tabelę, natomiast TRUNCATE TABLE modyfikuje dane w niej spełniające określony warunek
D. Obydwa polecenia usuwają tylko zawartość tabeli, ale tylko DROP TABLE może być przywrócone
Pierwsza koncepcja błędna w tej odpowiedzi wynika z nieprecyzyjnego zrozumienia funkcji polecenia DROP TABLE i TRUNCATE TABLE. DROP TABLE nie tylko usuwa dane, ale również całkowicie likwiduje strukturę tabeli, co oznacza, że wszystkie powiązane zależności, takie jak klucze obce, również znikają. W przeciwieństwie do tego TRUNCATE TABLE nie wpływa na strukturę tabeli. Drugim błędem jest mylne zrozumienie, że TRUNCATE TABLE można cofnąć. W rzeczywistości TRUNCATE, w przeciwieństwie do DELETE, nie generuje logów na poziomie pojedynczych wierszy, co oznacza, że nie można z łatwością przywrócić danych po jego wykonaniu. To prowadzi do niewłaściwego osądu na temat bezpieczeństwa tych poleceń. W praktyce, gdy potrzebujemy usunąć dane w tabeli, ale chcemy zachować jej strukturę, używamy TRUNCATE TABLE. Jeśli tabela nie jest już potrzebna, korzystamy z DROP TABLE. Zrozumienie tych różnic jest kluczowe dla efektywnego zarządzania danymi w bazach danych i unikania nieodwracalnych błędów w administracji bazą danych.

Pytanie 21

Jakie dane zostaną wyświetlone po wykonaniu podanych poleceń?

Ilustracja do pytania
A. 1
B. 0
C. tak
D. nie
Analizując zadanie, należy zrozumieć, jak język C++ interpretuje zmienne typu bool podczas ich wypisywania. W podanym kodzie zmienna boolowska gotowe ma przypisaną wartość true. Gdy taka zmienna jest wypisywana przy użyciu cout, jej wartość jest domyślnie przekształcana na liczby całkowite 1 dla true i 0 dla false. To zachowanie wynika z domyślnej konfiguracji strumienia cout, który obsługuje wartości logiczne w sposób liczbowy. Niektórzy mogą się spodziewać, że cout wypisze słowo true lub true w formie tekstowej, jednak to wymaga użycia flagi boolalpha, która nie jest tu zastosowana. Dlatego też odpowiedzi takie jak tak lub nie są niepoprawne, ponieważ oznaczają oczekiwanie wyjścia tekstowego, które nie pasuje do domyślnego formatu C++. Innym błędem mogłoby być oczekiwanie, że wynik będzie zerem, jednak to byłoby możliwe tylko w przypadku, gdyby zmiennej przypisano wartość false. Takie nieporozumienia często wynikają z braku zrozumienia, jak strumienie w C++ konwertują wartości logiczne na tekst. Zrozumienie i prawidłowe zastosowanie tych reguł jest kluczowe dla programistów pracujących w tym języku, szczególnie gdy zależy im na efektywności i zgodności z konwencjami programistycznymi. Aby uniknąć takich nieporozumień, warto dokładnie studiować dokumentację dotyczącą zachowania strumieni w C++ i eksperymentować z różnymi ustawieniami, aby w pełni zrozumieć ich działanie w praktyce.

Pytanie 22

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

A. IIS, PERL i MySQL
B. Apache oraz PHP
C. PHP oraz MySQL
D. Apache, PHP i MySQL
Wybór niewłaściwego środowiska dla Joomla! może prowadzić do nieprawidłowego działania całego systemu. W przypadku odpowiedzi zawierających IIS oraz PERL, istotne jest zrozumienie, że Joomla! nie jest zoptymalizowana do pracy z tymi technologiami. IIS to serwer WWW od Microsoftu, który jest mniej popularny w środowisku, w którym dominuje Joomla!. Wiele funkcji dostępnych w Joomla! może być utrudnionych lub wręcz niemożliwych do zrealizowania przy użyciu tego serwera, co skutkuje ograniczeniami w dostępnych wtyczkach i modułach. Z kolei PERL, jako język programowania, nie jest standardowo używany w kontekście Joomla!, co stanowi kolejną przeszkodę. Wybierając Apache i PHP, użytkownik korzysta z najczęściej używanych rozwiązań w ekosystemie PHP, co zapewnia szeroką bazę wsparcia oraz dokumentacji. Niezrozumienie, które technologie są wymagane do działania Joomla!, może prowadzić do błędnych decyzji, takich jak wybór nieodpowiedniego serwera, co z kolei wpływa na wydajność i bezpieczeństwo końcowego projektu. Kluczowe jest, aby przed rozpoczęciem pracy z systemem CMS, dokładnie zapoznać się z jego wymaganiami i dobrymi praktykami, co pomoże uniknąć podstawowych problemów oraz zapewni optymalny rozwój i zarządzanie witryną.

Pytanie 23

Tablica tab[] jest wypełniona losowymi liczbami całkowitymi. Jaka będzie wartość zmiennej zm2 po wykonaniu poniższego fragmentu kodu?

int tab[10];
int zm1 = 0;
double zm2 = 0;

for (int i=0; i < 10; i++)
{
    zm1 = zm1 + tab[i];
}
zm2 = zm1 / 10;

A. Suma elementów z tablicy
B. Średnia geometryczna liczb od 0 do 9
C. Suma liczb od 1 do 10
D. Średnia arytmetyczna liczb z tablicy
W tym kodzie fajnie widać, jak oblicza się średnią arytmetyczną z liczb w tablicy tab[]. Na początku ustawiamy zmienne zm1 i zm2 na 0, co jest spoko, bo potem w pętli for dodajemy wszystkie liczby z tablicy do zm1. Gdy pętla się kończy, zm1 zbiera całą sumę liczb, a żeby dostać średnią, dzielimy ją przez 10, bo tyle mamy elementów. Wynik przypisujemy do zm2. To bardzo przydatny proces w programowaniu – średnie są często używane w analizie danych czy obliczeniach wyników. Pamiętaj jednak, żeby nie zapomnieć o możliwych błędach dzielenia przez zero. Dobrze jest sprawdzić, czy tablica nie jest pusta, aby uniknąć kłopotów. I jeszcze jedna rzecz – używanie typu double dla zmiennej zm2 to dobry pomysł, żeby średnia była dokładna, zwłaszcza gdy mowa o liczbach, które nie są całkowite. To wszystko jest zgodne z dobrymi praktykami w IT.

Pytanie 24

Wskaż NIEPRAWIDŁOWY opis optymalizacji kodu wygenerowanego przez program

A. Powinna prowadzić do zmiany kodu źródłowego w taki sposób, aby działał on szybciej
B. W celu przyspieszenia wykonania kodu przez procesor może być przeprowadzana na różnych etapach działania
C. Jej celem jest sprawdzenie zgodności z wymogami formalnymi
D. Jej celem jest zwiększenie efektywności programu
Wszelkie odpowiedzi, które sugerują, że celem optymalizacji kodu wynikowego jest sprawdzenie zgodności z wymogami formalnymi, są błędne. Tego rodzaju podejście myślowe może prowadzić do poważnych nieporozumień w kontekście rozwoju oprogramowania. W rzeczywistości, optymalizacja kodu koncentruje się głównie na zwiększeniu wydajności, a nie na zgodności z formalnościami. Wiele osób myli te pojęcia, co może skutkować szkodliwym podejściem, w którym skupiają się na spełnieniu formalnych wymagań bez zrozumienia, że kluczowym celem jest poprawa funkcjonalności i szybkości działania programu. Co więcej, odpowiedzi sugerujące, że modyfikacje kodu źródłowego prowadzące do większej szybkości działania nie są istotne, są również mylne. W rzeczywistości, optymalizacja kodu często wymaga przekształceń na poziomie kodu źródłowego, aby zapewnić lepszą wydajność. Dobre praktyki programistyczne zalecają testowanie i profilowanie kodu, aby zidentyfikować obszary wymagające poprawy. Warto także pamiętać, że optymalizacja powinna być prowadzona na różnych etapach rozwoju aplikacji, aby dostosować kod do zmieniających się potrzeb użytkowników oraz wymagań technicznych. Ignorowanie tych aspektów może prowadzić do stagnacji w rozwoju oprogramowania i obniżenia jego jakości.

Pytanie 25

W sekcji <head> (w elemencie <meta ... >) witryny www nie umieszcza się danych dotyczących

A. autora
B. typu dokumentu
C. kodowania
D. automatycznego odświeżania
Umieszczanie informacji o autorze, kodowaniu oraz automatycznym odświeżaniu w znaczniku jest praktyką zgodną ze standardami, jednak występują nieporozumienia co do roli i miejsca deklaracji typu dokumentu. Wiele osób może błędnie zakładać, że typ dokumentu można umieścić w sekcji , co jest nieprawidłowe. Deklaracja DOCTYPE, która informuje przeglądarkę o wersji HTML, musi być umieszczona przed znacznikiem w kodzie. Tymczasem w sekcji umieszczamy metadane, które mają bezpośredni wpływ na interpretację zawartości strony i jej interakcję z użytkownikami oraz wyszukiwarkami. Często popełnianym błędem jest mylenie tych dwóch elementów, co prowadzi do nieprawidłowego kodowania strony. Odpowiednie zrozumienie struktury dokumentu HTML jest kluczowe dla jego prawidłowego funkcjonowania; nieprawidłowe umiejscowienie deklaracji DOCTYPE może prowadzić do nieoczekiwanych zachowań w przeglądarkach, takich jak błędy w renderowaniu lub problemy z kompatybilnością. Dlatego ważne jest, aby znać zasady dotyczące tworzenia struktury dokumentów HTML, co przyczynia się do lepszej jakości kodu oraz większej wydajności stron internetowych.

Pytanie 26

W instrukcji warunkowej języka JavaScript należy zweryfikować sytuację, w której wartość zmiennej a mieści się w zakresie (0, 100), a wartość zmiennej b jest większa od zera. Taki warunek można zapisać w sposób następujący

A. if (a>0 || a<100 || b<0)
B. if ((a>0 || a<100) && b>0)
C. if (a>0 && a<100 && b>0)
D. if ((a>0 && a<100) || b<0)
Wybór odpowiedzi 'if (a>0 && a<100 && b>0)' jest prawidłowy, ponieważ precyzyjnie spełnia określone wymagania zawarte w pytaniu. Warunek ten sprawdza, czy zmienna 'a' mieści się w przedziale od 0 do 100 (wyłączając 0 i 100), a także potwierdza, że zmienna 'b' jest większa od zera. Operator '&&' (AND) jest kluczowy w tym przypadku, ponieważ wymaga spełnienia wszystkich zdefiniowanych warunków jednocześnie. Przykładowo, jeśli mamy zmienne 'a' równe 50 i 'b' równe 10, to warunek zostanie spełniony i kod wewnątrz instrukcji 'if' zostanie wykonany. Zastosowanie takich warunków jest powszechne w programowaniu, zwłaszcza w sytuacjach wymagających walidacji danych, gdzie musimy upewnić się, że wszystkie kryteria są spełnione przed kontynuowaniem dalszych operacji. Standardy kodowania zalecają wykorzystanie prostych i jednoznacznych instrukcji warunkowych, co przyczynia się do lepszej przejrzystości i utrzymywalności kodu. Stosując odpowiednią logikę w warunkach, minimalizujemy ryzyko wystąpienia błędów w logice aplikacji.

Pytanie 27

W PHP, aby przekierować użytkownika na inną stronę internetową, można użyć funkcji

A. include();
B. upload();
C. require();
D. header();
Funkcja header() w języku PHP służy do wysyłania nagłówków HTTP do przeglądarki użytkownika, co pozwala na przekierowanie go na inną stronę. Aby to zrobić, należy wywołać funkcję header() z odpowiednim argumentem, na przykład: header('Location: http://www.example.com');. To podejście jest zgodne z najlepszymi praktykami w programowaniu, ponieważ umożliwia natychmiastowe przekierowanie użytkownika przed jakimkolwiek innym wyjściem z skryptu. Ważne jest jednak, aby nie wysłać żadnych danych do przeglądarki przed wywołaniem header(), ponieważ PHP nie pozwala na modyfikację nagłówków po ich wysłaniu. Warto również pamiętać, że można używać header() do ustawiania wielu różnych nagłówków, co otwiera szerokie możliwości w kontekście kontroli odpowiedzi HTTP. Użycie header() w połączeniu z odpowiednimi kodami statusu, jak 301 (trwałe przekierowanie) czy 302 (tymczasowe przekierowanie), pozwala na lepsze zarządzanie SEO oraz doświadczeniem użytkowników.

Pytanie 28

W PHP, aby stworzyć obiekt pkt dla klasy Punkt, której definicja znajduje się poniżej, należy użyć polecenia

class Punkt {
  public $x;
  public $y;
}

A. pkt = new Punkt();
B. pkt Punkt();
C. Punkt() pkt;
D. pkt Punkt;
Podczas tworzenia obiektów w PHP kluczowe jest zrozumienie składni i logiki stojącej za deklaracjami obiektów. Problemem w błędnych odpowiedziach jest brak użycia słowa kluczowego new, które jest niezbędne do prawidłowego utworzenia obiektu. Składnia pkt Punkt() sugeruje próbę użycia nazwy klasy jako funkcji, co nie jest poprawne w kontekście PHP. PHP wymaga wyraźnego wskazania, że chcemy utworzyć nową instancję klasy za pomocą new. Kolejna błędna składnia pkt Punkt pokazuje niezrozumienie podstawowej struktury definicji zmiennych i obiektów w PHP, gdzie brakuje operatora new i nawiasów. Takie podejście jest niepoprawne i prowadzi do błędów kompilacji. Brak nawiasów czy operatora przypisania to często popełniane błędy przy nauce programowania obiektowego. Ostateczna odpowiedź Punkt() pkt; jest niezgodna z zasadami składniowymi PHP, ponieważ nie można deklarować obiektu w tej formie. Taka konstrukcja narusza logikę przypisania wartości do zmiennych i tworzenia instancji obiektów w PHP. Zrozumienie, dlaczego słowo new jest kluczowe, pozwoli uniknąć tych typowych błędów i poprawnie implementować obiektowe aspekty PHP, co jest podstawą budowy złożonych aplikacji w tym języku.

Pytanie 29

Dla strony internetowej stworzono grafikę rysunek.jpg o wymiarach: szerokość 200 px, wysokość 100 px. Jak można wyświetlić tę grafikę jako miniaturę – pomniejszoną z zachowaniem proporcji, używając znacznika?

A.
B.
C.
D.
No dobra, ta odpowiedźjest w porządku, bo ustawia szerokość grafiki na 50 pikseli. Dzięki temu zachowujemy proporcje oryginalnego rysunku, który ma rozmiar 200x100 pikseli. Jak zmniejszymy szerokość do 50 px, to automatycznie zmniejsza się też wysokość, więc dostajemy miniaturkę 50x25 px. To jest mega istotne, kiedy budujemy responsywne strony, które muszą się dobrze wyświetlać na różnych urządzeniach. Korzystanie z CSS do ogarniania wielkości obrazków to najlepsza praktyka w web devie, bo dzięki temu możemy elastycznie dopasować treści do różnych ekranów. No i nie zapominajmy o dostępności – zasady mówią, że zachowanie proporcji jest ważne, bo źle skompresowane lub rozciągnięte obrazy mogą sprawić problem osobom z ograniczeniami wzrokowymi.

Pytanie 30

Jeśli zmienna

$x 
przechowuje dowolną liczbę naturalną dodatnią, przedstawiony kod źródłowy PHP ma za zadanie wyświetlić
$licznik = 0;
while ($licznik != $x)
{
    echo $licznik;
    $licznik++;
}

A. kolejne liczby od 0 do x-1
B. liczby wczytywane z klawiatury, tak długo aż zostanie wczytana wartość x
C. losowe liczby z przedziału (0, x)
D. kolejne liczby od x do 0
Niektóre odpowiedzi sugerują niepoprawne interpretacje kodu PHP. Na przykład, propozycja wyświetlenia losowych liczb z zakresu (0, x) nie jest prawidłowa, ponieważ nie ma w kodzie żadnego komponentu generującego liczby losowe. Również pomysł na wczytywanie liczb z klawiatury jest nieprawidłowy, kod nie zawiera żadnej funkcji umożliwiającej wprowadzanie danych przez użytkownika. Ostatecznie, propozycja wyświetlenia liczb od x do 0 również jest błędna, gdyż zmienna $licznik jest zawsze inkrementowana, co oznacza, że jej wartość zawsze wzrasta. Błędne interpretacje wynikają z niewłaściwego zrozumienia funkcjonowania pętli while oraz procesu inkrementacji zmiennych. Ważne jest, aby zawsze dokładnie analizować każdy fragment kodu, zwracając szczególną uwagę na instrukcje warunkowe i manipulacje zmiennymi.

Pytanie 31

W języku HTML zapisano formularz. Który z efektów działania kodu będzie wyświetlony przez przeglądarkę zakładając, że w drugie pole użytkownik wpisał wartość "ala ma kota"?

<form>
  <select>
    <option value="v1">Kraków</option>
    <option value="v2">Poznań</option>
    <option value="v3">Szczecin</option>
  </select> <br>
  <input type="password" />
</form>


Kraków
Poznań
Szczecin
Efekt 1

Efekt 2

Efekt 3
Kraków
Poznań
Szczecin
Efekt 4

A. Efekt 4.
B. Efekt 3.
C. Efekt 1.
D. Efekt 2.
Pozostałe odpowiedzi nie są poprawne, ponieważ nie odpowiadają one opisowi działania kodu HTML formularza. W przypadku odpowiedzi 'Efekt 1', 'Efekt 3' oraz 'Efekt 4', możemy zauważyć, że nie są one zgodne z opisanym działaniem formularza. W HTML, pole hasła reprezentowane jest jako ciąg znaków zastępczych - kropeczki. Przy wpisaniu 'ala ma kota' do pola hasła, nie jesteśmy w stanie zobaczyć tej wartości, tylko kropeczki. Przy wyborze odpowiedzi 'Efekt 1', 'Efekt 3' lub 'Efekt 4', musielibyśmy zobaczyć wpisaną wartość 'ala ma kota' zamiast kropeczek, co jest niezgodne ze standardami HTML. Dlatego też, odpowiedzi te są nieprawidłowe. Pamiętaj, że ważne jest zrozumienie, jak działają różne elementy formularza w HTML, aby poprawnie przewidzieć efekt ich działania w przeglądarce.

Pytanie 32

Jaki typ powinien być zastosowany, aby pole w bazie danych mogło przechowywać liczby zmiennoprzecinkowe?

A. CHAR
B. VARCHAR
C. FLOAT
D. INT
Odpowiedź FLOAT jest poprawna, ponieważ ten typ danych w systemach baz danych jest zaprojektowany do przechowywania liczb zmiennoprzecinkowych, co oznacza, że może reprezentować liczby rzeczywiste z ułamkami. Typ FLOAT jest szczególnie przydatny w aplikacjach wymagających precyzyjnych obliczeń matematycznych, takich jak finanse, nauki przyrodnicze czy inżynieria. W przeciwieństwie do INT, który przechowuje tylko liczby całkowite, FLOAT pozwala na dużą elastyczność w zakresie wartości. Przykładem może być aplikacja bankowa, która potrzebuje przechowywać wartości depozytów oraz wypłat, które mogą być liczone z dokładnością do dwóch miejsc po przecinku. Dobrą praktyką jest także zrozumienie, że FLOAT, w zależności od implementacji, może mieć ograniczenia precyzyjności, dlatego w sytuacjach wymagających ekstremalnej dokładności, takich jak obliczenia naukowe, warto rozważyć użycie typu DOUBLE, który oferuje większą precyzję. W kontekście zarządzania bazą danych, istotne jest również, aby typ danych był zgodny z wymaganiami aplikacji oraz stosowany w odpowiednich konwencjach i standardach branżowych.

Pytanie 33

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

A. REVOKE
B. GRANT
C. CREATE
D. SELECT
Polecenie GRANT jest kluczowym elementem zarządzania uprawnieniami w systemach baz danych, takich jak MySQL, PostgreSQL czy Oracle. Umożliwia ono administratorom nadawanie określonych uprawnień użytkownikom lub rolom, co jest niezbędne do zapewnienia bezpieczeństwa danych oraz kontroli dostępu. Przykładowo, aby umożliwić użytkownikowi o nazwie 'Jan' dostęp do tabeli 'Klienci', można użyć polecenia: GRANT SELECT ON Klienci TO Jan; co przyznaje użytkownikowi prawo do odczytu danych z tej tabeli. Z perspektywy dobrych praktyk, zaleca się stosowanie minimalnych uprawnień, co oznacza, że użytkownik powinien mieć przyznane tylko te uprawnienia, które są mu niezbędne do wykonywania swoich zadań. Dzięki temu można zredukować ryzyko nieautoryzowanego dostępu do wrażliwych informacji. Dodatkowo, operacja GRANT może być stosowana w połączeniu z innymi poleceniami, takimi jak REVOKE, które służy do odbierania wcześniej nadanych uprawnień, co stanowi integralną część zarządzania bezpieczeństwem w bazach danych.

Pytanie 34

Warunek zapisany językiem PHP wypisze liczbę, gdy

if ($liczba % 2 == 0)
{
    echo $liczba;
}

A. jest ona parzysta.
B. wynik dzielenia liczby przez 2 jest równy 0.
C. jest ona dodatnia.
D. jest ona liczbą pierwszą.
Twoja odpowiedź jest poprawna. Warunek w języku PHP 'if($liczba % 2 == 0)' sprawdza faktycznie, czy dana liczba jest parzysta. Jak dobrze zauważyłeś, reszta z dzielenia liczby parzystej przez 2 jest zawsze równa 0. Jest to bezpośrednie odzwierciedlenie definicji liczby parzystej, która mówi, że jest to liczba, którą można podzielić przez 2 bez reszty. Dlatego warunek ten jest powszechnie stosowany w programowaniu do sprawdzania parzystości liczby. W praktyce, może on być wykorzystany np. do filtrowania danych, gdzie chcemy wykluczyć liczby nieparzyste albo też do różnego rodzaju operacji na tablicach, gdzie operacje wykonujemy tylko dla indeksów parzystych. Pamiętaj jednak, że ten warunek nie sprawdzi, czy liczba jest dodatnia, ujemna czy pierwsza. Do tego potrzebne będą inne warunki i operacje.

Pytanie 35

W języku CSS zdefiniowano styl. Sformatowana stylem sekcja będzie zawierała obramowanie o szerokości

div { border: solid 2px blue;
    margin: 20px;             }

A. 20 px oraz marginesy na zewnątrz tego obramowania.
B. 2 px oraz marginesy na zewnątrz tego obramowania.
C. 2 px oraz marginesy wewnątrz tego obramowania.
D. 20 px oraz marginesy wewnątrz tego obramowania.
Wygląda na to, że niepoprawnie zrozumiałeś, jak działają obramowania i marginesy w CSS. W tym języku obramowanie (border) i margines (margin) to dwie różne typy przestrzeni, które możemy zdefiniować wokół elementu. Obramowanie jest linią otaczającą element, natomiast margines to przestrzeń między obramowaniem a następnym elementem. Marginesy są zawsze na zewnątrz obramowania, nie wewnątrz. Powiedzenie, że margines jest 'wewnątrz' obramowania, to fundamentalne nieporozumienie dotyczące tego, jak te dwie właściwości działają. Poza tym, szerokość obramowania została zdefiniowana jako 2 piksele, a nie 20. To może być łatwo pomylone, ale pamiętaj, że w CSS jednostki są ważne i mogą znacząco wpływać na wygląd strony. W praktyce, szczegółowe zrozumienie obramowania i marginesów jest kluczowe do precyzyjnego ułożenia elementów na stronie internetowej.

Pytanie 36

W CSS jednostką miary, która jest wyrażona w punktach edytorskich, oznaczana jest symbolem

A. pt
B. px
C. in
D. em
Jednostki 'em', 'px' oraz 'in' nie są związane z punktami edytorskimi, co czyni je nieodpowiednimi w tym kontekście. 'em' jest jednostką miary, która jest zależna od rozmiaru czcionki elementu nadrzędnego. To oznacza, że wartość '1em' odpowiada rozmiarowi czcionki zastosowanemu w danym kontekście. Używanie 'em' jest korzystne w przypadku responsywnego projektowania, ponieważ pozwala na skalowanie elementów w zależności od rozmiaru tekstu. Z kolei 'px', czyli piksel, to jednostka miary, która jest niezależna od rozmiaru czcionki i oznacza stałą wartość wyrażoną w pikselach. W świecie web designu, 'px' jest często preferowane ze względu na swoją przewidywalność i prostotę. Ostatnią z jednostek, 'in', oznacza cale i jest rzadko wykorzystywana w CSS, ponieważ jest bardziej związana z drukiem i rzadko stosowana w kontekście nawigacji webowej. W kontekście druku takie jednostki jak 'in' mogą być użyteczne, jednak w projektowaniu stron internetowych ich zastosowanie jest ograniczone. Każda z wymienionych jednostek ma swoje zastosowanie, ale nie można ich stosować zamiennie z 'pt', która jest jednoznacznie związana z punktami edytorskimi.

Pytanie 37

Warunek zapisany w PHP wyświetli liczbę, jeśli

Ilustracja do pytania
A. jest ona dodatnia
B. jest ona parzysta
C. wynik dzielenia liczby przez 2 wynosi 0
D. jest ona liczbą pierwszą
Warunek zapisany w języku PHP używa operatora modulo (%) do sprawdzenia, czy dana liczba jest parzysta. Operator modulo zwraca resztę z dzielenia liczby przez inną liczbę co w przypadku parzystości oznacza że reszta z dzielenia liczby przez 2 wynosi 0. W praktyce wykorzystuje się to do sprawdzenia czy liczba jest podzielna przez 2 bez reszty co jest definicją liczby parzystej. W kodowaniu warunki te są przydatne w algorytmach które wymagają działania na liczbach parzystych lub nieparzystych jak np. filtrowanie danych czy sortowanie. Dobre praktyki programistyczne sugerują wykorzystywanie tego typu operacji w przypadku gdy istnieje potrzeba optymalizacji warunków logicznych w kodzie. Umiejętność rozpoznawania i implementacji takich wzorców kodowania jest kluczowa dla pisania efektywnego i czytelnego kodu. Dzięki temu łatwiej można zarządzać dużymi zbiorami danych i operować na nich w sposób zautomatyzowany co jest podstawą w dzisiejszych aplikacjach webowych.

Pytanie 38

Aby stworzyć relację jeden do wielu, w tabeli po stronie wiele, co należy zdefiniować?

A. klucz obcy wskazujący na klucz podstawowy tabeli po stronie jeden
B. klucz sztuczny odnoszący się do kluczy podstawowych obu tabel
C. klucz obcy wskazujący na klucz obcy tabeli po stronie jeden
D. klucz podstawowy wskazujący na klucz podstawowy tabeli po stronie jeden
W kontekście relacji jeden do wielu w bazach danych, każda z podanych niepoprawnych opcji wprowadza w błąd odnośnie do zasady funkcjonowania kluczy obcych i ich roli w modelowaniu danych. Klucz obcy wskazujący na klucz obcy tabeli po stronie jeden jest konceptualnie błędny, ponieważ klucz obcy zawsze odnosi się do klucza podstawowego innej tabeli, a nie do innego klucza obcego. Taki układ narusza zasady referencyjności i integralności danych, co może prowadzić do trudności w utrzymaniu spójności w bazie. Kolejną niepoprawną opcją jest klucz sztuczny odnoszący się do kluczy podstawowych obu tabel. Klucze sztuczne, choć mogą być użyteczne w pewnych kontekstach, nie powinny być używane jako sposób tworzenia relacji, ponieważ nie odzwierciedlają naturalnych powiązań między danymi. Klucz podstawowy wskazujący na klucz podstawowy tabeli po stronie jeden również jest mylny, ponieważ w relacji jeden do wielu klucz podstawowy tabeli 'jeden' musi być referencjonowany przez klucz obcy w tabeli 'wiele', a nie odwrotnie. Te nieporozumienia mogą prowadzić do błędów projektowych w bazach danych, co w efekcie utrudnia ich rozwój i zarządzanie, szczególnie w dużych systemach, gdzie spójność danych jest kluczowa dla funkcjonowania aplikacji.

Pytanie 39

Jakie będzie rezultatem działania poniższego kodu PHP? ```$a = $c = true; $b = $d = false; if(($a && $b) || ($c && $d)) echo 'warunek1'; elseif(($a && $b) || ($c || $d)) echo 'warunek2'; elseif(($c && $d) || (!$a)) echo 'warunek3'; else echo 'warunek4';```

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

Pytanie 40

W systemie zarządzania bazami danych MySQL komenda CREATE USER pozwala na

A. stworznie nowego użytkownika oraz przydzielenie mu uprawnień do bazy
B. utworzenie użytkownika
C. zmianę hasła dla już istniejącego użytkownika
D. pokazanie danych o istniejącym użytkowniku
Polecenie CREATE USER w MySQL jest używane do tworzenia nowych użytkowników w systemie baz danych. W kontekście zarządzania bazami danych, kluczowym aspektem jest kontrola dostępu, a odpowiednie zdefiniowanie użytkowników jest niezbędne dla zapewnienia bezpieczeństwa danych. Używając CREATE USER, administrator bazy danych może zdefiniować nazwę użytkownika oraz powiązane z nią hasło, co stanowi pierwszy krok w procesie zarządzania uprawnieniami. Dobrą praktyką jest stosowanie silnych haseł oraz nadawanie użytkownikom tylko tych uprawnień, które są im rzeczywiście potrzebne do wykonania ich zadań. Na przykład, w przypadku aplikacji webowych często tworzy się specjalnych użytkowników z ograniczonymi prawami dostępu, co minimalizuje ryzyko nieautoryzowanego dostępu do wrażliwych danych. Warto pamiętać, że po utworzeniu użytkownika, można wykorzystać polecenia GRANT, aby przyznać mu odpowiednie uprawnienia do konkretnych baz danych lub tabel, co pozwala na precyzyjne zarządzanie dostępem. Ponadto, MySQL pozwala na tworzenie użytkowników z różnymi poziomami dostępu, co jest kluczowe dla organizacji z wieloma działami oraz różnorodnymi potrzebami w zakresie bezpieczeństwa danych.