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: 5 maja 2026 21:17
  • Data zakończenia: 5 maja 2026 21:46

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Kolor reprezentowany w formacie heksadecymalnym #0000FF to

A. zielony
B. czarny
C. niebieski
D. czerwony
Odpowiedzi, które wskazują na czarny, zielony i czerwony jako kolory reprezentowane przez notację heksadecymalną #0000FF są niepoprawne z technicznego punktu widzenia. Czarny kolor w notacji heksadecymalnej jest reprezentowany przez #000000, co oznacza zerowe wartości dla wszystkich trzech komponentów RGB. Z kolei zielony kolor to #00FF00, w którym maksymalna intensywność przypada na komponent zielony, a wartości czerwonej i niebieskiej są zerowe. W przypadku czerwonego, jego reprezentacja heksadecymalna to #FF0000, co oznacza maksymalny poziom czerwonego, podczas gdy zielony i niebieski są całkowicie nieobecne. W każdej z tych odpowiedzi brakuje zrozumienia, jak działają wartości RGB oraz jak są one zapisywane w postaci heksadecymalnej. W projektowaniu graficznym oraz webowym precyzyjne zrozumienie kolorów jest kluczowe, ponieważ każdy kolor ma swoje specyficzne zastosowanie i znaczenie. Dlatego wiedza na temat tych wartości jest niezbędna, aby skutecznie komunikować się w obszarze grafiki komputerowej oraz web designu.

Pytanie 2

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

A. więzy integralności
B. defragmentację bazy
C. kwerendę aktualizującą
D. archiwizację bazy
W celu zapewnienia spójności danych w bazie programu Microsoft Access kluczowe jest zastosowanie więzów integralności. Więzy integralności to zasady, które definiują warunki, jakie muszą być spełnione, aby dane w bazie były spójne i zgodne z określonymi regułami. Przykładowo, więzy te mogą obejmować ograniczenia unikalności, które zapobiegają wprowadzaniu zduplikowanych wartości w kolumnie, oraz więzy klucza obcego, które zapewniają, że wartości w jednej tabeli muszą odpowiadać wartościom w innej tabeli. Zastosowanie więzów integralności jest zgodne z zasadami normalizacji baz danych, które mają na celu minimalizowanie redundancji danych oraz eliminowanie niezgodności. Z perspektywy praktycznej, gdy tworzymy aplikacje bazodanowe, ustanowienie odpowiednich więzów integralności od samego początku pozwala uniknąć wielu problemów związanych z błędnymi danymi, co przynosi korzyści w kontekście analizy danych i raportowania. W związku z tym, więzy integralności są kluczowym elementem w projektowaniu baz danych, który znacząco wpływa na jakość i trwałość przechowywanych informacji.

Pytanie 3

Element <meta charset="utf-8"> definiuje metadane odnoszące się do strony internetowej dotyczące

A. słów kluczowych
B. języka używanego na stronie
C. kodowania znaków
D. opisu witryny
Element <meta charset="utf-8"> jest kluczowym składnikiem metadanych w dokumentach HTML, który określa sposób kodowania znaków używanych na stronie internetowej. Użycie kodowania UTF-8, które jest najczęściej stosowanym standardem, pozwala na wyświetlanie różnorodnych znaków z różnych języków, w tym znaków diakrytycznych. Dzięki temu, strony internetowe mogą być dostępne dla szerokiego grona użytkowników bez obaw o błędy związane z wyświetlaniem tekstu. Kiedy przeglądarka internetowa napotyka ten element, wie, że powinna interpretować zawartość dokumentu zgodnie z określonym kodowaniem. Jest to szczególnie ważne w kontekście globalizacji internetu, gdzie treści mogą być tworzone w wielu językach. Ustalając odpowiednie kodowanie, programiści minimalizują ryzyko wystąpienia problemów z wyświetlaniem, takich jak zamienione znaki czy nieczytelne fragmenty tekstu. Właściwe ustawienie metadanych jest zgodne z wytycznymi W3C oraz zaleceniami dla twórców stron internetowych, co czyni ten element niezbędnym w każdej współczesnej witrynie.

Pytanie 4

W jakich formatach można przechować wideo razem z dźwiękiem?

A. MP4
B. WMA
C. AAC
D. WAV
MP4 to jeden z najbardziej popularnych formatów plików multimedialnych, który jest szeroko stosowany do zapisywania materiałów wideo wraz ze ścieżkami dźwiękowymi. MP4, jako kontener, obsługuje różne kodeki wideo, takie jak H.264, a także kodeki audio, w tym AAC. Dzięki tej wszechstronności, format MP4 jest idealny do przechowywania zarówno obrazu, jak i dźwięku w jednym pliku, co jest kluczowe dla wielu zastosowań, od streamingu wideo po przechowywanie lokalne. MP4 jest zgodny z wieloma platformami i urządzeniami, co czyni go standardem dla treści wideo w Internecie. Przykładem zastosowania MP4 mogą być platformy takie jak YouTube, gdzie użytkownicy przesyłają filmy w tym formacie, aby zapewnić wysoką jakość obrazu i dźwięku. Warto również zauważyć, że MP4 wspiera różne metadane, co umożliwia dodawanie informacji o pliku, takich jak tytuł, artysta czy okładka albumu. Dzięki tym wszystkim właściwościom, MP4 jest niezastąpionym formatem w dziedzinie multimediów.

Pytanie 5

W ramce przedstawiono kod JavaScript z błędem logicznym. Program powinien wypisywać informację, czy liczby są sobie równe, czy nie, lecz nie wykonuje tego. Wskaż odpowiedź, która dotyczy błędu.

var x=5;
var y=3;
if(x=y) document.getElementById("demo").innerHTML='zmienne są równe';
else    document.getElementById("demo").innerHTML='zmienne się różnią';
A. Zmienne zostały zadeklarowane w niewłaściwy sposób
B. W klauzuli if użyto przypisania zamiast porównania
C. Brak średnika przed klauzulą else
D. Zawartość sekcji if oraz else powinna być zamieniona miejscami
W analizowanym kodzie JavaScript występuje błąd związany z użyciem operatora przypisania zamiast operatora porównania w klauzuli if. W języku JavaScript do porównania dwóch wartości używa się operatora '===' lub '=='. Operator '=' to operator przypisania, który przypisuje wartość z prawej strony do zmiennej po lewej stronie. W kontekście warunków if, należy użyć operatora porównania, aby ocenić, czy dwie zmienne są równe. W poprawnej wersji kodu, linia if x = y powinna być zmieniona na if (x === y). Dodatkowo, warto pamiętać o umieszczeniu wartości porównawanych w nawiasach, co zwiększa czytelność i poprawność kodu. Przykład prawidłowego kodu to: var x = 5; var y = 3; if (x === y) { document.getElementById('demo').innerHTML = 'zmienne są równe'; } else { document.getElementById('demo').innerHTML = 'zmienne się różnią'; }. Taki zapis zapewnia, że program poprawnie zidentyfikuje różnicę między zmiennymi x i y i odpowiednio wyświetli komunikat.

Pytanie 6

Na ilustracji przedstawiono schemat rozmieszczenia elementów na stronie WWW. W której z jej sekcji zazwyczaj znajduje się stopka strony?

