Przejdź do głównej treści

Wyniki egzaminu

Nowy egzamin

Informacje o egzaminie

  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Rozpoczęcie: 19 października 2026 07:34
  • Zakończenie: 19 października 2026 08:00 

Egzamin niezdany

Wynik: 18/40 punktów (45,0%)

Wymagane minimum: 20 punktów (50%)

Twój wynik na tle innych

Twój wynik jest lepszy niż 27% podejść do kwalifikacji INF.03.

Porównanie z 46849 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).

Zachowaj ten wynik na koncie

Załóż darmowe konto albo zaloguj się - ten egzamin przypiszemy do Twojego konta, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.

Analiza przebiegu egzaminu - sprawdź przebieg rozwiązywania pytań Przebieg egzaminu

Analiza przebiegu egzaminu

Odtwarzaj przebieg egzaminu krok po kroku i ucz się na własnych błędach - kolejność rozwiązywania, czas nad każdym pytaniem, momenty zmiany odpowiedzi.

  • Suwak czasu - przeglądaj pytania w kolejności rozwiązywania.
  • Tryb nauki - poprawne odpowiedzi i wyjaśnienia.
  • Analiza czasu - ile czasu nad każdym pytaniem.
  • Monitoring focusu - momenty opuszczenia zakładki.

Udostępnij swój wynik

Szczegółowe wyniki

Pytanie 1

W tabeli psy znajdują się kolumny: imię, rasa, telefon_właściciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby znaleźć numery telefonów właścicieli psów, które zostały zaszczepione przed 2015 rokiem?
A.
SELECT telefon_właściciela FROM psy WHERE rok_szczepienia < 2015
Twoja odpowiedź
B.
SELECT psy FROM rok_szczepienia < 2015
C.
SELECT telefon_właściciela FROM psy WHERE rok_szczepienia > 2015
D.
SELECT imię, rasa FROM psy WHERE rok_szczepienia > 2015
Poprawna odpowiedź. Wybrana odpowiedź jest poprawna, ponieważ precyzyjnie określa, jak za pomocą języka SQL można uzyskać telefony właścicieli psów, których szczepienia miały miejsce przed rokiem 2015. W poleceniu SQL używamy klauzuli SELECT, aby wybrać konkretne kolumny z tabeli. W tym przypadku interesuje nas kolumna 'telefon_wlasciciela'. Klauzula WHERE służy do filtrowania danych, co pozwala na zastosowanie warunku, który musi być spełniony, aby rekordy zostały zwrócone. Warunek 'rok_szczepienia < 2015' jest logiczny i zgodny z wymaganiami pytania. Taka konstrukcja zapytania jest zgodna z najlepszymi praktykami, ponieważ jasno określa, co chcemy uzyskać oraz jakie kryteria muszą zostać spełnione. Przykładowe zastosowanie tego typu zapytania może obejmować analizę danych dotyczących zdrowia psów, co jest istotne dla weterynarzy, hodowców czy właścicieli zwierząt. Umożliwia to podejmowanie świadomych decyzji dotyczących opieki zdrowotnej zwierząt.

Pytanie 2

Który z obrazków ilustruje efekt działania podanego fragmentu kodu HTML?
Ilustracja do pytania
Obrazek B
Obrazek C
Poprawna odpowiedź
Obrazek A
Twoja odpowiedź
Obrazek D
Niepoprawna odpowiedź. Odpowiedzi inne niż C są niepoprawne ponieważ nie uwzględniają poprawnie działania atrybutu rowspan co prowadzi do błędnego renderowania tabeli. W przypadku błędnego rozumienia atrybutu rowspan możemy obserwować sytuacje gdzie komórki tabeli są wyświetlane w niewłaściwych miejscach co może sugerować że atrybut ten jest błędnie zrozumiany jako wpływający na szerokość a nie na wysokość komórki. Często spotykanym błędem jest zakładanie że rowspan działa podobnie jak colspan co prowadzi do błędnego ułożenia komórek w tabeli. Ważne jest aby zrozumieć że rowspan definiuje ile wierszy ma zajmować dana komórka a nie ile kolumn co jest kluczowe dla prawidłowego zrozumienia układów tabelarycznych w HTML. Takie błędy mogą prowadzić do nieczytelnych i niepoprawnie zorganizowanych danych na stronie WWW co jest szczególnie problematyczne w przypadku stron które muszą być kompatybilne z różnymi urządzeniami i technologiami asystującymi. Poprawne stosowanie atrybutów rowspan i colspan jest fundamentalne dla tworzenia dostępnych i estetycznych układów tabelarycznych.

Pytanie 3

Co oznacza pojęcie integralności referencyjnej w bazie danych?
A. Baza jest odporna na awarie sprzętu i oprogramowania
B. Każdej wartości klucza obcego odpowiada istniejąca wartość klucza podstawowego
Poprawna odpowiedź
C. Wartość atrybutu należy do jego dziedziny (dozwolonego zbioru)
D. Każda encja ma klucz podstawowy o wartości unikatowej i różnej od NULL
Twoja odpowiedź
Niepoprawna odpowiedź. Pozostałe odpowiedzi opisują inne rodzaje integralności lub cechy bazy. Stwierdzenie, że wartość atrybutu należy do swojej dziedziny, to integralność dziedzinowa - dotyczy poprawnego typu i zakresu wartości w kolumnie. Odporność na awarie sprzętu i oprogramowania to zagadnienie niezawodności i bezpieczeństwa, nie spójności powiązań. Wymóg, by każda encja miała unikatowy, niepusty klucz podstawowy, to integralność encji. Integralność referencyjna dotyczy zgodności klucza obcego z istniejącym kluczem podstawowym, dlatego to ta odpowiedź jest poprawna.

Pytanie 4

W bazie danych MYSQL znajduje się tabela z programami komputerowymi, która ma pola: nazwa, producent, rokWydania. Jak należy sformułować kwerendę SELECT, aby uzyskać wszystkie nazwy producentów bez powtórzeń?
A.
SELECT producent FROM programy WHERE producent NOT DUPLICATE;
B.
SELECT DISTINCT producent FROM programy;
Twoja odpowiedź
C.
SELECT producent FROM programy WHERE UNIQUE;
D.
SELECT UNIQUE producent FROM programy;
Poprawna odpowiedź. Odpowiedź 'SELECT DISTINCT producent FROM programy;' jest w porządku. To dlatego, że kluczowe słowo DISTINCT działa tak, że zwraca tylko unikalne wartości z kolumny 'producent' w tabeli 'programy'. Jak są duże zbiory danych, to użycie DISTINCT naprawdę się przydaje, bo pozwala pozbyć się duplikatów i to później ułatwia analizę danych. Na przykład, kiedy w tabeli jest mnóstwo rekordów dla tego samego producenta, to DISTINCT zwróci tylko jeden wpis dla każdego z nich. Wiesz, to taka dobra praktyka w SQL, bo im mniej danych musisz przetwarzać, tym lepsza wydajność. I, co ciekawe, użycie DISTINCT nie obniża wydajności zapytania tak bardzo, jak niektórzy mogą myśleć, szczególnie w dobrze zindeksowanych tabelach. Warto to mieć na uwadze.

