Pytania pomocnicze - INF.03
Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Pytania pomocnicze rozwijające tematy z pytań egzaminacyjnych. Każde pytanie ma krótką odpowiedź, która pomaga utrwalić wiedzę i przygotować się do egzaminu. Łącznie: 6221.
Strona 55 z 81.
Jak zapisać w JavaScript warunek sprawdzający, czy liczba należy do przedziału otwartego?
Należy połączyć dwa porównania operatorem `&&`, np. `a > 0 && a < 100`. Przedział otwarty nie obejmuje wartości granicznych.
Czym różni się operator `&&` od operatora `||` w JavaScript?
`&&` wymaga, aby wszystkie warunki były prawdziwe. `||` wymaga, aby prawdziwy był przynajmniej jeden warunek.
Dlaczego w tym zadaniu poprawny jest operator `&&`, a nie `||`?
Trzeba jednocześnie spełnić trzy warunki: `a > 0`, `a < 100` oraz `b > 0`. Operator `||` dopuściłby przypadki, w których spełniona jest tylko część warunków.
Co oznacza zapis przedziału `(0, 100)`?
Oznacza przedział otwarty, czyli liczby większe od 0 i mniejsze od 100. Wartości 0 i 100 nie należą do tego przedziału.
Jak zmieniłby się warunek, gdyby przedział miał być domknięty `[0, 100]`?
Należałoby użyć operatorów `>=` oraz `<=`: `a >= 0 && a <= 100`. Wtedy wartości 0 i 100 byłyby dozwolone.
Jaką rolę pełnią nawiasy w złożonych warunkach logicznych?
Nawiasy określają kolejność obliczania warunków i poprawiają czytelność kodu. Są szczególnie ważne, gdy łączy się operatory `&&` i `||`.
Jak podzielić kod heksadecymalny koloru na składowe RGB?
Kod w postaci `#RRGGBB` dzieli się na trzy pary znaków: `RR` dla czerwonego, `GG` dla zielonego i `BB` dla niebieskiego.
Jak zamienić liczbę szesnastkową na dziesiętną?
Każdą cyfrę mnoży się przez odpowiednią potęgę liczby 16. Dla dwóch znaków, np. `FE`, obliczamy `15 × 16 + 14 = 254`.
Dlaczego wartość `FE` w kodzie koloru oznacza 254?
W systemie szesnastkowym `F` ma wartość 15, a `E` ma wartość 14. Dlatego `FE` to `15 × 16 + 14`, czyli `254`.
Jaki zakres wartości mają składowe RGB?
Każda składowa RGB ma zwykle zakres od `0` do `255`. Wynika to z zapisu jednej składowej na 8 bitach.
Dlaczego odpowiedzi zawierające `FE` w funkcji rgb() są błędne?
Funkcja `rgb()` wymaga wartości dziesiętnych, a `FE` jest zapisem szesnastkowym. Trzeba je przeliczyć na `254`.
Czym różni się zapis `#1510FE` od `rgb(21,16,254)`?
Oba zapisy oznaczają ten sam kolor, ale pierwszy używa systemu szesnastkowego, a drugi dziesiętnych wartości składowych RGB.
Jaka jest największa wartość jednej składowej w zapisie heksadecymalnym koloru?
Największa wartość jednej składowej to `FF`, czyli `255` w systemie dziesiętnym.
Do czego służy funkcja prompt() w JavaScript?
Funkcja `prompt()` wyświetla okno dialogowe z polem do wpisania wartości. Zwraca tekst wpisany przez użytkownika albo `null`, jeśli użytkownik anuluje okno.
Jaka jest różnica między prompt() a alert()?
`prompt()` pobiera dane od użytkownika i zwraca wpisaną wartość. `alert()` tylko wyświetla komunikat i nie służy do pobierania danych.
Dlaczego poprawna odpowiedź używa operatora przypisania =?
Operator `=` zapisuje wynik działania `prompt()` do zmiennej. Dzięki temu wpisaną wartość można później wykorzystać, np. wypisać ją na stronie.
Dlaczego w tym kodzie użyto operatora +?
Operator `+` łączy tekst `"Kwalifikacja: "` z wartością zmiennej `A`. Jest to konkatenacja, czyli łączenie stringów.
Dlaczego zapis "Kwalifikacja: ".A jest błędny?
Kropka `.` służy w JavaScript do odwoływania się do właściwości lub metod obiektu, a nie do łączenia tekstu ze zmienną. Do połączenia tekstu i zmiennej należy użyć `+`.
Co zrobi instrukcja document.write()?
`document.write()` wypisze przekazany tekst lub HTML bezpośrednio w dokumencie strony. W tym przypadku wyświetli napis z wartością podaną przez użytkownika.
Co zostanie wyświetlone, jeśli użytkownik wpisze w oknie prompt wartość INF.03?
Na stronie pojawi się tekst `Kwalifikacja: INF.03`, ponieważ wpisana wartość zostanie zapisana w zmiennej i dołączona do napisu.
Do czego służy konstruktor w klasie?
Konstruktor służy głównie do inicjalizacji pól obiektu, czyli nadania im wartości początkowych podczas tworzenia obiektu.
Kiedy wywoływany jest konstruktor?
Konstruktor wywoływany jest automatycznie w momencie tworzenia nowego obiektu danej klasy, najczęściej za pomocą operatora `new`.
Czym różni się konstruktor od zwykłej metody?
Zwykłą metodę wywołuje się ręcznie na obiekcie, natomiast konstruktor uruchamia się automatycznie podczas tworzenia obiektu.
Czym różni się konstruktor od destruktora?
Konstruktor działa przy tworzeniu obiektu i inicjalizuje jego stan. Destruktor jest wywoływany przy niszczeniu obiektu lub zwalnianiu zasobów.
Co oznacza inicjalizacja pól obiektu?
Inicjalizacja pól oznacza przypisanie im wartości początkowych, np. ustawienie imienia użytkownika, ceny produktu albo identyfikatora rekordu.
Jak nazywa się konstruktor w PHP?
W PHP konstruktorem jest specjalna metoda `__construct()`, umieszczana wewnątrz klasy.
Jak nazywa się konstruktor w JavaScript?
W klasach JavaScript konstruktorem jest metoda `constructor()`, wywoływana automatycznie przy tworzeniu obiektu przez `new`.
Co oznacza zapis `$a / 2` w PHP?
Oznacza podzielenie wartości zmiennej `$a` przez 2, czyli obliczenie połowy tej wartości.
Jak zapisać w PHP sumę połowy zmiennej `$a` i połowy zmiennej `$b`?
Należy zapisać `$a / 2 + $b / 2`. Dla czytelności można użyć nawiasów: `($a / 2) + ($b / 2)`.
Dlaczego odpowiedź `$a / 2 + $b` nie spełnia warunku zadania?
Ponieważ dzieli przez 2 tylko zmienną `$a`, a zmienna `$b` jest dodawana w całości.
Czym różni się wyrażenie `$a / 2 + $b / 2` od `($a / 2 + $b) / 2`?
Pierwsze dodaje połowę `$a` i połowę `$b`. Drugie najpierw dodaje połowę `$a` oraz całe `$b`, a potem dzieli wynik przez 2.
Jaką rolę pełni instrukcja `return` w funkcji PHP?
Instrukcja `return` kończy działanie funkcji i zwraca obliczoną wartość do miejsca, w którym funkcja została wywołana.
Czy nawiasy są potrzebne w wyrażeniu `$a / 2 + $b / 2`?
Nie są konieczne, ponieważ dzielenie ma wyższy priorytet niż dodawanie. Nawiasy mogą jednak poprawić czytelność kodu.
Czym różni się zdarzenie keydown od keyup?
`keydown` jest wywoływane podczas wciśnięcia klawisza klawiatury. `keyup` jest wywoływane dopiero wtedy, gdy użytkownik zwolni klawisz.
Czy onkeydown dotyczy myszy?
Nie. `onkeydown` dotyczy klawiatury. Zdarzenia myszy to między innymi `onclick`, `onmousedown` i `onmouseup`.
Jak najlepiej obsługiwać zdarzenie keydown we współczesnym JavaScript?
Najczęściej używa się metody `addEventListener("keydown", funkcja)`, ponieważ pozwala ona wygodnie przypisywać obsługę zdarzeń do elementów DOM.
Do czego służy obiekt event w obsłudze zdarzenia klawiatury?
Obiekt `event` zawiera informacje o zdarzeniu, np. który klawisz został naciśnięty. Można odczytać to przez właściwość `event.key`.
Co się stanie, gdy użytkownik przytrzyma klawisz przy zdarzeniu keydown?
Zdarzenie `keydown` może być wywoływane wielokrotnie, ponieważ system operacyjny zwykle powtarza sygnał naciśniętego klawisza.
Jaka jest różnica między onkeydown a onclick?
`onkeydown` reaguje na wciśnięcie klawisza klawiatury. `onclick` reaguje na kliknięcie elementu, najczęściej przyciskiem myszy.
Dlaczego zapis <br> jest błędny w XHTML?
W XHTML każdy element musi być zamknięty. Znacznik przełamania linii powinien mieć postać <br /> albo <br></br>.
Czym różni się HTML od XHTML pod względem składni?
XHTML stosuje reguły XML, więc wymaga dokładniejszej składni: zamykania znaczników, poprawnego zagnieżdżenia i zapisu atrybutów w cudzysłowach.
Czy w HTML istnieje nagłówek szóstego poziomu?
Tak. Element <h6> jest poprawnym nagłówkiem szóstego poziomu, najniższym w hierarchii nagłówków HTML.
Czy znacznik <b> może znajdować się wewnątrz znacznika <p>?
Tak. Element <b> jest elementem liniowym/tekstowym i może być używany wewnątrz akapitu <p>.
Czy znaczniki w XHTML powinny być pisane dużymi literami?
Nie. W XHTML standardowo stosuje się małe litery, ponieważ składnia oparta na XML rozróżnia wielkość liter.
Co oznacza, że dokument XHTML jest poprawnie zagnieżdżony?
Znaczniki muszą być zamykane w odwrotnej kolejności do otwierania. Nie wolno krzyżować elementów, np. <p><b>tekst</p></b> jest błędne.
Jak poprawić fragment XHTML zawierający <br>?
Należy zamienić <br> na <br />. Dzięki temu pusty element zostaje poprawnie zamknięty zgodnie z zasadami XHTML.
Do czego służy klucz podstawowy w tabeli SQL?
Klucz podstawowy jednoznacznie identyfikuje każdy rekord w tabeli. Dzięki niemu można odróżnić jeden wiersz od drugiego.
Czy kolumna będąca kluczem podstawowym może zawierać wartość NULL?
Nie. Klucz podstawowy musi mieć zawsze określoną wartość, dlatego nie może przyjmować wartości NULL.
Jaka jest różnica między PRIMARY KEY a UNIQUE?
`PRIMARY KEY` oznacza główny identyfikator rekordu w tabeli i nie dopuszcza NULL. `UNIQUE` jedynie wymusza unikalność wartości w kolumnie lub kolumnach.
Czy tabela może mieć więcej niż jeden klucz podstawowy?
Nie. Tabela może mieć tylko jeden klucz podstawowy, ale ten klucz może składać się z kilku kolumn.
Czym jest złożony klucz podstawowy?
To klucz podstawowy utworzony z więcej niż jednej kolumny. Unikalna musi być wtedy cała kombinacja wartości tych kolumn.
Czy AUTO_INCREMENT oznacza to samo co PRIMARY KEY?
Nie. `AUTO_INCREMENT` automatycznie nadaje kolejne wartości liczbowe, a `PRIMARY KEY` określa klucz podstawowy. Często używa się ich razem, ale pełnią różne funkcje.
Dlaczego haseł użytkowników nie należy zapisywać w bazie danych w postaci jawnej?
W przypadku wycieku bazy danych hasła byłyby od razu widoczne dla osoby nieuprawnionej. Zapisanie hasha utrudnia odczytanie rzeczywistego hasła.
Czym różni się haszowanie od szyfrowania?
Haszowanie jest jednokierunkowe: z hasha nie powinno się odtwarzać danych wejściowych. Szyfrowanie jest odwracalne, jeśli posiada się odpowiedni klucz.
Co oznacza, że funkcja mieszająca jest jednokierunkowa?
Oznacza to, że łatwo obliczyć hash z hasła, ale bardzo trudno odtworzyć hasło na podstawie samego hasha.
Dlaczego MD5 i SHA1 nie są zalecane do przechowywania haseł?
Są zbyt szybkie i podatne na ataki słownikowe oraz brute force. Do haseł stosuje się algorytmy takie jak bcrypt, Argon2 lub PBKDF2.
Do czego służy sól w haszowaniu haseł?
Sól to losowy dodatek do hasła przed haszowaniem. Utrudnia użycie gotowych tablic haseł, np. rainbow tables.
Jak w PHP poprawnie zapisać hash hasła?
Najlepiej użyć funkcji password_hash(), np. password_hash($haslo, PASSWORD_DEFAULT). Funkcja automatycznie dobiera bezpieczny algorytm i zapisuje potrzebne parametry.
Jak w PHP sprawdzić, czy wpisane hasło pasuje do zapisanego hasha?
Służy do tego funkcja password_verify($haslo, $hash). Porównuje ona wpisane hasło z zapisanym wcześniej hashem.
Czym różni się formularz sterujący od zwykłego formularza bazy danych?
Zwykły formularz służy głównie do przeglądania, dodawania lub edycji danych. Formularz sterujący pełni funkcję menu i umożliwia przechodzenie do innych formularzy, kwerend lub raportów.
Jaką funkcję pełni formularz sterujący w Microsoft Access?
W Microsoft Access formularz sterujący ułatwia obsługę bazy danych przez użytkownika. Może zawierać przyciski otwierające formularze, raporty lub uruchamiające kwerendy.
Dlaczego formularz sterujący poprawia użyteczność aplikacji bazodanowej?
Użytkownik nie musi samodzielnie wyszukiwać obiektów bazy danych w panelu nawigacji. Wszystkie najważniejsze funkcje ma dostępne z jednego, przejrzystego ekranu.
Czym jest formularz zagnieżdżony?
Formularz zagnieżdżony to formularz umieszczony wewnątrz innego formularza. Często pokazuje dane powiązane, np. pozycje zamówienia dla wybranego klienta.
Jakie elementy można umieścić na formularzu sterującym?
Najczęściej umieszcza się przyciski poleceń, etykiety, grafiki i elementy nawigacyjne. Przyciski mogą otwierać formularze, raporty, kwerendy lub wykonywać makra.
Czy formularz sterujący przechowuje dane?
Zwykle nie jest tworzony po to, aby bezpośrednio przechowywać dane. Jego głównym zadaniem jest sterowanie aplikacją i ułatwianie nawigacji.