Ilustracja do pytania
A. 4
B. 5
C. 1
D. 2
Odpowiedź 5 jest poprawna ponieważ w standardach projektowania stron internetowych stopka strony zazwyczaj znajduje się na dole każdej podstrony. Stopka to miejsce gdzie umieszczane są informacje takie jak prawa autorskie prywatność i linki do kontaktu. Dobrze zaprojektowana stopka może także zawierać skróty nawigacyjne które pomagają użytkownikowi szybko przemieszczać się po stronie. W praktyce projektanci stron WWW stosują podejście oparte na responsywnym designie co oznacza że stopka powinna być łatwo dostępna i czytelna na różnych urządzeniach. Wykorzystanie CSS Grid lub Flexbox pozwala na elastyczne zarządzanie układem strony co jest szczególnie przydatne przy projektowaniu stopki. Ponadto stopki są elementami które odpowiadają za spójność wizualną całej strony internetowej zapewniając użytkownikowi intuicyjne doświadczenie. Umieszczanie stopki w dolnej części strony jest zgodne z oczekiwaniami użytkowników co zwiększa użyteczność serwisu i pozytywnie wpływa na jego odbiór. Praktyczne zastosowanie tego podejścia można zauważyć na wielu profesjonalnych stronach gdzie stopka jest wyraźnie oddzielona i przejrzysta co ułatwia użytkownikowi odnalezienie potrzebnych informacji.

Pytanie 7

Jak wygląda instrukcja przypisania wartości do elementu tablicy w języku JavaScript względem tablicy? ```Tablica['technik'] = 'informatyk';```

A. asocjacyjnej
B. numerycznej
C. statycznej
D. wielowymiarowej
W języku JavaScript tablice mogą być traktowane jako obiekty, a więc wykazują cechy struktur asocjacyjnych. Przypisując wartość do tablicy za pomocą notacji z nawiasami kwadratowymi, jak w przykładzie 'Tablica[\'technik\'] = \'informatyk\';', tworzymy nowy element o kluczu 'technik', co jest charakterystyczne dla obiektów asocjacyjnych. W JavaScript tablice są dynamiczne, co oznacza, że możemy dodawać elementy w dowolny sposób, a ich rozmiar nie jest ustalony z góry. Standard ECMAScript definiuje tablice jako obiekty, gdzie klucze są indeksami liczb całkowitych, ale można również używać stringów jako kluczy, co czyni tablice asocjacyjnymi. Przykładem może być obiekt, który przechowuje różne informacje, a elementy są dostępne zarówno za pomocą indeksów numerycznych, jak i stringów. Warto zaznaczyć, że użycie tablicy jako obiektu asocjacyjnego może być praktyczne w wielu zastosowaniach, np. w przechowywaniu konfiguracji czy zestawów danych. Dobrą praktyką jest jednak ograniczać użycie takich technik dla przejrzystości kodu."

Pytanie 8

Fragment kodu w PHP przedstawia się następująco (patrz ramka): Przy założeniu, że zmienna tablicowa $tab zawiera liczby naturalne, wynik działania programu polega na wypisaniu

Ilustracja do pytania
A. elementu tablicy równemu wartości $tab[0]
B. najmniejszego elementu w tablicy
C. tych elementów, które przewyższają wartość zmiennej $liczba
D. największego elementu w tablicy
Kod w PHP, który widzisz, robi coś fajnego – znajduje największy element w tablicy. Na początku przydzielamy zmiennej $liczba wartość pierwszego elementu z tablicy $tab. Potem przechodzimy przez wszystkie elementy tablicy za pomocą pętli foreach. W środku mamy warunek if, który sprawdza, czy aktualny element $element jest większy od tego, co mamy w $liczba. Jeśli tak, zmieniamy wartość $liczba na ten właśnie element. Gdy już skończymy pętlę, w $liczba mamy największą wartość z tablicy, a następnie to wypisujemy przez echo. Takie podejście to całkiem dobre rozwiązanie, szczególnie przy mniejszych zbiorach danych. Moim zdaniem, jest to piece of cake w programowaniu i często używane za każdym razem, gdy porównujemy różne wartości. Dobrze jest się nauczyć tej metody, bo sprawdza się w różnych sytuacjach, chociaż przy większych danych warto też pomyśleć o innych algorytmach jak sortowanie, które mogą uprościć sprawę.

Pytanie 9

Na podstawie tabeli Towar zrealizowano poniższe zapytanie SQL: ```SELECT nazwa_towaru FROM `Towar` WHERE cena_katalogowa < 65 ORDER BY waga DESC``` Jaki będzie rezultat tej operacji?

Ilustracja do pytania
A. Papier ksero A4, Kredki 24 kolory, Zeszyt A5 w linie, Zeszyt A5
B. Zeszyt A5 w linie, Zeszyt A5, Kredki 24 kolory, Papier ksero A4
C. Zeszyt A5, Zeszyt A5 w linie, Kredki 24 kolory, Papier ksero A4
D. Papier ksero A4, Kredki 24 kolory, Zeszyt A5, Zeszyt A5 w linie
Zapytanie SQL selekcjonuje towary z tabeli Towar, których cena katalogowa jest mniejsza niż 65, a następnie sortuje wyniki malejąco według wagi. Dzięki temu otrzymujemy listę towarów uporządkowaną od najcięższego do najlżejszego, a jednocześnie wykluczamy towary, które nie spełniają kryterium ceny. W podanym zestawie danych znajdują się cztery towary spełniające warunek cenowy: Papier ksero A4, Zeszyt A5, Zeszyt A5 w linie i Kredki 24 kolory. Spośród tych towarów najcięższy jest Papier ksero A4 (2.3), następnie Kredki 24 kolory (0.3), Zeszyt A5 (0.13), a najlżejszy jest Zeszyt A5 w linie (0.12). Kolejność wyników odpowiada zatem prawidłowej odpowiedzi numer 3. W praktyce umiejętność tworzenia zapytań SQL z warunkami filtrowania i sortowania jest niezwykle istotna w analizie danych, umożliwiając precyzyjne wyodrębnienie potrzebnych informacji z dużych zbiorów danych. Dobrym standardem jest zawsze testowanie zapytań na przykładowych danych, aby potwierdzić poprawność wyników przed ich zastosowaniem w środowisku produkcyjnym.

Pytanie 10

W skrypcie JavaScript użyto metody DOM getElementsByClassName('akapit'). Ta metoda odniesie się do akapitu

A. <p href="/akapit">akapit3</p>
B. <p id="akapit">akapit2</p>
C. <p class="akapit">akapit4</p>
D. <p>akapit</p>
Metoda DOM getElementsByClassName jest jedną z najważniejszych funkcji w JavaScript, która pozwala na selekcję elementów na stronie internetowej na podstawie ich klas CSS. W tym przypadku, odpowiedź <p class="akapit">akapit4</p> jest poprawna, ponieważ element ten ma przypisaną klasę "akapit", co czyni go bezpośrednim kandydatem do selekcji przez metodę getElementsByClassName('akapit'). Metoda ta zwraca kolekcję elementów (HTMLCollection), które mają podaną klasę, a następnie można z nimi pracować w kodzie JavaScript. Na przykład, możemy zmieniać ich style, zawartość lub dodawać zdarzenia. Dobrą praktyką jest stosowanie klas do stylizacji oraz manipulacji DOM, co pozwala na lepszą organizację kodu i zwiększa jego czytelność. Pamiętaj, że klasy są bardziej uniwersalne i elastyczne niż identyfikatory (ID), które powinny być unikalne na stronie. W przypadku konieczności stosowania metod do manipulacji elementami DOM, warto znać również inne metody, takie jak querySelector i querySelectorAll, które oferują bardziej zaawansowane opcje selekcji, umożliwiające wykorzystanie kombinacji klas, identyfikatorów i innych atrybutów.

Pytanie 11

Narzędziem do zarządzania bazą danych, które jest zintegrowane w pakiecie XAMPP, jest

