Wyniki egzaminu

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

Egzamin zdany!

Wynik: 29/40 punktów (72,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Walidator W3C zgłosił błąd o niezamkniętych elementach przy zamykającym <p>. Którego fragmentu dotyczy?

A.
<p>Ala ma <b>kota</p></b>
B.
<p>Ala ma <b>kota</b></p>
C.
<p>Ala ma kota
D.
<p>Ala ma kota</p>
Pozostałe fragmenty są poprawnie zagnieżdżone lub niezwiązane z błędem. <p>Ala ma <b>kota</b></p> zamyka <b> przed <p> - prawidłowo. <p>Ala ma kota</p> nie ma zagnieżdżeń. Brak zamknięcia </p> to inny błąd. Krzyżowanie tagów występuje w <p>Ala ma <b>kota</p></b>.

Pytanie 2

W kodzie źródłowym zapisanym w języku HTML wskaż błąd walidacji dotyczący tego fragmentu. <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. Znak zamykający /b jest niezgodny z zasadą zagnieżdżania.
B. Znak br nie został prawidłowo zamknięty.
C. Znak br nie może być użyty wewnątrz znacznika p.
D. Znacznik h6 jest nieznany.
W analizowanym fragmencie kodu HTML występuje błąd związany z niewłaściwym zagnieżdżeniem znaczników. W szczególności, znacznik zamykający </b> został umieszczony przed zamknięciem znacznika <i>, co narusza zasady zagnieżdżania elementów w HTML. Zgodnie z wytycznymi W3C (World Wide Web Consortium), każdy znacznik otwierający musi mieć odpowiedni znacznik zamykający w odpowiedniej kolejności, a zagnieżdżanie elementów musi być przestrzegane, aby zapewnić poprawną strukturę dokumentu. W tym przypadku poprawna sekwencja powinna wyglądać następująco: <i>...</i><b>...</b>, co oznacza, że znacznik <i> powinien być zamknięty po znaczniku <b>. Przykładowo, prawidłowy zapis mógłby wyglądać tak: <p>Kaskadowe arkusze stylów <b>ang.<i>Cascading Style Sheets</i></b> to język służący...</p>. Taka struktura zapewnia, że znaczniki są poprawnie zagnieżdżone, co przekłada się na lepszą interpretację przez przeglądarki oraz narzędzia do walidacji HTML.

Pytanie 3

W języku JavaScript rezultat wykonania polecenia zmienna++; będzie identyczny jak polecenia

A. zmienna===zmienna+1;
B. zmienna=zmienna+10;
C. zmienna --;
D. zmienna+=1;
Wszystkie pozostałe odpowiedzi są niepoprawne z technicznego punktu widzenia. Pierwsza z nich, 'zmienna--;', wskazuje na operator dekrementacji, który zmniejsza wartość zmiennej o 1. W przeciwieństwie do inkrementacji, dekrementacja prowadzi do obniżenia wartości zmiennej. Na przykład, jeśli zmienna wynosi 5, to po zastosowaniu 'zmienna--;' jej wartość stanie się 4, co jest zupełnie odmiennym wynikiem. Kolejna odpowiedź, 'zmienna=zmienna+10;', wprowadza dodatkowy element, który zwiększa wartość zmiennej o 10, co znacznie odbiega od pierwotnej idei inkrementacji o 1. Przykładowo, przy pierwotnej wartości zmiennej 5, wynik po tej operacji będzie 15, co jest całkowicie innym wynikiem niż w przypadku inkrementacji. Ostatnia z odpowiedzi, 'zmienna===zmienna+1;', jest operacją porównania, która sprawdza, czy wartość zmiennej jest równa wartości zmiennej powiększonej o 1. Wartość ta nigdy nie będzie równa w przypadku, gdy zmienna ma jakąkolwiek wartość inną niż 0. Dla zmiennej o wartości 5, wynik będzie fałszywy, co jest zupełnie inną logiką niż pożądane zwiększenie wartości. Tak więc, wszystkie te odpowiedzi nie oddają idei prostego zwiększenia wartości zmiennej o 1, co czyni je niepoprawnymi w kontekście pytania.

Pytanie 4

W języku JavaScript zdefiniowano obiekt. Aby uzyskać wartość atrybutu, można użyć następującego zapisu:

obiekt = { q: 1, w: 2, e: 3, r:4 };
A. obiekt:w
B. obiekt::w
C. obiekt.w
D. obiekt->w
Błędne odpowiedzi opierają się na nieprawidłowej interpretacji sposobu dostępu do właściwości obiektów w JavaScript. Notacja 'obiekt:w' nie jest poprawna, ponieważ nie stosuje się dwukropka do uzyskiwania dostępu do właściwości. Dwukropek jest używany w kontekście tworzenia obiektów, gdzie określa parę klucz-wartość, a nie podczas odczytywania wartości. Z kolei notacja 'obiekt::w' w JavaScript również nie ma zastosowania. Podwójny dwukropek nie jest uznawany za prawidłową operację i nie ma zastosowania w kontekście obiektów. Zresztą, w wielu innych językach programowania, takich jak C++ czy Python, używa się podwójnego dwukropka w zupełnie innym kontekście, co może prowadzić do pomyłek. Ostatnia odpowiedź 'obiekt->w' może sugerować wpływy z języków takich jak C czy C++, gdzie operator strzałki '->' jest używany do dostępu do właściwości wskaźnika na obiekt. W JavaScript jednak nie używa się wskaźników, a dostęp do właściwości obiektu odbywa się przez notację kropkową lub notację indeksu. Właściwe zrozumienie tych koncepcji jest kluczowe dla efektywnego programowania w JavaScript, a błędne podejście do notacji prowadzi do frustracji i błędów w kodzie.

Pytanie 5

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. COUNT
C. AVG
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 6

W bazie danych znajduje się tabela ksiazki, która zawiera pola: tytul, id_autora, data_wypoz oraz id_czytelnika. Co dzień generowany jest raport dotyczący książek wypożyczonych w danym dniu, który prezentuje tylko tytuły książek. Która z poniższych kwerend SQL będzie odpowiednia do utworzenia tego raportu?

A. SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE()
B. SELECT tytul FROM ksiazki
C. SELECT * FROM ksiazki
D. SELECT tytul, data_wypoz FROM ksiazki WHERE data_wypoz = CURRDATE_NT_E()
Wybrana kwerenda SQL, czyli 'SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE();', jest poprawna, ponieważ precyzyjnie spełnia wymagania zadania. Kwerenda ta wybiera jedynie tytuły książek z tabeli 'ksiazki', które zostały wypożyczone w dniu, który odpowiada bieżącej dacie. Funkcja 'CURRENT_DATE()' zwraca datę systemową w formacie YYYY-MM-DD, co pozwala na prawidłowe porównanie z polem 'data_wypoz'. Takie podejście jest zgodne z dobrymi praktykami w zakresie analizy baz danych, gdzie minimalizowanie liczby zwracanych danych do niezbędnego minimum znacząco poprawia wydajność zapytań. W praktyce, taka kwerenda może być przydatna w systemach bibliotek, które generują codzienne raporty wypożyczeń, umożliwiając bibliotekarzom szybki dostęp do informacji o książkach, które były popularne danego dnia. Warto także pamiętać o możliwości używania dodatkowych filtrów, na przykład według konkretnego czytelnika, co zwiększa funkcjonalność raportu.

Pytanie 7

Jak nazywa się tłumaczenie kodu źródłowego napisanego przez programistę na zrozumiały dla komputera kod maszynowy?

A. kompilowanie
B. wykonywanie
C. analizowanie błędów
D. wdrażanie
Tłumaczenie kodu źródłowego na zrozumiały dla komputera kod maszynowy nazywa się kompilowaniem - wykonuje je kompilator, tworząc plik wynikowy. Dlatego ta czynność to kompilowanie.

Pytanie 8

Jaką rolę pełni kwerenda krzyżowa w bazie MS Access?

A. modyfikuje istniejące dane w tabeli
B. dołącza do tabeli rekordy z innej tabeli
C. usuwa rekordy według kryteriów
D. prezentuje zliczone (podsumowane) wartości w układzie wierszy i kolumn
Kwerenda krzyżowa (crosstab) w MS Access tworzy zestawienie przestawne: wartości z jednego pola stają się nagłówkami wierszy, z drugiego - nagłówkami kolumn, a na ich przecięciu pojawia się podsumowanie (np. suma lub liczba) z trzeciego pola. Dzięki temu duże dane można szybko streścić w czytelnej tabeli (np. sprzedaż wg miesiąca i produktu). To odpowiednik tabeli przestawnej z arkuszy kalkulacyjnych. Dlatego kwerenda krzyżowa prezentuje zliczone wartości w układzie wierszy i kolumn.

Pytanie 9

Która z pętli w PHP umożliwia przeprowadzenie operacji na wszystkich elementach tablicy z automatycznym przypisaniem indeksów tych elementów?

A. foreach
B. while
C. do...while
D. for
Odpowiedź 'foreach' jest poprawna, ponieważ ta konstrukcja w języku PHP została stworzona specjalnie do iteracji po elementach tablicy. Zastosowanie 'foreach' pozwala na komfortowe i czytelne przeglądanie każdego elementu tablicy bez potrzeby ręcznego zarządzania indeksami, co jest szczególnie przydatne w przypadku tablic asocjacyjnych, gdzie klucze mogą być dowolnymi typami danych. Przykład zastosowania 'foreach': dla tablicy $fruits = ['jabłko', 'banan', 'gruszka']; używamy pętli: foreach ($fruits as $fruit) { echo $fruit; } To pozwala na wypisanie każdego owocu w tablicy. Warto również podkreślić, że 'foreach' jest bardziej wydajny i bardziej intuicyjny niż inne pętle, takie jak 'for' czy 'while', które wymagają dodatkowego zarządzania indeksami. W praktyce, 'foreach' jest standardem w iteracji tablic w PHP i jego użycie jest zgodne z najlepszymi praktykami programistycznymi.

Pytanie 10

Które oprogramowanie jest typowe do obróbki grafiki WEKTOROWEJ?

A. Paint
B. Inkscape
C. Brasero
D. Audacity
Inkscape to darmowy edytor grafiki WEKTOROWEJ - tworzy obrazy opisane krzywymi i kształtami (format SVG), skalowalne bez utraty jakości. Dlatego do grafiki wektorowej służy Inkscape.

Pytanie 11

Co stanie się po wykonaniu

ALTER TABLE osoba DROP COLUMN grupa;
?
A. kolumna grupa zostanie dodana
B. kolumna grupa zostanie USUNIĘTA
C. nazwa tabeli zmieni się na grupa
D. nazwa kolumny zmieni się na grupa
Polecenie ALTER TABLE osoba DROP COLUMN grupa; modyfikuje strukturę tabeli osoba i USUWA z niej kolumnę grupa wraz z zapisanymi w niej danymi. ALTER TABLE zmienia definicję tabeli, a klauzula DROP COLUMN wskazuje, że chodzi o skasowanie kolumny. Dlatego kolumna grupa zostanie usunięta.

Pytanie 12

document.getElementById("napis").innerHTML = Date); // Aby poprawnie skomentować podaną linijkę kodu w języku JavaScript, należy dodać komentarz po znakach //

