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: 12 kwietnia 2026 18:46
  • Data zakończenia: 12 kwietnia 2026 19:46

Egzamin niezdany

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

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

Aby umieścić aplikację PHP w sieci, należy przesłać jej pliki źródłowe na serwer przy użyciu protokołu

A. SMTP
B. HTTP
C. FTP
D. NNTP
Inne odpowiedzi, które zaznaczyłeś, nie są do końca trafione. Protokół NNTP, czyli Network News Transfer Protocol, służy do przesyłania wiadomości w grupach dyskusyjnych, a to nie ma nic wspólnego z przenoszeniem plików. Z kolei SMTP, czyli Simple Mail Transfer Protocol, jest do wysyłania e-maili – znowu nie to, czego potrzebujemy przy aplikacjach. HTTP, chociaż jest super istotnym protokołem w sieci, to nie ma zaplecza do publikowania plików na serwerze. To raczej do przesyłania danych między przeglądarkami a serwerami. Wiesz, typowym błędem wielu osób jest mylenie tych protokołów i ich zastosowania. Dlatego ważne, żeby zrozumieć, jak to wszystko działa i do czego się nadaje. W praktyce zawsze najlepiej stawiać na FTP lub jego bezpieczniejsze wersje, żeby dobrze ogarnąć pliki aplikacji na serwerze.

Pytanie 2

Aby skutecznie zrealizować algorytm, który znajdzie największą z trzech podanych liczb a, b oraz c, wystarczy użyć

A. pięciu zmiennych
B. dwóch tablic
C. dwóch warunków
D. jednej pętli
Zastosowanie pięciu zmiennych w tym zadaniu jest zbędne i wskazuje na nadmierne skomplikowanie algorytmu. Aby ustalić największą liczbę, nie ma potrzeby przechowywania więcej niż trzech wartości, które reprezentują a, b i c. Użycie dodatkowych zmiennych może prowadzić do zamieszania w kodzie i jest sprzeczne z zasadą efektywności. Ponadto, koncepcja użycia jednej pętli w tym kontekście jest również błędna, ponieważ nie ma potrzeby iterowania przez dane w celu porównania ich wartości. Algorytm powinien być prosty, a pętla wprowadza zbędną kompleksowość. Dwie tablice również nie są właściwym rozwiązaniem, ponieważ problem może być rozwiązany bez konieczności organizowania danych w strukturze tablicowej. Wprowadzenie tablicy mogłoby sugerować, że istnieje potrzeba wielokrotnego porównywania wartości, co jest nieefektywne i niepraktyczne. Ponadto, nieprawidłowe podejścia mogą prowadzić do nieefektywnego wykorzystania pamięci i zasobów, co jest sprzeczne z najlepszymi praktykami w inżynierii oprogramowania. Zrozumienie, dlaczego proste porównanie wystarczy, jest kluczowe w rozwijaniu umiejętności programistycznych i umiejętności rozwiązywania problemów.

Pytanie 3

Które z poniższych twierdzeń o zasadach programowania w PHP jest poprawne?

A. Deklaracja zmiennych odbywa się po słowie kluczowym var
B. W nazwach zmiennych nie rozróżnia się wielkości liter
C. Jest to język o słabej kontroli typów
D. Nazwy zmiennych zaczynają się od znaku !

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
PHP jest językiem o słabej kontroli typów, co oznacza, że nie wymaga określenia typu zmiennej podczas jej deklaracji. W praktyce, PHP automatycznie konwertuje typy danych w zależności od kontekstu, w którym są używane. Przykładowo, jeśli przypiszesz do zmiennej wartość liczbową, a następnie użyjesz jej w kontekście tekstowym, PHP przekształci tę liczbę na łańcuch znaków automatycznie. Dzięki temu programiści mogą skupić się na logice aplikacji, a nie na zarządzaniu typami danych. Ważne jest jednak, aby pamiętać, że ta elastyczność może prowadzić do błędów, jeśli nie będziemy ostrożni. Dlatego dobrym podejściem jest stosowanie jawnych konwersji typów, gdy jest to możliwe, co zwiększa czytelność kodu i ułatwia jego późniejsze utrzymanie. Używanie funkcji takich jak (int), (float) czy (string) w celu wymuszenia określonych typów danych przed operacjami arytmetycznymi lub logicznymi, to praktyka, która może zapobiec wielu problemom z nieoczekiwanym zachowaniem skryptów. Znalezienie równowagi między wygodą a bezpieczeństwem typów jest kluczowym elementem programowania w PHP.

Pytanie 4

Uprawnienia obiektowe, przyznawane użytkownikom serwera bazy danych, mogą umożliwiać lub uniemożliwiać

A. zmienianie ról oraz kont użytkowników
B. realizowanie czynności, takich jak tworzenie kopii zapasowej
C. dziedziczenie uprawnień
D. wykonywanie operacji na bazie, takich jak wstawianie lub modyfikowanie danych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Uprawnienia obiektowe w systemach zarządzania bazami danych (DBMS) są kluczowym elementem bezpieczeństwa oraz zarządzania dostępem do danych. Pozwalają one na kontrolowanie, kto i w jaki sposób może korzystać z zasobów bazy danych. Odpowiedź dotycząca wykonywania operacji na bazie, takich jak wstawianie lub modyfikowanie danych, jest poprawna, ponieważ uprawnienia te bezpośrednio odnoszą się do możliwości modyfikacji danych, co jest fundamentem działania aplikacji bazodanowych. Na przykład, użytkownik z odpowiednimi uprawnieniami może dodawać nowe rekordy do tabeli za pomocą instrukcji SQL INSERT lub modyfikować istniejące dane za pomocą UPDATE. W kontekście standardów, takie jak SQL-92 oraz nowsze wersje, definiują uprawnienia, które mogą być przyznawane użytkownikom na poziomie obiektów, co pozwala na granularne zarządzanie dostępem. W praktyce, administratorzy baz danych muszą starannie przydzielać te uprawnienia, aby zapewnić integralność i bezpieczeństwo danych w systemie, co jest niezbędne do efektywnego zarządzania informacjami.

Pytanie 5

Ikona, która pojawia się przed adresem w oknie adresowym przeglądarki internetowej lub przy tytule aktywnej karty, nazywana jest

A. iConji.
B. emoticon.
C. favicon.
D. webicon.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Favicon to mała ikona, która reprezentuje stronę internetową i jest wyświetlana w przeglądarkach internetowych w polu adresowym oraz na kartach z otwartymi stronami. Jest to kluczowy element identyfikacji wizualnej witryny, który może wpływać na wrażenia użytkowników i postrzeganie marki. Favicony są zazwyczaj zapisane w formacie .ico, ale mogą również być w formatach .png, .gif, czy .jpg. Standardowo mają wymiary 16x16 pikseli lub 32x32 pikseli, co czyni je odpowiednimi do wyświetlania na różnych urządzeniach, w tym komputerach i smartfonach. Favicony są dodawane do kodu HTML strony za pomocą tagu <link rel="icon" href="url_do_faviconu" type="image/x-icon">, co pozwala przeglądarkom prawidłowo zidentyfikować i wyświetlić tę ikonę. Przykładem użycia faviconu mogą być popularne strony internetowe, takie jak Google czy Facebook, które wykorzystują swoje unikalne ikony w celu zwiększenia rozpoznawalności marki. Dobrze zaprojektowany favicon może wpłynąć na zwiększenie kliknięć w zakładki oraz poprawić nawigację użytkowników.