Pytanie 5

Formatowanie CSS dla akapitu określa styl szarej ramki z następującymi właściwościami:
p {
    padding: 15px;
    border: 2px dotted gray;
}
A. Linia kropkowa; grubość 2 px; odległości pomiędzy tekstem a ramką 15 px
Twoja odpowiedź
B. Linia ciągła; grubość 2 px; odległości poza ramką 15 px
C. Linia kreskowa; grubość 2 px; odległości poza ramką 15 px
D. Linia ciągła; grubość 2 px; odległości pomiędzy tekstem a ramką 15 px
Poprawna odpowiedź. Odpowiedź ta jest prawidłowa, ponieważ w CSS stylizowanie elementu akapitu za pomocą podanego kodu definiuje ramkę o linii kropkowej, grubości 2 pikseli oraz paddingu wynoszącym 15 pikseli. Padding to przestrzeń wewnętrzna pomiędzy zawartością elementu a jego ramką, co oznacza, że tekst w akapicie będzie oddalony od krawędzi ramki o 15 pikseli. Styl ramki 'dotted' jest często używany w projektach webowych, aby stworzyć efekt wizualny, który jest mniej formalny, a zarazem estetyczny. Można go wykorzystać w kontekście wyróżniania ważnych informacji lub sekcji strony, co zwiększa czytelność i przyciąga uwagę użytkowników. Przykładem zastosowania może być sekcja z informacjami o promocjach, gdzie forma wizualna ma na celu przyciągnięcie wzroku. Używając standardów CSS, dobrego podejścia do UX (User Experience) oraz wytycznych W3C, projektanci stron internetowych mogą efektywnie komunikować intencje i priorytety poprzez stylowanie wizualne.

Pytanie 6

Bitmapa to obraz:
A. rastrowy
Poprawna odpowiedź
B. interakcyjny
C. wektorowy
Twoja odpowiedź
D. analogowy
Niepoprawna odpowiedź. Pozostałe określenia nie pasują. Obraz wektorowy opisuje kształty wzorami matematycznymi (krzywe, linie), a nie pikselami. „Interakcyjny” i „analogowy” to nie są typy zapisu grafiki komputerowej. Obraz złożony z siatki pikseli to grafika rastrowa.

Pytanie 7

W języku PHP do zmiennej a przypisano tekst, w którym słowo Kowalski pojawia się wielokrotnie. Aby jednym poleceniem zamienić wszystkie wystąpienia słowa Kowalski na słowo Nowak, trzeba użyć polecenia
A.
$a = str_rep('Kowalski','Nowak',$a);
B.
$a = str_replace('Kowalski','Nowak',$a);
Twoja odpowiedź
C.
$a = str_replace('Nowak', 'Kowalski',$a);
D.
$a = str_replace('Nowak','Kowalski');
Poprawna odpowiedź. Odpowiedź jest prawidłowa, ponieważ funkcja str_replace w PHP jest przeznaczona do zastępowania wszystkich wystąpień określonego ciągu znaków innym ciągiem w danym tekście. W tym przypadku, używając str_replace('Kowalski','Nowak',$a), zmieniamy każde wystąpienie słowa 'Kowalski' na 'Nowak' w zmiennej a. Działa to dla wszystkich instancji, co czyni to podejście bardzo efektywnym w przypadkach, gdy musimy dokonać masowych zmian w tekstach. Jest to dobra praktyka, aby używać str_replace do takich operacji, ponieważ jest to funkcja wbudowana, zoptymalizowana pod kątem wydajności i czytelności kodu. Warto również pamiętać, że pierwszym parametrem jest ciąg, który chcemy zastąpić, drugim jest ciąg, na który go zamieniamy, a trzecim jest tekst, w którym dokonujemy zmiany. Zastosowanie tej funkcji jest powszechne w wielu zastosowaniach, na przykład w systemach CMS, gdzie często zachodzi potrzeba masowej edycji treści.

Pytanie 8

W języku PHP zamieszczono fragment kodu. Plik cookie utworzony przez to polecenie
setcookie("osoba", "Anna Kowalska", time()+(3600*24));
A. zostanie usunięty po jednym dniu od jego utworzenia
Poprawna odpowiedź
B. zostanie usunięty po jednej godzinie od jego utworzenia
C. będzie przechowywany na serwerze przez jeden dzień
Twoja odpowiedź
D. będzie przechowywany na serwerze przez jedną godzinę
Niepoprawna odpowiedź. 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 9

Po uruchomieniu kodu PHP
echo date("Y-m");
na ekranie pojawi się bieżąca data w formacie:
A. roku oraz miesiąca
Twoja odpowiedź
B. dnia i roku
C. dnia, miesiąca, roku
D. tylko roku
Poprawna odpowiedź. Odpowiedź 'rok i miesiąc' jest prawidłowa, ponieważ funkcja 'date' w PHP formatuje datę na podstawie podanego wzorca. W przypadku użycia wzorca 'Y-m', 'Y' oznacza pełny rok (np. 2023), a 'm' oznacza dwucyfrowy miesiąc (np. 03 dla marca). W wyniku działania 'echo date("Y-m");' na ekranie zostanie wyświetlona aktualna data w formacie YYYY-MM, co jest niezwykle przydatne w wielu aplikacjach, takich jak generowanie raportów miesięcznych, archiwizacja danych czy implementacja systemów zarządzania treścią. Użycie tego wzorca jest zgodne z najlepszymi praktykami programistycznymi, które zalecają właściwe formatowanie daty w celu jej późniejszej analizy lub prezentacji. Ponadto, umiejętność manipulacji datami w PHP jest kluczowa w kontekście tworzenia aplikacji webowych, które często wymagają interakcji z użytkownikami w czasie rzeczywistym, a także integracji z bazami danych, gdzie prawidłowe formatowanie daty ma kluczowe znaczenie dla integralności danych.

Pytanie 10

