Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 20:56
  • Data zakończenia: 8 czerwca 2026 21:15

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

W CSS zapis selektora p > i { color: red; } wskazuje, że kolor czerwony zostanie zastosowany do

A. wszystkiego tekstu w znaczniku <p> z wyjątkiem tekstu w znaczniku <i>
B. wyłącznie tekstu w znaczniku <i>, który znajduje się bezpośrednio wewnątrz znacznika <p>
C. wszelkiego tekstu w znaczniku <p> lub wszelkiego tekstu w znaczniku <i>
D. tylko tego tekstu w znaczniku <p>, który ma przypisaną klasę o nazwie i
Zrozumienie selektorów CSS jest kluczowe dla ich poprawnego zastosowania. W przypadku analizy odpowiedzi, które nie są poprawne, istnieją podstawowe błędy w interpretacji selektorów. Wskazanie, że każdy tekst w znaczniku <p> lub <i> miałby być sformatowany, świadczy o mylnym rozumieniu, jak działają selektory CSS. Selekcja całej zawartości <p> lub <i> ignoruje kluczowy element selektora, jakim jest symbol '>', który precyzyjnie definiuje relację między elementami. Z kolei stwierdzenie, że każdy tekst w znaczniku <p> za wyjątkiem tych w znaczniku <i> byłby formatowany, także wprowadza w błąd, ponieważ nie ma to zastosowania do selektora dzieci. W rzeczywistości, forma ta nie wprowadza w życie żadnych reguł CSS i prowadzi do nieporozumień. Pojęcie przypisania klasy w kontekście selektora określającego <i> jest również mylące; klasy są definiowane oddzielnie i nie mają wpływu na znaczniki bezpośrednio. Kluczowe jest, aby w zrozumieniu CSS zwracać uwagę na hierarchię i relacje między elementami, co pozwala na efektywną kontrolę nad stylem prezentacji treści w dokumentach HTML.

Pytanie 2

Polecenie serwera MySQL postaci

REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost'
sprawi, że użytkownikowi tKowal zostaną
A. odebrane uprawnienia usuwania i dodawania rekordów w tabeli pracownicy
B. przydzielone uprawnienia do wszelkiej zmiany struktury tabeli pracownicy
C. przydzielone uprawnienia do usuwania i aktualizowania danych w tabeli pracownicy
D. odebrane uprawnienia usuwania i modyfikowania danych w tabeli pracownicy
Wszystkie niepoprawne odpowiedzi dotyczą różnych aspektów zarządzania uprawnieniami w MySQL, ale nie odzwierciedlają skutków działania polecenia REVOKE. W pierwszej z nieprawidłowych odpowiedzi stwierdza się, że użytkownik otrzymuje prawa do usuwania i aktualizowania danych w tabeli 'pracownicy'. Jest to nieprawda, ponieważ komenda REVOKE ma na celu odebranie, a nie przydzielenie jakichkolwiek uprawnień. Kolejna odpowiedź sugeruje, że użytkownik traci prawa do usuwania i dodawania rekordów w tabeli. Chociaż uprawnienie do usuwania jest słuszne, dodawanie rekordów (INSERT) nie zostało wymienione w poleceniu REVOKE, więc ta odpowiedź jest myląca. Ostatnia niepoprawna opcja wskazuje, że użytkownik zyskuje prawa do zmiany struktury tabeli 'pracownicy'. W rzeczywistości REVOKE nie ma nic wspólnego z uprawnieniami związanymi ze strukturą tabeli, takimi jak ALTER czy CREATE. Właściwe zrozumienie mechanizmów zarządzania uprawnieniami jest kluczowe dla zapewnienia bezpieczeństwa danych oraz skutecznego zarządzania bazą danych w MySQL.

Pytanie 3

Który z poniższych kodów HTML spowoduje taki sam efekt formatowania jak na zaprezentowanym rysunku?

Ilustracja do pytania
A. <p>W tym <b>paragrafie <i>zobaczysz</i> sposoby formatowania</b> tekstu w HTML</p>
B. <p>W tym <i>paragrafie zobaczysz sposoby formatowania</i> tekstu w HTML</p>
C. <p>W tym <i>paragrafie <b>zobaczysz</b> sposoby formatowania </i> tekstu w HTML</p>
D. <p>W tym <i>paragrafie </i><b>zobaczysz</b><i> sposoby formatowania</i> tekstu w HTML</p>
W błędnych odpowiedziach chodzi głównie o to, że znaczników HTML używasz niepoprawnie, przez co efekt wygląda inaczej niż na obrazku. Tag <i> ma być do kursywy, a <b> do pogrubienia. Trzeba zrozumieć, jak te znaczniki współdziałają, żeby uzyskać zamierzony efekt. Często ludzie mylą kolejność lub używają tylko jednego z nich, co psuje całe formatowanie. No i nie zapominaj, że czasem może być trudno zrozumieć, jak znacznik w HTML wpływa na inne. Każdy z nich ma swoją rolę, więc warto wiedzieć, co robi. W kontekście semantycznego HTML, dobrze jest używać odpowiednich znaczników nie tylko dla stylu, ale też dla poprawnej struktury. Chociaż najlepiej jest używać CSS do rozdzielenia stylów od treści, to w niektórych przypadkach, tak jak w tym, proste znaczniki HTML też mają swoje miejsce. Wiedza o tym, jak poprawnie używać znaczników, jest niezbędna do budowania ładnych i uporządkowanych stron oraz aplikacji internetowych.

Pytanie 4

Który z formatów plików dźwiękowych zapewnia największą redukcję rozmiaru pliku?

A. CD-Audio
B. PCM
C. MP3
D. WAV
Pozostałe formaty nie kompresują dźwięku (lub robią to znikomo), więc dają duże pliki. WAV to zwykle kontener z nieskompresowanym sygnałem, podobnie jak PCM, czyli surowy zapis próbek dźwięku - oba zachowują pełną jakość kosztem rozmiaru. CD-Audio odpowiada zapisowi z płyty CD, również nieskompresowanemu. Najmocniej zmniejsza rozmiar pliku kompresja stratna formatu MP3, dlatego ta odpowiedź jest poprawna.

Pytanie 5

Rodzaj programowania, w którym sekwencja poleceń (instrukcji) dostarczanych komputerowi jest traktowana jako program, określa się mianem programowania