A. wyświetlenie daty oraz czasu w znaczniku o id = napis
B. niepoprawne informacje
C. wyświetlenie ciągu "Date()" w znaczniku o id = napis
D. zmiana właściwości atrybutu innerHTML
W przedstawionej linii kodu JavaScript, 'document.getElementById("napis").innerHTML = Date;', mamy do czynienia z modyfikacją zawartości elementu HTML o identyfikatorze 'napis'. Funkcja 'getElementById' pozwala na selekcję elementu DOM, a atrybut 'innerHTML' umożliwia przypisanie nowej wartości, która będzie wyświetlana w tym elemencie. Wartością, która zostanie przypisana, jest 'Date', a nie 'Date()'. Przy użyciu 'Date' bez nawiasów, odnosi się do obiektu funkcji, a nie do wyniku wykonania tej funkcji, który zwraca aktualną datę i czas. W poprawnej wersji kodu powinno być 'document.getElementById("napis").innerHTML = new Date();', co spowoduje wyświetlenie bieżącej daty i godziny w elemencie o id 'napis'. Takie podejście jest zgodne z aktualnymi standardami ECMAScript, a także jest często wykorzystywane w aplikacjach webowych do dynamicznej aktualizacji treści na stronach internetowych, co zwiększa ich interaktywność i użytkowalność. Dla lepszego zrozumienia, praktycznym przykładem może być użycie tego kodu w aplikacji, która pokazuje czas rzeczywisty na stronie, co jest popularne w wielu projektach webowych.

