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: 27 kwietnia 2026 01:35
  • Data zakończenia: 27 kwietnia 2026 01:36

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

Które z komend przyznaje najniższy poziom uprawnień dla użytkownika uczen w zakresie modyfikacji danych oraz struktury tabeli?

A. DRANT DROP ON szkola.przedmioty TO uczen
B. GRANT SELECT ON szkola.przedmioty TO uczen
C. GRANT INSERT, DROP ON szkola.przedmioty TO uczen
D. GRANT ALTER, SELECT ON szkola.przedmioty TO uczen
Wszystkie pozostałe polecenia przyznają użytkownikowi uczeń szerszy zakres uprawnień, co prowadzi do większego ryzyka nieautoryzowanej modyfikacji danych. Polecenie DRANT DROP ON szkola.przedmioty TO uczen jest nieprawidłowe, ponieważ DRANT nie jest poprawnym poleceniem SQL, co czyni jego interpretację niemożliwą. W kontekście administracji bazami danych, DROP oznacza usunięcie całej tabeli, co w przypadku użytkownika uczeń może prowadzić do katastrofalnych skutków, gdyż może on przypadkowo lub celowo usunąć istotne dane. Kolejne polecenie GRANT INSERT, DROP ON szkola.przedmioty TO uczen przyznaje prawo do wstawiania nowych danych oraz usuwania tabeli. Takie uprawnienia są zdecydowanie nieodpowiednie dla użytkownika uczeń. Umożliwiają one nie tylko dodawanie nieautoryzowanych rekordów, ale także ich usuwanie, co narusza zasady bezpieczeństwa i integralności danych. Podobnie, GRANT ALTER, SELECT ON szkola.przedmioty TO uczen przyznaje prawo do modyfikacji struktury tabeli, co oznacza, że uczeń mógłby zmieniać kolumny, dodawać nowe oraz wprowadzać zmiany, które mogą wpływać na funkcjonowanie całej bazy danych. Prawo do ALTER jest jednym z najszerszych uprawnień w SQL i nie powinno być przyznawane użytkownikom, którzy nie są administratorami, aby zapewnić pełną kontrolę nad bazą danych.

Pytanie 2

Fragment formularza zaprezentowany powyżej został przetworzony w skrypcie PHP. Wskaż poprawny sposób pobierania wartości z pola edycyjnego.

Ilustracja do pytania
A. name = GET['imie']
B. name = $_GET[imie]
C. $name = $_POST['imie']
D. $name = $POST['Imię']
W przypadku niepoprawnych odpowiedzi kluczowym problemem jest niezrozumienie sposobu działania metod przesyłania danych w HTTP oraz odpowiedniego ich odczytywania w PHP. Odpowiedź z użyciem GET['imie'] pomija istotny element składniowy: znak dolara ($) przed GET, co jest konieczne w PHP dla wszystkich zmiennych. Ponadto, $_GET nie jest odpowiednia dla formularza, który został przesłany metodą POST jak w przedstawionym formularzu; użycie $_GET wskazuje na próbę pobrania danych z URL-a, co nie jest zgodne z metodą POST. Kolejna odpowiedź z użyciem $POST['Imię'] jest błędna z dwóch powodów: brak znaku dolara przy POST oraz niezachowanie poprawnej nazwy klucza który jest case-sensitive. Klucz 'Imię' różni się od 'imie' co prowadzi do błędu, gdy próbujemy odwołać się do nieistniejącego klucza. W PHP, nazwy kluczy w superglobalnych tablicach są case-sensitive, co oznacza, że każde odstępstwo od zadeklarowanej nazwy w formularzu będzie prowadziło do błędów. Te błędy często wynikają z pośpiechu lub niedokładności, co podkreśla wagę staranności i dokładności podczas pracy z kodem. Zarówno GET jak i POST mają swoje zastosowania, ale muszą być używane zgodnie z przeznaczeniem i w odpowiedni sposób, co jest kluczowe dla poprawnego działania aplikacji webowych. Zrozumienie tych różnic jest istotne dla programistów, aby unikać typowych pułapek związanych z bezpieczeństwem i funkcjonalnością aplikacji webowych. Poprawne użycie superglobalnych tablic PHP jest fundamentem tworzenia solidnych i bezpiecznych aplikacji internetowych.

Pytanie 3

Baza danych zawiera tabelę artykuły z kolumnami: nazwa, typ, producent, cena. Aby wypisać wszystkie nazwy artykułów jedynie typu pralka, których cena mieści się w zakresie od 1000 PLN do 1500 PLN, należy użyć zapytania

A. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena BETWEEN 1000 AND 1500
B. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 OR 1500
C. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 AND 1500
D. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena FROM 1000 TO 1500
Błędne odpowiedzi opierają się na nieporozumieniach dotyczących składni SQL oraz logicznych błędach w użyciu operatorów. W pierwszym przypadku, użycie 'cena FROM 1000 TO 1500' jest niepoprawne, ponieważ składnia SQL nie wspiera takiego zapisu. Poprawne podejście wymagałoby użycia operatora 'BETWEEN'. Drugie podejście używa operatora 'OR', co skutkuje zwróceniem artykułów, które są typu 'pralka' lub mają cenę w podanym przedziale, a to jest niezgodne z wymaganiem, które wymaga obu warunków jednocześnie. Trzecia opcja z 'BETWEEN' jest bliska poprawnej, ale przez użycie operatora 'OR' dla ceny również nie spełnia wymagań. Ostatnia odpowiedź, która stosuje 'OR' w kontekście ceny, jest błędna, ponieważ nie można używać 'OR' w ten sposób przy definiowaniu zakresu. Typowe błędy myślowe, które mogą prowadzić do takich nieporozumień, obejmują mylenie operatorów logicznych oraz niewłaściwe rozumienie składni SQL. W rezultacie, kluczowe jest zrozumienie, że do filtrowania danych używamy 'AND' dla warunków, które muszą być spełnione jednocześnie oraz 'BETWEEN' do określenia zakresu wartości.

Pytanie 4

Jaką funkcję w języku PHP należy wykorzystać, aby nawiązać połączenie z bazą danych o nazwie zwierzaki?

A. $polacz = db_connect('localhost', 'root','','zwierzaki');
B. $polacz = server_connect('localhost', 'root','','zwierzaki');
C. $polacz = mysqli_connect('localhost', 'root','','zwierzaki');
D. $polacz = sql_connect('localhost', 'root','','zwierzaki');
Odpowiedzi, które nie korzystają z funkcji mysqli_connect, bazują na nieaktualnych lub niepoprawnych założeniach dotyczących połączeń z bazą danych w PHP. Na przykład, funkcja db_connect nie jest standardową funkcją dostępną w PHP, co sprawia, że jej użycie prowadzi do błędu. Użytkownicy mogą sądzić, że ta funkcja działa w podobny sposób jak mysqli_connect, lecz w rzeczywistości jest to wytwór nieformalny lub nieprawidłowy, który nie odpowiada standardom języka PHP. Z kolei sql_connect jest często mylona z mysqli_connect, jednak również nie istnieje w dokumentacji PHP jako wbudowana funkcja, co czyni jej stosowanie błędnym. Co więcej, server_connect to kolejna niepoprawna koncepcja, ponieważ nie ma takiej funkcji w PHP. Użytkownicy mogą myśleć, że nazewnictwo funkcji jest dowolne, ale w rzeczywistości język PHP ma ustalone standardy, które muszą być przestrzegane. Dlatego właściwe zrozumienie narzędzi i funkcji dostępnych w PHP jest kluczowe dla efektywnego programowania i unikania typowych błędów, które mogą wynikać z nieznajomości dokumentacji oraz z zastosowania niepoprawnych funkcji.