Jaką funkcję pełni instrukcja DROP w języku SQL?
A. aktualizować dane obiektu
B. zmienić właściwości obiektu
C. usunąć już istniejący obiekt
Twoja odpowiedź
D. wprowadzić nowy obiekt
Poprawna odpowiedź. Instrukcja DROP w języku SQL jest kluczowym narzędziem do zarządzania bazami danych, używaną do usuwania istniejących obiektów, takich jak tabele, widoki czy procedury składowane. Kiedy używamy polecenia DROP, nie tylko usuwamy obiekt z bazy danych, ale również wszystkie dane z nim związane, co sprawia, że operacja ta jest nieodwracalna. Przykładowo, jeśli chcemy usunąć tabelę o nazwie 'Użytkownicy', musimy użyć polecenia DROP TABLE Użytkownicy. Ważne jest, aby przed wykonaniem takiej operacji upewnić się, że dane są już zarchiwizowane lub nie są już potrzebne, ponieważ ta instrukcja nie da nam możliwości ich odzyskania po wykonaniu. W praktyce, DROP powinno być stosowane z rozwagą — zaleca się przed wykonaniem operacji wykorzystanie polecenia SELECT, aby sprawdzić, jakie dane są w danym obiekcie. Zgodnie z najlepszymi praktykami, organizacje powinny wprowadzać polityki dotyczące usuwania danych, aby zminimalizować ryzyko przypadkowej utraty ważnych informacji.

Pytanie 11

Jaki jest efekt działania programu w JavaScript?
var osoba = prompt("Podaj imię", "Adam");
A. uzyskanie z formularza wyświetlonego na stronie HTML imienia "Adam"
B. otwarcie okna z polem do edycji, w którym znajduje się domyślny tekst "Adam"
Twoja odpowiedź
C. przypisanie do zmiennej osoba wartości "Adam"
D. pojawi się okno z pustym polem do edycji
Poprawna odpowiedź. Funkcja prompt w JavaScript jest używana do wyświetlania okna dialogowego z polem edycyjnym pozwalającym użytkownikowi na wprowadzenie danych. W tym przypadku funkcja prompt przyjmuje dwa argumenty: pierwszy to komunikat wyświetlany użytkownikowi, a drugi to domyślna wartość w polu tekstowym. Kod var osoba = prompt('Podaj imię' 'Adam') otwiera okno dialogowe z tekstem Podaj imię i domyślnie wpisanym w polu tekstowym imieniem Adam. Domyślna wartość jest przydatna w sytuacjach gdzie chcemy zasugerować użytkownikowi pewne dane które mogą być dla niego odpowiednie lub często używane. Jest to wygodne rozwiązanie w aplikacjach internetowych pozwalające na szybkie i intuicyjne wprowadzanie danych przez użytkownika. Zastosowanie prompt jest przykładem interakcji między użytkownikiem a stroną internetową co jest kluczowym elementem dynamicznych aplikacji webowych. Ważne jest jednak by pamiętać że funkcja prompt może być blokowana w niektórych przeglądarkach dlatego jej użycie powinno być dobrze przemyślane i ewentualnie zastąpione bardziej nowoczesnymi rozwiązaniami takimi jak formularze HTML z odpowiednimi atrybutami i stylizacjami.

Pytanie 12

char str1[30] = 'Ala ma kota';
printf("%s", str1); 
Jakie jest źródło błędu w prezentowanym kodzie napisanym w języku C++?
A. W funkcji printf nie można używać formatowania %s.
B. Do funkcji printf przekazano za mało argumentów.
Twoja odpowiedź
C. Napis powinien mieć dokładnie 30 znaków.
D. Napis powinien być umieszczony w cudzysłowie.
Poprawna odpowiedź
Niepoprawna odpowiedź. Stwierdzenie, że do funkcji printf przekazano zbyt mało argumentów, jest błędne, ponieważ printf w tym przypadku otrzymuje jeden argument, który jest zgodny z jego prototypem. Funkcja printf przyjmuje łańcuch formatowania jako pierwszy argument, a pozostałe argumenty, które mogą być przekazane, są opcjonalne. Ponadto, pomijanie argumentów nie skutkuje błędem w kontekście tej konkretnej funkcji. Kolejne twierdzenie, że napis powinien mieć dokładnie 30 znaków, jest również mylące. W praktyce, długość napisu nie musi odpowiadać rozmiarowi tablicy, pod warunkiem, że na końcu napisu znajduje się znak null, co jest automatycznie dołączane przez kompilator przy użyciu cudzysłowów. Wreszcie, stwierdzenie, że w funkcji printf nie można stosować formatowania %s, jest fałszywe, ponieważ %s jest standardowym formatem używanym do wyświetlania łańcuchów znaków. Właściwe użycie formatów jest kluczowe w programowaniu w C/C++, a ich znajomość jest niezbędna do prawidłowego wyświetlania danych. Typowe błędy myślowe prowadzące do tych niepoprawnych wniosków obejmują nieznajomość podstaw języków C/C++ oraz niewłaściwe rozumienie zasad dotyczących łańcuchów i formatów w funkcjach wyjściowych.

Pytanie 13

Który typ danych w języku C++ ma najszerszy zakres wartości całkowitych?
A.short
B.long long
Twoja odpowiedź
C.int
D.long int
Poprawna odpowiedź. Spośród wymienionych typów całkowitych C++ najszerszy zakres ma long long (zwykle 64-bitowy). Dlatego największy zakres daje long long.

Pytanie 14

Jakie będzie wynik działania programu napisanego w JavaScript, umieszczonego w ramce, kiedy wprowadzisz wartość 5?
var n, i;
var a = 1;

n = prompt("Podaj n:", "");

for (i=n; i>=2; i--)
    a*=i;

document.write("Wynik ",a);
A. 625
B. 120
Twoja odpowiedź
C. 60
D. 125
Poprawna odpowiedź. Program jest przykładem prostego algorytmu obliczającego silnię liczby n, którą użytkownik wprowadza za pomocą funkcji prompt. Zmienna a jest inicjalizowana wartością 1 i służy do przechowywania wyniku. Pętla for rozpoczyna się od wartości n i zmniejsza wartość i do 2, za każdym razem mnożąc a przez i. Dla n=5 pętla wykona się pięć razy, obliczając kolejno 5*4*3*2*1, co daje wynik 120. Metoda document.write wyświetla wynik na stronie. Rozumienie mechanizmu działania pętli for i operatora *= jest kluczowe w zrozumieniu algorytmów obliczeniowych używanych w programowaniu JavaScript. Silnia jest podstawowym przykładem algorytmu rekurencyjnego, który można również zaimplementować za pomocą funkcji rekurencyjnej, co jest często stosowane w programowaniu funkcyjnym. Znajomość takich konstrukcji pozwala na tworzenie bardziej zaawansowanych algorytmów przetwarzania danych i optymalizację kodu, co jest cenioną umiejętnością w branży IT.

Pytanie 15

