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: 27 maja 2026 10:54
  • Data zakończenia: 27 maja 2026 11:13

Egzamin zdany!

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

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

Jakie obiekty w bazie danych służą do podsumowywania, prezentacji oraz drukowania danych?

A. zestawienie
B. formularz
C. zapytanie
D. raport
Raport jest narzędziem w bazach danych, które umożliwia podsumowywanie, wyświetlanie i wydruk danych w zorganizowanej formie. Jego głównym celem jest przedstawienie informacji w sposób zrozumiały i estetyczny, co jest szczególnie ważne w kontekście analizy danych oraz podejmowania decyzji biznesowych. Raporty mogą być wykorzystane do generowania zestawień wyników finansowych, analiz sprzedaży czy statystyk użytkowników. Umożliwiają one również prezentację danych w formie tabel, wykresów i diagramów, co zwiększa ich czytelność. W branży IT i zarządzania danymi, dobrą praktyką jest korzystanie z narzędzi raportowych, które integrują się z bazami danych, co pozwala na automatyczne aktualizowanie danych oraz lepszą wizualizację. Warto również wspomnieć o różnych formatach, w jakich raporty mogą być generowane, takich jak PDF, XLSX czy HTML, co umożliwia ich łatwe udostępnianie i archiwizowanie.

Pytanie 2

Który atrybut pozwala na wskazanie lokalizacji pliku graficznego w znaczniku <img>?

A. src
B. alt
C. href
D. link
Atrybut 'src' w znaczniku <img> jest kluczowy, ponieważ określa lokalizację pliku graficznego, który ma być wyświetlany na stronie. Oznacza to, że wartość tego atrybutu to URL (Uniform Resource Locator), który wskazuje na lokalizację obrazu w internecie lub na lokalnym serwerze. Przykładowo, jeśli chcemy wyświetlić obrazek o nazwie 'zdjecie.jpg' znajdujący się w folderze 'obrazy', użyjemy: <img src='obrazy/zdjecie.jpg' alt='Opis obrazka'>. Zastosowanie odpowiedniego atrybutu 'src' jest zgodne z najlepszymi praktykami HTML, co zapewnia, że przeglądarki internetowe prawidłowo interpretują nasze zamierzenia co do wyświetlania treści wizualnych. Nieprawidłowe określenie lokalizacji obrazu może prowadzić do błędów '404 Not Found', co negatywnie wpływa na doświadczenie użytkownika. Dobrze zaprojektowane strony internetowe powinny również uwzględniać atrybut 'alt', który zapewnia dostępność oraz opisuje zawartość obrazu osobom korzystającym z czytników ekranu, ale to 'src' jest odpowiedzialny za wyświetlanie samego obrazu.

Pytanie 3

Zaprezentowano tabelę stworzoną za pomocą kodu HTML, bez zastosowania stylów CSS. Która część kodu HTML odnosi się do pierwszego wiersza tabeli?

Ilustracja do pytania
A. B
B. D
C. C
D. A
Odpowiedź D jest prawidłowa, ponieważ używa znaczników <th> do zdefiniowania nagłówków kolumn w tabeli. Znaczniki <th> są używane w tabelach HTML do określania komórek nagłówkowych, które domyślnie są pogrubione i wyśrodkowane. Taki format jest zgodny z zasadami dostępności i użyteczności, ponieważ przeglądarki i czytniki ekranowe traktują <th> jako nagłówki, co poprawia zrozumienie struktury tabeli przez użytkowników. Znaczniki <b> w <th> dodatkowo stylizują tekst, co jest zgodne z przedstawionym obrazem. Używanie odpowiednich znaczników semantycznych to dobra praktyka, która zwiększa czytelność kodu i wspiera dostępność. W kontekście praktycznym, poprawne użycie <th> umożliwia lepsze formatowanie i interpretację danych w tabeli podczas renderowania w przeglądarkach, a także wspiera responsywne projektowanie, gdzie układ tabeli automatycznie dostosowuje się do różnych rozmiarów ekranów. Dlatego korzystanie z <th> do definiowania pierwszego wiersza jako nagłówka jest zgodne z najlepszymi praktykami projektowania stron internetowych.

Pytanie 4

Aby obraz wstawiony na stronę internetową mógł dostosować się automatycznie do wymiarów ekranu, na którym jest wyświetlany, konieczne jest

A. niezmienianie obu jego wymiarów za pomocą stylów CSS
B. ustawienie jego szerokości w wartościach procentowych
C. ustawienie jednego z jego wymiarów w pikselach
D. ustawienie obu jego rozmiarów w pikselach
Ustawienie szerokości obrazu w wartościach procentowych jest kluczowym aspektem responsywnego projektowania stron internetowych. Dzięki temu obraz automatycznie dostosowuje się do szerokości kontenera, w którym jest umieszczony, co pozwala na płynne skalowanie w zależności od rozmiaru ekranu. Na przykład, jeśli szerokość obrazu ustawimy na 100%, to obraz będzie zawsze zajmował całą szerokość swojego kontenera, co jest szczególnie ważne w przypadku urządzeń mobilnych oraz różnych rozdzielczości ekranów. To podejście wspiera zasady projektowania responsywnego, które są fundamentem nowoczesnych stron internetowych. Dodatkowo, stosowanie jednostek procentowych zamiast pikseli umożliwia lepszą dostępność i poprawia doświadczenia użytkowników, eliminując problemy związane z przewijaniem lub wyświetlaniem treści poza ekranem. Obrazy ustawione w procentach pozwalają na bardziej elastyczne układy, które lepiej reagują na zmiany rozmiarów okien przeglądarki, co jest zgodne z najlepszymi praktykami w branży, takimi jak użycie Frameworków CSS, jak Bootstrap, które bazują na responsywnych gridach.

Pytanie 5

Jaką kompetencję społeczną możemy przypisać osobie, która potrafi wyrażać swoje zdanie oraz argumentować swoje racje, nie naruszając przy tym granic własnych i innych ludzi?

A. Asertywność
B. Konformizm
C. Empatia
D. Akomodacja
Asertywność to umiejętność wyrażania swoich myśli, uczuć i przekonań w sposób pewny, ale z szacunkiem dla innych. Osoba asertywna potrafi argumentować swoje racje, nie naruszając przestrzeni emocjonalnej innych ludzi. Na przykład, w sytuacji konfliktu w pracy, osoba asertywna z łatwością przedstawi swoje stanowisko, jednocześnie słuchając argumentów drugiej strony. Asertywność jest kluczowa w budowaniu zdrowych relacji interpersonalnych, ponieważ pozwala na otwartą komunikację i wyrażanie potrzeb bez wywoływania antagonizmu. W praktyce asertywność jest często stosowana w negocjacjach, gdzie ważne jest, aby jasno przedstawiać swoje oczekiwania, ale również być otwartym na propozycje partnera. Standardy komunikacji interpersonalnej podkreślają rolę asertywności jako fundamentu dla efektywnego działania w zespole i rozwiązywania konfliktów. Właściwe stosowanie asertywności przyczynia się do tworzenia środowiska sprzyjającego współpracy i wzajemnemu szacunkowi.

Pytanie 6

Do uruchomienia kodu napisanego w języku PHP konieczne jest posiadanie w systemie

A. przeglądarki internetowej
B. serwera WWW, parsera PHP oraz bazy danych MySQL
C. serwera WWW z bazą danych MySQL
D. serwera WWW z interpreterem PHP
Aby wykonać kod zapisany w języku PHP, konieczne jest posiadanie serwera WWW z zainstalowanym interpreterem PHP. PHP (Hypertext Preprocessor) jest językiem skryptowym, który działa po stronie serwera, co oznacza, że kod PHP jest przetwarzany na serwerze zanim zostanie wysłany do przeglądarki użytkownika. Serwer WWW, taki jak Apache lub Nginx, musi być skonfigurowany do obsługi PHP, co zazwyczaj wymaga zainstalowania odpowiedniego modułu lub interpreter PHP. Przykładowo, w systemach Linux, PHP można zainstalować za pomocą menedżera pakietów, co umożliwia łatwe uruchamianie skryptów PHP. W przypadku prostych aplikacji webowych wystarczy zainstalować serwer WWW oraz PHP, aby rozpocząć pracę. Ważne jest również, aby pamiętać o różnicy między PHP a innymi językami, takimi jak JavaScript, który działa po stronie klienta. Standardy, takie jak PHP-FIG, określają, jak powinny być pisane i organizowane aplikacje w PHP, co ułatwia ich późniejsze rozwijanie i utrzymanie.

