Wyniki egzaminu

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

Egzamin zdany!

Wynik: 29/40 punktów (72,5%)

Wymagane minimum: 20 punktów (50%)

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

Aby osiągnąć efekt przedstawiony na ilustracji, w kodzie HTML należy zastosować znacznik skrótu <abbr> z atrybutem

Ilustracja do pytania
A. alt
B. dfn
C. title
D. name
Znacznik <abbr> w HTML pełni rolę semantyczną, pomagając w oznaczaniu skrótów i akronimów. Atrybut alt jest stosowany w znacznikach <img> do opisywania obrazów, co jest istotne dla dostępności i SEO, ale nie ma związku ze znacznikami tekstowymi jak <abbr>. Alt informuje o treści obrazu, co jest kluczowe dla użytkowników niewidzących, lecz nie pełni funkcji rozwijania skrótów tekstowych. Atrybut dfn służy do definiowania terminów w tekście, zazwyczaj używany w połączeniu ze znacznikiem <dfn>, a nie <abbr>. Chociaż dfn dostarcza definicji, nie jest używany do rozwijania skrótów. Atrybut name nie jest związany z rozwijaniem tekstu ani z <abbr>. Jest on stosowany głównie w formularzach HTML do identyfikacji elementów, takich jak <input>, umożliwiając ich rozróżnienie. Mylenie tych atrybutów wynika często z braku zrozumienia ich specyficznych zastosowań w kontekście HTML i dostępności. Właściwe używanie atrybutów to klucz do tworzenia semantycznie poprawnych i dostępnych stron internetowych.

Pytanie 2

Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL pozwala na

A. przyznawanie uprawnień z użyciem ustalonego schematu
B. odebranie uprawnień danemu użytkownikowi
C. usunięcie użytkownika z bazy danych
D. przyznawanie praw do tabeli
Polecenie REVOKE SELECT ON w języku SQL jest używane do odbierania uprawnień do wykonywania operacji SELECT na określonej tabeli lub widoku dla konkretnego użytkownika lub grupy użytkowników. W przypadku użycia tej komendy, administrator bazy danych lub właściciel obiektu wskazuje, że dany użytkownik nie ma już prawa do odczytu danych z określonej tabeli, co skutkuje zablokowaniem dostępu do informacji w tej tabeli. Przykładowo, jeśli mamy tabelę 'Pracownicy' i użytkownika 'JanKowalski', polecenie REVOKE SELECT ON Pracownicy FROM JanKowalski skutkuje tym, że Jan Kowalski nie będzie mógł wykonywać zapytań typu SELECT na tej tabeli. Ważne jest, aby zrozumieć, że polecenie to nie usuwa użytkownika z bazy danych ani nie zmienia struktury bazy, a jedynie modyfikuje uprawnienia dostępu. W kontekście SQL, standardy takie jak ANSI SQL definiują sposób, w jaki uprawnienia mogą być przyznawane i odbierane, co sprawia, że umiejętność zarządzania uprawnieniami jest niezbędna dla każdego administrującego bazą danych.

Pytanie 3

Przy konwersji obrazu z 8-bitowej głębi kolorów na 4-bitową, liczba dostępnych kolorów zmniejszy się o:

A. 16
B. 24
C. 240
D. 256
Głębia n-bitowa daje 2 do potęgi n kolorów: 8 bitów to 256 kolorów, a 4 bity to 16 kolorów. Po konwersji liczba dostępnych kolorów spada o 256 - 16 = 240. Dlatego liczba kolorów zmniejszy się o 240.

Pytanie 4

Który zestaw zawiera wyłącznie języki programowania działające po stronie serwera?

A. Java, C#, AJAX, Ruby, PHP
B. Java, C#, Python, Ruby, PHP
C. C#, Python, Ruby, PHP, JavaScript
D. Java, C#, Python, ActionScript, PHP
Pozostałe zestawy mieszają języki z technikami i językami klienckimi. AJAX to technika (nie język), JavaScript wykonuje się po stronie KLIENTA, a ActionScript to język Flasha (klienckiego). Wyłącznie serwerowe są Java, C#, Python, Ruby i PHP.

Pytanie 5

W PHP, aby połączyć się z bazą danych MySQL przy użyciu biblioteki mysqli, w zapisie zamieszczonym poniżej, w miejscu litery 'c' powinno się wpisać

Ilustracja do pytania
A. hasło użytkownika
B. nazwę bazy danych
C. nazwę użytkownika
D. lokalizację serwera bazy danych
W języku PHP używając biblioteki mysqli do połączenia z bazą danych MySQL, jako drugi argument funkcji mysqli należy podać nazwę użytkownika. Konstruktor mysqli przyjmuje pięć głównych argumentów: lokalizację serwera, nazwę użytkownika, hasło użytkownika, nazwę bazy danych oraz opcjonalne port i socket. Nazwa użytkownika jest kluczowa, ponieważ określa, który użytkownik bazy danych będzie używany do połączenia. Najczęściej używanym użytkownikiem przy lokalnych połączeniach testowych jest 'root', ale w środowiskach produkcyjnych stosuje się bardziej restrykcyjne podejście, tworząc dedykowane konta z ograniczonymi uprawnieniami dostępowymi. Korzystając z odpowiednich danych uwierzytelniających, można także lepiej logować działania i zarządzać prawami dostępu. Dobra praktyka wymaga, aby hasło było przechowywane bezpiecznie, np. w plikach konfiguracyjnych poza dostępem zewnętrznym, a dane użytkownika zawsze były szyfrowane przy przesyłaniu. Znajomość poprawnej konfiguracji połączenia z bazą danych jest kluczowa dla bezpieczeństwa i wydajności aplikacji.

