Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 11 sierpnia 2026 12:14
  • Data zakończenia: 11 sierpnia 2026 12:21

Egzamin niezdany

Wynik: 3/40 punktów (7,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Fragment kodu w języku PHP ma następującą postać: Zakładając, że zmienne: a, b, c przechowują wartości numeryczne, wynikiem działania warunku będzie wypisanie liczby

if ($a > $b && $a > $c)   echo $a;
else if ($b > $c)   echo $b;
else   echo $c;
A. największej.
B. nieparzystej.
C. najmniejszej.
D. parzystej.
Dobrze zrozumiałeś działanie warunków logicznych w języku PHP! Fragment kodu prezentowany na zdjęciu rzeczywiście wypisuje wartość największej zmiennej. Jest to wynik skumulowanego działania kilku warunków if oraz else if, które porównują wartości zmiennych a, b, c. Najpierw, warunek sprawdza, czy zmienna a jest większa od pozostałych. Jeśli tak, wartość a jest wypisywana. Jeżeli nie, przechodzi do kolejnego warunku, gdzie sprawdza, czy b jest większe od c. Jeżeli tak, wypisuje b, jeżeli nie - wypisze c. W ten sposób kod zawsze wypisze największą wartość. Zrozumienie tej logiki jest kluczowe w programowaniu, szczególnie w kontekście operacji porównania, które są podstawą wielu bardziej skomplikowanych algorytmów. To ważny fragment wiedzy, który pomaga w budowaniu efektywnych i optymalnych rozwiązań kodowych.

Pytanie 2

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. aside {float: left; }
B. nav { float: left; } aside { float: left; }
C. nav { float: right; } section { float: right; }
D. nav { float: right; }
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa float, a nie tylko samo skojarzenie, że „left to lewo, right to prawo”. Wiele osób myśli, że wystarczy ustawić jeden element na lewo, drugi na prawo i wszystko magicznie się poukłada. W praktyce przeglądarka trzyma się bardzo konkretnych reguł: najpierw liczy kolejność elementów w HTML, potem dopiero stosuje float i układa je możliwie jak najwyżej i jak najbliżej odpowiedniej krawędzi.

Jeśli nada się float tylko dla aside albo tylko dla nav, to zmienia się ich pozycja, ale układ trzech bloków nie spełni warunku z zadania: aside i nav nie zamienią się miejscami z pozostawieniem section w środku. Przykładowo, samo float: left na aside niczego nie „zamieni”, bo element i tak pojawia się jako pierwszy w kodzie, więc będzie u góry, tylko że „przyklejony” do lewej. Z kolei ustawienie nav na prawą stronę bez odpowiedniego floatowania section prowadzi do sytuacji, gdzie section nadal zachowuje się jak normalny blok, zwykle ląduje pod elementami pływającymi albo obok nich w sposób mało przewidywalny dla początkującego.

Częsty błąd myślowy polega też na tym, że ktoś próbuje wszystkim elementom dać float: left, licząc na to, że przeglądarka „ułoży je po swojemu”. Wtedy jednak wszystkie te bloki ustawiają się w jednym kierunku, w kolejności z HTML, więc nie ma mowy o świadomym „zamienianiu miejsc”. Brak zrozumienia, że float wyjmuje element z normalnego przepływu i wpływa na to, jak kolejne elementy zawijają się wokół niego, prowadzi właśnie do takich błędnych odpowiedzi. Z mojego doświadczenia lepiej jest najpierw narysować sobie prosty schemat: w jakiej kolejności idą znaczniki i które z nich mają pływać w prawo, a które zostać w naturalnym układzie. Dopiero wtedy dobiera się konkretne deklaracje CSS. Takie myślenie przydaje się nie tylko przy float, ale też przy nauce flexboxa czy grida, gdzie kolejność w DOM i własności układu też grają ogromną rolę.

Pytanie 3

Który typ danych zastosować, aby pole w bazie danych przechowywało liczby zmiennoprzecinkowe?

A.
VARCHAR
B.
INT
C.
CHAR
D.
FLOAT
Liczby zmiennoprzecinkowe (rzeczywiste, z częścią ułamkową) przechowuje w bazie typ FLOAT, np. ceny czy wyniki pomiarów. Dlatego do takich wartości stosuje się FLOAT.

Pytanie 4

Funkcją przedstawionego kodu PHP będzie wypełnienie tablicy

$tab = array();
for ($i = 0; $i < 10; $i++) {
    $tab[$i] = rand(-100, 100);
}

foreach ($tab as $x) {
    if ($x < 0) echo "$x ";
}
A. 10 losowymi wartościami, a następnie wypisanie wartości ujemnych
B. 100 losowymi wartościami, a następnie wypisanie wartości dodatnich
C. Kolejnymi liczbami od 0 do 9 i wypisanie ich
D. Kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych
Kod w języku PHP użyty w pytaniu generuje tablicę o rozmiarze 10, wypełniając ją losowymi wartościami w zakresie od -100 do 100. Służy do tego funkcja rand(), która generuje liczby pseudolosowe. Następnie kod przechodzi przez każdą wartość tablicy przy użyciu pętli foreach i sprawdza czy wartość jest mniejsza od zera. Jeśli tak, wyświetla ją na ekranie za pomocą funkcji echo. To podejście pozwala na łatwe filtrowanie i wyświetlanie tylko tych wartości, które spełniają określone kryteria, co jest częstą praktyką w analizie danych. Przykładowe zastosowania tego rodzaju kodu można spotkać w systemach, które wymagają analizy danych statystycznych, takich jak badanie trendów w danych finansowych czy analizie wyników testów. Standardy programistyczne sugerują, aby kod był czytelny i dobrze udokumentowany, co zwiększa jego zrozumiałość i ułatwia późniejszą konserwację. Podczas pracy z funkcją rand() pamiętaj, że generowane liczby są pseudolosowe, co oznacza, że przy każdym uruchomieniu tego samego skryptu wyniki mogą się różnić. Prawidłowe użycie pętli i instrukcji warunkowych jest kluczowe w efektywnym przetwarzaniu danych w języku PHP.

Pytanie 5

Na podstawie relacji przedstawionej na ilustracji, można stwierdzić, że jest to relacja

Ilustracja do pytania
A. jeden do wielu, gdzie kluczem obcym jest pole w tabeli kadra
B. jeden do jednego, gdzie obie tabele mają przypisane klucze obce
C. wiele do wielu pomiędzy kluczami głównymi obu tabel
D. jeden do wielu, gdzie kluczem obcym jest pole w tabeli uslugi
Odpowiedzi błędne opierają się na niewłaściwym zrozumieniu relacji w bazach danych. Pierwsza z błędnych koncepcji sugeruje relację jeden do wielu, gdzie kluczem obcym jest pole w tabeli kadra, co jest odwrotne do przedstawionej struktury, gdyż w rzeczywistości pole kadra_id znajduje się w tabeli uslugi, wskazując na tabelę kadra. Relacja jeden do jednego, w której obie tabele mają klucze obce, oznaczałoby, że każdy rekord w jednej tabeli jest ściśle powiązany z jednym rekordem w drugiej, co nie jest przypadkiem dla tych danych. Takie podejście zwykle stosuje się, gdy tabele przechowują różne aspekty tego samego podmiotu, co nie jest odzwierciedlone na diagramie. Relacja wiele do wielu między kluczami głównymi obu tabel wymagałaby użycia dodatkowej tabeli łączącej, co umożliwiałoby powiązanie wielu rekordów każdej z tabel z wieloma rekordami drugiej, co również nie jest przedstawione tutaj. Typową pomyłką przy analizie tego typu relacji jest nieuwzględnienie struktury kluczy obcych i ich roli w łączeniu danych poprzez zrozumienie ich jako jedynie strukturalne powiązania, zamiast narzędzi umożliwiających integralność i spójność danych w bazie. Ważne jest, aby zawsze analizować kierunek relacji i rolę kluczowych pól w kontekście aplikacji i modelu danych, co zapobiega błędnym interpretacjom i wspiera prawidłowe projektowanie bazy danych, zgodnie z jej wymaganiami funkcjonalnymi i wydajnościowymi.

Pytanie 6

Jaką rozdzielczość ma standard HDTV (Full HD)?

A. 1280×1024 px
B. 720×480 px
C. 1920×1080 px
D. 704×576 px
Pozostałe rozdzielczości to inne standardy. 704 × 576 i 720 × 480 to jakość SD (telewizja standardowa, DVD), a 1280 × 1024 to format komputerowy 5:4 (SXGA), nie HDTV. Full HD to 1920 × 1080.

Pytanie 7

Które z poniższych twierdzeń najlepiej opisuje klasę Owoc zdefiniowaną w PHP i przedstawioną w kodzie?

class Owoc {
  public $nazwa;
  private $kolor;
  function set_nazwa($nazwa) {
    $this->nazwa = $nazwa;
  }
}
A. Zawiera dwa pola oraz jeden konstruktor, oba pola mają widoczność ograniczoną tylko do metod klasy
B. Zawiera jedno pole oraz dwie metody, przy czym jedna z metod ma zakres prywatny
C. Zawiera dwa pola oraz jedną metodę, pole nazwa ma widoczność ograniczoną tylko do metod klasy
D. Zawiera dwa pola oraz jedną metodę, pole kolor ma widoczność ograniczoną jedynie do metod klasy
Błędne odpowiedzi wynikają z niezrozumienia zakresów widoczności oraz struktury klasy w PHP. Klasa Owoc ma dwa pola: $nazwa i $kolor. Pole $nazwa jest publiczne, co oznacza, że jest dostępne z dowolnego miejsca, które posiada instancję klasy. Natomiast $kolor jest prywatne, co ogranicza jego dostępność tylko do metod wewnątrz klasy. To kluczowy aspekt programowania obiektowego, gdzie stosowanie modyfikatora private zapewnia, że dane nie mogą być modyfikowane bezpośrednio z zewnątrz, chroniąc integralność obiektu. W konstrukcji tej klasy znajduje się również tylko jedna metoda: set_nazwa, która służy do ustawiania wartości pola $nazwa. Brak jest tutaj konstruktora, co wyklucza błędną odpowiedź sugerującą jego obecność. Konstruktor w PHP definiuje się jako funkcję __construct i służy do inicjalizacji obiektu przy jego tworzeniu. Każda z niepoprawnych odpowiedzi błędnie interpretuje strukturę i dostępność elementów klasy. Często popełnianym błędem jest mylenie zakresów widoczności pola publicznego i prywatnego, oraz brak rozpoznania i zastosowania dobrych praktyk, takich jak enkapsulacja, która jest jednym z filarów programowania obiektowego, mającym na celu ukrycie wewnętrznej implementacji oraz ochronę danych przed nieautoryzowanym dostępem.

Pytanie 8

Ile razy zostanie wykonana pętla przedstawiona w języku PHP, zakładając, że zmienna kontrolna nie jest zmieniana w jej wnętrzu?
for($i = 0; $i <= 10; $i++) { ...... }

A. 10 razy
B. 11 razy
C. Nieskończoność
D. 0 razy
Odpowiedzi 0, 10 oraz nieskończoność są niepoprawne z kilku powodów. Przyjęcie, że pętla wykona się 0 razy, jest błędne, ponieważ pętla for rozpoczyna swoje działanie od zainicjowania zmiennej $i na 0. Zgodnie z konstrukcją pętli, pierwsze sprawdzenie warunku $i <= 10 jest pozytywne, co implikuje, że blok kodu zostanie wykonany przynajmniej raz. W odniesieniu do odpowiedzi 10, zakłada ona, że pętla zakończy się, gdy $i osiągnie wartość 10, co jest mylące. W rzeczywistości, pętla wykonuje się 11 razy, ponieważ ostatnie wykonanie kodu następuje przy $i równym 10, a następnie następuje inkrementacja, co sprawia, że $i osiąga 11 i przerywa działanie pętli. Wreszcie, odpowiedź sugerująca nieskończoną ilość iteracji jest również błędna. Nieskończone pętle często wynikają z braku modyfikacji zmiennej sterującej, jednak w tym przypadku pętla for ma zdefiniowaną inkrementację, co zapewnia, że po pewnym czasie pętla zakończy swoje działanie, nie generując nieskończoności. Każda z tych błędnych odpowiedzi pokazuje różne nieporozumienia dotyczące działania pętli for oraz logiki programistycznej w PHP.

Pytanie 9

W języku C, aby zdefiniować stałą, należy zastosować

A. #const
B. static
C. const
D. #INCLUDE
Wybór innych odpowiedzi wskazuje na pewne nieporozumienia dotyczące podstaw języka C. Użycie słowa kluczowego 'static' nie jest związane z deklarowaniem stałych, lecz określa zasięg oraz czas życia zmiennych. Zmienna zadeklarowana jako 'static' zachowuje swoją wartość pomiędzy wywołaniami funkcji, co jest zupełnie inną koncepcją niż ochrona wartości przed modyfikacją. Z kolei '#const' to niepoprawna składnia, ponieważ w języku C nie istnieje taki preprocesor. Preprocesory, takie jak '#define', są używane do definiowania makr, ale nie do deklarowania stałych. Przykładowo, '#define PI 3.14' tworzy makro, które jest zastępowane w kodzie, ale nie zapewnia typowania zmiennych, co może prowadzić do trudnych do zdiagnozowania błędów. Ostatnia odpowiedź, '#INCLUDE', odnosi się do preprocesora, który jest używany do włączania plików nagłówkowych, a nie do definiowania stałych. Często mylone jest podejście do użycia preprocesorów z możliwością deklarowania stałych, co może prowadzić do nieefektywnego zarządzania kodem i trudności w jego zrozumieniu. Kluczowe jest rozróżnienie tych koncepcji, aby uniknąć typowych błędów myślowych i zapewnić, że kod będzie zarówno funkcjonalny, jak i łatwy do utrzymania.

Pytanie 10

W języku PHP pętla umieści liczby w tablicy

$x=0;
for($i=0; $i<10; $i++)
{
    $tab[$i]=$x;
    $x=$x+10;
}
A. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
B. 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
C. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
D. 0, 10, 20, 30, 40, 50, 60, 70, 80, 90
Rozważmy, dlaczego inne odpowiedzi są niepoprawne. Pierwsza z nich sugeruje, że pętla wstawi do tablicy sekwencję od 0 do 10, co implikuje iterację, która zwiększa zmienną o 1. Jednak w analizowanym kodzie zmienna $x jest zwiększana o 10. Natomiast druga odpowiedź zakłada, że wartości w tablicy będą rosnąć od 0 do 9 co również wskazuje na niepełne zrozumienie mechanizmu działania pętli i inkrementacji zmiennej $x. Z kolei ostatnia odpowiedź sugeruje że do tablicy zostaną wstawione liczby kończące się na 100. To wskazuje na błędne przetworzenie pętli, w której zakres wartości $x nigdy nie dochodzi do 100 w żadnym z kroków iteracji. Typowym błędem myślowym w tych przypadkach jest niezrozumienie jak wartość zmiennej $x jest zmieniana w każdym kroku pętli oraz jak indeksy tablicy są przypisywane. Kluczowym elementem prawidłowego zrozumienia działania tego kodu jest dostrzeżenie, że pętla for kontroluje liczbę iteracji, a zmienna $x jest modyfikowana zgodnie z wyrażeniem $x=$x+10 przy każdym obrocie, co prowadzi do systematycznego zwiększania wartości dodawanej do tablicy.

Pytanie 11

Aby utworzyć relację jeden-do-wielu, w tabeli po stronie „wiele” należy zdefiniować:

A. klucz podstawowy wskazujący na klucz podstawowy tabeli po stronie „jeden”
B. klucz sztuczny odnoszący się do kluczy podstawowych obu tabel
C. klucz obcy wskazujący na klucz podstawowy tabeli po stronie „jeden”
D. klucz obcy wskazujący na klucz obcy tabeli po stronie „jeden”

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W relacji jeden-do-wielu jeden rekord tabeli „jeden” łączy się z wieloma rekordami tabeli „wiele”. Powiązanie tworzy się przez dodanie po stronie „wiele” klucza obcego, który wskazuje na klucz podstawowy tabeli po stronie „jeden”. Dzięki temu każdy rekord podrzędny wie, do którego rekordu nadrzędnego należy. Dlatego poprawna jest definicja klucza obcego wskazującego na klucz podstawowy strony „jeden”.

Pytanie 12

W wyniku przedstawionego polecenia w tabeli zostanie

ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;
A. dodana kolumna nazwa2 z wymuszoną wartością DOUBLE
B. dodana kolumna nazwa2 o typie zmiennoprzecinkowym
C. zmieniona kolumna z nazwa1 na nazwa2
D. zmieniony typ kolumny nazwa2 na DOUBLE

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź numer 3 jest prawidłowa, ponieważ zapytanie SQL "ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;" definiuje dodanie nowej kolumny o nazwie "nazwa2" do istniejącej tabeli "nazwa1". Typ danych DOUBLE oznacza, że kolumna ta będzie mogła przechowywać liczby zmiennoprzecinkowe, co jest przydatne w przypadku danych wymagających wysokiej precyzji, takich jak wartości finansowe czy pomiary naukowe. Oprócz tego, klauzula "NOT NULL" oznacza, że w kolumnie nie mogą znajdować się żadne wartości NULL, co jest istotne dla zapewnienia integralności danych. W praktyce, dodawanie kolumn w bazach danych jest często używane do wzbogacania istniejących struktur danych, aby dostosować je do zmieniających się wymagań aplikacji. Dobrą praktyką jest również odpowiednie indeksowanie nowych kolumn, aby zwiększyć wydajność zapytań, które będą z nich korzystały. W kontekście standardów, ważne jest, aby zmiany w strukturze tabeli były wprowadzane w sposób, który nie wpływa negatywnie na istniejące dane i aplikacje.

Pytanie 13

Jak nazywa się sytuacja, w której funkcja wywołuje samą siebie?

A. dziedziczenie
B. rekurencja
C. iteracja
D. hermetyzacja

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Rekurencja to technika, w której funkcja wywołuje samą siebie, by rozwiązać problem przez sprowadzenie go do prostszego przypadku tego samego typu. Każda poprawna rekurencja musi mieć warunek bazowy (przypadek prosty, kończący wywołania), inaczej powstanie nieskończone wywoływanie i przepełnienie stosu. Klasyczne przykłady to silnia czy ciąg Fibonacciego. Często alternatywą jest iteracja (pętla). Dlatego wywołanie funkcji przez samą siebie to rekurencja.

Pytanie 14

Na podstawie jakiego parametru oraz z ilu tabel będą zwrócone wiersze w wyniku podanego zapytania?

SELECT * FROM producent, hurtownia, sklep, serwis WHERE
producent.nr_id = hurtownia.nr_id AND
producent.wyrob_id = serwis.wyrob_id AND
hurtownia.nr_id = sklep.nr_id AND
sklep.nr_id = serwis.nr_id AND
producent.nr_id = 1;
A. Na podstawie parametru wyrob_id tylko dla trzech tabel
B. Na podstawie parametru nr_id tylko dla trzech tabel
C. Na podstawie parametru wyrob_id tylko dla trzech tabel
D. Na podstawie parametru nr_id dla wszystkich tabel

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zapytanie SQL w poleceniu jest skonstruowane tak by pobierać dane z czterech tabel: producent hurtownia sklep i serwis W warunku WHERE użyto klauzuli dotyczącej parametru nr_id co powoduje że połączenia między tabelami są realizowane na podstawie tego właśnie parametru Jest to typowe podejście w relacyjnych bazach danych gdzie klucz główny jednej tabeli jest kluczem obcym w innej umożliwiając łączenie danych Parametr nr_id pojawia się wielokrotnie w klauzuli WHERE jako kryterium dla różnych połączeń między tabelami To pozwala na uzyskanie spójnej listy wierszy które spełniają wszystkie zdefiniowane warunki Dzięki temu zapytanie zwraca wiersze dla wszystkich czterech tabel co jest zgodne z odpowiedzią numer 1 Takie podejście umożliwia tworzenie złożonych raportów i analiz danych branżowych Warto także zauważyć że użycie JOIN w taki sposób często optymalizuje wydajność zapytań co jest dobrą praktyką w zarządzaniu bazami danych SQL

Pytanie 15

Kod

$liczba2 = &$liczba1;
wskazuje, że zmienna $liczba2 jest
A. wskaźnikiem do $liczba1
B. referencją do $liczba1
C. negacją logiczną zmiennej $liczba1
D. iloczynem logicznym ze zmienną $liczba1

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zmienna \$liczba2 jest referencją do zmiennej \$liczba1, co w języku PHP oznacza, że obie zmienne odwołują się do tego samego miejsca w pamięci. Dzięki temu każda zmiana wartości w jednej z nich automatycznie wpływa na drugą. Użycie referencji jest przydatne w sytuacjach, gdzie potrzebujemy pracować z dużymi strukturami danych bez tworzenia ich kopii, co pozwala na oszczędność pamięci i zwiększenie wydajności. Standardowym sposobem tworzenia referencji w PHP jest użycie operatora ampersand (&) przed nazwą zmiennej, co widzimy w przedstawionym kodzie. Dobre praktyki programistyczne sugerują stosowanie referencji w sposób przemyślany, aby uniknąć trudności w debugowaniu kodu, które mogą wynikać z nieoczekiwanych zmian wartości zmiennych. Referencje są również często wykorzystywane w funkcjach, aby przekazać zmienne przez referencję, co pozwala na modyfikację oryginalnych wartości przesyłanych argumentów."

Pytanie 16

W języku SQL używanym przez bazę danych MySQL atrybut UNIQUE w poleceniu CREATE TABLE

A. jest stosowany jedynie w przypadku kolumn liczbowych
B. jest używany, jeżeli wartości w danej kolumnie nie mogą się powtarzać
C. uniemożliwia wprowadzenie wartości NULL
D. wymusza niepowtarzalne nazwy kolumn tabeli

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Atrybut UNIQUE w poleceniu CREATE TABLE w języku SQL dla bazy danych MySQL jest kluczowym elementem, który zapewnia, że wartości w danej kolumnie są unikalne dla każdego rekordu w tabeli. Oznacza to, że nie może istnieć więcej niż jeden rekord z taką samą wartością w kolumnie oznaczonej tym atrybutem. Dzięki temu, gdy projektujemy bazę danych, możemy zagwarantować integralność danych oraz ich spójność, co jest szczególnie istotne w przypadku kluczowych informacji, jak identyfikatory użytkowników czy numery seryjne produktów. Na przykład, jeżeli mamy tabelę użytkowników z kolumną 'email', możemy zastosować atrybut UNIQUE, aby upewnić się, że każdy użytkownik ma unikalny adres e-mail. W praktyce, jeżeli spróbujemy wprowadzić dwa rekordy z tym samym adresem e-mail, baza danych zgłosi błąd. Warto zauważyć, że atrybut UNIQUE pozwala na wprowadzenie wartości NULL, o ile nie ma innych wartości w danej kolumnie. Zgodnie z zasadami normalizacji danych, stosowanie atrybutu UNIQUE jest standardowym podejściem do zapewnienia jakości danych i ich unikalności w systemach zarządzania bazami danych.

Pytanie 17

W jaki sposób, stosując język PHP można usunąć ciasteczko o nazwie ciastko?

A. setcookie(""ciastko"", """", time()-3600);
B. deletecookie(""ciastko"");
C. setcookie(""$ciastko"", """", 0);
D. unsetcookie(""$ciastko"");

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź setcookie("ciastko", "", time()-3600) jest poprawna, ponieważ to standardowy sposób usuwania ciasteczek w PHP. Funkcja setcookie odsyła nagłówek HTTP do przeglądarki, informując ją, że ciasteczko o podanej nazwie ('ciastko') powinno być usunięte. Aby to osiągnąć, musisz ustawić wartość ciasteczka na pusty ciąg oraz określić czas wygaśnięcia na przeszły, co w tym przypadku realizuje polecenie time()-3600. Dobre praktyki sugerują, że zawsze należy wyznaczyć ten czas, aby mieć pewność, że ciasteczko zostanie usunięte niezależnie od ustawień przeglądarki użytkownika. Warto również pamiętać, że aby usunięcie ciasteczka było skuteczne, należy użyć takiej samej ścieżki oraz domeny, które zostały użyte przy ustawieniu ciasteczka. Przykładowe zastosowanie to logowanie wyjścia użytkownika, gdzie usunięcie ciasteczek jest kluczowe dla zapewnienia bezpieczeństwa aplikacji. Dodatkowo, jako dobry zwyczaj, przed usunięciem ciasteczek można sprawdzić, czy istnieją, aby uniknąć niepotrzebnych operacji.

Pytanie 18

Użycie znacznika <b> do pogrubienia tekstu może być również osiągnięte poprzez zastosowanie reguły CSS

A. font-size
B. text-weight
C. font-weight
D. text-size

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Właściwość CSS 'font-weight' to naprawdę ważne narzędzie, które pozwala nam kontrolować grubość tekstu na stronie. Dzięki niemu możemy nie tylko pogrubić tekst, ale też ustawić różne inne wartości, jak 'normal', 'bold', 'bolder' oraz liczby od 100 do 900. To daje nam fajne możliwości w zakresie typografii. Na przykład, jak użyjesz zapisu CSS 'p { font-weight: bold; }', to wszystkie akapity na stronie będą się wyświetlały pogrubioną czcionką. Dobrze jest pamiętać, że korzystanie z 'font-weight' jest zgodne z najlepszymi praktykami, bo odseparowuje treść od stylizacji. Moim zdaniem dobrze jest ograniczać użycie znaczników HTML, takich jak <b>, do sytuacji, kiedy zależy nam na podkreśleniu ważności jakiejś treści. Projektując strony, musimy myśleć też o tym, jak strony będą odbierane przez użytkowników i jak będą dostępne. Dobre style mogą bardzo poprawić czytelność tekstu.

Pytanie 19

W języku SQL wydano polecenie

CREATE USER 'anna'@'localhost' IDENTIFIED BY '54RTu8';
Jednak operacja ta zakończyła się niepowodzeniem z powodu błędu: #1396 - Operation CREATE USER failed for 'anna'@'localhost'. Możliwą przyczyną tego problemu bazy danych może być:
A. nieznane polecenie CREATE USER
B. niewystarczająca siła hasła dla konta anna
C. istnienie użytkownika anna w bazie danych
D. błędna składnia polecenia CREATE USER

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Dobra robota! Odpowiedź, którą wybrałeś, jest słuszna. Problem z utworzeniem użytkownika 'anna' wynika z tego, że już taki użytkownik istnieje w bazie. W systemach baz danych, jak MySQL, każdy użytkownik musi mieć unikalną nazwę i hosta, z którego się łączy. Kiedy próbujesz dodać kogoś, kto już jest, dostajesz błąd z kodem #1396. Fajnie jest przed dodawaniem nowego użytkownika sprawdzić, czy już nie jest zarejestrowany, żeby uniknąć nieporozumień. Jeśli już ktoś istnieje, można też pomyśleć o edytowaniu tego konta zamiast tworzenia nowego, używając komendy ALTER USER. Takie podejście sprawia, że zarządzanie użytkownikami jest dużo prostsze i bezpieczniejsze.

Pytanie 20

W języku PHPnie ma możliwości

A. przetwarzanie danych z formularzy
B. tworzenie dynamicznej zawartości strony internetowej
C. zmienianie dynamiczne treści strony HTML w przeglądarce
D. obróbka informacji przechowywanych w bazie danych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź dotycząca zmieniania dynamicznej zawartości strony HTML w przeglądarce jest poprawna, ponieważ PHP jest językiem skryptowym działającym po stronie serwera. Oznacza to, że PHP nie jest w stanie bezpośrednio modyfikować zawartości strony HTML po jej załadowaniu w przeglądarce użytkownika. Zamiast tego, PHP generuje HTML, który następnie jest przesyłany do przeglądarki. Dynamiczna zawartość strony może być generowana na podstawie danych z bazy danych lub formularzy, ale wszelkie zmiany w HTML po stronie klienta wymagają użycia języków, które działają po stronie przeglądarki, takich jak JavaScript. Przykładem może być sytuacja, w której użytkownik wypełnia formularz, a dane są przetwarzane przez PHP, które zwraca zaktualizowaną stronę. W przypadku potrzeby dynamicznych zmian, JavaScript może być użyty do manipulacji DOM po załadowaniu strony. Warto również zauważyć, że zgodnie z dobrymi praktykami, powinno się oddzielać logikę serwerową (PHP) od logiki klienckiej (JavaScript), co przyczynia się do lepszej struktury kodu i ułatwia jego utrzymanie.

Pytanie 21

W języku JavaScript zdefiniowano funkcję potega. Funkcja ta

function potega(a, b = 2) { ... return wynik; }
A. wymaga podania dwóch argumentów przy wywołaniu
B. nie zwraca wartości
C. może być wywołana z jedną wartością
D. nie przyjmuje żadnych argumentów

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 3 jest poprawna, ponieważ funkcja potega w JavaScript została zdefiniowana z jednym parametrem obowiązkowym (a) oraz jednym parametrem opcjonalnym (b) z domyślną wartością wynoszącą 2. Oznacza to, że można ją wywołać z jednym argumentem, a wtedy drugi argument przyjmie wartość domyślną. Taka konstrukcja jest użyteczna w przypadku, gdy chcemy zapewnić elastyczność wywołania funkcji bez konieczności podawania wszystkich argumentów. W praktyce, użycie wartości domyślnych pozwala na tworzenie bardziej zwięzłego kodu i łatwiejsze utrzymywanie funkcji. Standard ECMAScript 2015 (ES6) wprowadził możliwość definiowania wartości domyślnych dla parametrów funkcji, co jest obecnie powszechną praktyką w JavaScript. Dzięki temu programiści mogą lepiej zarządzać przypadkami, w których nie wszystkie dane wejściowe są dostępne, co pozwala na unikanie błędów związanych z nieokreślonymi wartościami i zwiększa efektywność kodu.

Pytanie 22

Aby przyspieszyć ładowanie strony z dużą grafiką (2000×760 px), należy zmniejszyć jej rozmiar:

A. w programie graficznym
B. właściwością CSS w procentach
C. właściwością CSS w pikselach
D. za pomocą atrybutów HTML

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby naprawdę przyspieszyć stronę, trzeba zmniejszyć wagę i wymiary pliku graficznego w programie graficznym (np. zmienić rozmiar do faktycznie potrzebnych pikseli i zoptymalizować kompresję). Dopiero wtedy przeglądarka pobiera mniejszy plik. Skalowanie w HTML czy CSS zmienia jedynie sposób wyświetlania, nie wielkość pobieranych danych. Dlatego grafikę zmniejsza się w programie graficznym.

Pytanie 23

W algorytmie jeden z bloków ma wpisaną akcję "Wypisz liczbę". Który z kształtów może przyjąć tę akcję?

Ilustracja do pytania
A. Kształt 1.
B. Kształt 4.
C. Kształt 3.
D. Kształt 2.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje, udzieliłeś prawidłowej odpowiedzi. Algorytm to uporządkowany ciąg czynności prowadzących do rozwiązania danego problemu. W algorytmie, akcje takie jak 'wypisz liczbę' są zwykle zawarte w blokach oznaczających konkretne działania, które algorytm powinien wykonać. Kształt 1 jest standardowym oznaczeniem dla bloków akcji w notacjach diagramów przepływu, co oznacza, że algorytm powinien wykonać pewną operację lub działanie. W tym przypadku, kształt 1 symbolizuje akcję 'wypisz liczbę'. Jest to ważne do zrozumienia, gdyż umiejętność czytania i tworzenia diagramów przepływu jest kluczowa dla zrozumienia logicznego przepływu programów i algorytmów. Praktyka ta jest powszechnie stosowana w programowaniu i analizie systemów, pomagając w efektywnym projektowaniu i debugowaniu programów.

Pytanie 24

Działaniem przedstawionego kodu PHP będzie wypełnienie tablicy.

$tab = array();
for($i = 0; $i < 10; $i++) {
    $tab[$i] = rand(-100, 100);
}
foreach ($tab as $x){
    if ($x < 0) echo "$x ";
}
A. 10 losowymi wartościami, a następnie wypisanie wartości ujemnych.
B. kolejnymi liczbami od 0 do 9 i wypisanie ich.
C. 100 losowymi wartościami, a następnie wypisanie wartości dodatnich.
D. kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowo zidentyfikowałeś, że kod PHP wypełni tablicę 10 losowymi wartościami, a następnie wypisze tylko te, które są wartościami ujemnymi. Jest to fundament, na którym opiera się działanie tego konkretnego fragmentu kodu. Tworzenie losowych wartości jest powszechną praktyką w programowaniu i jest wykorzystywane do testowania funkcji, symulowania danych wejściowych czy generowania unikalnych identyfikatorów. Tutaj, użycie losowości służy do stworzenia przypadkowego zestawu liczb, które następnie są filtrowane i wypisywane tylko te o wartości ujemnej. Ta technika jest przydatna, gdy chcemy przefiltrować dane według określonych kryteriów, w tym przypadku liczby ujemne. Jest to ważne nie tylko dla zrozumienia tego konkretnego pytania, ale także dla zrozumienia, jak działa programowanie i jakie są jego praktyczne zastosowania. Pamiętaj, że zrozumienie tego, co robi konkretny fragment kodu, jest kluczowe dla skutecznego programowania i debugowania.

Pytanie 25

Jakie zapytanie umożliwi Administratorowi odebranie uprawnień do przeglądania oraz edytowania danych w bazie gazeta, dla użytkownika redaktor?

A. REVOKE SELECT, ALTER ON gazeta.* FROM 'redaktor'@'localhost';
B. REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost';
C. GRANT SELECT, UPDATE ON gazeta.* TO 'redaktor'@'localhost';
D. GRANT SELECT, ALTER ON gazeta.* TO 'redaktor'@'localhost';

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest poprawna, ponieważ zapytanie REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost'; skutecznie odbiera użytkownikowi redaktor prawa do przeglądania (SELECT) oraz aktualizacji (UPDATE) danych w tabeli gazeta. W kontekście zarządzania uprawnieniami w systemach baz danych, kluczowym elementem jest kontrola dostępu. Standard SQL definiuje polecenie REVOKE jako sposób na cofnięcie przyznanych wcześniej uprawnień. W praktyce, administratorzy baz danych muszą ścisle zarządzać uprawnieniami użytkowników, aby zapewnić bezpieczeństwo danych i zgodność z politykami ochrony informacji. Przykładem zastosowania mogłoby być ograniczenie dostępu do poufnych danych w przypadku, gdy użytkownik przestaje pełnić określoną rolę w organizacji. Rezygnacja z uprawnień powinna być zawsze udokumentowana i przeprowadzona zgodnie z procedurami, by zapobiec nieautoryzowanemu dostępowi do danych. Zarządzanie uprawnieniami to kluczowy aspekt administrowania bazami danych, który wpływa na bezpieczeństwo i integralność informacji.

Pytanie 26

Po uszkodzeniu serwera bazy danych, aby jak najszybciej przywrócić pełną bazę, należy użyć:

A. aktualnej kopii zapasowej
B. opisów struktur danych w tabelach
C. najnowszej wersji instalacyjnej serwera
D. kompletnej listy użytkowników serwera

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Po uszkodzeniu serwera najszybciej odtworzysz PEŁNĄ bazę z aktualnej KOPII ZAPASOWEJ (backupu) - zawiera ona zarówno strukturę, jak i dane. Dlatego regularne kopie to podstawa bezpieczeństwa: im świeższy backup, tym mniejsza strata. Zapamiętaj: awaria danych = przywrócenie z kopii zapasowej.

Pytanie 27

Która reguła CSS wyśrodkowuje tekst w PIONIE?

A.
align: middle
B.
vertical-align: middle
C.
text-align: center
D.
vertical-align: center

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Pionowe wyrównanie elementu liniowego (np. tekstu względem wiersza czy komórki) ustawia <code><span class="code-variable">vertical-align</span></code> z wartością <code><span class="code-variable">middle</span></code>, czyli <code><span class="code-keyword">vertical-align</span><span class="code-text">:</span> <span class="code-variable">middle</span></code>. Dlatego ta reguła jest poprawna.

Pytanie 28

Jakie rozwiązanie powinno być wdrożone w organizacji danych, aby przyspieszyć wykonanie zapytań w bazie danych?

A. Wartości domyślne
B. Reguły
C. Klucze podstawowe
D. Indeksy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Indeksy w bazach danych są kluczowym narzędziem przyspieszającym wykonywanie zapytań, ponieważ pozwalają na szybsze odnajdywanie danych. Indeks działa jak spis treści w książce, umożliwiając systemowi zarządzania bazą danych (DBMS) szybkie zlokalizowanie konkretnych wierszy w tabelach. W praktyce, dodanie indeksu do kolumny, po której często są przeprowadzane wyszukiwania, może znacząco poprawić wydajność zapytań SELECT. Na przykład, jeśli mamy dużą tabelę z danymi o klientach i często wyszukujemy klientów według nazwiska, stworzenie indeksu na kolumnie 'nazwisko' pozwoli na zredukowanie czasu potrzebnego na wyszukiwanie z kilku sekund do milisekund. Warto również wspomnieć o dobrych praktykach związanych z używaniem indeksów, takich jak unikanie nadmiernego indeksowania, które może prowadzić do obniżenia wydajności operacji INSERT, UPDATE czy DELETE, ponieważ każdy z tych procesów musi również aktualizować odpowiednie indeksy. Dlatego kluczowe jest staranne planowanie i zastosowanie indeksów tam, gdzie przynoszą największe korzyści.

Pytanie 29

Czym różnią się polecenia DROP TABLE i TRUNCATE TABLE?

A. DROP TABLE usuwa tabelę, a TRUNCATE TABLE zmienia w niej dane wg warunku
B. oba usuwają tylko zawartość, ale tylko DROP TABLE da się cofnąć
C. oba usuwają tabelę z zawartością, ale TRUNCATE da się cofnąć
D. DROP TABLE usuwa tabelę, a TRUNCATE TABLE usuwa wszystkie dane, zostawiając pustą tabelę

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
<code><span class="code-keyword">DROP</span> <span class="code-keyword">TABLE</span></code> usuwa CAŁĄ tabelę - razem ze strukturą (kolumnami, definicją), więc tabela przestaje istnieć. <code><span class="code-keyword">TRUNCATE</span> <span class="code-keyword">TABLE</span></code> kasuje tylko wszystkie WIERSZE, zostawiając pustą tabelę gotową do dalszego użycia. Dlatego DROP usuwa tabelę, a TRUNCATE czyści dane, zostawiając pustą tabelę.

Pytanie 30

Którym znacznikiem osadzić kod CSS wewnątrz dokumentu HTML?

A.
<body>
B.
<meta>
C.
<style>
D.
<head>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kod CSS osadza się wewnątrz dokumentu HTML w znaczniku <code><span class="code-text">&lt;</span><span class="code-keyword">style</span><span class="code-text">&gt;</span></code>, umieszczanym zwykle w sekcji <code><span class="code-text">&lt;</span><span class="code-keyword">head</span><span class="code-text">&gt;</span></code>. Reguły zapisane między <code><span class="code-text">&lt;</span><span class="code-keyword">style</span><span class="code-text">&gt;</span></code> a <code><span class="code-text">&lt;/</span><span class="code-keyword">style</span><span class="code-text">&gt;</span></code> stylują elementy całej strony. Dlatego CSS osadza się znacznikiem <code><span class="code-text">&lt;</span><span class="code-keyword">style</span><span class="code-text">&gt;</span></code>.

Pytanie 31

W SQL polecenie ALTER TABLE służy do

A. zmiany danych w rekordach tabeli
B. usuwania tabeli z bazy danych
C. zmiany kolumn w tabeli
D. dodawania tabeli do bazy danych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie ALTER TABLE w języku SQL jest kluczowym narzędziem do modyfikacji struktury tabeli w bazie danych. Umożliwia dodawanie, modyfikowanie oraz usuwanie kolumn, co jest niezbędne w przypadku zmieniających się wymagań biznesowych lub technicznych. Na przykład, jeśli firma decyduje się na dodanie nowego atrybutu do produktu, można to zrobić za pomocą ALTER TABLE, co zapewni elastyczność w zarządzaniu danymi. Przykładowe polecenie może wyglądać tak: ALTER TABLE produkty ADD COLUMN kolor VARCHAR(30); Warto podkreślić, że zmiany wprowadzone za pomocą ALTER TABLE są trwałe i mogą wpływać na już istniejące dane, dlatego przed ich zastosowaniem zaleca się wykonanie kopii zapasowej bazy danych. Praktyki związane z właściwym używaniem ALTER TABLE powinny obejmować także testowanie w środowisku developerskim przed wdrożeniem zmian w produkcji, aby uniknąć nieprzewidzianych problemów.

Pytanie 32

Wskaż najefektywniejszą metodę wyczyszczenia wszystkich danych z tabeli adresy, nie wpływając na jej strukturę

A. DELETE * FROM adresy;
B. DELETE TABLE adresy;
C. TRUNCATE TABLE adresy;
D. DROP TABLE adresy;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
TRUNCATE TABLE adresy; jest najszybszym sposobem na usunięcie wszystkich rekordów z tabeli bez usuwania jej struktury. Operacja TRUNCATE działa na poziomie strony, co oznacza, że nie przetwarza pojedynczych wierszy, jak ma to miejsce w przypadku DELETE. Dzięki temu, TRUNCATE jest znacznie wydajniejszy, szczególnie w przypadku dużych zbiorów danych. W praktyce, użycie TRUNCATE TABLE jest zalecane, gdy chcemy szybko oczyścić tabelę z danych, a następnie wprowadzić nowe rekordy. Warto jednak pamiętać, że TRUNCATE nie wywołuje kaskadowych usunięć w tabelach powiązanych z kluczami obcymi, co może być istotne w projektowaniu bazy danych. Użycie TRUNCATE może również przywrócić licznik identyfikatorów (np. AUTO_INCREMENT w MySQL) do wartości początkowej, co jest ważnym aspektem, jeśli zależy nam na tym, by nowe dane zaczynały się od określonej wartości. Praktyka wykorzystania TRUNCATE powinna być jednak stosowana ostrożnie, szczególnie w kontekście transakcji, ponieważ operacja ta nie jest odwracalna w przypadku dużych zbiorów danych, co skontrastować należy z DELETE, które można wykorzystać w ramach transakcji i przywrócić dane, jeśli zajdzie taka potrzeba. Dlatego, TRUNCATE TABLE jest zalecaną metodą w odpowiednich scenariuszach, ale jej użycie wymaga pełnego zrozumienia kontekstu bazy danych oraz powiązań między tabelami.

Pytanie 33

W jaki sposób można ocenić normalizację przedstawionej tabeli?

FirmaAdres
Forbotul. Krótka 11, 22-222 Warszawa
Marbotul. Długa 5, 33-333 Warszawa
A. Tabela nie została znormalizowana
B. Tabela jest w trzeciej postaci normalnej
C. Tabela znajduje się w pierwszej postaci normalnej
D. Tabela znajduje się w drugiej postaci normalnej

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Tabela nie jest znormalizowana ponieważ zawiera dane redundancyjne które mogą prowadzić do anomalii aktualizacji W tej tabeli adresy są przechowywane jako pojedyncze pola tekstowe co uniemożliwia ich efektywne wyszukiwanie i przetwarzanie Normalizacja bazy danych polega na usuwaniu redundancji danych poprzez ich dekompozycję na mniejsze tabele z zachowaniem integralności danych i minimalizacją utraty informacji W tym przypadku adresy powinny być rozbite na osobne pola takie jak ulica miasto i kod pocztowy co pozwoli na bardziej precyzyjną kontrolę i manipulację tymi danymi Dodatkowo należy zwrócić uwagę na potencjalne naruszenie zasad drugiej postaci normalnej gdzie klucz główny powinien jednoznacznie identyfikować wartości z nim powiązane Przy poprawnej normalizacji uzyskamy lepszą spójność danych i eliminację nieścisłości co jest kluczowe w przypadku aplikacji gdzie dane są często aktualizowane lub używane do różnorodnych analiz Ostatecznym celem normalizacji jest zwiększenie wydajności i dokładności operacji bazodanowych oraz ułatwienie zarządzania złożonymi strukturami danych

Pytanie 34

W którym znaczniku HTML5 stosuje się atrybut action?

A.
<head>
B.
<body>
C.
<code>
D.
<form>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Atrybut <code><span class="code-variable">action</span></code> określa adres (URL), pod który trafią dane po zatwierdzeniu formularza, dlatego należy do znacznika <code><span class="code-text">&lt;</span><span class="code-keyword">form</span><span class="code-text">&gt;</span></code>. Razem z atrybutem <code><span class="code-variable">method</span></code> (GET lub POST) definiuje, dokąd i jak wysłać dane. Dlatego <code><span class="code-variable">action</span></code> stosuje się w <code><span class="code-text">&lt;</span><span class="code-keyword">form</span><span class="code-text">&gt;</span></code>.

Pytanie 35

Jaki jest najłatwiejszy i najmniej czasochłonny sposób przetestowania strony w różnych przeglądarkach i ich wersjach?

A. test tylko w jednej przeglądarce, zakładając zgodność pozostałych
B. użycie walidatora kodu HTML
C. użycie emulatora przeglądarek (np. usługi typu Browser Sandbox)
D. instalacja różnych przeglądarek na kilku komputerach i testowanie

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Najszybszym sposobem sprawdzenia strony w wielu przeglądarkach i ich wersjach jest emulator przeglądarek (np. usługa typu Browser Sandbox) - bez instalowania każdej z nich osobno otrzymujemy podgląd w różnych środowiskach. Dlatego najwygodniejsze jest użycie emulatora przeglądarek.

Pytanie 36

Jakie skutki przynosi wielokrotne uruchomienie poniższego kodu PHP?

if (!isset($_COOKIE["ciastko"]) 
 $zm = 1; 
 else 
 $zm = intval($_COOKIE["ciastko"]) + 1; 
setcookie("ciastko", $zm);
A. Pokazanie ciasteczka z wartością zmiennej.
B. Liczenie liczby wejść na stronę.
C. Zapisywanie wartości 1 w ciasteczku przy każdym odświeżeniu strony.
D. Przechowywanie informacji w ciasteczku tylko przy pierwszym otwarciu strony.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to zliczanie liczby odwiedzin strony, ponieważ przedstawiony kod PHP wykorzystuje ciasteczka do przechowywania liczby wizyt. Kiedy użytkownik wchodzi na stronę, skrypt sprawdza, czy ciasteczko o nazwie 'ciastko' już istnieje. Jeśli nie, oznacza to, że jest to pierwsza wizyta użytkownika, więc zmienna '$zm' jest inicjowana na wartość 1. W przeciwnym razie, wartość ciasteczka jest odczytywana, konwertowana na liczbę całkowitą i zwiększana o jeden. Następnie nowa wartość jest zapisywana w ciasteczku. Takie podejście jest zgodne z praktykami związanymi z analizą ruchu na stronie, gdzie zliczanie odwiedzin jest kluczowe dla zrozumienia interakcji użytkowników z witryną. Może to być użyteczne w kontekście analizy statystyk odwiedzin, co jest istotne dla marketerów i administratorów stron internetowych. Ponadto, umiejętność zarządzania ciasteczkami jest niezbędna w kontekście bezpieczeństwa i prywatności użytkowników, co powinno być brane pod uwagę przy implementacji takich rozwiązań.

Pytanie 37

Wskaż polecenie, które zostało opisane w ramce.

Dla każdego przebiegu pętli aktualna wartość elementu tablicy jest przypisywana do zmiennej, a wskaźnik tablicy jest przesuwany o jeden, aż do osiągnięcia ostatniego elementu tablicy
A. next
B. while
C. foreach
D. for

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcja 'foreach' jest używana do iteracji po elementach zbioru, takich jak tablice lub kolekcje, w sposób bardziej deklaratywny i zwięzły niż tradycyjne pętle 'for'. W wielu językach programowania, takich jak C#, Java czy PHP, pętla 'foreach' pozwala automatycznie przechodzić przez każdy element kolekcji, przypisując go do zmiennej tymczasowej bez konieczności jawnego zarządzania indeksem. Jest to szczególnie przydatne, gdy chcemy po prostu przetwarzać elementy jednej po drugiej, nie martwiąc się o ich indeksy. Przykładowo, w C# można użyć składni: 'foreach (var item in collection)', gdzie 'collection' jest kolekcją, a 'item' to zmienna reprezentująca aktualny element. Takie podejście jest uważane za standardową praktykę w sytuacjach, gdzie chcemy tylko odczytywać wartości. Korzystanie z 'foreach' sprzyja czytelności kodu i minimalizuje ryzyko błędów związanych z obsługą indeksów, co jest zgodne z dobrymi praktykami programistycznymi.

Pytanie 38

Która z czynności nie wpłynie na objętość zajmowanej pamięci pliku graficznego?

A. Zmiana rozmiaru obrazu przy użyciu atrybutów HTML
B. Interpolacja
C. Kompresja
D. Modyfikacja rozdzielczości obrazu

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Skalowanie obrazu za pomocą atrybutów HTML to technika, która pozwala na dostosowanie rozmiaru wyświetlanego obrazu w przeglądarce internetowej bez zmiany jego rzeczywistego rozmiaru pliku. Atrybuty takie jak 'width' i 'height' w tagach <img> wpływają jedynie na to, jak obraz jest prezentowany na stronie, a nie na jego fizyczne właściwości. Przykładem może być użycie <img src='obraz.jpg' width='300' height='200'>, co sprawia, że obraz wyświetla się w określonych wymiarach, ale plik graficzny pozostaje niezmieniony. Takie podejście jest zgodne z dobrymi praktykami w projektowaniu stron internetowych, ponieważ pozwala na utrzymanie jakości obrazu bez dodatkowego obciążania serwera. W sytuacjach, gdy szybkość ładowania strony jest kluczowa, użycie odpowiednich atrybutów HTML może przyczynić się do lepszego doświadczenia użytkownika bez potrzeby modyfikacji oryginalnych plików graficznych. Warto również zaznaczyć, że w przypadku responsywnych stron internetowych stosuje się techniki CSS, które umożliwiają dalsze dostosowanie wielkości obrazów, ale także nie wpływają na ich wagę w pamięci.

Pytanie 39

Aby wymusić, by wartość w kolumnie odwoływała się do istniejącego rekordu w innej tabeli, należy zastosować:

A. indeks
B. klucz obcy
C. widok
D. klucz główny

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klucz obcy to kolumna (lub zestaw kolumn) wskazująca na klucz główny innej tabeli. Baza pilnuje, by można było wpisać tylko wartość istniejącą w tabeli nadrzędnej, dzięki czemu nie powstają „osierocone” rekordy. To podstawowy mechanizm integralności referencyjnej w relacyjnych bazach danych. Dlatego powiązanie z rekordem innej tabeli wymusza klucz obcy.

Pytanie 40

Jakie z poniższych stwierdzeń poprawnie opisuje zdefiniowaną tabelę?

CREATE TABLE dane (kolumna INTEGER(3));
A. Tabela o nazwie dane posiada jedną kolumnę liczb całkowitych.
B. Kolumny tabeli dane są nazywane: kolumna 1, kolumna2, kolumna3.
C. Tabela o nazwie dane zawiera trzy kolumny typu całkowitego.
D. Tabela ma jedną kolumnę, która zawiera tablice z trzema elementami.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest prawidłowa, ponieważ w zdefiniowanej tabeli 'dane' mamy jedną kolumnę o nazwie 'kolumna', której typ danych to INTEGER. Wartość 3 w definicji INTEGER(3) oznacza, że kolumna może przechowywać liczby całkowite, a nie liczb o długości 3, co często jest mylone. W praktyce INTEGER w SQL nie ma ograniczenia do przechowywania tylko trzech cyfr; to po prostu sugeruje, że przyjmuje się, iż liczby będą miały długość do trzech cyfr, co jest w rzeczywistości ignorowane, ponieważ SQL nie narzuca takich ograniczeń. Wartości w tej kolumnie mogą być zarówno jednocyfrowe, jak i trzycyfrowe. W kontekście projektowania baz danych, dobrą praktyką jest nadawanie kolumnom zrozumiałych nazw oraz dokładne określanie ich typów danych, co ułatwia późniejsze zarządzanie danymi. Poprawne zdefiniowanie tabeli jest kluczowe dla wydajności bazy danych oraz jej integralności, dlatego dla kolumny INTEGER nie ma potrzeby dodatkowego określania ograniczeń, chyba że są one wymagane w kontekście aplikacyjnym.