Pytanie 7

W języku CSS wprowadzono poniższe formatowanie:

p > i { color: blue; }
Oznacza to, że tekst w kolorze niebieskim będzie zapisany:
A. cały tekst nagłówków, bez względu na ich formatowanie
B. pogrubiony tekst akapitu
C. pochylony tekst akapitu
D. cały tekst akapitu, bez względu na jego formatowanie
W przypadku zrozumienia reguł CSS ważne jest, aby wiedzieć, jak różne selektory wpływają na wygląd elementów na stronie internetowej. Selekcja całego tekstu paragrafu niezależnie od jego formatowania wymagałaby użycia selektora p bezpośrednio, nie uwzględniając specyficznych potomków takich jak i. Pogrubiony tekst paragrafu jest zazwyczaj implementowany za pomocą tagu b lub strong, a nie i, który zgodnie z HTML jest przeznaczony dla tekstu pochyłego. Dlatego, aby stylizować pogrubiony tekst na niebiesko, należałoby użyć selektora p > b lub p > strong w zależności od użytego tagu. Jeśli chodzi o nagłówki, czyli elementy h1 h2 itd. ich stylizacja wymagałaby użycia selektorów odnoszących się bezpośrednio do tych elementów np. h1 {color: blue;} jeśli chcielibyśmy zmienić kolor całego nagłówka niezależnie od formatowania. Zrozumienie tych zasad pozwala tworzyć bardziej precyzyjne i czytelne style CSS. Typowym błędem jest mylenie selektorów kontekstowych z innymi typami selektorów co prowadzi do nieoczekiwanych wyników w wyglądzie strony. Taka wiedza jest fundamentalna w profesjonalnym projektowaniu stron internetowych i pozwala na lepszą kontrolę wizualną oraz semantyczną nad wybranymi elementami w strukturze dokumentu HTML co jest kluczowe w nowoczesnym web designie.

Pytanie 8

Które z formatowań nie jest wyrażone w języku CSS?

Ilustracja do pytania
A. Formatowanie 2
B. Formatowanie 1
C. Formatowanie 4
D. Formatowanie 3
Wybrałeś Formatowanie 3 i to jest zgodne z ideą pytania, bo właśnie tam zastosowano atrybut HTML `bgcolor`, który nie korzysta z mechanizmu CSS. W tym fragmencie mamy zapis `<body bgcolor="yellow">`. To jest tzw. prezentacyjne rozszerzenie HTML, które było popularne w bardzo starych wersjach specyfikacji (HTML 3.2, wczesne 4.0), ale obecnie jest traktowane jako przestarzałe i niezalecane (deprecated). Kolor tła jest tu definiowany bezpośrednio w znaczniku HTML, a nie w osobnym arkuszu stylów ani nawet w atrybucie `style`. Z punktu widzenia dzisiejszych standardów W3C i dobrych praktyk front‑endowych, formatowanie wyglądu powinno być przeniesione do CSS. W pozostałych formatach użyto już języka CSS, tylko w różnych miejscach. Formatowanie 1 wykorzystuje styl wbudowany w dokument w sekcji `<style>...</style>` w pliku HTML. Taki kod jest jak najbardziej CSS: selektor `body` i deklaracja `background-color: yellow;`. Formatowanie 2 przenosi ten sam zapis do zewnętrznego arkusza stylów, np. `formatowanie.css`. To jest obecnie uznawane za najbardziej eleganckie i skalowalne rozwiązanie, bo rozdziela strukturę (HTML) od prezentacji (CSS). Formatowanie 4 używa atrybutu `style` wewnątrz znacznika `<body>`: `style="background-color: yellow;"`. W środku atrybutu też znajduje się pełnoprawny kod CSS, tylko zapisany inline. Technicznie jest to CSS, choć z mojego doświadczenia warto go używać raczej oszczędnie, np. do szybkich testów lub jednostkowych wyjątków. W praktyce, przy tworzeniu nowoczesnych stron WWW, wszystkie ustawienia kolorów, marginesów, czcionek itd. trzymamy w arkuszach stylów. Atrybuty typu `bgcolor`, `align`, `font` i podobne są uznawane za złą praktykę, bo mieszają zawartość z prezentacją i utrudniają późniejszą modyfikację wyglądu. Dlatego poprawna odpowiedź pokazuje właśnie przykład starego, nie‑CSS‑owego formatowania.

Pytanie 9

Przedstawiona funkcja napisana w kodzie JavaScript ma na celu:

function oblicz(a, n)
{
    wynik = 1;
    for(i = 0; i < n; i++)
        wynik *= a;
    return (wynik);
}
A. zwrócić wynik potęgowania a^n
B. zwrócić iloczyn kolejnych liczb od 1 do a
C. wpisać wyniki mnożenia a przez n
D. wpisać kolejne liczby od a do n
Funkcja w kodzie JavaScript przedstawionym w pytaniu ma na celu zwrócenie wyniku potęgowania liczby a do potęgi n. Widzimy to poprzez analizę kodu: rozpoczyna się od inicjalizacji zmiennej wynik z wartością 1, a następnie w pętli for realizowana jest operacja mnożenia wyniku przez a dokładnie n razy. W ten sposób wynik = wynik * a jest wykonywane iteracyjnie, co oznacza że a jest mnożone przez siebie n razy. Taka operacja jest definicją potęgowania: a do potęgi n oznacza a mnożone n-krotnie. Tego rodzaju funkcje są fundamentalne w programowaniu, szczególnie w kontekście matematycznych obliczeń czy symulacji wymagających wielokrotnych potęgowań, np. w zastosowaniach naukowych i inżynieryjnych. Dobrą praktyką jest również optymalizacja tego typu funkcji używając wbudowanych metod jak Math.pow w JavaScript, co zwiększa czytelność i efektywność kodu. Rozumienie potęgowania jest kluczowe w algorytmach opartych na teorii liczb, kryptografii czy w grafice komputerowej, gdzie operacje te mogą być wysoce złożone i wymagają szczególnej optymalizacji.

Pytanie 10

Funkcję Clean Project środowiska IDE stosuje się do

A. kompilowania projektu, gdy pliki źródłowe zostały zmienione.
B. usuwania wyników kompilacji projektu.
C. debugowania skompilowanego i uruchomionego projektu.
D. usuwania całego projektu.
Funkcja „Clean Project” w środowisku IDE bywa mylona z kilkoma zupełnie innymi operacjami i stąd często biorą się błędne skojarzenia. Warto to sobie dobrze poukładać, bo w pracy z większymi projektami, szczególnie webowymi, znajomość tych różnic mocno ułatwia życie. Po pierwsze, Clean nie służy do usuwania całego projektu. IDE nie kasuje Twoich plików źródłowych, katalogów z kodem, konfiguracji, zasobów graficznych czy plików HTML, CSS, PHP, JS. Gdyby tak było, byłoby to po prostu niebezpieczne i kompletnie sprzeczne z dobrymi praktykami. Usuwanie projektu to zupełnie inna, osobna akcja, zwykle nazwana wprost „Delete project”, „Remove from workspace” itp. Clean ingeruje tylko w to, co zostało wygenerowane automatycznie podczas kompilacji lub procesu buildowania, czyli w artefakty, które w razie czego można bezpiecznie odtworzyć z kodu. Drugi częsty błąd to traktowanie funkcji Clean jako mechanizmu kompilowania projektu po zmianie plików źródłowych. W większości IDE kompilacją zajmują się polecenia typu „Build”, „Rebuild”, „Run”, ewentualnie system automatycznego builda po zapisaniu pliku. Clean sam z siebie nie kompiluje – on przygotowuje pole do ponownego, pełnego builda, usuwając stare binaria. Można to porównać do posprzątania warsztatu przed rozpoczęciem nowej pracy, a nie do samego naprawiania. Trzecie nieporozumienie to łączenie Clean z debugowaniem. Debugowanie polega na uruchamianiu skompilowanego programu z podpiętym debuggerem, stawianiu breakpointów, podglądaniu zmiennych, stosu wywołań itd. Funkcja Clean nie uruchamia aplikacji ani nie wchodzi w tryb debugowania, tylko czyści katalogi z wynikami wcześniejszych kompilacji. Typowy błąd myślowy polega na mieszaniu tych trzech etapów: porządkowania artefaktów (Clean), kompilacji/builda (Build/Run) i analizy działania programu (Debug). W praktyce, poprawna sekwencja przy dziwnych błędach to: Clean, potem pełny Build, a dopiero później ewentualne Debug. Takie rozdzielenie ról narzędzi jest standardem w większości popularnych IDE i systemów buildowania i dobrze jest się do niego przyzwyczaić, bo potem łatwiej przenosić się między różnymi technologiami i środowiskami.