Pytanie 6

Aby wyróżnić innym kolorem wiersz tabeli, na który aktualnie najeżdża kursor myszy, należy w CSS użyć:

A. pseudoklasy :visited
B. pseudoklasy :hover
C. pseudoelementu :first-line
D. nowego selektora klasy dla wiersza tabeli
Pseudoklasa :hover stosuje wybrane reguły CSS tylko wtedy, gdy kursor myszy znajduje się nad elementem. Aby podświetlić wiersz tabeli przy najechaniu, zapisuje się np. tr:hover { background: #eee; }. Po zsunięciu kursora styl znika. Dlatego do wyróżnienia wskazywanego wiersza służy pseudoklasa :hover.

Pytanie 7

Do czego służy w SQL polecenie ALTER TABLE?

A. do usuwania tabeli z bazy
B. do dodawania tabeli do bazy
C. do modyfikowania kolumn (struktury) tabeli
D. do modyfikowania danych w rekordach
Polecenie ALTER TABLE należy do języka definicji danych (DDL) i służy do MODYFIKOWANIA STRUKTURY istniejącej tabeli - dodawania, usuwania lub zmiany kolumn oraz ograniczeń. Nie zmienia samych danych w wierszach. Dlatego ALTER TABLE służy do modyfikowania kolumn (struktury) tabeli.

Pytanie 8

Jak w CSS ustawić, aby hiperłącze nieodwiedzone było żółte, a odwiedzone zielone?

A.
a:visited { color: yellow; } a:link { color: green; }
B.
a:hover { color: green; } a:link { color: yellow; }
C.
a:hover { color: yellow; } a:visited { color: green; }
D.
a:link { color: yellow; } a:visited { color: green; }
Wygląd odnośników zależnie od ich stanu ustawiają w CSS pseudoklasy. a:link dotyczy linku jeszcze nieodwiedzonego, a a:visited - już odwiedzonego. Aby nieodwiedzony był żółty, a odwiedzony zielony, zapisuje się a:link { color: yellow; } a:visited { color: green; }. Istnieją też :hover (po najechaniu) i :active (w trakcie kliknięcia); zaleca się definiować je w kolejności LVHA. Dlatego poprawny jest ten zapis.

Pytanie 9

Jak nazywa się edytor stron, którego działanie tłumaczy się jako „otrzymujesz to, co widzisz”?

A. IDE
B. WYSIWYG
C. WEB STUDIO
D. VISUAL EDITOR
WYSIWYG (What You See Is What You Get - „otrzymujesz to, co widzisz”) to edytor, w którym podczas pracy widać efekt zbliżony do finalnego wyglądu strony, bez konieczności pisania kodu. Dlatego mowa o edytorze WYSIWYG.

Pytanie 10

Element bazy danych, którego podstawowym celem jest generowanie lub prezentowanie zestawień informacji, to

A. makro
B. raport
C. moduł
D. formularz
Makro w bazach danych to trochę inna historia. To służy do automatyzacji, żeby szybko zrobić skomplikowane rzeczy, a nie do prezentacji danych. W sumie, to w ogóle nie jest to, czego szukamy w tym pytaniu. Moduł to z kolei po prostu fragment kodu, który robi coś określonego w bazach danych. Ale znowu, on nie służy do pokazywania danych. Moim zdaniem, moduły są ważne do rozwijania funkcji aplikacji, ale nie mają nic wspólnego z wizualizacją. Formularz to narzędzie do wprowadzania danych i edytowania ich, co jest istotne, ale też nie pozwala na drukowanie czy pokazywanie zestawień. Tak ogólnie, makra, moduły i formularze mają różne zastosowania, które nie dotyczą raportów, które są stworzone właśnie do analizy i prezentacji danych.

Pytanie 11

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

A. #255255
B. #000000
C. rgb(FFFF,FF)
D. rgb(255,255,255)
Biały kolor w HTML zapisujemy jako rgb(255,255,255). W systemie RGB kolory tworzą się z trzech podstawowych barw: czerwonej, zielonej i niebieskiej. Każda z nich ma wartość od 0 do 255, więc maksymalna intensywność danego koloru to 255, a najniższa to 0. W przypadku białego koloru wszystkie trzy barwy są na maksa, stąd właśnie rgb(255,255,255) oznacza pełną moc czerwonego, zielonego i niebieskiego, co razem daje kolor biały. Wartości RGB są super ważne w CSS i w różnych programach do grafiki. Moim zdaniem, warto je znać, bo to podstawy przy robieniu stron internetowych. Warto też zwrócić uwagę na standardy W3C dotyczące kolorów w HTML, bo pomagają zadbać o estetykę i dostępność stron.

Pytanie 12

Aby wskazać błędy składniowe w kodzie HTML, należy zastosować:

A. debugger
B. walidator
C. interpreter
D. kompilator
Pozostałe odpowiedzi to narzędzia związane z językami programowania, a HTML do nich nie należy. Debugger pozwala zatrzymywać i śledzić wykonujący się program, sprawdzać wartości zmiennych - tymczasem HTML niczego nie wykonuje, więc nie ma tu czego debugować. Interpreter i kompilator to z kolei narzędzia, które tłumaczą lub uruchamiają kod programu: interpreter na bieżąco, kompilator zamieniając go wcześniej na inną postać. HTML jest jedynie opisem struktury strony, dlatego żadne z nich nie wskaże błędnie zapisanego znacznika. Do kontroli poprawności składni HTML służy walidator, który porównuje dokument ze standardem języka i raportuje znalezione usterki.

Pytanie 13

W języku HTML, aby uzyskać efekt taki jak na przykładzie, należy zastosować konstrukcję

Duży tekst zwykły tekst

A. <p><big>Duży tekst</p> zwykły tekst
B. <p><strike>Duży tekst zwykły tekst</p>
C. <p><big>Duży tekst</big> zwykły tekst</p>
D. <p><strike>Duży tekst</strike> zwykły tekst</p>
W języku HTML, użycie znacznika <big> jest właściwym sposobem na zwiększenie rozmiaru tekstu, co w efekcie pozwala na wyróżnienie go w kontekście pozostałej treści. Znacznik ten jest jednak przestarzały i niezalecany w nowoczesnych praktykach, ponieważ CSS oferuje bardziej elastyczne i zaawansowane metody stylizacji. Przykładowo, zamiast stosować <big>, można wykorzystać stylizację CSS, aby uzyskać podobny efekt, co zwiększa kontrolę nad wyglądem elementów. Ponadto, zastosowanie znacznika <p> jako kontenera dla tekstu zapewnia semantyczną strukturę dokumentu, co jest zgodne z wytycznymi W3C i poprawia dostępność. Przykładowo, użycie CSS może wyglądać tak: <p style='font-size: 1.5em;'>Duży tekst</p>zwykły tekst, co jest bardziej zalecane dla zachowania zgodności ze standardami. Warto pamiętać, że unikanie przestarzałych znaczników i stosowanie CSS zwiększa elastyczność i estetykę projektów HTML.

Pytanie 14

W MSSQL Server rola dbcreator, która jest predefiniowana, umożliwia użytkownikowi

A. zarządzanie plikami na dysku
B. zarządzanie bezpieczeństwem systemu
C. tworzenie, modyfikowanie, usuwanie i odzyskiwanie bazy danych
D. wykonywanie każdej operacji na serwerze i posiadanie prawa własności każdej bazy
Zarządzanie plikami na dysku nie jest funkcjonalnością przypisaną roli dbcreator w SQL Server. Użytkownicy z tą rolą nie mają bezpośrednich uprawnień do zarządzania systemem plików na serwerze, co oznacza, że nie mogą modyfikować, przenosić ani usuwać plików bazy danych bez użycia odpowiednich zabezpieczeń. Rola dbcreator koncentruje się wyłącznie na operacjach związanych z bazami danych. Ponadto, zarządzanie bezpieczeństwem systemu również wykracza poza kompetencje roli dbcreator. Użytkownicy, którzy chcą zarządzać dostępem i bezpieczeństwem baz danych, powinni mieć przypisane role takie jak securityadmin, które pozwalają na kontrolowanie uprawnień i ról użytkowników. W kontekście prawa do wykonywania każdej operacji na serwerze i posiadania prawa własności każdej bazy danych, taka funkcjonalność przynależy do roli sysadmin, która ma pełne uprawnienia do wszystkich zasobów w SQL Server. Rola dbcreator jest ograniczona do operacji związanych z bazami danych, co czyni ją mniej potężną w porównaniu do sysadmin, ale bardziej bezpieczną w kontekście zarządzania uprawnieniami w środowisku produkcyjnym.

Pytanie 15

Co oznacza akronim ACID w kontekście transakcji bazodanowych?

A. atomic, comming, is, do
B. atomic, consistent, iss, dependable
C. atomic, consistent, isolated, durable
D. atomic, constraint, isolated, dependable
Pozostałe rozwinięcia są błędne - zawierają zmyślone lub niepasujące słowa. Warianty z „comming”, „iss”, „do”, „dependable” czy „constraint” nie są oficjalnymi składnikami ACID. Prawidłowe cztery cechy transakcji to Atomicity, Consistency, Isolation i Durability (atomowość, spójność, izolacja, trwałość). Dlatego poprawne jest rozwinięcie atomic, consistent, isolated, durable, czyli trzecia odpowiedź.

Pytanie 16

Który format NIE służy do publikacji grafiki lub animacji w internecie?

A. PNG
B. SWF
C. SVG
D. AIFF
AIFF (Audio Interchange File Format) to format pliku DŹWIĘKOWEGO, więc nie służy do publikacji grafiki ani animacji w internecie. Pozostałe wymienione formaty są graficzne lub animacyjne. Dlatego z grafiką nie ma związku AIFF.

Pytanie 17

W jaki sposób zostanie uporządkowana lista, stworzona z wszystkich kolumn tabeli uczniowie, zawierająca uczniów z średnią powyżej 5, która zostanie zwrócona jako rezultat przedstawionego zapytania?

Ilustracja do pytania
A. Rosnąco według parametru klasa
B. Malejąco według parametru klasa
C. Rosnąco według parametru srednia
D. Malejąco według parametru srednia
Zapytanie SQL przedstawione w pytaniu wykorzystuje klauzule WHERE oraz ORDER BY. Klauzula WHERE ogranicza wyniki do tych, które spełniają określony warunek, w tym przypadku średnia większa niż 5. To oznacza, że na dalszym etapie przetwarzania znajdą się tylko rekordy uczniów mających średnią powyżej 5. Kolejnym kluczowym elementem jest klauzula ORDER BY, która określa sposób sortowania wyników. W zapytaniu użyto ORDER BY klasa DESC, co oznacza sortowanie malejące według kolumny klasa. DESC to skrót od descending, co w języku SQL oznacza porządek malejący. W praktyce porządkowanie malejące jest często używane, gdy chcemy uzyskać najwyższe wartości na początku listy wynikowej, co może być kluczowe w raportach rankingowych czy analizach dotyczących grup wiekowych. Dobre praktyki w programowaniu baz danych zalecają zawsze jasno określać sposób sortowania, aby uniknąć niejednoznaczności w interpretacji wyników i zapewnić spójność danych. Zrozumienie mechanizmu sortowania w SQL jest istotne w kontekście prezentacji danych, gdzie odpowiednie uporządkowanie wyników może znacząco poprawić czytelność i interpretację danych przez użytkownika końcowego.

Pytanie 18

Funkcją języka PHP tworzącą ciasteczko (cookie) jest:

A.
createcookie()
B.
echocookie()
C.
addcookie()
D.
setcookie()
Ciasteczko tworzy w PHP funkcja setcookie(), np. setcookie("jezyk", "pl", time()+3600) ustawia cookie o nazwie „jezyk”, wartości „pl” i ważności godzinę. Wysyła ją serwer w nagłówku odpowiedzi, dlatego setcookie() musi zostać wywołana PRZED jakimkolwiek wypisaniem treści strony. Przy kolejnych żądaniach przeglądarka odsyła ciasteczko, a odczytuje się je z tablicy $_COOKIE. Dlatego do utworzenia ciasteczka służy setcookie().

Pytanie 19

W CSS zapis w formie: p{background-image: url"rysunek.jpg")} spowoduje, że rysunek.png stanie się