A. imperatywnego
B. funkcyjnego
C. stanowego
D. logicznogo
Programowanie funkcyjne, logiczne oraz stanowe to inne style kodowania, które się różnią od imperatywnego. Każdy z nich ma swoją specyfikę i zastosowania. Na przykład w programowaniu funkcyjnym tworzymy programy jako zestaw funkcji, które operują na danych, starając się zminimalizować skutki uboczne. To z kolei kłóci się z imperatywnym myśleniem, bo tam idziemy bardziej w sekwencje instrukcji. Programowanie logiczne skupia się na regułach i relacjach, a nie na tym, co się dzieje w jakiej kolejności. To sprawia, że jest lepsze do sztucznej inteligencji czy przetwarzania danych. Programowanie stanowe natomiast dotyczy stanów systemu i przejść między nimi, co jest pomocne w systemach reaktywnych. Te różnice są ważne, bo nie można uważać, że wszystkie te paradygmaty są takie same lub da się je zamieniać bez zastanowienia. Ważne jest, aby zrozumieć, kiedy i jak używać różnych narzędzi i metod, zależnie od projektu, który realizujemy.

Pytanie 6

Zgodnie z zasadami ACID dotyczącymi przeprowadzania transakcji wymóg izolacji (ang. isolation) wskazuje, że

A. pod określonymi warunkami dane modyfikowane przez transakcję mogą być cofnięte
B. w sytuacji konfliktu z inną transakcją obie zmieniają te same dane równocześnie
C. po zrealizowaniu transakcji system bazy danych będzie zgodny
D. gdy dwie transakcje działają równocześnie, to zazwyczaj nie dostrzegają zmian wprowadzanych przez siebie
Izolacja w kontekście transakcji baz danych odnosi się do sposobu, w jaki transakcje współdziałają i oddziałują na siebie, a jej zrozumienie jest niezbędne do uniknięcia wielu pułapek związanych z równoległym przetwarzaniem danych. Pierwsza z niepoprawnych odpowiedzi sugeruje, że pod pewnymi warunkami dane zmieniane przez transakcję mogą zostać wycofane. Chociaż wycofywanie transakcji (ang. rollback) jest ważną funkcją zapewniającą integralność danych, nie jest to bezpośrednio związane z izolacją. Izolacja skupia się na interakcji pomiędzy równoległymi transakcjami, a nie na tym, co się dzieje w przypadku ich wycofania. Kolejny błąd wynika z odpowiedzi, która twierdzi, że w przypadku konfliktu z inną transakcją obie modyfikują te same dane w tym samym czasie. Takie podejście jest sprzeczne z zasadą izolacji, ponieważ transakcje powinny być w stanie współistnieć bez wzajemnego wpływania na siebie. Ostatnia niepoprawna odpowiedź, mówiąca o spójności systemu po wykonaniu transakcji, odnosi się do właściwości konsystencji ACID, która jednak nie jest tożsama z izolacją. W praktyce, niezrozumienie izolacji i jej skutków może prowadzić do wystąpienia problemów takich jak zjawisko phantom reads, lost updates czy dirty reads, co w konsekwencji obniża jakość danych przetwarzanych przez aplikacje oraz może prowadzić do błędów w logice biznesowej. Kluczowe jest zrozumienie, że izolacja jest fundamentem dla poprawnego działania aplikacji bazodanowych w środowiskach, w których zachodzi równoległe przetwarzanie danych.

Pytanie 7

W sklepie internetowym wykorzystuje się tabelę faktura. W trakcie generowania faktury pole dataPlatnosci nie zawsze jest uzupełnione. Aby to skorygować, pod koniec dnia należy wprowadzić bieżącą datę do wierszy, gdzie to pole jest puste. W tym celu można wykorzystać kwerendę

A. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE dataPlatnosci IS NOT NULL
B. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataplatnosci = '0000-00-00'
C. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL
D. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE id = 3
Poprawna odpowiedź to 'UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL;'. Ta kwerenda jest odpowiednia, ponieważ aktualizuje pole 'dataPlatnosci' w tabeli 'faktury' tylko w tych wierszach, gdzie to pole jest puste (NULL). Użycie funkcji CURDATE() pozwala na wprowadzenie aktualnej daty, co jest praktycznym rozwiązaniem dla problemu niewypełnionych dat płatności. Warto pamiętać, że korzystanie z NULL jest standardem w bazach danych, który oznacza brak wartości. Z perspektywy dobrych praktyk w zarządzaniu danymi, ważne jest, aby dbać o pełność danych, co wpływa na późniejsze analizy i generowanie raportów. Tego rodzaju kwerendy powinny być stosowane regularnie, aby zapewnić integralność i aktualność danych w systemie, co jest kluczowe w kontekście e-commerce, gdzie terminowość transakcji ma istotne znaczenie. Na przykład, w sytuacji, gdy system generuje raporty dotyczące płatności, brak daty płatności może prowadzić do nieprawidłowych wniosków.

Pytanie 8

Jak określa się część strukturalnego języka zapytań, która dotyczy tworzenia zapytań do bazy danych za pomocą polecenia SELECT?

A. SQL DML (ang. Data Manipulation Language)
B. SQL DQL (ang. Data Query Language)
C. SQL DDL (ang. Data Definition Language)
D. SQL DCL (ang. Data Control Language)
SQL DQL, czyli Data Query Language, to podzbiór SQL, który koncentruje się na formułowaniu zapytań do baz danych, w szczególności za pomocą polecenia SELECT. DQL umożliwia użytkownikom wydobywanie danych z bazy w sposób, który jest zarówno elastyczny, jak i wydajny. Przykładem zastosowania DQL jest zapytanie, które pozwala na wyciągnięcie informacji o klientach z tabeli 'Klienci', gdzie warunki mogą być określone przez klauzule WHERE, ORDER BY lub GROUP BY. Dzięki DQL, można również stosować różne funkcje agregujące, takie jak COUNT, SUM, AVG, co pozwala na analizę danych na bardziej zaawansowanym poziomie. W praktyce, umiejętność posługiwania się DQL jest kluczowa dla analityków danych oraz programistów, którzy pracują z bazami danych, ponieważ umożliwia efektywne zarządzanie i raportowanie wyników. Poznanie DQL jest niezbędne dla każdego, kto zamierza skutecznie korzystać z systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL czy Oracle.

Pytanie 9

Której funkcji PHP użyć, aby NAWIĄZAĆ połączenie z serwerem bazy danych?