A. phpMyAdmin
B. MySQL Workbench
C. pgAdmin
D. SQLite
phpMyAdmin jest popularnym narzędziem wbudowanym w pakiet XAMPP, które służy do zarządzania bazą danych MySQL. Umożliwia użytkownikom łatwe wykonywanie operacji takich jak tworzenie, edytowanie i usuwanie baz danych oraz tabel, a także zarządzanie użytkownikami i uprawnieniami. Interfejs phpMyAdmin jest oparty na przeglądarkach internetowych, co sprawia, że jego obsługa jest intuicyjna nawet dla osób bez zaawansowanej wiedzy technicznej. Przykładowo, można szybko importować lub eksportować dane w różnych formatach, takich jak SQL, CSV czy XML, co jest niezwykle przydatne podczas migracji danych między różnymi środowiskami. Standardy dobrych praktyk przewidują korzystanie z narzędzi takich jak phpMyAdmin w celu minimalizacji ryzyka błędów manualnych, a także w celu zwiększenia efektywności pracy z bazami danych. Dzięki phpMyAdmin, użytkownicy mogą również łatwo monitorować wydajność bazy danych i optymalizować zapytania, co jest kluczowe dla utrzymania wysokiej jakości aplikacji webowych.

Pytanie 12

W języku PHP wyniki zapytania z bazy danych zostały pobrane przy użyciu polecenia mysql_query(). Aby uzyskać dane w postaci wierszy z tej zwróconej kwerendy, należy użyć polecenia:

A. mysql_field_len()
B. mysql_fetch_row()
C. mysql_fetch_lengths()
D. mysql_list_fields()
Funkcja mysql_fetch_row() to naprawdę ważne narzędzie w PHP, które pomaga w pracy z wynikami zapytań SQL. Kiedy wykonasz zapytanie za pomocą mysql_query(), dostajesz zestaw wyników, który można traktować jak tablicę. Używając mysql_fetch_row(), możesz pobrać jeden wiersz danych z tego zestawu, a to przychodzi w formie tablicy numerycznej. To bardzo przydatne, szczególnie gdy chcesz przejść przez wszystkie wiersze, które zwraca zapytanie. Na przykład, przy wyświetlaniu danych w HTML. Super jest to, że ta funkcja jest prosta w użyciu i działa efektywnie, dlatego tak wielu programistów ją ceni. Pamiętaj, żeby zawsze zabezpieczać zapytania przed SQL Injection. Możesz to zrobić, stosując przygotowane zapytania (prepared statements) albo funkcje, jak mysqli_query() z mysqli_fetch_row(). Warto też wiedzieć, że jeśli nie ma już więcej wierszy do pobrania, to mysql_fetch_row() zwróci false. Można to wykorzystać do kontrolowania pętli w kodzie, co jest przydatne.

Pytanie 13

Do jakich zadań można wykorzystać program FileZilla?

A. kompilowania skryptu na stronie
B. sprawdzania poprawności strony internetowej
C. publikacji strony internetowej
D. analizowania skryptu na stronie
FileZilla to popularny klient FTP (File Transfer Protocol), który umożliwia przesyłanie plików między lokalnym komputerem a serwerem internetowym. Jego głównym zastosowaniem jest publikacja stron internetowych, co oznacza, że dzięki FileZilla można łatwo przenieść pliki HTML, CSS, JavaScript oraz inne zasoby na serwer, gdzie strona stanie się dostępna w Internecie. Przykładowo, jeśli stworzyłeś stronę w lokalnym środowisku, FileZilla pozwala na połączenie się z serwerem docelowym, a następnie na przesłanie wszystkich niezbędnych plików. Dobre praktyki branżowe zalecają również zarządzanie wersjami i regularne aktualizacje witryn, a FileZilla wspiera te procesy, umożliwiając łatwe synchronizowanie lokalnych katalogów z zawartością serwera. Dodatkowo, FileZilla obsługuje różne protokoły, takie jak SFTP czy FTPS, co zwiększa bezpieczeństwo transferu danych. Właściwe korzystanie z tego narzędzia jest kluczowe dla zapewnienia prawidłowego działania witryn oraz ich efektywnej publikacji.

Pytanie 14

W którym z poniższych przykładów walidacja fragmentu kodu CSS zakończy się sukcesem?

A. p { text-size:bold; }
B. <p style="font-size:bold;">
C. <p style="font-style:bold;">
D. p { font-weight:bold; }
Odpowiedzi, które próbują zastosować atrybuty stylów w niepoprawny sposób, zdradzają zrozumienie składni CSS oraz zasad stylizacji dokumentów HTML. W przypadku <p style="font-style:bold;"> pojawia się błąd, ponieważ atrybut style powinien zawierać właściwość font-weight, a nie font-style. Właściwość font-style jest przeznaczona do określenia stylu czcionki, takiego jak italic czy normal, a nie do ustawiania jej grubości. Zatem użycie 'bold' w kontekście font-style jest nieprawidłowe i prowadzi do tego, że przeglądarka nie zastosuje żadnej stylizacji. W kolejnej opcji, p { text-size:bold; }, znowu widzimy błąd w nazwie właściwości. Nie istnieje właściwość CSS o nazwie text-size; powinna być użyta font-size, a wartością mogą być jednostki takie jak px, em, rem itp. Ponadto, wartość 'bold' nie jest odpowiednia dla font-size, ponieważ ta właściwość przyjmuje liczby i jednostki, a nie stylizację. Ostatnia odpowiedź, <p style="font-size:bold;">, również jest błędna z tego samego powodu co wcześniej - font-size wymaga konkretnej wartości w jednostkach, a 'bold' nie jest akceptowalną wartością. Te błędne odpowiedzi pokazują, jak ważne jest zrozumienie składni CSS i stosowanie właściwych nazw właściwości w celu efektywnego stylizowania dokumentów HTML.

Pytanie 15

W poniższym kodzie CSS czcionka zmieni kolor na żółty

a[target="_blank"]
{
  color: yellow;
}
A. odnośników, które otwierają się w tej samej karcie
B. każdego linku
C. odnośników, które otwierają się w nowej karcie
D. tekstu akapitu
Prawidłowa odpowiedź wskazuje na zastosowanie selektora a[target="_blank"] w języku CSS. Ten selektor odnosi się do wszystkich odnośników HTML, które otwierają się w nowej karcie przeglądarki dzięki użyciu atrybutu target z wartością "_blank". Stylizacja tych odnośników na kolor żółty jest możliwa przez przypisanie właściwości color z odpowiednią wartością. Jest to praktyczne podejście, które pozwala na wizualne wyróżnienie linków otwierających się w osobnych zakładkach. Takie podejście jest zgodne z dobrymi praktykami projektowania stron internetowych, gdzie wskazane jest, aby użytkownicy mieli wyraźne sygnały o nietypowych działaniach linków. W kontekście dostępności webowej, takie stylizowanie wspiera użytkowników w szybszym orientowaniu się w sposobie działania poszczególnych elementów interfejsu. Separacja stylu i treści zgodnie z zasadami CSS umożliwia bardziej elastyczne zarządzanie wyglądem strony i ułatwia utrzymanie spójności wizualnej na całej witrynie. Przykład ten ilustruje, jak CSS może wpływać na interakcję użytkownika z elementami strony, co jest kluczowe w procesie tworzenia przyjaznych i intuicyjnych interfejsów użytkownika.

Pytanie 16

Elementem wykorzystywanym w bazie danych do podsumowywania, prezentowania oraz drukowania danych jest

