Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 24 kwietnia 2026 10:13
  • Data zakończenia: 24 kwietnia 2026 10:33

Egzamin zdany!

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

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. td, th { background-color: Pink; }
B. tr { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. tr:active { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 2

Jakie polecenie należy wykorzystać, aby przypisać użytkownikowi uprawnienia do tabel w bazie danych?

A. SELECT
B. REVOKE
C. CREATE
D. GRANT
Poprawna odpowiedź to GRANT, które jest standardowym poleceniem w systemach zarządzania bazami danych (DBMS) umożliwiającym nadawanie użytkownikom uprawnień do wykonywania określonych operacji na obiektach bazy danych, takich jak tabele, widoki czy procedury. Przy użyciu GRANT administrator bazy danych może precyzyjnie określić, jakie działania użytkownik może wykonać, np. SELECT (odczyt danych), INSERT (wstawianie danych), UPDATE (aktualizacja danych) czy DELETE (usuwanie danych). Przykładowo, polecenie 'GRANT SELECT ON tablename TO username;' nadaje użytkownikowi 'username' prawo do odczytu danych z tabeli 'tablename'. Dobrą praktyką jest przydzielanie minimalnych uprawnień, które są niezbędne do realizacji zadań, co zwiększa bezpieczeństwo bazy danych. Warto również zauważyć, że uprawnienia mogą być nadawane grupom użytkowników, co upraszcza zarządzanie dostępem w dużych organizacjach.

Pytanie 3

Wskaż pętlę w języku JavaScript, która wypisze sześć kolejnych liczb parzystych.

A. for(i=2;i<=12;i++) {i=i+2; document.write(i);}
B. for(i=2;i<12;i+=2) {document.write(i);}
C. for(i=2;i<=12;i+=2) {document.write(i);}
D. for(i=2;i<12;i++) {i++; document.write(i);}
Prawidłowa odpowiedź to pętla for(i=2;i<=12;i+=2) {document.write(i);}, ponieważ jest ona skonstruowana w sposób, który pozwala na wyświetlenie sześciu kolejnych liczb parzystych, zaczynając od 2 do 12 włącznie. Pętla for składa się z trzech głównych części: inicjalizacji (i=2), warunku (i<=12) oraz inkrementacji (i+=2). Inicjalizacja ustawia zmienną i na 2, co jest pierwszą liczbą parzystą. Warunek i<=12 zapewnia, że pętla będzie kontynuowana do momentu, gdy i osiągnie wartość większą niż 12, co oznacza, że ostatnią liczbą, która zostanie wyświetlona, będzie 12. Inkrementacja i+=2 powoduje, że przy każdej iteracji wartość i zwiększa się o 2, co pozwala na przechodzenie pomiędzy kolejnymi liczbami parzystymi (2, 4, 6, 8, 10, 12). Taki sposób konstrukcji pętli jest zgodny z zasadami programowania w JavaScript oraz pozwala na efektywne i kontrolowane wyświetlanie danych na stronie. Istotne jest również, że wykorzystanie metody document.write() jest jedną z prostszych form wyświetlania danych w JavaScript, aczkolwiek w praktyce jest zalecane korzystanie z bardziej nowoczesnych metod, takich jak manipulacja DOM, aby uniknąć nadpisywania całej zawartości strony.

Pytanie 4

Zestaw narzędzi oraz funkcji umożliwiający tworzenie aplikacji, który dodatkowo narzuca ramy wizualne aplikacji, jej strukturę oraz czasami wzór, według którego ma być stworzona aplikacja, to

A. komponent
B. biblioteka
C. middleware
D. framework
Biblioteka, komponent oraz middleware to pojęcia, które różnią się od frameworków zarówno pod względem funkcji, jak i sposobu wykorzystania w procesie tworzenia oprogramowania. Biblioteki to zestawy zdefiniowanych funkcji i procedur, które programista może wykorzystać w swoim projekcie, ale nie narzucają one struktury ani architektury aplikacji. Użytkownik biblioteki ma pełną kontrolę nad tym, jak i kiedy dany kod zostanie wykorzystany, co czyni ją bardziej elastyczną, ale także bardziej ryzykowną, gdyż łatwo można wprowadzić nieporządek w kodzie. Komponenty, z kolei, to niezależne moduły, które można wykorzystać w różnych miejscach aplikacji. Zazwyczaj są częścią większej architektury, ale same w sobie nie definiują szkieletu aplikacji. Middleware natomiast to oprogramowanie, które działa jako pośrednik w komunikacji między różnymi systemami lub aplikacjami. Jego główną funkcją jest zarządzanie danymi przesyłanymi pomiędzy aplikacjami, a nie ustalanie struktury samej aplikacji. W związku z tym, wybór frameworku jako odpowiedzi na postawione pytanie jest poprawny, ponieważ jedynie frameworki narzucają szkielet, strukturę i wzorce, które ułatwiają proces programowania.

Pytanie 5

Kod został napisany w języku JavaScript. W podanej definicji obiektu metodą jest element o nazwie.

var obj1 = {
  czescUlamkowa: 10,
  czescCalkowita: 20,
  oblicz: function() {.....}
}
A. oblicz
B. czescCalkowita
C. czescUlamkowa
D. obj1
W podanym kodzie JavaScript obiekt obj1 zawiera trzy elementy czescUlamkowa czescCalkowita i oblicz Istotnym aspektem definicji obiektów w JavaScript jest możliwość definiowania metod czyli funkcji będących częścią obiektu W podanym obiekcie metoda oblicz zdefiniowana jest jako funkcja przypisana do klucza o tej samej nazwie To właśnie odróżnia metodę od zwykłych właściwości obiektu czyli czescUlamkowa i czescCalkowita które są wartościami liczbowymi Metody w JavaScript są wykorzystywane do wykonywania operacji wewnątrz obiektu co pozwala na manipulację jego danymi i zachowaniami Przykładowo metoda oblicz może służyć do kalkulacji bazującej na innych właściwościach obiektu takich jak czescUlamkowa i czescCalkowita Definiując metody w obiektach uzyskujemy spójność i enkapsulację dzięki czemu obiekt może sam zarządzać swoimi danymi i operacjami Rozumienie metod w kontekście obiektów jest kluczowe zwłaszcza w paradygmacie programowania obiektowego gdzie obiekty mogą posiadać zarówno dane jak i funkcjonalności związane z tymi danymi

Pytanie 6

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

A. Funkcja window.alert()
B. Metoda document.write()
C. Funkcja MessageBox()
D. Właściwość innerHTML
Funkcja MessageBox() nie jest zdefiniowana w języku JavaScript, co czyni tę odpowiedź poprawną. W JavaScript do wyświetlania interaktywnych okien dialogowych służy metoda window.alert(), która wyświetla prosty komunikat. Metoda ta przyjmuje jeden argument, który jest tekstem wyświetlanym w oknie alertu. Przykład użycia: window.alert('To jest komunikat');. Kolejną metodą jest document.write(), która umożliwia dynamiczne dodawanie treści do dokumentu HTML. Przykład: document.write('<h1>Witaj w JavaScript!</h1>');. W praktyce, podczas tworzenia interaktywnych aplikacji webowych, wybór metody prezentacji danych powinien być przemyślany, biorąc pod uwagę doświadczenia użytkowników. Warto również stosować standardy dotyczące dostępności, aby zapewnić, że wszyscy użytkownicy, niezależnie od ich umiejętności technicznych, mogą z łatwością korzystać z aplikacji.

Pytanie 7

Aby uruchomić skrypt JavaScript, potrzebne jest oprogramowanie

A. przeglądarka internetowa
B. debugger JavaScript
C. serwer MySQL
D. serwer WWW
Aby uruchomić skrypt JavaScript, niezbędne jest posiadanie przeglądarki internetowej, ponieważ JavaScript jest językiem skryptowym, który działa bezpośrednio w środowisku przeglądarki. Przeglądarki, takie jak Chrome, Firefox czy Safari, zawierają silniki JavaScript, które interpretują i wykonują kod skryptowy. Przykładem może być użycie funkcji 'console.log()', która umożliwia wyświetlanie danych w konsoli przeglądarki. Ponadto, standard ECMAScript, na którym oparty jest JavaScript, określa zasady i funkcje tego języka, a przeglądarki implementują te standardy, co zapewnia spójność działania skryptów. Użytkownicy mogą również używać narzędzi deweloperskich, dostępnych w przeglądarkach, do debugowania i optymalizacji skryptów, ale podstawowym warunkiem uruchomienia kodu JavaScript zawsze będzie przeglądarka internetowa. W obecnych czasach, JavaScript stał się kluczowym elementem tworzenia interaktywnych aplikacji internetowych, co podkreśla jego znaczenie w ekosystemie webowym.

Pytanie 8

Grafika, która ma być pokazana na stronie, powinna mieć transparentne tło. Podaj format pliku graficznego, w którym należy go zapisać.

A. JPEG
B. CDR
C. BMP
D. PNG
Format PNG (Portable Network Graphics) jest idealnym rozwiązaniem dla obrazów z przezroczystym tłem, ponieważ obsługuje kanał alpha, który umożliwia definiowanie przezroczystości poszczególnych pikseli. Dzięki temu, gdy obraz PNG jest umieszczany na różnym tle, zachowuje naturalny wygląd i nie wymaga dodatkowego dostosowywania, co jest szczególnie ważne w projektach graficznych, które wymagają elastyczności w prezentacji. Przykładowe zastosowania PNG obejmują ikony, logo oraz wszelkie grafiki, które muszą być nałożone na inne elementy wizualne bez widocznych krawędzi czy tła. W branży grafiki komputerowej oraz web designu, PNG stał się standardem dla materiałów wymagających wysokiej jakości obrazu z zachowaniem przezroczystości. Dobrą praktyką jest również stosowanie PNG w przypadku grafik, które zawierają tekst, ponieważ format ten nie wprowadza strat jakości, co może mieć miejsce w przypadku innych formatów kompresji. Warto również zaznaczyć, że PNG nie traci jakości przy wielokrotnym zapisywaniu, co czyni go preferowanym wyborem tam, gdzie jakość jest kluczowa.

Pytanie 9

W języku PHP zmienna typu float może przyjmować wartości

A. jedynie liczby całkowite
B. wartości logiczne
C. wartości nieliczbowe
D. wartości zmiennoprzecinkowe
Wybór odpowiedzi dotyczącej całkowitych wartości jest nieprawidłowy, ponieważ zmienne typu float w języku PHP są definiowane do przechowywania liczb zmiennoprzecinkowych, a nie tylko całkowitych. Dla wielu programistów może być mylące, że wartości całkowite i zmiennoprzecinkowe są traktowane jako odrębne typy danych, a tymczasem float jest bardziej uniwersalny, pozwalając na reprezentację obu. Wybór nieliczbowych wartości także jest błędny, ponieważ zmienne float są właśnie typem numerycznym, co oznacza, że przechowują wartości liczbowe, a nie literowe czy inne typy danych. To prowadzi do mylnego przekonania, że float może przechowywać dane w postaci tekstu, co jest technicznie niemożliwe. Również odpowiedź o wartościach logicznych wykazuje zrozumienie pomiędzy różnymi typami zmiennych w PHP, gdzie typ logiczny (boolean) przyjmuje wartości true lub false, co całkowicie różni się od wartości numerycznych. Często pojawia się błąd myślowy polegający na mieszaniu pojęć numerycznych oraz logicznych, co prowadzi do zafałszowania zrozumienia działania typów danych w programowaniu. Kluczowe jest dostrzeganie różnic między tymi typami oraz ich zastosowaniem, co jest fundamentalne dla efektywnego programowania w PHP. Wreszcie, świadomość typów danych oraz ich zastosowań jest ważnym elementem w procesie pisania poprawnego kodu, co może zapobiegać błędom i ułatwiać zrozumienie działania aplikacji.

Pytanie 10

Którą technologię poleca się przy tworzeniu serwisów WWW, tak aby zmiany w treści można było wykonywać bez potrzeby ich kodowania, przez użytkowników bez kompetencji programistycznych?

A. FTP
B. SEO
C. CMS
D. SSL
W tym pytaniu łatwo dać się złapać na skojarzenia z innymi pojęciami webowymi, które brzmią „poważnie technicznie”, ale w ogóle nie rozwiązują wskazanego problemu. Kluczowe jest zrozumienie, że chodzi o możliwość samodzielnej edycji treści przez osoby bez kompetencji programistycznych. To oznacza, że potrzebny jest panel administracyjny, edytor WYSIWYG, system uprawnień i mechanizmy zapisu treści w bazie danych. Tę rolę pełnią właśnie systemy CMS. SEO, czyli Search Engine Optimization, dotyczy pozycjonowania strony w wyszukiwarkach. Owszem, dobre SEO jest ważne, a część narzędzi SEO bywa zintegrowana z CMS-em, ale samo SEO nie jest technologią do zarządzania treścią. To zestaw praktyk i technik: dobór słów kluczowych, optymalizacja tytułów, opisów, struktury nagłówków, linkowania wewnętrznego. Ktoś mógł pomyśleć, że skoro SEO „usprawnia stronę”, to też pomaga ją łatwiej edytować. W rzeczywistości SEO nic nie mówi o tym, kto i jak technicznie zmienia treść. FTP to protokół służący do przesyłania plików na serwer. Używa go się często podczas wdrażania strony: programista wysyła pliki HTML, CSS, PHP, grafiki. Ale dla zwykłego redaktora FTP jest kompletnie niepraktyczny i niebezpieczny. Trzeba znać strukturę katalogów, uważać, żeby nie nadpisać plików, a każda zmiana treści wymaga edycji pliku źródłowego. To dokładne przeciwieństwo idei „edycji bez kodowania”. Typowym błędem myślowym jest przekonanie, że skoro przez FTP „wrzuca się stronę”, to jest to technologia do jej obsługi przez użytkownika. W profesjonalnych wdrożeniach FTP zwykle jest dostępny tylko dla administratorów. SSL z kolei to technologia kryptograficzna, która służy do szyfrowania połączenia między przeglądarką a serwerem (dziś w praktyce mówimy częściej o TLS, ale skrót SSL ciągle funkcjonuje potocznie). Certyfikat SSL zapewnia poufność i integralność danych, co jest standardem przy logowaniu, płatnościach czy formularzach. Jednak nie ma żadnego wpływu na to, czy redaktor potrafi zmienić treść bez znajomości HTML. Można mieć idealnie skonfigurowany SSL i dalej edytować stronę w notatniku, a można mieć rozbudowany CMS bez certyfikatu – jedno nie wynika z drugiego. Podsumowując, SEO, FTP i SSL to ważne elementy ekosystemu webowego, ale dotyczą odpowiednio: widoczności w wyszukiwarkach, transferu plików i bezpieczeństwa transmisji. Żadne z nich nie daje typowego, przyjaznego panelu zarządzania treścią dla nietechnicznych użytkowników. Tę rolę spełniają systemy CMS, które są wręcz standardem branżowym przy tworzeniu serwisów, gdzie treść ma być często aktualizowana przez osoby spoza działu IT.

Pytanie 11

Dokument HTML określa akapit oraz obrazek. Aby obrazek był wyświetlany przez przeglądarkę w tej samej linii co akapit po jego lewej stronie, należy w stylu CSS obrazka uwzględnić właściwość

A. style: left;
B. float: left;
C. align: left;
D. alt: left;
Odpowiedź "float: left;" jest naprawdę trafna. Ta właściwość w CSS sprawia, że elementy układają się obok siebie, co w tym przypadku oznacza, że rysunek wyląduje po lewej stronie akapitu. Jak użyjemy float, to rysunek 'przesuwa się' na lewo, a tekst z akapitu otacza go z prawej strony. To taki popularny sposób w webdesignie, który pozwala na ładniejsze połączenie obrazków z tekstem. Warto pamiętać, że czasem trzeba zastosować clearfix, zwłaszcza gdy mamy pływające elementy w większym układzie, żeby uniknąć problemów z rozmieszczeniem. Stosowanie float w CSS to dobra praktyka, bo pomaga zachować czytelność i estetykę tekstu. Na przykład, jeśli mamy sekcję artykułu z obrazem, który ilustruje omawiany temat, to zastosowanie float: left; sprawi, że treść będzie ładnie się układać i poprawi wrażenia użytkownika.

Pytanie 12

Kolor Chartreuse przedstawiony w formie heksadecymalnej jako #7FFF00 odpowiada wartości RGB wynoszącej

A. rgb(192, 255, 0)
B. rgb(64, 255, 0)
C. rgb(127, 255, 0)
D. rgb(128, 255, 0)
Odpowiedź rgb(127, 255, 0) jest poprawna, ponieważ odpowiada wartościom RGB z koloru Chartreuse zapisanego w postaci heksadecymalnej #7FFF00. W systemie heksadecymalnym, pierwsze dwa znaki (7F) odpowiadają wartości czerwonej (R), drugie dwa znaki (FF) wartości zielonej (G), a ostatnie dwa znaki (00) wartości niebieskiej (B). Przekształcając te wartości na system dziesiętny, 7F w heksadecymalnym to 127 w dziesiętnym, FF to 255, a 00 to 0. Użycie tego koloru w projektach graficznych, web designie czy w aplikacjach mobilnych jest szerokie, zwłaszcza w kontekście tworzenia interfejsów użytkownika, gdzie Chartreuse może być wykorzystany jako kolor akcentujący, przyciągający uwagę. Dobrą praktyką jest stosowanie kolorów o wysokim kontraście dla elementów interaktywnych, co sprawia, że korzystanie z tak żywego koloru jak Chartreuse może poprawić użyteczność oraz estetykę projektu. Warto również zaznaczyć, że znajomość konwersji kolorów między różnymi modelami (HEXA, RGB, CMYK) jest kluczowa dla każdego projektanta wizualnego, z uwagi na różne zastosowania w druku i w mediach cyfrowych.

Pytanie 13

W tabeli mieszkancy, która zawiera pola id, imie, nazwisko, ulica, numer oraz czynsz (kwota całkowita), należy uzyskać informacje o osobach zamieszkujących ulicę Mickiewicza pod numerami 71, 72, 80, których czynsz nie przekracza 1000 zł. Klauzula WHERE w zapytaniu powinna wyglądać następująco

A. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000
B. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) OR czynsz < 1000
C. WHERE ulica = 'Mickiewicza' AND numer > 70 AND numer < 81 OR czynsz < 1000
D. WHERE ulica = 'Mickiewicza' OR numer IN (71, 72, 80) OR czynsz < 1000
Kiedy piszemy zapytanie SQL, klauzula WHERE powinna wyglądać tak: 'WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000'. Dlaczego to działa? Bo ta klauzula jasno określa, że interesują nas tylko mieszkańcy z ulicy Mickiewicza, mający numery 71, 72 lub 80, i którzy płacą czynsz mniejszy niż 1000 zł. Użycie AND sprawia, że wszystkie te warunki muszą być spełnione naraz, co jest naprawdę ważne. Możemy to sobie wyobrazić w kontekście zarządzania nieruchomościami, gdzie chcemy pokazać tylko wybraną grupę mieszkańców, na przykład do analizy ich sytuacji finansowej. I tak na marginesie – w SQL lepiej unikać OR, gdy chcemy dostąpić do jasno określonych danych, ponieważ może to dać nam za dużo wyników lub takie, których nie chcemy.

Pytanie 14

Który z poniższych języków jest używany do stylizacji stron WWW?

A. HTML
B. SQL
C. CSS
D. Python
CSS, czyli Cascading Style Sheets, to język używany do opisywania wyglądu dokumentu HTML. Dzięki niemu możemy określić, jak mają wyglądać elementy na stronie, takie jak kolory, czcionki, odstępy między elementami, a także układ całej strony. CSS jest nieodłącznym elementem nowoczesnego tworzenia stron internetowych, ponieważ pozwala na oddzielenie treści od formy, co jest jedną z zasad dobrych praktyk w web development. Umożliwia tworzenie responsywnych projektów, które dobrze wyglądają na różnych urządzeniach, od komputerów po smartfony. Stylowanie za pomocą CSS pozwala na zdefiniowanie stylów globalnych, które mogą być zastosowane do wielu elementów na stronie, co znacznie ułatwia zarządzanie wyglądem witryny. Praktycznym zastosowaniem CSS jest na przykład zmiana koloru tekstu na stronie za pomocą prostej reguły, czy też tworzenie zaawansowanych animacji, które zwiększają interaktywność stron. CSS jest kluczowy w procesie tworzenia estetycznych i funkcjonalnych stron internetowych, co czyni go niezbędnym narzędziem dla każdego web developera.

Pytanie 15

Funkcja, która wywołuje samą siebie to

A. rekurencja
B. iteracja
C. dziedziczenie
D. hermetyzacja
Rekurencja to technika programistyczna, w której funkcja wywołuje samą siebie w celu rozwiązania problemu. Jest to szczególnie użyteczne w sytuacjach, gdy problem można podzielić na mniejsze, podobne podproblemy. Przykładem rekurencji może być obliczanie silni liczby. Silnia n (n!) jest definiowana jako n * (n-1)!, co oznacza, że obliczenie silni dla n wymaga obliczenia silni dla n-1, aż do osiągnięcia podstawowego przypadku, którym jest 0! = 1. Rekurencja ma zastosowanie w wielu algorytmach, w tym w wyszukiwaniu binarnym, sortowaniu przez scalanie oraz w rozwiązywaniu problemów związanych z drzewami, takich jak przechodzenie przez struktury drzewiaste. Ważne jest, aby prawidłowo zdefiniować warunki zakończenia rekurencji, aby uniknąć nieskończonego wywoływania funkcji, co prowadzi do przekroczenia limitu stosu. Rekurencja jest często stosowana w językach programowania takich jak Python, Java i C++, a jej zrozumienie jest kluczowe dla każdego programisty, który chce efektywnie rozwiązywać złożone problemy.

Pytanie 16

Oprogramowaniem typowym do obróbki grafiki wektorowej jest

A. Paint
B. Audacity
C. Brasero
D. Inkscape
Inkscape to profesjonalne oprogramowanie do edycji grafiki wektorowej, które jest szeroko stosowane przez projektantów i artystów. Program ten umożliwia tworzenie i edytowanie grafiki wektorowej, co oznacza, że obrazy są zbudowane z linii i kształtów, które można skalować bez utraty jakości. Inkscape obsługuje popularne formaty plików wektorowych, takie jak SVG (Scalable Vector Graphics), a także pozwala na eksport do różnych formatów rastrowych. Praktyczne zastosowania Inkscape obejmują projektowanie logo, ilustracji, infografik oraz elementów interfejsu użytkownika. Biorąc pod uwagę standardy branżowe, Inkscape wspiera wiele narzędzi i funkcji, takich jak warstwy, filtry, gradienty oraz teksty, co czyni go wszechstronnym narzędziem w rękach profesjonalnych grafików. Dodatkowo, dzięki aktywnej społeczności, użytkownicy mogą korzystać z licznych dodatków i zasobów, co zwiększa funkcjonalność programu i pozwala na dostosowanie go do specyficznych potrzeb projektowych.

Pytanie 17

Które z poniższych twierdzeń o definicji funkcji pokazanej w ramce jest prawdziwe?

function czytajImie(){
  var imie=null;
  do {
    imie=prompt("podaj imie: ");
    if (imie.length<3)
    alert("wprowadzony tekst jest niepoprawny");
  } while(imie.length<3);
}
A. Pętla zostanie uruchomiona tylko raz
B. Funkcja zawiera pętlę, która powtarza się 3 razy
C. Wczytanie tekstu zakończy się, gdy tekst będzie miał co najmniej 3 znaki
D. Tekst będzie wczytywany do czasu podania liczby większej niż 3
Funkcja czytajImie zawiera pętlę do-while która działa dopóki długość wprowadzonego ciągu znaków jest mniejsza niż 3 co oznacza że zakończenie pętli nastąpi gdy użytkownik wprowadzi tekst o długości co najmniej 3 znaków W praktyce oznacza to że funkcja wymaga od użytkownika podania imienia które będzie miało przynajmniej trzy znaki co jest powszechną praktyką podczas walidacji danych wejściowych w celu zapewnienia minimalnej ilości informacji Pętla do-while jest szczególnie przydatna w sytuacjach gdy musimy zagwarantować przynajmniej jedno wykonanie bloku kodu co tutaj pozwala na przynajmniej jednorazowe wywołanie okna prompt do wprowadzenia danych Tego typu walidacja jest podstawą podczas programowania interfejsów użytkownika gdzie poprawność i kompletność danych wejściowych jest kluczowa dla dalszego przetwarzania danych Warto również zauważyć że stosowanie tego rodzaju pętli w kontekście walidacji danych zwiększa użyteczność aplikacji poprzez zapewnienie że dane są zgodne z wymaganiami przed ich dalszym przetwarzaniem

Pytanie 18

Który standard video cechuje się rozdzielczością 1920 px na 1080 px?

A. 4K
B. HD Ready
C. Ultra HD 
D. Full HD
Prawidłowa odpowiedź to „Full HD”, bo właśnie ten standard oznacza rozdzielczość 1920 × 1080 pikseli w proporcjach 16:9. W praktyce, gdy mówimy o filmach na YouTube, streamach, nagraniach z kamery czy materiałach promocyjnych na stronę WWW, opcja 1080p to właśnie Full HD. Litera „p” oznacza skanowanie progresywne (progressive), czyli wyświetlanie całych klatek po kolei, co daje płynniejszy obraz niż przeplot („i” jak interlaced). W branży webowej Full HD to taki „złoty standard” jakości wideo – pliki mają jeszcze rozsądny rozmiar, a obraz jest już bardzo szczegółowy, więc nadaje się zarówno do odtwarzania w przeglądarce, jak i do osadzania w prezentacjach czy materiałach e‑learningowych. Moim zdaniem, przy projektowaniu serwisu z treściami multimedialnymi, warto domyślnie przygotowywać materiały właśnie w 1920×1080 i ewentualnie generować niższe wersje (np. 1280×720) dla urządzeń mobilnych lub słabszych łączy. W pracy grafika czy twórcy stron WWW dobrze jest też kojarzyć nazwy standardów: HD Ready to 1280×720, Full HD to 1920×1080, a 4K/Ultra HD to okolice 3840×2160. Dzięki temu łatwiej dobrać odpowiedni format eksportu z programów typu Premiere, DaVinci Resolve czy nawet z prostszych edytorów online. Z doświadczenia powiem, że klienci często mówią „chcę film w HD”, a mają na myśli właśnie Full HD, więc świadomość dokładnej rozdzielczości pomaga uniknąć nieporozumień i zbyt niskiej jakości materiałów.

Pytanie 19

Związek między tabelami, osiągany przez bezpośrednie połączenie kluczy głównych obu tabel, nazywamy relacją

A. 1..n
B. 1..1
C. n..1
D. n..m
Zdecydowanie, tu coś poszło nie tak. Wybierając zły wariant, mogłeś nie do końca zrozumieć, jak działają te relacje między danymi. Odpowiedzi 1..n i n..1 to świetne przykłady na to, jak można się pogubić. W relacji 1..n, jeden rekord z tabeli A może mieć wiele rekordów w tabeli B, co już wprowadza zamieszanie, bo w pytaniu mowa była o unikalnych połączeniach. Z kolei n..1 to jakby odwrotność, gdzie wiele rekordów w A jest powiązanych z jednym w B – również nie to, czego szukamy. I jeszcze ta odpowiedź n..m, która dotyczy relacji wiele do wielu – tu to w ogóle wymaga dodatkowych tabel, a to już może skomplikować wszystko. Takie błędy mogą wynikać z braku zrozumienia, jak zbudowane są bazy danych i zasady ich normalizacji. Fajnie byłoby pamiętać, że każda tabela powinna skupiać się na jednym typie encji, bo to naprawdę ułatwia sprawę i unika nieporozumień.

Pytanie 20

W programie do grafiki wektorowej stworzono zaprezentowany kształt, który został uzyskany z dwóch figur: trójkąta oraz koła. Aby utworzyć ten kształt, po narysowaniu figur i ich odpowiednim umiejscowieniu, należy zastosować funkcję

Ilustracja do pytania
A. rozdzielenia
B. sumy
C. różnicy
D. wykluczenia
Funkcja sumy w edytorach grafiki wektorowej, takich jak Adobe Illustrator czy CorelDRAW, pozwala na łączenie kilku figur wektorowych w jedną całość. W tym przypadku użycie funkcji sumy jest odpowiednie, ponieważ łączy trójkąt i koło w jeden spójny kształt. Ten proces jest powszechnie określany jako operacja boolean i jest kluczowy w projektowaniu wektorowym, gdzie wymagana jest precyzyjna kontrola nad kształtami. Użycie sumy jest standardem w branży, gdy celem jest połączenie kształtów bez utraty ich integralności, co jest często stosowane w projektowaniu logo czy ikon. Operacja ta zapewnia płynne przejścia między figurami, co jest niezbędne w profesjonalnych projektach graficznych. Dodatkowo, sumowanie kształtów pozwala na optymalizację projektu pod kątem druku i wyświetlania, ponieważ zmniejsza liczbę niezależnych obiektów wektorowych, co jest praktyką zalecaną dla wydajnej pracy z dużymi plikami. Zrozumienie i umiejętność stosowania funkcji sumy to fundamentalna umiejętność dla każdego grafika pracującego z grafiką wektorową.

Pytanie 21

Jakie jest zadanie funkcji przedstawionej w języku JavaScript?

 function fun1(a, b) {
    if (a % 2 != 0) a++;
    for (n = a; n <= b; n+=2)
        document.write(n);
}
A. wypisanie wszystkich liczb z zakresu od a do b
B. zwrócenie wartości liczb parzystych od a do b
C. wypisanie liczb parzystych z zakresu od a do b
D. sprawdzenie, czy liczba a jest nieparzysta; w przypadku potwierdzenia, wypisanie jej
Odpowiedzi takie jak "wypisanie wszystkich liczb z przedziału od a do b" oraz "zwrócenie wartości parzystych liczb od a do b" ilustrują powszechne nieporozumienia dotyczące działania funkcji oraz jej logiki. Funkcja nie wypisuje wszystkich liczb z przedziału, ponieważ jej konstrukcja ogranicza wyniki do liczb parzystych. Odpowiedź ta nie uwzględnia kluczowego kroku w funkcji, polegającego na modyfikacji zmiennej a, co oznacza, że w przypadku nieparzystego a, pierwsza wypisana liczba będzie parzysta. Natomiast odpowiedź sugerująca, że funkcja zwraca wartości parzyste, jest również myląca, ponieważ funkcja nie zwraca wartości (nie używa return), a jedynie wypisuje je na stronie za pomocą document.write(). To może prowadzić do nieporozumień, zwłaszcza w kontekście oczekiwań dotyczących struktury danych. Typowym błędem myślowym jest zakładanie, że pętle for mogą generować wszystkie liczby w danym zakresie, gdy w rzeczywistości sposób ich inkrementacji (w tym przypadku o 2) determinuje, które wartości są ostatecznie wyświetlane. Przykładem na to jest sytuacja, gdy użytkownik nie dostrzega, że pętla zmienia krok zwiększenia i przez to nie uzyskuje pełnej sekwencji liczb. Warto zwrócić uwagę na konwencje programistyczne, takie jak zasady dotyczące wypisywania danych i używania zwrotów, co jest kluczowe dla tworzenia przejrzystego i efektywnego kodu.

Pytanie 22

Który z wariantów znacznika jest poprawny pod względem użytych atrybutów?

A. <meta name = "!DOCTYPE">
B. <meta name = "description" content = "Masz jakieś hobby? To jest strona dla Ciebie! ">
C. <meta title = "Strona dla hobbystów">
D. <meta background = blue>
Odpowiedź <meta name = "description" content = "Masz jakieś hobby? To jest strona dla Ciebie! "> jest prawidłowa, ponieważ wykorzystuje atrybuty zgodne z wymaganiami standardu HTML. Znacznik <meta> jest używany do przekazywania metadanych o stronie internetowej, które są niezwykle istotne dla wyszukiwarek internetowych oraz dla użytkowników. Atrybut 'name' definiuje typ metadanych, a 'content' zawiera wartość przypisaną do tego typu. W przypadku tej odpowiedzi, 'name' jest ustawione na 'description', co oznacza, że zawiera opis strony, a 'content' dostarcza konkretną treść, która może być wykorzystana przez wyszukiwarki do generowania podsumowań w wynikach wyszukiwania. Przykładem zastosowania tego znacznika jest optymalizacja SEO, gdzie dobrze napisany opis może przyczynić się do zwiększenia kliknięć na stronie. Warto również zauważyć, że zgodnie z praktykami SEO, opis powinien być zwięzły, atrakcyjny i dokładnie odzwierciedlać zawartość strony, co może wpłynąć na jej pozycjonowanie w wynikach wyszukiwania.

Pytanie 23

W dokumencie XHTML znajduje się fragment kodu, w którym występuje błąd walidacyjny. Co jest przyczyną tego błędu?

Ilustracja do pytania
A. Znacznik <b> nie może być umieszczany wewnątrz znacznika <p>
B. Znaczniki powinny być pisane dużymi literami
C. Znacznik <br> musi być zamknięty
D. Nie ma nagłówka szóstego poziomu
Wybór odpowiedzi, że nie istnieje nagłówek szóstego stopnia, jest błędny, ponieważ w specyfikacji XHTML nagłówek szóstego stopnia <h6> jest jak najbardziej dopuszczalny i służy do oznaczania najmniej ważnych nagłówków, w hierarchii od <h1> do <h6>. Pisanie znaczników wielkimi literami nie jest wymogiem XHTML. Chociaż XHTML jest wrażliwy na wielkość liter, co oznacza, że nazwy znaczników i atrybutów muszą być pisane małymi literami, odpowiedź sugerująca, że tylko wielkie litery są poprawne, jest błędna. Użycie <b> jako zagnieżdżonego w <p> jest standardową praktyką i jest zgodne z normami XHTML, ponieważ <b> służy do pogrubienia tekstu wewnątrz elementu blokowego, jakim jest <p>. Problem z tą odpowiedzią polega na błędnym zrozumieniu struktury HTML, gdzie zagnieżdżanie elementów inline w elementach blokowych jest dozwolone. Ważnym aspektem jest umiejętność rozpoznania, które elementy są inline, a które blokowe, i jak mogą być poprawnie zagnieżdżane w kontekście specyfikacji XHTML. Poprawne zrozumienie tych zasad pomaga w tworzeniu wydajniejszych i bardziej zgodnych dokumentów internetowych.

Pytanie 24

W przedstawionej regule CSS ```h1 {color : blue}``` h1 reprezentuje

A. deklarację
B. wartość
C. klasę
D. selektor
Wybierając błędną odpowiedź odnośnie reguły CSS `h1 {color: blue}`, można zauważyć, że czasami nie rozumiemy dobrze podstawowych terminów w CSS. Deklaracja to nie tylko selektor, ale wszystkie właściwości i wartości, które zmieniają dany element. Przykład `blue` to tylko kolor, nie jest selektorem. Klasa to inny rodzaj selektora, który zaczyna się od kropki i pozwala stylizować wiele elementów naraz, a nie tylko pojedyncze tagi HTML. Problemem często jest mylenie tych pojęć i nieznajomość ich definicji w CSS. Musisz wiedzieć, że selektory wskazują, do jakich elementów stosujemy style, a inne rzeczy, jak klasy czy różne wartości, mają inne zadania. Lepiej zrozumieć te różnice, bo to podstawa, żeby efektywnie pracować z CSS i tworzyć strony www. Fajnie byłoby także poczytać dokumentację CSS, żeby lepiej poznać różne selektory i ich zastosowanie w stylizacji.

Pytanie 25

W dostępnej tabeli mieszkań znajdują się kolumny o nazwach: adres, metraż, liczba_pokoi, standard, status, cena. Wykonanie podanej kwerendy SQL SELECT spowoduje, że zostaną wyświetlone

Ilustracja do pytania
A. metraż oraz cena tych mieszkań, które mają więcej niż 3 pokoje
B. wszystkie informacje oprócz adresu tych mieszkań, które mają więcej niż 3 pokoje
C. metraż oraz cena tych mieszkań, które mają co najmniej 3 pokoje
D. wszystkie informacje dotyczące mieszkań, które mają co najmniej 3 pokoje
Kwerenda SQL SELECT metraz cena FROM mieszkania WHERE ile_pokoi 3 jest zapytaniem, które precyzyjnie określa zakres danych do wyświetlenia na podstawie warunku. Polecenie SELECT określa, które kolumny będą zwracane w wyniku kwerendy w tym przypadku metraz i cena. Dzięki temu uzyskujemy tylko te dane które są istotne w kontekście analizy efektywności lub porównania cen nieruchomości o określonym rozmiarze w ramach bazy danych. Użycie klauzuli WHERE ile_pokoi 3 definiuje dodatkowy filtr aby wyświetlane były jedynie te rekordy które spełniają podany warunek logiczny czyli ilość pokoi większą niż trzy. Jest to powszechnie stosowana praktyka w pracy z bazami danych pozwalająca na efektywne przetwarzanie i analizę dużych zbiorów danych poprzez ograniczenie zwracanych wyników do tych które są najbardziej istotne dla użytkownika. Takie podejście pozwala na optymalizację wydajności zapytań SQL co jest kluczowe w środowiskach produkcyjnych gdzie czas odpowiedzi i obciążenie serwera mają istotne znaczenie

Pytanie 26

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

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

Pytanie 27

Aby ustawić marginesy wewnętrzne dla elementu, gdzie margines górny wynosi 50px, dolny 40px, prawy 20px oraz lewy 30px, należy zastosować składnię CSS

A. style="margin-bottom: 0cm;"> padding: 50px, 20px, 40px, 30px;
B. padding: 40px, 30px, 50px, 20px;
C. padding: 20px, 40px, 30px, 50px;
D. style="margin-bottom: 0cm;"> padding: 50px, 40px, 20px, 30px;
W odpowiedziach, które nie są poprawne, występuje nieporozumienie w zakresie różnicy między 'padding' a 'margin'. Właściwość 'padding' odnosi się do przestrzeni wewnętrznej elementu, natomiast 'margin' dotyczy przestrzeni zewnętrznej, która oddziela element od sąsiadów. Niezrozumienie tych dwóch pojęć prowadzi do błędnego przypisania wartości do niewłaściwej właściwości. Na przykład, pierwsza z zaproponowanych odpowiedzi mylnie stosuje 'padding' w kontekście marginesów, co jest technicznie niepoprawne. Kolejny błąd wynika z nieodpowiedniej kolejności wartości, co może prowadzić do niezamierzonego efektu w układzie strony. Warto zwrócić uwagę, że standardy CSS wymagają ścisłego przestrzegania kolejności i formatu, aby zapewnić prawidłowe renderowanie w różnych przeglądarkach. Ponadto, brak zrozumienia znaczenia jednostek w CSS oraz ich wpływu na elastyczność układu strony może skutkować nieadekwatnym wyświetlaniem treści na różnych urządzeniach. Typowe błędy myślowe, które pojawiają się w takich sytuacjach, to przekonanie, że różne jednostki są wymienne, czy też że kolejność wartości w 'padding' nie ma znaczenia. W rzeczywistości, poprawne użycie CSS opiera się na znajomości jego specyfikacji oraz praktycznych zasad, które pomagają w tworzeniu spójnych i responsywnych stron internetowych.

Pytanie 28

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

A. now
B. upper
C. year
D. len
Wybór funkcji 'upper', 'len' lub 'year' jako odpowiedzi wskazuje na nieporozumienie dotyczące funkcji w SQL. Funkcja 'upper' służy do konwertowania tekstu na wielkie litery, co oznacza, że wymaga argumentu - ciągu znaków, który ma zostać przekształcony. Przykładowe użycie tej funkcji to 'SELECT upper(nazwa) FROM tabela;', gdzie 'nazwa' jest kolumną z danymi tekstowymi. Podobnie, funkcja 'len' wylicza długość ciągu znaków i również wymaga argumentu; na przykład, 'SELECT len(nazwa) FROM tabela;' zwróci liczbę znaków w kolumnie 'nazwa'. Funkcja 'year' wyciąga rok z daty, co czyni ją również funkcją wymagającą argumentu, jak 'SELECT year(data) FROM tabela;', gdzie 'data' jest kolumną z wartościami dat. Typowe błędy myślowe prowadzące do wyboru tych funkcji jako odpowiedzi wynikają z mylenia ich z funkcjami, które mogą działać bez argumentów, jak 'now'. Warto znać różnice między tymi funkcjami, aby skutecznie korzystać z SQL w praktyce, a także unikać niepoprawnych zapytań, które mogą prowadzić do błędów wykonania lub nieprawidłowych wyników.

Pytanie 29

Jak wygląda prawidłowy zapis samozamykającego się znacznika w zgodzie ze standardem języka XHTML, który odpowiada za łamanie linii?

A. </ br>
B. <br />
C. <br> </br>
D. </br/>
Zapis </ br> jest niepoprawny, ponieważ nie przestrzega zasad składni XHTML. W XHTML nie używa się ukośnika przed znacznikiem, co powoduje, że znaczniki takie jak <br> są interpretowane jako błędne. Właściwie zapisany znacznik łamania linii zawsze powinien kończyć się ukośnikiem, co oznacza zgodność z regułami języka. Z kolei <br> </br> jest redundantny, ponieważ <br> jest znacznikiem samozamykającym się, a jego zamknięcie dodatkowymi znacznikami nie ma sensu i wprowadza niepotrzebny szum w kodzie. Odpowiedź </br/> również jest błędna, ponieważ kończy się niepoprawnym zapisem, gdzie nie jest dopuszczalne użycie ukośnika przed zamknięciem znacznika, co jest sprzeczne z zasadami XHTML. Użytkownicy często mylą składnię HTML z XHTML, co prowadzi do kodu, który może wydawać się poprawny, ale nie spełnia stricte określonych zasad składniowych. Dlatego korzystanie z poprawnych znaczników jest kluczowe dla zapewnienia, że dokumenty HTML/XHTML będą działać w różnych przeglądarkach i platformach, co jest niezbędne dla ich prawidłowego wyświetlania oraz przetwarzania.

Pytanie 30

Pętla while powinna działać tak długo, jak zmienna x będzie przyjmować wartości z otwartego przedziału (-2, 5). Zapis tego warunku w nagłówku pętli przy użyciu języka PHP wygląda następująco

A. ($x < -2) || ($x > 5)
B. ($x > -2) && ($x < 5)
C. ($x > -2) || ($x > 5)
D. ($x == -2) && ($x < 5)
Odpowiedź ($x > -2) && ($x < 5) jest prawidłowa, ponieważ dokładnie odzwierciedla warunki obustronnie otwartego przedziału (-2, 5). W tym przypadku pętla while będzie kontynuować swoje działanie, o ile zmienna x będzie przyjmować wartości większe niż -2 oraz jednocześnie mniejsze niż 5. Jest to zgodne z logiką pętli, która powinna działać tak długo, jak warunki są spełnione. Przykładem zastosowania może być iteracja po elementach tablicy, gdzie chcemy przetwarzać tylko te elementy, które mieszczą się w określonym zakresie. W praktyce, dobre praktyki programistyczne wskazują na użycie logicznych operatorów AND (&&) i OR (||) w sposób, który precyzyjnie definiuje zakresy. W tym przypadku operator AND zapewnia, że oba warunki muszą być spełnione, co jest kluczowe dla poprawności działania pętli. Warto również pamiętać o tym, że w PHP, zmienne powinny być odpowiednio zainicjalizowane i sprawdzane przed użyciem ich w warunkach pętli, aby uniknąć nieprzewidzianych błędów wykonania.

Pytanie 31

Która z poniższych funkcji sortujących, stosowanych w języku PHP, porządkuje tablicę asocjacyjną według kluczy?

A. ksort()
B. rsort()
C. asort()
D. sort()
Funkcje sort(), rsort() i asort() czasami mylą się z ksort(), ale każda z nich działa trochę inaczej. Sort() na przykład, sortuje elementy tablicy według wartości, a nie kluczy, więc w asocjacyjnej tablicy klucze nie mają tu znaczenia. Rsort() działa odwrotnie, bo sortuje wartości w kolejności malejącej, co może być przydatne, gdy chcesz mieć dane od najwyższej do najniższej wartości, ale też nie zmienia kluczy. Asort() znowu sortuje tablicę asocjacyjną według wartości, ale klucze mogą pozostać w pierwotnej kolejności. Wybór funkcji sortującej jest ważny, żeby dobrze zorganizować dane, więc warto ogarnąć te różnice między funkcjami.

Pytanie 32

W PHP, aby przekierować użytkownika na inną stronę internetową, można użyć funkcji

A. upload();
B. header();
C. require();
D. include();
Wybór odpowiedzi wykorzystujących funkcje require(), upload() i include() jest nieprawidłowy z kilku powodów. Funkcja require() służy do dołączania plików do skryptu PHP i jest wykorzystywana głównie do wczytywania zewnętrznych skryptów lub bibliotek, co nie ma nic wspólnego z przekierowaniem użytkownika. W przypadku, gdy plik nie zostanie znaleziony, funkcja ta spowoduje błąd krytyczny, a skrypt zatrzyma działanie, co jest niepożądane w kontekście przekierowań. Podobnie, include() działa na zasadzie dołączania plików, ale w przeciwieństwie do require() nie powoduje krytycznego błędu w przypadku braku pliku; zamiast tego wyświetla ostrzeżenie, co również nie jest odpowiednie w kontekście zarządzania nawigacją użytkownika. Co więcej, funkcja upload() nie istnieje w standardowej bibliotece PHP, co czyni tę odpowiedź całkowicie nieprawidłową. Typowe błędy myślowe prowadzące do takich wniosków mogą obejmować mylenie funkcji związanych z dołączaniem plików z funkcjami zarządzającymi nagłówkami i odpowiedziami HTTP. Ważne jest, aby zrozumieć kontekst użycia każdej funkcji oraz jej przeznaczenie, co wpływa na poprawność techniczną skryptów i działanie aplikacji webowych.

Pytanie 33

W przedstawionym kodzie PHP w miejscu kropek powinno zostać umieszczone polecenie

$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");
$ile = mysqli_num_rows($zapytanie);
for ($i = 0; $i < $ile; $i++)
{
  $wiersz = ……………………………….;
  echo "$wiersz[0] $wiersz[1]";
}
A. mysqli_query($zapytanie);
B. mysqli_num_fields($zapytanie);
C. mysqli_free_result($zapytanie);
D. mysqli_fetch_row($zapytanie);
W kontekście przedstawionego kodu PHP, prawidłowe uzupełnienie wiersza poleceń to użycie funkcji mysqli_fetch_row($zapytanie). Funkcja ta pobiera jeden wiersz z zestawu wyników zapytania jako tablicę indeksowaną numerycznie. Jest to istotny krok w procesie przetwarzania danych z bazy danych, ponieważ po wykonaniu zapytania SQL, dane muszą być odpowiednio odczytane, aby można je było wykorzystać w aplikacji. Przykładowo, po wykonaniu zapytania, możemy mieć wiele wierszy danych, a mysqli_fetch_row pozwala na iteracyjne pobieranie każdego z nich. W praktyce, stosując tę funkcję w pętli, możemy w prosty sposób zbudować listę lub tabelę, wyświetlając imię i nazwisko każdego użytkownika. Warto również pamiętać, że przy pracy z bazami danych ważne jest, aby uważnie monitorować proces pobierania danych, by uniknąć problemów z pamięcią, a także aby zwolnić zasoby po zakończeniu operacji. W związku z tym, standardową praktyką jest również stosowanie mysqli_free_result($zapytanie) po zakończeniu pracy z danymi, co pozwala na efektywne zarządzanie pamięcią.

Pytanie 34

Zapis w CSS `h2 {background-color: green;}` spowoduje, że kolor zielony będzie dotyczył

A. czcionki wszystkich nagłówków na stronie
B. tła całej witryny
C. tła tekstu nagłówka drugiego poziomu
D. czcionki nagłówków drugiego poziomu
Zapis CSS 'h2 {background-color: green;}' ustawia styl dla nagłówków drugiego stopnia. Dzięki właściwości 'background-color' tło nagłówka zrobi się zielone, co oznacza, że obszar za tekstem tego nagłówka będzie miał kolor zielony. Ważne, żeby pamiętać, że to działa tylko na tło samego nagłówka, a nie na całą stronę. Na przykład, jeśli w elemencie h2 jest tekst 'Witamy na naszej stronie', to tło tego nagłówka dostaje zielony kolor. To podejście jest zgodne z CSS, które pozwala na precyzyjne stylizowanie różnych elementów w dokumencie. Można też używać różnych trybów kolorów jak RGB, HEX czy HSL, co daje jeszcze większe możliwości w projektowaniu.

Pytanie 35

Aby usunąć nienaturalne wygładzanie ukośnych krawędzi w grafice rastrowej, czyli tak zwane schodkowanie, konieczne jest wykorzystanie filtru

A. antyaliasingu
B. gradientu
C. pikselizacji
D. szumu
Antyaliasing to technika stosowana w grafice rastrowej, która ma na celu wygładzenie krawędzi obiektów, co z kolei redukuje efekt schodkowania. Schodkowanie, zwane również jagged edges, to zjawisko, w którym krawędzie linii wyglądają na poszarpane i nienaturalne, co jest szczególnie zauważalne przy nachylonych liniach lub krzywych. Antyaliasing działa na zasadzie wygładzania krawędzi poprzez mieszanie kolorów pikseli na granicy obiektu z kolorami pikseli tła, co tworzy iluzję płynności. Przykładem zastosowania antyaliasingu jest grafika komputerowa w grach, gdzie zapewnia on bardziej realistyczny obraz, a także przy renderowaniu grafik wektorowych do rastrowych. W standardach branżowych, takich jak OpenGL i DirectX, zastosowanie antyaliasingu jest zalecane, aby poprawić jakość wizualną i doświadczenia użytkowników. Zastosowanie technik takich jak MSAA (Multisample Anti-Aliasing) lub FXAA (Fast Approximate Anti-Aliasing) jest powszechną praktyką w nowoczesnych aplikacjach graficznych.

Pytanie 36

Angielskim tłumaczeniem słowa "zapytanie", używanym w bazach danych SQL jest

A. keyword.
B. query.
C. asterisk.
D. select.
Poprawnie – w kontekście baz danych SQL angielskim odpowiednikiem słowa „zapytanie” jest „query”. W całym ekosystemie bazodanowym, zarówno w dokumentacji technicznej, jak i w praktyce zawodowej, przyjęło się, że query to właśnie żądanie skierowane do silnika bazy danych o zwrócenie, modyfikację lub analizę danych. Może to być zarówno proste zapytanie SELECT, jak i bardziej złożone polecenia typu INSERT, UPDATE, DELETE czy nawet zagnieżdżone podzapytania. Mówiąc, że „piszemy query do bazy”, mamy na myśli kompletne zapytanie SQL, które serwer interpretuje i wykonuje. W praktyce, w narzędziach takich jak phpMyAdmin, SQL Server Management Studio, pgAdmin czy nawet w ORM-ach (np. w Laravelu, Django), wszędzie pojawia się pojęcie „query builder”, „query log”, „query optimization”. To wszystko odnosi się właśnie do zapytań. Warto też kojarzyć, że w literaturze i kursach często rozróżnia się pojęcie „query” (czyli konkretne zapytanie) od „statement” (instrukcja, polecenie w języku SQL), ale w mowie potocznej programistów często się to miesza. Dobrą praktyką jest używanie słowa „query” zawsze wtedy, gdy mówimy o operacji odczytu lub ogólnie o wysłaniu zapytania SQL do bazy, a nie np. o nazwie słowa kluczowego czy znaku specjalnym. W projektach komercyjnych, logach aplikacji, monitoringu wydajności, wszędzie będzie pojawiać się termin „slow queries”, „expensive queries” – i to zawsze oznacza wolno działające zapytania. Moim zdaniem warto się szybko przyzwyczaić do tego terminu, bo jest absolutnie podstawowy w pracy z bazami danych.

Pytanie 37

Jaką złożoność obliczeniową posiada algorytm znajdowania elementu w nieposortowanej jednowymiarowej tablicy?

A. stałą, O(1)
B. silnia, O(n!)
C. kwadratową, O(n2)
D. liniową, O(n)
Wybierając odpowiedzi niepoprawne, można natknąć się na różne złożoności obliczeniowe, które nie odnoszą się do algorytmu wyszukiwania elementu w nieposortowanej tablicy. Złożoność kwadratowa, O(n2), dotyczy algorytmów, które muszą porównywać każdy element z każdym innym, co najczęściej występuje w algorytmach sortujących, takich jak sortowanie bąbelkowe, gdzie liczba porównań rośnie wraz z kwadratem liczby elementów. Z kolei złożoność silni, O(n!), występuje w kontekście problemów kombinatorycznych, takich jak generowanie permutacji, co oznacza, że liczba operacji wzrasta niezwykle szybko w miarę zwiększania się liczby elementów, ale nie jest odpowiednia dla prostych algorytmów wyszukiwania. Złożoność stała, O(1), sugeruje, że operacja zajmuje tę samą ilość czasu niezależnie od rozmiaru danych, co w przypadku wyszukiwania w nieposortowanej tablicy nie jest możliwe, ponieważ musimy przejrzeć co najmniej jeden element. Te błędne odpowiedzi wynikają z nieporozumień na temat działania algorytmów w kontekście różnych struktur danych oraz z mylnego utożsamiania złożoności z ich zastosowaniem. Zrozumienie różnicy między tymi złożonościami jest kluczowe dla efektywnego projektowania algorytmów oraz oceny ich wydajności w różnych scenariuszach.

Pytanie 38

Który typ danych należy przypisać do atrybutu Telefon encji Student zakładając, że numer rozpoczyna się od znaku + i następującego po nim numeru kierunkowego kraju?

A. Binarny
B. Liczbowy
C. Tekstowy
D. Wyliczeniowy
Numer telefonu bardzo często wygląda jak liczba, ale z punktu widzenia informatyki i projektowania baz danych nie jest typową daną liczbową. To identyfikator zapisany jako ciąg znaków o określonym formacie. W tym pytaniu łatwo wpaść w pułapkę myślenia: skoro składa się z cyfr, to typ liczbowy będzie idealny. Tymczasem takie podejście łamie kilka podstawowych zasad modelowania danych. Typ liczbowy służy do przechowywania wartości, na których wykonujemy operacje arytmetyczne: dodawanie, porównywanie zakresów, agregacje. Na numerze telefonu nic takiego się nie robi, więc traktowanie go jako liczby nie ma sensu. Co gorsza, typ liczbowy usuwa wiodące zera, nie pozwala na znak plus na początku, a przy większych długościach może powodować problemy z zakresem. W efekcie tracimy część informacji, czyli dokładne brzmienie numeru, które powinno zostać zapisane tak, jak użytkownik je podał, zgodnie z formatem międzynarodowym. Zdarza się też myślenie, że skoro to tylko sekwencja bitów, to może typ binarny będzie odpowiedni. Typy binarne stosuje się jednak do przechowywania danych niestrukturalnych, takich jak obrazy, pliki PDF, dźwięk, czyli tam, gdzie nie chcemy interpretować zawartości jako tekstu. Numer telefonu ma wyraźnie tekstową reprezentację i często wymaga wyszukiwania po fragmentach, sortowania alfabetycznego czy walidacji wzorców, więc przechowywanie go w formie binarnej tylko utrudni pracę. Pojawia się też czasem pomysł użycia typu wyliczeniowego, ale to kompletnie nie pasuje do danych, które mają ogromną liczbę możliwych wartości i nie są z góry znane. Typ wyliczeniowy sprawdza się przy ograniczonym, zamkniętym zbiorze opcji, jak np. status zamówienia czy płeć w uproszczonym modelu. Dla numerów telefonów, które są dynamiczne, unikalne i praktycznie nieograniczone, taki typ jest niepraktyczny i mija się z celem. Dobra praktyka w projektowaniu baz danych mówi jasno: wszystkie identyfikatory zawierające znaki specjalne, wiodące zera lub formaty zależne od kraju przechowujemy jako tekst z odpowiednią walidacją, a nie jako liczby, binaria czy wyliczenia.

Pytanie 39

Na ilustracji przedstawiono strukturę bloków na stronie internetowej. Który z poniższych fragmentów CSS odpowiada takim ustawieniom? (Dla uproszczenia pominięto właściwości dotyczące koloru tła, wysokości oraz czcionki)

Ilustracja do pytania
A. #pierwszy {float:left; width:30%; } #drugi {clear:both; width:70%; } #trzeci {float:left; width:70%; } #czwarty {clear:both; }
B. #pierwszy { width: 30%; } #drugi { width: 70%; } #trzeci { width: 70%; } #czwarty { width: 100%; }
C. #pierwszy {float:left; width:30%;} #drugi {float:left; width:70%;} #trzeci {float:left; width:70%;} #czwarty {clear:both; }
D. #pierwszy{float:left; width:30%;} #drugi {clear:both; width:70%;} #trzeci {clear:both; width:70%;} #czwarty {float:left; width:100%;}
Inne odpowiedzi wykorzystują niewłaściwe zastosowanie właściwości float oraz clear, co skutkuje nieprawidłowym wyświetlaniem elementów na stronie. Użycie clear:both dla elementów, które powinny być wyświetlane w tej samej linii co inne elementy, powoduje, że te elementy są przesuwane do nowej linii, co nie jest zgodne z zamierzonym układem. Clear:both powinno być stosowane w celu zakończenia efektu float i rozpoczęcia nowego wiersza dla elementów, które mają być poniżej tych unoszących się. Ponadto brak użycia float przy elementach takich jak #drugi i #trzeci oznacza, że nie będą one ułożone w jednej linii, co jest kluczowe dla zaawansowanego rozplanowania przestrzeni na stronie. Niepoprawne użycie tych właściwości może prowadzić do niezgodności w różnych przeglądarkach, co jest częstym błędem w projektowaniu stron. Wiedza o tym, jak i kiedy stosować float oraz clear, jest niezbędna w tworzeniu funkcjonalnych i estetycznych layoutów. Zrozumienie właściwego użycia tych mechanizmów pozwala na unikanie problemów związanych z układem strony, szczególnie w kontekście responsywności i kompatybilności z różnymi urządzeniami. Dlatego ważne jest, aby dobrze zrozumieć zasady relacji między elementami, aby tworzyć bardziej złożone struktury stron internetowych, które są zgodne z obecnymi standardami web developmentu.

Pytanie 40

Jaką transformację w CSS zastosujemy, aby tylko pierwsze litery wszystkich słów stały się wielkie?

A. underline
B. lowercase
C. uppercase
D. capitalize
Bezpośrednie odniesienie do odpowiedzi 'underline' nie ma związku z transformacją liter, ponieważ ta właściwość w CSS dotyczy podkreślenia tekstu, a nie zmiany wielkości liter. Użycie 'underline' nie zmienia formy wyświetlania liter, a jedynie dodaje efekt wizualny, który nie wpływa na tekst jako taki. Wybór 'uppercase' jest również mylący; zmienia on wszystkie litery na wielkie, co jest przeciwieństwem zamierzonego efektu, który dotyczy wyłącznie pierwszych liter wyrazów. Z kolei 'lowercase' koncentruje się na zmianie wszystkich liter na małe, co również prowadzi do niepożądanego efektu, jeśli celem jest uwydatnienie pierwszych liter. Typowym błędem w rozumieniu tych opcji jest założenie, że wszystkie one mogą pełnić tę samą funkcję, co może prowadzić do niepoprawnego stylizowania tekstu. Przy projektowaniu interfejsu użytkownika istotne jest zrozumienie, że różne właściwości CSS mają różne zastosowania i efekty. Dlatego ważne jest, aby przed podjęciem decyzji o stylizacji tekstu dokładnie określić cel oraz sposób, w jaki tekst powinien być prezentowany. Zastosowanie nieodpowiednich właściwości może prowadzić do nieczytelności oraz negatywnego wpływu na doświadczenie użytkownika.