Pytanie 5

W JavaScript poprawnie zdefiniowana zmienna to

A. #imie
B. imie2
C. imię2
D. imię%
Odpowiedź 'imie2' jest prawidłowa, ponieważ spełnia wszystkie zasady dotyczące nazewnictwa zmiennych w języku JavaScript. Zgodnie z tymi zasadami, nazwy zmiennych mogą zaczynać się od litery (a-z, A-Z), znaku podkreślenia (_) lub znaku dolara ($). Następnie, dozwolone są litery, cyfry (0-9), znaki podkreślenia oraz znaki dolara. Nazwa 'imie2' jest zgodna z tymi zasadami, ponieważ zaczyna się od litery, a następnie zawiera cyfrę, co jest akceptowalne. Przykładowo, dobra praktyka w programowaniu polega na nadawaniu zmiennym nazw związanych z ich przeznaczeniem, na przykład 'userAge' dla wieku użytkownika. Warto pamiętać, że unikanie użycia polskich znaków oraz specjalnych symboli w nazwach zmiennych, takich jak znaki procentu czy hashtagi, zwiększa czytelność i przenośność kodu, szczególnie w międzynarodowych projektach. Dobra praktyka sugeruje również używanie camelCase, co ułatwia identyfikację zmiennych w większych projektach.

Pytanie 6

Które z poniższych zapytań SQL zwróci wszystkie kolumny z tabeli 'produkty'?

A. SELECT * FROM produkty;
B. SELECT produkty FROM *;
C. GET * FROM produkty;
D. FETCH * FROM produkty;
Błędne odpowiedzi w zapytaniach SQL często wynikają z nieprawidłowego zrozumienia składni i konwencji języka. W przypadku SELECT produkty FROM *, takie zapytanie jest nielogiczne i niezgodne z SQL-ową składnią, ponieważ "*" powinno znajdować się po słowie SELECT, a nie po FROM. W SQL, słowo kluczowe SELECT zawsze musi być następujące przez listę kolumn lub symbol * do wskazania wszystkich kolumn. FETCH * FROM produkty; to również błędne zapytanie, ponieważ słowo FETCH nie jest używane w ten sposób w standardowym SQL do pobierania danych z tabeli, lecz raczej w kontekście kursora, gdzie operujemy na zestawach wyników w bardziej zaawansowany sposób. Ostatnia odpowiedź, GET * FROM produkty;, jest także niepoprawna, ponieważ GET nie jest słowem kluczowym używanym w SQL do pobierania danych z tabeli. Tego typu błędy często wynikają z prób intuicyjnego zrozumienia języka SQL bez znajomości jego konkretnej składni, co prowadzi do niepoprawnych konstrukcji. Dlatego ważne jest zrozumienie podstawowych reguł i konwencji SQL, aby skutecznie formułować zapytania.

Pytanie 7

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

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

Pytanie 8

Parkowanie domeny to proces, który polega na

A. stworzeniu strefy domeny i wskazaniu serwerów DNS
B. zmianie właściciela domeny poprzez cesję
C. dodaniu aliasu CNAME dla domeny
D. nabyciu nowej domeny
Zakup nowej domeny nie jest tożsamy z parkowaniem domeny, ponieważ odnosi się do etapu, w którym użytkownik nabywa prawo do jej używania. Chociaż zakupienie domeny jest pierwszym krokiem do jej późniejszego używania, nie wiąże się bezpośrednio z jej parkowaniem. Wprowadzenie aliasu CNAME dla domeny również nie jest związane z parkowaniem. Alias CNAME jest używany do przekierowywania zapytań DNS z jednej domeny na inną i może być stosowany dopiero po skonfigurowaniu strefy. Zmiana abonenta domeny przez cesję dotyczy transferu praw do domeny, co również nie ma związku z jej parkowaniem. Właściwe parkowanie domeny polega na jej skonfigurowaniu w sposób umożliwiający jej zarządzanie, co nie jest realizowane przez same zakupy, aliasy czy cesje. Często mylenie tych koncepcji prowadzi do dezorientacji w zakresie zarządzania domenami. Aby prawidłowo parkować domenę, konieczne jest zrozumienie roli serwerów DNS oraz strefy domeny, co jest kluczowe dla przyszłego wykorzystania domeny w Internecie.

Pytanie 9

W języku PHP przeprowadzono operację przedstawioną w ramce. Jak można postąpić, aby wyświetlić wszystkie wyniki tego zapytania?

$tab = mysqli_query($db, "SELECT imie FROM Osoby WHERE wiek < 18");
A. pokazać zmienną $db
B. zastosować pętlę z poleceniem mysqli_fetch_row
C. zaindeksować zmienną tab, tab[0] to pierwsze imię
D. użyć polecenia mysql_fetch
W przypadku wyświetlania wyników zapytania SQL w PHP, ważne jest zrozumienie mechanizmu działania funkcji dostępnych w bibliotece mysqli. Wśród niewłaściwych koncepcji można wymienić próbę wyświetlenia zmiennej $db, która jest zazwyczaj uchwytem połączenia do bazy danych a nie bezpośrednim wynikiem zapytania. To podejście często prowadzi do błędów logicznych, ponieważ $db reprezentuje połączenie a nie dane wynikowe. Polecenie mysql_fetch, choć kiedyś używane w starszej wersji PHP, obecnie nie jest zalecane z powodu przestarzałości i braku wsparcia dla rozszerzenia mysql, które zostało zastąpione przez mysqli i PDO. Próba zaindeksowania zmiennej tab jako tab[0] bez odpowiedniego pobrania danych wynikowych jest również błędna. Zmienna tab przechowuje rezultat zapytania w postaci obiektu typu mysqli_result, a bez użycia odpowiednich funkcji fetch nie można bezpośrednio uzyskać dostępu do danych. Takie podejście wynika z niezrozumienia struktury danych zwracanych przez zapytania. Iteracyjne pobieranie wyników za pomocą funkcji typu mysqli_fetch_row czy mysqli_fetch_assoc jest standardem w nowoczesnych aplikacjach PHP, ponieważ umożliwia elastyczne i efektywne zarządzanie danymi. Zastosowanie odpowiednich mechanizmów fetch pozwala na bezbłędne iterowanie przez wiersze wynikowe co jest kluczowe dla poprawnego przetwarzania danych z bazy.

Pytanie 10

Jaki rezultat uzyskamy po uruchomieniu załączonego skryptu?

<?php
class Owoc {
  function __construct() {     echo "test1";     }
  function __destruct() {     echo "test2";     }
}
$gruszka = new Owoc();
?>
A. Pojawi się jedynie komunikat "test2"
B. Na ekranie pojawią się oba komunikaty: "test1" oraz "test2"
C. Pojawi się tylko komunikat "test1"
D. Nie zostanie wyświetlony żaden komunikat
W analizie skryptu PHP ważne jest zrozumienie roli metod specjalnych jak __construct() i __destruct(). __construct() uruchamia się podczas tworzenia obiektu, a __destruct() w momencie niszczenia obiektu. Odpowiedź wskazująca, że żaden napis się nie wyświetli, ignoruje fakt, że zarówno konstruktor jak i destruktor wywołują funkcję echo. Przy odpowiedzi, że wyświetli się tylko napis test1, pominięto działanie metody __destruct(), która następuje po zakończeniu skryptu. Natomiast stwierdzenie, że wyświetli się tylko napis test2 ignoruje działanie konstruktora, który zostaje niezwłocznie aktywowany po stworzeniu obiektu $gruszka. Częstym błędem jest nieujmowanie pełnego cyklu życia obiektu, co prowadzi do nieprawidłowego zrozumienia działania destruktorów, zwłaszcza że uruchamiane są one automatycznie, wpływając na zarządzanie zasobami i pamięcią. Zrozumienie tych mechanizmów jest kluczowe w efektywnym zarządzaniu kodem w PHP, szczególnie w zaawansowanych projektach obiektowych.