A. zapytanie
B. raport
C. formularz
D. zestawienie
Raport jest fundamentalnym obiektem w bazach danych, który służy do podsumowywania, analizowania i prezentowania danych w przystępny sposób. Jego kluczową funkcją jest umożliwienie użytkownikowi wygenerowania wyników na podstawie zgromadzonych informacji, co jest szczególnie istotne w kontekście podejmowania decyzji biznesowych. Raporty mogą być wykorzystywane do przedstawienia danych finansowych, wydajności operacyjnej czy analizy rynku. W dobrych praktykach zarządzania danymi raporty powinny być oparte na aktualnych i wiarygodnych danych, a ich struktura powinna być przemyślana, aby umożliwić łatwe zrozumienie wyników. Przykładem może być raport sprzedaży, który zbiera dane z transakcji i przedstawia je w formie graficznej, co ułatwia szybką analizę trendów. Ponadto, w nowoczesnych systemach raportowania wykorzystuje się technologie takie jak BI (Business Intelligence), które integrują dane z różnych źródeł, co znacznie podnosi wartość informacyjną generowanych raportów.

Pytanie 17

Wskaż NIEPRAWIDŁOWY opis optymalizacji kodu wygenerowanego przez program

A. W celu przyspieszenia wykonania kodu przez procesor może być przeprowadzana na różnych etapach działania
B. Jej celem jest sprawdzenie zgodności z wymogami formalnymi
C. Jej celem jest zwiększenie efektywności programu
D. Powinna prowadzić do zmiany kodu źródłowego w taki sposób, aby działał on szybciej
Optymalizacja kodu wynikowego programu to proces, który ma na celu poprawienie jego wydajności, a nie sprawdzenie zgodności z wymogami formalnymi. W praktyce oznacza to, że optymalizacja skupia się na zwiększeniu efektywności działania aplikacji poprzez różne techniki, takie jak eliminacja zbędnych operacji, zmniejszenie zużycia pamięci, czy też poprawa szybkości wykonywania kodu. Przykładem może być wykorzystanie algorytmów o lepszej złożoności czasowej, co przekłada się na szybsze działanie programów w praktycznych zastosowaniach, takich jak gry komputerowe czy aplikacje webowe. W branży programistycznej stosuje się różnorodne narzędzia i standardy, takie jak analizy profili, które pomagają w identyfikowaniu wąskich gardeł wydajnościowych. Dlatego ważne jest, aby zrozumieć, że optymalizacja to nie tylko poprawa działania programu, ale także dostosowanie go do określonych wymagań użytkowników i systemów, na których będzie uruchamiany.

Pytanie 18

Kwerenda umożliwiająca modyfikację wielu rekordów lub przeniesienie ich przy pomocy jednego działania, określana jest jako kwerenda

A. krzyżowej
B. wybierająca
C. parametrycznej
D. funkcjonalnej
Kwerenda funkcjonalna to naprawdę przydatne narzędzie w bazach danych, które pozwala na wprowadzanie zmian w wielu rekordach na raz. To świetnie działa, jeśli masz dużo danych do przetworzenia, bo oszczędza czas i zasoby. Przykładem, który przychodzi mi do głowy, jest aktualizacja statusu zamówień w sklepie online. Można na przykład zmienić wszystkie zamówienia z "oczekujące" na "zrealizowane" jednym kliknięciem. To jest zgodne z dobrymi praktykami zarządzania danymi, bo utrzymuje porządek i spójność. A jeśli mówimy o standardach, kwerendy funkcjonalne są zgodne z SQL i jego różnymi rozszerzeniami, co ułatwia integrację z innymi systemami. Ważne jest tylko, żeby dobrze zabezpieczać dane, by przypadkiem nie usunąć lub nie zmienić czegoś ważnego. W branży często podkreśla się, że trzeba testować i walidować operacje na bazach, żeby wszystko działało jak należy.

Pytanie 19

Nazywa się inaczej nasycenie koloru

A. dopełnienie koloru
B. przezroczystość koloru
C. nasycenie koloru
D. jasność koloru
Zrozumienie koncepcji nasycenia koloru jest kluczowe w kontekście analizy odpowiedzi na to pytanie. Wiele osób myli saturację z innymi właściwościami kolorów, takimi jak przezroczystość, dopełnienie czy jasność. Przezroczystość koloru odnosi się do tego, jak wiele światła przechodzi przez dany kolor, a nie do jego intensywności. Kolory przezroczyste są często stosowane w warstwach grafiki komputerowej, ale nie mają one bezpośredniego związku z nasyceniem. Dopełnienie koloru dotyczy relacji między kolorami, które znajdują się naprzeciwko siebie na kole kolorów, a nie miary intensywności. Niekiedy twórcy kolorów popełniają błąd, uważając dopełnienie za nasycenie, co prowadzi do nieodpowiednich kombinacji i kompozycji w projektach. Jasność koloru, z kolei, odnosi się do jego jasności lub ciemności, co również nie jest równoznaczne z nasyceniem. Osoby zajmujące się projektowaniem powinny być świadome, że jasne kolory mogą być nasycone lub stonowane, w zależności od ich czystości. Ogólnie rzecz biorąc, mylenie tych terminów może prowadzić do frustracji w pracy kreatywnej i negatywnie wpływać na jakość końcowego produktu. Zrozumienie różnicy między tymi właściwościami jest kluczowe, aby uniknąć takich pułapek i osiągnąć zharmonizowane i profesjonalne rezultaty w projektach graficznych.

Pytanie 20

Model reprezentacji kolorów z parametrami: hue, saturation i value, to

A. CMYK
B. CMY
C. HSV
D. RGB
Odpowiedź HSV (Hue, Saturation, Value) jest poprawna, ponieważ ten model opisu przestrzeni barw koncentruje się na trzech kluczowych parametrach: odcieniu, nasyceniu i jasności. Odcień odnosi się do rzeczywistego koloru, nasycenie informuje o intensywności koloru, a jasność wskazuje na jego jasność. Model HSV jest szczególnie użyteczny w aplikacjach graficznych oraz podczas pracy z grafiką komputerową, ponieważ jest bardziej intuicyjny dla ludzi, niż inne modele, takie jak RGB czy CMYK. Przykładem zastosowania modelu HSV jest edytor graficzny, gdzie użytkownik może łatwo dostosować kolor, manipulując tymi trzema parametrami. Standardy branżowe, takie jak Adobe Photoshop, implementują ten model, co pozwala na efektywne tworzenie i edytowanie kolorów. Dodatkowo, model HSV jest używany w programowaniu komputerowym do tworzenia efektów wizualnych, gdzie precyzyjne dostosowanie kolorów jest kluczowe.

Pytanie 21

Jakie są etapy w odpowiedniej kolejności przy tworzeniu aplikacji?

A. Analiza oczekiwań klienta, określenie wymagań, programowanie, wdrożenie, testowanie
B. Określenie wymagań, analiza oczekiwań klienta, programowanie, wdrożenie, testowanie
C. Programowanie, analiza oczekiwań klienta, określenie wymagań, wdrożenie, testowanie
D. Analiza oczekiwań klienta, określenie wymagań, programowanie, testowanie, wdrożenie
Odpowiedź wskazująca na kolejność: analiza wymagań klienta, specyfikacja wymagań, tworzenie, testy, wdrażanie jest poprawna i odzwierciedla standardowy model cyklu życia oprogramowania (SDLC). Zaczynamy od analizy wymagań, co oznacza zrozumienie potrzeb klienta i zebranie informacji, które będą fundamentem dalszych prac. Następnie przechodzimy do specyfikacji wymagań, gdzie dokumentujemy te potrzeby w formie, która będzie zrozumiała dla zespołu developerskiego. Tworzenie aplikacji następuje po szczegółowym omówieniu i zaakceptowaniu wymagań, co minimalizuje ryzyko błędów. Testy są kluczowym etapem, który pozwala na weryfikację, czy stworzone rozwiązanie spełnia wymagania oraz działa zgodnie z założeniami. Ostateczne wdrożenie aplikacji do użytkowania powinno nastąpić po przeprowadzeniu wszystkich testów i uzyskaniu pozytywnych wyników. Przykład zastosowania tej metodologii można zaobserwować w projektach realizowanych w metodologii Agile, gdzie iteracje pozwalają na ciągłe dostosowywanie aplikacji do zmieniających się potrzeb klienta. Takie podejście zwiększa satysfakcję użytkowników i minimalizuje koszty związane z poprawkami.