Pytanie 6

Poniżej przedstawiono sposób obsługi:

<?php
if (!isset($_COOKIE[$nazwa]))
    echo "nie ustawiono!";
else
    echo "ustawiono, wartość: " . $_COOKIE[$nazwa];
?>
A. zmiennych tekstowych
B. baz danych
C. ciasteczek
D. sesji

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kod PHP przedstawiony w pytaniu ilustruje użycie mechanizmu ciasteczek w przeglądarce. Ciasteczka to małe pliki tekstowe, które serwer umieszcza na komputerze użytkownika, aby przechowywać informacje między sesjami HTTP. W tym przypadku kod sprawdza, czy zmienna o nazwie $nazwa jest ustawiona w tablicy superglobalnej $_COOKIE. Jeśli ciasteczko o danej nazwie nie zostało ustawione, skrypt zwraca komunikat 'nie ustawiono!'. Gdy ciasteczko istnieje, wyświetlana jest jego wartość. Ciasteczka są powszechnie stosowane do śledzenia sesji użytkowników, przechowywania preferencji czy zachowania stanu zalogowania. Ważnym aspektem jest zrozumienie, że ciasteczka działają po stronie klienta i mogą być modyfikowane przez użytkownika, dlatego powinny być używane z ostrożnością i w połączeniu z innymi mechanizmami zabezpieczeń. Warto pamiętać, że ciasteczka mają ograniczenia co do wielkości i liczby, które mogą być przechowywane przez przeglądarkę. Implementacja ciasteczek powinna być zgodna z regulacjami dotyczącymi prywatności, takimi jak RODO, które nakładają obowiązek informowania użytkowników o ich używaniu oraz uzyskiwania zgody.

Pytanie 7

Kolor wyrażony w modelu RGB(255, 0, 0) to

A. żółty.
B. czerwony.
C. niebieski.
D. zielony.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Barwa zapisana w modelu RGB(255, 0, 0) oznacza maksymalne natężenie kanału czerwonego, co wskazuje, że jest to czysta czerwień. Model RGB, czyli Red, Green, Blue, jest powszechnie stosowany w technologii cyfrowej, w tym w monitorach, telewizorach i urządzeniach mobilnych. W praktyce, wartości w zakresie od 0 do 255 określają intensywność poszczególnych kolorów, gdzie 0 oznacza brak koloru, a 255 jego maksymalną intensywność. Wartości dla zielonego i niebieskiego są zerowe, co oznacza, że nie wpływają na ostateczny kolor. Czerwień (RGB(255, 0, 0)) jest często wykorzystywana w projektowaniu graficznym, na przykład w tworzeniu logo, gdzie symbolizuje energię i pasję. W standardzie sRGB, który jest najczęściej stosowanym profilem kolorów w Internecie, barwy są definiowane w ten sposób, co gwarantuje ich spójność na różnych urządzeniach. Zrozumienie tego modelu kolorów jest kluczowe dla każdej osoby pracującej w dziedzinie grafiki komputerowej, projektowania UI/UX czy programowania webowego.

Pytanie 8

W SQL uprawnienie SELECT przydzielone za pomocą polecenia GRANT umożliwia użytkownikowi bazy danych

A. uzyskiwanie danych z tabeli
B. usuwanie danych z tabeli
C. zmienianie danych w tabeli
D. generowanie tabeli

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Przywilej SELECT w języku SQL, przyznawany przy użyciu polecenia GRANT, umożliwia użytkownikowi baz danych na wykonywanie operacji odczytu danych z określonych tabel. Oznacza to, że użytkownik może pobierać informacje zapisane w tabelach bazy danych, co jest kluczowe dla większości aplikacji korzystających z danych. Na przykład, w kontekście aplikacji analitycznych, dostęp do danych pozwala na generowanie raportów i analiz, które wspierają podejmowanie decyzji. W praktyce, przyznanie przywileju SELECT jest standardową procedurą zabezpieczającą, ponieważ pozwala na kontrolowanie, którzy użytkownicy mogą zobaczyć dane w bazie, minimalizując ryzyko nieautoryzowanego dostępu. Warto również zaznaczyć, że w bazach danych, takich jak MySQL, PostgreSQL czy Oracle, przywileje są zarządzane w sposób hierarchiczny, co oznacza, że użytkownik z przywilejem SELECT może dodatkowo dziedziczyć inne przywileje, co zwiększa elastyczność zarządzania dostępem.

Pytanie 9

W CSS zastosowano stylowanie elementu listy, przy czym żadne inne style CSS nie zostały ustalone. Użyte stylowanie spowoduje, że

li :hover { color: Maroon; }
A. Kolor Maroon będzie dotyczył co drugiego elementu listy.
B. Teksty wszystkich elementów, którym nadano id „hover”, będą w kolorze Maroon.
C. Wszystkie teksty elementów listy będą w kolorze Maroon.
D. Po najechaniu kursorem na element listy, kolor tekstu zmieni się na Maroon.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Twoja odpowiedź jest na pewno trafna, bo reguła CSS li:hover { color: Maroon; } działa w kontekście pseudo-klasy :hover. To znaczy, że jak najedziesz kursorem na element listy (li), to jego kolor tekstu zmienia się na Maroon. Fajnie, że to wiesz! Takie podejście jest zgodne z zasadami CSS, które pozwalają na dynamiczne zmiany wyglądu elementów, gdy użytkownik z nimi interaguje. Na przykład, jeżeli masz listę z elementami <li>, to najeżdżając na nie, kolor tekstu zmienia się na Maroon. To może naprawdę poprawić użytkowanie strony i wyróżnić ważne elementy w interfejsie. Używanie pseudo-klas, jak :hover, to standard w projektowaniu stron, które są responsywne i interaktywne, co znacznie podnosi komfort przeglądania.

Pytanie 10

Jakiego znacznika używa się do definiowania listy definicji w kodzie HTML?

A. <abbr>
B. <td>
C. <dl>
D. <label>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Znacznik <dl> w HTML, oznaczający 'definition list', jest używany do tworzenia list definicyjnych, które składają się z pary elementów: definicji i terminów. W skład takiej struktury wchodzą dwa kluczowe znaczniki: <dt>, który definiuje termin, oraz <dd>, który dostarcza jego definicję. Użycie tego znacznika pozwala na semantyczne i czytelne przedstawienie informacji, co jest istotne zarówno dla użytkowników, jak i dla wyszukiwarek internetowych. Dobrze skonstruowana lista definicyjna zwiększa dostępność treści oraz poprawia SEO strony, gdyż ułatwia robotom indeksującym zrozumienie kontekstu informacji. Na przykład, jeśli stworzymy listę definicyjną dla terminów związanych z technologią, możemy użyć <dl> do przedstawienia pojęć jak 'HTML', 'CSS', 'JavaScript' oraz ich opisów. W ten sposób przedstawiamy skomplikowane informacje w zorganizowanej formie, co jest rekomendowane przez W3C w dokumentacji dotyczącej HTML5, gdzie podkreśla się znaczenie semantyki w tworzeniu stron internetowych.

Pytanie 11

W języku JavaScript funkcja getElementById odnosi się do