Pytanie 11

W stylu CSS utworzono klasę uzytkownik. Na stronie będą wyświetlane czcionką w kolorze niebieskim: p.uzytkownik { color: blue; }

A. jedynie elementy tekstowe takie jak <p>, <h1>.
B. wszystkie akapity.
C. akapitów, którym przypisano klasę uzytkownik.
D. wszystkie elementy w sekcji <body> z przypisaną klasą uzytkownik.
Odpowiedź, że paragrafy przypisane do klasy 'uzytkownik' będą miały niebieską czcionkę, jest jak najbardziej trafna. W CSS używamy kropki, żeby zdefiniować klasę, co oznacza, że styl dotyczy tylko tych elementów HTML, które mają tę klasę. Więc jeśli masz coś takiego w HTML jak <p class='uzytkownik'>, to na pewno będzie to wyświetlane z niebieską czcionką, zgodnie z Twoją regułą CSS. Takie podejście super wspiera modularność i możliwość ponownego użycia kodu, co jest naprawdę ważne w tworzeniu stron. Dzięki klasom CSS łatwo da się ogarnąć styl w różnych miejscach w kodzie, a zmieniając kolor czcionki w pliku CSS, zmiana ta natychmiast zaktualizuje wszystkie elementy z tą klasą. Przykładowo, akapit <p class='uzytkownik'> będzie miał niebieski kolor i to fajnie wpływa na spójność wizualną strony. Pamiętaj też, że klasy CSS można stosować nie tylko do akapitów, ale też do innych znaczników, co daje większą swobodę w stylizacji treści.

Pytanie 12

Jaką właściwość CSS należy zastosować, aby uzyskać linie przerywaną w obramowaniu?

Ilustracja do pytania
A. dotted
B. solid
C. double
D. dashed
Wybór właściwości takich jak solid double czy dotted dla stylu obramowania często wynika z niepełnego zrozumienia ich zastosowań Solid jest używane do tworzenia ciągłej linii co może być mylące gdy celem jest uzyskanie efektu linii przerywanej W kontekście projektowania stron internetowych solid jest bardziej dominujące i może przesuwać punkt ciężkości z treści na formatowanie co nie zawsze jest pożądane Double tworzy podwójną linię i choć może być stosowane w celu uzyskania bardziej wyrazistego efektu jego użycie w sytuacji gdy potrzebna jest subtelność jest nieodpowiednie Dotyczy to sytuacji gdzie wizualna przejrzystość i prostota są kluczowe Dotted tworzy linię z kropkami która różni się od dashed strukturą i wyglądem podczas gdy dashed używa kresek dotted sprawia wrażenie bardziej delikatnej i lekko chaotycznej linii co nie zawsze jest zgodne z zamierzonym stylem estetycznym Struktura dotted może być stosowana tam gdzie wymagana jest bardziej dekoracyjna linia Wybór właściwej właściwości jest kluczowy dla osiągnięcia zamierzonego efektu wizualnego i powinien być oparty na standardach projektowania stron internetowych które uwzględniają zarówno estetykę jak i funkcjonalność Zapewnienie spójności w użyciu stylów w całej witrynie jest również istotne dla zachowania profesjonalnego wyglądu i łatwości użytkowania takich jak rozpoznawalność interakcji i intuicyjność nawigacji poprzez odpowiednie oznaczenia CSS pozwala na szeroką personalizację co wymaga zrozumienia subtelnych różnic między różnymi wartościami stylów i ich odpowiednimi zastosowaniami w kontekście projektu

Pytanie 13

Jakie dane zostaną wybrane po wykonaniu poniższej kwerendy na pokazanych rekordach?

SELECT id FROM samochody WHERE rocznik LIKE "2%4";

idmarkamodelrocznik
1FiatPunto2016
2FiatPunto2002
3FiatPunto2007
4OpelCorsa2016
5OpelAstra2003
6ToyotaCorolla2016
7ToyotaCorolla2014
8ToyotaYaris2004
A. Wszystkie id
B. Brak danych
C. Tylko id równe 8
D. Pole id równe 7 oraz 8
Podczas analizy zapytania SQL należy zwrócić uwagę na sposób, w jaki operator LIKE działa na ciągach znaków w kolumnach baz danych. Zapytanie w tym przypadku używa składni LIKE w połączeniu z symbolem podkreślenia (_) jako znakiem zastępczym, który reprezentuje dowolny pojedynczy znak. Często błędnie zakłada się, że zapytanie wybiera wszystkie rekordy zawierające wartość '4' na końcu rocznika, co jest niepoprawne. Operator LIKE jest bardziej złożony i używa symbolu podkreślenia do reprezentowania dokładnie jednego znaku. Dlatego wzorzec '2_4' oznacza, że rok musi mieć na drugiej pozycji cyfrę '2' a na ostatniej '4'. To oznacza, że jedynie roczniki 2014 i 2004 spełniają ten wzorzec, dlatego odpowiadające im identyfikatory to 7 i 8. Częstym błędem jest nieprawidłowe zrozumienie funkcji LIKE i traktowanie jej podobnie jak operatora równości, co może prowadzić do niepoprawnych wniosków dotyczących zakresu danych, które zostaną wybrane. Dlatego zrozumienie działania różnych operatorów SQL oraz uważność w analizie wzorców jest kluczowe w pracy z bazami danych.

Pytanie 14

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

A. ALTER, CREATE, DROP
B. SELECT, SELECT INTO
C. DELETE, INSERT, UPDATE
D. DENY, GRANT, REVOKE
Pierwsza odpowiedź DENY, GRANT, REVOKE odnosi się do zarządzania uprawnieniami w bazach danych, a nie do operacji na danych. Te polecenia są używane do kontrolowania dostępu do danych, co jest istotne dla bezpieczeństwa, ale nie mają one wpływu na manipulację danymi. W kontekście SQL DML, są one nieodpowiednie, ponieważ nie dotyczą wstawiania, aktualizowania ani usuwania danych. Odpowiedź SELECT, SELECT INTO odnosi się do operacji wyciągania danych z bazy. SELECT służy do pobierania danych, co jest fundamentalne dla analizy i raportowania, ale nie obejmuje modyfikacji danych. SELECT INTO jest używane do kopiowania danych do nowej tabeli, co również nie spełnia wymogu manipulacji danymi w kontekście DML. Odpowiedź ALTER, CREATE, DROP dotyczy struktury bazy danych i definiowania nowych obiektów, takich jak tabele i indeksy. Te polecenia są częścią języka SQL DDL (Data Definition Language) i nie mają zastosowania w kontekście operacji na danych, które są kluczowe dla DML. Zrozumienie różnicy między DML a DDL jest niezbędne, aby skutecznie zarządzać bazą danych i realizować odpowiednie operacje na danych.

Pytanie 15

W PHP tablice asocjacyjne to struktury, w których