A. tłem całej witryny
B. tłem każdego bloku tekstowego
C. wyświetlany obok każdego bloku tekstowego
D. pokazany, jeśli w kodzie użyty będzie znacznik img
Zapis p{background-image: url('rysunek.jpg')} oznacza, że każdy <p>, czyli paragraf, dostanie jako tło obrazek o nazwie rysunek.jpg. To jest po prostu sposób, żeby nadać każdyemu paragrafowi ten sam wygląd. Działa to świetnie, gdy chcesz, żeby cały tekst miał spójny styl czy dodać coś wizualnego do treści. Ważne, żeby ten plik rysunek.jpg był w dobrym miejscu, bo jak go nie znajdziesz, to przeglądarka go nie wczyta. Można to wykorzystać, żeby strona wyglądała bardziej estetycznie i przyciągała wzrok – każdy paragraf z własnym tłem na pewno sprawi, że będzie się lepiej czytało. Możesz też bawić się dodatkowymi właściwościami w CSS, jak background-repeat czy background-size, bo to otwiera drzwi do jeszcze ciekawszych efektów wizualnych.

Pytanie 20

Jakie są właściwe etapy tworzenia bazy danych?

A. Zdefiniowanie celu, utworzenie relacji, stworzenie tabel, normalizacja
B. Zdefiniowanie celu, normalizacja, utworzenie relacji, stworzenie tabel
C. Zdefiniowanie celu, stworzenie tabel, utworzenie relacji, normalizacja
D. Zdefiniowanie celu, normalizacja, stworzenie tabel, utworzenie relacji
W procesie tworzenia bazy danych kluczowym pierwszym krokiem jest określenie celu, który pozwala zrozumieć, jakie dane będą gromadzone oraz jakie operacje będą na nich wykonywane. Następnie przystępuje się do stworzenia tabel, które stanowią fundamentalne elementy bazy danych. Każda tabela powinna odpowiadać określonym kategoriom danych, a ich struktura powinna być dobrze przemyślana, aby umożliwić efektywne przechowywanie, zarządzanie oraz odczytywanie informacji. Po utworzeniu tabel ważne jest, aby zdefiniować relacje między nimi, co umożliwia integrację danych oraz ich logiczne powiązanie. Na końcu procesu następuje normalizacja, która ma na celu eliminację redundancji danych oraz zwiększenie integralności bazy, co przekłada się na jej wydajność. Przykładem może być stworzenie bazy danych dla systemu zarządzania uczelnią, gdzie tabele odpowiadają za studentów, kursy i wykładowców. Właściwe zdefiniowanie relacji pomoże w zrozumieniu, którzy studenci uczą się na jakich kursach, a normalizacja zabezpieczy przed powielaniem danych.