Pytanie 11

Tabela Pacjenci zawiera kolumny: imie, nazwisko, wiek oraz lekarz_id. W celu stworzenia raportu z imionami i nazwiskami pacjentów, którzy mają mniej niż 18 lat i są zapisani do lekarza o id wynoszącym 6, należy zastosować kwerendę SQL

A. SELECT imie, nazwisko WHERE wiek < 18 OR lekarz_id = 6
B. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 OR lekarz_id = 6
C. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6
D. SELECT imie, nazwisko WHERE wiek < 18 AND lekarz_id = 6
Odpowiedź 'SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6' jest poprawna, ponieważ precyzyjnie określa, jakie dane mają zostać zwrócone. Kwerenda ta wykorzystuje klauzulę 'FROM', aby wskazać, z której tabeli mają zostać pobrane dane, oraz 'WHERE', aby nałożyć odpowiednie warunki. W tym przypadku chcemy uzyskać imiona i nazwiska pacjentów, którzy są poniżej 18 roku życia oraz zapisani do lekarza o identyfikatorze 6. Używanie operatora 'AND' jest kluczowe w tym kontekście, ponieważ tylko pacjenci spełniający obydwa warunki będą uwzględniani w wynikach. W praktyce, taka kwerenda jest niezwykle użyteczna w systemach medycznych, gdzie konieczne jest operowanie na danych demograficznych pacjentów oraz ich przypisania do lekarzy. Dobre praktyki w SQL wymagają jasności w określaniu warunków filtracji, co ta kwerenda osiąga, unikając niejednoznaczności, które mogłyby wyniknąć z użycia operatora 'OR'.

Pytanie 12

Który efekt został zaprezentowany na filmie?

A. Zwiększenie ostrości zdjęcia.
B. Zmiana jasności zdjęć.
C. Zmniejszenie kontrastu zdjęcia.
D. Przenikanie zdjęć.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 13

W bazie danych znajduje się tabela o nazwie pracownicy z kolumnami: nazwisko, imię, pensja, wiek. Jak powinna wyglądać składnia polecenia do obliczenia średniej pensji pracowników?

A. select VAR (pensja) from nazwisko
B. select VAR (pracownicy) into pensja
C. select AVG (nazwisko) into pensja
D. select AVG (pensja) from pracownicy
Poprawna odpowiedź, czyli polecenie 'select AVG (pensja) from pracownicy', wykorzystuje funkcję agregującą AVG, która jest standardowo stosowana w SQL do obliczania średniej wartości w kolumnie. W tym przypadku, polecenie to oblicza średnią pensję pracowników zapisanych w tabeli 'pracownicy'. Użycie funkcji AVG jest zgodne z dobrymi praktykami SQL, które zalecają stosowanie odpowiednich funkcji agregujących w celu efektywnego przetwarzania danych. Wartości w kolumnie 'pensja' są analizowane, a wynik zwraca jedną wartość — średnią pensję, co jest niezwykle użyteczne w kontekście raportowania czy analizy wynagrodzeń. Przykładowo, jeśli tabela zawiera pensje 3000, 4000 i 5000, funkcja AVG zwróci 4000. Tego rodzaju zapytania są powszechnie stosowane w raportach kadrowych oraz podczas analizy budżetu w organizacjach, co czyni je niezbędnym elementem wiedzy dla analityków danych oraz programistów baz danych.

Pytanie 14

Zawarty w ramce fragment kodu w języku JavaScript

Ilustracja do pytania
A. przypisze zmiennej s długość tekstu ze zmiennej t
B. wyświetli długość tekstu ze zmiennej t
C. przypisze do zmiennej s fragment tekstu ze zmiennej t o długości określonej przez zmienną length
D. przypisze do zmiennej s zmienną t
Funkcja length w JavaScript jest prostą i potężną metodą, która zwraca długość łańcucha znaków. W przypadku zmiennej t przypisanej do wartości Ala ma kota., kiedy wywołujemy t.length, otrzymujemy liczbę znaków w tym łańcuchu, która wynosi 12, wliczając spacje i znak kropki. Przypisanie s=t.length; oznacza, że zmienna s przyjmie wartość liczbową 12. Jest to standardowy sposób mierzenia długości tekstu w większości języków programowania i jest szeroko stosowany w codziennym programowaniu, np. przy walidacji danych wejściowych, budowaniu dynamicznych interfejsów użytkownika czy przetwarzaniu tekstu. Metoda ta jest częścią podstawowej składni JavaScriptu i jest dobrze wspierana przez wszystkie współczesne przeglądarki, co czyni ją niezawodnym narzędziem w pracy z tekstem. Rozumienie tego mechanizmu jest kluczowe dla efektywnego zarządzania danymi tekstowymi i może być rozwijane poprzez praktyczne ćwiczenia w projektach związanych z analizą tekstu czy tworzeniem dynamicznych aplikacji webowych.

Pytanie 15

Poniższe zapytanie SQL ma na celu:

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. zwiększyć o jeden wartość pola Uczen
B. ustawić wartość pola Uczen na 1
C. zwiększyć o jeden wartość kolumny id_klasy dla wszystkich wpisów w tabeli Uczen
D. przypisać wartość kolumny id_klasy jako 1 dla wszystkich wpisów w tabeli Uczen
Polecenie SQL "UPDATE Uczen SET id_klasy = id_klasy + 1;" jest poprawne, ponieważ wskazuje na aktualizację kolumny 'id_klasy' w tabeli 'Uczen'. Wartość kolumny dla każdego rekordu w tabeli zostanie zwiększona o jeden. Działanie to jest przydatne w sytuacjach, gdy chcemy zaktualizować dane, na przykład po przesunięciu uczniów do wyższej klasy w systemie edukacyjnym. Przy takim podejściu, wszyscy uczniowie w danym roku szkolnym mogą zostać automatycznie przeniesieni do następnej klasy bez konieczności edytowania rekordów pojedynczo, co zwiększa efektywność i zmniejsza ryzyko błędów. Ta praktyka jest zgodna z zasadami optymalizacji baz danych, gdzie operacje masowe są preferowane dla ich wydajności. Ponadto, dobrym nawykiem jest tworzenie kopii zapasowych przed przeprowadzeniem masowych aktualizacji, aby uniknąć nieodwracalnych zmian w przypadku błędów.

Pytanie 16

Formatem grafiki wektorowej jest