A. elementy tablicy są zawsze numerowane od zera
B. indeks może być dowolnym ciągiem znaków
C. w każdej pozycji tablicy znajduje się inna tablica
D. są co najmniej dwa wymiary
Tablice asocjacyjne w języku PHP są strukturami danych, które łączą unikalne klucze (indeksy) z wartościami. Klucze mogą być dowolnymi napisami, co oznacza, że programista ma dużą swobodę w definiowaniu, jak będą wyglądały indeksy. Na przykład, można używać nazw użytkowników jako kluczy, co pozwala na łatwe odwoływanie się do powiązanych danych. Przykład zastosowania tablic asocjacyjnych to przechowywanie informacji o użytkownikach w formacie: $użytkownicy = array('jan' => 'Jan Kowalski', 'ania' => 'Anna Nowak'). W praktyce, tablice asocjacyjne są niezwykle użyteczne, gdyż pozwalają na bardziej intuicyjny dostęp do danych, a także umożliwiają organizowanie danych w sposób, który jest zrozumiały dla programisty oraz osób współpracujących z kodem. Dobrą praktyką jest stosowanie nazw kluczy, które jednoznacznie opisują przechowywane dane, co zwiększa czytelność i ułatwia późniejsze modyfikacje w kodzie. Warto również dodać, że tablice asocjacyjne w PHP są implementowane jako hashe, co zapewnia szybki dostęp do wartości na podstawie kluczy. To czyni je efektywnym narzędziem w codziennej pracy programisty, szczególnie przy pracy z dużymi zbiorami danych.

Pytanie 16

Głównym celem systemu CMS jest oddzielenie treści serwisu informacyjnego od jego wizualnej formy. Ten efekt osiągany jest przez generowanie zawartości

A. z plików HTML o stałej zawartości oraz wizualizacji przy pomocy technologii FLASH
B. z plików HTML o stałej zawartości oraz wizualizacji z użyciem ustalonego szablonu
C. z bazy danych oraz wizualizacji poprzez atrybuty HTML
D. z bazy danych oraz wyglądu ze zdefiniowanego szablonu
Wybór odpowiedzi, która sugeruje wykorzystanie ze statycznych plików HTML, jest w istocie niezgodny z ideą systemów CMS. stosowanie statycznych plików HTML oznacza, że każda zmiana treści serwisu wymagałaby ręcznej edycji plików, co jest czasochłonne i podatne na błędy. Takie podejście ogranicza elastyczność i możliwość szybkiej aktualizacji treści. Z kolei odpowiedzi wskazujące na wykorzystanie technologii FLASH są przestarzałe, ponieważ Flash nie jest już wspierany przez większość nowoczesnych przeglądarek i nie spełnia wymogów dostępności, co stawia pod znakiem zapytania jego użyteczność w kontekście nowoczesnych stron internetowych. Ponadto, odpowiedzi sugerujące wykorzystanie atrybutów HTML do definiowania wyglądu również są niewłaściwe, ponieważ atrybuty HTML nie są wystarczające do efektywnego kształtowania i zarządzania stylem aplikacji. W praktyce do definiowania wyglądu stosuje się arkusze stylów CSS, a nie tylko atrybuty. W konsekwencji, błędne koncepcje opierające się na statycznych plikach czy przestarzałych technologiach prowadzą do sytuacji, w której serwis staje się trudny w utrzymaniu i mało elastyczny, co jest sprzeczne z głównymi zaletami systemów zarządzania treścią.

Pytanie 17

Przedstawiony serwis internetowy służy do walidacji

Ilustracja do pytania
A. dokumentów HTML.
B. bazy danych SQL.
C. skryptów JavaScript.
D. arkuszy stylów.
Wygląda na to, że wybrałeś niepoprawną odpowiedź. Aby poprawnie odpowiedzieć na to pytanie, musisz zrozumieć funkcję różnych technologii internetowych i jak są one walidowane. Dokumenty HTML, bazy danych SQL i skrypty JavaScript są częściami składowymi stron internetowych, ale walidacja każdego z nich wymaga różnych narzędzi. Na przykład, dokumenty HTML są walidowane za pomocą narzędzi takich jak 'HTML Validation Service', podczas gdy bazy danych SQL i skrypty JavaScript są sprawdzane za pomocą różnych narzędzi do debugowania i testowania. Wybranie jednej z tych opcji sugeruje, że nie zrozumiałeś, do czego służy serwis 'CSS Validation Service'. Ten konkretny serwis jest stworzony do walidacji arkuszy stylów CSS, nie do walidacji dokumentów HTML, baz danych SQL czy skryptów JavaScript. Pamiętaj, że każda technologia webowa ma swoje specificzne narzędzia do walidacji, co umożliwia tworzenie zgodnych, efektywnych i bezbłędnych stron internetowych.

Pytanie 18

Funkcja CONCAT() w SQL służy do

A. łączenia tekstów do wyświetlenia
B. uzyskiwania podłańcucha ze wskazanego tekstu
C. usuwania określonego tekstu
D. przycinania tekstu do wyświetlenia
Funkcja CONCAT() w SQL nie ma nic wspólnego z usuwaniem tekstu, przycinaniem go ani wyznaczaniem podłańcuchów. Usunięcie wskazanego tekstu to inaczej operacja związana z funkcją REPLACE lub DELETE, które służą do usuwania fragmentów danych z tabel, a nie ich łączenia. Przycinanie tekstu, z kolei, może być realizowane za pomocą funkcji CHARINDEX lub LEN, które są używane do określenia długości tekstu lub jego pozycji, ale nie mają one zastosowania w kontekście łączenia różnych elementów. Odpowiedź sugerująca, że CONCAT() wyznacza podłańcuchy znaków, również jest mylna, ponieważ do tego celu służą funkcje takie jak SUBSTRING czy LEFT, które pozwalają na wyodrębnianie określonych części tekstu na podstawie pozycji. Typowym błędem myślowym jest mylenie różnych funkcji SQL, które pełnią odrębne role. Należy pamiętać, że każda z tych operacji ma swoje unikalne zastosowanie i są one wykorzystywane w różnych kontekstach. Dlatego przed przystąpieniem do użycia konkretnej funkcji, warto dokładnie zrozumieć jej przeznaczenie i działanie, aby uniknąć nieporozumień i błędów w zapytaniach SQL.

Pytanie 19

W poniższym kodzie CSS czcionka zmieni kolor na żółty

a[target="_blank"]
{
  color: yellow;
}
A. odnośników, które otwierają się w nowej karcie
B. tekstu akapitu
C. każdego linku
D. odnośników, które otwierają się w tej samej karcie
Prawidłowa odpowiedź wskazuje na zastosowanie selektora a[target="_blank"] w języku CSS. Ten selektor odnosi się do wszystkich odnośników HTML, które otwierają się w nowej karcie przeglądarki dzięki użyciu atrybutu target z wartością "_blank". Stylizacja tych odnośników na kolor żółty jest możliwa przez przypisanie właściwości color z odpowiednią wartością. Jest to praktyczne podejście, które pozwala na wizualne wyróżnienie linków otwierających się w osobnych zakładkach. Takie podejście jest zgodne z dobrymi praktykami projektowania stron internetowych, gdzie wskazane jest, aby użytkownicy mieli wyraźne sygnały o nietypowych działaniach linków. W kontekście dostępności webowej, takie stylizowanie wspiera użytkowników w szybszym orientowaniu się w sposobie działania poszczególnych elementów interfejsu. Separacja stylu i treści zgodnie z zasadami CSS umożliwia bardziej elastyczne zarządzanie wyglądem strony i ułatwia utrzymanie spójności wizualnej na całej witrynie. Przykład ten ilustruje, jak CSS może wpływać na interakcję użytkownika z elementami strony, co jest kluczowe w procesie tworzenia przyjaznych i intuicyjnych interfejsów użytkownika.

Pytanie 20

W poniższym kodzie PHP wykonano operację na bazie danych. Której funkcji należy użyć, aby pobrać liczbę zmienionych w tabeli wierszy?