Który kod jest alternatywny do kodu zamieszczonego w ramce?
<?php
for($x = 1; $x <= 55; $x++)
{
  if($x % 2 != 0) continue;
  echo $x . " ";
}
?>
A.
for($x = 2; $x <= 56; $x += 2) {echo $x." ";}
B.
for($x = 1; $x <= 55; $x += 1) {echo $x." ";}
C.
for($x = 2; $x <= 54; $x += 2) {echo $x." ";}
Poprawna odpowiedź
D.
for($x = 1; $x <= 55; $x++) {echo $x." ";}
Twoja odpowiedź
Niepoprawna odpowiedź. Niestety, wybrałeś błędną odpowiedź. Wszystkie opcje oprócz odpowiedzi A nie są alternatywą dla kodu zawartego w ramce. Cechą wspólną dla niepoprawnych odpowiedzi jest fakt, że nie uwzględniają one aspektu parzystości liczb, na którym operują. Kod w ramce pomija liczby parzyste za pomocą instrukcji 'continue', która jest wywoływana, gdy reszta z dzielenia przez 2 jest równa 0. W odpowiedzi A, pętla jest zaprojektowana tak, że wykonuje operacje tylko na liczbach parzystych (zaczyna od 2 i zwiększa wartość o 2 za każdą iterację). Błędne odpowiedzi nie uwzględniają takiego podziału na liczby parzyste i nieparzyste, co jest kluczowym aspektem funkcjonowania kodu w ramce. Pamiętaj, że podczas analizy kodu, zwracaj uwagę na wszystkie jego aspekty, takie jak warunki, instrukcje sterujące czy operacje wykonywane na danych.

Pytanie 16

Na czym polega analiza ścieżek w testach jednostkowych?
A. na testowaniu wartości brzegowych danych
B. na badaniu inicjacji i zwalniania pamięci obiektów
Twoja odpowiedź
C. na wyznaczeniu punktu początkowego i końcowego oraz zbadaniu dróg między nimi
Poprawna odpowiedź
D. na utworzeniu kilku zbiorów danych o podobnym przetwarzaniu i przetestowaniu nimi
Niepoprawna odpowiedź. Pozostałe opisy dotyczą innych technik testowania. Testowanie wartości brzegowych sprawdza skrajne dane wejściowe. Badanie inicjacji i zwalniania pamięci to kontrola zarządzania zasobami. Tworzenie zbiorów danych o podobnym przetwarzaniu to klasy równoważności. Analiza ścieżek bada drogi między początkiem a końcem kodu.

Pytanie 17

Podane w ramce polecenie SQL nadaje prawo SELECT
GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. do wszystkich pól w tabeli hurtownia.
B. dla użytkownika 'root' na serwerze localhost.
C. dla użytkownika 'root' na serwerze sprzedawca.
D. do wszystkich tabel w bazie hurtownia.
Twoja odpowiedź
Poprawna odpowiedź. Poprawnie wychwyciłeś najważniejszy element składni: zapis hurtownia.* po słowie ON oznacza całą bazę danych o nazwie hurtownia, a nie pojedynczą tabelę. W składni GRANT w MySQL i innych systemach bazodanowych mamy kilka poziomów nadawania uprawnień: można nadać uprawnienia do całej bazy (database), do konkretnej tabeli, a nawet do pojedynczych kolumn. Kluczowe jest to, co znajduje się po słowie ON. Jeżeli podamy nazwa_bazy.* – tak jak tutaj – to uprawnienie SELECT dotyczy wszystkich tabel w tej bazie danych. Gdyby chodziło o jedną tabelę, składnia wyglądałaby np. GRANT SELECT ON hurtownia.zamowienia TO 'sprzedawca'@'localhost'; i wtedy prawo dotyczyłoby wyłącznie tabeli zamowienia.
W tym poleceniu dodatkowo jasno określony jest użytkownik: 'sprzedawca'@'localhost'. W MySQL użytkownik jest identyfikowany parą nazwa_użytkownika@host, więc nie jest to ani root, ani żaden inny login, tylko konkretny użytkownik o nazwie sprzedawca, który łączy się z serwera localhost. To jest typowy scenariusz np. dla aplikacji sprzedażowej instalowanej na tym samym serwerze co baza. Taki użytkownik często dostaje tylko SELECT do bazy hurtownia, żeby mógł odczytywać dane (np. listę produktów, stany magazynowe, historię zamówień), ale nie miał uprawnień do modyfikacji struktury bazy czy kasowania rekordów.
Moim zdaniem jest to bardzo dobra praktyka bezpieczeństwa: tworzy się osobnych użytkowników o wąskim zakresie uprawnień zamiast wszędzie używać konta root. W realnych projektach webowych, np. w PHP czy innych językach backendowych, w pliku konfiguracyjnym aplikacji podaje się właśnie takiego technicznego użytkownika, który ma GRANT SELECT (czasem też INSERT/UPDATE) tylko na jedną, konkretną bazę. Dzięki temu nawet jeśli aplikacja zostanie zhakowana, atakujący ma dużo mniejsze pole do popisu, bo nie dysponuje pełnymi uprawnieniami administracyjnymi.
Dobrze też zapamiętać, że GRANT SELECT nie daje prawa do tworzenia nowych tabel ani zmiany struktury – to są osobne uprawnienia (CREATE, ALTER, DROP). Tutaj mówimy wyłącznie o możliwości wykonywania zapytań odczytujących dane ze wszystkich tabel w bazie hurtownia, co w praktyce oznacza, że użytkownik sprzedawca może spokojnie robić SELECT * FROM jakakolwiek_tabela; pod warunkiem, że ta tabela znajduje się właśnie w tej bazie.

Pytanie 18

Którego atrybutu użyć, aby wartości w kolumnie NIE mogły się powtarzać?
A.
DEFAULT
B.
NOT NULL
C.
IDENTITY
D.
UNIQUE
Twoja odpowiedź
Poprawna odpowiedź. Atrybut UNIQUE wymusza, by wartości w kolumnie się NIE powtarzały - baza odrzuci próbę wstawienia duplikatu. Stosuje się go np. dla adresów e-mail czy numerów PESEL. Dlatego unikalność zapewnia UNIQUE.

Pytanie 19

Jak przy użyciu języka PHP można zapisać w ciasteczku wartość z zmiennej dane na okres jednego dnia?
A. setcookie("dane","dane",0)
B. setcookie("dane",$dane,time()+(3600*24))
Twoja odpowiedź
C. setcookie("dane",$dane,0)
D. setcookie("dane",$dane,time())
Poprawna odpowiedź. Odpowiedź setcookie("dane", $dane, time() + (3600 * 24)); jest prawidłowa, ponieważ wykorzystuje funkcję setcookie, która pozwala na ustawienie ciasteczka w PHP. W pierwszym argumencie podajemy nazwę ciasteczka, w drugim jego wartość, a w trzecim czasie wygaśnięcia, który jest określony jako aktualny czas (time()) plus 24 godziny w sekundach (3600 sekund w godzinie razy 24). Takie podejście zapewnia, że ciasteczko będzie dostępne przez jeden dzień, co jest zgodne z dobrymi praktykami w zakresie zarządzania stanem użytkownika. Ciasteczka są powszechnie stosowane w aplikacjach webowych do przechowywania danych użytkownika pomiędzy sesjami, co zwiększa komfort korzystania z serwisów. Przykładem może być zapisanie preferencji użytkownika lub informacji o sesji. Warto pamiętać, że przed użyciem setcookie nie może być wysłany żaden HTML, więc ta funkcja powinna być wywoływana przed jakimkolwiek innym kodem, który generuje wyjście.