A. zmiennej numerycznej
B. elementu HTML z podanym id
C. elementu HTML z określoną nazwą klasy
D. klasy zdefiniowanej w CSS

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Metoda getElementById w języku JavaScript jest kluczowym narzędziem do manipulacji DOM (Document Object Model), które pozwala deweloperom na łatwe odwoływanie się do konkretnych elementów HTML za pomocą ich atrybutu id. Dzięki temu, możemy dynamicznie zmieniać treść, style lub atrybuty tych elementów, co jest niezwykle przydatne w tworzeniu interaktywnych stron internetowych. Na przykład, jeśli mamy element HTML z atrybutem id='header', możemy użyć `document.getElementById('header')` do uzyskania do niego dostępu. To podejście jest zgodne z zasadami poprawnej struktury HTML, gdzie atrybut id powinien być unikalny w obrębie dokumentu. Rekomendowane jest, aby id było zrozumiałe i jasno określało zawartość elementu, co ułatwia późniejszą nawigację i skrypty, a także poprawia dostępność strony. W praktyce, korzystając z getElementById, możemy na przykład zmieniać tekst nagłówka: `document.getElementById('header').innerText = 'Nowy nagłówek';`.

Pytanie 12

Utworzono bazę danych zawierającą tabelę podzespoły, która składa się z pól: model, producent, typ, cena. Aby uzyskać listę wszystkich modeli pamięci RAM od firmy Kingston uporządkowaną według ceny, zaczynając od najniższej, należy wykorzystać zapytanie:

A. SELECT model FROM producent WHERE typ="RAM" OR producent="Kingston" ORDER BY podzespoly ASC
B. SELECT model FROM podzespoly WHERE typ="RAM" AND producent="Kingston" ORDER BY cena DESC
C. SELECT model FROM podzespoly WHERE typ="RAM" OR producent="Kingston" ORDER BY cena DESC
D. SELECT model FROM podzespoly WHERE typ="RAM" AND producent="Kingston" ORDER BY cena ASC

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybór tej odpowiedzi jest prawidłowy, ponieważ kwerenda wykorzystuje poprawną składnię SQL do wyboru modeli pamięci RAM od producenta Kingston. Klauzula WHERE filtruje rekordy, aby uwzględnić tylko te, które mają typ 'RAM' oraz producenta 'Kingston', co jest kluczowe dla uzyskania właściwych wyników. Użycie operatora AND w tym kontekście zapewnia, że obie te cechy muszą być spełnione, co jest zgodne z zamiarem wyświetlenia wszystkich modeli pamięci RAM tego producenta. Dodatkowo, klauzula ORDER BY cena ASC sortuje wyniki w kolejności rosnącej według ceny, co jest wymagane do poprawnego przedstawienia danych od najtańszej do najdroższej pamięci. Takie podejście jest zgodne z dobrymi praktykami SQL, gdzie precyzyjne filtrowanie danych i porządkowanie wyników są kluczowe dla efektywności i dokładności zapytań. W praktyce, takie kwerendy mogą być używane w aplikacjach do zarządzania produktami czy bazach danych e-commerce, aby pomóc użytkownikom w szybkim odnajdywaniu pożądanych produktów w oparciu o konkretne kryteria.

Pytanie 13

Jakim słowem kluczowym w języku z rodziny C można przypisać alternatywną nazwę dla już istniejącego typu danych?

A. enum
B. union
C. typedef
D. switch

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Słowo kluczowe 'typedef' w języku C służy do definiowania alternatywnych nazw dla istniejących typów danych. Dzięki temu programiści mogą tworzyć bardziej czytelny i zrozumiały kod, który jest łatwiejszy w utrzymaniu. Na przykład, jeśli mamy złożony typ danych, taki jak struktura, możemy użyć 'typedef', aby uprościć jego użycie w kodzie. Przykład użycia: 'typedef struct { int x; int y; } Point;' pozwala na użycie 'Point' zamiast 'struct { int x; int y; }' w dalszej części programu, co zwiększa czytelność. Ponadto, stosowanie 'typedef' jest zgodne z najlepszymi praktykami programowania w C, które rekomendują jasność i zwięzłość kodu. Używanie alternatywnych nazw może również ułatwić późniejsze modyfikacje kodu, ponieważ zmiana definicji typu danych w jednym miejscu automatycznie propaguje zmiany w całym kodzie, co jest istotne w większych projektach. Przykłady zastosowania 'typedef' można znaleźć w bibliotekach C, gdzie definiuje się typy dla wskaźników czy tablic, co przyczynia się do lepszego zrozumienia kodu. Warto zaznaczyć, że 'typedef' nie zmienia samego typu danych, a jedynie wprowadza nową nazwę, co jest kluczowe dla zachowania zgodności z normami języka.

Pytanie 14

Model barw o parametrach: odcień, nasycenie, jasność i przezroczystość, to

A. SRGB
B. HSLA
C. RGBA
D. CMYK

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź to HSLA, bo dokładnie ten model opisuje kolor za pomocą czterech parametrów: odcień (Hue), nasycenie (Saturation), jasność (Lightness) i przezroczystość (Alpha). W praktyce w CSS zapis wygląda na przykład tak: `hsla(210, 50%, 40%, 0.7)`. Pierwsza wartość, odcień, to kąt na kole barw w stopniach (0–360), gdzie 0 to czerwony, 120 to zielony, 240 to niebieski itd. Nasycenie i jasność zapisujemy w procentach – nasycenie określa „intensywność” koloru, a jasność to to, czy kolor jest ciemny czy bardzo rozjaśniony. Ostatni parametr, alpha, to kanał przezroczystości w zakresie od 0 (całkowicie przezroczysty) do 1 (całkowicie nieprzezroczysty). Moim zdaniem HSLA jest dużo wygodniejszy od klasycznego RGB przy projektowaniu interfejsów, bo łatwiej myśleć w kategoriach „przyciemnij ten kolor o 20%” albo „zmniejsz trochę nasycenie”, niż ręcznie kombinować z trzema składowymi R, G i B. W nowoczesnym front-endzie często stosuje się HSLA do definiowania palet kolorów, np. w zmiennych CSS, właśnie dlatego, że łatwo jest tworzyć spójne warianty: hover, focus, disabled, tła, obramowania. Dobre praktyki w UI/UX mówią, żeby trzymać stały odcień (Hue) dla jednego typu akcji, a zmieniać głównie jasność i nasycenie, żeby uzyskać różne stany tego samego koloru. Warto też wiedzieć, że HSLA to tak naprawdę tylko inny sposób zapisu kolorów w przestrzeni RGB, ale dużo bardziej „ludzki” w obsłudze. Przeglądarki zgodne ze standardami CSS3 i nowszymi w pełni wspierają HSLA, więc spokojnie można go używać w projektach komercyjnych. Dobrą praktyką jest także świadome korzystanie z kanału alpha, np. do półprzezroczystych nakładek, cieni czy tła pod modale, zamiast używania grafik PNG z przezroczystością.

Pytanie 15

W języku PHP uzyskano wyniki kwerend z bazy danych przy użyciu polecenia mysql_query. Aby wydobyć z otrzymanej kwerendy pojedynczy wiersz danych, konieczne jest użycie polecenia