Pytanie 21

Deklaracja background-attachment: scroll sprawia, że:

A. grafika tła będzie powtarzana (kafelki)
B. tło będzie przewijane razem z zawartością strony
C. tło będzie nieruchome, a treść będzie się przewijać
D. grafika tła pojawi się w prawym górnym rogu
Pozostałe efekty dają inne właściwości tła. Powtarzanie tła w kafelki ustawia background-repeat, a nie background-attachment. Nieruchome tło, po którym przewija się treść, uzyskuje się wartością fixed - czyli odwrotnością scroll. Położenie obrazu tła (np. w rogu) określa background-position. Wartość scroll odpowiada wyłącznie za to, że tło przewija się wraz z zawartością strony, dlatego ta odpowiedź jest poprawna.

Pytanie 22

Jakie będzie wyjście programu napisanego w języku JavaScript, umieszczonego w ramce, po podaniu wartości 5 na wejściu?

Ilustracja do pytania
A. 60
B. 120
C. 125
D. 625
Program przedstawiony w pytaniu służy do obliczenia silni liczby n wprowadzonej przez użytkownika. Zrozumienie, dlaczego wynik wynosi 120, a inne odpowiedzi są błędne, wymaga dokładnego prześledzenia, jak działa silnia i jak przebiega obliczenie w pętli for. Silnia liczby n, zapisywana jako n!, to iloczyn wszystkich liczb od 1 do n. Dla wartości 5, program oblicza 5! jako 5*4*3*2*1, co daje 120. Błędne odpowiedzi wynikają zazwyczaj z niepoprawnego zrozumienia zasady działania pętli oraz operacji matematycznych. Na przykład, wynik 60 mógłby sugerować niepełne wykonanie iteracji, na przykład jeśli pętla kończyłaby się wcześniej, ale kod jasno określa, że iteruje od n do 2. Wynik 125 mógłby być wynikiem błędnego użycia operatorów matematycznych, np. dodawania zamiast mnożenia. Odpowiedź 625 mogłaby sugerować niepoprawną interpretację, gdzie liczba 5 zostałaby błędnie pomnożona przez samą siebie pięciokrotnie, co nie dotyczy silni. Takie błędy są powszechne w kontekście programowania, gdzie operatory i zakresy iteracji muszą być prawidłowo zrozumiane i zastosowane. Rozumienie poprawnego działania pętli for oraz operatora *= jest kluczowe dla uniknięcia takich błędów i poprawnego implementowania algorytmów matematycznych w kodzie. Praktyka i analiza przykładowych problemów mogą znacznie poprawić zdolność do pisania skutecznego i bezbłędnego kodu.