Pytanie 13

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

A. DROP TABLE usuwa tabelę, a TRUNCATE TABLE eliminuje wszystkie dane, zostawiając pustą tabelę
B. DROP TABLE usuwa tabelę, natomiast TRUNCATE TABLE modyfikuje dane w niej spełniające określony warunek
C. Obydwa polecenia usuwają tabelę wraz z jej zawartością, jednak tylko TRUNCATE TABLE można cofnąć
D. Obydwa polecenia usuwają tylko zawartość tabeli, ale tylko DROP TABLE może być przywrócone
Odpowiedź jest prawidłowa, ponieważ polecenie DROP TABLE całkowicie usuwa tabelę z bazy danych, łącznie z jej strukturą i danymi. Nie można jej później przywrócić, co oznacza, że wszelkie dane w niej zawarte zostaną na stałe utracone. Z kolei TRUNCATE TABLE jest poleceniem, które usuwa jedynie dane wewnątrz tabeli, ale sama tabela i jej struktura pozostają nienaruszone. Po wykonaniu TRUNCATE TABLE tabela staje się pusta, a jej definicja oraz wszystkie indeksy pozostają w bazie danych. Przykładowo, jeśli mamy tabelę 'Klienci' z danymi klientów, wykonanie TRUNCATE TABLE Klienci spowoduje, że tabela pozostanie, ale wszystkie rekordy zostaną usunięte. Wywołanie tych poleceń ma różne zastosowanie w praktyce; DROP TABLE można wykorzystać, gdy nie potrzebujemy tabeli, natomiast TRUNCATE TABLE jest przydatne, gdy chcemy szybko usunąć wszystkie dane z tabeli, zachowując jej strukturę dla przyszłych operacji.

Pytanie 14

Aby przekształcić tekst „ala ma psa” na „ALA MA PSA”, jaka funkcja PHP powinna być zastosowana?

A. strtolower('ala ma psa');
B. strstr ('ala ma psa');
C. strtoupper('ala ma psa');
D. ucfirst ('ala ma psa');
Funkcja strtoupper w PHP jest używana do konwersji wszystkich liter w danym ciągu znaków na wielkie litery. W kontekście modyfikacji tekstu „ala ma psa” na „ALA MA PSA”, zastosowanie funkcji strtoupper('ala ma psa') jest poprawnym podejściem. Funkcja ta jest częścią standardowej biblioteki PHP i jest szeroko stosowana w projektach, gdzie zachowanie wielkich liter jest kluczowe. Przykład użycia funkcji strtoupper jest prosty: wystarczy przekazać do niej ciąg, który ma zostać przekształcony. Przykładem może być zapis: $text = 'ala ma psa'; $uppercaseText = strtoupper($text); echo $uppercaseText; co wygeneruje wynik ALA MA PSA. Warto zauważyć, że funkcja ta nie zmienia oryginalnego ciągu, lecz zwraca nowy ciąg z przekształconymi literami. Zastosowanie funkcji strtoupper jest szczególnie przydatne w aplikacjach webowych, gdzie formatowanie tekstu może być kluczowe dla zapewnienia spójności danych wyjściowych oraz ich estetyki.

Pytanie 15

Z jakim problemem wiąże się poziom izolacji transakcji Repeatable Read (powtarzalny odczyt)?

A. z utratą aktualizacji
B. z brudnymi odczytami
C. z odczytami widmowymi (phantom reads)
D. z niepowtarzalnymi odczytami
Poziom izolacji Repeatable Read gwarantuje, że te same wiersze odczytane w transakcji nie zmienią się - ale wciąż dopuszcza ODCZYTY WIDMOWE (phantom reads): gdy inna transakcja DODA nowe wiersze pasujące do warunku, powtórne zapytanie może zwrócić ich więcej. Zapamiętaj: Repeatable Read blokuje zmiany istniejących wierszy, lecz nie pojawianie się nowych (widm).

Pytanie 16

Po uruchomieniu zamieszczonego w ramce skryptu w języku JavaScript, w przeglądarce zostanie wyświetlona wartość:

var a = 5;
var b = a--;
a *= 3;
document.write(a + "," + b);
A. 12,5
B. 12,4
C. 15,5
D. 15,4
W tym skrypcie JavaScript mamy operator dekrementacji a--, gdzie najpierw wartość zmiennej a jest przypisana do zmiennej b, a dekrementacja następuje później. Jeśli tego nie rozumiesz, może to prowadzić do różnych nieporozumień co do wynikowych wartości. Czyli po a-- b przyjmuje pierwotną wartość a, która wynosi 5. Warto zrozumieć kolejność operacji, bo przy operatorze postfix zmiana wartości następuje po przypisaniu. Później, po dekrementacji, a staje się 4, co czasem jest źle interpretowane, bo ludzie myślą, że b też by się zmieniło. Potem jest a *= 3, gdzie 4 mnożymy przez 3 i dostajemy 12. Często ludzie popełniają błąd, zakładając, że operatory działają równocześnie w jednym wierszu kodu. Ważne jest, żeby znać te subtelności, bo pomaga to w lepszym programowaniu i kontrolowaniu, jak zmienne się zmieniają.