A. JPG
B. GIF
C. PNG
D. SVG
Poprawnie – format SVG to grafika wektorowa. SVG (Scalable Vector Graphics) jest oparty na XML i opisuje obraz za pomocą figur geometrycznych: linii, krzywych, prostokątów, okręgów, wielokątów oraz tekstu. Dzięki temu obraz nie składa się z pikseli, tylko z równań matematycznych, więc można go dowolnie skalować bez utraty jakości – logo w SVG będzie równie ostre na wizytówce, jak i na ogromnym billboardzie czy ekranie 4K. To jest właśnie główna przewaga grafiki wektorowej nad rastrową. Moim zdaniem w świecie webowym SVG to dzisiaj standard dla ikon, logotypów, prostych ilustracji, wykresów czy schematów. Przeglądarki traktują SVG jako natywny format wspierany przez specyfikację W3C, można go osadzać bezpośrednio w kodzie HTML (inline) albo jako zewnętrzny plik. Co ważne, elementy SVG da się stylować za pomocą CSS i animować przy użyciu CSS lub JavaScript, co daje ogromne możliwości w interfejsach użytkownika i nowoczesnych stronach WWW. W praktyce dobrym podejściem jest używanie SVG wszędzie tam, gdzie grafika ma być skalowalna, lekka i ostra na różnych urządzeniach: responsywne ikony menu, grafiki w interfejsie aplikacji webowych, piktogramy, infografiki. Dodatkowo SVG często ma mniejszy rozmiar pliku niż odpowiednik PNG w wysokiej rozdzielczości, zwłaszcza gdy obraz składa się głównie z prostych kształtów. Z mojego doświadczenia to jeden z kluczowych formatów, które warto dobrze ogarnąć, jeśli myśli się poważnie o grafice komputerowej i front-endzie.

Pytanie 17

Jaką klauzulę należy użyć w instrukcji CREATE TABLE w SQL, żeby pole rekordu nie mogło być puste?

A. NULL
B. CHECK
C. DEFAULT
D. NOT NULL
Klauzula NOT NULL w poleceniu CREATE TABLE języka SQL służy do zapewnienia, że dane w danym polu rekordu nie mogą być puste. To oznacza, że podczas wstawiania nowych rekordów do tabeli, każde pole, które zostało zdefiniowane z tą klauzulą, musi zawierać wartość. Na przykład, jeśli mamy tabelę pracowników, w której kolumna 'nazwisko' jest zdefiniowana jako NOT NULL, to każde dodanie nowego pracownika do tej tabeli musi zawierać wartość w kolumnie 'nazwisko'. W praktyce jest to bardzo ważne, ponieważ pozwala na utrzymanie integralności danych i zapobiega sytuacjom, w których kluczowe informacje mogłyby zostać pominięte. Użycie NOT NULL jest zgodne z dobrymi praktykami projektowania baz danych, które podkreślają znaczenie pełnych i kompletnych danych. Zastosowanie tej klauzuli zwiększa jakość danych oraz ułatwia późniejsze operacje na tabeli, takie jak zapytania czy raporty.

Pytanie 18

W języku HTML aby zdefiniować słowa kluczowe strony, należy użyć zapisu

A. <meta name = "keywords" content = "psy, koty, gryzonie">
B. <meta name = "keywords" = "psy, koty, gryzonie">
C. <meta name = "description" content = "psy, koty, gryzonie">
D. <meta keywords = "psy, koty, gryzonie">
Poprawna odpowiedź to <meta name = "keywords" content = "psy, koty, gryzonie">, ponieważ jest to właściwy sposób definiowania słów kluczowych w sekcji <head> dokumentu HTML. Element <meta> służy do dostarczania metadanych o stronie internetowej, a atrybut 'name' określa, jakie informacje są zawarte w danym elemencie. W przypadku 'keywords', atrybut 'content' z kolei zawiera listę słów kluczowych, które są związane z treścią strony. Chociaż znaczenie słów kluczowych w SEO zmienia się, wciąż są one używane przez niektóre wyszukiwarki do kategoryzowania zawartości strony. Przykładowo, jeśli strona dotyczy zwierząt domowych, użycie fraz takich jak 'psy', 'koty', czy 'gryzonie' w atrybucie 'content' może pomóc w poprawie widoczności w wynikach wyszukiwania. Dobrą praktyką jest, aby słowa kluczowe były specyficzne, związane z tematyką strony i nie przekraczały rozsądnej liczby, aby nie wprowadzać w błąd algorytmy wyszukiwarek. Używanie odpowiednich metatagów to kluczowy element optymalizacji SEO.

Pytanie 19

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

Ilustracja do pytania
A. title
B. name
C. alt
D. dfn
Znacznik <abbr> w HTML służy do opisywania skrótów i akronimów. Atrybut title jest kluczowy, ponieważ dostarcza rozwinięcie skrótu jako podpowiedź tekstową, która pojawia się, gdy użytkownik najedzie kursorem na element. Jest to zgodne z dobrymi praktykami dostępności, umożliwiając użytkownikom lepsze zrozumienie treści. Przykładowo, kod <abbr title='inżynier'>inz.</abbr> spowoduje, że po najechaniu kursorem na skrót 'inz.', pojawi się rozwinięcie 'inżynier'. Takie podejście jest szczególnie istotne w przypadku dokumentów technicznych czy naukowych, gdzie użycie skrótów jest powszechne a pełne rozwinięcie może być niezbędne dla pełnego zrozumienia treści. Atrybut title jest również używany w innych znacznikach HTML, np. <img> do opisania obrazów, co wzbogaca semantykę strony. Zastosowanie <abbr> z atrybutem title wspiera również działanie technologii wspomagających, takich jak czytniki ekranowe, które mogą odczytać pełne rozwinięcie skrótu, podnosząc poziom dostępności strony.

Pytanie 20

Jakie czynniki wpływają na wysokość dźwięku?

A. czas oscylacji źródła dźwięku
B. częstotliwość drgań fali akustycznej
C. intensywność wzbudzenia drgań
D. metoda wzbudzania drgań
To prawda, że czas drgania źródła dźwięku i sposoby, jakimi te drgania są wzbudzane, mają swoje znaczenie, ale nie wpływają one na wysokość dźwięku tak, jak to robi częstotliwość. Czas drgania to okres jednego cyklu drgania, a jego odwrotność to częstotliwość. Można by pomyśleć, że dłuższy czas drgania oznacza niższy dźwięk, ale to nie tak działa. W rzeczywistości to częstotliwość jest wyznacznikiem wysokości dźwięku. W muzyce, różne techniki, takie jak atak struny czy wibrato, mogą zmieniać brzmienie, ale nie mają wpływu na podstawową częstotliwość. Można też mówić o sile wzbudzenia drgań, co dotyczy amplitudy fali akustycznej, a to z kolei wpływa na głośność, a nie wysokość dźwięku. Często ludzie mylą głośność z wysokością, co może prowadzić do różnych nieporozumień. Na przykład, niektóre instrumenty mogą grać zarówno głośno, jak i cicho, ale na tej samej wysokości, co pokazuje, że te dwa aspekty dźwięku to zupełnie różne sprawy. Zrozumienie tych różnic to podstawa dla każdego, kto działa w akustyce czy inżynierii dźwięku.

Pytanie 21

Który z poniższych sposobów na dodawanie komentarzy do kodu nie jest używany w języku PHP?

A. <!-- komentarz -->
B. # komentarz
C. /* komentarz */
D. // komentarz
Komentarze w kodzie PHP są kluczowym aspektem, który wspomaga zrozumienie i utrzymanie kodu. W PHP możemy korzystać z różnych metod komentowania, które są standardowo akceptowane w branży. Użycie # lub // pozwala na tworzenie komentarzy jedno-liniowych, co jest szczególnie przydatne w przypadku krótkich uwag lub przypomnienia o szczególnych funkcjach kodu. Komentarze wielo-liniowe, z kolei, realizowane przy pomocy /* komentarz */ są idealne do bardziej rozbudowanych objaśnień lub do tymczasowego wyłączenia większych bloków kodu podczas testowania. Zastosowanie <!-- komentarz --> jest błędne, ponieważ jest to sposób komentowania stosowany w HTML, a nie w PHP. To mylne powiązanie może prowadzić do nieporozumień i błędów w kodzie, szczególnie dla programistów, którzy pracują z różnymi językami programowania. Kluczowe jest, aby przy pracy z różnymi językami programowania znać specyfikę ich składni oraz standardy. W praktyce, niepoprawne stosowanie komentarzy może skutkować poważnymi problemami w zrozumieniu kodu, co może prowadzić do zwiększenia czasu potrzebnego na jego debugowanie oraz mniejsze zrozumienie między członkami zespołu. W związku z tym, istotne jest, aby programiści byli świadomi różnorodnych konwencji komend oraz ich kontekstu, co jest kluczowe dla skutecznej współpracy i efektywności wszystkich pracujących nad projektem.