A. mysql_field_len
B. mysql_list_fields
C. mysql_fetch_row
D. mysql_fetch_lengths

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź mysql_fetch_row jest poprawna, ponieważ to funkcja, która pozwala na pobranie pojedynczego wiersza danych z zasobu zwróconego przez mysql_query. Zwraca ona tablicę, która zawiera wartości poszczególnych pól w wierszu, co umożliwia ich dalsze przetwarzanie. Dzięki tej funkcji programista może łatwo iterować przez wyniki kwerendy, co jest kluczowe w przypadku przetwarzania danych z baz danych. Na przykład, po wykonaniu kwerendy SELECT, można użyć pętli while, aby pobierać kolejne wiersze danych i je wyświetlać. Dobrą praktyką jest również sprawdzenie, czy zasób kwerendy jest poprawny przed użyciem tej funkcji, co pozwoli uniknąć błędów w czasie wykonywania skryptu. Warto dodać, że w nowszych wersjach PHP zaleca się korzystanie z rozszerzenia mysqli lub PDO, które oferują bardziej zaawansowane możliwości i większe bezpieczeństwo przy pracy z bazami danych.

Pytanie 16

Ile razy zostanie wykonany blok pętli napisanej w PHP, przy założeniu, że zmienna sterująca nie jest modyfikowana podczas działania pętli?

for($i=0; $i <=10; $i+=2) {
       . . . . . .
}
A. 0
B. 6
C. 10
D. 5

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to 6 ponieważ pętla for w PHP rozpoczyna się od wartości początkowej zmiennej sterującej i inkrementuje ją zgodnie z określonym krokiem aż do momentu spełnienia warunku końcowego Przy początkowej wartości zmiennej i równej 0 i warunku i<=10 oraz kroku i+=2 pętla wykonuje się dla wartości i równych 0 2 4 6 8 i 10 co daje 6 iteracji W takich przypadkach ważne jest aby zrozumieć jak działają podstawowe elementy składni pętli for oraz jakie jest znaczenie warunku końcowego i kroku iteracji W praktyce taki sposób iteracji jest użyteczny w sytuacjach gdzie przetwarzamy dane w określonych odstępach Warto również zwrócić uwagę że dobra praktyka programistyczna zakłada czytelność kodu i stosowanie jasnych komentarzy zwłaszcza gdy pętla ma bardziej złożoną logikę Dzięki temu kod jest łatwiejszy do zrozumienia i utrzymania przez innych programistów co jest kluczowe w pracy zespołowej oraz długoterminowym rozwijaniu projektu

Pytanie 17

Aby zdefiniować pole w klasie, do którego dostęp mają wyłącznie metody tej klasy i które nie jest dostępne dla klas dziedziczących, należy zastosować kwalifikator dostępu

A. private
B. public
C. published
D. protected

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kwalifikator dostępu 'private' jest kluczowy w programowaniu obiektowym, ponieważ pozwala na ukrycie szczegółów implementacji klasy przed innymi klasami. Deklarując pole klasy jako 'private', zapewniamy, że dostęp do niego mają jedynie metody tej samej klasy, co zwiększa enkapsulację i bezpieczeństwo danych. Na przykład, w języku Java, pole 'private' może być używane do przechowywania stanu obiektu, który nie powinien być bezpośrednio modyfikowany przez inne klasy. Korzystanie z getterów i setterów to jedna z najlepszych praktyk, która pozwala na kontrolowanie dostępu i modyfikacji prywatnych pól. Dzięki temu można wprowadzać dodatkową logikę przy pobieraniu lub ustawianiu wartości, co jest zgodne z zasadą pojedynczej odpowiedzialności. W standardach projektowania oprogramowania, takich jak SOLID, podkreśla się znaczenie ograniczania widoczności pól, co prowadzi do bardziej elastycznej i łatwiejszej w utrzymaniu architektury oprogramowania.

Pytanie 18

SELECT ocena FROM oceny WHERE ocena>2 ORDER BY ocena;
Dana jest tabela oceny o polach id, nazwisko, imie, ocena. Przedstawione zapytanie jest przykładem:
A. sumowania
B. projekcji
C. selekcji
D. łączenia

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zapytanie SQL, które przedstawiłeś, jest naprawdę świetnym przykładem selekcji. Dzięki niemu można wyciągnąć konkretne dane z tabeli 'oceny'. Selekcja to nic innego jak filtracja danych według ustalonych kryteriów, a w tym przypadku chodzi o to, że 'ocena' musi być większa niż 2. Użycie klauzuli WHERE w SQL pozwala na efektywne wyodrębnienie danych spełniających te wymagania. A jak dodasz do tego klauzulę ORDER BY, to możesz posortować wyniki według wybranej kolejności, co jest naprawdę przydatne w różnych analizach. Takie operacje są kluczowe w pracy z bazami danych, bo dzięki nim zdobywasz konkretną wiedzę bez przeszukiwania całej bazy. W praktyce widać to w raportach, gdzie często potrzebne są tylko konkretne dane, przykładowo żeby sprawdzić, którzy studenci osiągnęli określony poziom ocen. Selekcja daje ci możliwość efektywnego zarządzania danymi, a to według mnie bardzo ważne, zwłaszcza w analizach.

Pytanie 19

W HTML-u utworzono formularz. Jaki efekt działania poniższego kodu zostanie pokazany przez przeglądarkę, jeśli w drugie pole użytkownik wprowadził tekst "ala ma kota"?

<form>
    <select>
        <option value="v1">Kraków</option>
        <option value="v2">Poznań</option>
        <option value="v3">Szczecin</option>
    </select><br>
    <input type="password" />
</form>
Ilustracja do pytania
A. D
B. B
C. A
D. C

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź B jest prawidłowa, ponieważ pokazuje typowy sposób renderowania formularza HTML z elementem wyboru i polem hasła w przeglądarce. W kodzie HTML widzimy element select z trzema opcjami wyboru. Po zaznaczeniu jednej z opcji, jak Kraków, tworzy się rozwijane menu, które jest widoczne na obrazie jako pole z wybraną wartością. Drugim elementem formularza jest pole input typu password. Ten typ pola zamienia wpisany tekst na znaki maskujące, takie jak kropki lub gwiazdki, co widzimy na obrazie w odpowiedzi B. To jest standardowe zachowanie przeglądarek w przypadku pól hasła, mające na celu ochronę prywatności. W kodzie HTML nie ma elementów typu checkbox ani radio, co eliminowałoby inne prezentacje danych, takie jak checkboxy czy przyciski radiowe. Dobrą praktyką jest używanie pól hasła w formularzach tam, gdzie wymagane jest wprowadzenie danych, które powinny być chronione. Odpowiednie użycie elementów HTML zwiększa użyteczność i bezpieczeństwo aplikacji internetowej i jest zgodne z konwencjami projektowania UI.

Pytanie 20

Na tabeli Pracownicy, której wiersze są przedstawione na załączonym obrazie, została zrealizowana podana kwerenda SELECT. Jakie dane zostaną zwrócone?

SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;
idimienazwiskostanowisko
1AnnaKowalska1
2MonikaNowak2
3EwelinaNowakowska2
4AnnaPrzybylska3
5MariaKowal3
6EwaNowacka4
A. Wyłącznie Maria
B. Anna, Maria, Ewa
C. Wyłącznie Anna
D. Monika, Ewelina, Maria

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kwerenda SQL SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2 ma na celu wybranie imion pracowników, którzy spełniają przynajmniej jeden z dwóch warunków. Pierwszy warunek to nazwisko równe Kowal. Drugi warunek dotyczy stanowiska większego niż 2. W analizowanej tabeli mamy trzy osoby spełniające te kryteria: Maria, która ma nazwisko Kowal oraz Anna i Ewa, które mają stanowiska odpowiednio 3 i 4. Dobrą praktyką w pisaniu zapytań SQL jest jasne formułowanie warunków w klauzuli WHERE, aby zoptymalizować działanie bazy danych i uniknąć niepotrzebnych wyników. Zrozumienie działania operatora OR jest kluczowe, ponieważ umożliwia filtrowanie rekordów według wielu kryteriów. W rzeczywistych scenariuszach biznesowych umiejętność tworzenia takich złożonych zapytań pozwala na efektywne zarządzanie danymi i wyciąganie istotnych informacji, co jest podstawą podejmowania decyzji opartych na danych. Dodatkowo, znajomość struktury tabeli oraz typów danych ułatwia formułowanie zapytań, co jest kluczowe w profesjonalnym używaniu SQL.