Pytanie 22

Jakiego typu mechanizm zabezpieczeń dotyczący uruchamiania aplikacji jest obecny w środowisku wykonawczym platformy .NET Framework?

A. Mechanizm uruchamiania aplikacji realizowany przez funkcję Windows API (Application Programming Interface)
B. Mechanizm uruchamiania aplikacji oparty na uprawnieniach kodu (CAS - Code Access Security) i na rolach (RBS - Role-Based Security)
C. Mechanizm uruchamiania aplikacji dla bibliotek klas
D. Mechanizm uruchamiania aplikacji realizowany przez frameworki aplikacji internetowych (ASP.NET)
Wiele osób myli odpowiedzi dotyczące mechanizmów wykonywania aplikacji w .NET Framework, wskazując na różne inne opcje, które nie dotyczą bezpośrednio kontroli bezpieczeństwa. Mechanizm realizowany przez Windows API, choć istotny w kontekście interakcji z systemem operacyjnym, nie zapewnia specyficznych mechanizmów kontroli dostępu do zasobów, jak ma to miejsce w przypadku CAS. Windows API jest jedynie zestawem funkcji umożliwiających aplikacjom komunikację z systemem operacyjnym, a nie narzędziem do zabezpieczania aplikacji. Również stwierdzenie, że mechanizm wykonywania aplikacji dla bibliotek klas działa jako mechanizm bezpieczeństwa, jest mylne, ponieważ biblioteki klas same w sobie nie definiują polityki bezpieczeństwa, lecz dostarczają funkcjonalności, które mogą być używane w aplikacjach. Kolejna pomyłka polega na twierdzeniu, że mechanizmy ASP.NET, takie jak autoryzacja i uwierzytelnianie, są odpowiedzialne za kontrolę bezpieczeństwa wykonywania aplikacji. Choć ASP.NET dostarcza narzędzi do zabezpieczania aplikacji webowych, nie są one bezpośrednio związane z mechanizmami bezpieczeństwa na poziomie uruchamiania kodu. Przykładowo, można zastosować CAS w aplikacji ASP.NET, ale samo ASP.NET nie implementuje tego mechanizmu. Zrozumienie różnicy pomiędzy tymi mechanizmami jest kluczowe dla skutecznego wdrażania zabezpieczeń w aplikacjach .NET, co w praktyce przekłada się na lepsze zarządzanie ryzykiem związanym z bezpieczeństwem.

Pytanie 23

Model, w którym wszystkie dane są zapisane w jednej tabeli, określa się mianem

A. hierarchicznym
B. relacyjnym
C. sieciowym
D. jednorodnym
Model jednorodny to taka podstawowa struktura w bazach danych, gdzie wszystko trzymamy w jednej tabeli. To się fajnie sprawdza w prostych aplikacjach, bo wtedy relacje między danymi są dość oczywiste. Klasycznym przykładem może być baza kontaktów, gdzie każdy ma swoje info w jednym miejscu. Dzięki temu mamy łatwy dostęp do danych i prosto nimi zarządzać. Z mojego doświadczenia, to rozwiązanie jest super efektywne, ale jak system staje się większy i złożony, to zaczynają się schody. Wtedy inne modele, jak relacyjne, mogą mieć więcej sensu. W branży często korzysta się z modelu jednorodnego, zwłaszcza tam, gdzie szybki dostęp do danych jest kluczowy, a sztywne struktury tylko przeszkadzają. Na codzień to naprawdę przydatna rzecz, jak ktoś nie chce się męczyć z komplikacjami.

Pytanie 24

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

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

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

Pytanie 25

Zakładając, że zmienna tablicowa $tab jest wypełniona liczbami naturalnymi, wynikiem programu będzie wypisanie

$liczba = $tab[0];
foreach ($tab as $element)
{
    if ($element > $liczba)
        $liczba = $element;
}
echo $liczba;
A. tych elementów, które są większe od zmiennej $liczba.
B. najmniejszego elementu tablicy.
C. największego elementu tablicy.
D. elementu tablicy, który jest równy wartości $tab[0].
Poprawna odpowiedź sugeruje, że wynikiem programu będzie wypisanie największego elementu tablicy. To jest prawidłowe, ponieważ program używa techniki znanej jako pętla iteracyjna, aby przejść przez każdy element tablicy i porównać go z aktualnie największą znaną wartością. Na początku, największa znana wartość jest ustawiona na pierwszy element tablicy. Następnie, dla każdego elementu tablicy, program sprawdza, czy element jest większy od największej znanej wartości. Jeśli tak, to ta wartość staje się nową największą znaną wartością. Po przejściu przez wszystkie elementy, program wypisuje największą znaną wartość. Jest to standardowa technika stosowana w programowaniu, aby znaleźć największy element w tablicy lub liście.

Pytanie 26

Która z funkcji SQL nie wymaga żadnych argumentów?

A. upper
B. now
C. year
D. len
Funkcja SQL 'now()' jest jedną z funkcji, które nie wymagają argumentów, a jej głównym zadaniem jest zwracanie bieżącej daty i godziny systemowej w formacie odpowiednim dla bazy danych. Użycie tej funkcji jest niezwykle przydatne w kontekście rejestrowania momentu wykonania operacji w bazie danych, na przykład przy dodawaniu nowych rekordów do tabeli. Przykładowe zastosowanie tej funkcji można zobaczyć w poniższym zapytaniu SQL: 'INSERT INTO wydarzenia (nazwa, data_utworzenia) VALUES ('Nowe Wydarzenie', now());'. Takie podejście nie tylko automatyzuje proces rejestrowania czasu, ale także zapewnia spójność danych, eliminując ryzyko błędów związanych z ręcznym wprowadzaniem daty. W praktyce, stosowanie funkcji, które nie wymagają argumentów, jest często zgodne z zasadami dobrych praktyk programistycznych, które promują czytelność i prostotę kodu.

Pytanie 27

Jak można zaznaczyć komentarz w kodzie PHP?

A. /? … ?/
B. <? … ?>
C. <!-- …. -->
D. /* … */
Komentarze w kodzie PHP można umieszczać za pomocą znaków /* … */. Jest to standardowy sposób na dodawanie notatek, które są ignorowane przez interpreter PHP. Komentarze wieloliniowe są szczególnie przydatne w przypadku, gdy chcemy opisać większe fragmenty kodu lub wyłączyć sekcje kodu bez ich usuwania. Na przykład, możemy umieścić w komentarzach informacje o autorze, dacie powstania lub szczegóły dotyczące funkcjonalności danej funkcji. Dobrą praktyką jest również dokumentowanie ważnych informacji dotyczących zmiennych czy parametrów funkcji, co ułatwia przyszłą konserwację kodu. Warto pamiętać, że użycie komentarzy jest kluczowe w pracy zespołowej lub w projektach długoterminowych, gdzie zrozumienie kodu przez innych programistów może być kluczowe dla sukcesu projektu. Ponadto, stosowanie komentarzy zgodnie z dobrymi praktykami programowania zwiększa czytelność kodu i ułatwia jego późniejsze modyfikacje oraz debugowanie.