A.
mysqli_get_connection_stats()
B.
mysqli_fetch_row()
C.
mysqli_connect()
D.
mysqli_autocommit()
Aby PHP mogło rozmawiać z bazą, najpierw trzeba NAWIĄZAĆ połączenie - robi to mysqli_connect(host, uzytkownik, haslo, baza), np. mysqli_connect("localhost", "root", "", "sklep"). Funkcja zwraca uchwyt połączenia, którego potem używasz we wszystkich kolejnych operacjach (zapytaniach, pobieraniu wyników). To zawsze pierwszy krok pracy z bazą. Zapamiętaj nazwę: „connect” = połącz się z serwerem bazy danych.

Pytanie 10

Która grupa znaczników HTML służy do GRUPOWANIA elementów i budowy struktury dokumentu?

A. <span>, <strong>, <em>
B. <div>, <article>, <header>
C. <br>, <img>, <hr>
D. <table>, <tr>, <td>
Do grupowania elementów i budowy struktury dokumentu służą znaczniki blokowe i semantyczne: <div> (uniwersalny kontener) oraz <article> i <header> (sekcje HTML5). Wyznaczają one układ strony. Dlatego strukturę buduje grupa <div>, <article>, <header>.

Pytanie 11

W HTML znacznik tekst będzie wyświetlany przez przeglądarkę w taki sam sposób jak znacznik

A. <big>tekst</big>
B. <h1>tekst</h1>
C. <sub>tekst</sub>
D. <b>tekst</b>
Znacznik <strong> jest używany w HTML do oznaczania tekstu, który ma być wyróżniony ze względu na jego ważność. Jest to związane z semantyką dokumentu. Chociaż <strong> i <b> wyświetlają tekst w podobny sposób (zazwyczaj pogrubiony), mają inne znaczenie. Znacznik <b> jest używany do czysto wizualnego wyróżnienia, bez przypisywania wartości semantycznej. Dlatego, gdy używamy <strong>, nie tylko zmieniamy wygląd tekstu, lecz także informujemy przeglądarkę i dostępne technologie, że ten element ma szczególne znaczenie. Przykładem praktycznego zastosowania <strong> może być wyróżnienie kluczowych informacji w artykule, co wpływa na zrozumienie treści przez użytkowników oraz poprawia dostępność strony. Warto pamiętać, że stosowanie odpowiednich znaczników zgodnie z ich przeznaczeniem jest zgodne z zasadami HTML5 i poprawia SEO, ponieważ wyszukiwarki lepiej rozumieją kontekst strony, co jest kluczowe dla jej indeksacji.

Pytanie 12

Kolor zapisany w notacji szesnastkowej #0000FF to:

A. czerwony
B. niebieski
C. zielony
D. czarny
Zapis szesnastkowy koloru ma postać #RRGGBB, gdzie każda para cyfr (00-FF) to składowa: czerwona, zielona i niebieska. W #0000FF składowe R i G są zerowe (00), a niebieska maksymalna (FF = 255), więc powstaje czysty niebieski. To odpowiednik zapisu rgb(0, 0, 255). Znajomość skrajnych wartości (00 i FF) pozwala szybko rozpoznać kolory podstawowe. Dlatego #0000FF to niebieski.

Pytanie 13

Jaką właściwość pola w tabeli powinno się ustawić, aby akceptowało ono wyłącznie dane liczbowe?

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

Pytanie 14

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

A.
alt
B.
src
C.
link
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 15

Który zapis znacznika <meta> jest poprawny pod względem użytych atrybutów?

A.
<meta name="!DOCTYPE">
B.
<meta title="Strona dla hobbystów">
C.
<meta name="description" content="...">
D.
<meta background="blue">
Znacznik <meta> opisuje stronę parą atrybutów name i content, więc poprawny jest <meta name="description" content="..."> - name mówi, o jaką informację chodzi, a content podaje jej treść (tu opis strony dla wyszukiwarek). Zapamiętaj wzorzec: <meta name="..." content="...">.

Pytanie 16

Dodanie do tabeli Produkty kolumny data_produkcji zostanie wykonane kwerendą SQL

A. ALTER TABLE Produkty DROP COLUMN data_produkcji DATE;
B. ALTER TABLE Produkty DROP data_produkcji DATE;
C. ALTER TABLE Produkty ADD DATE data_produkcji;
D. ALTER TABLE Produkty ADD data_produkcji DATE;
W poleceniu dotyczącym modyfikacji struktury tabeli bardzo łatwo pomylić składnię, zwłaszcza gdy w grę wchodzą słowa kluczowe ADD, DROP i typy danych. Podstawowa zasada jest taka: jeśli chcemy dodać nową kolumnę, używamy słowa kluczowego `ADD` wraz z nazwą kolumny i jej typem danych. Jeśli chcemy coś usuwać, korzystamy z `DROP` (czasem z dopiskiem `COLUMN`, zależnie od dialektu SQL). Mieszanie tych operacji albo zmiana kolejności elementów sprawia, że zapytanie staje się niepoprawne składniowo albo semantycznie.
Częsty błąd polega na tym, że ktoś próbuje użyć `DROP` tam, gdzie w treści zadania wyraźnie jest mowa o dodaniu kolumny. `DROP` służy do usuwania kolumn lub całych tabel, a nie do ich tworzenia. Jeżeli w instrukcji pojawia się `DROP data_produkcji DATE`, to po pierwsze logika jest odwrotna do wymaganej (bo usuwamy, zamiast dodawać), a po drugie większość systemów nie akceptuje podawania typu danych przy usuwaniu kolumny. W standardowych implementacjach SQL wystarczy `ALTER TABLE Produkty DROP COLUMN data_produkcji;` bez żadnego `DATE` na końcu. Dodawanie typu przy DROP jest po prostu niezgodne ze składnią.
Inny typ nieporozumienia polega na pomyleniu kolejności typu danych i nazwy kolumny. W definicji kolumny po słowie kluczowym `ADD` najpierw podajemy nazwę kolumny, a dopiero potem typ, czyli `ADD nazwa_kolumny TYP`. Konstrukcja w stylu `ADD DATE data_produkcji` wygląda, jakby ktoś traktował `DATE` jak nazwę kolumny, a `data_produkcji` jak typ. Jest to niezgodne zarówno ze składnią SQL, jak i z intuicją czytania definicji tabeli. Z mojego doświadczenia wynika, że ten błąd wynika z przenoszenia nawyków z języków programowania, gdzie czasem typ pisze się przed nazwą zmiennej (np. w C czy Javie), ale w SQL jest odwrotnie.
Dobra praktyka jest taka, żeby zapamiętać prosty wzór: przy dodawaniu kolumny zawsze używamy schematu `ALTER TABLE <tabela> ADD <kolumna> <typ>;`. Bez żadnych dodatkowych słów kluczowych w środku, bez mieszania DROP, bez odwracania kolejności. Warto też mieć w głowie, że przy DROP w większości dialektów nie podajemy typu, tylko samą nazwę kolumny, czasem z dopiskiem `COLUMN`. Takie drobne szczegóły często decydują, czy skrypt migracji bazy zadziała poprawnie, czy wysypie się na błędzie składni, dlatego dobrze jest wyrobić sobie nawyk dokładnego czytania treści zadania i rozumienia, czy w danym momencie coś dodajemy, czy usuwamy.

