Odtwarzaj przebieg egzaminu krok po kroku i ucz się na własnych błędach. Widzisz dokładnie, w jakiej kolejności rozwiązywałeś pytania, ile czasu spędziłeś nad każdym z nich i kiedy zmieniałeś odpowiedzi.
Co znajdziesz na stronie przebiegu:
Suwak czasu
Przesuwaj i przeglądaj pytania w kolejności, w jakiej je rozwiązywałeś
Tryb nauki
Włącz, aby zobaczyć poprawne odpowiedzi i wyjaśnienia do pytań
Analiza czasu
Sprawdź, ile czasu spędziłeś nad każdym pytaniem i gdzie traciłeś czas
Monitoring focusu
Widzisz momenty, gdy opuściłeś zakładkę - tak jak widzi to nauczyciel
Jaką maksymalną liczbę znaczników <td> można zastosować w tabeli składającej się z trzech kolumn i trzech wierszy, która nie zawiera złączeń między komórkami oraz wiersza nagłówkowego?
A. 6
B. 9
C. 12
D. 3
Wybór innych odpowiedzi może wynikać z niepoprawnego rozumienia struktury tabeli lub zasadności użycia znaczników <td>. Odpowiedź 3, sugerująca 6 znaczników, pomija fakt, że każda kolumna powinna zawierać wszystkie wiersze, co w przypadku trzech wierszy prowadzi do stwierdzenia, że maksymalna liczba komórek powinna być znacznie wyższa. Natomiast odpowiedź 12 może wynikać z błędnego założenia, że każda komórka może być użyta wielokrotnie, co jednak narusza zasady HTML, które zakładają jednoznaczne przypisanie danych do danej komórki. Dlatego, aby uzyskać poprawną liczbę znaczników <td>, należy pomnożyć liczbę kolumn przez liczbę wierszy. W tym przypadku mamy trzy kolumny i trzy wiersze, więc całkowita liczba znaczników <td> wynosi 9. Kluczowe jest zrozumienie, że znaczniki <td> są przeznaczone wyłącznie do umieszczania danych w tabeli, a zasady ich użycia są ściśle określone w standardach HTML. W praktyce, błędy takie jak zbyt niska lub zbyt wysoka liczba znaczników mogą prowadzić do niepoprawnych wyświetleń tabeli oraz utrudniać użytkownikom dostęp do danych. Aby uniknąć podobnych nieporozumień, zawsze warto stosować się do dobrze zdefiniowanych zasad projektowania tabel w HTML.
Pytanie 2
Który efekt został zaprezentowany na filmie?
A. Przenikanie zdjęć.
B. Zmiana jasności zdjęć.
C. Zwiększenie ostrości zdjęcia.
D. Zmniejszenie kontrastu zdjęcia.
W tym zadaniu łatwo pomylić kilka różnych rodzajów operacji na obrazie, bo wszystkie jakoś „zmieniają wygląd zdjęcia”, ale działają zupełnie inaczej. Efekt pokazany na filmie to przenikanie dwóch zdjęć w czasie, czyli animowane przejście między jednym obrazem a drugim. Kluczowa cecha: widzimy jednocześnie dwa zdjęcia, jedno stopniowo zanika, a drugie stopniowo się pojawia. To nie jest typowa operacja edycyjna na pojedynczym pliku graficznym, tylko efekt animacyjny, często wykorzystywany w pokazach slajdów, sliderach na stronach WWW i w montażu wideo. Zmiana jasności zdjęć to zupełnie inny rodzaj przetwarzania. Jasność modyfikuje poziom luminancji całego obrazu lub jego fragmentów – obraz staje się ciemniejszy albo jaśniejszy, ale dalej jest to to samo zdjęcie. Nie pojawia się nowe, drugie zdjęcie, nie ma nakładania dwóch kadrów. W programach do grafiki mamy to jako „Brightness”, „Exposure” czy „Levels”. Jeśli na filmie widać, że jeden obraz przechodzi płynnie w inny, to nie jest korekta jasności, tylko przejście między dwiema warstwami. Podobnie z ostrością – zwiększenie ostrości polega na podbiciu kontrastu na krawędziach, żeby szczegóły wyglądały wyraźniej. W praktyce używa się filtrów typu Unsharp Mask, Smart Sharpen albo algorytmów wyostrzania w czasie rzeczywistym. Obraz przed i po wyostrzeniu to ciągle ta sama klatka, tylko z innym przetworzeniem detali, nie ma efektu zanikania jednego zdjęcia i pojawiania się drugiego. Zmniejszenie kontrastu to kolejna korekta globalna, która spłaszcza różnice między jasnymi a ciemnymi partiami obrazu. Zdjęcie robi się bardziej „szare”, mniej dynamiczne. Znowu – cały czas pracujemy na jednym ujęciu, bez miksowania dwóch fotografii. Typowym błędem myślowym przy takich pytaniach jest to, że skoro coś się „zmienia w czasie”, to musi chodzić o jakąś regulację parametrów typu jasność czy kontrast. Tymczasem w efektach multimedialnych bardzo często operujemy na wielu warstwach – dwa obrazy, dwie klatki wideo – i animujemy ich wzajemną przezroczystość. Właśnie to jest esencją przenikania zdjęć i odróżnia je od zwykłych korekt obrazu.
Pytanie 3
W formularzu wartość z pola input o typie number została przypisana do zmiennej a i następnie przetworzona w skrypcie JavaScript w poniższy sposób. Jaki typ będzie miała zmienna z?
var z = parseFloat(a);
A. zmiennoprzecinkowego
B. liczbowego, całkowitego
C. NaN
D. napisowego
W języku JavaScript funkcja parseFloat() jest używana do konwersji wartości tekstowych na liczby zmiennoprzecinkowe. Podczas pobierania danych z pola input typu number, wartość często jest traktowana jako string i konieczne jest jej przekształcenie w liczbę, aby móc na niej wykonywać operacje matematyczne. Funkcja parseFloat() analizuje łańcuch znaków i próbuje wyodrębnić z niego liczbę zmiennoprzecinkową. Nawet jeśli podana wartość jest zapisana jako liczba całkowita, parseFloat() przekształci ją w liczbę zmiennoprzecinkową, co oznacza, że zmienna z będzie tego właśnie typu. Jest to standardowa praktyka w programowaniu w JavaScript, aby zapewnić, że dane numeryczne są przetwarzane w odpowiednim formacie. Konwersja na typ zmiennoprzecinkowy gwarantuje także, że wszelkie ułamki dziesiętne będą poprawnie obsługiwane, co jest kluczowe w wielu zastosowaniach, takich jak obliczenia finansowe czy prace związane z precyzyjnymi pomiarami. Warto zaznaczyć, że parseFloat() zwraca wartość NaN tylko wtedy, gdy dany ciąg nie zaczyna się od liczby, co czyni ten sposób konwersji bardzo elastycznym i często stosowanym w praktyce.
Pytanie 4
Aby stworzyć warunek w zapytaniu wybierającym nazwiska wszystkich uczniów z klas początkowych (od pierwszej do trzeciej), można zastosować klauzulę
A. WHERE klasa < 3
B. WHERE klasa >= 1 OR klasa <= 3
C. WHERE klasa IN (1, 3)
D. WHERE klasa BETWEEN 1 AND 3
Zestawienie innych odpowiedzi w kontekście tego zapytania ujawnia typowe nieporozumienia dotyczące logiki operacji SQL. Klauzula "WHERE klasa < 3" jest nieprawidłowa, ponieważ obejmuje jedynie klasy 1 i 2, co oznacza, że nie uwzględnia uczniów z klasy 3, a więc nie spełnia wymagań pytania. Również użycie klauzuli "WHERE klasa IN (1, 3)" jest mylące, ponieważ wybiera tylko uczniów z klasy 1 i 3, pomijając klasę 2, co jest sprzeczne z definicją klas nauczania początkowego. Kolejna odpowiedź, "WHERE klasa >= 1 OR klasa <= 3", generuje dodatkowe zamieszanie, ponieważ jest logicznie błędna; w praktyce ten warunek zawsze będzie prawdziwy dla wszystkich klas, ponieważ każda klasa będzie spełniać przynajmniej jeden z tych warunków, co prowadzi do zwrócenia wszystkich uczniów, a nie tylko tych z nauczania początkowego. Takie nieprawidłowe użycie operatorów może prowadzić do nieefektywnych zapytań oraz zwiększonego obciążenia bazy danych, a także do niezamierzonych wyników. W przypadku pracy z bazami danych kluczowe jest zrozumienie, jak różne klauzule wpływają na zestaw danych i jakie mogą przynieść konsekwencje w kontekście wyników, co często wymaga starannej analizy oraz testowania zapytań przed ich wdrożeniem.
Pytanie 5
W języku PHP, przy pracy z bazą MySQL, aby zakończyć sesję z bazą, należy wywołać
A. mysqli_commit()
B. mysqli_close()
C. mysqli_exit()
D. mysqli_rollback()
Odpowiedź mysqli_close() jest prawidłowa, ponieważ ta funkcja jest używana do zamknięcia połączenia z bazą danych MySQL w języku PHP. Po zakończeniu wszystkich operacji na bazie danych, zaleca się wywołanie tej funkcji, aby zwolnić zasoby systemowe oraz zamknąć połączenie, co jest zgodne z dobrymi praktykami programistycznymi. Użycie mysqli_close() jest istotne, ponieważ niezamknięte połączenia mogą prowadzić do wycieków pamięci i wyczerpania dostępnych zasobów, co z kolei może wpłynąć na wydajność aplikacji. W praktyce, jeśli mamy otwarte połączenie z bazą danych, po zakończeniu operacji, takich jak pobieranie lub wstawianie danych, używamy mysqli_close($connection), gdzie $connection to nasza zmienna reprezentująca połączenie. Oprócz tego, pamiętajmy, że dbanie o odpowiednie zarządzanie połączeniami ma kluczowe znaczenie dla bezpieczeństwa i stabilności naszych aplikacji.
Pytanie 6
Jakie typy danych w C++ są używane do reprezentacji liczb rzeczywistych?
A. float oraz long
B. float oraz double
C. double oraz short
D. double oraz bool
Odpowiedź 'float i double' jest prawidłowa, ponieważ te dwa typy danych w języku C++ są przeznaczone do reprezentowania liczb rzeczywistych. Typ 'float' zajmuje 4 bajty pamięci i służy do przechowywania liczb zmiennoprzecinkowych o pojedynczej precyzji, co oznacza, że może reprezentować liczby z ograniczoną dokładnością. Typ 'double', z kolei, zajmuje 8 bajtów pamięci i pozwala na przechowywanie liczb zmiennoprzecinkowych o podwójnej precyzji. Dzięki temu 'double' umożliwia reprezentację znacznie większych i bardziej precyzyjnych wartości. W praktyce, typ 'float' jest często używany w sytuacjach, gdzie oszczędność pamięci jest kluczowa, na przykład w grafice komputerowej, natomiast 'double' jest preferowany w obliczeniach naukowych i inżynieryjnych, gdzie precyzja jest priorytetem. Dlatego zrozumienie różnicy między tymi typami danych oraz ich zastosowań jest niezbędne do efektywnego programowania w C++. Zgodnie z najlepszymi praktykami, programiści powinni dobierać typy danych odpowiednio do wymagań swojego projektu, zwracając uwagę na równowagę między precyzją a wydajnością.
Pytanie 7
W języku PHP zamieszczono fragment kodu. Plik cookie utworzony przez to polecenie
A. zostanie usunięty po jednym dniu od jego utworzenia
B. będzie przechowywany na serwerze przez jedną godzinę
C. będzie przechowywany na serwerze przez jeden dzień
D. zostanie usunięty po jednej godzinie od jego utworzenia
Niepoprawne odpowiedzi na to pytanie opierają się na nieprawidłowym rozumieniu działania funkcji setcookie w PHP, a także na błędnej interpretacji czasu przechowywania plików cookie. Odpowiedzi sugerujące, że plik cookie będzie przechowywany przez jeden dzień lub jedną godzinę, są oparte na mylnych założeniach dotyczących obliczeń czasowych. Czas przechowywania ciasteczka jest określany przez wartość przekazywaną do funkcji setcookie, a w tym przypadku maksymalny czas wynosi 24 godzin. Błędne stwierdzenia mogą wynikać z mylnego założenia, że funkcja time() i dodatkowe sekundy nie są prawidłowo sumowane. Ważne jest, aby zrozumieć, że ciasteczka nie są przechowywane na serwerze, lecz w przeglądarkach użytkowników, co oznacza, że dostępność ich danych zależy od ustawień przeglądarki oraz polityki prywatności. Typowym błędem jest również mylenie pojęć związanych z czasem przechowywania – ciasteczka nie są usuwane w momencie wygaśnięcia, ale po upływie ustalonego czasu, co wyklucza możliwość poprawnych odpowiedzi, które sugerowałyby krótszy okres ich przechowywania. Kluczowym aspektem w pracy z ciasteczkami jest znajomość ich parametrów i ich wpływu na interakcję użytkownika z aplikacją, co może mieć duże znaczenie w kontekście zarządzania sesjami oraz personalizacją doświadczeń użytkownika.
Pytanie 8
Która metoda JavaScript służy do dodawania nowego elementu na końcu tablicy?
A. pop()
B. unshift()
C. shift()
D. push()
Metoda <code>push()</code> w JavaScript jest odpowiedzialna za dodawanie nowych elementów na końcu tablicy. Jest to jedna z podstawowych metod manipulujących tablicami i jest szeroko stosowana w różnych projektach webowych. Przykładowo, jeśli masz tablicę zawierającą listę produktów w koszyku zakupowym, możesz użyć <code>push()</code>, aby dodać nowy produkt do tej listy. Ta metoda nie tylko dodaje element, ale także zwraca nową długość tablicy, co jest przydatne, gdy chcesz wiedzieć, ile elementów obecnie zawiera tablica. Warto również zauważyć, że <code>push()</code> modyfikuje oryginalną tablicę, co oznacza, że jest to operacja destruktywna. Użycie tej metody jest zgodne z dobrymi praktykami, ponieważ jest ona szybka i efektywna, zwłaszcza gdy potrzebujesz dynamicznie zmieniać zawartość tablicy w trakcie działania aplikacji.
Pytanie 9
Wskaż kod CSS odpowiadający układowi bloków 2 - 5, zakładając, że są one zbudowane w oparciu o przedstawiony kod HTML.
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 10
W SQL, aby zmienić dane w tabeli, wykorzystuje się instrukcję
A. UPDATE
B. JOIN
C. SELECT
D. CREATE
Odpowiedź 'UPDATE' jest poprawna, ponieważ w języku SQL polecenie to służy do modyfikacji danych w istniejących rekordach tabeli. Umożliwia aktualizację wartości w jednym lub więcej polach w wybranych wierszach, których identyfikacja może być dokonana poprzez zastosowanie klauzuli WHERE. Na przykład, aby zaktualizować nazwisko użytkownika w tabeli 'Użytkownicy', można użyć polecenia: 'UPDATE Użytkownicy SET nazwisko = 'NoweNazwisko' WHERE id = 1;'. Dobrą praktyką jest zawsze uwzględnienie klauzuli WHERE, aby uniknąć przypadkowego zaktualizowania wszystkich rekordów w tabeli. Polecenie UPDATE jest częścią standardu SQL i szeroko stosowane w codziennej pracy z bazami danych, co czyni je kluczowym narzędziem w zarządzaniu danymi. Warto również pamiętać, że przed wykonaniem aktualizacji zaleca się wykonanie kopii zapasowej danych, aby zabezpieczyć się przed niezamierzonymi zmianami.
Pytanie 11
Jakie ustawienia dotyczące czcionki będą miały zastosowanie w przypadku kodu CSS?
*{font-family:Tahoma;color:Teal;}
A. wszystkiego kodu HTML, niezależnie od kolejnych ustawień CSS.
B. znaczników z klasą przypisaną jako *.
C. znaczników o identyfikatorze równym *.
D. wszystkiego kodu HTML, jako domyślne formatowanie dla wszystkich elementów strony.
Wybór opcji dotyczącej całego kodu HTML jako formatowania domyślnego dla wszystkich elementów strony jest poprawny, ponieważ użycie selektora uniwersalnego * w CSS oznacza, że wszystkie dostępne elementy na stronie będą dziedziczyć określone style. W tym przypadku, zarówno font-family ustawiony na Tahoma, jak i kolor tekstu zmieniony na Teal, będą dotyczyły każdego elementu HTML, bez względu na jego typ. To podejście jest zgodne z zasadami stosowania stylów kaskadowych, gdzie style są aplikowane do elementów w sposób hierarchiczny, a selektor uniwersalny jest najogólniejszym z dostępnych. Przykładem zastosowania może być sytuacja, gdy chcemy ustawić jednolite formatowanie dla całej strony, co upraszcza proces projektowania i zapewnia spójność wizualną. Dobrą praktyką jest jednak używanie selektora uniwersalnego z umiarem, aby uniknąć nadmiernego obciążenia wydajności, szczególnie w większych dokumentach, gdzie precyzyjniejsze selektory mogą przynieść lepsze rezultaty.
Pytanie 12
Rodzaj programowania, w którym sekwencja poleceń (instrukcji) dostarczanych komputerowi jest traktowana jako program, określa się mianem programowania
A. stanowego
B. logicznogo
C. funkcyjnego
D. imperatywnego
Programowanie imperatywne to taki sposób myślenia w kodowaniu, gdzie dajemy komputerowi jasne instrukcje, co ma robić krok po kroku. Oznacza to, że mówimy mu, jak dojść do celu. To całkiem inne podejście niż w programowaniu funkcyjnym, gdzie raczej koncentrujemy się na funkcjach i operacjach na danych. W imperatywnym korzystamy z różnych elementów, jak zmienne, pętle czy warunki, żeby kontrolować, co się dzieje w programie. Można tu wymienić języki takie jak C, C++, Java czy Python – wszystkie są bardzo popularne w branży, zwłaszcza przy tworzeniu różnorodnych aplikacji lub systemów operacyjnych. Myślę, że połączenie programowania imperatywnego z obiektowym to świetny pomysł, bo dzięki temu łatwiej zarządzać kodem i korzystać z różnych wzorców projektowych, co zazwyczaj poprawia jego czytelność i efektywność.
Pytanie 13
Proces normalizacji tabel ma na celu
A. wyłącznie stworzenie tabel oraz powiązań w bazie
B. dodanie danych do bazy
C. weryfikację i poprawę efektywności bazy danych
D. wizualizację bazy
Normalizacja tabel jest procesem, który ma na celu organizację struktury bazy danych w taki sposób, aby zminimalizować redundancję danych oraz zapewnić integralność danych. Proces ten polega na podziale dużych tabel na mniejsze i łączeniu ich za pomocą relacji, co pozwala na efektywniejsze zarządzanie danymi. Przykładem normalizacji może być podział tabeli zawierającej informacje o klientach i ich zamówieniach na dwie oddzielne tabele: jedna do przechowywania danych klientów, a druga do danych zamówień, z relacją między nimi. W praktyce normalizacja, zgodna z metodologią Codd'a, obejmuje kilka poziomych form normalnych, takich jak 1NF, 2NF, i 3NF, z których każda wprowadza dodatkowe ograniczenia i zasady. Przy odpowiedniej normalizacji można uniknąć problemów z aktualizacją danych, takich jak anomalie aktualizacji czy usuwania, co jest kluczowe w utrzymywaniu wysokiej jakości danych w systemach bazodanowych.
Pytanie 14
W poniższym zapytaniu SQL, co oznacza symbol gwiazdki w jego wyniku?
SELECT * FROM mieszkancy WHERE imie = 'Anna';
A. pokazanie pola o nazwie '*' (gwiazdka)
B. wyświetlenie wszystkich rekordów z tabeli mieszkancy
C. wyświetlenie wszystkich kolumn z tabeli mieszkancy
D. zignorowanie warunku dotyczącego imienia
Znak gwiazdki (*) w zapytaniu SQL służy do wskazania, że chcemy otrzymać wszystkie kolumny z wybranej tabeli. W kontekście podanego zapytania SQL SELECT * FROM mieszkancy WHERE imie = 'Anna'; gwiazdka odnosi się do wszystkich kolumn tabeli o nazwie mieszkancy. Oznacza to, że wynik zapytania będzie zawierał wszystkie dostępne kolumny dla rekordów spełniających warunek WHERE czyli takich, gdzie wartość w kolumnie imie jest równa 'Anna'. Stosowanie znaku gwiazdki jest powszechne w przypadkach, gdy potrzebujemy pełnych danych z tabeli bez konieczności wymieniania nazw wszystkich kolumn. Jednak w praktyce dobre praktyki zalecają użycie gwiazdki ostrożnie, zwłaszcza w dużych bazach danych, aby uniknąć niepotrzebnego obciążenia systemu oraz zwrócić uwagę na bezpieczeństwo i wydajność. W aplikacjach produkcyjnych często korzysta się z precyzyjnego określania potrzebnych kolumn co pozwala na optymalizację procesu pobierania danych.
Pytanie 15
Czego nie należy brać pod uwagę przy zabezpieczaniu serwera bazy danych przed atakami hakerskimi?
A. Aktywacja zapory
B. Defragmentacja dysków
C. Używanie skomplikowanych haseł do bazy
D. Zamykanie portów związanych z bazą danych
Defragmentacja dysków, mimo że może poprawić wydajność dysków twardych, nie jest bezpośrednio związana z zabezpieczeniem serwera bazy danych przed atakami hakerów. Zabezpieczenia bazy danych powinny koncentrować się na praktykach, które bezpośrednio wpływają na ochronę danych i dostęp do nich. Przykładem skutecznych środków ochrony są złożone hasła, które utrudniają nieautoryzowany dostęp do systemu. Stosowanie silnych haseł, które łączą litery, cyfry oraz znaki specjalne, jest podstawowym krokiem w kierunku zabezpieczenia bazy danych. Kolejnym aspektem jest blokowanie portów, które nie są niezbędne do działania bazy danych, co może znacznie ograniczyć możliwości ataku z sieci. Włączenie zapory (firewall) także przyczynia się do ochrony, monitorując i kontrolując ruch sieciowy. Warto podkreślić, że zgodnie z zasadami bezpieczeństwa, minimalizacja punktów dostępu do bazy danych jest kluczowa dla jej ochrony.
Pytanie 16
Instrukcja języka PHP tworząca obiekt pkt dla zdefiniowanej w ramce klasy Punkt ma postać
class Punkt { public $x; public $y; }
A. Punkt() pkt;
B. pkt Punkt();
C. pkt Punkt;
D. pkt = new Punkt();
Twoja odpowiedź nie jest prawidłowa. Wybrałeś konstrukcję, która nie jest poprawnym sposobem tworzenia obiektu w języku PHP. PHP jest językiem obiektowym, a do tworzenia obiektów używamy konstrukcji z słowem kluczowym 'new' i nazwą klasy. Instrukcje, które wybrałeś, nie są poprawnymi instrukcjami w PHP i prawdopodobnie spowodują błąd składni. W odpowiedziach 2, 3 i 4 brakuje słowa kluczowego 'new', które jest niezbędne do tworzenia nowych instancji klas, a także brakuje znaku równości i prawidłowego ułożenia elementów. Rozumienie, jak tworzyć obiekty, jest kluczowe do efektywnego programowania w PHP, więc warto poświęcić temu więcej czasu. Spróbuj jeszcze raz, z pewnością sobie poradzisz!
Pytanie 17
W SQL, aby zaktualizować informacje w wierszach w tabeli, konieczne jest użycie polecenia
A. UPDATE
B. SELECT
C. INSERT INTO
D. ALTER TABLE
Odpowiedź "UPDATE" jest właściwa, bo w SQL to właśnie to polecenie używamy do zmiany danych w już istniejących wierszach tabeli. Żeby zaktualizować konkretne kolumny w danym wierszu, trzeba wpisać coś takiego: "UPDATE nazwa_tabeli SET kolumna1 = wartość1, kolumna2 = wartość2 WHERE warunek". Dzięki klauzuli WHERE możemy dokładnie wskazać, które wiersze chcemy zmienić, co jest naprawdę ważne, żeby wszystko działało sprawnie i bezpiecznie. Na przykład, jeśli chcemy zmienić nazwisko użytkownika o id równym 1, napiszemy: "UPDATE Użytkownicy SET nazwisko = 'NoweNazwisko' WHERE id = 1". Używanie tego polecenia to dobra praktyka w zarządzaniu bazami danych. Nie zapominajmy o transakcjach, żeby mieć pewność, że dane są bezpieczne. A jak korzystamy z przygotowanych zapytań, to zminimalizujemy ryzyko ataków SQL injection, co jest bardzo istotne w kontekście bezpieczeństwa aplikacji bazodanowych.
Pytanie 18
W języku PHP komentarz w jednej linii zaczyna się od znaków
A. /* lub //
B. // lub #
C. $ lub #
D. <! lub <?
W PHP można robić komentarze jednoliniowe na dwa sposoby: używając podwójnego ukośnika (//) albo znaku hash (#). Większość osób korzysta z //, bo jest to standard w wielu innych językach i po prostu jest bardziej popularne. Komentarze zaczynające się od // są ignorowane przez interpreter, więc można je stosować do dodawania notatek w kodzie lub wyłączania fragmentów bez ich usuwania. Znak # z kolei używamy głównie w skryptach PHP uruchamianych w wierszu poleceń, więc tu jest trochę bardziej specyficzny. Dla przykładu, jak piszesz kod, możesz dodać coś takiego: // To jest komentarz, który tłumaczy działanie poniższego kodu. Komentarze są bardzo ważne, bo pomagają w dokumentacji, ułatwiają zrozumienie kodu zarówno dla Ciebie, jak i dla innych programistów, którzy mogą z nim pracować w przyszłości. Dobrze jest pamiętać o tym, żeby komentarze były zwięzłe, ale jednocześnie informacyjne, co sprawia, że kod staje się bardziej przejrzysty.
Pytanie 19
Jakim poleceniem SQL można zlikwidować z tabeli artykuly wiersze, które zawierają słowo "sto" w dowolnej lokalizacji pola tresc?
A. DELETE * FROM artykuly WHERE tresc LIKE "%sto%"
B. DELETE * FROM artykuly WHERE tresc = "%sto%"
C. DELETE FROM artykuly WHERE tresc LIKE "%sto%"
D. DELETE FROM artykuly WHERE tresc = "%sto%"
Odpowiedź "DELETE FROM artykuly WHERE tresc LIKE '%sto%';" jest okej, bo używasz operatora LIKE. To pozwala na szukanie wzorców w tekście. W SQL to polecenie usunie wszystkie wiersze z tabeli 'artykuly', które mają słowo 'sto' w polu 'tresc', niezależnie od tego, gdzie się ono znajduje. Te znaki procentu (%) przed i po 'sto' to takie wildcardy, które mogą oznaczać dowolny tekst przed lub po. To zgodne z dobrymi praktykami programowania w SQL, gdzie można używać LIKE, gdy nie mamy ściśle określonego formatu. Na przykład, takie zapytanie może się przydać, żeby usunąć artykuły z niepożądanym zwrotem, co ma znaczenie przy moderowaniu treści na stronach internetowych.
Pytanie 20
W instrukcji warunkowej w języku JavaScript należy zweryfikować sytuację, w której wartość zmiennej a leży w przedziale (0,100), a wartość zmiennej b jest większa od zera. Odpowiedni zapis warunku jest następujący:
A. if (a > 0 && a < 100 && b > 0 )
B. if (a > 0 && a < 100 || b < 0 )
C. if (a > 0 || a < 100 || b < 0 )
D. if (a > 0 || a < 100 && b > 0 )
Odpowiedź 'if (a > 0 && a < 100 && b > 0)' jest dokładnie to, czego szukamy. Zmiana 'a' musi być w przedziale powyżej 0, ale poniżej 100, a do tego 'b' musi być większe od zera. To tak jakby ustalać zasady dla jakiegoś wyzwania – żeby coś się udało, musi być spełnionych kilka warunków na raz. Przykładowo, jeżeli myślimy o zakupach online, to możemy zrobić zakupy tylko wtedy, gdy kwota jest w porządku (czyli w tym przedziale) i nasze konto ma jakieś pieniądze. Takie jasne zasady są super ważne, bo pomagają w pisaniu czytelnego kodu, który potem łatwiej zrozumieć i utrzymać.
Pytanie 21
Jakie wyrażenie logiczne w języku PHP weryfikuje, czy zmienna1 znajduje się w przedziale jednostronnie domkniętym <-5, 10)?
A. $zmienna1 <= -5 || $zmienna1 < 10
B. $zmienna1 >= -5 && $zmienna1 < 10
C. $zmienna1 <= -5 && $zmienna1 < 10
D. $zmienna1 >= -5 || $zmienna1 < 10
Wyrażenie logiczne $zmienna1 >= -5 && $zmienna1 < 10 jest poprawne, ponieważ precyzyjnie określa przedział jednostronnie domknięty <-5, 10). W tym przypadku, aby zmienna1 należała do tego przedziału, musi być większa lub równa -5 oraz jednocześnie mniejsza od 10. To oznacza, że -5 jest włączone do przedziału, podczas gdy 10 już nie. W praktycznym użyciu tego wyrażenia, można je zastosować np. w walidacji danych wejściowych w formularzach, gdzie wartość powinna mieścić się w określonym zakresie. Dobre praktyki programistyczne sugerują, aby zawsze jasno określać zakresy wartości, aby unikać błędów logicznych, co jest szczególnie istotne w obszarze programowania warunkowego. Dodatkowo, proponowane wyrażenie jest również zgodne z zasadami czytelności kodu, ułatwiając jego późniejsze zrozumienie przez innych programistów.
Pytanie 22
Element bazy danych, którego podstawowym celem jest generowanie lub prezentowanie zestawień informacji, to
A. makro
B. raport
C. moduł
D. formularz
Raport to taki dokument w bazie danych, który ma za zadanie pokazać dane w przejrzysty i uporządkowany sposób. To jest mega ważne, zwłaszcza kiedy chcemy analizować różne informacje. Można je wykorzystać do robienia zestawień, statystyk, a nawet wykresów, co naprawdę ułatwia podejmowanie decyzji. Zazwyczaj raporty tworzy się na podstawie danych z różnych miejsc, jak tabele czy zapytania. W programach do zarządzania bazami, jak Microsoft Access, można korzystać z kreatora raportów, który pomaga ustawić wszystko tak, jak się chce – wybieramy źródło danych, układ i format. Oczywiście, do pozyskiwania danych często wykorzystuje się SQL, no i potem już te dane można analizować i przedstawiać w raportach. Jak sobie pomyślisz o przykładzie, to taki miesięczny raport sprzedaży to super narzędzie dla menedżerów, bo mogą ocenić, jak im idzie w sprzedaży i podejmować lepsze decyzje strategiczne.
Pytanie 23
Posiadając tabelę zawierającą zwierzeta z kolumnami nazwa, gatunek, gromada, cechy, dlugosc_zycia, aby uzyskać listę nazw zwierząt, które żyją co najmniej 20 lat oraz należą do ssaków, należy wykonać zapytanie:
A. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20;
B. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
C. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 OR gromada = 'ssak';
D. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';
Zapytanie SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 AND gromada = 'ssak'; jest prawidłowe, ponieważ łączy dwa kluczowe warunki, które muszą być spełnione, aby uzyskać pożądane wyniki. W tym przypadku chcemy wyświetlić nazwy zwierząt, które żyją co najmniej 20 lat oraz należą do gromady ssaków. Operator AND w SQL jest stosowany do łączenia warunków, co oznacza, że tylko te rekordy, które spełniają oba warunki, zostaną zwrócone. Przykładem zastosowania takiego zapytania może być analiza danych w zoologii lub biologii, gdzie istotne jest zrozumienie, które gatunki mają długowieczność i są ssakami. Takie zapytanie można również wykorzystać w praktyce, na przykład w aplikacjach ewidencjonujących zwierzęta w ogrodach zoologicznych czy rezerwatach, pomagając w podejmowaniu decyzji o ich ochronie lub hodowli. Zastosowanie dobrych praktyk w SQL polega na precyzyjnym definiowaniu kryteriów, co pozwala na efektywne przetwarzanie i analizowanie danych.
Pytanie 24
W algorytmie jeden z bloków zawiera akcję „Wypisz liczbę”. Jaki kształt może mieć ta akcja?
A. Kształt 1
B. Kształt 2
C. Kształt 3
D. Kształt 4
W algorytmach i schematach blokowych każdy kształt ma swoje specyficzne zastosowanie i znaczenie, co jest kluczowe dla zrozumienia i projektowania schematów przepływu. Użycie nieodpowiedniego kształtu może prowadzić do nieporozumień i błędnej interpretacji działania algorytmu. Prostokąt, często wybierany przez początkujących, jest symbolem operacji obliczeniowej, a nie wypisywania danych. Użycie go zamiast równoległoboku może sugerować, że w danym miejscu algorytm wykonuje przetwarzanie danych, co wprowadza w błąd. Romb, z kolei, jest używany do reprezentowania decyzji, czyli punktu, w którym algorytm wybiera jedną z kilku możliwych ścieżek na podstawie określonego warunku. Użycie rombu do opisania operacji wypisywania mogłoby sugerować, że wybieramy między różnymi możliwościami wyjścia danych, co byłoby błędne. Zastosowanie specjalnych kształtów, takich jak trapez, też jest nietypowe i nie znalazło umocowania w standardach. Właściwe użycie symboli to część dobrych praktyk w projektowaniu schematów, co ułatwia współpracę i zrozumienie pomiędzy programistami oraz ułatwia rozpoznanie błędów we wczesnym etapie projektowania. Zrozumienie tego aspektu pozwala na poprawę jakości tworzonych algorytmów i ich zgodności z ogólnymi standardami branżowymi ISO/IEC 19515:2017.
Pytanie 25
Jakie oprogramowanie NIE JEST systemem do zarządzania treścią (CMS)?
A. WordPress
B. Joomla
C. Mambo
D. Apache
Apache to serwer HTTP, który jest wykorzystywany do hostowania stron internetowych. Nie jest to system zarządzania treścią (CMS), ponieważ jego głównym zadaniem jest obsługa żądań HTTP i dostarczanie plików do przeglądarek internetowych. Systemy zarządzania treścią, takie jak Joomla, WordPress czy Mambo, to aplikacje, które umożliwiają użytkownikom łatwe tworzenie, edytowanie i zarządzanie treściami na stronach internetowych bez konieczności posiadania zaawansowanej wiedzy technicznej. Przykładem zastosowania Apache może być hostowanie strony internetowej stworzonej w jednym z wymienionych CMS, gdzie Apache dostarcza zasoby, a CMS zarządza treścią i logiką aplikacji. Dobrą praktyką w branży jest oddzielanie warstwy serwera od warstwy aplikacji, co pozwala na lepszą skalowalność i utrzymanie, a także na łatwiejszą aktualizację i zarządzanie bezpieczeństwem.
Pytanie 26
Podczas działania skryptu JavaScript został w konsoli wygenerowany błąd związany z działaniami na atrybucie elementu DOM. Z komunikatu wynika, że próbowano ustawić atrybut dla
A. tabeli.
B. paragrafu.
C. obrazu.
D. odnośnika.
Twoja odpowiedź była prawidłowa. Błąd 'Uncaught TypeError: Cannot set property 'src' of null' jest związany z próbą przypisania wartości do atrybutu 'src' nieistniejącego elementu DOM. Atrybut 'src' jest charakterystyczny dla elementów HTML obrazu, czyli <img>, i służy do określenia źródła obrazka. Gdy masz do czynienia z błędem tego typu, najczęściej wynika to z próby manipulacji atrybutem 'src' obrazu, który nie istnieje w strukturze DOM, co może wynikać na przykład z błędu w selektorze. Pamiętaj, że przed przypisaniem wartości atrybutu, warto upewnić się, że dany element DOM faktycznie istnieje. W przeciwnym razie, jak w tym przypadku, JavaScript zwróci błąd. Zrozumienie charakterystyki błędów i potrafiące identyfikowanie ich przyczyn jest kluczowe w procesie programowania.
Pytanie 27
W systemie baz danych MySQL komenda CREATE USER pozwala na
A. zmianę hasła dla już istniejącego użytkownika
B. stworzenie nowego użytkownika
C. stworzenie użytkownika oraz przypisanie mu uprawnień do bazy
D. zobaczenie danych o aktualnym użytkowniku
Niemniej jednak, inne wymienione odpowiedzi nie są poprawne w kontekście polecenia CREATE USER. W szczególności, polecenie to nie służy do modyfikowania haseł istniejących użytkowników. Aby zmienić hasło dla już istniejącego konta, należy użyć polecenia ALTER USER lub SET PASSWORD, które są dedykowane do tego celu. Takie podejście pozwala na bezpieczne aktualizowanie danych uwierzytelniających bez konieczności tworzenia nowego użytkownika, a także zapewnia większą kontrolę nad polityką haseł. Kolejnym niepoprawnym stwierdzeniem jest, że CREATE USER wyświetla informacje o istniejącym użytkowniku. W rzeczywistości, aby uzyskać szczegółowe informacje o użytkownikach, należy skorzystać z zapytań SELECT na tabeli mysql.user, gdzie przechowywane są dane dotyczące kont użytkowników. Polecenie CREATE USER nie ma funkcji przeglądania ani raportowania. Ostatnia fałszywa sugestia dotyczy możliwości nadania uprawnień bezpośrednio w momencie tworzenia użytkownika. Choć polecenie CREATE USER tworzy konto, to rzeczywiste przyznawanie uprawnień jest zadaniem dla polecenia GRANT, które należy uruchomić po utworzeniu konta. Tylko poprzez oddzielne nadanie uprawnień można precyzyjnie kontrolować, jakie operacje nowy użytkownik może wykonywać na danych, co jest kluczowym elementem zarządzania bezpieczeństwem w bazach danych.
Pytanie 28
W instrukcji warunkowej w języku JavaScript należy zweryfikować sytuację, w której zmienne a i b są większe od zera, przy czym zmienna b nie przekracza wartości 100. Taki warunek powinien być zapisany w następujący sposób:
A. if (a > 0 && b > 0 || b > 100) ...
B. if (a>0 || b> 0 || b > 100) ...
C. if (a>0 || (b> 0 && b<100)) ...
D. if (a > 0 && b > 0 && b < 100) ...
Warunek zapisany jako 'if (a > 0 && b > 0 && b < 100)' jest prawidłowy, ponieważ spełnia wszystkie wymagane kryteria. Składnia tego wyrażenia logicznego wskazuje, że zarówno zmienna 'a' musi być większa od zera, jak i zmienna 'b' musi być większa od zera oraz mniejsza od 100. Użycie operatora '&&' (AND) oznacza, że wszystkie warunki muszą być spełnione, aby blok kodu wewnątrz instrukcji 'if' został wykonany. To jest zgodne z najlepszymi praktykami programowania, które zalecają, aby warunki były wyraźnie zdefiniowane i logicznie powiązane, aby uniknąć nieporozumień i błędów. W praktycznych zastosowaniach, jeśli chcemy np. przyznać użytkownikowi dostęp do systemu tylko wtedy, gdy spełnione są konkretne kryteria, takie podejście zapewnia, że nasze instrukcje są wykonywane tylko w odpowiednich okolicznościach. Dodatkowo, definiując precyzyjnie nasze warunki, zwiększamy czytelność kodu, co jest kluczowe w projektach zespołowych, gdzie wiele osób może pracować nad tym samym kodem.
Pytanie 29
Zdefiniowana jest tabela uczniowie z polami id, nazwisko, imie oraz klasa. Jakie zapytanie SQL pozwoli nam uzyskać liczbę osób w danym klasa i wskazać jej nazwę?
A. SELECT SUM(id), klasa FROM uczniowie ORDER BY klasa
B. SELECT COUNT(id), klasa FROM uczniowie GROUP BY klasa
C. SELECT SUM(id), klasa FROM uczniowie GROUP BY klasa
D. SELECT COUNT(id), klasa FROM uczniowie ORDER BY klasa
Odpowiedź 'SELECT COUNT(id), klasa FROM uczniowie GROUP BY klasa;' jest prawidłowa, ponieważ wykorzystuje funkcję agregującą COUNT do zliczenia liczby uczniów w każdej klasie. Kluczowym elementem jest tutaj klauzula GROUP BY, która grupuje wyniki według kolumny 'klasa'. Dzięki temu uzyskujemy dla każdej klasy osobny wynik z liczbą uczniów. To podejście jest zgodne z dobrymi praktykami w SQL, gdzie użycie funkcji agregujących z grupowaniem pozwala na efektywne przetwarzanie danych. Przykładowo, w przypadku szkoły, taka analiza może być użyta do zarządzania zasobami lub planowania, na przykład, przy ustalaniu liczby nauczycieli potrzebnych w danej klasie. Użycie COUNT zapewnia również, że wynik będzie liczbowy, co jest istotne dla dalszej analizy danych. Warto również pamiętać, że korzystanie z odpowiednich aliasów dla wyników może poprawić czytelność wyników zapytania.
Pytanie 30
W kodzie źródłowym zapisanym w języku HTML wskaż błąd walidacji dotyczący tego fragmentu: ```
CSS
Kaskadowe arkusze stylów (ang. Cascading Style Sheets) to język służący ...```
A. Znacznik br nie może występować wewnątrz znacznika p.
B. Nieznany znacznik h6.
C. Znacznik br nie został poprawnie zamknięty.
D. Znacznik zamykający /b niezgodny z zasadą zagnieżdżania.
Twoja odpowiedź jest poprawna. Znacznik zamykający /b w badanym kodzie HTML jest niezgodny z zasadą zagnieżdżania. Zasada ta mówi, że znaczniki powinny być zamykane w odwrotnej kolejności do otwierania - zgodnie z modelem LIFO (Last In, First Out). W praktyce oznacza to, że jeśli otworzyliśmy na przykład najpierw znacznik <i>, a następnie <b>, to najpierw powinniśmy zamknąć <b>, a dopiero potem <i>. Nieprzestrzeganie tej zasady może prowadzić do nieoczekiwanych wyników podczas renderowania strony. Jest to istotne dla utrzymania czytelności i prawidłowego funkcjonowania kodu. W codziennej praktyce, szczególnie w większych projektach, stosowanie się do takich zasad pomaga utrzymać kod zrozumiałym i łatwym do zarządzania.
Pytanie 31
Jaka funkcja w PHP pozwala na wyświetlenie ciągu n znaków @?
function znaki($znak,$i++){ for($i=0;$i<$n;$i++) print($znak); } znaki(@,$n);
A
function znaki($i){ for($i=0;$i<$n;$i++) print("@"); } znaki($i);
B
function znaki($znak,$i++){ for($i=0;$i<$n;$i++) print($znak); } znaki($n);
C
function znaki($znak,$n){ for($i=0;$i<$n;$i++) print($znak); } znaki("@",$n);
D
A. D
B. A
C. C
D. B
Odpowiedź D jest prawidłowa ponieważ pokazuje właściwe zastosowanie funkcji w języku PHP aby wyświetlić ciąg n znaków @. W tej funkcji znaki podajemy dwa parametry: pierwszy określa znak do wyświetlenia w tym przypadku @ drugi liczbę powtórzeń czyli n. Funkcja wykorzystuje pętlę for aby iteracyjnie wyświetlać zadany znak dopóki licznik iteracji nie osiągnie wartości n. Przekazanie @ jako pierwszego argumentu i n jako drugiego umożliwia elastyczne i dynamiczne generowanie ciągów o żądanej długości co jest zgodne z dobrymi praktykami w programowaniu PHP. Taki sposób pisania kodu sprzyja czytelności i łatwości utrzymania co jest kluczowe w większych projektach gdzie często wymagana jest elastyczność i możliwość ponownego użycia kodu. Ponadto funkcja ta ilustruje podstawowe zasady programowania obiektowego takie jak enkapsulacja i modularność dzięki czemu kod jest łatwiejszy do zrozumienia i modyfikacji gdy zachodzi taka potrzeba. Pamiętaj że w praktycznych zastosowaniach warto używać funkcji bibliotecznych jak str_repeat które oferują podobną funkcjonalność z większą optymalizacją. Takie podejście zapewnia nie tylko poprawność działania ale także optymalizację wydajności co jest istotne szczególnie w aplikacjach o dużym obciążeniu i skali. Poprawne użycie odpowiednich funkcji i struktur danych jest kluczem do utrzymania wysokiej jakości kodu w projektach PHP.
Pytanie 32
Przy założeniu, że użytkownik nie miał wcześniej żadnych uprawnień, polecenie SQL
GRANTSELECT, INSERT, UPDATEONklienciTOanna;
nada użytkownikowi anna uprawnienia wyłącznie do
A. wybierania, wstawiania oraz aktualizacji danych w tabeli o nazwie klienci
B. wybierania, dodawania kolumn oraz zmiany struktury tabeli o nazwie klienci
C. wybierania, dodawania kolumn oraz zmiany struktury wszystkich tabel w bazie o nazwie klienci
D. wybierania, wstawiania oraz aktualizacji danych we wszystkich tabelach w bazie o nazwie klienci
Zrozumienie praw dostępu w bazach danych jest kluczowe dla bezpieczeństwa oraz efektywnego zarządzania danymi. Niepoprawne odpowiedzi często wynikają z mylącego interpretowania pojęć związanych z uprawnieniami. Na przykład, odpowiedź sugerująca, że użytkownik 'anna' ma możliwość dodawania pól w tabeli, jest błędna, ponieważ polecenie GRANT nie obejmuje uprawnień do modyfikacji struktury tabeli. Uprawnienia do dodawania kolumn (ALTER) są odrębną kategorią praw i muszą być przyznane w osobnym poleceniu. Kolejna nieprawidłowa koncepcja dotyczy rozumienia zakresu uprawnień. Odpowiedzi, które sugerują, że prawa te dotyczą wszystkich tabel w bazie danych, mylą pojęcie 'ON klienci' z szerszymi uprawnieniami, co mogłoby prowadzić do nadużyć. GRANT SELECT, INSERT, UPDATE na konkretnej tabeli 'klienci' dotyczy tylko tej tabeli, co jest zgodne z zasadą ograniczonego dostępu. Należy również pamiętać, że udzielanie zbyt szerokich uprawnień może narazić bazę danych na nieautoryzowane manipulacje, co jest sprzeczne z najlepszymi praktykami zarządzania bezpieczeństwem. W kontekście projektowania systemów bazodanowych, kluczowe jest zrozumienie oraz umiejętne zarządzanie uprawnieniami w celu zapewnienia odpowiedniego poziomu ochrony danych.
Pytanie 33
W języku PHP zapis // służy do
A. zastosowania operatora dzielenia bez reszty
B. dodawania komentarza jednoliniowego
C. dodawania komentarza wieloliniowego
D. używania tablicy superglobalnej
Znak // w języku PHP jest używany do wstawiania komentarzy jednoliniowych. Oznacza to, że wszystko, co znajduje się po tym znaku na danej linii, zostanie zignorowane przez interpreter PHP. Komentarze są istotnym elementem programowania, ponieważ umożliwiają programistom dodawanie wyjaśnień i notatek do kodu, co znacznie ułatwia jego późniejsze zrozumienie i konserwację. Przykładowo, możesz użyć komentarza jednoliniowego, aby wyjaśnić określoną funkcjonalność w kodzie: // To jest funkcja obliczająca sumę. Warto również pamiętać, że stosowanie komentarzy jest standardową praktyką w branży, która zwiększa czytelność i jakość kodu. Dobrą praktyką jest stosowanie komentarzy, aby wyjaśniać bardziej złożone fragmenty kodu, co wpływa na łatwiejsze współdzielenie pracy w zespołach programistycznych, a także na przyszłe modyfikacje kodu przez innych programistów. Warto zaznaczyć, że PHP obsługuje także komentarze wieloliniowe, które zaczynają się od /* i kończą na */. Jednak dla prostych, jednozdaniowych notatek znak // jest najbardziej odpowiedni.
Pytanie 34
Wartość atrybutu w tabeli, który pełni rolę klucza głównego
A. musi być unikalna
B. nigdy nie jest innego typu niż numeryczny
C. jest używana do szyfrowania zawartości tabeli
D. może przyjmować wartość null (NULL)
Klucz podstawowy w bazach danych to coś, co naprawdę musi być unikalne, żeby każda informacja w tabeli była dobrze zidentyfikowana. Przykładowo, w tabeli 'Klienci' mamy kolumnę 'ID_klienta'. To jest dobry klucz podstawowy, bo każdy klient musi mieć swój własny numer, żeby nie było sytuacji, gdzie dwóch klientów ma ten sam identyfikator. Gdyby klucz podstawowy był taki sam dla różnych rekordów, mogłoby to wywołać spore zamieszanie przy aktualizacjach czy usuwaniu danych. Warto też pamiętać, że są takie rzeczy jak indeksy, które mogą pomóc w zapewnieniu, że klucz podstawowy jest unikalny i przyspiesza wyszukiwanie danych. Można użyć kluczy naturalnych, które mają sens w kontekście danych, albo kluczy syntetycznych, które system tworzy sam, jak na przykład GUID-y. Z mojego doświadczenia, to znajomość tych zasad naprawdę pomaga w lepszym projektowaniu baz danych.
Pytanie 35
Co można powiedzieć o wyświetlonym przez witrynę tekście „test kolorów”?
A. Tuż po otwarciu strony kolor tekstu jest czerwony.
B. Po naciśnięciu przycisku test kolor tekstu zmienia się na czerwony.
C. Po naciśnięciu przycisku test kolor tekstu pozostaje niebieski.
D. Naciskanie przycisku test powoduje, że kolor tekstu zmienia się na przemian z niebieskiego na czerwony.
Odpowiedź jest poprawna ponieważ w kodzie HTML znajduje się element typu przycisk który po kliknięciu wykonuje akcję zmieniającą kolor tekstu w paragrafie z niebieskiego na czerwony Za pomocą atrybutu onclick przypisano do niego funkcję JavaScript documentgetElementById'p1'stylecolor'red' co oznacza że po naciśnięciu przycisku zmienia się styl koloru elementu o identyfikatorze p1 na czerwony Ta technika jest powszechnie stosowana do dynamicznej interakcji z użytkownikami na stronach internetowych Mając na uwadze dobre praktyki warto pamiętać o oddzieleniu logiki JavaScript od kodu HTML co zwiększa czytelność i utrzymanie kodu Można to osiągnąć poprzez przypisanie funkcji JavaScript w zewnętrznym pliku js co jest zgodne z zasadą oddzielania warstw logiki stylowania i struktury strony Zastosowanie JavaScript w taki sposób umożliwia dynamiczną zmianę stylów co jest istotne w kontekście tworzenia interaktywnych aplikacji webowych Tego typu manipulacje DOM są fundamentalne dla rozwoju nowoczesnych aplikacji internetowych co czyni je kluczowym elementem nauki i praktyki w zawodach związanych z programowaniem frontendowym
Pytanie 36
Jakiego zdarzenia trzeba użyć, aby funkcja JavaScript była uruchamiana za każdym razem, gdy użytkownik wprowadzi jakikolwiek znak do pola tekstowego?
A. onmouseout
B. onkeydown
C. onload
D. onclick
Odpowiedź 'onkeydown' jest w porządku! To zdarzenie działa za każdym razem, gdy ktoś naciska klawisz w polu edycyjnym. Świetnie nadaje się do monitorowania, co użytkownik wpisuje na bieżąco. Na przykład w formularzach można go użyć, żeby od razu sprawdzić, czy dane są poprawne. Dzięki temu użytkownik widzi, czy coś jest nie tak, co ogólnie poprawia użyteczność aplikacji. Poza tym, dobrym pomysłem jest nadawanie zrozumiałych nazw funkcjom, które reagują na te zdarzenia – pomaga to później w utrzymaniu kodu. Można też łączyć onkeydown z onkeyup czy onkeypress, żeby jeszcze lepiej kontrolować wprowadzane dane. To na pewno sprawi, że Twoja aplikacja będzie bardziej interaktywna.
Pytanie 37
W języku SQL zrealizowano polecenia GRANT przedstawione w ramce. Kto uzyska prawo do przeglądania oraz modyfikowania danych?
GRANT ALL ON frmy TO 'adam'@'localhost'; GRANT ALTER, CREATE, DROP ON frmy TO 'anna'@'localhost'; GRANT SELECT, INSERT, UPDATE ON frmy TO 'tomasz'@'localhost';
A. Adam oraz Anna
B. Tomasz oraz Anna
C. Jedynie Tomasz
D. Tomasz i Adam
Odpowiedź, że prawo do przeglądania i zmiany danych mają Tomasz i Adam, jest prawidłowa, ponieważ wynikają one z poleceń GRANT wykonanych w SQL. Adam otrzymuje pełne prawa do bazy danych 'frmy' dzięki komendzie 'GRANT ALL', co oznacza, że może zarówno przeglądać, jak i modyfikować wszelkie dane w tej bazie. Z kolei Tomasz, dzięki przyznanym mu uprawnieniom SELECT, INSERT i UPDATE, również ma możliwość przeglądania danych oraz ich zmiany. Ta sytuacja odzwierciedla kluczowe aspekty zarządzania uprawnieniami w systemach baz danych, gdzie precyzyjne przydzielanie ról i dostępów jest fundamentalne dla zapewnienia bezpieczeństwa i integralności danych. Praktyczne zastosowania takich operacji obejmują sytuacje, w których administratorzy baz danych muszą zróżnicować dostęp do danych w zależności od ról użytkowników, co jest zgodne z zasadami minimalnych uprawnień, które są standardem w branży IT.
Pytanie 38
W języku HTML, aby połączyć w pionie dwie sąsiadujące komórki w kolumnie tabeli, należy użyć atrybutu
A. cellspacing
B. cellpadding
C. colspan
D. rowspan
Atrybut rowspan w języku HTML jest kluczowy do scalania komórek tabeli w pionie, co oznacza, że pozwala na połączenie dwóch lub więcej komórek w jednej kolumnie w jedną, większą komórkę. Dzięki temu, można uzyskać bardziej przejrzysty i zorganizowany układ informacji w tabelach, zwłaszcza w przypadku danych, które są ze sobą powiązane. Na przykład, jeśli mamy tabelę, w której jeden z wierszy odnosi się do tytułu kategorii, a poniżej znajdują się różne elementy tej kategorii, użycie atrybutu rowspan w pierwszej komórce umożliwi jej rozszerzenie na kilka wierszy, co wizualnie połączy te dane. Standard HTML5 definiuje atrybut rowspan jako atrybut, który przyjmuje wartość liczbową, określającą liczbę wierszy, które mają zostać scalone. Przykładowy kod HTML mógłby wyglądać następująco: <table><tr><td rowspan='3'>Kategoria</td><td>Element 1</td></tr><tr><td>Element 2</td></tr><tr><td>Element 3</td></tr></table>, co w efekcie tworzy jedną komórkę o wysokości trzech wierszy oraz trzy osobne komórki w drugiej kolumnie. Użycie rowspan w praktyce jest nie tylko estetyczne, ale również poprawia czytelność danych, co jest niezmiernie ważne w interfejsach użytkownika.
Pytanie 39
Aby poprawnie udokumentować poniższą linię kodu, trzeba po znakach // dodać komentarz: ```document.getElementById("napis").innerHTML = Date(); //```
A. błędne informacje
B. wyświetlenie tekstu "Date()" w elemencie o id = napis
C. zmiana stylizacji atrybutu innerHTML
D. wyświetlenie daty i czasu w elemencie o id = napis
Odpowiedź 'wyświetlenie daty i czasu w znaczniku o id = napis' jest poprawna, ponieważ linia kodu używa metody 'getElementById', która pozwala na dostęp do elementu HTML za pomocą jego identyfikatora. W tym przypadku, 'document.getElementById("napis")' odnosi się do elementu, którego identyfikator to 'napis'. Następnie, przypisując do atrybutu 'innerHTML' wynik funkcji 'Date()', kod wstawia bieżącą datę i czas jako zawartość tego elementu. Funkcja 'Date()' zwraca aktualną datę i czas w formacie czytelnym dla użytkownika, co czyni kod użytecznym w aplikacjach internetowych, gdzie użytkownik może chcieć zobaczyć bieżący czas. W praktyce, takie podejście jest często stosowane w aplikacjach do wyświetlania informacji o czasie, na przykład w kalendarzach czy aplikacjach do planowania. Warto również dodać, że użycie 'innerHTML' do aktualizacji zawartości elementu jest zgodne z najlepszymi praktykami w JavaScript, pod warunkiem, że nie wprowadza się niebezpiecznych danych z niezaufanych źródeł, co mogłoby prowadzić do ataków typu XSS.
Pytanie 40
W języku C++ metoda, która zwraca wynik potęgowania i przyjmuje dwa argumenty: liczbę x oraz wykładnik w, powinna mieć deklarację
A. void potega(int x, int w, int wynik);
B. int potega(int x, int w);
C. int potega(int x);
D. void potega(int x, int w);
Wybrana odpowiedź 'int potega(int x, int w);' jest poprawna, ponieważ jej deklaracja jasno wskazuje, że funkcja ma zwracać wartość typu całkowitego (int) i przyjmować dwa argumenty: podstawę potęgowania (x) oraz wykładnik (w). Taki sposób definiowania funkcji pozwala na elastyczne obliczanie potęgi liczby, co jest istotne w różnych zastosowaniach programistycznych, od prostych kalkulatorów po bardziej złożone algorytmy. W praktyce, implementacja tej funkcji mogłaby wyglądać tak: 'int potega(int x, int w) { return pow(x, w); }', gdzie wykorzystuje się standardową funkcję 'pow' z biblioteki <cmath>. Zwracanie wartości jest zgodne z dobrymi praktykami programistycznymi, ponieważ pozwala na dalsze operacje na wyniku potęgowania, a także ułatwia testowanie i debugowanie kodu. Warto również zwrócić uwagę, że w przypadku potęgowania z wykładnikiem ujemnym, warto zabezpieczyć funkcję przed błędnymi danymi, co może być osiągnięte poprzez odpowiednie sprawdzenie wartości argumentów.
Strona wykorzystuje pliki cookies do poprawy doświadczenia użytkownika oraz analizy ruchu. Szczegóły
Polityka plików cookies
Czym są pliki cookies?
Cookies to małe pliki tekstowe, które są zapisywane na urządzeniu użytkownika podczas przeglądania stron internetowych. Służą one do zapamiętywania preferencji, śledzenia zachowań użytkowników oraz poprawy funkcjonalności serwisu.
Jakie cookies wykorzystujemy?
Niezbędne cookies - konieczne do prawidłowego działania strony
Funkcjonalne cookies - umożliwiające zapamiętanie wybranych ustawień (np. wybrany motyw)
Analityczne cookies - pozwalające zbierać informacje o sposobie korzystania ze strony
Jak długo przechowujemy cookies?
Pliki cookies wykorzystywane w naszym serwisie mogą być sesyjne (usuwane po zamknięciu przeglądarki) lub stałe (pozostają na urządzeniu przez określony czas).
Jak zarządzać cookies?
Możesz zarządzać ustawieniami plików cookies w swojej przeglądarce internetowej. Większość przeglądarek domyślnie dopuszcza przechowywanie plików cookies, ale możliwe jest również całkowite zablokowanie tych plików lub usunięcie wybranych z nich.