Pytanie 28

Aby obraz w filmie zmieniał się gładko, liczba klatek (niezachodzących na siebie) w ciągu sekundy musi mieścić się przynajmniej w zakresie

A. 16 do 19 fps
B. 31 do 36 fps
C. 24 do 30 fps
D. 20 do 23 fps
Wybór '31 do 36 fps' jest trochę mylący, bo chociaż teoretycznie mogłoby to zapewnić płynny obraz, to w praktyce nie jest to standard w produkcjach filmowych. Klatki powyżej 30 fps w tradycyjnym kinie to rzadkość, co może wprowadzać zamieszanie co do efektów wizualnych. Ponadto sztuczne zwiększenie fps takich jak 31 może sprawić, że ruch będzie wyglądał na rozmyty, a to niespecjalnie pasuje do estetyki filmowej. Z drugiej strony, '20 do 23 fps' to zdecydowanie za mało, by zapewnić przyzwoitą jakość w profesjonalnych produkcjach. Takie wartości mogą się sprawdzić w animacjach czy niskobudżetowych filmach, ale już w bardziej skomplikowanych ujęciach nie dają płynności. Natomiast '16 do 19 fps' to totalna porażka, bo powoduje skoki i zacięcia, a to w branży nie przechodzi. Dlatego w pracy z wideo, warto pilnować minimum 24 fps, żeby widzowie mieli fajne wrażenia wizualne.

Pytanie 29

Który z typów danych w C++ oferuje najszerszy zakres wartości?

A. long int
B. long long
C. short
D. int
Typ danych 'long long' w języku C++ jest często używany do przechowywania dużych liczb całkowitych. W standardzie C++11 i późniejszych, 'long long' jest gwarantowanym typem danych, który może pomieścić co najmniej 64 bity, co pozwala na przechowywanie wartości w zakresie od -9 223 372 036 854 775 808 do 9 223 372 036 854 775 807. Jest to znaczące w kontekście obliczeń, gdzie mogą występować duże liczby, na przykład w aplikacjach finansowych, przetwarzaniu danych lub obliczeniach naukowych. Korzystanie z tego typu danych jest zgodne z dobrymi praktykami programistycznymi, ponieważ pozwala na unikanie przepełnienia zmiennej, co może prowadzić do nieprzewidywalnych wyników. Warto również zauważyć, że w przypadku używania dużych wartości, należy zwrócić uwagę na właściwe zarządzanie pamięcią oraz wydajnością aplikacji. Przykładem zastosowania 'long long' może być program do obliczania faktorialu dużych liczb, gdzie standardowe typy danych mogłyby nie wystarczyć. Zastosowanie 'long long' zapewnia większą elastyczność w obliczeniach i zwiększa bezpieczeństwo kodu.

Pytanie 30

Przedstawiona ikona funkcji edytora grafiki rastrowej o nazwie "kubełek" umożliwia

Ilustracja do pytania
A. zaznaczenie obszaru o takim samym kolorze.
B. wypełnienie zaznaczonego obszaru kolorem.
C. zmianę aktywnych kolorów.
D. pobranie wskazanej barwy i ustawienie jej, jako aktywnej.
Gratulacje, odpowiedź jest poprawna. Ikona 'kubełek farby' w edytorach grafiki rastrowej jest narzędziem umożliwiającym wypełnienie zaznaczonego obszaru wybranym kolorem. Działanie tego narzędzia jest podobne do rozlewania farby - kolor wypełnia ciągły obszar aż do napotkania krawędzi lub pikseli o innym kolorze. Ta funkcja pozwala na szybkie i efektywne kolorowanie większych powierzchni obrazu. W praktyce, jest to niezwykle przydatne narzędzie, szczególnie gdy potrzebujesz szybko zmienić tło obrazu lub wypełnić obszar jednolitym kolorem. Warto również zauważyć, że różne edytory mogą mieć dodatkowe opcje dla tego narzędzia, takie jak możliwość wyboru tolerancji (która decyduje, jak bardzo podobny kolor musi być, aby został wypełniony) czy wypełnianie według warstwy czy według obrazu.

Pytanie 31

W bazie danych MySQL utworzono tabelę. Aby jednoznacznie zdefiniować, że pole ID jest kluczem głównym, należy dopisać

 CREATE TABLE Osoby ( ID int NOT NULL, nazwisko varchar(255) NOT NULL, wiek int); 
A. PRIMARY KEY (ID) przed zamknięciem nawiasu.
B. PK (ID) przed zamknięciem nawiasu.
C. PK w linii, w której jest zdefiniowane pole ID.
D. FOREIGN KEY w linii, w której jest zdefiniowane pole ID.
Niektóre odpowiedzi na to pytanie mogły zawierać błędne koncepcje, które warto omówić. W języku SQL, skrót 'PK' nie jest rozpoznawany jako oznaczenie klucza głównego. Poprawnym oznaczeniem jest klauzula 'PRIMARY KEY'. Innym błędnym podejściem jest próba oznaczenia pola ID jako klucz obcy za pomocą klauzuli 'FOREIGN KEY'. Klucze obce są używane do tworzenia powiązań między tabelami w relacyjnych bazach danych, a nie do definiowania unikalności rekordu. Dlatego takie podejście jest niezgodne ze standardami SQL i dobrymi praktykami w projektowaniu baz danych. Zrozumienie różnicy między kluczami głównymi a obcymi jest kluczowe dla efektywnego tworzenia i zarządzania relacyjnymi bazami danych. Za pomocą klucza głównego określamy unikalność rekordu, natomiast klucz obcy pozwala na tworzenie relacji między różnymi tabelami.

Pytanie 32

Aby zweryfikować ustawienia w pliku php.ini, można wykonać skrypt PHP, który zawiera polecenie

A. <?php ini_set(); ?>
B. <?php phpcredits(); ?>
C. <?php echo phpversion(); ?>
D. <?php phpinfo(); ?>
Funkcja phpinfo() jest jednym z najczęściej używanych narzędzi w PHP do uzyskiwania szczegółowych informacji o środowisku PHP, w tym ustawieniach konfiguracyjnych z pliku php.ini. Po jej wywołaniu, generowana jest strona HTML zawierająca dane o wersji PHP, zainstalowanych modułach, dostępnych zmiennych i wielu innych istotnych informacjach. Dzięki temu programiści mogą szybko zidentyfikować, jakie opcje są aktywne, co jest szczególnie przydatne przy diagnozowaniu problemów lub optymalizacji aplikacji. Przykładowo, w przypadku występowania błędów związanych z pamięcią lub czasem wykonywania skryptów, programista może skorzystać z phpinfo(), aby sprawdzić, jakie limity są ustawione. Warto również zauważyć, że korzystanie z tej funkcji w środowisku produkcyjnym powinno być ograniczone, aby uniknąć ujawnienia informacji o serwerze. Dobrym praktyką jest ograniczenie dostępu do wyników phpinfo() tylko do zaufanych użytkowników lub wyłączenie jej w wersji produkcyjnej.

Pytanie 33

Jaki zapis w HTML służy do określenia kodowania znaków w dokumencie?