Pytanie 23

W języku JavaScript zamieszczony poniżej fragment funkcji ma na celu

wynik = 0;
for (i = 0; i < tab.length; i++) {
wynik += tab[i];
}
A. wyświetlenie wszystkich elementów tablicy
B. policzenie sumy wszystkich elementów tablicy
C. dodanie stałej wartości do każdego elementu tablicy
D. wprowadzenie do każdego elementu tablicy bieżącej wartości zmiennej i
Podany fragment kodu w języku JavaScript pokazuje klasyczną strukturę pętli for, która pozwala na przejście przez wszystkie elementy tablicy i wykonanie na nich określonych operacji. W tym przypadku celem pętli jest zsumowanie wszystkich elementów tablicy. Zmienna wynik jest inicjalizowana wartością 0, co jest dobrą praktyką programistyczną, aby zapewnić prawidłowe działanie sumowania. Pętla iteruje przez każdy element tablicy tab przy pomocy zmiennej i, która pełni rolę indeksu. Przy każdej iteracji do zmiennej wynik dodawana jest wartość bieżącego elementu tablicy tab[i]. Po zakończeniu pętli zmienna wynik będzie zawierać sumę wszystkich elementów tablicy. Takie podejście jest podstawą wielu algorytmów przetwarzających dane tablicowe i ilustruje ważny koncept iteracyjnego przetwarzania danych. Warto również wspomnieć, że takie podstawowe operacje jak to sumowanie mogą być zastosowane w wielu dziedzinach takich jak analiza danych obliczenia statystyczne czy przetwarzanie dużych zbiorów danych w systemach komputerowych co czyni je niezwykle wartościowymi w praktyce zawodowej

Pytanie 24

W przedstawionym kodzie JavaScript, który został ponumerowany dla przejrzystości, występuje błąd uniemożliwiający wyświetlenie jakiegokolwiek komunikatu po uruchomieniu. Jak można go naprawić?

1  if(a < b)
2      document.write(a);
3      document.write("jest mniejsze");
4  else
5      document.write(b);
6      document.write("jest mniejsze");
A. dodać znak $ przed nazwami zmiennych
B. wprowadzić nawiasy klamrowe w sekcji if i else
C. umieścić zmienne a i b w cudzysłowie w liniach 2 i 5
D. zmienić znaki cudzysłowu na apostrof w liniach 3 i 6, np. 'jest mniejsze'
Odpowiedź o wstawieniu nawiasów klamrowych do sekcji if oraz else jest prawidłowa, ponieważ w JavaScript, gdy warunek if lub else obejmuje więcej niż jedną instrukcję, należy użyć nawiasów klamrowych, aby zgrupować te instrukcje. W przeciwnym razie, język traktuje jako część bloku kodu tylko pierwszą instrukcję. W omawianym kodzie, bez nawiasów klamrowych, tylko pierwsze wywołanie document.write w każdej z sekcji jest wykonywane, co skutkuje brakiem komunikatu w przypadku, gdy warunek jest spełniony. Przykładowo, poprawny kod powinien wyglądać tak: if (a < b) { document.write(a); document.write('jest mniejsze'); } else { document.write(b); document.write('jest mniejsze'); }. Nawiasy klamrowe są standardową praktyką, która poprawia czytelność kodu oraz ułatwia jego modyfikację w przyszłości, co jest zgodne z zasadami dobrego programowania.

Pytanie 25

Która zasada dotycząca sekcji <head> w HTML jest POPRAWNA?