Pytanie 20

W PHP zmienna typu float może przyjmować wartości
A. logiczne.
B. jedynie całkowite.
C. nieliczbowe.
D. zmiennoprzecinkowe.
Twoja odpowiedź
Poprawna odpowiedź. Odpowiedź 'zmiennoprzecinkowe' jest poprawna, ponieważ w języku PHP zmienne typu float służą do przechowywania liczb rzeczywistych, które mogą mieć część dziesiętną. W PHP typ float jest bardzo przydatny w wielu zastosowaniach, takich jak obliczenia finansowe, naukowe czy inżynieryjne, gdzie dokładność pomiarów ma kluczowe znaczenie. Przykładem może być obliczanie wartości procentowych, średnich czy skomplikowanych operacji matematycznych, w których konieczne jest uwzględnienie wartości dziesiętnych. W praktyce, aby zadeklarować zmienną typu float, wystarczy przypisać jej wartość z częścią dziesiętną, na przykład: $cena = 19.99; Warto pamiętać, że w PHP zmienne typu float mogą być nieco niedokładne na skutek sposobu przechowywania liczb w pamięci komputera, co może prowadzić do błędów zaokrągleń, dlatego w krytycznych obliczeniach zaleca się stosowanie typów precyzyjnych lub bibliotek do obliczeń matematycznych.

Pytanie 21

Baza danych księgarni ma tabelę ksiazki z polami: id, idAutor, tytul, ileSprzedanych oraz tabelę autorzy z polami: id, imie, nazwisko. Jak utworzyć raport dotyczący sprzedanych książek, który zawiera tytuły oraz nazwiska autorów?
A. stworzyć kwerendę, która wyszukuje tytuły książek
B. Ustalić relację 1..1 pomiędzy tabelami ksiazki i autorzy, a następnie stworzyć kwerendę łączącą obie tabele
Twoja odpowiedź
C. utworzyć dwie oddzielne kwerendy: pierwszą, która wyszuka tytuły książek, a drugą, która pobierze nazwiska autorów
D. Zdefiniować relację 1..n między tabelami ksiazki i autorzy, a następnie stworzyć kwerendę łączącą obie tabele
Poprawna odpowiedź
Niepoprawna odpowiedź. Podejścia polegające na tworzeniu dwóch osobnych kwerend lub definiowaniu relacji 1..1 są błędne z kilku powodów. Rekomendacja dotycząca tworzenia dwóch osobnych kwerend, z jedną dla tytułów książek i drugą dla nazwisk autorów, prowadzi do nieefektywności. Umożliwia to jedynie pobranie fragmentarycznych danych, które następnie trzeba łączyć w aplikacji lub manualnie, co zwiększa ryzyko błędów i wymaga dodatkowego wysiłku. Kwerendy są wydajniejsze w połączeniu, a ich wykonanie jest szybsze i bardziej zorganizowane. Z kolei definicja relacji 1..1 pomija fakt, że jeden autor może napisać wiele książek, co nie oddaje rzeczywistej struktury danych. Takie podejście prowadzi do niepoprawnego modelowania danych, które uniemożliwia efektywne zarządzanie informacjami o książkach i ich autorach. W praktyce, prawidłowe zdefiniowanie relacji w bazie danych jest kluczowe dla integracji danych oraz ich przyszłego wykorzystania, a także dla zapewnienia integralności referencyjnej. Dlatego też, ważne jest, aby zrozumieć zasady rządzące relacjami między tabelami oraz umiejętnie stosować złączenia w kwerendach.

Pytanie 22

Testy sprawdzające, czy aplikacja działa poprawnie w różnych architekturach serwera, konfiguracjach i środowiskach, to testy:
A. funkcjonalności
B. bezpieczeństwa
C. kompatybilności
Twoja odpowiedź
D. użyteczności
Poprawna odpowiedź. Testy sprawdzające, czy aplikacja działa poprawnie w różnych architekturach serwera, konfiguracjach i środowiskach, to testy KOMPATYBILNOŚCI (zgodności). Upewniają się, że oprogramowanie współpracuje z różnym sprzętem, systemami i przeglądarkami. Dlatego są to testy kompatybilności.

Pytanie 23

Który znacznik sekcji <head> jest wymagany w HTML5, a jego brak walidator zgłasza jako błąd?
A.
meta
Twoja odpowiedź
B.
title
Poprawna odpowiedź
C.
link
D.
style
Niepoprawna odpowiedź. Pozostałe znaczniki <head> są opcjonalne. <link> dołącza zasoby (np. CSS), <meta> podaje metadane, a <style> zawiera reguły CSS - żaden nie jest wymagany. Obowiązkowy jest <title>.

Pytanie 24

W języku JavaScript trzeba zapisać warunek, który będzie prawdziwy, gdy zmienna a będzie jakąkolwiek liczbą naturalną dodatnią (bez 0) lub zmienna b przyjmie wartość z zamkniętego przedziału od 10 do 100. Wyrażenie logiczne w tym warunku ma formę
A. (a>0) || ((b>=10) && (b<=100))
Twoja odpowiedź
B. (a>0) && ((b>=10) || (b<=100))
C. (a>0) || ((b>=10) || (b<=100))
D. (a>0) && ((b>=10) && (b<=100))
Poprawna odpowiedź. Warunek zapisany w języku JavaScript jako (a>0) || ((b>=10) && (b<=100)) jest poprawny, ponieważ spełnia wymagania dotyczące sprawdzenia, czy zmienna a jest liczbą naturalną dodatnią oraz czy zmienna b mieści się w przedziale od 10 do 100. Wyrażenie logiczne wykorzystuje operator || (alternatywa), który zwraca true, jeśli przynajmniej jeden z warunków jest spełniony. Warunek a>0 zapewnia, że zmienna a jest większa od zera, co jest zgodne z definicją liczb naturalnych dodatnich. Z kolei wyrażenie (b>=10) && (b<=100) sprawdza, czy zmienna b jest w zadanym przedziale, co jest zgodne z wymaganiami. Wartości graniczne 10 i 100 są uwzględnione dzięki operatorowi && (konjunkcja), który wymaga, aby oba warunki były prawdziwe, aby całe wyrażenie zwróciło true. W praktyce, takie podejście można wykorzystać w różnych kontekstach, np. walidacji danych wejściowych w formularzach internetowych, gdzie kluczowe jest zapewnienie, że użytkownik wprowadza poprawne wartości. Tego rodzaju wyrażenia logiczne są fundamentem programowania w JavaScript, umożliwiając tworzenie bardziej złożonych logik aplikacji. Zgodnie z dokumentacją ECMAScript, użycie operatorów logicznych jest standardowym sposobem na przetwarzanie warunków w programowaniu.