$zapytanie="UPDATE kadra SET stanowisko='Programista' WHERE id < 10";
mysqli_query($db, $zapytanie);
A. mysqli_field_count()
B. mysqli_affected_rows()
C. mysqli_use_result()
D. mysqli_num_rows()
Wybrana odpowiedź jest niestety niepoprawna. Może to wynikać z niezrozumienia różnych funkcji dostępnych w języku PHP do manipulowania danymi w bazach danych MySQL. Funkcja mysqli_field_count() zwraca liczbę pól w wyniku zapytania SELECT, a nie liczbę zmienionych wierszy. Z kolei mysqli_use_result() inicjuje pobieranie wyników zapytania wysłanego do serwera MySQL i nie zwraca informacji o liczbie zmienionych wierszy. Natomiast funkcja mysqli_num_rows() zwraca liczbę wierszy w wyniku zapytania SELECT, a nie liczbę zmienionych wierszy. Do tego celu służy jedynie funkcja mysqli_affected_rows(), która zwraca liczbę wierszy zmienionych, dodanych lub usuniętych przez ostatnie wywołanie funkcji mysqli_query() na serwerze MySQL. Pamiętaj więc, że wybór odpowiedniej funkcji zależy od kontekstu i rodzaju operacji wykonanej na bazie danych.

Pytanie 21

Jakie kolory wchodzą w skład modelu barw CMYK?

A. czerwony, zielony, niebieski oraz kanał alfa
B. cyjan, magenta, żółty i czarny
C. czerwony, zielony oraz niebieski
D. cyjan, magenta, żółty i karmazyn
Czerwony, zielony i niebieski to kolory, które są składowymi modelu RGB (Red, Green, Blue), który jest stosowany głównie w kontekście wyświetlaczy elektronicznych, takich jak monitory i telewizory. W modelu RGB kolory są generowane przez dodawanie światła, co różni się od modelu CMYK, w którym kolory są uzyskiwane przez subtraktywne mieszanie barw. W kontekście druku, użycie RGB może prowadzić do nieprzewidywalnych rezultatów, gdyż kolory na ekranie nie zawsze odpowiadają tym, które pojawią się na wydruku. Często następuje konieczność konwersji kolorów z RGB na CMYK, aby uzyskać właściwe odwzorowanie kolorów. Cyjan, magenta, żółty i karmazyn to kombinacja kolorów, która nie jest standardowym zestawem składowych w modelu barw. Karmazyn, jako kolor pochodny, nie jest uznawany za podstawowy składnik modelu CMYK, a zamiast tego jest blisko związany z magentą, co może wprowadzać w błąd. Z kolei pojęcie kanału alfa odnosi się do przezroczystości w obrazach rastrowych, co jest związane z modelem kolorów RGBA, a nie z CMYK. Kanał alfa jest istotny w kontekście edycji grafiki komputerowej, ale nie ma zastosowania w tradycyjnych procesach druku, gdzie priorytetem jest odwzorowanie kolorów w formacie CMYK.

Pytanie 22

Który fragment kodu stanowi zamiennik dla kodu umieszczonego w ramce?

Ilustracja do pytania
A. D
B. C
C. A
D. B
Odpowiedzi B i D są nieprawidłowe ponieważ ignorują kluczową część logiki oryginalnego kodu mianowicie filtrację parzystych liczb. Odpowiedź B iteruje przez wszystkie liczby od 1 do 55 wypisując je wszystkie bez wyjątku co diametralnie odbiega od zamierzonego wyniku kodu źródłowego. Odpowiedź D jest identyczna z B z tym że format zapisu jest nieco odmienny nie ma to jednak wpływu na logikę działania co czyni ją również błędną. Odpowiedź C inicjuje pętlę od 2 i inkrementuje x o 2 co teoretycznie powinno zbliżyć się do rozwiązania jednak zakres iteracji kończy się na 56 co wykracza poza zadany limit 55 oraz wypisuje nieistniejącą w oryginalnej pętli dodatkową liczbę co jest błędne. Wybory te mogą wynikać z niewłaściwego zrozumienia zakresu pętli lub metody przeskakiwania wartości co jest częstym błędem przy interpretacji pętli iteracyjnych. Kluczowe jest zrozumienie jak zastosowana logika i zakres wpływają na wynik końcowy oraz jak można optymalnie odwzorować te zasady w alternatywnym kodzie.

Pytanie 23

Które z poniższych oprogramowań nie jest systemem do zarządzania treścią (CMS)?

A. Joomla
B. Mambo
C. Apache
D. WordPress
Mambo, Joomla i WordPress to systemy zarządzania treścią (CMS), które umożliwiają użytkownikom tworzenie oraz zarządzanie treściami na stronach internetowych bez potrzeby posiadania specjalistycznej wiedzy technicznej. Mimo że wszystkie te platformy mają różne funkcje i podejścia do zarządzania treścią, ich wspólną cechą jest to, że są zaprojektowane do ułatwiania publikowania treści online. Często mylone jest pojęcie CMS z innymi technologiami wykorzystywanymi w rozwoju stron, co może prowadzić do nieporozumień. Na przykład, Apache, jako serwer HTTP, odgrywa kluczową rolę w udostępnianiu tych treści, ale sam w sobie nie zapewnia narzędzi do ich tworzenia ani zarządzania. Typowym błędem myślowym jest przyjęcie, że każdy komponent technologii webowej może pełnić rolę CMS-u, podczas gdy tylko te oprogramowania, które oferują intuicyjne interfejsy do edycji oraz organizacji treści, kwalifikują się jako systemy zarządzania treścią. Znajomość różnic między tymi technologiami jest kluczowa dla skutecznego tworzenia i utrzymywania stron internetowych oraz dla wykorzystania ich pełnego potencjału w zgodzie z najlepszymi praktykami w branży.

Pytanie 24

Klient wpisał adres nieistniejącego zasobu na serwerze. Próba nawiązania połączenia spowoduje wystąpienie błędu

A. 404
B. 503
C. 500
D. 400
Odpowiedź 404 jest prawidłowa, ponieważ oznacza, że serwer nie może znaleźć żądanego zasobu. Kiedy użytkownik wprowadza nieistniejący adres URL, serwer HTTP zwraca ten kod błędu jako odpowiedź informującą, że dany zasób nie został znaleziony. Jest to standardowy sposób na komunikowanie się z klientami, że ich prośba nie mogła zostać zrealizowana z powodu braku zasobu. W praktyce, kod 404 jest powszechnie używany do zarządzania sytuacjami, w których użytkownik wpisuje niewłaściwy adres lub gdy zasób został usunięty. Dobrą praktyką jest tworzenie własnych stron błędu 404, które informują użytkowników o tym, co mogą zrobić dalej, na przykład sugerując im powrót na stronę główną lub wyszukiwanie w serwisie. Z perspektywy bezpieczeństwa, warto również unikać ujawniania szczegółów dotyczących struktury serwera w odpowiedziach 404, aby zminimalizować potencjalne ryzyko ataków.

Pytanie 25

W celu utworzenia różnicowej kopii zapasowej bazy danych na serwerze MSSQL, konieczne jest użycie klauzuli

A. WITH FORMAT
B. FULL
C. RESTORE
D. DIFFERENTIAL
Odpowiedź 'DIFFERENTIAL' jest prawidłowa, ponieważ klauzula ta jest używana do tworzenia różnicowych kopii zapasowych bazy danych w systemie Microsoft SQL Server. Różnicowa kopia zapasowa zapisuje tylko te dane, które zmieniły się od ostatniej pełnej kopii zapasowej, co znacznie oszczędza czas i miejsca na dysku. W praktyce, aby wykonać różnicową kopię zapasową, stosuje się polecenie BACKUP z klauzulą DIFFERENTIAL. Na przykład: 'BACKUP DATABASE nazwa_bazy TO DISK = 'ścieżka_do_pliku.bak' WITH DIFFERENTIAL;'. Korzystanie z różnicowych kopii zapasowych jest zalecane w strategiach backupowych, gdyż zmniejsza czas potrzebny do przywrócenia systemu po awarii, a także przyspiesza proces tworzenia kopii. W dobrych praktykach branżowych, po zdefiniowaniu planu kopii zapasowych, rekomenduje się regularne testowanie procesu przywracania, aby upewnić się, że wszystkie kopie zapasowe są skuteczne i funkcjonalne.