Pytanie 17

Zawarte polecenie SQL wykonuje

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. ustalić wartość kolumny id_klasy na 1 dla wszystkich rekordów w tabeli Uczen
B. powiększyć wartość pola Uczen o jeden
C. ustalić wartość pola Uczen na 1
D. zwiększyć o jeden wartość w kolumnie id_klasy dla wszystkich rekordów tabeli Uczen
Polecenie SQL, które analizujemy, to: `UPDATE Uczen SET id_klasy = id_klasy + 1;`. Jego celem jest zwiększenie wartości w kolumnie `id_klasy` o jeden dla wszystkich rekordów w tabeli `Uczen`. Wykorzystanie operacji `SET` w poleceniu `UPDATE` umożliwia modyfikację istniejących danych w bazie. W tym przypadku każda wartość w kolumnie `id_klasy` zostaje powiększona o jeden. To technika często stosowana przy aktualizacjach, gdzie potrzebujemy inkrementować wartości, np. w przypadku liczników, numeracji czy przesuwania pozycji. Stosowanie `UPDATE` zgodnie z dobrymi praktykami wymaga ostrożności, zwłaszcza przy operacjach masowych, aby unikać niezamierzonych zmian w danych. Ważne jest, aby przed wykonaniem takich operacji upewnić się, że kopia zapasowa danych jest dostępna, a operacja została przetestowana w środowisku testowym, aby uniknąć potencjalnych problemów w środowisku produkcyjnym.

Pytanie 18

W każdej iteracji wartość bieżącego elementu tablicy jest przypisywana do zmiennej, a wskaźnik przesuwa się o jeden - aż do ostatniego elementu. Opis ten pasuje do instrukcji:

A.
next
B.
switch
C.
if
D.
foreach
Pozostałe instrukcje nie iterują po tablicy w opisany sposób. if to instrukcja warunkowa - wykonuje kod tylko, gdy warunek jest spełniony, i nie powtarza się w pętli. switch wybiera jedną z gałęzi w zależności od wartości wyrażenia, również bez iteracji po kolejnych elementach. next faktycznie przesuwa wewnętrzny wskaźnik tablicy o jeden, ale samodzielnie nie tworzy pętli przechodzącej przez całość - służy do ręcznego poruszania się po tablicy. Automatyczne przejście przez wszystkie elementy realizuje foreach, dlatego to ona jest poprawna.

Pytanie 19

Kwalifikatory dostępu private, protected i public definiują mechanizm:

A. przeładowania (overloadingu)
B. hermetyzacji (enkapsulacji)
C. rekurencji
D. polimorfizmu
Pozostałe pojęcia OOP są inne. Przeładowanie to wiele wersji metody o tej samej nazwie, polimorfizm to różne zachowanie tej samej metody, a rekurencja to wywoływanie funkcji przez samą siebie. Ograniczanie dostępu do składowych to hermetyzacja.

Pytanie 20

Jaką złożoność obliczeniową mają problemy związane z przeprowadzaniem operacji na łańcuchach lub tablicach w przypadku dwóch zagnieżdżonych pętli przetwarzających wszystkie elementy?

A. O(log n)
B. O(n)
C. O(n!)
D. O(n2)
Odpowiedź O(n²) jest jak najbardziej trafna. Wiesz, jak to działa? Gdy masz dwie zagnieżdżone pętle, które przetwarzają elementy w kolekcji, to liczba operacji rośnie kwadratowo w zależności od tego, ile tych elementów masz. Dla n elementów w tablicy, każda z tych n elementów wymaga n operacji w drugiej pętli, co daje razem n*n, czyli n². Przykłady? Algorytmy sortowania bąbelkowego czy przez wstawianie świetnie to ilustrują – obydwa działają w czasie O(n²). Pamiętaj, że jako programiści musimy zwracać uwagę na złożoność algorytmów, bo to wpływa na wydajność naszych aplikacji, szczególnie gdy mamy do czynienia z dużymi zbiorami danych. Dobrze jest próbować optymalizować złożoność, żeby nie wpaść w pułapki wydajnościowe. No i fakt, przy problemach, gdzie musimy porównywać wszystkie elementy, O(n²) to często jedyna opcja, która się sprawdza.

Pytanie 21

Wskaż sposób, w jaki należy odwołać się do pliku default.css, jeśli index.html znajduje się bezpośrednio w katalogu Strona?