A. w sekcji <head> zawiera się sekcja <body>
B. w sekcji <head> mogą wystąpić <meta>, <title>, <link>
C. w sekcji <head> buduje się szablon strony znacznikami <div>
D. w sekcji <head> nie wolno umieszczać kodu CSS, tylko odwołanie do pliku
Sekcja <head> zawiera metadane i powiązania dokumentu - typowo <meta> (kodowanie, opis), <title> (tytuł karty) i <link> (np. arkusz CSS). Dlatego poprawne jest stwierdzenie o <meta>, <title> i <link>.

Pytanie 26

Jak nazywa się metoda klasy wywoływana automatycznie przy tworzeniu obiektu, zwykle w celu zainicjowania pól?

A. obiekt
B. destruktor
C. konstruktor
D. specyfikator dostępu
Metoda wywoływana automatycznie przy tworzeniu obiektu, zwykle po to, by zainicjować jego pola, to KONSTRUKTOR. Dlatego mowa o konstruktorze.

Pytanie 27

Którego znacznika HTML NIE można użyć do wstawienia grafiki (dynamicznej) na stronę?

A.
<img>
B.
<strike>
C.
<embed>
D.
<object>
Znacznik <strike> służył do PRZEKREŚLANIA tekstu (dziś przestarzały, zastąpiony przez <del>/<s>) - nie ma nic wspólnego z osadzaniem grafiki. Dlatego do wstawienia obrazu NIE można użyć <strike>.

Pytanie 28

Który selektor sformatuje jednocześnie akapity z klasą „tekst” oraz element blokowy o ID „obrazki”?

A.
p.tekst, div#obrazki
B.
p#tekst, div.obrazki
C.
p.tekst + div#obrazki
D.
p#tekst + div.obrazki
Kropka oznacza klasę, a krzyżyk identyfikator: p.tekst to akapity z klasą „tekst”, a div#obrazki to <div> o id „obrazki”. Przecinek między selektorami GRUPUJE je, więc p.tekst, div#obrazki zastosuje tę samą regułę do obu zestawów elementów naraz. Dlatego to ten selektor jest poprawny.

Pytanie 29

Który kod oznacza kolor o odcieniu NIEBIESKIM?

A.
#0000EE
B.
#EE0000
C.
#00EE00
D.
#EE00EE
W zapisie #RRGGBB ostatnia para to niebieski. #0000EE ma zerowy czerwony i zielony, a wysoką składową niebieską - więc kolor jest NIEBIESKI. Dlatego niebieski to #0000EE.

Pytanie 30

W języku PHP przypisano zmiennej $a wartość 1. Porównanie $a === $b zwraca true, gdy zmienna $b ma przypisaną wartość

A. *1
B. '1'
C. 1 lub '1'
D. '1' lub "1"
Odpowiedź '1' lub "1" jest prawidłowa, ponieważ w PHP operator porównania identyczności (===) sprawdza zarówno wartość, jak i typ porównywanych zmiennych. Zmienna $a zainicjowana wartością 1 jest typu całkowitego (integer). Aby porównanie $a === $b zwróciło true, zmienna $b również musi być tego samego typu i mieć tę samą wartość. Wartość '1' (jako string) jest interpretowana przez PHP w kontekście operatora porównania identyczności i jest zgodna z typem integer, co sprawia, że jest akceptowalna w tym przypadku. Przykładem zastosowania może być sytuacja, gdy dane są pobierane z formularza, gdzie wartości są traktowane jako stringi, a my potrzebujemy porównać je z wartościami liczbowymi w logice aplikacji. Zastosowanie operatora === w takich przypadkach jest zgodne z dobrymi praktykami programistycznymi, ponieważ pozwala uniknąć niejednoznaczności i błędów typów, co jest szczególnie istotne w bardziej złożonych aplikacjach, gdzie poprawność danych jest kluczowa.

Pytanie 31

Którym poleceniem wyświetli się konfigurację serwera PHP (m.in. wersję PHP, system operacyjny, wartości zmiennych predefiniowanych)?

A.
phpinfo();
B.
phpcredits();
C.
echo phpversion();
D.
print_r(ini_get_all());
Pełną konfigurację serwera PHP wyświetla phpinfo(); - generuje stronę z wersją PHP, systemem operacyjnym serwera, załadowanymi rozszerzeniami i wartościami zmiennych predefiniowanych. To pierwsze narzędzie diagnostyczne, gdy sprawdzasz, czy środowisko jest poprawnie skonfigurowane. Zapamiętaj: phpinfo() = kompletny „raport o serwerze”.

Pytanie 32

Którego słowa kluczowego użyć w języku C, aby zdefiniować stałą?

A.
const
B.
static
C.
#CONST
D.
#INCLUDE
W języku C stałą definiuje się słowem kluczowym const, np. const int max = 100; - wartości takiej zmiennej nie można potem zmienić. Dlatego stałą tworzy const.

Pytanie 33

Co oznacza selektor CSS p > i { color: red; }?

A. każdy tekst w <p> lub w <i>
B. każdy tekst w <p> oprócz tego w <i>
C. tekst w <p> z klasą o nazwie i
D. tekst w <i> znajdującym się BEZPOŚREDNIO wewnątrz <p>
Znak > w selektorze oznacza „bezpośrednie dziecko”, więc p > i trafia tylko w te <i>, które leżą wprost wewnątrz <p> (na pierwszym poziomie zagnieżdżenia), a nie głębiej. Reguła p > i { color: red; } pokoloruje taki tekst na czerwono. Dlatego selektor dotyczy <i> bezpośrednio w <p>.