Pytanie 17

Kolorem, który ma odcień niebieski, jest kolor

A. #00EE00
B. #EE00EE
C. #0000EE
D. #EE0000
Poprawna odpowiedź to kolor #0000EE, który reprezentuje odcień niebieskiego w systemie RGB. Kolory w tym systemie definiowane są poprzez trzy składowe: czerwoną, zieloną i niebieską (RGB), gdzie wartości są podawane w formacie szesnastkowym. W przypadku #0000EE, pierwsze dwie pary zer oznaczają brak składowych czerwonej i zielonej, natomiast ostatnia para 'EE' wskazuje na wysoką intensywność składowej niebieskiej. Takie podejście jest powszechnie stosowane w programowaniu i projektowaniu stron internetowych, gdzie precyzyjnie określone kolory mają kluczowe znaczenie dla estetyki i użyteczności interfejsu. Przykładem zastosowania koloru niebieskiego może być jego użycie w projektach związanych z tematyką technologiczną lub finansową, gdzie niebieski symbolizuje zaufanie i profesjonalizm. Warto również zwrócić uwagę, że w kontekście dostępności barw, stosowanie odpowiednich kontrastów z tłem jest niezbędne, aby zapewnić czytelność tekstu i elementów graficznych. Odpowiednie wykorzystanie kodów koloru może znacząco wpłynąć na postrzeganie marki oraz interakcję użytkowników z treściami wizualnymi na stronach internetowych.

Pytanie 18

Aby osiągnąć pokazany rezultat w programie graficznym wykorzystano

Ilustracja do pytania
A. gradient liniowy
B. gradient okrągły
C. kanał alpha
D. zmianę intensywności kolorów
Gradient liniowy to narzędzie stosowane w edytorach grafiki rastrowej do tworzenia płynnych przejść pomiędzy dwoma lub więcej kolorami w zadanym kierunku najczęściej poziomym lub pionowym. W praktyce gradient liniowy jest kluczowy w projektowaniu graficznym ponieważ pozwala na subtelne cieniowanie i nadawanie głębi elementom wizualnym. Przykładowo stosuje się go w tworzeniu tła logotypów czy też przycisków interfejsów użytkownika. Proces tworzenia gradientu liniowego opiera się na ustawieniu punktów początkowych i końcowych oraz przypisaniu im odpowiednich wartości kolorystycznych co podkreśla jego wszechstronność. Standardowym podejściem jest użycie gradientu liniowego w celu uzyskania efektu trójwymiarowości co jest zgodne z dobrymi praktykami projektowania UX i UI. W kontekście branżowym gradienty liniowe są nieodłącznym elementem narzędzi takich jak Adobe Photoshop czy GIMP gdzie umożliwiają manipulację barwą i luminancją co jest kluczowe w profesjonalnym edytowaniu obrazów.

Pytanie 19

Który z akapitów został sformatowany zgodnie z przedstawionym stylem, zakładając, że pozostałe właściwości akapitu mają wartości domyślne?

Ilustracja do pytania
A. Odpowiedź C
B. Odpowiedź A
C. Odpowiedź B
D. Odpowiedź D
Wybór nieprawidłowych odpowiedzi może wynikać z niezrozumienia specyfiki stylów CSS zastosowanych w tym pytaniu. Opcja A stosuje pełne wypełnienie kolorem tła, co nie jest zgodne z przedstawionym stylem, ponieważ styl ten nie obejmuje background-color. Wybór taki mógł być spowodowany błędnym przekonaniem, że kolor tekstu zmienia również kolor tła. Opcja B nie posiada odpowiedniego pogrubienia tekstu, co może wynikać z niepełnego zrozumienia znaczenia właściwości font-weight, która w tym przypadku wynosi 900, wskazując na bardzo pogrubiony tekst. Brak tego efektu w opcji B sugeruje, że tekst nie był stylizowany zgodnie z wymaganiami, stąd wybór tej opcji jest błędny. Odpowiedź D, chociaż posiada pewne podobieństwa, zbyt słabo przedstawia efekt paddingu, który powinien wynosić 20 pikseli, co oznacza znaczne wcięcie wewnętrzne. To może wynikać z nieuświadomienia sobie, jak padding wpływa na przestrzeń wokół tekstu. Znajomość tych podstawowych zasad CSS jest kluczowa w profesjonalnym projektowaniu stron internetowych, gdzie poprawne zastosowanie stylów wpływa na funkcjonalność i estetykę interfejsu użytkownika. Typowym błędem w zrozumieniu może być założenie, że wszystkie style wpływają na wygląd tak samo, podczas gdy ich działanie jest często bardzo specyficzne.

Pytanie 20

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

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

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

Pytanie 21

Którego słowa kluczowego używa się w CSS, aby dołączyć zewnętrzny arkusz stylów?

A. import
B. open
C. include
D. require
W CSS zewnętrzny arkusz stylów można dołączyć regułą @import, np. @import url("style.css");, umieszczoną na początku arkusza. Alternatywnie (i najczęściej) robi się to w HTML znacznikiem <link rel="stylesheet" href="style.css">, który zwykle działa szybciej. Spośród podanych słów kluczowych poprawne jest import.

Pytanie 22

Jaki zapis w dokumencie HTML umożliwia powiązanie z zewnętrznym arkuszem stylów o nazwie style.css?