Ilustracja do pytania
A. <link rel="stylesheet" type="text/css" href="...\style\default.css" />
B. <link rel="stylesheet" type="text/css" href="./style/default.css" />
C. <link rel="stylesheet" type="text/css" href="c:\style/default.css" />
D. <link rel="stylesheet" type="text/css" href="c:/style/default.css" />
Błędne odpowiedzi w tym pytaniu wynikają z niewłaściwego użycia ścieżek do plików. Dwie z błędnych odpowiedzi sugerują użycie ścieżki bezwzględnej do pliku (rozpoczynającej się od 'c:/' lub 'c:\'), co nie jest zalecane, ponieważ takie ścieżki są specyficzne dla konkretnego systemu plików i mogą nie działać w innych środowiskach. Ponadto jedna z błędnych odpowiedzi sugeruje użycie nieprawidłowej składni ('...\') do odwołania się do pliku. Dobrą praktyką jest zawsze korzystanie ze ścieżek względnych podczas odwoływania się do plików w HTML, ponieważ są one uniwersalne i niezależne od systemu plików. Pamiętaj, że właściwe zarządzanie ścieżkami do plików i organizacja plików w strukturze katalogu to klucz do skutecznego i efektywnego kodowania.

Pytanie 22

Wynikiem działania pętli będzie wypisanie liczb

for ($i = 0; $i <= 20; $i += 4)
echo $i . ', ';
A. 0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
B. 0, 4, 8, 12, 16, 20,
C. 0, 4, 8, 12, 16,
D. 0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
Jest kilka błędnych koncepcji zawartych w niepoprawnych odpowiedziach. Wszystkie niepoprawne odpowiedzi sugerują, że pętla wypisuje liczby w sposób ciągły, co jest błędem. W rzeczywistości, pętla for zaczyna od wartości 0 i zwiększa wartość $i o 4 przy każdej iteracji, a nie o 1, jak sugerują niepoprawne odpowiedzi. Również wartość końcowa pętli to 20, a nie 19, jak sugeruje jedna z niepoprawnych odpowiedzi. Takie błędy wynikają z niewłaściwego zrozumienia, jak działają pętle i jak są kontrolowane. Pętle w języku PHP, jak i w większości innych języków programowania, są bardzo elastyczne i mogą być dostosowane do różnych potrzeb, ale kluczowe jest zrozumienie, jak kontrolować ich przebieg. Zachęcamy do dalszego zgłębiania tych konceptów, gdyż są one podstawą programowania.

Pytanie 23

Aby przy usunięciu rekordu nadrzędnego automatycznie usunęły się powiązane z nim rekordy podrzędne, w definicji klucza obcego dodaje się klauzulę:

A.
ON DELETE SET NULL
B.
ON UPDATE CASCADE
C.
ON DELETE RESTRICT
D.
ON DELETE CASCADE
ON DELETE CASCADE to opcja klucza obcego, która sprawia, że usunięcie rekordu w tabeli nadrzędnej automatycznie usuwa wszystkie powiązane z nim rekordy w tabeli podrzędnej. Zapobiega to pozostawieniu „osieroconych” wierszy wskazujących na nieistniejący rekord. Dodaje się ją w definicji klucza obcego, np. FOREIGN KEY(klient_id) REFERENCES klienci(id) ON DELETE CASCADE. Dlatego poprawna jest klauzula ON DELETE CASCADE.

Pytanie 24

Która z metod wyświetlenia tekstu nie jest określona w języku JavaScript?

A. Funkcja MessageBox()
B. Metoda document.write()
C. Funkcja window.alert()
D. Właściwość innerHTML
Każda z podanych odpowiedzi, oprócz Funkcji MessageBox(), jest technicznie poprawna w kontekście języka JavaScript. Własność innerHTML pozwala na manipulację zawartością HTML elementów na stronie, co jest powszechnie stosowane w aplikacjach webowych do dynamicznego aktualizowania treści. Przykład użycia innerHTML: document.getElementById('elementId').innerHTML = '<p>Nowy tekst!</p>'; co zmienia zawartość elementu o określonym identyfikatorze na nowy tekst. Metoda window.alert() jest również powszechnie używana do informowania użytkowników o ważnych informacjach w prosty sposób, chociaż może być uważana za nieco przestarzałą w kontekście nowoczesnego UX. Dobrą praktyką jest unikanie nadmiernego korzystania z alertów, które mogą irytować użytkowników. Metoda document.write() z kolei, choć używana do dodawania treści do strony, jest zalecana do stosowania wyłącznie w kontekście ładowania strony, ponieważ użycie tej metody po załadowaniu strony może prowadzić do nadpisania całego dokumentu, co może być mylące i problematyczne. Dlatego ważne jest, aby zrozumieć kontekst użycia różnych metod JavaScript, aby uniknąć typowych pułapek i poprawić jakość interakcji użytkownika z aplikacjami webowymi.

Pytanie 25

Dany fragment kodu ilustruje składnię danego języka

Ilustracja do pytania
A. C#
B. C
C. JavaScript
D. PHP
Kod przedstawiony w pytaniu jest napisany w języku PHP który jest popularnym językiem skryptowym stosowanym na serwerach do generowania dynamicznych stron internetowych Zaczyna się od znacznika otwierającego '<?php' co jasno wskazuje na PHP W kodzie użyte są funkcje takie jak file_get_contents fopen fwrite i fclose które są typowe dla PHP i służą do manipulacji plikami Funkcja file_get_contents służy do odczytywania zawartości pliku co jest niezbędne do pobrania aktualnej wartości zmiennej Silosc Następnie zmienna ta jest inkrementowana aby zwiększyć jej wartość o jeden co jest powszechnie stosowane w licznikach odwiedzin stron internetowych PHP jako język skryptowy pozwala na łatwe manipulowanie danymi serwera a także na integrację z bazami danych i szeroką gamę funkcji sieciowych i narzędzi co czyni go jednym z najczęściej używanych języków do tworzenia aplikacji webowych Dobrym standardem jest stosowanie PHP w przypadku gdy potrzebne jest dynamiczne generowanie treści oraz zarządzanie danymi użytkowników

Pytanie 26

Deklaracja typu dokumentu HTML: <!DOCTYPE HTML> wskazuje, że kod został stworzony w wersji

A. 7
B. 5
C. 4
D. 6
Gdy widzisz deklarację <!DOCTYPE HTML>, to znaczy, że mówimy o wersji HTML5. To obecny standard, który wprowadza naprawdę sporo nowych funkcji w porównaniu do wcześniejszych wersji. Na przykład, HTML5 pozwala na osadzanie audio i wideo bez potrzeby dodatkowych wtyczek, co jest super wygodne. Mamy też fajne semantyczne elementy jak <article>, <section> czy <nav>, które sprawiają, że łatwiej zorganizować treści na stronie. Ważne jest, żeby zawsze na początku dokumentu umieszczać tę deklarację, bo to pozwala przeglądarkom na prawidłowe wyświetlanie strony. Dzięki temu unikamy problemów z interpretacją kodu, co z doświadczenia mówię, jest naprawdę istotne.

Pytanie 27

Używa się zapytania z klauzulą JOIN, aby

A. określić klucz obcy dla tabeli
B. otrzymać wynik tylko z jednej tabeli
C. uzyskać dane z dwóch tabel, które są ze sobą powiązane
D. wykonać funkcję agregującą
Zastosowanie klauzuli JOIN w zapytaniach SQL jest często mylone z innymi operacjami na tabelach, co prowadzi do nieporozumień i błędnych koncepcji. Definiowanie klucza obcego dla tabeli jest procesem, który nie ma bezpośredniego związku z samym zapytaniem. Klucz obcy, który służy do utrzymania integralności referencyjnej między tabelami, jest konfigurowany podczas tworzenia lub modyfikacji struktury bazy danych, a nie podczas pisania zapytań. Ponadto, wywoływanie funkcji agregujących, takich jak SUM czy COUNT, może być przeprowadzane niezależnie od tego, czy w zapytaniu wykorzystujemy JOIN. Funkcje te mogą działać na danych z jednej tabeli, co jest sprzeczne z błędnym stwierdzeniem, że JOIN jest niezbędny do ich wywołania. Ostatnim nieporozumieniem jest idea, że można otrzymać wyniki tylko z jednej tabeli. W praktyce, wiele zapytań wymaga współpracy między tabelami, aby uzyskać pełniejszy kontekst danych. Dobrą praktyką w projektowaniu baz danych jest jednak unikanie nieefektywnego łączenia tabel, jeżeli nie jest to konieczne, co może prowadzić do nieoptymalnej wydajności zapytań. Znajomość różnicy między operacjami na poziomie struktury bazy danych a zapytaniami pozwala na lepsze projektowanie i wykorzystanie systemów bazodanowych.

Pytanie 28

Tabele Klienci oraz Zgloszenia są związane relacją jeden do wielu. Jakie polecenie należy wydać, aby uzyskać tylko opis zgłoszenia oraz odpowiadające mu nazwisko klienta dla zgłoszenia numer 5?

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Klienci.id = 5
B. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci WHERE Klienci.id = 5
C. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.id WHERE Zgloszenia.id = 5
D. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Zgloszenia.id = 5
W przypadku nieprawidłowych odpowiedzi często występuje błędne rozumienie relacji i składni SQL. W pierwszym przykładzie, klauzula WHERE Klienci.id = 5 próbuje filtrować według identyfikatora klienta zamiast zgłoszenia, co nie jest zgodne z celem zapytania. Taki zapis prowadzi do niepoprawnych wyników, ponieważ zamiarem jest uzyskanie danych dla konkretnego zgłoszenia, a nie wszystkich zgłoszeń danego klienta. Innym częstym błędem jest pominięcie klauzuli ON w zapytaniu, co widać w trzeciej odpowiedzi. Bez określenia warunku łączenia, SQL nie ma informacji, jak powiązać rekordy z dwóch tabel, co może skutkować błędem lub zwróceniem niepoprawnych danych. W czwartym przypadku, klauzula ON jest błędnie skonstruowana, używając Klienci.id = Zgloszenia.id, co nie odpowiada relacji klucz główny-klucz obcy. Takie błędy wynikają z niezrozumienia struktury bazy danych i jej modeli relacyjnych. W praktyce, takie niepoprawne zapytania mogą prowadzić do błędnych wniosków, utraty integralności danych i problemów z wydajnością systemu. Aby tego uniknąć, istotne jest zrozumienie logicznej struktury bazy danych oraz poprawne stosowanie składni SQL, co jest kluczowe w pracy z relacyjnymi bazami danych. W profesjonalnym środowisku, testowanie i walidacja zapytań pomogą zidentyfikować i poprawić takie błędy przed wdrożeniem w produkcji.

Pytanie 29

W języku SQL, aby dodać atrybut klucza podstawowego do pola id w istniejącej tabeli produkt należy użyć składni

A. ALTER TABLE produkt ADD PRIMARY KEY (id)
B. ALTER TABLE produkt DROP PRIMARY KEY
C. ALTER TABLE produkt ALTER COLUMN id INT
D. ALTER TABLE produkt DROP CONSTRAINT id
Poprawna składnia to ALTER TABLE produkt ADD PRIMARY KEY (id), bo dokładnie to polecenie dodaje do istniejącej tabeli nowy klucz podstawowy oparty na kolumnie id. Instrukcja ALTER TABLE służy do modyfikowania struktury tabeli, a klauzula ADD PRIMARY KEY definiuje ograniczenie (constraint) typu klucz podstawowy dla wskazanej kolumny lub zestawu kolumn. W praktyce oznacza to, że kolumna id musi być unikalna i nie może przyjmować wartości NULL. Silnik bazy danych (np. MySQL, PostgreSQL, SQL Server) zwykle tworzy do tego indeks typu UNIQUE, który przyspiesza wyszukiwanie po kluczu głównym.
Moim zdaniem warto pamiętać, że takie polecenie będzie działać tylko wtedy, gdy dane w kolumnie id już spełniają warunki klucza podstawowego: brak duplikatów i brak wartości pustych. W realnym projekcie często robi się to w dwóch krokach: najpierw uzupełnia się brakujące wartości, usuwa lub poprawia duplikaty, a dopiero potem dodaje PRIMARY KEY. Przykładowo:
ALTER TABLE produkt ADD PRIMARY KEY (id);
W wielu systemach, zwłaszcza w aplikacjach webowych, kolumna id jest też często ustawiana jako AUTO_INCREMENT (MySQL) lub używa sekwencji (PostgreSQL, Oracle). Wtedy definicja tabeli przy tworzeniu może wyglądać np. tak:
CREATE TABLE produkt (id INT PRIMARY KEY AUTO_INCREMENT, nazwa VARCHAR(100));
Jeśli jednak tabela już istnieje i kolumna id była zwykłą kolumną, to właśnie ALTER TABLE ... ADD PRIMARY KEY (id) jest standardowym, poprawnym sposobem nadania jej roli klucza głównego. To rozwiązanie jest zgodne z ogólną składnią SQL i dobrą praktyką modelowania relacyjnych baz danych, gdzie każda tabela powinna mieć jasno zdefiniowany klucz podstawowy, najlepiej prosty, stabilny i jednoznaczny.

Pytanie 30

Zaproponowany blok ilustruje operację

Ilustracja do pytania
A. podjęcia decyzji
B. realizacji zadania w pętli
C. załadowania lub przedstawienia danych
D. wykorzystania wcześniej zdefiniowanej procedury lub funkcji
Zastosowanie gotowej procedury lub funkcji odnosi się do sytuacji, w której programista korzysta z wcześniej zdefiniowanego zestawu instrukcji, które wykonują określone zadanie. Jest to kluczowy aspekt programowania proceduralnego i modularyzacji kodu, ale nie wiąże się bezpośrednio z podejmowaniem decyzji, chyba że te funkcje zawierają wewnętrzne warunki. Wczytanie lub wyświetlenie danych to operacje wejścia-wyjścia, które polegają na interakcji z użytkownikiem lub systemem plików. Choć mogą one być częścią logicznego przepływu programu, nie obejmują one decyzyjności jako swojej podstawowej funkcji. Zadania w pętli, takie jak iteracje za pomocą for czy while, umożliwiają wykonywanie zestawu instrukcji wielokrotnie, dopóki dany warunek jest spełniony. Są one istotne w kontekście operacji powtarzalnych, ale również nie spełniają kryterium podejmowania decyzji w znaczeniu przedstawionym w tym pytaniu. Typowe nieporozumienie polega na tym, że pętle mogą zawierać decyzje, jednak to nie one same stanowią mechanizm decyzyjny, tylko raczej wykorzystują go do kontrolowania liczby iteracji. Podjęcie decyzji jest więc odrębną, fundamentalną czynnością w programowaniu, umożliwiającą dynamiczność i elastyczność kodu poprzez warunkowe sterowanie przepływem programu.

Pytanie 31

W języku CSS zdefiniowano styl. Sformatowana tym stylem sekcja będzie zawierała obramowanie o szerokości:

div { border: solid 2px blue;
       margin: 20px;}
A. 20 px oraz marginesy zewnętrzne tego obramowania
B. 2 px oraz marginesy zewnętrzne tego obramowania
C. 2 px oraz marginesy wewnętrzne tego obramowania
D. 20 px oraz marginesy wewnętrzne tego obramowania
Wszystkie niepoprawne odpowiedzi zawierają błędne informacje na temat właściwości marginesów oraz ich lokalizacji w stosunku do obramowania. Pierwsza z tych odpowiedzi sugeruje, że sekcja ma marginesy wewnętrzne, co jest nieprecyzyjne. W CSS marginesy wewnętrzne definiuje się za pomocą właściwości 'padding', a nie 'margin'. Przy użyciu 'margin' określamy przestrzeń zewnętrzną, co oznacza, że nie ma ona wpływu na wewnętrzne odstępy między elementami w danym obiekcie. Kolejna odpowiedź wskazuje, że marginesy mają wartość 20 pikseli wewnątrz obramowania. To również jest błędne, ponieważ marginesy nie mogą być wewnętrzne w kontekście stosowania 'margin'; mają one zastosowanie wyłącznie do przestrzeni zewnętrznej. Na koniec, ostatnia niepoprawna odpowiedź podaje, że marginesy są o wartości 20 pikseli na zewnątrz obramowania, co na pierwszy rzut oka może wydawać się prawidłowe, jednak nie uwzględnia faktu, że obramowanie ma 2 piksele szerokości, a marginesy w tym przypadku mają znaczenie tylko wobec zewnętrznej odległości do innych elementów, a nie wewnętrznej struktury. Warto uzmysłowić sobie znaczenie precyzyjnego rozróżnienia między 'margin' a 'padding', ponieważ ma to ogromny wpływ na ostateczny układ i prezentację strony internetowej.

Pytanie 32

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. grupowania.
C. sumy.
D. części wspólnej.
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 33

Jak wybrać nazwy produktów z tabeli sprzet zawierającej pola: nazwa, cena, liczbaSztuk, dataDodania, które zostały dodane w roku 2021, a ich cena jest poniżej 100 zł lub liczba sztuk przekracza 4, w sekcji WHERE?

A. WHERE dataDodania LIKE '2021%' AND (cena < 100 OR liczbaSztuk > 4)
B. WHERE dataDodania LIKE '2021%' AND cena < 100 AND liczbaSztuk > 4
C. WHERE dataDodania LIKE '2021%' OR cena < 100 OR liczbaSztuk > 4
D. WHERE dataDodania LIKE '2021%' OR (cena < 100 AND liczbaSztuk > 4)
W analizowanych odpowiedziach błędy wynikają z niepoprawnego rozumienia operatorów logicznych oraz ich zastosowania w kontekście filtracji danych. Pierwsza z propozycji, która używa operatora OR w każdym warunku, powoduje, że zapytanie obejmie zbyt szeroki zakres danych. Oznacza to, że każdy produkt dodany w 2021 roku, niezależnie od ceny czy liczby sztuk, zostanie uwzględniony, co jest sprzeczne z zamierzonym celem. Operator OR w tym przypadku nie spełnia wymagań, ponieważ musimy mieć produkty, które są jednocześnie związane z danym rokiem oraz spełniają przynajmniej jeden z dwóch dodatkowych kryteriów. Odpowiedzi korzystające z operatora AND w każdym warunku również są błędne, ponieważ wykluczą z wyników produkty, które mogą mieć cenę wyższą niż 100 zł, ale liczba sztuk przekracza 4. Taki sposób myślenia prowadzi do zbyt restrykcyjnych filtrów, co może uniemożliwić pozyskanie wartościowych danych. Ważne jest, aby w zapytaniach SQL stosować operator AND do łączenia warunków, gdzie wszystkie muszą być spełnione, oraz operator OR w sytuacjach, gdy wystarczy spełnienie jednego z warunków. Poprawny dobór tych operatorów ma kluczowe znaczenie dla wydajności zapytań oraz dokładności wyników, zwłaszcza w kontekście dużych zbiorów danych, takich jak bazy danych produktów.

Pytanie 34

Do czego służy w PHP funkcja trim()?

A. do podawania długości tekstu
B. do wyświetlania części wspólnej dwóch tekstów
C. do usuwania białych (lub podanych) znaków z obu końców tekstu
D. do skracania tekstu o podaną liczbę znaków
Pozostałe opisy dotyczą innych funkcji. Długość tekstu zwraca strlen(), a wycinanie fragmentu - substr(). trim() nie „skraca o liczbę znaków” ani nie szuka części wspólnej - usuwa białe (lub podane) znaki z obu końców tekstu.

Pytanie 35

Czym jest odpowiednik encji w relacyjnej bazie danych?

A. wiersz
B. tabela
C. atrybut
D. kolumna
Pozostałe pojęcia to mniejsze elementy. Wiersz (krotka) to pojedynczy egzemplarz encji, a nie cała encja. Kolumna i atrybut opisują pojedynczą cechę. Całej encji odpowiada tabela.

Pytanie 36

Którą jednostką wyraża się rozdzielczość obrazu na ekranie monitora (liczba pikseli na cal)?

A. ppi
B. spi
C. dpi
D. lpi
Rozdzielczość obrazu na EKRANIE - liczbę pikseli na cal - wyraża się w ppi (pixels per inch). Im wyższe ppi, tym gęściej upakowane piksele i ostrzejszy obraz na monitorze czy telefonie. Zapamiętaj: ppi dotyczy PIKSELI na ekranie, a bliźniacze dpi - punktów w DRUKU.

Pytanie 37

Wskaż stwierdzenie, które nie jest prawdziwe dla następującej definicji funkcji w języku C++?

void zamien( float &x, float &y){
    float tmp;
    tmp = x;
    x = y;
    y = tmp;
}
A. Funkcja zwraca wartość.
B. Funkcja nie zwraca wartości.
C. Funkcja odwołuje się do parametrów przez referencję.
D. Funkcja posiada dwa parametry.
Dobrze zrobione! Wybrałeś właściwą odpowiedź, która pasuje do tego, co mamy w kodzie funkcji w C++. Mówimy tu o funkcji typu 'void', co oznacza, że nie zwraca żadnej wartości. W C++ 'void' oznacza, że nie ma zwracanego typu, ale to nie znaczy, że taka funkcja nic nie robi. Ona może wykonać różne operacje, ale na koniec nie zwraca żadnego wyniku. To jest dość istotne, bo w programowaniu często z takich funkcji korzystamy, kiedy chcemy coś zmienić, a nie potrzebujemy nowej wartości. Fajnie, że zauważyłeś, że ta funkcja ma dwa parametry typu float, które są przekazywane przez referencję. Dzięki temu możemy zmieniać wartości tych zmiennych w funkcji, co jest przydatne w wielu sytuacjach.

Pytanie 38

Aby stworzyć warunek w zapytaniu wybierającym nazwiska wszystkich uczniów z klas początkowych (od pierwszej do trzeciej), można zastosować klauzulę

A. WHERE klasa >= 1 OR klasa <= 3
B. WHERE klasa < 3
C. WHERE klasa IN (1, 3)
D. WHERE klasa BETWEEN 1 AND 3
Odpowiedź "WHERE klasa BETWEEN 1 AND 3" jest poprawna, ponieważ klauzula BETWEEN umożliwia precyzyjne określenie zakresu wartości w bazie danych. W tym przypadku, chcemy wybrać uczniów z klas 1, 2 i 3, co idealnie pasuje do zastosowania klauzuli BETWEEN. Oznacza to, że zapytanie zwróci wszystkie rekordy, gdzie wartość w kolumnie 'klasa' mieści się w przedziale od 1 do 3, włącznie. Przykładowe zapytanie SQL mogłoby wyglądać tak: SELECT nazwisko FROM uczniowie WHERE klasa BETWEEN 1 AND 3; To podejście jest zgodne z dobrymi praktykami, ponieważ jest czytelne, zrozumiałe i łatwe do modyfikacji. Dodatkowo, stosowanie klauzuli BETWEEN jest bardziej efektywne niż inne metody, takie jak użycie operatorów porównania, co może prowadzić do błędów, jeśli na przykład nie uwzględni się wartości granicznych. W standardach SQL klauzula BETWEEN jest powszechnie uznawana za najlepszy sposób na określenie zakresu wartości, co czyni ją kluczowym narzędziem w pracy z danymi w bazach danych.

Pytanie 39

W ramce przedstawiono właściwości pliku graficznego:

Wymiary:4272 x 2848px
Rozdzielczość:72 dpi
Format:JPG
W celu optymalizacji czasu ładowania rysunku na stronę WWW należy:
A. zwiększyć rozdzielczość.
B. zmienić proporcje szerokości do wysokości.
C. zmniejszyć wymiary rysunku.
D. zmienić format grafiki na CDR.
Odpowiedź jest poprawna. Czas ładowania obrazu na stronę WWW jest w dużej mierze zależny od jego rozmiaru. Zasada jest prosta: im mniejszy rozmiar pliku, tym szybciej zostanie załadowany. Zmniejszenie wymiarów rysunku prowadzi do zmniejszenia rozmiaru pliku, co optymalizuje czas ładowania. W praktyce, oznacza to, że jeżeli masz obraz o wymiarach 2000x2000 pikseli, a na stronie prezentowany jest w wymiarach 500x500 pikseli, to wartość ta jest zdecydowanie za duża i może spowalniać ładowanie strony. Dobrą praktyką jest dostosowanie rozmiaru obrazu do rozmiaru, w jakim ma być wyświetlany na stronie. Warto jednak pamiętać, że zmniejszanie rozmiaru obrazu może wpływać na jego jakość, dlatego ważne jest znalezienie odpowiedniego balansu pomiędzy czasem ładowania a jakością prezentowanego rysunku.

Pytanie 40

Który z przedstawionych kodów XHTML sformatuje tekst według podanego wzorca?
Ala ma kota
a kot ma Alę

A. <p>Ala ma <b>kota</b><br>
a <b>kot</b> ma Alę</p>
B. <p>Ala ma <b>kota</b><br>
a <i>kot</i> ma Alę</p>
C. <p>Ala ma <b>kota<br>
a <i>kot</i> ma Alę</p>
D. <p>Ala ma <b>kota</i><br>
a <b>kot</b> ma Alę</p>
Poprawna odpowiedź to <p>Ala ma <b>kota</b><br/>a <i>kot</i> ma Alę</p>. W tym kodzie XHTML tekst 'Ala ma kota' jest odpowiednio sformatowany dzięki zastosowaniu znaku <b>, który definiuje tekst pogrubiony, oraz <i>, który oznacza tekst kursywą. Ponadto <br/> jest używane do wstawienia przerwy w linii, co jest zgodne z praktykami formatowania tekstu w HTML/XHTML. Zgodnie ze standardami W3C, XHTML jest stricte oparty na XML, co oznacza, że wszystkie elementy muszą być poprawnie zagnieżdżone i zamknięte. Użycie <i> w drugiej części tekstu jest poprawne, ponieważ wskazuje na pewną formę wyróżnienia, a jednocześnie zachowuje semantykę. Przy tworzeniu stron internetowych ważne jest, aby formatowanie tekstu było zarówno estetyczne, jak i zgodne z regułami semantycznymi, co ta odpowiedź spełnia. Przykładowo, tekst ten można umieścić w dowolnym dokumencie HTML, aby zachować poprawne formatowanie, co wpływa na czytelność.