Pytanie 26

Jaki opis dotyczy metody POST służącej do przesyłania formularza?

A. Dane są przesyłane przez URL, co czyni je widocznymi dla użytkownika
B. Jest zalecana, gdy przesyłane są dane wrażliwe, na przykład hasło, numer telefonu czy numer karty kredytowej
C. Może być dodana jako zakładka w przeglądarce internetowej
D. Ma dodatkowe ograniczenia związane z długością URL - maksymalnie 255 znaków
Wybór niewłaściwej odpowiedzi często wynika z niepełnego zrozumienia, jak działają metody przesyłania danych w protokole HTTP. Jednym z powszechnych błędów jest mylenie metody POST z metodą GET, która rzeczywiście przesyła dane w adresie URL, czyniąc je widocznymi dla użytkowników i potencjalnie narażonymi na przechwycenie. Odpowiedź sugerująca, że dane przesyłane są widocznie w adresie URL, jest zatem całkowicie sprzeczna z podstawową zasadą działania metody POST. Dodatkowo, ograniczenia związane z długością adresu, takie jak 255 znaków, dotyczą przede wszystkim metody GET, która ma swoje ograniczenia wynikające z maksymalnej długości URL określonej w specyfikacjach HTTP. Takie ograniczenia nie mają zastosowania do POST, co czyni tę metodę bardziej elastyczną w przypadku przesyłania większej ilości danych. Ponadto, odpowiedzi sugerujące, że POST ma dodatkowe ograniczenia, nie uwzględniają faktu, że właśnie ze względu na bezpieczeństwo i poufność danych, POST jest standardowo rekomendowany w sytuacjach, gdzie przesyłamy dane wrażliwe. W branży web developmentu, dobre praktyki obejmują stosowanie metody POST do przesyłania danych, które są prywatne lub wymagają zwiększonego poziomu bezpieczeństwa, co dokładnie odzwierciedla poprawna odpowiedź.

Pytanie 27

Która z funkcji agregujących dostępnych w SQL służy do obliczania średniej z wartości znajdujących się w określonej kolumnie?

A. MIN
B. AVG
C. COUNT
D. SUM
Funkcja AVG w języku SQL jest wbudowaną funkcją agregującą, która służy do obliczania średniej wartości we wskazanej kolumnie. Oblicza ona średnią arytmetyczną z wartości liczbowych w danej kolumnie, co jest niezwykle przydatne w analizie danych. Na przykład, jeśli mamy tabelę z wynikami sprzedaży, możemy użyć zapytania SQL: SELECT AVG(sprzedaż) FROM tabela_sprzedaży; aby uzyskać średnią sprzedaż. Dobrą praktyką jest stosowanie tej funkcji w połączeniu z klauzulą GROUP BY, co pozwala na obliczenie średnich wartości w różnych grupach danych, na przykład średnia sprzedaż według kategorii produktowej. Przy stosowaniu funkcji AVG warto pamiętać, że ignoruje ona wartości NULL, co wpływa na wynik obliczeń. W kontekście analizy danych w SQL, znajomość takich funkcji jak AVG jest kluczowa dla efektywnego przetwarzania i analizy informacji, co stanowi fundament dobrego zarządzania danymi.

Pytanie 28

W języku JavaScript funkcja document.getElementById(id) służy do

A. pobierania danych z pola formularza i przypisania ich do zmiennej id
B. sprawdzania poprawności formularza z identyfikatorem id
C. uzyskania odniesienia do pierwszego elementu HTML o wskazanym id
D. umieszczenia tekstu 'id' na stronie WWW
Zrozumienie funkcji document.getElementById(id) jest fundamentalne dla efektywnej pracy z DOM w JavaScript. Wiele błędnych odpowiedzi na to pytanie wynika z nieporozumień dotyczących podstawowych zasad działania tej metody. Propozycja, że metoda ta sprawdza poprawność formularza o identyfikatorze id, jest nieprawidłowa, ponieważ jej głównym celem nie jest walidacja danych, lecz lokalizacja elementu w dokumencie. Walidacja formularza zwykle realizowana jest za pomocą innych metod, takich jak event listeners, które reagują na interakcje użytkownika. Twierdzenie, że document.getElementById() pobiera dane z pola formularza i wstawia je do zmiennej id, jest także mylące, ponieważ id to atrybut, który wskazuje na element, a nie zmienną do przechowywania wartości. W rzeczywistości, jeśli chcielibyśmy uzyskać wartość pola formularza, musielibyśmy najpierw uzyskać odniesienie do tego elementu, a następnie odczytać jego wartość za pomocą np. element.value. Ostatnia nieprawidłowa koncepcja, czyli wstawienie tekstu o treści 'id' na stronie WWW, również jest błędna, gdyż metoda ta nie wstawia tekstu, a jedynie zwraca odniesienie do elementu. Wskazuje to na powszechne błędy myślowe, gdzie użytkownicy mylą funkcję szukania elementu z funkcjami manipulacji jego zawartością. Zrozumienie tych różnic jest kluczowe w nauce programowania w JavaScript.

Pytanie 29

Jednym z typów testów jednostkowych jest analiza tras, która polega na

A. określeniu punktu startowego i końcowego oraz badaniu dostępnych ścieżek pomiędzy tymi punktami
B. utworzeniu kilku zbiorów danych o zbliżonym sposobie przetwarzania i wykorzystaniu ich do przeprowadzenia testu
C. testowaniu wartości granicznych zestawu danych
D. testowaniu obiektów pod kątem inicjalizacji oraz zwolnienia zarezerwowanej pamięci
Rozumienie błędów w odpowiedziach może pomóc lepiej ogarnąć, o co chodzi z analizą ścieżek w testach jednostkowych. Testowanie wartości brzegowych, chociaż bardzo ważne dla jakości oprogramowania, skupia się tylko na granicach danych wejściowych i nie pokazuje pełnego obrazu możliwych ścieżek w kodzie. Z kolei sprawdzanie obiektów pod kątem pamięci to temat na inną rozmowę i niekoniecznie ma coś wspólnego z analizą ścieżek; chodzi o to, że to podejście nie dotyka, jak kontrola przepływu działa w kodzie. Robienie kilku zbiorów danych, które się powtarzają w przetwarzaniu, też nie jest tym samym, co badanie ścieżek, a raczej dotyczy testowania z użyciem takich danych. Dużym błędem jest to, że myślimy, iż analiza ścieżek to tylko spojrzenie na dane czy pamięć. W rzeczywistości trzeba patrzeć na całość programu, zarówno na dane, jak i logikę działania, co pokazuje, jak ważna jest analiza ścieżek w znajdowaniu problemów w kodzie.

Pytanie 30

Tworząc raport w systemie zarządzania relacyjnymi bazami danych, umożliwia się

