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: 8 czerwca 2026 13:11
  • Data zakończenia: 8 czerwca 2026 13:34

Egzamin niezdany

Wynik: 19/40 punktów (47,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

Jednym z typów testów jednostkowych jest analiza tras, która polega na

A. utworzeniu kilku zbiorów danych o zbliżonym sposobie przetwarzania i wykorzystaniu ich do przeprowadzenia testu
B. testowaniu obiektów pod kątem inicjalizacji oraz zwolnienia zarezerwowanej pamięci
C. określeniu punktu startowego i końcowego oraz badaniu dostępnych ścieżek pomiędzy tymi punktami
D. testowaniu wartości granicznych zestawu danych
W analizie ścieżek w testach jednostkowych chodzi o to, by wyznaczyć, skąd zaczyna się działanie programu i gdzie kończy, a następnie sprawdzić, jakie ścieżki można pomiędzy tymi punktami przejść. Dzięki temu można znaleźć wszystkie możliwe drogi, którymi program może podążać. To ważna metoda, bo pozwala ocenić, czy logika w naszym kodzie działa tak, jak powinna oraz czy przetestowaliśmy wszystkie scenariusze, które mogą się zdarzyć. Na przykład, gdy mamy w kodzie dużo warunków i pętli, analiza ścieżek może ujawnić błędy, które nie wyjdą przy zwykłym testowaniu. W inżynierii oprogramowania to jest naprawdę dobra praktyka, bo upewniamy się, że wszystkie ścieżki zostały sprawdzone, co na pewno wpływa na jakość i stabilność naszego programu.

Pytanie 2

Które z instrukcji algorytmu odpowiada graficznemu przedstawieniu bloku pokazanego na ilustracji?

Ilustracja do pytania
A. n > 70
B. Zrealizuj podprogram do sortowania tablicy t
C. n ← n – 3
D. Wyświetl w konsoli wartość zmiennej n
Wybór opcji wykonaj podprogram sortowania tablicy t jest dość złożony i zazwyczaj przedstawia się go w formie bloku procesu, ale nie powinno to być prostokątne. Takie operacje to nie tylko jedna czynność, trzeba wybrać odpowiedni algorytm, jak np. szybkie sortowanie, bąbelkowe czy przez wstawianie. Operacja n > 70 z kolei to logiczny warunek, który zwykle pokazuje się w notacji algorytmicznej jako romb, a nie prostokąt. Warunki są istotne w programach, pozwalają na podejmowanie decyzji. Jeśli warunki są źle napisane, to psuje to całą logikę kodu, co jest ważne, bo w testowaniu i debugowaniu ma to ogromne znaczenie. Wypisywanie wartości zmiennej n na konsolę to kolejna operacja związana z wejściem i wyjściem, która w diagramach reprezentowalibyśmy równoległobokiem, a nie prostokątem. Te działania pozwalają nam na interakcję z użytkownikami i pokazywanie wyników. Wszystkie te odpowiedzi źle przypisują elementy do prostokątnego bloku, co pokazuje, jak ważne jest zrozumienie notacji algorytmicznej w codziennej pracy programisty. Jeśli nie zrozumiemy tych różnic, to może się to odbić na wydajności i trudności w utrzymaniu kodu.

Pytanie 3

Którego znacznika użyć, aby zgrupować elementy w jeden BLOK?

A.
<param>
B.
<div>
C.
<span>
D.
<p>
Znacznik <div> to blokowy pojemnik bez własnego znaczenia, służący do grupowania innych elementów w jeden BLOK (sekcję), który potem łatwo stylować lub pozycjonować. Dlatego do grupowania w blok służy <div>.

Pytanie 4

W języku HTML kolor biały można przedstawić przy użyciu wartości

A. rgb(255,255,255)
B. #255255
C. rgb(FFFF,FF)
D. #000000
Kolory w HTML można zapisać na kilka sposobów, ale nie każda opcja jest dobra. Zobaczmy błędne odpowiedzi. Pierwsza, #255255, jest zła, bo w systemie szesnastkowym (hex) kolory powinno się zapisywać w formacie #RRGGBB. Tutaj brakuje cyfr, więc to jest błędny zapis. Druga opcja, #000000, to kolor czarny. Wszędzie mamy 0, czyli brak światła w trzech kanałach RGB, co daje nam czarny, a nie biały. Ostatnia odpowiedź, rgb(FFFF,FF), też jest niepoprawna, ponieważ w rgb muszą być liczby całkowite od 0 do 255. Używanie szesnastkowych wartości tutaj to zły pomysł. Generalnie, zrozumienie jak poprawnie zapisywać kolory w HTML jest kluczowe, jeśli chcesz robić fajne i funkcjonalne projekty w sieci.

Pytanie 5

W relacyjnym modelu danych, krotki definiuje się jako

A. wszystkie kolumny tabeli, które reprezentują atrybuty obiektu
B. wiersze tabeli wyłączając wiersz nagłówkowy, w którym znajdują się nazwy kolumn
C. liczbę rekordów w tabeli
D. wszystkie wiersze w tabeli łącznie z wierszem nagłówkowym
Krotka to taki ważny element w relacyjnych bazach danych, który odnosi się do konkretnych rekordów w tabeli. Każda krotka to jakby zestaw informacji, który dotyczy jednej jednostki, na przykład pojedynczego użytkownika w tabeli 'Użytkownicy'. Zawiera wartości atrybutów, które są przypisane do kolumn w tabeli. Te wartości są przechowywane w wierszach, a nagłówek z nazwami kolumn nie wchodzi w grę, jeśli chodzi o definicję krotek. Na przykład, w tabeli dotyczącej studentów, każdy wiersz mógłby zawierać dane jednego studenta, takie jak imię, nazwisko, wiek czy kierunek studiów. Myślę, że zrozumienie, czym jest krotka, jest kluczowe, żeby dobrze projektować bazy danych i używać SQL, bo w nim operacje na krotkach to podstawa większości zapytań. W praktyce, krotki pomagają również tworzyć relacje między tabelami w bazie danych, gdzie można je wykorzystać do przedstawiania powiązań między różnymi obiektami, na przykład 'Studenci' i 'Kursy'.

Pytanie 6

Aby uzyskać dane z tabeli pracownicy wyłącznie dla osób, które osiągnęły 26 lat, należy zastosować zapytanie

A. SELECT * FROM pracownicy OR wiek > '25'
B. SELECT * FROM wiek WHERE pracownicy > '25'
C. SELECT * FROM pracownicy WHERE wiek > '25'
D. SELECT * FROM pracownicy AND wiek > '25'
Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > '25';'. To zapytanie jest zgodne z zasadami SQL i pozwala na wyświetlenie wszystkich rekordów z tabeli 'pracownicy', które spełniają określony warunek dotyczący wieku. Używając klauzuli WHERE, precyzyjnie filtrujemy wyniki i zwracamy tylko tych pracowników, którzy mają więcej niż 25 lat. Warto pamiętać, że w SQL operator '>' jest wykorzystywany do porównywania wartości, a w tym przypadku pozwala nam na wybranie pracowników, którzy ukończyli 26 lat. Przy projektowaniu zapytań SQL, kluczowe jest stosowanie odpowiednich warunków filtrujących, aby ograniczyć zwracane dane do tych istotnych dla analiz. Przykładowo, analiza wieku pracowników w kontekście przyznawania dodatków lub przeprowadzania szkoleń może opierać się na takich zapytaniach. W praktyce, ważne jest także wykorzystanie indeksów w bazach danych, aby zwiększyć wydajność zapytań, zwłaszcza w dużych zbiorach danych.

Pytanie 7

Jaką wartość przyjmie zmienna $a po wykonaniu poniższej sekwencji poleceń w języku PHP?

$a = 1; $a++; $a += 10; --$a;
A. 1
B. 10
C. 12
D. 11
Niepoprawna odpowiedź, ale nie przejmuj się, pomyłki zdarzają się. W tym przypadku warto zrozumieć, jak działają operacje matematyczne w języku PHP. W kodzie PHP, kiedy mamy sekwencję operacji, są one wykonywane od lewej do prawej. Najpierw inicjalizujemy zmienną wartością 1, następnie zwiększamy tę wartość o 1 (co daje nam 2), dodajemy do niej 10 (co daje nam 12), a na końcu pomniejszamy tę wartość o 1 (co daje nam 11). Jeśli wybrałeś odpowiedź 12, to być może pominąłeś ostatnią operację, którą jest odjęcie 1. Jeśli wybrałeś odpowiedź 10, to prawdopodobnie zignorowałeś operację dodawania 10. A jeśli wybrałeś odpowiedź 1, to być może nie zrozumiałeś, że operacje są wykonane sekwencyjnie, a nie izolowane.

Pytanie 8

Który z poniższych fragmentów kodu HTML sformatuje tekst zgodnie z wymaganiami? (zauważ, że słowo "stacji" jest wyświetlane w większej czcionce niż pozostałe słowa w tej linii)

Ilustracja do pytania
A. Odpowiedź 1: A
B. Odpowiedź 2: B
C. Odpowiedź 3: C
D. Odpowiedź 4: D
Odpowiedź B jest prawidłowa ponieważ używa znacznika big do zwiększenia rozmiaru czcionki dla słowa stacji wewnątrz paragrafu. Znacznik big jest standardowym sposobem na zwiększenie tekstu w HTML chociaż obecnie rekomendowane jest stosowanie CSS do takich stylizacji co pozwala na oddzielenie treści od prezentacji. Przykładowo można użyć CSS w stylu inline lub w oddzielnym arkuszu stylów aby uzyskać ten sam efekt co zwiększa elastyczność i spójność projektu. Warto pamiętać że HTML5 wprowadza pewne zmiany i deprecjonuje niektóre znaczniki co wymaga ciągłego aktualizowania wiedzy dewelopera. Znacznik big mimo że działa w większości przeglądarek może być mniej przewidywalny w przyszłości w porównaniu z CSS. Rozdzielenie stylów od struktury dokumentu jest dobrą praktyką programistyczną co ułatwia zarządzanie kodem oraz poprawia dostępność stron internetowych. Pamiętaj by regularnie analizować i aktualizować swoje projekty zgodnie z najnowszymi standardami HTML i CSS.

Pytanie 9

Jakie będzie wynikowe wyjście po uruchomieniu tego skryptu PHP?

<?php
$kolory = array("czarny", "zielony", "niebieski", "biały");
rsort($kolory);
$ile = count($kolory);
for($x = 0; $x < $ile; $x++)
{
  echo $kolory[$x].", ";
}
?>
A. czarny, zielony, niebieski, biały
B. biały, czarny, niebieski, zielony
C. biały, niebieski, zielony, czarny
D. zielony, niebieski, czarny, biały
W przypadku podanego skryptu PHP błędne odpowiedzi wynikają z niewłaściwej interpretacji działania funkcji rsort(). Zadaniem tej funkcji jest sortowanie elementów tablicy w porządku malejącym na podstawie wartości ASCII pierwszego znaku każdego elementu. Jeśli przyjrzymy się tablicy zawierającej słowa czarny zielony niebieski biały funkcja rsort() ułoży je w odwrotnej kolejności alfabetycznej zaczynając od słów których pierwsze litery mają wyższą wartość ASCII. Typowym błędem może być niezrozumienie że rsort() działa na całych wartościach łańcuchów a nie tylko na pierwszych literach. Należy również pamiętać że funkcje sortujące takie jak rsort() nie zwracają nowej tablicy lecz modyfikują istniejącą co czasem może prowadzić do niepoprawnych założeń dotyczących oryginalnych danych. Innym częstym błędem jest zakładanie że rsort() zachowuje porządek elementów o tej samej wartości początkowej co nie jest prawdą jeśli dwa elementy miałyby tę samą pierwszą literę rsort() może zmienić ich kolejność względem siebie. Właściwe zrozumienie działania funkcji sortujących w PHP jest niezbędne aby uniknąć błędów logicznych i zapewnić że nasze aplikacje działają zgodnie z oczekiwaniami.

Pytanie 10

Jak, wykorzystując język PHP, można zapisać w ciasteczku wartość z zmiennej dane na okres jednego dnia?

A. setcookie("dane", $dane, time() + (3600*24));
B. setcookie("dane", $dane, time());
C. setcookie("dane", "dane", 0);
D. setcookie("dane", $dane, 0);
Odpowiedź setcookie("dane", $dane, time() + (3600*24)); jest prawidłowa, gdyż prawidłowo ustawia ciasteczko o nazwie 'dane' z wartością zmiennej $dane na czas jednego dnia. Funkcja setcookie w PHP wymaga trzech podstawowych argumentów: nazwy ciasteczka, wartości oraz czasu wygaśnięcia. W tym przypadku używamy time() + (3600*24), co oznacza aktualny czas plus 24 godziny (3600 sekund w godzinie pomnożone przez 24). Taki sposób określenia czasu wygaśnięcia jest zgodny z zaleceniami bezpieczeństwa i zarządzania danymi w aplikacjach webowych, ponieważ umożliwia precyzyjne kontrolowanie okresu ważności ciasteczek. Przykładowo, jeśli nasze ciasteczko jest używane do przechowywania sesji użytkownika, wartość 'dane' może zawierać identyfikator sesji, co pozwala na zachowanie stanu użytkownika przez 24 godziny. Ważne jest także, aby przed użyciem setcookie nie było wysyłanych żadnych danych do przeglądarki. Dobrą praktyką jest również ustawianie flagi HttpOnly, aby zwiększyć bezpieczeństwo, oraz SameSite, aby ograniczyć ryzyko ataków CSRF.

Pytanie 11

Podczas edytowania grafiki w programie do obróbki rastrowej należy usunąć kolory z obrazu, aby uzyskać wizualizację w odcieniach szarości. W tym celu można zastosować funkcję

A. filtru rozmycia
B. szumu RGB
C. desaturacji
D. kadrowania
Korzystanie z kadrowania, szumu RGB czy filtru rozmycia w kontekście przekształcenia obrazu na odcienie szarości jest nieprawidłowe, ponieważ te procesy nie mają na celu usunięcia kolorów, a raczej manipulację formą obrazu. Kadrowanie odnosi się do zmiany rozmiaru lub proporcji obrazu, co nie wpływa na kolorystykę, ale na kompozycję. Z kolei szum RGB dodaje losowe, kolorowe artefakty do obrazu, co wprost przeciwdziała uzyskaniu wersji monochromatycznej. Filtr rozmycia z kolei jest techniką stosowaną do wygładzania obrazu poprzez rozmycie jego detali, co również nie prowadzi do redukcji kolorów na rzecz odcieni szarości. Takie podejście może prowadzić do mylnych wniosków, gdyż koncentrowanie się na efektach wizualnych bez zrozumienia procesów kolorystycznych może skutkować niepoprawnym wykonaniem obróbki graficznej. Aby uzyskać efekt desaturacji, kluczowe jest zrozumienie, jak kolory wpływają na postrzeganie obrazu oraz jakie techniki są odpowiednie do manipulacji kolorami. Użycie niewłaściwych narzędzi w edytorach graficznych może skutkować nieefektywną pracą i stratą na jakości końcowego produktu.

Pytanie 12

Jaką wartość zwróci funkcja zao, która została zdefiniowana w języku C++, gdy zostanie wywołana z argumentem 3.55?

int zao(float x) {
    return x+0.5;
}
A. 4
B. 3
C. 3.5
D. 4.05
Wartości zwracane przez funkcje w C++ mogą być mylące, gdy nie zrozumiemy, jak działa zaokrąglanie i operacje na liczbach zmiennoprzecinkowych. Rozważając odpowiedzi 3, 3.5 i 4.05, można zauważyć, że każda z tych odpowiedzi opiera się na błędnym zrozumieniu zastosowania funkcji zaofloat. Odpowiedź 3 wynika z błędu myślowego, który zakłada, że dodanie 0.5 do wartości 3.55 skutkuje zmniejszeniem wartości do najbliższej liczby całkowitej, co jest niezgodne z zasadami matematycznymi. Z kolei odpowiedź 3.5 może wydawać się logiczna dla kogoś, kto może pomyśleć, że dodanie 0.5 w jakimś sensie zmienia wartość do tej liczby, jednak w rzeczywistości, gdyby tak było, funkcja nie spełniałaby swojej podstawowej roli. Odpowiedź 4.05, mimo że jest poprawnym wynikiem dodania do 3.55 wartości 0.5, nie jest właściwą odpowiedzią w kontekście pytania, ponieważ nie uwzględnia zasady zaokrąglania do najbliższej liczby całkowitej. W praktyce programiści często napotykają podobne problemy i dlatego dobrym zwyczajem jest, aby jasno określać wymagania dotyczące wyników i stosować odpowiednie metody zaokrąglania, kiedy to konieczne, aby uniknąć nieporozumień.

Pytanie 13

Który atrybut znacznika <img> określa lokalizację (ścieżkę) pliku graficznego?

A.
alt
B.
link
C.
src
D.
href
Obraz osadza się znacznikiem <img>, a jego atrybut src (source) wskazuje ścieżkę do pliku graficznego, np. <img src="logo.png" alt="Logo">. Drugi ważny atrybut, alt, podaje tekst alternatywny. Dlatego lokalizację pliku obrazu określa src.

Pytanie 14

Tabela góry, której fragment został pokazany, obejmuje polskie pasma górskie oraz ich szczyty. Podaj kwerendę obliczającą dla każdego pasma górskiego średnią wysokość szczytów.

A. SELECT pasmo, COUNT(wysokosc) FROM gory ORDER BY pasmo
B. SELECT pasmo, SUM(wysokosc) FROM gory GROUP BY pasmo
C. SELECT pasmo, AVG(wysokosc) FROM gory LIMIT pasmo
D. SELECT pasmo, AVG(wysokosc) FROM gory GROUP BY pasmo
Niestety, wybrana przez Ciebie odpowiedź jest błędna. Przyjrzyjmy się bliżej wszystkim niepoprawnym odpowiedziom. W odpowiedzi 'SELECT pasmo, AVG(wysokosc) FROM gory LIMIT pasmo;' użyto niepoprawnie klauzuli LIMIT. Klauzula LIMIT w SQL jest wykorzystywana do ograniczenia liczby zwracanych wierszy, a nie do grupowania wyników. W zapytaniu 'SELECT pasmo, COUNT(wysokosc) FROM gory ORDER BY pasmo;' użyto funkcji COUNT() zamiast AVG(). Funkcja COUNT() zlicza liczbę wartości, a nie oblicza ich średniej. Dodatkowo, zamiast grupowania wyników klauzulą GROUP BY, użyto klauzuli ORDER BY, która służy do sortowania wyników, a nie grupowania. Ostatnia błędna odpowiedź 'SELECT pasmo, SUM(wysokosc) FROM gory GROUP BY pasmo;' używa funkcji SUM() zamiast AVG(). Funkcja SUM() oblicza sumę wartości, a nie ich średnią. Klauzula GROUP BY jest poprawnie użyta do grupowania wyników. Pamiętaj, że wybór odpowiedniej funkcji agregującej i klauzuli jest kluczowy dla uzyskania prawidłowych wyników zapytania SQL.

Pytanie 15

Które polecenie nadaje użytkownikowi uczen najniższe uprawnienia (najmniejszą możliwość modyfikacji danych i struktury)?

A.
GRANT INSERT, DROP ON szkola.przedmioty TO uczen;
B.
GRANT ALTER, SELECT ON szkola.przedmioty TO uczen;
C.
GRANT SELECT ON szkola.przedmioty TO uczen;
D.
GRANT DROP ON szkola.przedmioty TO uczen;
Pozostałe polecenia nadają prawa MODYFIKUJĄCE. DROP pozwala usunąć obiekt, ALTER zmienić strukturę, a INSERT dodawać dane - to znacznie szersze uprawnienia. Najmniejszy zakres daje GRANT SELECT ON szkola.przedmioty TO uczen;.

Pytanie 16

W tabeli artykuly w bazie danych sklepu znajduje się pole o nazwie nowy. Jak należy wykonać kwerendę, aby wypełnić to pole wartościami TRUE dla wszystkich rekordów?

A. UPDATE artykuly SET nowy=TRUE;
B. UPDATE nowy FROM artykuly VALUE TRUE;
C. INSERT INTO nowy FROM artykuly SET TRUE;
D. INSERT INTO artykuly VALUE nowy=TRUE;
Żeby zaktualizować wartości w kolumnie 'nowy' w tabeli 'artykuły' na TRUE, musisz użyć komendy SQL UPDATE. To jest standardowy sposób, żeby zmieniać już istniejące rekordy w tabelach. W tym przypadku komenda 'UPDATE artykuly SET nowy=TRUE;' oznacza, że wszystkie rekordy w tabeli 'artykuły' będą miały pole 'nowy' ustawione na TRUE. To dość prosta i skuteczna operacja, która pozwala na jednolitą zmianę w całej tabeli. Na przykład, jeśli w tabeli 'artykuły' jest 1000 rekordów, to wszystkie z nich dostaną wartość TRUE w polu 'nowy', co może być pomocne, jeśli chcemy oznaczyć nowe produkty. Pamiętaj, żeby robić kopie zapasowe bazy danych przed takimi masowymi zmianami. To może uratować Cię od utraty ważnych danych, gdyby coś poszło nie tak. Użycie tej komendy jest zgodne z ogólnymi zasadami SQL, więc jest to bezpieczny sposób działania dla każdego, kto zarządza bazą danych.

Pytanie 17

Aby stworzyć stronę internetową, która będzie odpowiadać załączonej ilustracji, konieczne jest użycie semantycznych znaczników sekcji w języku HTML5. Jakim znacznikiem należy określić sekcję menu?

A. header
B. aside
C. div
D. nav
Znacznik <div> jest często używany do ogólnego grupowania elementów w HTML, ale nie niesie ze sobą semantycznego znaczenia, co oznacza, że nie informuje technologii wspomagających ani wyszukiwarek o roli, jaką pełni zawartość. W kontekście semantycznego HTML5, poleganie na znaczniku <div> nie wykorzystuje potencjału nowych standardów, które poprawiają dostępność i strukturę dokumentów. Znacznik <aside> jest zwykle używany do grupowania treści pobocznej, takiej jak reklamy czy linki powiązane, dlatego nie jest on odpowiedni do definiowania sekcji menu. <header> jest z kolei stosowany do elementów nagłówkowych, takich jak tytuły stron czy sekcje wstępne, co również nie pasuje do kontekstu sekcji nawigacyjnej. Właściwe wykorzystanie semantycznych znaczników pomaga nie tylko w lepszej organizacji kodu, ale także wspiera dostępność oraz optymalizację SEO, co jest kluczowe w nowoczesnym projektowaniu stron internetowych.

Pytanie 18

Który efekt został zaprezentowany na filmie?

A. Zmiana jasności zdjęć.
B. Zwiększenie ostrości zdjęcia.
C. Zmniejszenie kontrastu zdjęcia.
D. Przenikanie zdjęć.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 19

Które polecenie SQL służy do wstawienia nowego rekordu z danymi?

A.
ADD
B.
INSERT INTO
C.
CREATE
D.
UPDATE
Pozostałe polecenia robią co innego. UPDATE zmienia istniejące dane, CREATE tworzy obiekty (np. tabelę), a ADD występuje jako część ALTER TABLE ... ADD, nie jako samodzielne wstawianie rekordu. Nowy rekord dodaje INSERT INTO.

Pytanie 20

Aby zapewnić integralność danych w bazie programu Microsoft Access, należy zastosować

A. defragmentację bazy
B. kwerendę aktualizującą
C. archiwizację bazy
D. więzy integralności
Rozważając archiwizację bazy, defragmentację bazy oraz kwerendy aktualizujące jako strategie zapewnienia spójności danych, można zauważyć istotne różnice w ich funkcjach i zastosowaniach. Archiwizacja bazy danych polega na przeniesieniu starych lub nieaktywnych danych do archiwum, co ma na celu zwolnienie przestrzeni oraz poprawę wydajności systemu. Choć archiwizacja może pośrednio wpłynąć na spójność danych poprzez usunięcie danych nieaktualnych, nie jest to bezpośrednia metoda zapewnienia integralności danych w momencie ich wprowadzania czy modyfikacji. Defragmentacja bazy danych to proces mający na celu uporządkowanie fizycznego rozmieszczenia danych na dysku, co poprawia szybkość dostępu do danych. Mimo że poprawia to wydajność systemu, defragmentacja nie ma wpływu na reguły dotyczące spójności i poprawności danych. Z kolei kwerendy aktualizujące służą do modyfikacji istniejących danych w bazie, jednak same w sobie nie ustanawiają zasad dotyczących integralności danych. Użytkownicy mogą mylnie sądzić, że te procesy mogą zastąpić więzy integralności, co jest nieprawdziwe, ponieważ więzy te są kluczowe dla utrzymania logicznej spójności i poprawności danych w bazie. Właściwe podejście do zarządzania danymi wymaga zastosowania więzów integralności jako fundamentu, na którym opiera się cała struktura bazy danych, zapewniając jej niezawodność i spójność.

Pytanie 21

Która z poniżej wymienionych zasad nie przyczyni się do poprawy czytelności kodu?

A. Kod powinien być napisany bez wcięć i nadmiarowych enterów
B. W każdej linii kodu powinna znaleźć się tylko jedna komenda
C. Trzeba dodawać komentarze w trudniejszych fragmentach kodu
D. Nazwy zmiennych muszą odzwierciedlać ich funkcję
Odpowiedź "Kod powinien być napisany bez wcięć i zbędnych enterów" jest prawidłowa, ponieważ brak wcięć i odpowiednich przerw w kodzie negatywnie wpływa na jego czytelność. Właściwe formatowanie kodu, w tym stosowanie wcięć, jest kluczowe dla zrozumienia struktury programu. Pomaga to programistom w szybkim zlokalizowaniu bloków kodu, a także wzmacnia hierarchię i powiązania między funkcjami i klasami. Na przykład w języku Python, wcięcia są integralną częścią składni, co oznacza, że brak wcięć skutkuje błędami wykonania. W praktyce, pisząc kod, warto zastosować konwencje formatowania takie jak PEP 8 dla Pythona lub Google Java Style Guide dla Javy, które promują przejrzystość i jednoznaczność. W związku z tym, aby zwiększyć czytelność i zrozumiałość kodu, należy stosować wcięcia oraz logiczne podziały. Dobrze sformatowany kod nie tylko ułatwia jego przeglądanie, ale również późniejsze utrzymanie oraz współpracę z innymi programistami.

Pytanie 22

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ą tabelę z zawartością, ale TRUNCATE da się cofnąć
C. DROP TABLE usuwa tabelę, a TRUNCATE TABLE usuwa wszystkie dane, zostawiając pustą tabelę
D. oba usuwają tylko zawartość, ale tylko DROP TABLE da się cofnąć
Trzeba odróżnić usunięcie tabeli od jej opróżnienia. TRUNCATE nie usuwa danych „wg warunku” (to robi DELETE ... WHERE) - kasuje WSZYSTKIE wiersze naraz. DROP nie zostawia pustej tabeli, lecz usuwa ją w całości. Różnica: DROP TABLE usuwa tabelę, a TRUNCATE TABLE tylko jej zawartość, zostawiając pustą strukturę.

Pytanie 23

Jakie są nazwy standardowych instrukcji w języku SQL, które dotyczą wykonywania operacji na danych w SQL DML (np.: dodawanie danych do bazy, usuwanie, wprowadzanie zmian w danych)?

A. DENY, GRANT, REVOKE
B. ALTER, CREATE, DROP
C. SELECT, SELECT INTO
D. DELETE, INSERT, UPDATE
Odpowiedź DELETE, INSERT, UPDATE jest całkiem trafna, bo te polecenia są częścią DML, czyli Data Manipulation Language, w SQL-u. DML to zestaw komend do zarządzania danymi w bazach danych. Moim zdaniem, DELETE jest kluczowe, bo pozwala na usuwanie zbędnych rekordów, co pomaga utrzymać bazę w dobrym stanie. Z kolei INSERT to coś, co używamy do dodawania nowych wpisów do tabeli, co jest mega ważne, jeśli chodzi o zbieranie danych potrzebnych aplikacji. A UPDATE? No to już absolutnie istotna sprawa, bo z jego pomocą zmieniamy dane, które już są w bazie, co przydaje się na przykład przy aktualizacji informacji o użytkownikach czy produktach. Przykłady? Można użyć INSERT, żeby dodać nowego użytkownika do tabeli 'Users', DELETE, żeby pozbyć się nieaktywnych kont, a UPDATE, żeby zmienić e-mail jakiegoś użytkownika. Dobrym pomysłem jest też korzystanie z transakcji, bo zapewnia to lepszą integralność danych podczas operacji DML.

Pytanie 24

W języku JavaScript zdefiniowano funkcję o nazwie liczba_max, która porównuje trzy liczby naturalne przekazane jako argumenty i zwraca największą z nich. Prawidłowa forma wywołania tej funkcji, razem z przypisaniem jej wyniku, powinna wyglądać następująco

A. liczba_max(a, b, c, wynik);
B. liczba_max(a, b, c) = wynik;
C. var wynik = liczba_max(a, b, c);
D. liczba_max(a, b, c);
Prawidłowe wywołanie funkcji w języku JavaScript wymaga zrozumienia podstawowych zasad dotyczących przekazywania argumentów oraz przypisywania wartości. W kontekście podanych odpowiedzi, wiele z nich nie spełnia tych wymogów. Niewłaściwe przypisanie w postaci 'liczba_max(a, b, c, wynik);' sugeruje, że funkcja oczekuje czterech parametrów, co może być mylące. Funkcje w JavaScript przyjmują argumenty, które są przekazywane poprzez użycie odpowiednich zmiennych, a nie poprzez dodatkowe wartości, co skutkuje błędnym wywołaniem. Również wyrażenie 'liczba_max(a, b, c) = wynik;' jest niezgodne z zasadami składniowymi JavaScript, ponieważ nie można przypisywać wartości do wyniku wywołania funkcji. Takie podejście prowadzi do błędów, ponieważ zwracana wartość funkcji nie jest zmienną, a sposobem na uzyskanie wyników. Kolejna koncepcja do zrozumienia to fakt, że funkcje w JavaScript zwracają wartości, które mogą być przypisywane do zmiennych, a nie ustalane na podstawie wywołania funkcji. Typowe błędy myślowe to nieporozumienie dotyczące tego, jak działa mechanizm zwracania wartości oraz niewłaściwe założenie, że funkcje mogą zmieniać wartości zewnętrznych zmiennych bezpośrednio. Zrozumienie tych zasad jest fundamentalne w programowaniu i kluczowe dla skutecznego wykorzystania funkcji w praktycznych aplikacjach.

Pytanie 25

Zamieszczony kod HTML formularza zostanie wyświetlony przez przeglądarkę w sposób:

<form>
stanowisko: <input type="text"><br>
obowiązki: <br>
<input type="checkbox" name="obowiazek1" value="1" disabled checked>sporządzanie dokumentacji<br>
<input type="checkbox" name="obowiazek2" value="2" checked>pisanie kodu<br>
<input type="checkbox" name="obowiazek3" value="3">testy oprogramowania<br>
</form>

A.

stanowisko: obowiązki: sporządzanie dokumentacji
pisanie kodu
testy oprogramowania

B.

stanowisko:
obowiązki:
sporządzanie dokumentacji
pisanie kodu
testy oprogramowania

C.

stanowisko:
obowiązki:
sporządzanie dokumentacji
pisanie kodu
testy oprogramowania

D.

stanowisko:
obowiązki:
sporządzanie dokumentacji
pisanie kodu
testy oprogramowania
A. C.
B. A.
C. B.
D. D.
Przy ocenie, jak przeglądarka wyświetli formularz HTML, warto mieć na uwadze, że przeglądarki internetowe trzymają się dość sztywno tego, co wynika bezpośrednio z kodu źródłowego. Bardzo typowym błędem jest nadmierne skupienie się na samych polach wyboru czy zawartości formularza, bez uwzględnienia układu wynikającego z użycia znaczników <br> – to właściwie one decydują o tym, gdzie pojawiają się nowe linie. Ktoś może sądzić, że kolejność checked lub disabled zmieni znacząco wygląd – ale to nieprawda, bo atrybuty te wpływają na stan i interaktywność, a nie na rozmieszczenie. W jednej z błędnych propozycji pomieszano, które checkboxy są zaznaczone, a które nie, co prowadzi do przekłamań względem rzeczywistego kodu. Zdarza się też, że przy kopiowaniu kodu pomija się disabled lub checked przy konkretnym polu i całość wygląda inaczej niż powinna – tak po prostu nie działa przeglądarka. Ważne jest też zrozumienie, że disabled powoduje, iż pole jest wyszarzone i nie można na nim operować, natomiast checked przy polu checkbox ustawia je domyślnie jako zaznaczone. Pominięcie <br> po polu tekstowym sprawia, że kolejne elementy formularza lądują w jednej linii – co w praktyce bardzo rzadko się zdarza, bo narusza czytelność, a kod źródłowy wyraźnie tego nie przewiduje. Z mojego doświadczenia widziałem wiele formularzy, które przez nieuwagę programistów wprowadzały użytkownika w błąd przez złe rozmieszczenie elementów – nie chodzi tylko o „ładny wygląd”, ale też o funkcjonalność i dostępność. W praktyce branżowej trzymanie się tego, co wynika z kodu HTML, to podstawa, bo zapewnia przewidywalność działania na wszystkich platformach. Dobrym zwyczajem jest zawsze sprawdzić, jak kod wyświetla się w przeglądarce i porównać go z tym, co chcieliśmy osiągnąć. Dzięki temu unikamy nieporozumień i nieprawidłowych założeń, które mogą prowadzić do błędów zarówno w warstwie frontendowej, jak i podczas przetwarzania danych na serwerze.

Pytanie 26

Która funkcja PHP ZWRACA jako wynik połowę kwadratu przekazanej wartości $a?

A.
function licz($a) { echo $a*$a/2; }
B.
function licz($a) { return $a*$a/2; }
C.
function licz($a) { echo $a/2; }
D.
function licz($a) { return $a/2; }
Aby funkcja ZWRACAŁA wynik do dalszego użycia (a nie tylko go wypisywała), musi użyć return. Połowa kwadratu $a to $a*$a/2, więc poprawna funkcja to function licz($a) { return $a*$a/2; }. Wtedy $x = licz(4); zapisze do $x wartość 8. Zapamiętaj: echo pokazuje na ekranie, return oddaje wartość programowi.

Pytanie 27

Fragment kodu w języku JavaScript realizujący dodawanie dwóch liczb ma poniższą postać. Aby dodawanie wykonane było po kliknięciu przycisku o nazwie "dodaj", należy w wykropkowane miejsce wstawić

Podaj pierwszą liczbę: <input type="text" name="liczba1" />
Podaj drugą liczbę: <input type="text" name="liczba2" />
….
<script type=text/javascript>
function dodaj()
{
    // ta funkcja realizuje dodawanie i podaje jego wynik
}
</script>
A. <button onselect="return dodaj()">oblicz</button>
B. <button onclick="return oblicz()">dodaj</button>
C. <button onclick="return dodaj()">dodaj</button>
D. <button onselect="return dodaj()">dodaj</button>
Gratulacje, wybrałeś poprawną odpowiedź. Przycisk w JavaScript jest aktywowany poprzez zdarzenie onclick, które jest wyzwalane po kliknięciu przycisku. Właściwość onclick jest jednym z wielu zdarzeń w JavaScript, które są używane do obsługi interakcji użytkownika. Kiedy użytkownik kliknie przycisk, zdarzenie onclick jest wywoływane i kod zawarty w tym zdarzeniu jest wykonany. W tym przypadku, kod to 'return dodaj()', co oznacza, że funkcja 'dodaj' jest wywoływana. Ta funkcja została zdefiniowana w skrypcie JavaScript i realizuje dodawanie dwóch liczb. Zdarzenie onclick jest często używane w praktycznych zastosowaniach, takich jak przyciski subskrybcji, przyciski do logowania czy przyciski do przesyłania formularzy. Zasada ta jest zgodna z dobrymi praktykami programowania, które zalecają utrzymanie interakcji użytkownika w kodzie JavaScript zamiast HTML.

Pytanie 28

Która technika rozwiązywania konfliktów w firmie bywa niebezpieczna i może ZAOSTRZYĆ konflikt?

A. arbitraż
B. separacja
C. kompromis
D. ignorowanie
Ignorowanie konfliktu polega na udawaniu, że problemu nie ma - i właśnie dlatego bywa groźne: nierozwiązana sprawa narasta, emocje się kumulują, a strona, która czuje się lekceważona, reaguje coraz ostrzej. Zamiast wygasić spór, takie unikanie zwykle go zaostrza. Dlatego niebezpieczną techniką jest ignorowanie.

Pytanie 29

Jakim słowem kluczowym można zainicjować zmienną w JavaScript?

A. instanceof
B. new
C. variable
D. var
W języku JavaScript, deklaracja zmiennej przy użyciu słowa kluczowego 'var' jest jednym z podstawowych i fundamentalnych aspektów programowania. Słowo kluczowe 'var' umożliwia tworzenie zmiennych, które mogą przechowywać wartości zarówno typu prymitywnego, jak i obiektowego. Wartością dodaną użycia 'var' jest to, że zmienne zadeklarowane w ten sposób mają zasięg funkcji, co oznacza, że są dostępne w obrębie funkcji, w której zostały zadeklarowane, jak również w zasięgu globalnym, jeśli zostały zdefiniowane poza funkcją. Przykład użycia 'var': var liczba = 10; zmienna 'liczba' jest teraz dostępna w obrębie całej funkcji. Warto również zauważyć, że w nowszych standardach JavaScript, takich jak ECMAScript 6, wprowadzono dodatkowe słowa kluczowe takie jak 'let' i 'const', które oferują bardziej precyzyjny zasięg blokowy i zwiększają bezpieczeństwo kodu. 'Var' pozostaje jednak ważnym elementem do zrozumienia dla każdego programisty JavaScript, ponieważ jest fundamentem, na którym opiera się wiele starszych i nadal używanych skryptów.

Pytanie 30

Aby przygotować szablon strony z trzema kolumnami ustawionymi obok siebie, należy posłużyć się stylem CSS:

A.
.kolumny {
  float: right;
  height: 33%;
}
B.
.kolumny {
  clear: both;
  height: 33%;
}
C.
.kolumny {
  float: left;
  width: 40%;
}
D.
.kolumny {
  float: left;
  width: 33%;
}
Pozostałe style nie dadzą trzech równych kolumn obok siebie. Wariant z clear: both wręcz wyłącza opływanie, więc bloki ustawią się jeden pod drugim, a height: 33% steruje wysokością, nie szerokością. Wariant z float: right co prawda układałby elementy w rzędzie, ale również podaje height zamiast width, więc nie kontroluje szerokości kolumn. Ostatni ma poprawny float: left, lecz width: 40% jest za duże - trzy kolumny po 40% przekraczają 100% szerokości i ostatnia spadnie do następnego rzędu. Trzy równe kolumny daje float: left z width: 33%.

Pytanie 31

Aby walidować pole formularza na bieżąco, w trakcie wpisywania znaków przez użytkownika, można wykorzystać zdarzenie:

A.
onClick
B.
onLoad
C.
onKeyDown
D.
onFocusOut
Pozostałe zdarzenia zachodzą w innych momentach. onLoad uruchamia się raz, po wczytaniu strony lub elementu, więc nie nadąża za wpisywaniem. onClick reaguje na kliknięcie myszą, a nie na znaki wprowadzane z klawiatury. onFocusOut zachodzi dopiero, gdy użytkownik opuści pole - to walidacja po fakcie, a nie na bieżąco. Sprawdzanie danych podczas pisania umożliwia onKeyDown, dlatego to ono jest poprawne.

Pytanie 32

Do czego służy debugger?

A. do analizy właściwości oprogramowania
B. do optymalizacji zużycia pamięci
C. do sprawdzania wydajności programu
D. do wyszukiwania błędów w kodzie programu
Debugger to narzędzie do WYSZUKIWANIA BŁĘDÓW w kodzie - pozwala wykonywać program krok po kroku, wstawiać pułapki (breakpointy) i podglądać wartości zmiennych w trakcie działania. Dlatego debugger służy do wyszukiwania błędów w kodzie programu.

Pytanie 33

Za pomocą podanego zapytania w tabeli zostanie wykonane

ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;
A. Dodana kolumna nazwa2, która nie przyjmuje wartości domyślnej.
B. Zmieniono typ kolumny nazwa2 na DOUBLE.
C. Dodana kolumna nazwa2 o typie zmiennoprzecinkowym.
D. Została zmieniona nazwa kolumny z nazwa1 na nazwa2.
Analizując dostępne odpowiedzi, warto zwrócić uwagę na kilka istotnych kwestii związanych z instrukcją ALTER TABLE oraz jej zastosowaniem. Pierwsza koncepcja, dotycząca zmiany nazwy kolumny z nazwa1 na nazwa2, jest niepoprawna, ponieważ zapytanie nie wskazuje na taką operację. Zamiast tego, tworzymy nową kolumnę, a nie modyfikujemy istniejącą. Przechodząc do drugiej odpowiedzi, zmiana wartości kolumny nazwa2 na DOUBLE jest błędna, ponieważ instrukcja nie odnosi się do zmian wartości, ale do struktury tabeli. Kolejna nieprawidłowa koncepcja, sugerująca dodanie kolumny nazwa2 przyjmującej wartość domyślną DOUBLE, jest również myląca, ponieważ w zapytaniu nie ma ustawienia wartości domyślnej, a jedynie określenie typu kolumny oraz ograniczenia NOT NULL. Typowe błędy myślowe, które prowadzą do takich wniosków, to nieścisłe rozumienie roli polecenia ALTER TABLE oraz mylenie operacji na kolumnach z ich definicjami. W praktyce, ważne jest, aby dokładnie rozumieć jak działają typy danych w SQL oraz jakie ograniczenia można na nich nakładać, aby zapewnić integralność i jakość przechowywanych danych.

Pytanie 34

Jakie polecenie pozwala na dodanie kolumny zadaniekompletne do tabeli zadania?

A. ADD COLUMN zadaniekompletne WITH zadania
B. CREATEINDEX zadania ADD COLUMN zadaniekompletne int
C. INSERT INTO zadania VALUES zadaniakompletne
D. ALTER TABLE zadania ADD COLUMN zadaniekompletne int
Jeśli chodzi o odpowiedzi, które nie są poprawne, to oparte są na trochę mylnych założeniach co do manipulacji tabelami w SQL. Na przykład, 'CREATE INDEX zadania ADD COLUMN zadaniekompletne int' to pomyłka, bo CREATE INDEX służy do robienia indeksów, a nie do zmiany struktury tabeli. Indeksy są super do przyspieszania zapytań, ale nie dodają nowych kolumn. Kolejna odpowiedź, czyli 'INSERT INTO zadania VALUES zadaniakompletne' też mija się z celem, bo INSERT INTO dodaje nowe wiersze, a nie zmienia tabeli. Żeby dodać kolumnę, trzeba użyć ALTER TABLE. No i 'ADD COLUMN zadaniekompletne WITH zadania' to też nie jest poprawna składnia i może prowadzić do błędów. Takie odpowiedzi mogą pokazywać, że może nie do końca rozumiesz podstawowe polecenia SQL i jak je stosować. Wielkim błędem jest mylenie operacji związanych z danymi (DML) z tymi, które definiują strukturę danych (DDL). Zrozumienie tej różnicy jest kluczowe, żeby dobrze posługiwać się bazami danych i unikać późniejszych problemów.

Pytanie 35

Jaką instrukcją można zastąpić poniższy kod JavaScript, pełniącą tę samą funkcję?

for (i = 0; i < 100; i += 10)
  document.write(i + ' ');
while (i < 10) {
  document.write(i + ' ');
  i += 10;
}

Kod 1.
while (i < 100) {
  document.write(i + ' ');
}

Kod 2.
i = 0;
while (i < 100) {
  document.write(i + ' ');
  i += 10;
}

Kod 3.
i = 0;
while (i < 10) {
  document.write(i + ' ');
  i++;
}

Kod 4.
A. Kod 4
B. Kod 3
C. Kod 1
D. Kod 2
Odpowiedź Kod 3 jest prawidłowa ponieważ instrukcja while w tej formie jest równoważna z podaną pętlą for. W obu przypadkach pętla inicjuje zmienną i na wartości 0 i zwiększa ją o 10 w każdej iteracji aż do osiągnięcia wartości mniejszej niż 100. Pętla for jest skondensowaną formą pętli while i zapewnia bardziej czytelny zapis gdy wszystkie elementy inicjalizacja warunek i inkrementacja są blisko siebie. Taka konstrukcja jest używana w wielu językach programowania zorientowanych obiektowo takich jak JavaScript czy Java. W praktyce pętle te są używane do iteracji przez listy tablice lub do wykonywania powtarzalnych zadań w kodzie. Dobre praktyki zalecają wybór pętli for gdy zakres iteracji jest znany z góry co poprawia czytelność i utrzymanie kodu. Zrozumienie jak pętla while może być przekształcona w pętlę for i odwrotnie jest podstawową umiejętnością w programowaniu co pozwala na elastyczność w pisaniu kodu i lepsze dostosowanie do specyficznych potrzeb aplikacji.

Pytanie 36

W przedstawionym kodzie JavaScript występuje błąd logiczny. Program, zamiast informować, czy liczby są równe, nie działa prawidłowo. Wskaż, która odpowiedź dotyczy tego błędu.

var x = 5;
var y = 3;
if (x = y)
  document.getElementById("demo").innerHTML = "zmienne są równe";
else
  document.getElementById("demo").innerHTML = "zmienne się różnią";
A. Przed instrukcją else nie powinno być średnika
B. Zmienne zostały błędnie zadeklarowane
C. Polecenia w sekcjach if i else powinny zostać zamienione miejscami
D. W instrukcji if znajduje się przypisanie zamiast operacji porównania
Kod JavaScript z błędem logicznym w pytaniu ma na celu sprawdzenie równoważności dwóch zmiennych, jednak ze względu na użycie niewłaściwego operatora nie działa poprawnie. W przypadku stwierdzenia, że przed klauzulą else nie powinno być średnika, należy zrozumieć, że w JavaScript średnik wskazuje koniec instrukcji i jego obecność lub brak bezpośrednio przed else może zmienić logikę kodu, ale nie w tym kontekście. Jeśli chodzi o błędne przypisanie zamiast porównania w instrukcji if, właściwe używanie operatorów przypisania i porównania jest kluczowe, ponieważ ich zamiana prowadzi do logicznych błędów, które mogą być trudne do zdiagnozowania. Natomiast nieprawidłowa deklaracja zmiennych w JavaScript może wpływać na zakres lub sposób ich użycia, ale tutaj zmienne są poprawnie zadeklarowane za pomocą var, choć nowoczesne standardy promują let lub const dla lepszej kontroli zakresu. Na koniec, zamiana miejsc instrukcji wewnątrz sekcji if oraz else prowadzi jedynie do zmiany logicznej kolejności akcji bez rozwiązywania błędu pierwotnego, jakim jest użycie niewłaściwego operatora porównania. Kluczowym jest tu zrozumienie, że zrozumienie i poprawne stosowanie operatorów logicznych jest fundamentalne w pisaniu poprawnego kodu.

Pytanie 37

Jak w PHP usunąć ciasteczko o nazwie ciastko?

A.
setcookie("ciastko", "", time()-3600);
B.
unsetcookie("$ciastko");
C.
deletecookie("ciastko");
D.
setcookie("$ciastko", "", 0);
Pozostałe zapisy są błędne. Funkcje deletecookie() i unsetcookie() w PHP nie istnieją. setcookie("$ciastko", "", 0) myli nazwę (z niepotrzebnym $) i nie wskazuje minionej daty wygaśnięcia. Ciasteczko kasuje setcookie("ciastko", "", time()-3600);.

Pytanie 38

Które polecenie doda kolumnę do istniejącej tabeli zadania?

A.
ADD COLUMN zadanie kompletne WITH zadania
B.
INSERT INTO zadania VALUES zadania kompletne
C.
ALTER TABLE zadania ADD COLUMN zadaniekompletne int
D.
CREATEINDEX zadania ADD COLUMN zadanie_kompletne int
Aby dodać kolumnę do istniejącej tabeli, używa się składni ALTER TABLE <tabela> ADD COLUMN <nazwa> <typ>. Zapis ALTER TABLE zadania ADD COLUMN zadaniekompletne int poprawnie rozszerza tabelę zadania o nową kolumnę typu całkowitego. Dlatego to polecenie jest prawidłowe.

Pytanie 39

Pomiędzy jakimi znakami umieszcza się komentarz w kodzie PHP?

A.
<?  ?>
B.
/?  ?/
C.
/*  */
D.
<!--  -->
Komentarz blokowy (wieloliniowy) w PHP umieszcza się między /* a */ - wszystko w środku interpreter pomija, np. /* opis funkcji\n na kilka linii */. Dla pojedynczego wiersza są jeszcze // i #. Zapamiętaj: /* */ obejmuje dowolnie długi fragment, także wiele linii.

Pytanie 40

W którym z bloków powinien znaleźć się warunek pętli?

Ilustracja do pytania
A. C.
B. B.
C. A.
D. D.
Wybór innego bloku niż C jako miejsca na umieszczenie warunku pętli wprowadza błędne zrozumienie struktury diagramów przepływu. Blok A, reprezentujący proces lub działanie, jest używany do przedstawienia operacji lub kroków bez podejmowania decyzji. Umieszczenie w nim warunku pętli byłoby mylące, ponieważ nie oddaje istoty kontrolowania przepływu w programie. Blok B, w kształcie elipsy, jest powszechnie używany jako punkt startowy lub końcowy procesu, a nie do określania logiki decyzji. Użycie go do pętli nie jest zgodne z konwencjami diagramów przepływu i może prowadzić do błędnej interpretacji algorytmu. Blok D, reprezentujący magazyn danych, skupia się na przechowywaniu i zarządzaniu informacjami, a nie na logice sterowania przepływem. Typowe błędy, które mogą prowadzić do wyboru niewłaściwego bloku, to mylenie funkcji symboli w diagramach przepływu oraz niezrozumienie zasad ich użycia zgodnie z praktykami przemysłowymi. Zrozumienie, dlaczego każdy blok ma swoją specyficzną rolę, jest kluczowe dla tworzenia efektywnych i dokładnych modeli programistycznych, co z kolei ułatwia komunikację między programistami oraz innymi interesariuszami w projekcie.