Pytanie 34

Znaczniki HTML <strong> oraz <em> używane do wyróżniania istotności tekstu, pod względem formatowania odpowiadają znacznikom

A. ```<i>``` oraz ```<mark>```
B. ```<u>``` oraz ```<sup>```
C. ```<b>``` oraz ```<i>```
D. ```<b>``` oraz ```<u>```
Znaczniki HTML <strong> oraz <em> są używane do podkreślenia ważności tekstu, przy czym <strong> wskazuje na silniejsze akcentowanie, a <em> na akcentowanie mniej intensywne, pełniące rolę stylizacji typograficznej. W kontekście formatowania, ich odpowiednikami są znaczniki <b> oraz <i>. Oznacznik <b> wprowadza tekst w pogrubieniu, co sygnalizuje jego ważność, ale nie ma semantycznego znaczenia, podczas gdy <i> oznacza kursywę, która jest często używana do podkreślenia tytułów, obcojęzycznych wyrazów czy terminów technicznych. W praktyce, użycie <strong> i <em> jest zgodne z zasadami semantycznego HTML, które mają na celu zrozumienie treści przez maszyny oraz poprawę dostępności, co ma fundamentalne znaczenie w projektowaniu stron internetowych. Warto także pamiętać, że stosowanie semantycznych znaczników wpływa na SEO, umożliwiając lepsze indeksowanie treści przez wyszukiwarki, a także poprawia doświadczenia osób korzystających z technologii asystujących. Przykładowo, użycie <strong> w nagłówkach lub kluczowych informacjach na stronie pozwala na lepsze zrozumienie struktury treści przez użytkowników oraz boty wyszukiwarek.

Pytanie 35

Która z pętli w PHP umożliwia przeprowadzenie operacji na wszystkich elementach tablicy z automatycznym przypisaniem indeksów tych elementów?

A. for
B. while
C. foreach
D. do...while
Zarówno konstrukcja 'for', 'while', jak i 'do...while' są pętlami, które służą do wykonywania bloków kodu wielokrotnie, jednak każda z nich ma swoje specyficzne zastosowania, które mogą prowadzić do nieefektywności w kontekście iteracji po tablicach. Użycie pętli 'for' wymaga manualnego zarządzania indeksami, co zwiększa ryzyko błędów, zwłaszcza w przypadku tablic o zmiennej długości. Przykładowo, iterując po tablicy za pomocą 'for', musimy ustawić warunki początkowe, końcowe oraz właściwie modyfikować indeks, co może prowadzić do błędów, jeśli nie zostanie to prawidłowo skonfigurowane. Z drugiej strony, pętle 'while' i 'do...while' są bardziej elastyczne, ale również wymagają dodatkowego sprawdzania warunków, co czyni je mniej przejrzystymi w kontekście iteracji po tablicach. Często prowadzi to do sytuacji, w których programiści popełniają błędy logiczne, takie jak zapętlenie się lub pominięcie elementów, co z kolei skutkuje trudnościami w utrzymaniu kodu. Dlatego, zamiast stosować te pętle, lepiej jest korzystać z 'foreach', która jest dedykowana do pracy z tablicami i eliminuje wiele problemów związanych z zarządzaniem indeksami.

Pytanie 36

Jakie są wyniki wykonania zapytania SQL?

SELECT count(*) FROM Uczniowie WHERE srednia=5;
A. średnia wszystkich ocen uczniów
B. łączna liczba uczniów
C. ilość uczniów, których średnia ocen wynosi 5
D. suma ocen uczniów z średnią 5
Zapytanie SQL używa funkcji COUNT aby policzyć liczbę rekordów w tabeli Uczniowie spełniających warunek srednia=5 Klauzula WHERE ogranicza zestaw zliczanych rekordów do tych gdzie średnia ocen ucznia wynosi dokładnie 5 W efekcie wynik zapytania odpowiada liczbie uczniów mających średnią ocen równą 5 Takie podejście jest powszechnie stosowane w analizie danych gdzie wymagane jest określenie liczby jednostek spełniających konkretne kryteria Zastosowanie COUNT w połączeniu z WHERE umożliwia precyzyjną kontrolę nad analizowanym zbiorem danych co jest standardem w wielu systemach bazodanowych Praktyczne zastosowanie tej techniki można spotkać w raportowaniu wyników nauczania generowaniu statystyk czy w analizach biznesowych gdzie kluczowe jest zrozumienie struktury i charakterystyki danych Zapytanie to ilustruje dobrą praktykę pracy z bazami danych polegającą na efektywnym i precyzyjnym formułowaniu zapytań w celu uzyskania wartościowych i precyzyjnych informacji

Pytanie 37

Ile WARUNKÓW wystarczy, aby znaleźć największą z trzech liczb a, b, c?

A. dwa warunki
B. pięć zmiennych
C. jedna pętla
D. dwie tablice
Pozostałe odpowiedzi mylą warunek z innymi elementami. „Pięć zmiennych”, „dwie tablice” czy „jedna pętla” to struktury danych albo konstrukcje sterujące, a nie warunki - i do porównania trzech liczb nie są potrzebne. Maksimum z trzech liczb znajdziesz dwoma porównaniami: większa z a i b, a następnie porównanie z c.

Pytanie 38

Jaką rolę pełni funkcja PHP o nazwie mysql_select_db()?