Pytanie 21

Przygotowano fragment kodu PHP z zadeklarowaną zmienną tablicową. Jaki wynik zostanie wyświetlony jako imię po wykonaniu tego kodu?

$imiona = array('Anna', 'Tomasz', 'Krzysztof', 'Aleksandra');
echo $imiona[2];
A. Aleksandra
B. Tomasz
C. Anna
D. Krzysztof

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź Krzysztofa jest całkiem trafna, bo w PHP zaczynamy liczenie od zera. Czyli mamy pierwszy element na pozycji 0, drugi na 1, a trzeci na 2. W tym przypadku zmienna imiona to tablica z czterema elementami: 'Anna', 'Tomasz', 'Krzysztof' oraz 'Aleksandra'. Gdy używamy echo $imiona[2], to tak naprawdę sięgamy po trzeci element, czyli 'Krzysztofa'. Zasada indeksowania od zera jest właściwie standardem w wielu językach programowania, jak C, JavaScript czy Python. Dzięki temu PHP staje się bardziej spójne z innymi językami. To pozwala lepiej zarządzać danymi w kodzie, bo każdy element ma swój unikalny indeks. Ważne jest, żeby to zapamiętać, bo dzięki temu można unikać błędów, które wynikają z niewłaściwego dostępu do elementów tablic. No i lepiej wiedzieć, że wykraczający indeks może prowadzić do różnych problemów, więc warto zrozumieć to zagadnienie.

Pytanie 22

W języku CSS atrybut font-size przyjmuje, zgodnie z nazwami, wartości

A. wyłącznie small, medium, large
B. zaledwie big oraz small
C. z zestawu xx-small, x-small, medium, large, x-large, xx-large
D. jedynie small, smaller, large, larger

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Właściwość font-size w CSS pozwala na określenie rozmiaru czcionki za pomocą różnych wartości, w tym predefiniowanych słów kluczowych, które umożliwiają łatwe dostosowanie wielkości tekstu w dokumentach HTML. Oprócz typowych wartości takich jak small, medium i large, CSS oferuje również bardziej szczegółowe opcje, takie jak xx-small, x-small, x-large oraz xx-large. Dzięki temu projektanci mogą lepiej dopasować rozmiar tekstu do kontekstu wizualnego strony. Użycie tych wartości pozwala na uniknięcie problemów z uniwersalnością, gdyż są one zrozumiałe i zgodne z różnymi rozdzielczościami ekranów. Na przykład, podczas projektowania responsywnej witryny, zastosowanie wartości xx-large dla nagłówków oraz x-small dla przypisów skutecznie poprawia czytelność i estetykę. Zgodnie z najlepszymi praktykami, warto również rozważyć użycie jednostek względnych, takich jak em czy rem, co pozwala na jeszcze większą elastyczność w dostosowywaniu rozmiarów tekstu do preferencji użytkownika oraz rozmiaru ekranu.

Pytanie 23

Jakim zapisem w dokumencie HTML można stworzyć element, który wyświetli obraz kotek.jpg oraz tekst alternatywny "obrazek kotka"?

A. <img src="kotek.jpg" alt="obrazek kotka">
B. <img href="kotek.jpg" alt="obrazek kotka">
C. <img href="kotek.jpg" title="obrazek kotka">
D. <img src="kotek.jpg" title="obrazek kotka">

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź <img src="kotek.jpg" alt="obrazek kotka"> jest poprawna, ponieważ zawiera element <img>, który jest standardowym rozwiązaniem do wyświetlania obrazów w dokumentach HTML. Atrybut src określa ścieżkę do pliku obrazu, co jest kluczowe dla poprawnego załadowania grafiki na stronie. Atrybut alt z kolei pełni istotną rolę w zapewnieniu dostępności treści; tekst alternatywny wyświetla się w przypadku, gdy obraz nie może zostać załadowany lub jest odczytywany przez programy dla osób niewidomych. Zastosowanie odpowiednich atrybutów jest zgodne z wytycznymi W3C dotyczącymi dostępności, co pozwala na tworzenie bardziej przyjaznych dla użytkowników stron internetowych. W praktyce, prawidłowe wykorzystanie atrybutu alt jest również korzystne dla SEO, ponieważ wyszukiwarki analizują te opisy przy ocenie kontekstu strony. Ważne jest, aby zawsze stosować zarówno src, jak i alt, aby zapewnić pełnię funkcji obrazu na stronie.

Pytanie 24

Jakie wyrażenie logiczne powinno zostać użyte w języku JavaScript, aby przeprowadzić operacje wyłącznie na dowolnych liczbach ujemnych z zakresu jednostronnie domkniętego <-200, -100)?

A. (liczba <= -200) && (liczba < -100)
B. (liczba >= -200) && (liczba < -100)
C. (liczba >= -200) || (liczba > -100)
D. (liczba <= -200) || (liczba > -100)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź, (liczba >= -200) && (liczba < -100), jest zgodna z wymaganym zakresem liczb ujemnych. Wyrażenie to sprawdza, czy wartość zmiennej 'liczba' jest większa lub równa -200, a jednocześnie mniejsza niż -100. Oznacza to, że przyjmuje wszystkie liczby z przedziału, w tym -200, ale nie uwzględnia -100. To podejście jest zgodne z praktykami programowania, gdzie istotne jest dokładne definiowanie zakresów. W JavaScript stosowanie operatorów logicznych, takich jak &&, umożliwia precyzyjne warunkowanie wykonania kodu, co jest niezbędne do sprawnego zarządzania błędami oraz zwiększa czytelność kodu. Przykładowo, w kontekście walidacji danych, takie wyrażenie można wykorzystać do filtrowania nieprawidłowych wartości przed ich przetwarzaniem. Umożliwia to lepsze zarządzanie danymi oraz zapobiega błędom w aplikacjach. Zastosowanie tego wyrażenia w praktyce pokazuje, jak ważne jest precyzyjne formułowanie warunków, co jest kluczowym elementem skutecznego programowania.

Pytanie 25

W aplikacji PHP, która zarządza bazą danych, aby uzyskać numer błędu oraz jego opis po dokonaniu jakiejkolwiek operacji, jakie funkcje powinny być wykorzystane?

A. funkcje mysqli_error i mysqli_connect_errno
B. funkcje mysqli_error i mysqli_errno
C. tylko funkcję mysqli_error
D. funkcje mysqli_error i mysqli_error_number

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź zawierająca funkcje mysqli_error i mysqli_errno jest prawidłowa, ponieważ obie te funkcje dostarczają istotnych informacji dotyczących błędów w kontekście operacji na bazie danych w PHP. Funkcja mysqli_error() zwraca opis ostatniego błędu, który wystąpił w kontekście połączenia z bazą danych. Natomiast mysqli_errno() zwraca numer tego błędu, co jest niezwykle przydatne w diagnostyce. Używanie obu funkcji razem pozwala nie tylko zidentyfikować błąd, ale również zrozumieć jego istotę. Na przykład, jeśli próbujemy wykonać zapytanie, które jest błędne syntaktycznie, można użyć tych funkcji do uzyskania zarówno komunikatu o błędzie, jak i jego kodu, co ułatwia debugowanie. W praktyce, stosowanie tych funkcji jest zgodne z najlepszymi praktykami w programowaniu PHP, ponieważ umożliwia skuteczne zarządzanie wyjątkami i błędami, co jest kluczowe w zapewnieniu stabilności aplikacji.