Pytanie 22

W tabeli artykuly znajduje się pole o nazwie nowy. Aby pole to wypełnić wartościami TRUE dla każdego rekordu, należy zastosować kwerendę

A. UPDATE nowy FROM artykuly VALUE TRUE;
B. UPDATE artykuly SET nowy = TRUE;
C. INSERT INTO nowy FROM artykuly SET TRUE;
D. INSERT INTO artykuly VALUE nowy = TRUE;
Poprawna kwerenda UPDATE artykuly SET nowy = TRUE; jest klasycznym przykładem instrukcji aktualizacji danych w SQL. Słowo kluczowe UPDATE wskazuje, że modyfikujemy istniejące rekordy, a nie dodajemy nowe. Nazwa tabeli artykuly określa, w której tabeli wykonujemy operację. Następnie część SET nowy = TRUE ustawia dla kolumny nowy wartość logiczną TRUE we wszystkich wierszach, ponieważ w zapytaniu nie ma klauzuli WHERE. I to jest tu kluczowe: brak WHERE oznacza, że aktualizacja dotknie każdego rekordu w tabeli. Moim zdaniem warto zapamiętać schemat: UPDATE nazwa_tabeli SET kolumna = wartość WHERE warunek;. W praktyce bardzo często dodaje się WHERE, np.: UPDATE artykuly SET nowy = TRUE WHERE data_dodania >= '2026-01-01'; – wtedy oznaczamy jako nowe tylko artykuły dodane od konkretnej daty. W zadaniu jednak wyraźnie jest mowa o każdym rekordzie, więc brak WHERE jest jak najbardziej zgodny z treścią. W większości systemów bazodanowych (MySQL, PostgreSQL, SQL Server, MariaDB) ta składnia jest standardowa i zalecana. Dobra praktyka jest taka, żeby przed odpaleniem UPDATE bez WHERE najpierw zrobić SELECT * FROM artykuly; albo SELECT COUNT(*) FROM artykuly;, żeby mieć świadomość, ile rekordów zmienimy. W projektach produkcyjnych często dodaje się też transakcje, np. w PostgreSQL: BEGIN; UPDATE artykuly SET nowy = TRUE; COMMIT; dzięki temu w razie pomyłki można zrobić ROLLBACK. Warto też wiedzieć, że kolumna typu logicznego może przyjmować wartości TRUE, FALSE, czasem 1/0 (np. w MySQL), ale forma z TRUE/FALSE jest czytelniejsza i bardziej zgodna z semantyką. W wielu aplikacjach webowych pole w stylu nowy służy np. do filtrowania artykułów w panelu administracyjnym albo na stronie głównej: SELECT * FROM artykuly WHERE nowy = TRUE;. To dokładnie ten sam atrybut, który przed chwilą masowo ustawiliśmy poleceniem UPDATE.

Pytanie 23

Jakim poleceniem można uzyskać konfigurację serwera PHP, w tym dane takie jak: wersja PHP, system operacyjny serwera oraz wartości przedefiniowanych zmiennych?

A. phpinfo();
B. phpcredits();
C. echo phpversion();
D. print_r(ini_get_all());
Funkcja phpinfo() jest standardowym narzędziem w PHP, które dostarcza szczegółowych informacji o konfiguracji serwera oraz wersji PHP, która jest aktualnie używana. Wywołanie tej funkcji generuje stronę HTML z informacjami o ustawieniach PHP, w tym o zainstalowanych rozszerzeniach, włączonych opcjach oraz wartości przedefiniowanych zmiennych. Dodatkowo, phpinfo() prezentuje szczegóły dotyczące środowiska serwera, takie jak system operacyjny, serwer WWW oraz zmienne środowiskowe. Praktycznie, jest to niezwykle przydatne narzędzie dla programistów oraz administratorów serwerów, które umożliwia szybkie zdiagnozowanie problemów z konfiguracją czy identyfikację, które rozszerzenia PHP są dostępne. W kontekście bezpieczeństwa najlepiej jest używać tej funkcji tylko w środowisku developerskim lub lokalnym, aby uniknąć wycieku szczegółowych informacji o serwerze na produkcji. Zgodnie z najlepszymi praktykami, po zakończeniu diagnostyki, powinno się dezaktywować dostęp do tego typu informacji.

Pytanie 24

Znak pisarski @ jest czytany w języku angielskim jako

A. monkey.
B. on.
C. ape.
D. at.
Poprawna odpowiedź to „at”, bo właśnie tak w języku angielskim czyta się znak @. Ten znak nazywa się w terminologii technicznej „at sign” albo „commercial at”. W praktyce najczęściej spotykasz go w adresach e‑mail, np. w zapisie [email protected] czytamy to jako „user at example dot com”. W dokumentacji technicznej, w standardach internetowych (RFC dotyczących e‑maili, jak RFC 5322) i w różnych tutorialach programistycznych zawsze przyjmuje się właśnie taką wymowę i nazwę. W kontekście tworzenia stron WWW i programowania webowego dobrze jest kojarzyć zarówno nazwę znaku, jak i jego typowe zastosowanie. W HTML sam znak @ nie ma specjalnego znaczenia składniowego, ale pojawia się w treści, np. w linkach mailto: <a href="mailto:[email protected]">. W CSS czasem widzisz tzw. at‑rules, np. @media, @import, @font-face – tu też w dokumentacji wprost jest mowa o „at‑rule”. W różnych językach programowania webowego symbol @ ma różne role: w PHP oznacza operator wyciszający błędy (co zresztą jest uznawane za złą praktykę), w wielu frameworkach jest używany w szablonach (np. Blade w Laravelu: @if, @foreach), w adnotacjach czy dekoratorach w innych technologiach. Moim zdaniem warto po prostu przyzwyczaić się do angielskiej nazwy „at”, bo w pracy z dokumentacją, Stack Overflow, oficjalnymi specyfikacjami czy logami systemowymi praktycznie nikt nie używa żadnych lokalnych, zabawnych nazw. To drobny szczegół, ale w branży IT takie detale językowe bardzo ułatwiają komunikację w zespole i z klientem.

Pytanie 25

W grze komputerowej można przejść do kolejnego poziomu, gdy spełnione są trzy warunki: zdobycie 20 punktów, zebranie co najmniej 3 paczek oraz przebycie dystansu 200 m. Wyrażenie logiczne, które weryfikuje te warunki w języku JavaScript, to

A. punkty == 20 || paczki == 3 || dystans == 200
B. punkty == 20 && paczki == 3 && dystans == 200
C. punkty == 20 && paczki >= 3 && dystans == 200
D. punkty == 20 || paczki >= 3 || dystans == 200
Wybrana odpowiedź 'punkty == 20 && paczki >= 3 && dystans == 200' jest prawidłowa, ponieważ wykorzystuje operator logiczny AND ('&&'), co oznacza, że wszystkie trzy warunki muszą być spełnione jednocześnie, aby przejść do następnego poziomu w grze. W kontekście programowania, a zwłaszcza w JavaScript, zrozumienie operatorów logicznych jest kluczowe dla podejmowania decyzji w oparciu o różne warunki. Na przykład, jeśli gracz zdobył dokładnie 20 punktów, zebrał 3 paczki i przebył 200 metrów, to wszystkie te warunki są spełnione, co pozwala na kontynuację gry. Dobrą praktyką jest stosowanie operatora >= (większe lub równe) dla paczek, ponieważ pozwala to graczowi na zbieranie większej liczby paczek, co dodaje elementy strategii i rozwoju w grze. Używanie odpowiednich operatorów logicznych jest fundamentalne w programowaniu, zapewniając, że aplikacje działają zgodnie z oczekiwaniami użytkowników. Przykład zastosowania to wprowadzenie logiki do gier, gdzie gracz musi wykonać określone zadania, aby przejść do kolejnych poziomów, co jest podstawą mechaniki wielu gier komputerowych.

Pytanie 26

Jakie typy danych w języku C++ służą do reprezentacji liczb zmiennoprzecinkowych?