Pytanie 25

Które słowne wartości może przyjmować właściwość font-size?
A. wyłącznie small, medium, large
Twoja odpowiedź
B. tylko big i small
C. tylko small, smaller, large, larger
D.xx-small, x-small, small, medium, large, x-large, xx-large
Poprawna odpowiedź
Niepoprawna odpowiedź. Pozostałe zbiory są niepełne lub błędne. big nie jest poprawną wartością font-size. Zestaw „small, medium, large” jest zbyt wąski - pomija wartości skrajne (xx-small, xx-large itd.). Lista „small, smaller, large, larger” miesza wartości bezwzględne ze względnymi i jest niekompletna. Pełny zbiór rozmiarów bezwzględnych zawiera czwarta odpowiedź, dlatego jest poprawna.

Pytanie 26

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze
A. tr:active { background-color: Pink; }
B. td, th { background-color: Pink; }
C. tr { background-color: Pink; }
D. tr:hover { background-color: Pink; }
Twoja odpowiedź
Poprawna odpowiedź. Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek.

W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony.

Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 27

Aby w jezyku CSS ustawic czerwony kolor dla tekstu, mozna uzyc stylu:
A.
color: rgb(255,0,0);
Poprawna odpowiedź
B.
text-color: rgb(255,0,0);
C.
text-color: rgb(#FF0000);
D.
color: rgb(#FF0000);
Twoja odpowiedź
Niepoprawna odpowiedź. Latwo tu wpasc w dwie rozne pulapki. Pierwsza dotyczy nazwy wlasciwosci: text-color brzmi sensownie, ale taka wlasciwosc w CSS nie istnieje, wiec przegladarka po prostu zignoruje cala deklaracje i kolor tekstu sie nie zmieni. Barwe znakow ustawia wlasciwosc color. Druga pulapka to mieszanie zapisow koloru: rgb(#FF0000) laczy funkcje rgb() z zapisem szesnastkowym. Znak # rozpoczyna kolor w formacie hex (np. #FF0000), ktory podaje sie samodzielnie, bez rgb(). Funkcja rgb() oczekuje natomiast trzech liczb dziesietnych 0-255 oddzielonych przecinkami. Poprawnie laczy obie rzeczy tylko color: rgb(255,0,0); - wlasciwa wlasciwosc i prawidlowo zapisana funkcja rgb, gdzie 255 to pelna czerwien, a oba zera to brak zieleni i blekitu.

Pytanie 28

Jaką właściwość pola w tabeli powinno się ustawić, aby akceptowało ono wyłącznie dane liczbowe?
Ilustracja do pytania
A. Regułę sprawdzania poprawności
Twoja odpowiedź
B. Wartość domyślną
C. Maskę wprowadzania
Poprawna odpowiedź
D. Tagi inteligentne
Niepoprawna odpowiedź. Tagi inteligentne są narzędziem umożliwiającym szybki dostęp do dodatkowych funkcji lub opcji związanych z danymi w polu. Nie mają jednak zdolności do ograniczania samej zawartości pola w kontekście dozwolonych znaków. Ich rola jest raczej wspomagająca użytkownika poprzez dodawanie kontekstowych opcji, ale nie dotyczą bezpośrednio walidacji danych. Wartość domyślna to z kolei predefiniowana wartość, jaką pole przyjmuje w momencie tworzenia nowego rekordu, jednak nie wpływa na to, jakie dane użytkownik może wprowadzić. Jest użyteczna do ułatwienia tworzenia danych, ale nie służy do ograniczania formatu wprowadzanych danych. Chociaż reguła sprawdzania poprawności może być stosowana do określania, jakie dane są uznawane za poprawne, jej główną rolą jest weryfikacja już wprowadzonych danych, a nie ich formatowanie w trakcie wprowadzania. Reguły te mogą informować o błędach po wprowadzeniu danych, lecz nie zapobiegają samemu wprowadzaniu błędnych danych. Wiele osób może mylnie sądzić, że reguła sprawdzania poprawności i maska wprowadzania pełnią podobne funkcje, jednak maska działa na poziomie interfejsu wprowadzania, wymuszając określony format w czasie rzeczywistym, podczas gdy reguła działa retrospektywnie. Zrozumienie tych różnic pozwala na odpowiednie zastosowanie tych narzędzi w projektowaniu baz danych, co skutkuje lepszym zarządzaniem jakością danych oraz zwiększeniem intuicyjności interfejsu użytkownika. Stosowanie masek wprowadzania jest szczególnie korzystne w kontekście aplikacji z dużą ilością danych liczbowych, gdzie precyzja jest kluczowa, a reguły poprawności lepiej sprawdzają się w kontekście logicznych zależności pomiędzy polami danych. To rozróżnienie jest kluczowe dla osiągnięcia wysokiej jakości danych i łatwej obsługi w systemach informatycznych.

Pytanie 29

Aby udostępnić aplikację PHP w internecie, jej pliki źródłowe należy skopiować na serwer za pomocą protokołu:
A. SMTP
B. HTTP
C. NNTP
D. FTP
Twoja odpowiedź
Poprawna odpowiedź. Pliki źródłowe aplikacji wgrywa się na serwer protokołem FTP (lub jego bezpieczną odmianą SFTP), zwykle za pomocą klienta takiego jak FileZilla. Po skopiowaniu plików do katalogu serwera aplikacja staje się dostępna pod adresem WWW. Dlatego do publikacji aplikacji PHP używa się protokołu FTP.

Pytanie 30

Który z podanych znaczników HTML nie jest używany do formatowania tekstu?
A.
<strong>
B.
<sub>
C.
<div>
Twoja odpowiedź
D.
<em>
Poprawna odpowiedź. <div> jest znacznikiem HTML, który służy do grupowania elementów na stronie, co ułatwia ich stylizację i manipulację w CSS oraz JavaScript. W przeciwieństwie do znaczników takich jak <em>, <sub> i <strong>, które mają konkretne zastosowania związane z formatowaniem tekstu, <div> pełni rolę kontenera, co czyni go bardziej uniwersalnym narzędziem do strukturyzacji treści. Przykładowo, można użyć <div> do utworzenia sekcji nagłówka, stopki lub bocznego panelu na stronie. Zgodnie z standardami W3C, <div> jest elementem blokowym, co oznacza, że zajmuje całą szerokość dostępną w swoim rodzicu. W praktyce, <div> pozwala na efektywne zarządzanie układem strony i jest często stosowany w połączeniu z CSS w celu uzyskania pożądanej prezentacji wizualnej. Przykład zastosowania: <div class='container'>...</div> może być użyty do zawarcia innych elementów jak <h1>, <p> czy <img>. Dzięki temu można łatwo manipulować stylem i zachowaniem tych elementów, co czyni <div> kluczowym narzędziem w nowoczesnym web designie.

Pytanie 31

Dostępna jest tabela programisci, która zawiera pola: id, nick, ilosc_kodu, ocena. Pole ilosc_kodu wskazuje liczbę linii kodu stworzonych przez programistę w danym miesiącu. W celu obliczenia łącznej liczby linii kodu napisanych przez wszystkich programistów, należy zastosować poniższe polecenie
A.
SELECT SUM(ocena) FROM ilosc_kodu;
B.
SELECT COUNT(programisci) FROM ilosc_kodu;
C.
SELECT MAX(ilosc_kodu) FROM programisci;
D.
SELECT SUM(ilosc_kodu) FROM programisci;
Poprawna odpowiedź

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby obliczyć sumę linii kodu napisanych przez wszystkich programistów w tabeli 'programisci', poprawne jest użycie zapytania SQL: SELECT SUM(ilosc_kodu) FROM programisci. Zapytanie to wykorzystuje funkcję agregującą SUM(), która sumuje wartości w określonej kolumnie, w tym przypadku 'ilosc_kodu'. Kolumna ta zawiera liczbę linii kodu napisanych przez każdego programistę w danym miesiącu. Przykładem zastosowania tego zapytania może być sytuacja, w której chcemy określić całkowitą produktywność zespołu programistycznego w danym okresie czasu. Możemy rozszerzyć to zapytanie, dodając klauzulę WHERE, aby zsumować tylko linie kodu z określonego miesiąca lub roku. Warto również pamiętać o standardach SQL oraz zasadach normalizacji baz danych, które zalecają unikanie redundancji danych i umożliwiają efektywne przetwarzanie zapytań. Dzięki poprawnym praktykom można zapewnić optymalizację wydajności bazy danych oraz ułatwić późniejsze analizy danych.

Pytanie 32

Który z poniższych skryptów pokazuje bieżącą datę oraz czas w formacie 2024-04-14 13:45:19?
A.
<?php echo date("Ymd Gis"); ?>
B.
<?php echo date("Y-m-d G:i:s"); ?>
Poprawna odpowiedź
C.
<?php date("Y-m-d”) + time("G:i:s"); ?>
D.
<?php date("Y-m-d G:i:s"); ?>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź numer 4 jest poprawna, ponieważ używa funkcji echo do wyświetlenia wyniku funkcji date, która formatuje datę i czas w odpowiedni sposób. W tym przypadku użycie formatu Y-m-d G:i:s pozwala na wyświetlenie roku z czterema cyframi, miesiąca i dnia z dwoma cyframi oraz godziny w formacie 24-godzinnym bez wiodącego zera, a także minut i sekund z wiodącymi zerami. Funkcje PHP date i echo są standardem w języku PHP do pracy z datami i wyświetlaniem danych. Praktyczne zastosowanie tej funkcji jest szerokie, ponieważ umożliwia dynamiczne generowanie treści na stronach internetowych, takich jak wyświetlanie aktualnej daty w nagłówku strony czy w logach systemowych. Dobre praktyki sugerują, aby zawsze uwzględniać strefę czasową przy pracy z datami, co można osiągnąć za pomocą funkcji date_default_timezone_set. Dzięki temu kod będzie niezależny od ustawień serwera i zawsze dostarczał spójne wyniki. Warto również zaznaczyć, że manipulacje na datach i czasie są kluczowe w wielu aplikacjach, od rezerwacji po analizy czasu działań użytkowników.

Pytanie 33

W języku SQL przedstawiony warunek jest równoważny warunkowi
liczba >= 10 AND liczba <= 100
A. liczba LIKE '10%'
B. liczba BETWEEN 10 AND 100
Poprawna odpowiedź
C. liczba IN (10, 100)
D. NOT (liczba < 10 AND liczba > 100)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Dobra robota! Twoja odpowiedź jest na pewno poprawna. Warunek 'liczba >= 10 AND liczba <= 100' w SQL oznacza, że musimy znaleźć liczbę, która jest większa lub równa 10 i mniejsza lub równa 100. Można to również zapisać jako 'liczba BETWEEN 10 AND 100', co po prostu definiuje zakres wartości od 10 do 100, łącznie z tymi granicami. Używanie operatorów takich jak BETWEEN jest naprawdę przydatne w SQL, bo ułatwia nam życie przy pisaniu zapytań i sprawia, że łatwiej jest zrozumieć, co ten kod właściwie robi. Fajnie umieć takie rzeczy, bo to naprawdę klucz do efektywnej pracy z bazami danych.

Pytanie 34

Czego użyć, aby zbadać ROZKŁAD ILOŚCIOWY kolorów (jasności) na zdjęciu?
A. histogramu
Poprawna odpowiedź
B. desaturacji
C. rozmycia Gaussa
D. balansu kolorów

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Histogram to wykres pokazujący ROZKŁAD ILOŚCIOWY pikseli wg jasności (lub kanałów koloru) na zdjęciu - od cieni po światła. Pozwala ocenić ekspozycję i kontrast. Dlatego do badania rozkładu kolorów służy histogram.

Pytanie 35

Które dane z ośmiu rekordów wpisanych do tabeli zwierzeta zostaną wyświetlone w wyniku wykonania przedstawionej instrukcji SQL?
idrodzajimiewlascicielszczepienieopis
11FafikAdam Kowalski2016problemy z uszami
21BrutusAnna Wysocka2016zapalenie krtani
41SabaMonika Nowak2015antybiotyk
51AlmaJan KowalewskiNULLantybiotyk
62FigaroAnna KowalskaNULLproblemy z uszami
72DikaKatarzyna Kowal2016operacja
82FuksJan Nowak2016antybiotyk
SELECT imie FROM zwierzeta WHERE rodzaj = 2 AND szczepienie = 2016;
A. Fafik, Brutus, Dika, Fuks
B. Figaro, Dika, Fuks
C. Anna Kowalska, Jan Nowak
D. Dika, Fuks
Poprawna odpowiedź

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zapytanie SQL SELECT imie FROM zwierzeta WHERE rodzaj = 2 AND szczepienie = 2016; filtruje wyniki według dwóch kryteriów: rodzaj musi być równy 2 i rok szczepienia musi być 2016. W danych mamy kilka zwierząt, ale tylko Dika i Fuks spełniają oba te warunki. Dika i Fuks mają rodzaj równy 2 oraz rok szczepienia 2016, co czyni je jedynymi zwierzętami w tabeli spełniającymi te kryteria. Zrozumienie tego typu zapytań wymaga znajomości składni SQL oraz logiki warunkowej. W praktyce stosowanie filtrów WHERE to jedna z podstawowych technik selekcji danych umożliwiająca precyzyjne wyciąganie rekordów z dużych zbiorów danych. Warto również zaznaczyć, że poprawne używanie takich zapytań w pracy zawodowej jest niezbędne dla zapewnienia jakości i wydajności procesów związanych z bazami danych. Wiedza ta jest kluczowa w wielu branżach, w których przetwarzanie dużych ilości danych jest codziennością.

Pytanie 36

W języku PHP zainicjowano zmienną $a wartością '1'. Porównanie $a === $b przyjmuje wartość true w przypadku, gdy zmienna $b jest zainicjowana wartością
A. '1' lub "1"
Poprawna odpowiedź
B. 1
C. 1 lub '1'
D. *1

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W tym przykładzie kluczowe jest to, że operator === w PHP wykonuje porównanie ścisłe, czyli sprawdza jednocześnie wartość oraz typ danych. Skoro zmienna $a została zainicjowana jako '1', to jest to napis, czyli typ string, a nie liczba całkowita. Dlatego $a === $b zwróci true tylko wtedy, gdy $b też będzie napisem o dokładnie takiej samej treści. W PHP zapis '1' oraz zapis "1" oznaczają string zawierający znak 1. Różnica między apostrofami i cudzysłowami dotyczy głównie interpretacji zmiennych oraz sekwencji specjalnych w środku tekstu, ale tutaj oba zapisy dają taki sam typ i taką samą wartość. W praktyce takie rozróżnienie jest bardzo ważne np. przy obsłudze danych z formularzy, parametrów GET/POST albo wyników z API, bo wiele danych przychodzi jako tekst. Moim zdaniem warto od początku przyzwyczajać się do === zamiast ==, bo ogranicza to dziwne błędy wynikające z automatycznej konwersji typów. Dobra praktyka w PHP, szczególnie w nowszym kodzie, to jawne pilnowanie typów danych i unikanie sytuacji, gdzie język sam zgaduje, czy coś ma być liczbą, tekstem czy wartością logiczną.

Pytanie 37

Aby przenieść witrynę na serwer, można skorzystać z oprogramowania
A. Bugzilla
B. CloneZilla
C. FileZilla
Poprawna odpowiedź
D. Go!Zilla

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
FileZilla jest właściwą odpowiedzią, bo to popularny klient FTP, FTPS i SFTP używany do przesyłania plików między komputerem lokalnym a serwerem WWW. W praktyce, gdy masz gotową stronę z plikami HTML, CSS, JavaScript, obrazami albo katalogiem systemu CMS, możesz połączyć się z hostingiem, wpisać adres serwera, login, hasło oraz port, a potem przenieść pliki np. do katalogu public_html, www albo htdocs. Moim zdaniem to jedno z tych narzędzi, które warto znać nawet wtedy, gdy korzysta się z panelu hostingu, bo daje większą kontrolę nad strukturą katalogów. Dobrą praktyką jest używanie SFTP albo FTPS zamiast zwykłego FTP, ponieważ zwykły FTP przesyła dane logowania bez szyfrowania. Warto też przed wysłaniem witryny zrobić kopię zapasową, sprawdzić prawa dostępu do plików, nie nadpisywać przypadkiem plików konfiguracyjnych i upewnić się, że strona startowa ma poprawną nazwę, np. index.html lub index.php. FileZilla nie tworzy strony za nas, ale bardzo pomaga w jej wdrożeniu na serwer, czyli w etapie publikacji.

Pytanie 38

Jaką szerokość zaplanowano dla treści strony, bazując na podanej definicji CSS?
body {
  border: 2px;
  height: 600px;
  width: 560px;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
A. 560 px
Poprawna odpowiedź
B. 640 px
C. 600 px
D. 2 px

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje, udzieliłeś poprawnej odpowiedzi. W definicji CSS dla elementu body, szerokość ustawiono na 560 px. Właściwość box-sizing: border-box, gwarantuje, że szerokość ta obejmuje również obramowanie. Dlatego, w praktyce, szerokość strony pozostawiona na treść wynosi 560 px. Wartości te są bardzo ważne przy projektowaniu stron internetowych, szczególnie przy tworzeniu responsywnych layoutów, gdzie musimy precyzyjnie kontrolować szerokość i rozmieszczenie elementów. Pamiętaj, że wykorzystanie odpowiednich jednostek i precyzyjne definiowanie wymiarów jest kluczowe dla zachowania poprawnej struktury strony. Dobrym nawykiem jest również stosowanie właściwości box-sizing: border-box, która ułatwia kontrolę nad rozmiarem elementów, zwłaszcza przy komplikowanych układach strony.

Pytanie 39

Jaką wartość zobaczymy po wykonaniu poniższego kodu JavaScript?
<script>
document.write(Math.round(4.51)+Math.pow(2,3));
</script>
A. 11
B. 12
C. 13
Poprawna odpowiedź
D. 14

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W przedstawionym kodzie JavaScript użyto dwóch metod wbudowanych obiektu Math Math.round i Math.pow. Math.round zaokrągla wartość do najbliższej liczby całkowitej. W przypadku liczby 4.51 zostanie to zaokrąglone do 5 ponieważ 0.51 jest bliżej 1 niż 0. Math.pow wykonuje potęgowanie czyli podnosi liczbę do określonej potęgi. W przypadku Math.pow(2 3) mamy do czynienia z potęgowaniem 2 do potęgi 3 co jest równe 8 ponieważ 2 * 2 * 2 = 8. Następnie te dwie wartości są dodawane do siebie co daje 5 + 8 = 13. Wartość 13 jest wyświetlana na stronie za pomocą document.write co jest prostym sposobem na wypisywanie wyników w kontekście przeglądarki. W praktyce jednak korzystanie z document.write jest odradzane na rzecz bardziej nowoczesnych rozwiązań jak manipulacja DOM czy używanie innerHTML. Dzięki tym metodom możemy skutecznie zarządzać i wyświetlać dane na stronach internetowych co jest kluczowe w nowoczesnym tworzeniu stron WWW. Zrozumienie działania takich funkcji wbudowanych pozwala na efektywne rozwiązywanie problemów związanych z obliczeniami w języku JavaScript co jest bardzo przydatne w pracy programisty.

Pytanie 40

Który zapis znacznika hr jest poprawny zgodnie z walidacją HTML5?
A.
<hr>
Poprawna odpowiedź
B.
</ hr>
C.
</hr?>
D.
</ hr />

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
<hr> to element PUSTY (void), więc poprawny zapis to po prostu <hr> - bez znacznika zamykającego i bez ukośnika (w HTML5 <hr/> jest zbędny). Dlatego poprawny jest <hr>.