Pytanie 26

Funkcją zaprezentowanego kodu PHP jest napełnienie tablicy $tab 10 losowymi liczbami z przedziału od -100 do 100, a następnie wypisanie liczb ujemnych. Kod prezentuje się następująco:

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

foreach ($tab as $x)
{
    if ($x < 0)
        echo "$x ";
}
A. kolejnymi liczbami od -100 do 100 oraz wypisanie liczb ujemnych
B. 100 losowymi liczbami, a następnie wypisanie liczb dodatnich
C. kolejnymi liczbami od 0 do 9 i ich wyświetlenie
D. 10 losowymi wartościami, a następnie wypisanie liczb ujemnych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Przedstawiony kod w języku PHP ma na celu wypełnienie tablicy dziesięcioma losowymi wartościami i wypisanie tych, które są ujemne. Funkcja rand(-100, 100) generuje liczby losowe z zakresu od -100 do 100. W pętli for wykonujemy dziesięć iteracji, co umożliwia dodanie dziesięciu takich liczb do tablicy. Następnie, za pomocą pętli foreach, iterujemy przez wszystkie elementy tablicy. Instrukcja warunkowa if sprawdza, czy każda z wartości jest mniejsza od zera. Jeśli warunek jest spełniony, liczba jest wypisywana na ekran. Takie podejście jest często stosowane w programowaniu, gdy wymagana jest praca z losowymi danymi w celu testowania lub symulacji. W praktycznych zastosowaniach można użyć tej metody do filtrowania danych lub analizy wyników eksperymentalnych, gdzie konieczne jest zidentyfikowanie i obsługa wartości o określonych właściwościach. Dobre praktyki programistyczne nakazują dokumentowanie takich fragmentów kodu, aby ułatwić zrozumienie i utrzymanie projektu przez innych deweloperów.

Pytanie 27

Jaki będzie efekt wykonania poniższego kodu JavaScript?

var akapit = document.createElement("p");
document.body.appendChild(akapit);
A. Wstawienie akapitu na szczycie strony
B. Skasowanie akapitu ze strony
C. Dodanie akapitu na końcu strony
D. Pokazanie okna dialogowego z napisem akapit

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kod JavaScript przedstawiony w pytaniu tworzy nowy element paragrafu HTML za pomocą metody document.createElement("p") i dodaje go na koniec elementu body strony za pomocą metody appendChild(). Dlatego poprawna odpowiedź to dodanie akapitu na koniec strony. Tworzenie elementów dynamicznie w JavaScript to kluczowa funkcja umożliwiająca manipulację modelem DOM (Document Object Model) co jest podstawą dynamicznego interfejsu użytkownika. Przykłady zastosowań obejmują dodawanie nowych elementów do listy rozwijanej formularza aktualizację zawartości strony bez konieczności jej przeładowywania czy dodawanie interaktywnych komponentów. Zgodnie z dobrymi praktykami warto pamiętać o konieczności optymalizacji operacji na DOM ponieważ mogą być kosztowne obliczeniowo. Efektywne zarządzanie drzewem DOM wymaga także znajomości innych metod takich jak insertBefore czy replaceChild które pozwalają na bardziej zaawansowane manipulacje struktury dokumentu. Przy projektowaniu dynamicznych aplikacji webowych należy zawsze pamiętać o zachowaniu dostępności i semantyki HTML co jest istotne z punktu widzenia SEO i użyteczności strony.

Pytanie 28

W tabeli produkt znajdują się przedmioty wyprodukowane po roku 2000, z kolumnami nazwa i rok_produkcji. Klauzula SQL pokaże listę przedmiotów wyprodukowanych

SELECT * FROM `produkt` WHERE SUBSTR(rok_produkcji,3,2)=17;
A. w latach innych niż 2017
B. w roku 2017
C. po roku 2017
D. przed rokiem 2017

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybór odpowiedzi "w roku 2017" jest prawidłowy, ponieważ zapytanie SQL stosuje funkcję SUBSTR do wydobycia części roku produkcji. Funkcja ta zaczyna od trzeciego znaku w łańcuchu reprezentującym rok produkcji i zwraca dwa znaki, co w przypadku roku 2017 daje nam '17'. W związku z tym zapytanie wyświetli jedynie te przedmioty, których rok produkcji kończy się na '17', co obejmuje rok 2017. Zastosowanie funkcji SUBSTR jest częstą praktyką w SQL, gdy chcemy analizować lub filtrować dane tekstowe według określonych wzorców. Na przykład, w przypadku bazy danych produktów, możemy wykorzystać tę metodę do kategoryzowania towarów według roczników lub do analizy sprzedaży w danym roku. Dobrą praktyką jest także zapewnienie, że dane w kolumnie rok_produkcji są przechowywane w jednolitym formacie, co ułatwia ich przetwarzanie i analizę.

Pytanie 29

Wskaż poprawne zdanie dotyczące poniższego polecenia. ```CREATE TABLE IF NOT EXISTS ADRES (ulica VARCHAR(70)) CHARACTER SET utf8); ```

A. IF NOT EXISTS używa się opcjonalnie, żeby potwierdzić, że taka tabela nie istnieje w bazie danych
B. Rekord tabeli nie może mieć wartości 3 MAJA
C. Nie można dodawać do tabeli ulic, które zawierają polskie znaki w nazwie
D. Klauzula CHARACTER SET utf8 jest wymagana

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klauzula IF NOT EXISTS w poleceniu CREATE TABLE jest używana do zapobiegania błędom, które mogą wystąpić, gdy próbujesz stworzyć tabelę, która już istnieje w danej bazie danych. Dzięki temu operatorowi, jeśli tabela o podanej nazwie już istnieje, polecenie nie zostanie wykonane, co pozwala na uniknięcie konfliktów oraz zbędnych błędów w aplikacji. Jest to szczególnie przydatne w sytuacjach, gdy skrypty są uruchamiane wielokrotnie, na przykład podczas aktualizacji lub migracji bazy danych. Użycie IF NOT EXISTS jest opcjonalne, ale zalecane dla poprawności i stabilności kodu SQL. Przykład praktyczny: można stworzyć tabelę 'klienci' z poleceniem 'CREATE TABLE IF NOT EXISTS klienci (id INT PRIMARY KEY, imie VARCHAR(100));', co zapobiega próbie utworzenia tabeli, która już istnieje. Zgodnie z standardami SQL, operator ten jest powszechnie akceptowany w większości systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL czy SQLite, co czyni go uniwersalnym rozwiązaniem w projektach opartych na bazach danych.

Pytanie 30

Jeśli zmienna $x przechowuje dowolną dodatnią liczbę naturalną, przedstawiony kod źródłowy PHP ma za zadanie wyświetlić:

$licznik = 0;
while ($licznik != $x)
{
    echo $licznik;
    $licznik++;
}
A. kolejne liczby od x do 0
B. losowe liczby z przedziału (0, x)
C. kolejne liczby od 0 do x-1
D. liczby wczytywane z klawiatury, tak długo aż zostanie wczytana wartość x

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Właściwa odpowiedź sugeruje, że kod PHP wyświetla liczby naturalne od 0 do x-1. Przez inicjalizację zmiennej $licznik wartością 0 i stopniowe zwiększanie jej wartości o 1 w każdej iteracji pętli while, aż do osiągnięcia wartości $x, proces ten jest realizowany. Jest to typowy przykład użycia pętli while w programowaniu, gdzie chcemy wykonać dane działanie wielokrotnie, zazwyczaj do momentu, gdy spełniony jest określony warunek. Zastosowanie takiego podejścia jest powszechne nie tylko w PHP, ale w większości języków programowania. W tym konkretnym przypadku, zastosowanie pętli while pozwala na efektywne wygenerowanie liczby naturalnej w określonym zakresie, co jest często potrzebne w różnych algorytmach czy operacjach matematycznych.

Pytanie 31

Jaką wartość zwróci zapytanie z ramki wykonane na pokazanej tabeli? ```SELECT COUNT(DISTINCT wykonawca) FROM muzyka;```

Ilustracja do pytania
A. 1
B. 0
C. 3
D. 4

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zapytanie SQL SELECT COUNTDISTINCT wykonawca) FROM muzyka; ma na celu zliczenie unikalnych wartości w kolumnie wykonawca tabeli muzyka. W tym przypadku w tabeli są trzy różne wartości w tej kolumnie: Czesław Niemen Stan Borys i Mikołaj Czechowski. Funkcja COUNTDISTINCT zwraca liczbę niepowtarzających się wykonawców co w tym zestawie danych daje wynik 3. Zrozumienie użycia funkcji COUNTDISTINCT jest kluczowe w analizie danych szczególnie gdy chcemy określić liczebność unikalnych elementów w dużych zbiorach danych. To podejście jest szeroko stosowane w raportowaniu i analizach biznesowych gdzie istotne jest zidentyfikowanie niepowtarzalnych wpisów na przykład liczby unikalnych klientów czy produktów w sklepie. Dobre praktyki w SQL obejmują używanie aliasów w celu zwiększenia czytelności zapytań oraz optymalizację wydajności przez właściwe indeksowanie kolumn które są często wykorzystywane w funkcjach zliczających.

Pytanie 32

Dana jest tabela ksiazki z polami: tytul, autor, cena (typu liczbowego). Aby kwerenda SELECT wybrała tylko tytuły, dla których cena jest mniejsza od 50 zł, należy zapisać

A. SELECT * FROM ksiazki WHERE cena < 50;
B. SELECT ksiazki FROM tytul WHERE cena < '50 zł';
C. SELECT tytul FROM ksiazki WHERE cena > '50 zł';
D. SELECT tytul FROM ksiazki WHERE cena < 50;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź wybiera dokładnie to, o co chodzi w treści zadania: tylko kolumnę tytul z tabeli ksiazki, ale tylko dla tych rekordów, gdzie cena jest mniejsza niż 50. Składnia SELECT tytul FROM ksiazki WHERE cena < 50; jest zgodna ze standardowym SQL i pokazuje dobrą praktykę – pobieramy tylko te dane, które są nam potrzebne, zamiast używać SELECT *. Dzięki temu zapytanie jest lżejsze, szybsze i czytelniejsze, co w większych projektach ma naprawdę duże znaczenie. Moim zdaniem warto zwrócić uwagę na kilka elementów. Po pierwsze, w klauzuli SELECT podajemy konkretne nazwy kolumn (tu: tytul), nie nazwę tabeli. Po drugie, w FROM podajemy dokładnie nazwę tabeli, z której korzystamy (ksiazki). Po trzecie, warunek WHERE cena < 50 poprawnie porównuje wartość liczbową, bo kolumna cena ma typ liczbowy, więc nie używamy tu cudzysłowów ani żadnych „zł” w środku. W praktyce podobny wzorzec stosuje się cały czas, np.: SELECT tytul, autor FROM ksiazki WHERE cena <= 30; żeby dostać tańsze książki, albo SELECT tytul FROM ksiazki WHERE cena BETWEEN 20 AND 40; gdy interesuje nas konkretny przedział. W profesjonalnych aplikacjach webowych taka precyzja w definiowaniu zapytań SQL jest podstawą: ułatwia optymalizację, indeksowanie kolumn (np. indeks na kolumnie cena przyspiesza filtrowanie w WHERE) i minimalizuje przesyłanie niepotrzebnych danych między bazą a aplikacją. Dobra praktyka jest też taka, żeby dostosowywać typy danych: skoro cena jest liczbą, to porównujemy ją z liczbą, bez jednostek, a formatowanie typu „50 zł” robimy później w warstwie prezentacji, np. w PHP, JavaScript albo w szablonach widoków.

Pytanie 33

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. wykluczenia.
B. części wspólnej.
C. sumy.
D. grupowania.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 34

Wskaźnik HTML, który umożliwia oznaczenie tekstu jako błędnego lub nieodpowiedniego poprzez jego przekreślenie, to jaki?

A. <s> </s>
B. <em> </em>
C. <u> </u>
D. <b> </b>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Element <s> w HTML służy do oznaczania tekstu jako nieaktualnego, błędnego albo już nieobowiązującego poprzez jego przekreślenie. Przeglądarka domyślnie renderuje taki fragment z poziomą linią przez środek tekstu. W praktyce używa się go np. przy cenach promocyjnych: <p>Stara cena: <s>199 zł</s> Nowa cena: 149 zł</p> albo przy korektach treści, kiedy chcemy pokazać, że coś zostało zmienione, ale wciąż widoczne jest, co było wcześniej. Warto wiedzieć, że historycznie do podobnych celów używano też <strike>, ale ten znacznik jest przestarzały (deprecated) w standardzie HTML i nie powinien być już stosowany. Moim zdaniem lepiej od razu przyzwyczajać się do poprawnych, aktualnych tagów, bo to się później opłaca przy większych projektach. W nowszych specyfikacjach HTML5 zaleca się stosowanie <s> właśnie do treści nieaktualnych, ale nie takich, które zostały formalnie wycofane – do tego jest znacznik <del>, który dodatkowo semantycznie wskazuje usunięcie fragmentu, często używany w systemach kontroli wersji treści. Z mojego doświadczenia warto rozróżniać <s>, <del> i <ins>, bo w połączeniu z CSS i narzędziami do dostępności (np. czytnikami ekranu) daje to lepszą semantykę dokumentu. Dobrą praktyką jest też nie nadużywać przekreśleń tylko dla „efektu wizualnego” – jeśli chcesz coś tylko wyróżnić graficznie, lepiej użyć CSS, a znaczników semantycznych używać zgodnie z ich przeznaczeniem.

Pytanie 35

Z przedstawionych tabel Artykuly i Autorzy należy wybrać jedynie nazwiska autorów i tytuły ich artykułów, które zostały ocenione na 5. Kwerenda wybierająca te dane ma postać

Ilustracja do pytania
A. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = artykuly.id;
B. SELECT nazwisko, tytul FROM autorzy, artykuly WHERE ocena == 5;
C. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;
D. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje! Wybrałeś poprawne zapytanie SQL, które dokładnie odpowiada na postawione pytanie. Zapytanie 'SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;' jest prawidłowe, bo łączy dwie tabele 'autorzy' i 'artykuly' za pomocą klucza obcego 'autorzy_id' w tabeli 'artykuly'. Dzięki temu uzyskujemy dostęp do nazwisk autorów i tytułów artykułów. Dodatkowo, część 'WHERE ocena = 5' filtruje wyniki tak, aby wyświetlane były tylko te rekordy, gdzie ocena wynosi 5. To jest kluczowy element, który pozwala nam skupić się tylko na tych danych, które są istotne dla pytania. W praktyce, tego typu zapytania pomagają nam w analizie wydajności autorów i jakości artykułów, co jest niezwykle ważne w branży wydawniczej.