A. double, short
B. float, long
C. double, bool
D. float, double
Odpowiedź 'float, double' jest poprawna, ponieważ w języku C++ to właśnie te dwa typy danych są używane do reprezentacji liczb rzeczywistych. Typ 'float' (zmienna pojedynczej precyzji) przechowuje liczby rzeczywiste w formacie zmiennoprzecinkowym, co oznacza, że może reprezentować liczby z częściami dziesiętnymi, ale z ograniczoną precyzją – zazwyczaj do 7 miejsc znaczących. Z kolei typ 'double' (zmienna podwójnej precyzji) oferuje znacznie większą precyzję, umożliwiając reprezentację do 15 miejsc znaczących. Stosowanie tych typów jest kluczowe w kontekście obliczeń naukowych, inżynieryjnych oraz wszędzie tam, gdzie precyzyjne operacje na liczbach rzeczywistych są niezbędne, na przykład w obliczeniach dotyczących grafiki komputerowej czy symulacji fizycznych. C++ przestrzega standardów IEEE 754 dla reprezentacji liczb zmiennoprzecinkowych, co sprawia, że te typy danych są zgodne z innymi językami programowania i technologiami. Dlatego wybór 'float' i 'double' jest zgodny z najlepszymi praktykami programistycznymi, które priorytetowo traktują zarówno wydajność, jak i dokładność obliczeń.

Pytanie 27

Aby za pomocą CSS zdefiniować przedstawione na rysunku opływanie obrazu tekstem należy w stylu obrazu wprowadzić zapis

Ilustracja do pytania
A. clear: both;
B. float: left;
C. float: right;
D. table: left;
Twoja odpowiedź nie jest prawidłowa. Wszystkie podane błędne odpowiedzi są niepoprawne, ponieważ nie tworzą żądanego efektu opływania obrazu przez tekst. 'clear: both;' jest własnością CSS, która służy do zapobiegania opływaniu, a nie jego tworzeniu. Jest używana, gdy nie chcemy, aby dany element był opływany przez inne. 'table: left;' nie jest istniejącą własnością CSS, i nie ma związanego z nią konkretnego efektu. Właściwość 'float: left;' powoduje, że obraz zostaje przesunięty na lewą stronę strony, co powoduje, że tekst opływa go od prawej strony, a nie od lewej, jak to jest wymagane w pytaniu. Pamiętaj, aby zawsze dobrze zrozumieć, jakie efekty daje użycie konkretnych właściwości CSS, zanim zastosujesz je w praktyce.

Pytanie 28

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

A. asort()
B. ksort()
C. sort()
D. rsort()
Funkcja ksort() w PHP sortuje tablice asocjacyjne według ich kluczy, co oznacza, że klucze będą posortowane w naturalnej kolejności, a wartości pozostaną przypisane do swoich oryginalnych kluczy. Przykładowo, jeśli masz tablicę, powiedzmy $arr = array('b' => 2, 'a' => 1, 'c' => 3); to po użyciu ksort($arr), dostaniesz $arr = array('a' => 1, 'b' => 2, 'c' => 3). To naprawdę przydatna funkcja, bo dzięki niej można łatwo zorganizować i uporządkować dane. Kiedy korzystasz z ksort(), poprawiasz przejrzystość tablicy, a to na pewno zwiększa efektywność w pracy z danymi. No i warto dodać, że ksort() jest standardową funkcją w dokumentacji PHP, więc jest dość stabilna i popularna wśród programistów.

Pytanie 29

Tabela filmy dysponuje kluczem głównym id oraz kluczem obcym rezyserlD. Tabela rezyserzy posiada klucz główny id. Obie tabele są połączone relacją jeden do wielu, gdzie rezyserzy są po stronie jeden, a filmy po stronie wiele. Jak należy zapisać kwerendę SELECT, aby połączyć tabele filmy i rezyserzy?

A. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.id ...
B. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.filmylD ...
C. ... filmy JOIN rezyserzy ON filmy.rezyserlD = rezyserzy.filmylD ...
D. ... filmy JOIN rezyserzy ON filmy.rezyserlD = rezyserzy.id ...
Wybór błędnych opcji opiera się na nieprawidłowym zrozumieniu relacji między tabelami oraz zasad normalizacji danych. W pierwszej z niepoprawnych odpowiedzi użycie 'filmy.rezyserlD = rezyserzy.filmylD' błędnie zakłada, że 'filmylD' jest kluczem w tabeli 'rezyserzy', podczas gdy w rzeczywistości jest to klucz obcy w tabeli 'filmy'. Może to prowadzić do nieporozumień podczas analizy danych. W drugiej odpowiedzi, porównanie 'filmy.id = rezyserzy.filmylD' wprowadza dodatkowy błąd, ponieważ klucz 'id' w tabeli 'filmy' jest niezwiązany z 'filmylD', co skutkuje odwołaniem do niewłaściwych danych. Z kolei trzecia odpowiedź, w której porównuje się 'filmy.id = rezyserzy.id', całkowicie ignoruje relację między tymi tabelami, co prowadzi do niepoprawnych wyników, jako że oba 'id' są kluczami głównymi w swoich tabelach i nie powinny być ze sobą porównywane. Typowe błędy myślowe w tym przypadku wynikają z nieprawidłowego rozumienia działania kluczy obcych oraz sposobu, w jaki tabele są ze sobą powiązane. Kluczowe jest, aby przy projektowaniu bazy danych zrozumieć, jak relacje między tabelami wpływają na struktury zapytań. Aby skutecznie pracować z bazami danych, ważne jest, aby przestrzegać zasad normalizacji oraz stosować odpowiednie klucze w relacjach, co zapewnia integralność danych i poprawność wyników zapytań.

Pytanie 30

Jaką wiadomość należy umieścić w przedstawionym fragmencie kodu PHP zamiast znaków zapytania? $a=mysql_connect('localhost','adam','mojeHasło'); if(!$a) echo "?????????????????????????";

A. Błąd połączenia z serwerem SQL
B. Błąd w przetwarzaniu zapytania SQL
C. Wybrana baza danych nie istnieje
D. Rekord został pomyślnie dodany do bazy
W sytuacji, gdy nie udaje się nawiązać połączenia z serwerem baz danych MySQL, komunikat błędu powinien jasno wskazywać na problem związany z połączeniem. W kodzie PHP, używając funkcji mysql_connect(), jeśli połączenie się nie powiedzie, zwracany jest błąd, który powinien być odpowiednio obsłużony. W tym przypadku odpowiednia treść komunikatu powinna brzmieć 'Błąd połączenia z serwerem SQL'. Ważne jest, aby programiści dbali o poprawne komunikaty błędów, ponieważ ułatwiają one diagnozowanie problemów. Dobrą praktyką jest także stosowanie obsługi wyjątków, co zwiększa stabilność aplikacji. Przykład: zamiast używać mysql_connect(), zaleca się korzystanie z mysqli lub PDO, które oferują bardziej zaawansowane opcje zarządzania błędami oraz obsługę wyjątków. W przypadku użycia mysqli, mógłbyś to zrobić w następujący sposób: $mysqli = new mysqli('localhost', 'adam', 'mojeHasło'); if ($mysqli->connect_error) { echo 'Błąd połączenia z serwerem SQL: ' . $mysqli->connect_error; } Poprawne raportowanie błędów jest kluczowym elementem programowania, ponieważ pozwala na szybką identyfikację i naprawę potencjalnych problemów.

Pytanie 31

W CSS zdefiniowano styl dla pola edycji. Taki obszar będzie miał jasnozielone tło