A. &lt;charset=&quot;UTF-8&quot;&gt;
B. &lt;meta charset=&quot;UTF-8&quot;&gt;
C. &lt;meta encoding=&quot;UTF-8&quot;&gt;
D. &lt;encoding=&quot;UTF-8&quot;&gt;
Poprawna odpowiedź to &lt;meta charset=&quot;UTF-8&quot;&gt;, która jest standardowym sposobem deklaracji kodowania znaków w dokumentach HTML. Użycie tego tagu w sekcji &lt;head&gt; dokumentu HTML informuje przeglądarki internetowe o tym, jakie znaki będą używane w danym dokumencie, co jest kluczowe dla prawidłowego wyświetlania treści. Deklaracja 'UTF-8' jest szczególnie powszechna, ponieważ obsługuje wiele różnych znaków i symboli z różnych języków, co czyni ją uniwersalnym wyborem dla większości stron internetowych. Przykłady zastosowań obejmują strony wielojęzyczne, gdzie ważne jest, aby tekst został prawidłowo wyświetlony bez błędów z powodu nieodpowiedniego kodowania. Zgodnie z najlepszymi praktykami w branży, zawsze zaleca się umieszczanie tego tagu na początku sekcji &lt;head&gt; dokumentu, aby zapewnić, że wszystkie elementy strony będą renderowane zgodnie z zamierzeniem twórcy. Użycie odpowiedniego kodowania znaków jest również istotne z punktu widzenia SEO, ponieważ wyszukiwarki mogą mieć problemy z indeksowaniem treści, jeśli kodowanie jest nieprawidłowo ustawione.

Pytanie 34

Jak powinien być poprawnie zapisany znacznik <img>, służący do umieszczenia na stronie internetowej obrazu rys.jpg, przeskalowanego do szerokości 120 px oraz wysokości 80 px z tekstem alternatywnym "krajobraz"?

A. <img href="rys.jpg" height="120px" width="80px" info="krajobraz"/>
B. <img src="rys.jpg" width="120px" height="80px" alt="krajobraz"/>
C. <img src="rys.jpg" height="120px" width="80px" info="krajobraz"/>
D. <img image="rys.jpg" width="120px" height="80px" alt="krajobraz"/>
Odpowiedź <img src="rys.jpg" width="120px" height="80px" alt="krajobraz"/> jest poprawna z kilku powodów. Przede wszystkim, atrybut 'src' wskazuje na lokalizację pliku graficznego, co jest kluczowe dla poprawnego wyświetlania obrazu na stronie internetowej. Atrybuty 'width' oraz 'height' pozwalają na precyzyjne określenie rozmiarów obrazu, co jest istotne zarówno dla responsywności strony, jak i dla optymalizacji czasu ładowania. Użycie jednostki 'px' (pikseli) jest poprawne, jednak w HTML5 można pominąć tę jednostkę, wpisując jedynie wartość liczbową. Atrybut 'alt' jest niezwykle ważny dla dostępności, ponieważ dostarcza alternatywny opis obrazu dla użytkowników, którzy nie mogą go zobaczyć, na przykład osób niewidomych korzystających z czytników ekranu. Używanie odpowiednich atrybutów oraz wartości jest zgodne z najlepszymi praktykami w tworzeniu stron WWW oraz standardami W3C, co wpływa na lepszą użyteczność oraz SEO strony. Przykładem praktycznym może być umieszczenie grafiki w nagłówku strony, gdzie obraz jest widoczny, a opis alternatywny wspiera dostępność i kontekst treści.

Pytanie 35

Przyjmując, że użytkownik Adam nie miał dotychczas żadnych uprawnień, polecenie SQL przyzna mu prawa jedynie do

GRANT CREATE, ALTER ON sklep.* TO adam;
A. tworzenia oraz modyfikowania struktury w tabeli sklep
B. tworzenia i zmiany struktury wszystkich tabel w bazie sklep
C. dodawania i modyfikacji danych we wszystkich tabelach bazy sklep
D. dodawania i modyfikacji danych w tabeli sklep
To, co zaznaczyłeś, jest jak najbardziej na miejscu. W tym SQL-u, 'GRANT CREATE, ALTER ON sklep.* TO adam;' dajesz użytkownikowi, czyli adamowi, możliwości tworzenia i zmieniania struktury wszystkich tabel w bazie 'sklep'. Słowo 'CREATE' pozwala mu na tworzenie nowych tabel, a 'ALTER' umożliwia mu wprowadzanie zmian w tych istniejących, na przykład dodawanie czy usuwanie kolumn. Ważne, żeby ogarnąć, że 'sklep.*' oznacza wszystkie tabele w danej bazie, co jest zgodne z dobrymi praktykami w zarządzaniu bazami danych. No bo jakby adam miał ochotę dodać nową tabelę albo zmodyfikować istniejącą, to musi mieć odpowiednie uprawnienia. Przykładem może być sytuacja, gdy administrator daje programiście dostęp do zmian w strukturze tabel, żeby móc dodać nowe funkcje do aplikacji – to naprawdę ważne dla rozwoju systemu.

Pytanie 36

Aby wprowadzić dane do bazy przy użyciu polecenia PHP, konieczne jest przekazanie do jego parametrów

A. id wiersza w $zm1 i zapytanie INSERT INTO w $zm2
B. NULL w $zm1, aby baza mogła zapisać kod błędu i zapytanie SELECT w $zm2
C. identyfikator połączenia z bazą danych w $zm1 i zapytanie SELECT w $zm2
D. identyfikator połączenia z bazą danych w $zm1 i zapytanie INSERT INTO w $zm2
Poprawna odpowiedź wskazuje, że w parametrze $zm1 należy przekazać identyfikator połączenia z bazą danych, a w $zm2 zapytanie INSERT INTO. To podejście jest zgodne z zasadami korzystania z funkcji mysqli_query w PHP, która jest używana do wykonywania zapytań SQL na bazie danych. Identyfikator połączenia jest niezbędny, ponieważ pozwala PHP zidentyfikować, z którą bazą danych będzie nawiązywało interakcję. Zapytanie INSERT INTO umożliwia dodawanie nowych rekordów do określonej tabeli. Na przykład, jeśli chcemy dodać nowego użytkownika do tabeli 'users', możemy użyć polecenia: mysqli_query($connection, "INSERT INTO users (name, email) VALUES ('Jan Kowalski', '[email protected]')"). Przestrzeganie tych zasad jest zgodne z praktykami bezpieczeństwa, takimi jak unikanie SQL Injection, które można osiągnąć poprzez odpowiednie przygotowywanie zapytań oraz walidację danych przed ich wstawieniem.

Pytanie 37

W tabeli Recepta pola Imię oraz Nazwisko odnoszą się do pacjenta, dla którego recepta została wystawiona. Jaką kwerendę należy wykorzystać, aby dla wszystkich recept uzyskać datę ich wystawienia oraz imię i nazwisko lekarza, który je wystawił?

Ilustracja do pytania
A. SELECT Imie, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id
B. SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id
C. SELECT Imie, Nazwisko, DataWystawienia FROM Recepta
D. SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta
Zauważyłem, że dobrze zrozumiałeś, jak skonstruować kwerendę SQL, która łączy dane lekarza z datą wystawienia recepty. Użycie klauzuli JOIN to kluczowa sprawa, bo dzięki temu możesz połączyć tabele Recepta i Lekarz na podstawie odpowiednich kluczy. Dzięki temu dostajesz imię i nazwisko lekarza, który wypisał daną receptę. Klauzula SELECT, którą używasz, wskazuje, co chcesz zobaczyć – w tym przypadku Imie i Nazwisko z tabeli Lekarz oraz Datę Wystawienia z tabeli Recepta. To jest naprawdę podstawowa umiejętność, która pomaga w pracy z relacyjnymi bazami danych. Z mojego doświadczenia, umiejętność tworzenia takich zapytań, pomoże nie tylko w nauce, ale i w przyszłej pracy, bo baza danych rzadko jest prosta i często trzeba łączyć różne dane. I jeszcze jedna rzecz: używanie JOIN w odpowiedni sposób może przyspieszyć działanie zapytań, co jest ważne, gdy mamy do czynienia z dużą ilością danych.