Pytanie 36

Jakie mechanizmy przyznawania zabezpieczeń, umożliwiające przeprowadzanie operacji na bazie danych, są powiązane z tematyką zarządzania kontami, użytkownikami oraz uprawnieniami?

A. Z przywilejami systemowymi
B. Z atrybutami
C. Z przywilejami obiektowymi
D. Z zasadami

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Przywileje systemowe to kluczowy element zarządzania bezpieczeństwem w systemach baz danych. Obejmują one uprawnienia, które są przypisane do konta użytkownika na poziomie systemu, a niekoniecznie na poziomie obiektów bazy danych, takich jak tabele czy widoki. Dzięki nim możemy kontrolować dostęp do różnych funkcji systemowych, takich jak możliwość tworzenia nowych użytkowników, modyfikacji struktury bazy danych czy przydzielania uprawnień innym użytkownikom. Przykładem zastosowania przywilejów systemowych jest sytuacja, w której administrator bazy danych przydziela użytkownikom różne role, takie jak DBA (Database Administrator), która daje pełny dostęp do zasobów, lub rola z ograniczonymi uprawnieniami, co pozwala na wykonywanie tylko wybranych operacji. Dobrym przykładem standardów w tej dziedzinie jest podejście oparte na zasadzie minimalnych uprawnień, gdzie użytkownicy otrzymują jedynie te uprawnienia, które są absolutnie niezbędne do wykonywania ich zadań. Dzięki zastosowaniu przywilejów systemowych można skutecznie zarządzać bezpieczeństwem bazy danych oraz minimalizować ryzyko nieautoryzowanego dostępu.

Pytanie 37

Testy związane ze skalowalnością aplikacji mają na celu zweryfikowanie, czy program

A. jest właściwie opisany w dokumentacji
B. jest w stanie funkcjonować przy zaplanowanym i większym obciążeniu
C. posiada odpowiednie funkcje
D. jest chroniony przed nieautoryzowanymi działaniami, np. dzieleniem przez zero

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź mówiąca o tym, że aplikacja potrafi działać przy zakładanym i większym obciążeniu, jest kluczowa, gdyż skalowalność oprogramowania odnosi się do zdolności systemu do efektywnego działania w warunkach wzrastającego zapotrzebowania na zasoby. Oznacza to, że aplikacja powinna być w stanie obsługiwać rosnącą liczbę użytkowników, transakcji lub innych operacji bez degradacji wydajności. Przykładem może być system e-commerce, który w okresie wyprzedaży musi obsługiwać znacznie więcej użytkowników niż w normalnych okolicznościach. Aby zapewnić skalowalność, programiści mogą wykorzystywać różne architektury, takie jak mikroserwisy, które pozwalają na niezależne skalowanie poszczególnych komponentów aplikacji. Dobre praktyki obejmują również wykorzystanie chmurowych rozwiązań, takich jak AWS czy Azure, które oferują elastyczność i automatyczne skalowanie w odpowiedzi na wzrost obciążenia. Warto także wdrażać mechanizmy monitorowania i optymalizacji wydajności, aby na bieżąco dostosowywać zasoby do potrzeb użytkowników.

Pytanie 38

W hurtowni danych stworzono tabelę sprzedaz, która zawiera pola: id, kontrahent, grupa_cenowa, obrot. Jakie polecenie trzeba zastosować, aby znaleźć tylko kontrahentów z grupy cenowej numer dwa, których obrót przekracza 4000 zł?

A. SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa = 2 AND obrot > 4000;
B. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 AND obrot > 4000;
C. SELECT sprzedaz FROM kontrahent WHERE obrot > 4000;
D. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 OR obrot > 4000;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Twoja odpowiedź jest na właściwej drodze. Wykorzystałeś klauzulę SELECT w zapytaniu SQL, żeby wydobyć konkretne dane z tabeli sprzedaz. Świetnie, że zastosowałeś WHERE z warunkami 'grupa_cenowa = 2' oraz 'obrot > 4000', bo to dokładnie filtruje wyniki do tych kontrahentów, którzy są w drugiej grupie cenowej i mają obrót większy niż 4000 zł. Takie operacje są bardzo ważne w analizie danych, szczególnie w hurtowniach danych, gdzie musisz dobrze filtrować i agregować informacje, żeby wyciągnąć sensowne wnioski. W praktyce takie zapytania mogą być przydatne przy tworzeniu raportów sprzedażowych czy ocenie rentowności klientów. Warto też pamiętać, żeby tabele i kolumny były jasno nazwane, bo to zdecydowanie ułatwia tworzenie zapytań SQL.

Pytanie 39

Wskaż funkcję JavaScript, która umożliwia obliczenie połowy kwadratu liczby podanej jako argument.

A. function wynik(a) { return 2*a/a; }
B. function wynik(a) { return a*a/2; }
C. function wynik(a) { return a*2/2; }
D. function wynik(a) { return a/2+a/2; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja 'wynik' w postaci 'function wynik(a) { return a*a/2; }' poprawnie oblicza połowę kwadratu liczby 'a', co można zapisać matematycznie jako (a^2)/2. Takie podejście jest zgodne z definicją funkcji w programowaniu, gdzie argument 'a' jest przekazywany jako parametr, a następnie wykorzystany w obliczeniach. Przykładowo, jeśli przekazalibyśmy liczbę 4, wynik funkcji wyniósłby (4*4)/2 = 8. W praktycznych zastosowaniach, takie obliczenia mogą być przydatne w różnych dziedzinach, jak grafika komputerowa, gdzie oblicza się pola powierzchni, czy inżynieria, gdzie analizuje się różne parametry techniczne. Użycie operatora mnożenia i dzielenia zapewnia, że wyniki są zgodne z oczekiwaniami matematycznymi, co jest zgodne z najlepszymi praktykami programistycznymi, polegającymi na precyzyjnym oddzieleniu operacji arytmetycznych i dbałości o czytelność kodu.

Pytanie 40

Jakim sposobem w języku PHP można zapisać komentarz zajmujący kilka linii?

A. #
B. /* */
C. //
D. <!-- -->

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W języku PHP, sposób komentowania bloku komentarza w kilku liniach to użycie znaków /* i */. Taki sposób pozwala na umieszczenie dowolnej ilości tekstu w obrębie tych znaków, co jest niezwykle przydatne, gdy chcemy opisać bardziej złożoną funkcję lub fragment kodu. Na przykład, w czasie tworzenia dokumentacji kodu, często stosujemy bloki komentarzy do szczegółowego opisania działania funkcji, parametrów oraz zwracanych wartości. Dzięki temu każdy programista, który będzie pracował z naszym kodem w przyszłości, może szybko zrozumieć jego przeznaczenie. Dobrą praktyką jest również umieszczanie daty aktualizacji oraz informacji o autorze w takich blokach, co ułatwia zarządzanie projektem. Stosowanie bloków komentarzy jest zgodne z konwencjami programistycznymi, co zwiększa czytelność kodu i jego późniejszą konserwację.