A. określić tabelę, z której będą pobierane informacje
B. określić bazę, z której będą pobierane dane
C. nawiązać połączenie bazy danych z serwerem SQL
D. pobrać dane z bazy danych na podstawie zapytania
Funkcja mysql_select_db() służy do określenia, która baza danych będzie używana w kontekście bieżącego połączenia z serwerem MySQL. W momencie, gdy nawiązuje się połączenie z serwerem za pomocą funkcji mysql_connect(), należy jasno zdefiniować, w której bazie danych będą wykonywane zapytania. Właściwe ustawienie aktualnej bazy danych jest kluczowe, ponieważ wszelkie operacje związane z pobieraniem lub modyfikowaniem danych będą odnosiły się tylko do tej wskazanej bazy. Przykładowo, jeżeli mamy bazę danych 'sklep' i chcemy pobrać dane o produktach, najpierw musimy wywołać mysql_select_db('sklep'). Dobrą praktyką jest również sprawdzenie, czy operacja wyboru bazy danych zakończyła się sukcesem, co można zrobić, sprawdzając zwracany wynik. Należy pamiętać, że funkcja mysql_select_db() jest częścią starzejącego się interfejsu MySQL, a w nowoczesnych aplikacjach rekomendowane są bardziej aktualne rozszerzenia, takie jak MySQLi lub PDO, które oferują lepsze możliwości obsługi błędów oraz bezpieczeństwo.

Pytanie 39

Poprawny zapis znacznika , za pomocą którego można umieścić na stronie internetowej obraz rys.jpg przeskalowany do szerokości 120 px i wysokości 80 px z tekstem alternatywnym "krajobraz" to

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 na pewno dobra! Używasz fajnego atrybutu 'src' do wskazania, skąd bierzesz obrazek, co jest super ważne. Atrybuty 'width' i 'height' też są dobrze ustawione, bo określają, jak duży ma być obrazek na stronie. To naprawdę przydaje się, zwłaszcza jak robimy responsywne strony. A ten 'alt', to świetny pomysł – daje tekst alternatywny, co bardzo pomaga osobom, które korzystają z czytników ekranu. Bez tego mogą nie wiedzieć, co jest na obrazku, a to jest spoko, bo dba o dostępność. Co do pikseli, używasz ich standardowo, ale pomyśl, że w CSS można też iść w procenty czy jednostki względne, żeby było jeszcze elastyczniej. W sumie, gdybyś chciał, mógłbyś bawić się CSS-em do stylizacji obrazów tła, co też sprawia, że wszystko lepiej się dopasowuje do różnych ekranów.

Pytanie 40

<?php
setcookie('egzamin', '24', time() + 60);
?>
Na podstawie przedstawionego kodu PHP wskaż, ile wynosi czas ważności ustawionego ciasteczka?
A. 24 godziny.
B. 24 doby.
C. 1 godzina.
D. 1 minuta.
Ten fragment kodu PHP jest dobrym przykładem, jak łatwo pomylić się przy interpretowaniu czasu życia ciasteczka. Wiele osób widząc wartość '24' w nazwie albo w wartości ciasteczka automatycznie kojarzy to z 24 godzinami czy 24 dobami. Tymczasem w ogóle nie ma to znaczenia dla czasu ważności. O tym, jak długo cookie będzie żyło, decyduje wyłącznie trzeci parametr funkcji setcookie(), czyli tutaj: time() + 60. Funkcja time() zwraca aktualny czas w sekundach, a liczba 60 to po prostu 60 sekund. Nie ma tu żadnej „magii” powiązanej z liczbą 24.
Częsty błąd polega na tym, że ktoś myśli kategoriami: godziny, dni, a nie sekund. W PHP czas wygaśnięcia w setcookie musi być podany jako konkretny znacznik czasowy UNIX, więc programista musi sam przeliczyć sobie minuty czy godziny na sekundy. Jeśli ktoś pomyśli, że 60 to np. 60 minut, to w praktyce pomyli się dokładnie 60 razy. Podobnie założenie, że skoro wartość ciasteczka to '24', to ciasteczko będzie ważne 24 godziny lub 24 doby, wynika z mieszania znaczenia logicznego danych z mechanizmem technicznym ich przechowywania. Wartość '24' to po prostu tekst przechowywany w cookie, bez żadnego automatycznego powiązania z czasem.
Z mojego doświadczenia takie pomyłki biorą się też z porównywania do innych technologii, gdzie czas ustawia się np. w minutach. W PHP (i generalnie w mechanizmie UNIX time) wszystko liczymy w sekundach. Dlatego dobre praktyki mówią, żeby zawsze jawnie pisać wyrażenia typu 60 * 60 (godzina), 60 * 60 * 24 (doba), zamiast samego „3600” czy „86400”, bo to od razu sugeruje, o jaką jednostkę chodzi i ogranicza ryzyko złej interpretacji. Jeżeli programista nie rozumie tej konwencji, będzie projektował mechanizmy sesji, logowania czy koszyków zakupów z błędnymi czasami życia ciasteczek, co może prowadzić do irytujących sytuacji dla użytkownika, a nawet do problemów z bezpieczeństwem (np. zbyt długie przechowywanie wrażliwych informacji). Dlatego tak ważne jest, żeby przy każdym użyciu setcookie() świadomie przeliczać czas na sekundy i nie sugerować się nazwą ani wartością samego ciasteczka.