Pytanie 38

Semantyczny znacznik sekcji języka HTML 5 przeznaczony do umieszczenia stopki strony WWW to

A. <aside> 
B. <figcaption>
C. <header>
D. <footer>
Poprawna odpowiedź to <footer>, bo właśnie ten znacznik w HTML5 jest semantycznie przeznaczony na stopkę strony lub stopkę sekcji. W specyfikacji HTML5 wyraźnie podkreślono, że <footer> służy do umieszczania informacji końcowych: praw autorskich (copyright), linków do polityki prywatności, kontaktu, autorów, krótkich podsumowań czy nawigacji pomocniczej. Moim zdaniem warto traktować <footer> jak miejsce na „meta‑informacje” o stronie albo o danej części dokumentu. Co ważne, <footer> nie musi występować tylko raz – możesz mieć stopkę całej strony w obrębie <body>, ale też osobne stopki np. dla artykułu (<article>) czy sekcji (<section>). To jest dobra praktyka, bo poprawia strukturę dokumentu i czytelność kodu. W praktyce wygląda to np. tak: <footer><p>© 2026 Firma XYZ</p><nav><a href="/regulamin">Regulamin</a> | <a href="/kontakt">Kontakt</a></nav></footer>. Czytniki ekranowe i roboty wyszukiwarek lepiej rozumieją wtedy, że ta część strony to zakończenie i informacje dodatkowe. To się przekłada na lepszą dostępność (WCAG) i trochę sensowniejsze SEO. Z mojego doświadczenia warto pilnować, żeby nie wrzucać do <footer> całej reszty layoutu, tylko właśnie elementy typowo „stopkowe”. Dobrą praktyką jest też trzymanie się spójnej struktury na wszystkich podstronach, żeby użytkownik intuicyjnie wiedział, że w stopce znajdzie np. link do pliku RODO albo dane firmy. HTML5 mocno stawia na semantykę, więc używanie <footer> zamiast jakiegoś bezsensownego <div id="stopka"> to po prostu nowocześniejsze i zgodne ze standardami podejście.

Pytanie 39

Która funkcja edytora grafiki wektorowej spowoduje przekształcenie z przedstawionych po lewej stronie figur koła i prostokąta do figury półkola widocznej po prawej stronie?

Ilustracja do pytania
A. Różnica.
B. Podział.
C. Wykluczenie.
D. Część wspólna.
W grafice wektorowej operacje na kształtach, takie jak Różnica, Podział, Wykluczenie czy Część wspólna, to tzw. operacje boole’owskie. One nie są losowe – każda z nich ma bardzo konkretne, matematyczne znaczenie. Typowy błąd polega na tym, że patrzymy tylko na „intuicyjną” nazwę funkcji, a nie na to, co faktycznie dzieje się z obszarami wypełnienia. Różnica (ang. Subtract / Difference) polega na tym, że jedna figura „wycina” fragment z drugiej. Gdyby w naszym przykładzie użyć różnicy, to z jednej figury zostałby usunięty fragment zajmowany przez drugą. W efekcie dostalibyśmy kształt przypominający np. prostokąt z zaokrąglonym wycięciem, a nie pełne półkole. To przydaje się np. do robienia otworów, ramek, ikon z „dziurą”, ale nie do budowy półkola. Podział (ang. Divide / Fragment) dzieli obszar wszędzie tam, gdzie kształty się przecinają, na kilka osobnych obiektów. Wizualnie może to chwilowo wyglądać podobnie, ale końcowy efekt to kilka fragmentów, które trzeba ręcznie usuwać lub scalać. W testowym zadaniu chodzi o jedną, gotową figurę półkola, bez dodatkowego sprzątania, więc to nie jest optymalna operacja. Wykluczenie (ang. Exclude / XOR) działa odwrotnie do części wspólnej – usuwa obszar nakładania się, a zostawia tylko to, co jest „na zewnątrz” przecięcia. Gdyby użyć wykluczenia na kole i prostokącie, środek, czyli miejsce ich wspólnego nakładania, zniknie, a zostaną dwa osobne dziwne kształty po bokach. To dobra funkcja do tworzenia bardziej dekoracyjnych, ażurowych form, ale kompletnie nie nadaje się do uzyskania klasycznego półkola. W tym zadaniu kluczowe jest zrozumienie, że półkole jest dokładnie tym obszarem, gdzie koło i prostokąt się pokrywają. Stąd jedynie „Część wspólna” daje czysty, poprawny efekt bez dodatkowej obróbki. Warto przy takich pytaniach wyobrażać sobie, które fragmenty zostaną, a które zostaną usunięte, zamiast sugerować się tylko nazwą funkcji w menu programu.

Pytanie 40

Przedstawiony w ramce fragment kwerendy SQL ma za zadanie wybrać

SELECT COUNT(wartosc) FROM ...
A. liczbę wierszy.
B. liczbę kolumn.
C. sumę w kolumnie wartosc.
D. średnią w kolumnie wartosc.
Funkcja COUNT() w SQL bardzo często bywa mylona z innymi funkcjami agregującymi, takimi jak SUM() czy AVG(), i stąd biorą się nietrafione interpretacje tego typu zapytań. Trzeba jasno podkreślić: COUNT(wartosc) nie zwraca ani liczby kolumn, ani sumy wartości, ani średniej. Zlicza wiersze, w których dana kolumna ma ustawioną jakąś wartość, czyli nie jest NULL. To jest operacja na rekordach, a nie na strukturze tabeli. Liczba kolumn w tabeli jest cechą schematu bazy danych i jej się nie wyciąga funkcją COUNT() w taki sposób; do tego służą metadane systemowe, np. odpowiednie zapytania do information_schema w systemach zgodnych ze standardem SQL. Mylenie COUNT z operacjami na strukturze wynika często z intuicji, że „liczę coś w SELECT, więc może kolumny”, ale SQL tak nie działa. Z kolei oczekiwanie, że COUNT(wartosc) policzy sumę lub średnią, bierze się z mieszania pojęć między różnymi funkcjami agregującymi. SUM(wartosc) faktycznie dodaje wszystkie nie-NULL wartości w danej kolumnie, a AVG(wartosc) oblicza z nich średnią arytmetyczną. COUNT natomiast w ogóle nie zagląda do treści liczbowej czy tekstowej, interesuje go tylko, czy wiersz ma wartość, czy ma NULL. Typowy błąd myślowy polega na tym, że ktoś widzi w SELECT jakąś nazwę funkcji i kolumnę w nawiasie i automatycznie zakłada, że wynik będzie „jakimś przetworzeniem” danych – sumą, średnią, czymś w tym stylu. Tymczasem w SQL każda funkcja ma bardzo precyzyjnie zdefiniowane działanie i trzeba znać różnice. Dobre praktyki mówią, żeby zawsze dobierać funkcję agregującą do konkretnego pytania biznesowego: jeśli pytasz „ile rekordów?”, używasz COUNT; jeśli „jaka jest łączna wartość?”, wtedy SUM; jeśli „jaka jest przeciętna wartość?”, wtedy AVG. Warto też pamiętać o różnicy między COUNT(*) a COUNT(kolumna), bo to kolejna pułapka: pierwsze liczy wszystkie wiersze, nawet z NULL-ami, drugie tylko te z uzupełnioną wartością. Świadome korzystanie z tych funkcji to podstawa rzetelnej analizy danych w każdej profesjonalnej bazie.