A. <a href="style.css">
B. <link rel="stylesheet' src="style.css">
C. <link rel="stylesheet" href="style.css">
D. <a src="style.css">
Zapis <link rel="stylesheet" href="style.css"> jest poprawnym sposobem na dołączenie zewnętrznego arkusza stylów do dokumentu HTML. Atrybut 'rel' określa relację między dokumentem a zewnętrznym zasobem, w tym przypadku wskazując, że jest to arkusz stylów. Atrybut 'href' z kolei wskazuje ścieżkę do pliku CSS, który ma być użyty. Użycie znacznika <link> jest zgodne z standardem W3C i jest najlepszą praktyką w tworzeniu stron internetowych. Dzięki temu przeglądarka może załadować style z zewnętrznego pliku, co pozwala na łatwiejsze zarządzanie stylami oraz ich ponowne użycie w różnych dokumentach HTML. Umożliwia to także separację treści od stylizacji, co jest kluczowe w koncepcji wzorców projektowych, takich jak MVC (Model-View-Controller). Przykładowo, aby zmienić wygląd całej strony, wystarczy edytować jeden plik CSS, co znacząco upraszcza proces tworzenia i utrzymania witryn.

Pytanie 23

Który typ danych SQL jest optymalny do przechowywania numeru PESEL?

A.
FLOAT(11)
B.
CHAR(11)
C.
TINYINT
D.
BLOB
PESEL to ciąg dokładnie 11 cyfr traktowany jak identyfikator (nie liczy się na nim), więc najlepszy jest typ tekstowy o STAŁEJ długości CHAR(11) - nie gubi zer wiodących i zajmuje przewidywalne miejsce. Dlatego optymalny jest CHAR(11).

Pytanie 24

Jaką relację typu uzyskuje się w wyniku powiązania kluczy głównych dwóch tabel?

A. wiele do jednego
B. jeden do wielu
C. wiele do wielu
D. jeden do jednego
Odpowiedź „jeden do jednego” jest poprawna, ponieważ relacja typu jeden do jednego oznacza, że każdy rekord w jednej tabeli jest powiązany z dokładnie jednym rekordem w drugiej tabeli. Tego rodzaju relacje są często wykorzystywane w sytuacjach, gdzie istnieje potrzeba rozdzielenia danych w celu zwiększenia organizacji lub wydajności, na przykład w przypadku wrażliwych informacji, które są przechowywane oddzielnie od podstawowych danych użytkowników. Praktycznym przykładem może być relacja między tabelą użytkowników a tabelą profili, gdzie każdy użytkownik ma dokładnie jeden profil. W dobrych praktykach projektowania baz danych, takie relacje są stosowane, aby zapewnić integralność danych oraz umożliwić skuteczne zarządzanie informacjami w systemach. Ponadto, stosowanie relacji jeden do jednego może pomóc w optymalizacji zapytań, ponieważ zminimalizowane jest ryzyko duplikacji danych, co przyczynia się do efektywniejszego przetwarzania operacji w bazach danych.

Pytanie 25

Którego polecenia SQL użyć, aby usunąć CAŁĄ tabelę (wraz ze strukturą)?

A.
DELETE
B.
DROP TABLE
C.
TRUNCATE TABLE
D.
UNIQUE
Aby usunąć CAŁĄ tabelę wraz ze strukturą, używa się DROP TABLE - kasuje definicję tabeli i wszystkie dane. Dlatego poprawne jest DROP TABLE.

Pytanie 26

Jakie polecenie pozwala na kontrolowanie oraz optymalizację bazy danych?

A. mysqlcheck
B. mysqlshow
C. mysqlimport
D. mysqldump
Odpowiedź 'mysqlcheck' jest poprawna, ponieważ jest to narzędzie służące do sprawdzania i optymalizacji baz danych MySQL. Umożliwia ono użytkownikom weryfikację integralności tabel, a także optymalizację struktury bazy danych, co jest kluczowe dla zapewnienia jej wydajności. Funkcja ta jest niezwykle przydatna w przypadku dużych baz danych, gdzie regularne sprawdzanie i optymalizacja mogą znacząco wpłynąć na szybkość wykonywania zapytań. W praktyce, mysqlcheck można uruchomić z różnymi opcjami, na przykład '-a' do automatycznej optymalizacji, co pozwala na zautomatyzowanie procesu konserwacji bazy. Ponadto, zgodnie z zaleceniami dobrych praktyk w zarządzaniu bazami danych, regularne korzystanie z mysqlcheck może pomóc w identyfikacji potencjalnych problemów przed ich eskalacją, co z kolei minimalizuje ryzyko awarii systemu i utraty danych.

Pytanie 27

W formularzu dokumentu PHP znajduje się pole <input name="im" />. Po wpisaniu przez użytkownika ciągu „Janek”, aby dodać wartość tego pola do bazy danych, w tablicy $_POST będzie obecny element

A. Janek z kolejnym numerem indeksu
B. im z kolejnym numerem indeksu
C. Janek z indeksem im
D. im z indeksem Janek
W przypadku formularzy w PHP, każdy element formularza jest przekazywany do tablicy superglobalnej $_POST po przesłaniu formularza. W analizowanej sytuacji, pole input o nazwie 'im' zostało wypełnione wartością 'Janek'. Po przesłaniu formularza do serwera, PHP automatycznie tworzy odpowiedni wpis w tablicy $_POST. Nazwa pola, czyli 'im', staje się kluczem w tablicy $_POST, natomiast wartość wprowadzona przez użytkownika, czyli 'Janek', staje się wartością tego klucza. Dlatego w tablicy $_POST znajdziemy element o kluczu 'im', którego wartość wynosi 'Janek'. W praktyce, dostęp do wartości można uzyskać w następujący sposób: $im = $_POST['im']; co przypisze zmiennej $im wartość 'Janek'. To zachowanie jest zgodne z dokumentacją PHP i standardowymi praktykami programowania w tym języku. Dobrze jest również pamiętać o zabezpieczeniach i walidacji danych pochodzących z formularzy, aby uniknąć potencjalnych ataków, takich jak SQL Injection.

Pytanie 28

W języku PHP do zmiennej a przypisano ciąg znaków, w którym wielokrotnie pojawia się słowo Kowalski. Aby jednym poleceniem wymienić w zmiennej a wszystkie wystąpienia słowa Kowalski na słowo Nowak, należy użyć polecenia