A. analizę wybranych danych
B. dodawanie danych do tabel
C. usuwanie danych z tabel
D. aktualizowanie danych w tabelach
Wykonywanie raportów w systemie obsługi relacyjnych baz danych nie polega na usuwaniu, dodawaniu ani aktualizowaniu danych. Usuwanie danych w tabelach jest operacją destrukcyjną, która trwale eliminuje informacje i nie sprzyja przechowywaniu ich do późniejszej analizy. Dodawanie danych to proces, który zwiększa objętość bazy danych, a nie koncentruje się na analizie już istniejących informacji. Z kolei aktualizacja danych polega na modyfikacji istniejących rekordów, co również nie ma bezpośredniego związku z tworzeniem raportów. Właściwe zrozumienie celu raportowania jest kluczowe dla efektywnego wykorzystania systemów bazodanowych. Często użytkownicy mylą procesy związane z utrzymywaniem baz danych z ich analizą. Dobrą praktyką jest oddzielanie operacji DML (Data Manipulation Language) od DQL (Data Query Language), które służy do analizy danych przy użyciu odpowiednich zapytań. Zastosowanie raportowania w systemach baz danych powinno być skupione na zrozumieniu i interpretacji danych, co pozwala na lepsze podejmowanie decyzji, zamiast na manipulacji danymi. Kluczowym aspektem jest umiejętność wyciągania wniosków z danych, które zostały już zgromadzone, a nie ich modyfikacja.

Pytanie 31

Określenie powiązań między tabelami w bazie danych MySQL realizuje klauzula

A. INDEX
B. PRIMARY KEY
C. REFERENCES
D. ORDER BY
Klauzula REFERENCES w systemie bazodanowym MySQL jest kluczowym elementem, który umożliwia ustanawianie relacji pomiędzy tabelami. Jej główną funkcją jest definiowanie kluczy obcych, które zapewniają referencyjną integralność danych. Klucz obcy wskazuje na kolumnę w innej tabeli, co pozwala na powiązanie dwóch zestawów danych. Na przykład, jeśli mamy tabelę 'Zamówienia', która zawiera kolumnę 'KlientID', możemy użyć klauzuli REFERENCES, aby wskazać, że ta kolumna odnosi się do kolumny 'ID' w tabeli 'Klienci'. Dzięki temu, przy dodawaniu lub aktualizowaniu rekordów w tabeli 'Zamówienia', system MySQL będzie sprawdzać, czy 'KlientID' ma odpowiadający mu rekord w tabeli 'Klienci'. Takie powiązanie zapobiega błędom związanym z nieistniejącymi danymi i umożliwia bardziej złożone zapytania, które łączą dane z różnych tabel. Klauzula REFERENCES jest częścią szerszych standardów SQL, które ułatwiają zarządzanie relacyjnymi bazami danych i są kluczowe w projektowaniu złożonych struktur danych.

Pytanie 32

Cechy przedstawione w tabeli dotyczą?

  • Strony ustalają dążenie do konkretnego wyniku
  • Ważny jest efekt pracy, a nie sposób jej realizacji
  • Zleceniodawca przekazuje za wykonawcę zaliczkę na podatek dochodowy
A. umowy zlecenia
B. umowy o pracę
C. umowy agencyjnej
D. umowy o dzieło
Umowa o dzieło to rodzaj umowy cywilnoprawnej, która koncentruje się na osiągnięciu określonego rezultatu pracy, a nie na samym procesie jej wykonywania. Jest to typowy kontrakt, w którym strony uzgadniają konkretny efekt, jaki ma być osiągnięty, na przykład stworzenie projektu architektonicznego, wykonanie rzeźby czy napisanie programu komputerowego. W ramach tego typu umowy, wykonawca, czyli osoba realizująca zamówienie, nie podlega typowym regulacjom dotyczącym czasu pracy, które są charakterystyczne dla umów o pracę. Zleceniodawca zobowiązany jest natomiast do odprowadzenia zaliczki na podatek dochodowy, co odróżnia tę umowę od innych typów umów cywilnoprawnych, takich jak na przykład umowa zlecenia, gdzie obowiązek podatkowy może być regulowany odmiennie. Umowa o dzieło jest często wybierana w sytuacjach, gdzie kluczowe jest dostarczenie konkretnego produktu lub usługi, a czas i sposób realizacji mają mniejsze znaczenie.

Pytanie 33

W CSS zastosowano stylowanie elementu listy, przy czym żadne inne style CSS nie zostały ustalone. Użyte stylowanie spowoduje, że

li :hover { color: Maroon; }
A. Kolor Maroon będzie dotyczył co drugiego elementu listy.
B. Teksty wszystkich elementów, którym nadano id „hover”, będą w kolorze Maroon.
C. Wszystkie teksty elementów listy będą w kolorze Maroon.
D. Po najechaniu kursorem na element listy, kolor tekstu zmieni się na Maroon.
Zauważam, że błędne odpowiedzi wynikają z nieporozumień, dotyczących działania reguły CSS. Pierwsza błędna opcja sugeruje, że tekst elementów z id "hover" zmienia kolor na Maroon. To zupełnie mylne, bo reguła dotyczy elementów listy (li), a nie tych z konkretnym identyfikatorem. Identyfikatory są unikalne i można ich używać tylko do jednego elementu w HTML, więc nie można ich wykorzystać do stylizacji całej grupy. Kolejna mylna koncepcja to to, że wszystkie elementy listy zmienią kolor na Maroon - reguła działa tylko, gdy kursor jest nad danym elementem listy. Również nieprawdziwe jest założenie, że dotyczy co drugiego elementu listy. Prawda jest taka, że ta reguła nie wpływa na wybór elementów według ich miejsca w liście. Kluczowym problemem jest brak zrozumienia, jak działają pseudo-klasy, bo one pozwalają na stylistyczne reakcje na interakcje użytkowników, a nie na trwałe zmiany kolorów. Żeby dobrze wykorzystać reguły CSS, trzeba zrozumieć hierarchię w HTML oraz zasady selektorów.

Pytanie 34

W CSS wprowadzono formatowanie

p > i {color: blue} 

Co oznacza, że tekst zapisany będzie w kolorze niebieskim

A. cały tekst nagłówków bez względu na ich formatowanie
B. pochylony tekst akapitu
C. cały tekst akapitu bez względu na jego formatowanie
D. pogrubiony tekst akapitu
Przy analizowaniu dostępnych odpowiedzi, warto zauważyć, że niektóre z nich opierają się na błędnych założeniach dotyczących działania selektorów CSS. Odpowiedź, która sugeruje, że <code>p > i</code> dotyczy całego tekstu paragrafu, jest nieprawidłowa, ponieważ selektor w tym przypadku odnosi się wyłącznie do elementów <code><i></code>, które są bezpośrednimi dziećmi elementu <code><p></code>. W CSS, operator > wskazuje na relację rodzica do dziecka, co oznacza, że tylko bezpośrednie potomki będą podlegały zastosowanemu stylowi. W związku z tym, odpowiedzi, które mówią o całym tekście paragrafu, nie uwzględniają tej kluczowej zasady działania CSS. Podobnie, odpowiedź mówiąca o pogrubionym tekście również jest mylna - stylizacja <code>color: blue</code> nie wpływa na grubość tekstu, a jedynie na kolor, co ilustruje nieporozumienie związane z właściwościami CSS. Ostatecznie, koncepcje dotyczące nagłówków w odpowiedzi również są niedokładne, ponieważ w analizowanym selektorze nie ma odniesienia do jakiegokolwiek nagłówka. Warto zatem pamiętać, że CSS wymaga precyzyjnego rozumienia struktury dokumentu oraz zastosowania odpowiednich selektorów, aby móc skutecznie modyfikować style elementów HTML.

Pytanie 35

Gdzie należy umieścić znacznik metajęzyka HTML?