input:focus { background-color: LightGreen; }
A. po kliknięciu myszą w celu wprowadzenia tekstu
B. w każdej sytuacji
C. jeśli jest to pierwsze wystąpienie tego elementu w dokumencie
D. gdy zostanie na niego najechane kursorem myszy bez kliknięcia
W języku CSS pseudoklasa :focus jest używana do definiowania stylów dla elementów, które są w stanie aktywnego fokusu. W przypadku elementów formularza, takich jak pola tekstowe input, fokus uzyskuje się poprzez kliknięcie myszą lub użycie klawisza tab, co pozwala na wprowadzenie tekstu. Pseudoklasa :focus umożliwia stylizację elementu tylko wtedy, gdy jest aktywny, co jest kluczowe dla poprawy użyteczności interfejsu użytkownika. W przykładzie podanym w pytaniu, gdy pole edycyjne input uzyska fokus, jego tło zmieni się na jasnozielone dzięki właściwości background-color ustawionej na LightGreen. Takie zastosowanie stylów CSS jest powszechne w projektowaniu formularzy, gdzie wizualne wskazanie aktywnego elementu jest istotne dla użytkownika. Dobre praktyki projektowania interfejsów kładą nacisk na czytelność i intuicyjność, co zwiększa dostępność i wygodę użytkowania aplikacji webowych. Stylowanie z wykorzystaniem pseudoklasy :focus pozwala projektantom i deweloperom tworzyć interfejsy, które są nie tylko estetyczne, ale także funkcjonalne, wspierając użytkowników w efektywnym korzystaniu z aplikacji.

Pytanie 32

Jakie polecenie wykonane w systemowej konsoli umożliwi przywrócenie bazy danych?

A. mysqldump -u root -p baza < kopia.sql
B. mysql -u root -p baza > kopia.sql
C. mysql -u root -p baza < kopia.sql
D. mysqldump -u root -p baza > kopia.sql
Wszystkie inne odpowiedzi są niepoprawne, ponieważ z użyciem niewłaściwych poleceń z systemu MySQL. Pierwsze z tych poleceń, zamiast przywracać bazę danych, tworzy jej kopię zapasową, co nie odpowiada na zadane pytanie. Użycie 'mysqldump' z parametrami '-u root -p baza > kopia.sql' jest sposobem na eksport danych z bazy do pliku SQL, a nie na ich import. Kolejne polecenie sugeruje zastosowanie 'mysqldump' w kontekście przywracania, co jest również błędne, ponieważ 'mysqldump' jest narzędziem służącym do zrzutów, a nie importu. Z kolei ostatnie polecenie 'mysql -u root -p baza > kopia.sql' ponownie nie wykonuje przywracania, lecz zapisuje dane z bazy danych do pliku, co jest odwrotnością oczekiwanej operacji. W praktyce, błędne zastosowanie tych poleceń może prowadzić do poważnych konsekwencji, takich jak utrata danych czy niewłaściwe zarządzanie bazą danych. Dlatego kluczowe jest zrozumienie roli każdego z narzędzi dostępnych w MySQL oraz ich poprawne zastosowanie w różnych scenariuszach administracyjnych.

Pytanie 33

W PHP utworzenie oraz przypisanie tablicy asocjacyjnej do zmiennej odbywa się poprzez zapis

A. $tab = array (1, 2, 3, 4);
B. $tab = array (); $tab[] = array (1, 2, 3, 4);
C. $tab = array (array (1, 2), array (3, 4));
D. $tab = array ("a" => 1, "b" => 2, "c" => 3);
W niektórych odpowiedziach widzę różne typy tablic w PHP, ale to nie są tablice asocjacyjne. Na przykład zapis $tab = array (1, 2, 3, 4); tworzy tablicę z wartościami numerycznymi, gdzie te wartości mają domyślne indeksy, więc dostęp odbywa się przez numery. To nie pasuje do tego, co znamy jako tablice asocjacyjne, bo potrzebujemy kluczy będących ciągami znaków. Inny przypadek, $tab = array (array (1, 2), array (3, 4)); to tablica wielowymiarowa, gdzie każdy element też jest tablicą. Jest to w porządku w PHP, ale nie ma tu mowy o kluczach asocjacyjnych, więc niestety nie pasuje do kontekstu pytania. A zapis $tab = array (); $tab[] = array (1, 2, 3, 4); dodaje tablicę numeryczną jako element, co znów nie spełnia definicji tablicy asocjacyjnej, bo brakuje kluczy. Wszystkie te struktury mają swoje miejsce w PHP, ale żadna z nich nie jest tablicą asocjacyjną i nie pozwala na przypisanie wartości do konkretnych kluczy, co jest kluczowe w tym pytaniu.

Pytanie 34

W języku JavaScript, aby uzyskać podciąg tekstu pomiędzy wskazanymi indeksami, należy skorzystać z metody

A. replace()
B. trim()
C. concat()
D. slice()
Wybór innych metod do manipulacji napisami może wynikać z nieporozumienia dotyczącego ich funkcji. Metoda trim() służy do usuwania białych znaków z początku i końca napisu, co jest przydatne w kontekście walidacji danych wejściowych, ale nie pozwala na wydzielanie fragmentów napisu. Z kolei concat() jest zarezerwowana do łączenia dwóch lub więcej napisów w jeden, co również nie ma związku z wydzielaniem fragmentów. Użytkownicy często mylą concat() z slice(), błędnie sądząc, że obie metody operują na podobnych zasadach, gdyż obydwie dotyczą manipulacji napisami, jednak ich funkcjonalność jest całkowicie różna. Metoda replace() pozwala na zamianę określonych fragmentów tekstu na inne, co jest przydatne w kontekście przetwarzania danych, jednak również nie odpowiada na pytanie o wydzielanie segmentów. Typowe błędy w myśleniu na ten temat mogą wynikać z niepełnego zrozumienia celów tych metod oraz ich zastosowania w praktyce. Aby uniknąć takich nieporozumień, warto zwrócić uwagę na dokumentację JavaScript oraz praktykować ich zastosowanie w różnych scenariuszach, co z pewnością pomoże w zrozumieniu różnicy między tymi metodami.

Pytanie 35

idnazwiskoimiedata_urubezpieczony
✏️ Edytuj📋 Kopiuj⛔ Usuń1KowalskiJan2005-12-181
✏️ Edytuj📋 Kopiuj⛔ Usuń2NowakAdam2005-10-101
✏️ Edytuj📋 Kopiuj⛔ Usuń3WisniewskiAntoni2005-06-140
✏️ Edytuj📋 Kopiuj⛔ Usuń4LipskaAnna2006-04-121
✏️ Edytuj📋 Kopiuj⛔ Usuń5TomaszewskiPawel2006-07-110
✏️ Edytuj📋 Kopiuj⛔ Usuń6KostarzJulia2006-03-201
✏️ Edytuj📋 Kopiuj⛔ Usuń7BorewiczPatryk2007-06-211
✏️ Edytuj📋 Kopiuj⛔ Usuń8KoperskiBartlomiej2001-09-100
Które zapytanie w języku MySQL usunie z tabeli uczniowie uczniów urodzonych w czerwcu?
A. DROP FROM `uczniowie` WHERE data_ur LIKE "06"
B. DELETE FROM `uczniowie` WHERE data_ur LIKE "?-06-?"
C. DROP FROM `uczniowie` WHERE data_ur == #-06-#
D. DELETE FROM `uczniowie` WHERE data_ur LIKE "%-06-%"
Poprawnie wskazane zapytanie korzysta z instrukcji DELETE oraz operatora LIKE z odpowiednim wzorcem: "%-06-%". W kolumnie data_ur mamy daty zapisane w standardowym formacie ISO: RRRR-MM-DD, np. 2005-06-14. W takim formacie miesiąc zawsze znajduje się na pozycjach 6–7 i jest zapisany jako dwucyfrowa liczba z wiodącym zerem. Wzorzec "%-06-%" oznacza: dowolny ciąg znaków przed, dokładnie „-06-” w środku, oraz dowolny ciąg znaków po. Dzięki temu trafiamy w wszystkie daty, gdzie miesiąc to 06, czyli czerwiec, niezależnie od roku i dnia. To jest bardzo praktyczne podejście, gdy przechowujemy datę w typie DATE i chcemy filtrować po miesiącu bez dodatkowych funkcji. W MySQL operator LIKE działa na wartościach tekstowych, ale typ DATE jest w takim kontekście automatycznie konwertowany do postaci tekstowej w formacie 'YYYY-MM-DD', więc wzorzec z myślnikami jest jak najbardziej poprawny. W realnych projektach częściej stosuje się funkcje DATE_FORMAT albo MONTH(data_ur) = 6, bo to jest czytelniejsze i mniej podatne na pomyłki w zapisie wzorca. Jednak w tym zadaniu celem jest zrozumienie, jak działa LIKE, wildcard „%” oraz jak wygląda rzeczywisty format przechowywania daty. Dobrą praktyką jest też zawsze używanie pojedynczych cudzysłowów w SQL (np. '%-06-%'), choć MySQL akceptuje też podwójne w pewnych konfiguracjach. Moim zdaniem warto zapamiętać ten sposób myślenia: patrzysz na rzeczywisty zapis danych w kolumnie i dopasowujesz wzorzec tak, żeby trafić dokładnie ten fragment, który Cię interesuje (tu: '-06-').