A. $a = str_replace('Nowak', 'Kowalski', $a);
B. $a = str_replace('Nowak', 'Kowalski');
C. $a = str_rep('Kowalski', 'Nowak', $a);
D. $a = str_replace('Kowalski', 'Nowak', $a);
Kiedy mówimy o funkcji str_replace w PHP, to trzeba dobrze znać jej zasady, bo jak coś zrobisz źle, to może nie działać jak powinno. Na przykład w przypadku $a = str_replace('Nowak', 'Kowalski'); brak trzeciego argumentu, co sprawia, że PHP nie wie, gdzie dokonać tej zamiany. Funkcja potrzebuje tych trzech rzeczy, żeby działać. A jak masz argumenty w złej kolejności, jak w $a = str_replace('Nowak', 'Kowalski', $a); to też nie zadziała, bo próbujesz zastąpić 'Nowak', a powinieneś 'Kowalski'. To typowy błąd, który często się zdarza. Jeszcze ważne, żeby nie pomylić nazw funkcji, bo na przykład $a = str_rep('Kowalski', 'Nowak', $a); wywoła błąd, bo PHP nie zna takiej funkcji. W praktyce dobrze jest więc testować kod w odpowiednim środowisku, żeby mieć pewność, że wszystko działa przed wdrożeniem w bardziej skomplikowane projekty.

Pytanie 29

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. części wspólnej.
C. sumy.
D. grupowania.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno.
Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji.
Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 30

Jak nazywa się technika sortowania, która polega na podziale zbioru na n przedziałów o równej długości, gdzie przeprowadza się sortowanie, a następnie analizuje i prezentuje posortowane elementy z tych przedziałów?

A. Sortowanie bąbelkowe
B. Sortowanie szybkie
C. Sortowanie kubełkowe
D. Sortowanie przez wybór
Sortowanie kubełkowe (ang. bucket sort) jest metodą, która dzieli dane na kilka przedziałów, zwanych kubełkami, w którym następnie dokonuje się sortowania elementów. W praktyce, dane są przypisywane do kubełków na podstawie ich wartości, co umożliwia efektywne sortowanie mniejszych zbiorów. Po posortowaniu elementów w każdym kubełku, następuje ich scalanie w jeden, posortowany zbiór. Metoda ta jest szczególnie efektywna dla danych, które są równomiernie rozłożone w ograniczonym zakresie wartości. Przykładem zastosowania sortowania kubełkowego może być sortowanie wyników testów w szkołach, gdzie wyniki są klasyfikowane w poszczególnych kubełkach odpowiadających przedziałom ocen. Takie podejście przyspiesza proces sortowania, zwłaszcza w przypadku dużych zbiorów danych, i jest zgodne z zasadami optymalizacji algorytmów, pozwala na wykorzystanie równoległego przetwarzania. W standardach branżowych sortowanie kubełkowe jest często polecane w kontekście przetwarzania danych w systemach baz danych oraz w algorytmach obliczeniowych, gdzie czas realizacji operacji sortujących jest krytyczny.

Pytanie 31

Wskaż konstrukcję pętli w języku JavaScript, która wyświetli sześć kolejnych liczb parzystych

A. for(i=2;i<=12;i++) {i=i+2; document.write(i);}
B. for(i=2;i<12;i+=2) {document.write(i);}
C. for(i=2;i<12;i++) {i++; document.write(i);}
D. for(i=2;i<=12;i+=2) {document.write(i);}
Odpowiedź for(i=2;i<=12;i+=2) {document.write(i);} jest prawidłowa, ponieważ prawidłowo implementuje pętlę for w języku JavaScript, aby wydrukować sześć kolejnych liczb parzystych, zaczynając od 2 i kończąc na 12. Pętla ta inicjuje zmienną i na wartość 2, a następnie kontynuuje iterację, aż do osiągnięcia wartości 12, zwiększając i o 2 w każdej iteracji. Dzięki temu osiągamy pożądane liczby: 2, 4, 6, 8, 10 i 12. Użycie operatora inkrementacji (i+=2) jest zgodne z dobrymi praktykami programistycznymi, ponieważ jest bardziej zwięzłe i jednoznaczne w porównaniu do zwiększania zmiennej w każdej iteracji o 1, a następnie dodawania 1 w ciele pętli. W praktyce, można stosować takie podejście do generowania sekwencji liczb w różnych zastosowaniach, na przykład w wizualizacji danych lub grach, gdzie potrzebujemy pracować z parametrami o określonej wartości. Ponadto, pętle w JavaScript są fundamentalnym elementem skryptów, pozwalającym na automatyzację powtarzalnych zadań, co czyni programowanie bardziej efektywnym.

Pytanie 32

Strona internetowa została wyświetlona przez przeglądarkę w poniższy sposób. Wskaż kod HTML, który prawidłowo reprezentuje zaprezentowaną hierarchiczną strukturę tekstu:

Ilustracja do pytania
A. <big>Rozdział 1</big>tekst<big>Podrozdział 1.1</big>tekst<big>Podrozdział 1.2</big>
B. <h1>Rozdział 1</h1> <p>tekst</p> <h2>Podrozdział 1.1</h2> <p>tekst</p> <h2>Podrozdział 1.2</h2>
C. <ul><li>Rozdział 1<li>tekst<li>Podrozdział 1.1<li>tekst<li>Podrozdział 1.2</ul>
D. <h1>Rozdział 1<p>tekst <h2>Podrozdział 1.1<p>tekst <h2>Podrozdział 1.2
Odpowiedź jest w porządku! Użycie znaczników <h1> i <h2> wraz z <p> to dobry krok, bo to właśnie tak powinno wyglądać semantyczne formatowanie w HTML. Znacznik <h1> to taki główny nagłówek, który mówi, o czym jest cała strona lub sekcja, a to naprawdę kluczowe dla porządku w treści i SEO. Dzięki nagłówkom w HTML łatwiej jest zrozumieć, co jest na stronie, zarówno dla ludzi, jak i programów, które przeszukują internet. Jak już masz <h2>, to świetnie, bo to pokazuje podrozdziały, a więc hierarchię informacji. Użycie <p> dla tekstu to też dobry pomysł, bo sprawia, że tekst jest bardziej czytelny. Warto pamiętać, że semantyczne znaczniki HTML pomagają osobom z niepełnosprawnościami korzystać z internetu. Według wytycznych WCAG powinno się je stosować, żeby poprawić dostępność. A jak to robić z głową, to łatwiej potem stylować stronę przy użyciu CSS, bo możesz zmieniać wygląd bez bawienia się w treść HTML. Generalnie, dobrze jest, gdy dokumenty są jasne zarówno dla ludzi, jak i dla maszyn – to standard w nowoczesnym webdesignie.