A. pomiędzy znacznikami <body> ... </body>
B. pomiędzy znacznikami paragrafu
C. w dolnej części witryny internetowej
D. w sekcji nagłówkowej witryny internetowej
Umieszczanie znaczników metajęzyka HTML w niewłaściwych miejscach, takich jak stopka witryny czy sekcja <body>, może prowadzić do problemów z interpretacją dokumentu przez przeglądarki oraz wyszukiwarki. Sekcja <body> jest przeznaczona wyłącznie dla treści widocznej dla użytkowników, co oznacza, że wszelkie informacje dotyczące indeksowania czy metadanych powinny być w nagłówku. Umieszczanie znaczników metadanych w stopce nie tylko narusza konwencje HTML, ale także może sprawić, że nie będą one w ogóle przetwarzane przez wyszukiwarki, co ogranicza możliwości SEO witryny. Kolejnym błędem jest umieszczanie znaczników metadanych pomiędzy znacznikami paragrafu, co jest syntaktycznie niepoprawne oraz semantycznie nieuzasadnione. Takie działania mogą prowadzić do konfuzji zarówno dla programistów, jak i narzędzi analizujących strony internetowe. Właściwe umiejscowienie znaczników <meta> w sekcji nagłówkowej jest nie tylko standardem, ale też kluczowym elementem strategii tworzenia stron internetowych, które są przyjazne dla użytkowników i wyszukiwarek. Warto również zauważyć, że nieprzestrzeganie tych zasad może mieć negatywne skutki dla wydajności strony oraz jej pozycji w wynikach wyszukiwania.

Pytanie 36

W języku JavaScript, aby uzyskać element wykorzystując metodę getElementById, jaką właściwością można zmienić jego zawartość?

A. innerHTML
B. Body
C. innerBody
D. HTML
Odpowiedzi takie jak innerBody, HTML oraz Body są wynikiem nieprawidłowego rozumienia właściwości i metod dostępnych w JavaScript. InnerBody nie jest uznawaną właściwością w kontekście manipulacji DOM, co może prowadzić do frustracji programisty, który oczekuje, że taka właściwość istnieje. Z kolei odpowiedź HTML może wprowadzać w błąd, ponieważ w kontekście DOM nie odnosi się ona bezpośrednio do jakiejkolwiek właściwości elementu. Mimo że HTML może być używane w różnych kontekstach, nie jest to poprawna metoda uzyskiwania dostępu do lub modyfikacji zawartości elementu. Body natomiast, odnosząc się do całego dokumentu HTML, nie jest odpowiednią właściwością do modyfikacji zawartości konkretnego elementu przy pomocy JavaScript. Ważne jest, aby unikać generalizacji i nie mylić koncepcji. Typowe błędy myślowe związane z tymi odpowiedziami polegają na nieporozumieniu roli właściwości w DOM oraz na przypuszczeniu, że wszystkie możliwe nazwy mogą być używane zamiennie. Programiści powinni zrozumieć, że DOM ma wyraźnie zdefiniowany zestaw właściwości i metod, które są standardem w branży, a każda z tych właściwości ma swoje specyficzne zastosowanie. Dlatego znajomość właściwego zestawu narzędzi oraz ich zastosowań jest kluczowa dla efektywnego i bezpiecznego programowania w JavaScript.

Pytanie 37

W HTML, aby dodać obrazek z tekstem umieszczonym pośrodku obrazka, konieczne jest użycie znacznika

A. <img src="obrazek.png" alt="obraz1" hspace="30px"> tekst
B. <img src="obrazek.png" alt="obraz3" height="50%"> tekst
C. <img src="obrazek.png" alt="obraz2" align="middle"> tekst
D. <img src="obrazek.png" alt="obraz4"> tekst
Odpowiedzi, które nie są poprawne, zawierają różne koncepcje i podejścia, które nie spełniają wymogów wyśrodkowania tekstu wokół obrazka. Na przykład, użycie <img src="obrazek.png" alt="obraz3" height="50%"> tekst jest niewłaściwe, ponieważ atrybut height nie wpływa na położenie tekstu w stosunku do obrazka. W rzeczywistości, atrybut ten jedynie zmienia wysokość obrazka, co nie ma związku z umiejscowieniem tekstu. To podejście może prowadzić do błędnych wniosków, że zmiana wymiarów obrazka automatycznie wpływa na układ tekstu, co jest mylne. Z kolei, <img src="obrazek.png" alt="obraz4"> tekst nie zawiera żadnych atrybutów, które mogłyby zdefiniować położenie tekstu, co sprawia, że tekst będzie po prostu wyświetlany obok obrazka, bez jakiejkolwiek kontroli nad jego wyrównaniem. W kontekście nowoczesnych standardów HTML5, brak zastosowania CSS do stylizacji układu nie tylko obniża estetykę strony, ale również nie spełnia oczekiwań dotyczących dostępności. Wiele aplikacji internetowych i stron korzysta z CSS do precyzyjnego zarządzania położeniem elementów, co jest zgodne z zasadami responsywnego projektowania. Użycie atrybutu align z wartością middle w odpowiedzi 2 jest najodpowiedniejszym sposobem na zapewnienie poprawnego wyśrodkowania tekstu, co jest kluczowe w projektowaniu stron internetowych, gdzie zarówno estetyka, jak i funkcjonalność mają duże znaczenie.

Pytanie 38

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. wykluczenia.
B. sumy.
C. części wspólnej.
D. grupowania.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów. Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna. Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 39

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

A. document.getElementById("jeden").style.background-color = "blue";
B. document.getElementById("jeden").background-color = "blue";
C. document.getElementById("jeden").color = "blue";
D. document.getElementById("jeden").style.color = "blue";
Patrząc na błędne odpowiedzi, warto zrozumieć, dlaczego niektóre z nich są błędne w kontekście JavaScript oraz DOM. W pierwszym przypadku, document.getElementById("jeden").color = "blue" nie zadziała poprawnie, bo używasz właściwości color bezpośrednio na elemencie, a powinna być ona w obiekcie style. Trzeba użyć style.color, żeby zmieniać kolory, to zasada w CSS. W drugim przypadku, document.getElementById("jeden").style.background-color = "blue" też jest do bani, bo w JavaScript musisz używać notacji camelCase, czyli powinno być backgroundColor, a nie background-color. I jeszcze ostatnia błędna opcja, document.getElementById("jeden").background-color = "blue" również nie działa, bo background-color to właściwość CSS, a nie bezpośrednio właściwość obiektu JavaScript. Często takie błędy wynikają z braku zrozumienia różnic między notacjami CSS i JavaScript. Dlatego ważne jest, żeby się tego trzymać i wiedzieć, jak te technologie współpracują, żeby unikać typowych pułapek przy programowaniu.

Pytanie 40

Kolor wyrażony w modelu RGB(255, 0, 0) to

A. zielony.
B. żółty.
C. czerwony.
D. niebieski.
Wybór błędnych odpowiedzi wynika z nieporozumienia dotyczącego sposobu, w jaki model RGB reprezentuje kolory. Odpowiedzi wskazujące, że barwa ta jest niebieska lub zielona, są całkowicie nieprawidłowe, ponieważ w modelu RGB wartości dla tych kolorów wynoszą 0. Niebieski kolor w modelu RGB osiąga maksymalne natężenie, gdy jego wartość wynosi 255, a inne kolory są odpowiednio niższe, co nie ma miejsca w przypadku RGB(255, 0, 0). W przypadku zielonego koloru analogicznie, również jego wartość powinna wynosić 255, aby uzyskać czystą barwę, co znowu nie znajduje zastosowania w analizowanej barwie. Odpowiedź sugerująca, że kolor ten jest żółty, również jest błędna, ponieważ żółty w modelu RGB powstaje w wyniku równoczesnej obecności czerwonego i zielonego (np. RGB(255, 255, 0)). Typowym błędem myślowym może być błędne łączenie kolorów oraz ich wartości; użytkownicy często mylą pojęcia związane z modelami kolorów, nie zdając sobie sprawy, że każdy z kanałów RGB działa w oparciu o swoje własne natężenie. Dlatego niezwykle istotne jest zrozumienie, jak modele kolorów są konstruowane i jakie wartości odpowiadają poszczególnym barwom, aby uniknąć takich pomyłek w przyszłości.