Pytanie 36

Zestawienie dwóch kolorów znajdujących się naprzeciwko siebie w kole kolorów jest zestawieniem

A. trójkątnym
B. dopełniającym
C. sąsiadującym
D. monochromatycznym
Wybór odpowiedzi trójkątnym odnosi się do koncepcji, w której kolory są rozmieszczone w formie trójkąta na kole barw. Takie połączenie nie tworzy jednak charakterystycznej relacji, jaką posiadają kolory dopełniające. W praktyce, kolory trójkątne służą do tworzenia bardziej złożonych palet, gdzie każdy kolor współdziała z pozostałymi, ale nie generują one tak silnego kontrastu jak dopełniające. Odpowiedź sąsiadującym sugeruje, że barwy są blisko siebie w kole barw, co prowadzi do harmonijnego, ale jednolitego efektu, a nie do wyraźnych kontrastów. Barwy sąsiadujące można stosować do uzyskania delikatniejszych przejść kolorystycznych, co jest przydatne w projektach, które wymagają subtelności. Z kolei monochromatycznym odnosi się do jednego koloru i jego odcieni, co pozwala na stworzenie spójnej, ale mało zróżnicowanej palety kolorystycznej. Użycie monochromatycznych kolorów może być przydatne do zbudowania jednolitego stylu, lecz nie oferuje ono intensywności wizualnej, którą uzyskuje się dzięki kolorom dopełniającym. Generalnie, błędne podejścia do kolorów mogą prowadzić do ograniczenia kreatywności i nieefektywnego wykorzystania kolorystyki w projektach artystycznych czy graficznych. Zrozumienie różnic między tymi połączeniami jest kluczowe dla efektywnego wykorzystania teorii kolorów w praktycznych zastosowaniach.

Pytanie 37

W języku PHPnie ma możliwości

A. przetwarzanie danych z formularzy
B. zmienianie dynamiczne treści strony HTML w przeglądarce
C. tworzenie dynamicznej zawartości strony internetowej
D. obróbka informacji przechowywanych w bazie danych
Odpowiedź dotycząca zmieniania dynamicznej zawartości strony HTML w przeglądarce jest poprawna, ponieważ PHP jest językiem skryptowym działającym po stronie serwera. Oznacza to, że PHP nie jest w stanie bezpośrednio modyfikować zawartości strony HTML po jej załadowaniu w przeglądarce użytkownika. Zamiast tego, PHP generuje HTML, który następnie jest przesyłany do przeglądarki. Dynamiczna zawartość strony może być generowana na podstawie danych z bazy danych lub formularzy, ale wszelkie zmiany w HTML po stronie klienta wymagają użycia języków, które działają po stronie przeglądarki, takich jak JavaScript. Przykładem może być sytuacja, w której użytkownik wypełnia formularz, a dane są przetwarzane przez PHP, które zwraca zaktualizowaną stronę. W przypadku potrzeby dynamicznych zmian, JavaScript może być użyty do manipulacji DOM po załadowaniu strony. Warto również zauważyć, że zgodnie z dobrymi praktykami, powinno się oddzielać logikę serwerową (PHP) od logiki klienckiej (JavaScript), co przyczynia się do lepszej struktury kodu i ułatwia jego utrzymanie.

Pytanie 38

Aby zidentyfikować błędy w składni kodu HTML, trzeba użyć

A. walidatora
B. kompilatora
C. debuggera
D. interpretera
Debugger, interpreter i kompilator to narzędzia, które pełnią różne funkcje w procesie programowania, ale nie są bezpośrednio związane z walidacją kodu HTML. Debugger to narzędzie służące do wykrywania i naprawiania błędów w kodzie podczas jego wykonywania. Chociaż może być użyteczny w przypadku aplikacji webowych, nie zajmuje się on analizą poprawności składni HTML, a bardziej skupia się na logice i działaniu skryptów. Interpreter, z kolei, jest odpowiedzialny za bezpośrednie wykonanie kodu, tłumacząc go na instrukcje, które są rozumiane przez komputer. Działa głównie w kontekście języków skryptowych, takich jak JavaScript, ale nie analizuje kodu HTML w kontekście jego poprawności. Kompilator to narzędzie, które przekształca kod źródłowy napisany w jednym języku programowania na inny, często kod maszynowy. Pomimo że wszystkie te narzędzia są ważne w procesie tworzenia oprogramowania, nie spełniają one funkcji walidatora, który jest kluczowy w zapewnieniu poprawności kodu HTML w zgodności ze standardami.

Pytanie 39

W tabeli psy znajdują się kolumny: imię, rasa, telefon_właściciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby znaleźć numery telefonów właścicieli psów, które zostały zaszczepione przed 2015 rokiem?

A. SELECT imię, rasa FROM psy WHERE rok_szczepienia > 2015
B. SELECT telefon_właściciela FROM psy WHERE rok_szczepienia > 2015
C. SELECT psy FROM rok_szczepienia < 2015
D. SELECT telefon_właściciela FROM psy WHERE rok_szczepienia < 2015
Wybrana odpowiedź jest poprawna, ponieważ precyzyjnie określa, jak za pomocą języka SQL można uzyskać telefony właścicieli psów, których szczepienia miały miejsce przed rokiem 2015. W poleceniu SQL używamy klauzuli SELECT, aby wybrać konkretne kolumny z tabeli. W tym przypadku interesuje nas kolumna 'telefon_wlasciciela'. Klauzula WHERE służy do filtrowania danych, co pozwala na zastosowanie warunku, który musi być spełniony, aby rekordy zostały zwrócone. Warunek 'rok_szczepienia < 2015' jest logiczny i zgodny z wymaganiami pytania. Taka konstrukcja zapytania jest zgodna z najlepszymi praktykami, ponieważ jasno określa, co chcemy uzyskać oraz jakie kryteria muszą zostać spełnione. Przykładowe zastosowanie tego typu zapytania może obejmować analizę danych dotyczących zdrowia psów, co jest istotne dla weterynarzy, hodowców czy właścicieli zwierząt. Umożliwia to podejmowanie świadomych decyzji dotyczących opieki zdrowotnej zwierząt.

Pytanie 40

W systemie zarządzania bazą danych MySQL, aby uzyskać listę wszystkich przywilejów przyznanych użytkownikowi anna, można użyć polecenia

A. SELECT GRANTS FOR anna;
B. GRANT * TO anna;
C. SHOW GRANTS FOR anna;
D. REVOKE GRANTS FROM anna;
Odpowiedź 'SHOW GRANTS FOR anna;' jest trafna. To polecenie w MySQL to coś jak standard do wyświetlania przydzielonych uprawnień dla konkretnego użytkownika. Dzięki temu administrator bazy danych może szybko zobaczyć, co użytkownik o imieniu 'anna' może zrobić. Na przykład, jeśli chcemy wiedzieć, jakie operacje są dozwolone dla tego użytkownika, to właśnie to polecenie będzie na to najlepsze. Przydaje się to zwłaszcza przy audytach czy rozwiązywaniu problemów z dostępem. Warto też dodać, że w MySQL można przypisywać różnorodne uprawnienia, na przykład SELECT, INSERT, UPDATE, czy DELETE, a także konkretnym bazom danych czy tabelom. Regularne sprawdzanie uprawnień to dobra praktyka, bo pomaga utrzymać bezpieczeństwo danych i zminimalizować ryzyko nieautoryzowanego dostępu. Znajomość polecenia 'SHOW GRANTS' jest naprawdę ważna, zwłaszcza w większych systemach, gdzie kontrola dostępu odgrywa istotną rolę.