Pytanie 33

Co robi funkcja napisana w języku JavaScript?

function fun1(f)
{
  if(f < 0)
    f = f * (-1);
  return f;
}
A. wypisanie wartości bezwzględnej z f
B. wypisanie wartości odwrotnej do f
C. zwrócenie wartości odwrotnej do f
D. zwrócenie wartości bezwzględnej z f
Patrząc na błędne odpowiedzi, trzeba zauważyć, że funkcja w ogóle nie zajmuje się wypisywaniem wartości ani obliczaniem odwrotności liczby. W JavaScript do wypisywania danych używamy polecenia console.log(), a tutaj go nie ma. Ta funkcja tylko zwraca wynik, co w programowaniu jest super ważne, bo później można wykorzystać tę wartość w dalszym kodzie. Kolejna pomyłka to myślenie, że funkcja zwraca odwrotność liczby. Odwrotność to zupełnie co innego i związane z tym, że musimy znaleźć liczbę, która pomnożona przez pierwotną daje 1. W tym wypadku funkcja tylko zmienia znak liczby, gdy jest ona ujemna, co jest typowe dla obliczania wartości bezwzględnej. Zrozumienie tych różnic jest naprawdę kluczowe, jeśli chcesz uniknąć typowych błędów w programowaniu i lepiej pisać kod.

Pytanie 34

Jakie stwierdzenie dotyczące zaprezentowanego kodu jest prawdziwe?

Ilustracja do pytania
A. W zmiennej $a wartość "Ala" zostanie zmieniona na "Ola"
B. Znak "=" pełni rolę operatora porównania dwóch zmiennych
C. Znak kropki "." jest operatorem konkatenacji
D. Zostanie wyświetlony komunikat "OlaA"
Znak kropki w języku PHP pełni rolę operatora konkatenacji łączącego ciągi znaków w jedną całość Jest to kluczowa funkcja przy pracy z danymi tekstowymi pozwalająca na dynamiczne tworzenie ciągów znaków na podstawie różnych zmiennych lub danych wejściowych Przykładowo w przypadku zmiennej $a o wartości Ala i zastosowania $a Ola wynikowym ciągiem staje się AlaOla W praktyce konkatenacja jest często stosowana do generowania złożonych komunikatów lub budowania ścieżek plików w aplikacjach webowych Operator konkatenacji jest również używany w połączeniu z innymi typami danych które mogą być automatycznie przekształcane na ciągi znaków zgodnie z zasadami PHP Konkatenacja jest fundamentalnym elementem interakcji z użytkownikami w interfejsach tekstowych oraz w przetwarzaniu danych wejściowych i wyjściowych Zrozumienie i umiejętność jej stosowania jest kluczowa dla efektywnego programowania w PHP oraz tworzenia dynamicznych i interaktywnych aplikacji webowych z zachowaniem wysokiej jakości kodu i zgodności ze standardami

Pytanie 35

Której metody JS użyć, aby sprawdzić, czy napis ZAWIERA inny napis?

A.
substr()
B.
valueOf()
C.
repeat()
D.
includes()
Pozostałe metody robią co innego. valueOf() zwraca wartość prymitywną obiektu, substr() wycina fragment, a repeat() powiela napis. Sprawdzenie, czy tekst zawiera inny, daje includes().

Pytanie 36

Zastosowanie poniższej kwerendy SQL spowoduje usunięcie

DELETE FROM mieszkania WHERE status=1;
A. tabeli mieszkania z systemu baz danych
B. pola o nazwie status w tabeli mieszkania
C. rekordów, dla których pole status ma wartość 1, z tabeli mieszkania
D. tabel, w których pole status ma wartość 1, z bazy danych mieszkania
Odpowiedź, którą zaznaczyłeś, jest jak najbardziej trafna i dotyczy działania kwerendy SQL, szczególnie polecenia DELETE. W tym przypadku, to DELETE FROM mieszkania WHERE status=1 oznacza, że zamierzamy usunąć wszystkie rekordy z tabeli mieszkania, gdzie status jest równy 1. To jest ważne, bo w zarządzaniu bazami danych kluczowe jest precyzyjne ustalenie, które dane chcemy usunąć. Z mojej perspektywy, przed wykonaniem takiej operacji warto najpierw wykonać zapytanie SELECT z tymi samymi warunkami, żeby zobaczyć, co dokładnie usuniemy. Przykład? Możesz chcieć usunąć mieszkania, które są zarezerwowane lub niedostępne, co może być oznaczone statusem 1. To naprawdę dobra praktyka, bo pozwala na lepsze zarządzanie danymi i na utrzymanie porządku w bazie. A wiesz, co jeszcze? Zawsze warto zrobić kopię zapasową danych przed masowym usuwaniem, żeby nie stracić czegoś ważnego.

Pytanie 37

Podany poniżej kod źródłowy w języku C++ ma na celu wypisywanie dla wprowadzonych dowolnych liczb całkowitych różniących się od zera:

int main(){
    int liczba;
    cin >> liczba;
    while (liczba != 0)
    {
        if ((liczba % 2) == 0)
            cout << liczba << endl;
        cin >> liczba;
    }
    return 0;
}
A. jedynie liczby parzyste
B. tylko liczby nieparzyste
C. liczby pierwsze
D. wszystkie liczby
Kod źródłowy napisany w języku C++ ma na celu wypisywanie tylko liczb parzystych. Funkcja main() wczytuje liczbę całkowitą za pomocą cin, a następnie wchodzi w pętlę while, która trwa tak długo, jak długo wczytana liczba nie jest równa zero. Wewnątrz pętli, zastosowano sprawdzenie warunku, który definiuje, czy liczba jest parzysta, poprzez operator modulo: (liczba % 2) == 0. Jeśli wynik tego działania jest równy zero, liczba jest parzysta i zostaje wypisana na ekranie. Wszelkie inne liczby (nieparzyste) nie są wyświetlane. Przykładem praktycznego zastosowania tego kodu może być program do analizy danych liczbowych, gdzie chcemy zebrać tylko liczby parzyste do dalszej obróbki, na przykład w statystyce lub w aplikacjach finansowych. Praktyczne podejście do programowania w C++ wymaga znajomości takich konstrukcji jak pętle i warunki, co jest zgodne z najlepszymi praktykami inżynieryjnymi w branży oprogramowania.

Pytanie 38

Głównym celem systemu CMS jest oddzielenie treści portalu informacyjnego od jego wyglądu. Taki efekt osiąga się przez generowanie zawartości

A. z bazy danych oraz wyglądu ze zdefiniowanego szablonu
B. ze statycznych plików HTML oraz wyglądu ze zdefiniowanego szablonu
C. ze statycznych plików HTML oraz wyglądu za pomocą technologii FLASH
D. z bazy danych oraz wyglądu za pomocą atrybutów HTML
Wybór błędnych odpowiedzi wskazuje na niepełne zrozumienie architektury systemów zarządzania treścią. Odpowiedzi sugerujące generowanie zawartości z 'statycznych plików HTML' nie uwzględniają kluczowej zasady, jaką jest elastyczność i efektywność dynamicznego zarządzania treścią. Statyczne pliki HTML są trudne do aktualizacji, co powoduje, że zmiany w treści są czasochłonne i zwiększają ryzyko błędów. Przykładowo, w przypadku wprowadzenia istotnych zmian w treści, takich jak aktualizacje informacji o produktach, każda zmiana wymagałaby ręcznej edycji wielu plików, co jest niepraktyczne i nieefektywne. Ponadto, wykorzystanie technologii FLASH do generowania wyglądu jest przestarzałym podejściem, które nie jest już wspierane przez większość nowoczesnych przeglądarek internetowych. FLASH nie tylko ogranicza dostępność treści na urządzeniach mobilnych, ale także stwarza zagrożenia związane z bezpieczeństwem. Ostatecznie, podejścia te nie są zgodne z najlepszymi praktykami branżowymi, które kładą nacisk na wykorzystanie responsywnych, łatwych w zarządzaniu szablonów i dynamicznych baz danych, co jest kluczowe dla sukcesu nowoczesnych aplikacji internetowych.

Pytanie 39

Zdefiniowano char zm1; w C++. Jak poprawnie przypisać do niej wartość?

A.
zm1 = "wiadro";
B.
zm1 == 0x35;
C.
zm1[2] = 32;
D.
zm1 = 'w';
char mieści jeden znak w apostrofach. zm1[2] = 32; traktuje zmienną jak tablicę (indeks [2]), choć to pojedynczy znak. "wiadro" to łańcuch w cudzysłowie - nie zmieści się w jednym char. zm1 == 0x35 używa operatora PORÓWNANIA ==, a nie przypisania. Poprawne przypisanie znaku to zm1 = 'w';.

Pytanie 40

UPDATE klient SET miejscowosc='Warszawa' WHERE id IN(2,4);
W tabeli klient o polach: id, imie, nazwisko, miejscowosc znajduje się 5 rekordów o id od 1 do 5. Dla których wartości kolumny id przedstawiona kwerenda zaktualizuje zawartość pola miejscowosc na Warszawa?
A. 1, 5
B. 2, 4
C. 3
D. 2, 3, 4
Zapytanie UPDATE, które widzisz w treści pytania, działa bardzo precyzyjnie: `UPDATE klient SET miejscowosc='Warszawa' WHERE id IN(2,4);` oznacza wprost „zmień wartość kolumny miejscowosc na 'Warszawa' tylko w tych wierszach, w których kolumna id ma wartość 2 albo 4”. Klauzula `WHERE id IN (2,4)` to po prostu skrócony zapis warunku: `WHERE id = 2 OR id = 4`. Skoro w tabeli są rekordy o id 1, 2, 3, 4, 5, to modyfikacji podlegają tylko te dwa wiersze, które spełniają warunek logiczny, czyli id równe 2 i id równe 4. Pozostałe rekordy nie są w żaden sposób dotykane przez to polecenie – ich miejscowość zostaje bez zmian. Z mojego doświadczenia to bardzo często używany wzorzec w praktyce, np. gdy trzeba szybko poprawić dane tylko wybranych klientów, zamówień czy produktów. Warto pamiętać, że polecenie UPDATE bez klauzuli WHERE zaktualizuje wszystkie rekordy w tabeli, co zwykle jest niebezpieczne i w realnych projektach uznawane za błąd, jeśli nie jest to w pełni świadome działanie. W profesjonalnych systemach bazodanowych dobrą praktyką jest zawsze dokładne sprawdzanie warunku WHERE, czasem nawet poprzedzonego zapytaniem SELECT z takim samym warunkiem, żeby zobaczyć, które wiersze zostaną zmienione przed wykonaniem UPDATE. W tym przykładzie można by najpierw zrobić: `SELECT * FROM klient WHERE id IN (2,4);`, a dopiero potem uruchomić UPDATE. W codziennej pracy z SQL konstrukcja `IN` jest też wygodna, gdy lista identyfikatorów jest dłuższa, np. `IN (2,4,7,10,15)`, zamiast pisać długie wyrażenie z wieloma OR. To poprawia czytelność i zmniejsza ryzyko pomyłki przy edycji kodu, co jest po prostu zdrową praktyką w zespole programistów i administratorów baz danych.