Pytania pomocnicze - INF.03
Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych - pytania pomocnicze rozwijające tematy z pytań egzaminacyjnych. Łącznie: 8439. Strona 105 z 116.
Czym różni się `return` od `echo` w PHP?
`return` zwraca wartość z funkcji do miejsca jej wywołania. `echo` tylko wyświetla tekst lub wynik na stronie.
Jak zapisać kwadrat liczby w PHP?
Kwadrat liczby `$a` można zapisać jako `$a * $a` albo `$a ** 2`.
Jak zapisać połowę kwadratu liczby w PHP?
Należy najpierw obliczyć kwadrat, a potem podzielić go przez 2: `$a * $a / 2`.
Dlaczego odpowiedź z `echo $a*$a/2` nie jest poprawna?
Ponieważ `echo` wyświetla wynik, ale funkcja go nie zwraca. W pytaniu występuje słowo „zwraca”, więc potrzebne jest `return`.
Co oznacza argument funkcji w PHP?
Argument to wartość przekazana do funkcji podczas jej wywołania. W zapisie `function licz($a)` argumentem jest `$a`.
Jaki wynik zwróci funkcja `licz(6)`, jeśli jej ciało to `return $a*$a/2;`?
Zwróci `18`, ponieważ `6 * 6 / 2 = 36 / 2 = 18`.
Do czego służy pseudoelement CSS ::first-letter?
Służy do nadania stylów pierwszej literze tekstu w wybranym elemencie, np. w akapicie `<p>`.
Jaki jest poprawny selektor stylizujący pierwszą literę akapitu?
Poprawny zapis to `p::first-letter`, ponieważ `::first-letter` jest pseudoelementem CSS.
Czym różni się `p::first-letter` od `p.first-letter`?
`p::first-letter` wybiera pierwszą literę akapitu. `p.first-letter` wybiera cały akapit `<p>`, który ma klasę `first-letter`.
Dlaczego zapis `p[first-letter]` nie jest poprawny dla pierwszej litery?
Zapis `p[first-letter]` oznacza selektor atrybutu, czyli wybiera element `<p>` posiadający atrybut `first-letter`. Nie odnosi się do pierwszej litery tekstu.
Czym jest pseudoelement w CSS?
Pseudoelement pozwala stylizować określoną część elementu, która nie jest osobnym znacznikiem HTML, np. pierwszą literę lub pierwszą linię tekstu.
Jaka jest różnica między `::first-letter` a `::first-line`?
`::first-letter` stylizuje pierwszą literę, a `::first-line` stylizuje całą pierwszą linię tekstu w elemencie.
Dlaczego w poprawnym zapytaniu użyto funkcji COUNT(), a nie SUM()?
`COUNT()` liczy liczbę rekordów, czyli np. liczbę uczniów. `SUM()` sumuje wartości liczbowe z kolumny, więc `SUM(id)` dodałoby numery identyfikatorów, co nie oznacza liczby osób.
Do czego służy klauzula GROUP BY w tym zapytaniu?
`GROUP BY klasa` dzieli rekordy na grupy według wartości w kolumnie `klasa`. Dzięki temu `COUNT(id)` liczy uczniów osobno dla każdej klasy.
Dlaczego odpowiedź z ORDER BY nie rozwiązuje zadania?
`ORDER BY` tylko sortuje wynik według wskazanej kolumny. Nie grupuje rekordów i nie powoduje obliczenia liczby uczniów w każdej klasie.
Czym różni się COUNT(id) od COUNT(*)?
`COUNT(*)` liczy wszystkie wiersze, a `COUNT(id)` liczy wiersze, w których `id` nie jest `NULL`. Jeśli `id` jest kluczem głównym, oba wyniki zwykle będą takie same.
Jak można nadać czytelną nazwę kolumnie z wynikiem COUNT()?
Można użyć aliasu `AS`, np. `SELECT klasa, COUNT(id) AS liczba_uczniow FROM uczniowie GROUP BY klasa;`. Dzięki temu wynikowa kolumna ma zrozumiałą nazwę.
Jak posortować wynik po nazwie klasy po wcześniejszym pogrupowaniu?
Należy użyć `GROUP BY`, a potem `ORDER BY`, np. `SELECT klasa, COUNT(id) FROM uczniowie GROUP BY klasa ORDER BY klasa;`. Grupowanie liczy osoby w klasach, a sortowanie porządkuje wynik.
Jak policzyć uczniów tylko z jednej wybranej klasy?
Można użyć warunku `WHERE`, np. `SELECT COUNT(id) FROM uczniowie WHERE klasa = '1A';`. Wtedy zapytanie zlicza tylko rekordy spełniające warunek.
Co oznacza instrukcja SELECT * FROM komputery?
Oznacza pobranie wszystkich kolumn i wszystkich rekordów z tabeli `komputery`. Znak `*` zastępuje listę wszystkich kolumn.
Do czego służy klauzula WHERE w SQL?
Klauzula `WHERE` służy do filtrowania rekordów. Dzięki niej zapytanie zwraca tylko wiersze spełniające określony warunek.
Dlaczego w poprawnej odpowiedzi użyto operatora AND?
Ponieważ komputer musi spełniać oba warunki jednocześnie: mieć procesor Intel oraz co najmniej 8 GB pamięci. Operator `AND` wymaga spełnienia wszystkich warunków.
Co oznacza warunek pamiec >= 8?
Oznacza pamięć większą lub równą 8. Spełniają go wartości 8, 16, 32 itd.
Dlaczego odpowiedź z operatorem OR jest niepoprawna?
`OR` zwróciłby rekordy spełniające przynajmniej jeden warunek. W wyniku mogłyby znaleźć się komputery bez procesora Intel albo z pamięcią mniejszą niż 8 GB.
Jaka jest różnica między pamiec < 8 a pamiec >= 8?
`pamiec < 8` wybiera komputery z pamięcią mniejszą niż 8 GB. `pamiec >= 8` wybiera komputery z pamięcią co najmniej 8 GB.
Jak zapisać warunek dla komputerów z procesorem innym niż Intel?
Można użyć operatora różności, np. `WHERE procesor <> 'Intel'` albo `WHERE procesor != 'Intel'`, zależnie od systemu SQL.
Dlaczego zmniejszenie wymiarów obrazu przyspiesza jego ładowanie?
Mniejsze wymiary oznaczają mniej pikseli do zapisania w pliku. Zwykle powoduje to mniejszy rozmiar pliku, a więc krótszy czas pobierania przez przeglądarkę.
Czy ustawienie mniejszej szerokości obrazu w CSS zmniejsza rozmiar pobieranego pliku?
Nie. CSS zmienia tylko sposób wyświetlania obrazu w przeglądarce, ale użytkownik nadal pobiera oryginalny plik z serwera.
Jakie znaczenie ma DPI obrazu na stronie WWW?
DPI ma znaczenie głównie przy druku. Na stronie WWW ważniejsze są rzeczywiste wymiary obrazu w pikselach.
Dlaczego zmiana formatu na CDR nie jest dobrym rozwiązaniem dla strony WWW?
CDR to format programu CorelDRAW, nie jest typowym formatem wyświetlanym bezpośrednio w przeglądarkach. Do WWW stosuje się m.in. JPG, PNG, SVG, WebP.
Kiedy format JPG jest dobrym wyborem na stronie internetowej?
JPG dobrze nadaje się do zdjęć i obrazów z wieloma kolorami oraz przejściami tonalnymi. Nie jest najlepszy do ikon, logo i grafik z ostrymi krawędziami.
Czy zwiększenie rozdzielczości obrazu może przyspieszyć ładowanie strony?
Nie. Zwiększenie rozdzielczości lub wymiarów zwykle zwiększa ilość danych, więc może spowolnić ładowanie.
Dlaczego nie należy zmieniać proporcji szerokości do wysokości obrazu?
Zmiana proporcji może zdeformować obraz, np. rozciągnąć lub spłaszczyć rysunek. Nie jest to metoda optymalizacji szybkości ładowania.
Czym hermetyzacja różni się od dziedziczenia?
Hermetyzacja dotyczy ukrywania danych i ograniczania dostępu do elementów klasy. Dziedziczenie polega na tworzeniu nowej klasy na podstawie już istniejącej.
Jaką rolę pełnią modyfikatory dostępu w hermetyzacji?
Modyfikatory dostępu określają, skąd można używać pól i metod klasy. Najczęściej spotykane to `private`, `protected` i `public`.
Dlaczego pola klasy często oznacza się jako private?
Pola `private` są dostępne tylko wewnątrz klasy, co chroni je przed niekontrolowaną zmianą. Dostęp do nich można zapewnić przez metody klasy.
Czym są gettery i settery?
Gettery służą do odczytywania wartości pól, a settery do ich ustawiania. Pozwalają kontrolować dostęp do danych obiektu.
Co oznacza, że metoda lub pole jest publiczne?
Element oznaczony jako `public` może być używany z dowolnego miejsca programu, jeśli istnieje dostęp do obiektu.
Dlaczego konkatenacja nie jest poprawną odpowiedzią w tym pytaniu?
Konkatenacja oznacza łączenie tekstów, np. napisów znakowych. Nie dotyczy ograniczania dostępu do pól ani metod klasy.
Na czym polega polimorfizm w programowaniu obiektowym?
Polimorfizm pozwala używać tego samego interfejsu lub metody dla obiektów różnych klas. Nie oznacza jednak ukrywania pól i metod.
Co oznacza komunikat „Trying to access array offset on value of type null” w PHP?
Oznacza próbę odczytania elementu tablicy z wartości, która jest `null`. PHP nie może użyć klucza lub indeksu na zmiennej, która nie jest tablicą.
Czym jest offset tablicy w PHP?
Offset to indeks liczbowy lub klucz tekstowy wskazujący konkretny element tablicy, np. `$tab[0]` albo `$user['name']`.
Dlaczego odwołanie do wyniku zapytania SQL może powodować taki błąd?
Jeśli zapytanie nie zwróci żadnego rekordu, funkcja pobierająca dane może zwrócić `null` lub `false`. Próba odczytu np. `$wiersz['id']` spowoduje wtedy błąd.
Jak sprawdzić, czy element tablicy istnieje przed jego użyciem?
Można użyć `isset($tablica['klucz'])`, `array_key_exists('klucz', $tablica)` albo sprawdzić dodatkowo, czy zmienna jest tablicą funkcją `is_array()`.
Jaka jest różnica między błędem niezadeklarowanej zmiennej a błędem offsetu tablicy?
Niezadeklarowana zmienna oznacza, że zmienna nie została wcześniej utworzona. Błąd offsetu oznacza, że próbujemy odczytać element tablicy z wartości, która nie jest poprawną tablicą albo nie ma danego klucza.
Jak operator `??` pomaga uniknąć błędów przy odczycie tablicy?
Operator `??` zwraca wartość domyślną, jeśli element tablicy nie istnieje lub ma wartość `null`, np. `$imie = $dane['imie'] ?? 'brak';`.
Do czego służy program FileZilla w pracy nad stroną internetową?
FileZilla służy głównie do przesyłania plików między komputerem lokalnym a serwerem. Dzięki temu można opublikować stronę internetową na hostingu.
Na czym polega publikacja strony internetowej za pomocą FileZilli?
Publikacja polega na wgraniu plików strony, np. HTML, CSS, JavaScript, obrazów i skryptów PHP, na serwer WWW. Po przesłaniu plików strona może być dostępna pod adresem domeny.
Jakie dane są zwykle potrzebne do połączenia z serwerem w FileZilli?
Najczęściej potrzebne są: adres hosta, nazwa użytkownika, hasło oraz numer portu. Dane te otrzymuje się zwykle od dostawcy hostingu.
Czy FileZilla służy do sprawdzania poprawności kodu strony?
Nie. FileZilla nie jest walidatorem HTML ani narzędziem do analizy kodu. Do sprawdzania poprawności strony używa się np. walidatora W3C lub narzędzi deweloperskich przeglądarki.
Czy FileZilla kompiluje skrypty strony internetowej?
Nie. FileZilla tylko przesyła pliki na serwer lub z serwera. Nie kompiluje kodu ani nie wykonuje skryptów.
Jaka jest różnica między lokalną a zdalną stroną w FileZilli?
Strona lokalna to pliki znajdujące się na komputerze użytkownika. Strona zdalna to pliki znajdujące się na serwerze hostingowym.
Jakie protokoły może obsługiwać FileZilla przy przesyłaniu plików?
FileZilla obsługuje między innymi FTP, FTPS i SFTP. W praktyce bezpieczniejsze są FTPS i SFTP, ponieważ umożliwiają szyfrowane przesyłanie danych.
Dlaczego wartość z pola formularza trzeba często konwertować w JavaScript?
Wartości pobrane z pól formularza są zwykle tekstem. Aby wykonać poprawne obliczenia matematyczne, trzeba je zamienić na typ liczbowy.
Co zwraca funkcja parseFloat()?
Zwraca liczbę zmiennoprzecinkową odczytaną z podanej wartości. Jeśli konwersja jest niemożliwa, zwraca `NaN`.
Czym różni się parseFloat() od parseInt()?
`parseFloat()` odczytuje liczbę z częścią ułamkową, np. `12.5`. `parseInt()` odczytuje liczbę całkowitą i pomija część po przecinku lub kropce.
Jaki typ danych mają liczby w JavaScript?
W JavaScript podstawowym typem dla liczb jest `number`. Obejmuje on zarówno liczby całkowite, jak i zmiennoprzecinkowe.
Co oznacza wartość NaN w JavaScript?
`NaN` oznacza „Not a Number”, czyli wynik operacji, która miała dać liczbę, ale nie mogła zostać poprawnie wykonana.
Czy input typu number automatycznie daje w JavaScript liczbę?
Nie zawsze. Przy odczycie przez właściwość `value` otrzymuje się tekst, dlatego często stosuje się `parseFloat()`, `parseInt()` albo `Number()`.
Co oznacza selektor h1 w CSS?
Selektor `h1` wybiera wszystkie elementy `<h1>` w dokumencie HTML, czyli nagłówki pierwszego poziomu.
Do czego służy pseudoelement ::first-letter?
`::first-letter` służy do stylowania pierwszej litery tekstu w wybranym elemencie, np. pierwszej litery nagłówka lub akapitu.
Jaka jest różnica między ::first-letter a ::first-line?
`::first-letter` dotyczy tylko pierwszej litery tekstu, natomiast `::first-line` dotyczy pierwszej linii tekstu widocznej w elemencie.
Co zrobi zapis h1::first-letter { color: red; }?
Ustawi czerwony kolor tylko dla pierwszej litery każdego nagłówka `<h1>`.
Czy color: red zastosowane w h1::first-letter zmieni kolor całego nagłówka?
Nie. Ponieważ użyto pseudoelementu `::first-letter`, kolor zostanie zastosowany tylko do pierwszej litery nagłówka.
Który znacznik HTML oznacza nagłówek drugiego poziomu?
Nagłówek drugiego poziomu oznacza się znacznikiem `<h2>`, a nie `<h1>`.