Wyniki egzaminu

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

Egzamin zdany!

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

Jakiego typu mechanizm zabezpieczeń aplikacji jest zawarty w środowisku uruchomieniowym platformy .NET Framework?

A. Mechanizm uruchamiania aplikacji realizowany przez funkcję Windows API (Application Programming Interface)
B. Mechanizm uruchamiania aplikacji zrealizowany przez frameworki aplikacji webowych (ASP.NET)
C. Mechanizm uruchamiania aplikacji oparty na uprawnieniach kodu (CAS - Code Access Security) i na rolach (RBS - Role-Based Security)
D. Mechanizm uruchamiania aplikacji dla bibliotek klas
Odpowiedzi sugerujące, że mechanizmy bezpieczeństwa w .NET Framework są realizowane przez bibliotekę klas, frameworki aplikacji internetowych (ASP.NET) oraz przez funkcje Windows API, są niepoprawne. Mechanizm wykonywania aplikacji dla bibliotek klas nie jest samodzielnym systemem kontroli bezpieczeństwa; oferują one zestaw funkcji i klas, które mogą być używane do rozwoju, ale nie zawierają w sobie wbudowanych zabezpieczeń. Również frameworki aplikacji internetowych, takie jak ASP.NET, wykorzystują różne techniki i standardy do zapewnienia bezpieczeństwa, ale same w sobie nie stanowią całościowego mechanizmu kontroli dostępu. Funkcje Windows API (Application Programming Interface) dostarczają niskopoziomowe interfejsy do interakcji z systemem operacyjnym, jednak ich rola w kontekście bezpieczeństwa aplikacji .NET jest ograniczona i nie odpowiada za zarządzanie uprawnieniami kodu. W rzeczywistości CAS i RBS są odpowiedzialne za zarządzanie dostępem do zasobów w .NET Framework, co czyni te mechanizmy kluczowymi dla zapewnienia bezpieczeństwa, podczas gdy pozostałe wymienione mechanizmy są bardziej złożonymi elementami większej architektury aplikacji i same w sobie nie oferują pełnej funkcjonalności ochrony przed nieautoryzowanym dostępem.

Pytanie 2

Która z definicji funkcji w języku C++ przyjmuje parametr typu zmiennoprzecinkowego i zwraca wartość typu całkowitego?

A. int fun1(float a)
B. void fun1(int a)
C. float fun1(void a)
D. float fun1(int a)
Każda z błędnych odpowiedzi ilustruje typowe nieporozumienia związane z deklaracją funkcji w języku C++. Odpowiedź 'void fun1(int a);' nie spełnia wymogów, ponieważ zwraca typ 'void', co oznacza, że funkcja nie zwraca żadnej wartości. To podejście jest właściwe, gdy chcemy wykonać operacje, które nie wymagają zwracania wyniku, ale nie odpowiada na pytanie dotyczące zwracania wartości całkowitej. W przypadku 'float fun1(int a);', chociaż funkcja poprawnie przyjmuje argument całkowity, zwraca typ 'float', co jest sprzeczne z wymaganiem zwrotu wartości całkowitej. Kolejna odpowiedź 'float fun1(void a);' zawiera syntaktyczny błąd, ponieważ typ 'void' nie może być użyty jako typ parametru, co prowadzi do błędów kompilacji. W języku C++ każdy parametr musi mieć określony typ, a użycie 'void' jako typu parametru jest niepoprawne. Te nieprawidłowe odpowiedzi wskazują na brak zrozumienia podstawowych zasad typowania w C++, co jest kluczowe w kontekście projektowania funkcji. Istotne jest, aby przy tworzeniu funkcji dobrze zrozumieć, jakie typy danych są akceptowane i jakie wartości są oczekiwane jako wynik, aby uniknąć błędów w logice programu oraz poprawić jego wydajność i czytelność.

Pytanie 3

Co umożliwiają w JavaScript metody i właściwości DOM?

A. operacje na zmiennych liczbowych
B. pobieranie i modyfikowanie elementów strony w przeglądarce
C. manipulowanie łańcuchami zadeklarowanymi w kodzie
D. przesyłanie danych formularza wprost do bazy danych
DOM (Document Object Model) to drzewiasta reprezentacja strony w przeglądarce. Metody i właściwości DOM pozwalają JavaScriptowi POBIERAĆ i MODYFIKOWAĆ elementy strony - zmieniać treść, atrybuty, style czy dodawać i usuwać węzły. Dlatego DOM umożliwia pobieranie i modyfikowanie elementów strony.

Pytanie 4

Tabele Klienci oraz Zgłoszenia są ze sobą połączone relacją jeden do wielu. W celu uzyskania jedynie opisu zgłoszenia oraz odpowiadającego mu nazwiska klienta dla zgłoszenia o numerze 5, należy wykonać polecenie

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5
B. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Klienci.id = 5
C. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.id WHERE Zgłoszenia.id = 5
D. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci WHERE Klienci.id = 5
Odpowiedź jest poprawna, ponieważ uwzględnia właściwe połączenie między tabelami Klienci i Zgłoszenia za pomocą klucza obcego Klienci_id w tabeli Zgłoszenia. W relacyjnych bazach danych, gdy chcemy pobrać dane z dwóch tabel powiązanych relacją klucz główny-klucz obcy, używamy klauzuli JOIN. W tym przypadku Klienci_id w tabeli Zgłoszenia odnosi się do kolumny id w tabeli Klienci. Zapytanie SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5; precyzyjnie pobiera kolumny opis i nazwisko z odpowiednich tabel, filtrując wyniki, aby dotyczyły jedynie zgłoszenia o id równym 5. Takie podejście jest zgodne z dobrymi praktykami projektowania relacyjnych baz danych, gdzie separacja danych na tabele pozwala na efektywne zarządzanie związkami między danymi. Korzystając z JOIN, integrujemy te dane w logiczny sposób, co jest fundamentem wydajnych i skalowalnych systemów bazodanowych. Praktyczne zastosowanie tego podejścia można znaleźć w projektowaniu systemów CRM, gdzie dane o klientach i ich zgłoszeniach są regularnie łączone w celu analizy i raportowania.

Pytanie 5

Deklaracja background-attachment: scroll sprawia, że:

A. tło będzie nieruchome, a treść będzie się przewijać
B. grafika tła będzie powtarzana (kafelki)
C. tło będzie przewijane razem z zawartością strony
D. grafika tła pojawi się w prawym górnym rogu
Właściwość background-attachment określa, jak zachowuje się tło podczas przewijania strony. Wartość scroll (domyślna) sprawia, że tło przewija się razem z zawartością elementu - znika z widoku, gdy przewiniemy stronę. Przeciwna wartość fixed „przykleja” tło do okna, więc treść przesuwa się po nieruchomym tle. Dlatego scroll oznacza, że tło przewija się z treścią.

Pytanie 6

Jaką funkcję w języku PHP należy wykorzystać, aby nawiązać połączenie z bazą danych o nazwie zwierzaki?

A. $polacz = mysqli_connect('localhost', 'root','','zwierzaki');
B. $polacz = db_connect('localhost', 'root','','zwierzaki');
C. $polacz = sql_connect('localhost', 'root','','zwierzaki');
D. $polacz = server_connect('localhost', 'root','','zwierzaki');
Odpowiedź $polacz = mysqli_connect('localhost', 'root','','zwierzaki'); jest poprawna, ponieważ funkcja mysqli_connect jest standardowym sposobem nawiązywania połączenia z bazą danych MySQL w języku PHP. Funkcja ta jest częścią rozszerzenia MySQLi, które oferuje bardziej zaawansowane możliwości w porównaniu do oryginalnego rozszerzenia MySQL. Umożliwia obsługę złożonych zapytań i zabezpieczeń, a także wspiera techniki programowania obiektowego. Warto zauważyć, że przy wywołaniu tej funkcji przekazujemy cztery argumenty: adres serwera (w tym przypadku 'localhost'), nazwę użytkownika ('root'), hasło (które jest puste w tym przypadku), oraz nazwę bazy danych ('zwierzaki'). Praktyczne zastosowanie tej funkcji jest kluczowe w kontekście aplikacji webowych, gdzie interakcja z bazą danych jest niezbędna. Na przykład, po nawiązaniu połączenia możemy wykonywać zapytania SQL, pobierać dane, a także dodawać nowe rekordy. Warto również dodać, że przed użyciem tej funkcji, powinniśmy zawsze sprawdzić, czy rozszerzenie MySQLi jest zainstalowane i aktywne, co jest zgodne z dobrymi praktykami programistycznymi.

Pytanie 7

Która instrukcja PHP wysyła tekst do przeglądarki (wyświetla go)?

A.
break
B.
type
C.
echo
D.
exit
Instrukcja echo w PHP wysyła tekst (lub wartość zmiennej) na wyjście, czyli do przeglądarki - np. echo "Witaj";. Dlatego tekst wyświetla echo.

Pytanie 8

Wskaż, jak wygląda komentarz wieloliniowy w języku PHP?

A. <!-- -->
B. //
C. /* */
D. #
Komentarz wieloliniowy w języku PHP jest oznaczany przez symbole '/*' na początku oraz '*/' na końcu. Tego typu komentarze pozwalają na umieszczanie dłuższych opisów lub wyjaśnień w kodzie, co jest szczególnie przydatne w przypadku bardziej złożonych fragmentów. Przykładowo, jeśli mamy funkcję, która wykonuje skomplikowane obliczenia, można użyć komentarza wieloliniowego, aby szczegółowo opisać, co ta funkcja robi oraz jakie są jej wejścia i wyjścia. W dobie pracy zespołowej i dbałości o dokumentację kodu, stosowanie komentarzy do wyjaśnienia celów, metod i ograniczeń kodu jest dobrą praktyką. Dzięki temu, programiści, którzy będą pracować z danym fragmentem kodu w przyszłości, będą mieli pełniejsze zrozumienie jego działania. Używanie komentarzy wieloliniowych w PHP jest zgodne z najlepszymi praktykami programistycznymi, sprzyja utrzymaniu porządku w kodzie oraz ułatwia jego późniejsze modyfikacje.

Pytanie 9

Tabela filmy zawiera klucz główny id oraz klucz obcy rezyserID, natomiast tabela rezyserzy ma klucz główny id. Obydwie tabele są połączone relacją jeden do wielu, gdzie strona rezyserzy odnosi się do strony filmy. Jak należy zapisać kwerendę SELECT, aby połączyć tabele filmy i rezyserzy?

A. ... filmy JOIN rezyserzy ON filmy.rezyserID = rezyserzy.filmyID ...
B. ... filmy JOIN rezyserzy ON filmy.rezyserID = rezyserzy.id ...
C. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.id ...
D. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.filmyID ...
Odpowiedź, która wskazuje na połączenie tabeli filmy z tabelą rezyserzy za pomocą klauzuli JOIN, z warunkiem ON filmy.rezyserID = rezyserzy.id, jest prawidłowa, ponieważ bezpośrednio odzwierciedla relację pomiędzy tymi dwiema tabelami. Klucz obcy rezyserID w tabeli filmy wskazuje na klucz główny id w tabeli rezyserzy. W związku z tym, aby prawidłowo połączyć te tabele w kwerendzie SELECT, musimy użyć tego klucza obcego w warunku połączenia. Przykładowo, w realnych zastosowaniach chcesz uzyskać informacje o filmach oraz ich reżyserach; więc pisząc zapytanie, możesz z łatwością uzyskać dane, takie jak tytuł filmu i imię reżysera, co jest kluczowe w systemach zarządzania bazą danych. Dobre praktyki wskazują, że zawsze należy używać poprawnych kluczy do łączenia tabel, aby uzyskać wiarygodne i dokładne wyniki, co jest fundamentalne w projektowaniu baz danych i tworzeniu zapytań SQL.

Pytanie 10

Tworząc tabelę produkty, dla pola „cena” (kwota z groszami) najlepszy typ danych to:

A.
TINYTEXT
B.
ENUM
C.
INTEGER(11)
D.
DECIMAL(10, 2)
Do przechowywania kwot najlepiej nadaje się typ DECIMAL (stałoprzecinkowy), bo zapisuje liczby z dokładną, ustaloną liczbą miejsc po przecinku - nie powstają błędy zaokrągleń typowe dla FLOAT/DOUBLE. Zapis DECIMAL(10, 2) oznacza do 10 cyfr łącznie, z czego 2 po przecinku, np. 12345678.99 - idealne dla ceny z groszami. Dlatego dla pola „cena” właściwy jest DECIMAL(10, 2).

Pytanie 11

W języku HTML zapisano formularz. Który z efektów działania kodu będzie wyświetlony przez przeglądarkę zakładając, że w pierwsze pole użytkownik przeglądarki wpisał wartość "Przykładowy text"?

Ilustracja do pytania
A. Efekt 2.
B. Efekt 1.
C. Efekt 3.
D. Efekt 4.
Dobra robota! Odpowiedź, którą wybrałeś, to Efekt 2. W formularzu HTML masz różne elementy, które służą do zbierania danych od użytkownika. Tutaj mamy pole tekstowe i dwa checkboxy. Jak wpiszesz 'Przykładowy text' w pole tekstowe i wyślesz formularz, to właśnie to się wyświetli w przeglądarce. Efekt 2 pokazuje, że pole tekstowe ma wpisany tekst i dwa niezaznaczone checkboxy. Dlatego to jest zgodne z tym, co zobaczysz w przeglądarce. A to oznacza, że Efekt 2 jest poprawną odpowiedzią. Właściwie to wszystko jest zgodne z tym, jak HTML działa, czyli jak powinny wyglądać i działać różne elementy formularza.

Pytanie 12

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. sumy.
B. części wspólnej.
C. wykluczenia.
D. grupowania.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno.
Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji.
Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 13

Który zapis CSS wyrówna tekst akapitu do prawej strony?

A.
<p style="position: right">tekst</p>
B.
<p style="font: right">tekst</p>
C.
<p style="align: right">tekst</p>
D.
<p style="text-align: right">tekst</p>
Poziome wyrównanie tekstu w bloku ustawia właściwość text-align. Wartość right dosuwa tekst do prawej krawędzi, np. <p style="text-align: right">tekst</p>. Inne dopuszczalne wartości to left, center i justify (wyjustowanie). Dlatego do wyrównania tekstu do prawej służy text-align: right.

Pytanie 14

Wskaż element, który definiuje pole edycyjne formularza zgodne z ilustracją

Ilustracja do pytania
A. <input type="time" id="minutes" name="hours">
B. <input type="number" id="mm" name="hh" min="0" max="24">
C. <input type="date" id=" minutes" name="hours">
D. <input type="month" id="hh" name="mm">
Prawidłowy wybór to <input type="time" id="minutes" name="hours">, ponieważ dokładnie taki element HTML5 służy do wprowadzania godziny w formacie hh:mm, czyli tak jak na ilustracji. Atrybut type="time" mówi przeglądarce, że pole ma przyjmować tylko wartości czasu, bez daty, miesięcy czy liczb dowolnego typu. Zgodnie ze specyfikacją HTML Living Standard oraz HTML5, przeglądarka powinna wtedy wyświetlić natywne kontrolki do wyboru godziny (np. rozwijane listy, suwak, mały zegarek – zależy od systemu i przeglądarki). Dzięki temu użytkownik ma mniejsze ryzyko pomyłki, a walidacja odbywa się częściowo automatycznie.
Z mojego doświadczenia warto korzystać z type="time" zawsze, gdy formularz dotyczy konkretnych godzin, np. godzina rozpoczęcia pracy, rezerwacja wizyty, planowanie spotkania online. Po stronie serwera (np. w PHP) to pole przychodzi jako tekst w formacie „HH:MM”, co jest łatwe do dalszego przetwarzania, parsowania do obiektu DateTime albo zapisu w bazie danych w typie TIME.
Dobra praktyka jest też taka, żeby nazwy atrybutów id i name były semantyczne. W tym zadaniu nie ma to wpływu na poprawność odpowiedzi, ale w realnym projekcie lepiej byłoby użyć np. id="endTime" i name="end_time". Ułatwia to później pracę z JavaScriptem i po stronie backendu. Warto też pamiętać o dodaniu atrybutów min i max, jeśli chcemy ograniczyć zakres godzin (np. od 08:00 do 20:00), oraz pattern lub dodatkowej walidacji JS, jeśli mamy specyficzne wymagania. Mimo że ilustracja nie pokazuje tych szczegółów, sam mechanizm type="time" jest tu absolutnie kluczowy i zgodny z dobrymi praktykami front-endowymi.

Pytanie 15

Kolumna, która pełni funkcję klucza głównego w tabeli, powinna

A. zawierać wartości liczbowe
B. zawierać unikalne wartości
C. być innego rodzaju niż inne kolumny
D. posiadać ciągłą numerację
Klucz główny w tabeli bazy danych to naprawdę ważny element. To taki unikalny identyfikator, który pozwala na jednoznaczne rozróżnianie rekordów. Dzięki temu unikamy dublowania danych, co jest istotne, żeby wszystko było jasne i klarowne, bo jak byśmy mieli dwa takie same rekordy, to mogłoby być sporo zamieszania. Na przykład w tabeli 'Klienci' klucz główny to np. numery PESEL czy jakieś unikalne identyfikatory klientów. W praktyce stosuje się też różne standardy, jak SQL, które pomagają ustawić te klucze jako ograniczenia. To sprawia, że nasze dane są bezpieczniejsze i bardziej poprawne. No i tak z doświadczenia, najlepiej jest, jak klucz główny jest prosty, może jako liczba całkowita, bo wtedy wszystko działa szybciej. Podsumowując, unikalność klucza głównego to podstawa, żeby mieć pewność, że nasze dane są spójne i wiarygodne. To kluczowe w każdym systemie bazodanowym.

Pytanie 16

Filtracja sygnału wejściowego w czasie, która uwzględnia zasadę superpozycji, dotyczy filtru

A. przyczynowym
B. o skończonej odpowiedzi impulsowej
C. niezmiennym w czasie
D. liniowego
Odpowiedź 'liniowym' jest poprawna, ponieważ proces filtracji sygnału w dziedzinie czasu, który opiera się na zasadzie superpozycji, jest charakterystyczny dla filtrów liniowych. Filtry liniowe działają na zasadzie kombinacji sygnałów wejściowych, co oznacza, że sygnał wyjściowy jest liniową kombinacją sygnałów wejściowych. Przykładem zastosowania filtracji liniowej jest użycie filtrów w systemach audio, gdzie ma na celu poprawę jakości dźwięku poprzez eliminację niepożądanych częstotliwości. W inżynierii sygnałów, filtry liniowe są powszechnie stosowane w systemach komunikacyjnych czy w przetwarzaniu obrazów. Dobre praktyki w tej dziedzinie obejmują projektowanie filtrów w oparciu o różne metody, takie jak metoda okna czy projektowanie filtrów cyfrowych przy użyciu transformacji Z. Filtry liniowe są niezwykle ważne w kontekście analizy sygnałów, ponieważ ich właściwości pozwalają na przewidywalność i kontrolę nad przetwarzanym sygnałem, co jest kluczowe w wielu zastosowaniach inżynieryjnych.

Pytanie 17

Przedstawiono kod tabeli 3×2. Jaką modyfikację należy wprowadzić w drugim wierszu, aby tabela wyglądała jak na obrazie z niewidocznym wierszem?

<table>
  <tr>
    <td style="border: solid 1px;">Komórka 1</td>
    <td style="border: solid 1px;">Komórka 2</td>
  </tr>
  <tr>
    <td style="border: solid 1px;">Komórka 3</td>
    <td style="border: solid 1px;">Komórka 4</td>
  </tr>
  <tr>
    <td style="border: solid 1px;">Komórka 5</td>
    <td style="border: solid 1px;">Komórka 6</td>
  </tr>
</table>
Komórka 1Komórka 2
Komórka 3Komórka 4
Komórka 5Komórka 6
A. <tr style="display: none">
B. <tr style="display: table-cell">
C. <tr style="visibility: hidden">
D. <tr style="clear: none">
Wybrana odpowiedź jest niepoprawna, ale nie martw się, to jest okazja do nauki. Jeśli chcesz ukryć element na stronie, ale zachować jego miejsce w układzie, powinieneś użyć właściwości CSS 'visibility: hidden'. Takie podejście jest zgodne z dobrymi praktykami w tworzeniu stron internetowych. Inne opcje, takie jak 'display: none', 'display: table-cell' i 'clear: none' nie są odpowiednie w tym kontekście. 'display: none' całkowicie usuwa element z układu strony, co powoduje przesunięcie pozostałych elementów, aby zapełnić puste miejsce. 'display: table-cell' jest właściwością, która pozwala elementowi zachowywać się jak komórka tabeli, co nie ma tutaj zastosowania, gdyż chcemy ukryć cały wiersz, a nie pojedynczą komórkę. 'clear: none' jest właściwością używaną do kontroli przepływu elementów w stosunku do elementów z lewej lub prawej strony, ale nie ma wpływu na ukrywanie elementów. Dobra praktyka polega na zrozumieniu i właściwym stosowaniu różnych właściwości CSS, aby uzyskać zamierzony efekt na stronie.

Pytanie 18

Jaki znak (lub znaki) rozpoczyna komentarz jednoliniowy w języku JavaScript?

A.
<!--
B.
<?
C.
#
D.
//
Pozostałe znaki należą do innych języków. <!-- otwiera komentarz w HTML (zamykany -->), więc w skrypcie JavaScript nie zadziała. <? to początek bloku kodu PHP, a nie komentarz. # rozpoczyna komentarz jednoliniowy m.in. w PHP czy Pythonie, lecz w JavaScript nie jest do tego używany. Komentarz jednoliniowy w JS zaczyna się od //, dlatego ta odpowiedź jest poprawna.

Pytanie 19

Jeżeli rozmiar pliku graficznego jest zbyt duży do publikacji w sieci, co należy zrobić?

A. zwiększyć jego głębię kolorów
B. dodać kanał alfa
C. zapisać w formacie BMP
D. zmniejszyć jego rozdzielczość
Zmniejszenie rozdzielczości pliku graficznego jest jedną z najskuteczniejszych metod na zmniejszenie jego rozmiaru, co jest niezwykle ważne w kontekście publikacji w Internecie. Rozdzielczość obrazu odnosi się do liczby pikseli, które składają się na dany obraz, wyrażoną zazwyczaj w pikselach na cal (PPI) lub w całkowitej liczbie pikseli w szerokości i wysokości. Zmniejszając rozdzielczość, obniżamy liczbę pikseli, co w efekcie prowadzi do mniejszego rozmiaru pliku. Na przykład, obraz o rozdzielczości 4000x3000 pikseli ma 12 milionów pikseli, podczas gdy obraz o rozdzielczości 2000x1500 pikseli zaledwie 3 miliony pikseli. Oprócz zmniejszenia rozdzielczości, można również zastosować inne techniki kompresji, takie jak zmiana formatu pliku na JPEG, który jest bardziej efektywny w kompresji zdjęć, a także wykorzystanie narzędzi do optymalizacji grafiki, takich jak TinyPNG czy ImageOptim. Zmniejszając rozdzielczość, należy jednak pamiętać o zachowaniu odpowiedniej jakości obrazu, aby nie wpłynęło to negatywnie na jego czytelność i estetykę, co jest kluczowe w kontekście publikacji online.

Pytanie 20

Który sposób komentowania NIE jest stosowany w kodzie PHP?

A.
# komentarz
B.
// komentarz
C.
<!-- komentarz -->
D.
/* komentarz */
Trzy pozostałe zapisy SĄ poprawnymi komentarzami PHP, więc nie pasują do pytania o sposób NIESTOSOWANY. // i # komentują pojedynczą linię (do końca wiersza), a /* */ obejmuje cały blok, także wieloliniowy. Spoza PHP jest komentarz HTML <!-- -->.

Pytanie 21

O obiekcie przedstawionym w JavaScript można powiedzieć, że posiada

var obiekt1 = {
    x: 0,
    y: 0,
    wsp: function() { [...] }
}
A. dwoma metodami oraz jedną właściwością
B. dwoma właściwościami oraz jedną metodą
C. trzema właściwościami
D. trzema metodami
Analizując strukturę obiektów w języku JavaScript, często spotykamy się z terminami właściwości i metody. Właściwości to elementy obiektu przechowujące dane, natomiast metody to funkcje przypisane jako wartości właściwości, które pozwalają na wykonywanie operacji na obiekcie. Błędne zrozumienie tych pojęć może prowadzić do niepoprawnej interpretacji struktury obiektu. Jeśli zakładamy, że obiekt ma dwie metody i jedną właściwość, oznaczałoby to, że w obiekcie znajdziemy dwie funkcje i jeden element przechowujący dane, co nie odpowiada rzeczywistości przedstawionej na obrazku. Podobnie, stwierdzenie, że obiekt zawiera trzy właściwości, ignoruje obecność funkcji, która pełni rolę metody. Z kolei twierdzenie, że obiekt ma trzy metody, oznaczałoby całkowity brak właściwości przechowujących dane, co jest sprzeczne z danymi stanowymi obiektu. Takie nieporozumienia wynikają często z braku zrozumienia struktury i natury obiektów w języku JavaScript. Dla poprawnego programowania kluczowe jest rozróżnienie tych elementów i poprawne przypisywanie ich ról w obiekcie, co prowadzi do bardziej wydajnego i przejrzystego kodu. Dobre praktyki programistyczne zalecają dokładne analizowanie wymagań i struktury danych przy projektowaniu obiektów, co pozwala na uniknięcie takich błędów w przyszłości i poprawia jakość aplikacji.

Pytanie 22

Jaki rezultat zostanie wyświetlony po wykonaniu przedstawionego kodu HTML?

<ol>
    <li>punkt</li>
    <li>punkt
        <ul>
            <li>punkt</li>
            <li>punkt</li>
        </ul>
    </li>
    <li>punkt</li>
</ol>
<ol type="A" start="4">
    <li>punkt</li>
</ol>

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

4. punkt

A.

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

4. punkt

B.

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

D. punkt

C.

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

D. punkt

D.

A. A.
B. C.
C. B.
D. D.
Niestety, twoja odpowiedź nie była poprawna. Może wynikać to z braku zrozumienia struktury i semantyki kodu HTML, szczególnie w kontekście list uporządkowanych (``) i nieuporządkowanych (``). Kod HTML w pytaniu składa się z dwóch uporządkowanych list, z których pierwsza zawiera trzy elementy. Drugi element pierwszej listy zawiera zagnieżdżoną nieuporządkowaną listę z dwoma elementami. Warto zaznaczyć, że elementy listy nieuporządkowanej są zazwyczaj wyświetlane z kropkami. Druga lista uporządkowana zaczyna numerację od litery 'D', co jest zgodne z poprawną odpowiedzią. Typowym błędem jest niezauważenie zagnieżdżonych list lub niepoprawne zrozumienie funkcji atrybutu start w liście uporządkowanej. W praktyce, zrozumienie struktury i semantyki tagów HTML jest kluczowe dla tworzenia efektywnych i użytecznych stron internetowych. Proponuję, abyś ponownie przeanalizował kod HTML, skupiając się na strukturze list i zrozumieniu atrybutów stosowanych w tagach list.

Pytanie 23

Jakie imiona spełniają warunki klauzuli LIKE w zapytaniu?

SELECT imie FROM mieszkancy WHERE imie LIKE '_r%';
A. Krzysztof, Krystyna, Romuald
B. Arleta, Krzysztof, Krystyna, Tristan
C. Gerald, Jarosław, Marek, Tamara
D. Rafał, Rebeka, Renata, Roksana
Zapytanie SQL wykorzystuje klauzulę LIKE, która pozwala na wyszukiwanie wzorców w danych tekstowych. W tym przypadku wzór '_r%' oznacza, że szukamy imion, które mają na drugiej pozycji literę 'r' i mogą mieć dowolne znaki po tej literze. W analizowanych imionach, Arleta, Krzysztof, Krystyna oraz Tristan spełniają ten warunek, ponieważ: Arleta ma 'r' na drugiej pozycji, Krzysztof również, Krystyna także, a Tristan ma 'r' na drugiej pozycji. Przykład użycia klauzuli LIKE jest szczególnie przydatny w systemach, gdzie często zachodzi potrzeba filtrowania danych tekstowych na podstawie określonych wzorców. W praktyce, stosowanie klauzuli LIKE w zapytaniach SQL powinno być zgodne z najlepszymi praktykami, takimi jak optymalizacja indeksów i unikanie nadmiernego używania znaków wieloznacznych, które mogą prowadzić do spadku wydajności. Warto również pamiętać, że w wielu systemach baz danych klauzula LIKE jest czuła na wielkość liter, co może wpływać na wyniki zapytań.

Pytanie 24

Przedstawione zapytanie SELECT wykonane na tabeli przechowującej dane o uczestnikach konkursu ma za zadanie wybrać:

SELECT MAX(wiek) - MIN(wiek) FROM uczestnicy;
A. różnicę wieku pomiędzy najstarszym a najmłodszym uczestnikiem
B. najmłodszy i najstarszy wiek uczestników
C. ilość najstarszych uczestników
D. średnią wartość wieku uczestników
Prawidłowa odpowiedź to różnica wieku pomiędzy najstarszym i najmłodszym uczestnikiem, ponieważ zapytanie SQL wykorzystuje funkcje agregujące MAX oraz MIN na kolumnie wieku. Funkcja MAX(wiek) zwraca najwyższą wartość wieku w zbiorze danych, co odpowiada wiekowi najstarszego uczestnika, podczas gdy MIN(wiek) zwraca najniższą wartość, czyli wiek najmłodszego uczestnika. Różnica tych dwóch wartości daje nam dokładny wynik, przedstawiający zakres wieku w grupie uczestników. Tego typu analizy są niezwykle przydatne w kontekście organizacji zawodów, gdzie zrozumienie różnorodności wiekowej może wpłynąć na planowanie sekcji rywalizacyjnych czy strategii marketingowych. Rekomenduje się, aby w praktyce wykorzystać podobne zapytania do analizy demografii uczestników, co może pomóc w lepszym dostosowaniu wydarzeń do potrzeb grupy docelowej oraz w analizie trendów w uczestnictwie w różnych kategoriach wiekowych.

Pytanie 25

Który z elementów jest opcjonalny w kodzie HTML5 i jego pominięcie nie spowoduje wygenerowania błędu lub ostrzeżenia walidatora HTML?

A. <html lang="pl">
B. <!DOCTYPE html>
C. <title>Tytuł strony</title>
D. <meta name="keywords" content="">
Poprawnie – właśnie znacznik meta z atrybutem name="keywords" jest w HTML5 całkowicie opcjonalny i jego brak nie powoduje żadnych błędów walidacji. Ten element był kiedyś używany głównie do pozycjonowania stron w wyszukiwarkach, ale w aktualnych wytycznych SEO praktycznie wszystkie większe wyszukiwarki (Google, Bing itd.) ignorują meta keywords. Z punktu widzenia specyfikacji HTML5 jest to zwykły, opcjonalny metatag: możesz go użyć, ale w żaden sposób nie jest wymagany do poprawnej struktury dokumentu. Validator W3C nie zgłasza ostrzeżeń, jeśli go nie ma, bo nie jest to element strukturalny, tylko dodatkowa informacja opisowa.

W praktyce, w nowoczesnych projektach webowych, meta name="keywords" często się po prostu pomija. Dużo ważniejsze są inne meta tagi, np. meta charset, meta name="viewport" dla responsywności czy meta name="description", która jest używana w wynikach wyszukiwania. Możesz mieć całkowicie poprawny, walidujący się dokument HTML5 zaczynający się od <!DOCTYPE html>, z elementem html z atrybutem lang, poprawnie zdefiniowaną sekcją head z tytułem strony i bez ani jednego meta keywords – i to jest jak najbardziej zgodne ze standardem.

Moim zdaniem dobrze jest znać historię tego znacznika: kiedyś nauczyciele i różne stare kursy mocno go promowały, dlatego wciąż pojawia się w kodzie. Ale w aktualnych projektach lepiej skupić się na semantycznym HTML, dostępności (ARIA, poprawne nagłówki), porządnych opisach w meta description i na poprawnej strukturze dokumentu. Meta keywords możesz traktować jako ciekawostkę z dawnych czasów, a nie obowiązkowy element kodu.

Pytanie 26

Podczas przechowywania hasła użytkownika serwisu internetowego (np. bankowości online), aby chronić je przed ujawnieniem, zazwyczaj stosuje się funkcję

A. cyklometrycznych.
B. mieszających.
C. abstrakcyjnych.
D. klucza.
Mieszające funkcje, choć istotne w kryptografii, nie są właściwym podejściem do zabezpieczania haseł użytkowników. Ich głównym celem jest zapewnienie, że nawet niewielka zmiana w danych wejściowych prowadzi do drastycznie różniącego się wyniku, co jest przydatne w kontekście tworzenia funkcji hashujących, ale nie wystarcza do ochrony haseł. Funkcje abstrakcyjne, z kolei, dotyczą bardziej teoretycznych modeli czy algorytmów, które nie mają bezpośredniego zastosowania w procesie zabezpieczania haseł. Kluczowe jest, aby zrozumieć, że hasła powinny być przede wszystkim szyfrowane przy użyciu odpowiednich algorytmów, a nie jedynie mieszane czy abstrakcyjne. Cyklometryczne metody również nie mają zastosowania w kontekście ochrony haseł, gdyż ich zastosowanie jest ograniczone do analizy danych czy grafów, a nie do rzeczywistych procesów szyfrowania czy zabezpieczania informacji. Dlatego błędem jest przypuszczenie, że inne metody mogą zastąpić funkcje klucza w kontekście ochrony haseł. W praktyce, stosowanie nieodpowiednich metod zabezpieczających prowadzi do poważnych luk w bezpieczeństwie, które mogą być wykorzystane przez cyberprzestępców.

Pytanie 27

Który plik konfiguracyjny pozwala ustawić parametry PHP dla całego serwera?

A.
httpd.conf
B.
php.ini
C.
config.inc.php
D.
my.ini
Plik php.ini to główny plik konfiguracyjny interpretera PHP - ustawia się w nim parametry działające dla całego serwera, np. dyrektywy obsługi błędów (display_errors, log_errors), limity (memory_limit, max_execution_time, upload_max_filesize) czy strefę czasu. Aktualne ustawienia można podejrzeć funkcją phpinfo(). Dlatego parametry PHP dla całego serwera definiuje php.ini.

Pytanie 28

Jaką metodę używa się w języku PHP do tworzenia komentarza obejmującego więcej niż jedną linijkę?

A. //
B. /* */
C. <!-- -->
D. #
W języku PHP, użycie bloków komentarzy za pomocą składni /* */ jest standardowym sposobem na zapisanie wielolinijnych komentarzy. Ta metoda pozwala na umieszczanie tekstu komentarza w wielu liniach, co jest szczególnie przydatne w przypadku dłuższych objaśnień kodu. Komentarze pozwalają programistom na dokumentowanie funkcji, metod lub fragmentów kodu, co znacznie zwiększa przejrzystość i zrozumiałość kodu dla innych deweloperów. Przykładowo, można ich używać w następujący sposób:

/*
To jest komentarz, który
może zajmować wiele linii.
Możesz go używać do
szczegółowego opisu
funkcji lub zmiennych.
*/

Praktyka korzystania z opisowych komentarzy jest zgodna z najlepszymi standardami programowania, ponieważ zwiększa czytelność i ułatwia pracę w zespołach. Komentarze są nieocenione w trakcie konserwacji kodu, ponieważ pozwalają na szybsze zrozumienie intencji autora, a także na łatwiejsze wprowadzenie zmian w przyszłości. Warto również pamiętać, że komentarze nie wpływają na wydajność aplikacji, ponieważ są ignorowane przez interpreter PHP w trakcie wykonywania skryptu.

Pytanie 29

Aby wykonać przycisk na stronę internetową zgodnie z przedstawionym wzorem, w programie do grafiki rastrowej należy użyć opcji:

Ilustracja do pytania
A. zniekształcenie i deformacja
B. zaokrąglenie narożników (prostokąt z zaokrąglonymi rogami)
C. zaznaczenie eliptyczne
D. propagacja wartości
Pozostałe opcje nie odtworzą przycisku z wzoru. „Propagacja wartości” nie jest narzędziem do rysowania kształtu. Zaznaczenie eliptyczne tworzy obszar owalny lub okrągły, a wzór to prostokąt - tyle że z zaokrąglonymi rogami. Zniekształcenie i deformacja odkształcają istniejącą grafikę, zamiast dać równe, gładkie zaokrąglenia. Prostokątny przycisk z zaokrąglonymi narożnikami, jak na przykładzie, wykonuje się opcją zaokrąglenia narożników.

Pytanie 30

Zawarty blok ilustruje proces

Ilustracja do pytania
A. realizacji zadania w pętli
B. wykorzystania zdefiniowanej procedury lub funkcji
C. podjęcia decyzji
D. odczytu lub prezentacji danych
Romb w diagramach przepływu sterowania jest używany do reprezentacji podejmowania decyzji jest kluczowym elementem w programowaniu warunkowym Proces ten polega na ocenie wyrażenia logicznego które prowadzi do jednego z dwóch możliwych stanów prawda lub fałsz a następnie przepływu sterowania w kierunku odpowiedniego bloku kodu Praktyczne zastosowanie tego elementu można znaleźć w strukturach takich jak instrukcje if-else czy switch-case Stosowanie decyzji w kodzie jest niezbędne do tworzenia dynamicznych i interaktywnych aplikacji które reagują na różne sytuacje w czasie rzeczywistym Dodatkowo podejmowanie decyzji jest podstawą dla wdrażania algorytmów sztucznej inteligencji i uczenia maszynowego gdzie różne scenariusze są oceniane a odpowiednie decyzje podejmowane na podstawie wyników analizy danych W praktyce inżynierowie oprogramowania muszą zgodnie z dobrymi praktykami projektowymi dbać o to aby każda decyzja była dobrze zaprojektowana i zoptymalizowana nie tylko pod kątem poprawności logicznej ale także wydajności i czytelności kodu co ma kluczowe znaczenie dla utrzymania i rozwoju złożonych systemów informatycznych

Pytanie 31

ALTER TABLE artykuły MODIFY cena float; Ta kwerenda ma na celu wprowadzenie zmian w tabeli artykuły.

A. zmiana nazwy kolumny cena na float
B. usunięcie kolumny cena o typie float
C. zmiana typu na float dla kolumny cena
D. dodanie kolumny cena o typie float, o ile nie istnieje
Odpowiedź była trafna, bo dotyczyła zmiany typu danych w kolumnie w tabeli. Kiedy piszesz 'ALTER TABLE artykuły MODIFY cena float;', to tak naprawdę modyfikujesz kolumnę 'cena', żeby mogła przyjmować liczby zmiennoprzecinkowe. Używanie typu float jest naprawdę przydatne, gdyż ceny często mają wartości z przecinkiem, więc nie ma sensu tego trzymać w innym formacie. Z mojego doświadczenia, takie zmiany są ważne, bo pomagają w dokładnym przechowywaniu danych, co jest kluczowe w przy aplikacjach związanych z finansami czy sprzedażą online. Ale pamiętaj, że warto zawsze mieć kopię zapasową, bo jeśli masz już jakieś dane, które się nie zmieszczą w nowym typie, to może być kłopot. Generalnie, używanie 'ALTER TABLE' to podstawowa rzecz w zarządzaniu bazami danych i dobrze wiedzieć, co się robi.

Pytanie 32

W HTML-u znacznik tekst będzie prezentowany przez przeglądarkę w sposób identyczny do znacznika

A. <sub>tekst</sub>
B. <h1>tekst</h1>
C. <big>tekst</big>
D. <b>tekst</b>
Znacznik <strong> w HTML jest używany do oznaczania tekstu, który ma być wyróżniony jako ważny. Jego domyślne stylizowanie w przeglądarkach polega na pogrubieniu tekstu, co jest również funkcją znacznika <b>. Oba znaczniki mają podobne zastosowanie, ale <strong> niesie dodatkowe znaczenie semantyczne, co oznacza, że informuje przeglądarki i maszyny o tym, że dany tekst jest istotny. Przykładem może być użycie <strong> w nagłówkach lub w miejscach, gdzie chcemy zwrócić uwagę na kluczowe informacje, jak np. 'Zamówienie <strong>pilne</strong> musi być dostarczone do jutra.' W kontekście dobrych praktyk zaleca się używanie znaku <strong> zamiast <b>, gdyż wspiera to dostępność i SEO - wyszukiwarki lepiej interpretują semantykę treści, co może wpłynąć na pozycjonowanie strony. Warto również pamiętać, że zgodnie z W3C, semantyka HTML ma kluczowe znaczenie dla strukturyzacji dokumentów oraz ich dostępności.

Pytanie 33

Wskaż, które z poniższych zdań jest prawdziwe w odniesieniu do definicji stylu:

<STYLE type="text/css">
<!--
   P {color:blue; font-size:14pt; font-style:italic;}
   A {font-size:16pt; text-transform:lowercase;}
   TD.niebieski {color:blue}
   TD.czerwony {color:red}
-->
</STYLE>
A. Odnośnik będzie napisany czcionką o rozmiarze 14 punktów
B. Akapit będzie przekształcany na małe litery
C. Zdefiniowano dwie klasy
D. Jest to styl zasięg lokalny
Pierwsza odpowiedź sugeruje, że styl jest lokalny, ale tak naprawdę to nie jest do końca prawda. Definicje stylów w tym kodzie są globalne, więc nie możesz mówić o stylach lokalnych, które odnosiłyby się tylko do konkretnego elementu. Klasy w arkuszu stylów są dostępne w całym dokumencie, więc to są style globalne. Następna odpowiedź mówi, że akapit będzie transponowany na małe litery, co też nie jest prawdą, bo w CSS nie ma zdefiniowanej transformacji tekstu dla elementu P. Element A ma natomiast zastosowaną transformację, która zmienia tekst na małe litery, więc nie można tego przypisać do akapitu. Ostatnia błędna odpowiedź sugeruje, że odnośnik będzie miał czcionkę 14 punktów i to również jest mylne. W rzeczywistości odnośnik A ma czcionkę 16 punktów, co sprawia, że jest lepiej widoczny niż akapit. Wydaje mi się, że te błędne odpowiedzi wynikają z niepełnego zrozumienia, jak działają klasy CSS i jakie style można przypisać różnym elementom HTML.

Pytanie 34

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
Pozostałe pojęcia są inne. Destruktor wykonuje się przy NISZCZENIU obiektu (nie tworzeniu). „Obiekt” to instancja klasy, a specyfikator dostępu (private, public) steruje widocznością składowych. Inicjalizacją przy tworzeniu zajmuje się konstruktor.

Pytanie 35

Wskaż system do zarządzania treściami.

A. MariaDB
B. Apache
C. Joomla!
D. phpMyAdmin
Wybór odpowiedzi innych niż Joomla! ukazuje istotne nieporozumienia dotyczące roli różnych technologii w kontekście zarządzania treścią. Apache to serwer HTTP, który obsługuje żądania użytkowników w Internecie, ale nie jest systemem zarządzania treścią. Jego funkcją jest dostarczanie plików z serwera do przeglądarki internetowej, co jest kluczowe, ale nie dotyczy bezpośredniego zarządzania treścią witryny. PhpMyAdmin to narzędzie do zarządzania bazami danych MySQL, które umożliwia użytkownikom wykonywanie operacji na bazach danych w interfejsie webowym, jednak nie pełni funkcji CMS. Jego głównym celem jest umożliwienie użytkownikom łatwego zarządzania danymi, a nie tworzenia i publikowania treści na stronach internetowych. MariaDB jest systemem zarządzania relacyjnymi bazami danych, będącym rozwidleniem MySQL, który również nie jest CMS-em. Jest używany do przechowywania danych, ale nie oferuje funkcji do zarządzania treścią w kontekście tworzenia i edycji stron. Kluczowym błędem myślowym, który prowadzi do takich odpowiedzi, jest mylenie różnych technologii webowych i ich funkcji. W rzeczywistości system zarządzania treścią, taki jak Joomla!, łączy w sobie zarówno zarządzanie danymi, jak i interfejs do tworzenia treści, co czyni go bardziej kompleksowym rozwiązaniem dla użytkowników pragnących budować i utrzymywać witryny internetowe.

Pytanie 36

Zmienne typu int odnoszą się do liczb całkowitych

A. w notacji zmiennoprzecinkowej
B. całkowitych
C. naturalnych
D. w notacji stałoprzecinkowej
Zmienne typu int w języku programowania odnoszą się do wartości całkowitych, co oznacza, że mogą przechowywać liczby bez części dziesiętnych. W zależności od konkretnego języka programowania, zmienne int mogą mieć różne zakresy wartości, które są determinowane przez liczbę bitów przydzielanych do ich reprezentacji. Na przykład, w języku C++ typ int najczęściej zajmuje 4 bajty (32 bity), co pozwala na reprezentację liczb w zakresie od -2 147 483 648 do 2 147 483 647. Wartości całkowite są szeroko stosowane w programowaniu do zliczania, indeksowania, a także kiedy precyzja jest kluczowa, na przykład w obliczeniach matematycznych, gdzie ułamki i wartości zmiennoprzecinkowe byłyby nieodpowiednie. Ważne jest również uwzględnienie standardów, takich jak ISO C, które definiują sposób działania typów danych w danym języku. Dla programistów znajomość zmiennych int i ich zastosowań jest podstawą efektywnego pisania algorytmów i rozwiązań problemowych.

Pytanie 37

Zamieszczony kod w języku PHP

Ilustracja do pytania
A. definiuje tablicę z trzema wartościami
B. jest błędny, indeksami tablicy mogą być wyłącznie liczby całkowite
C. jest niepoprawny, nieznany operator =>
D. określa tablicę z sześcioma wartościami
Kod przedstawiony w pytaniu to przykład definiowania tablicy asocjacyjnej w języku PHP. Tablica asocjacyjna to struktura danych, która pozwala na przechowywanie wartości związanych z kluczami, które nie muszą być liczbami. W tym przypadku kluczami są łańcuchy znaków: 'imie', 'nazwisko' oraz 'wiek'. Każdy klucz ma przypisaną wartość: 'Anna', 'Nowak' oraz 21. Zatem tablica ta rzeczywiście zawiera trzy pary klucz-wartość. Operator '=>' jest używany w PHP do przypisywania wartości kluczom w tablicach asocjacyjnych. Jest to poprawna składnia i bardzo popularny sposób reprezentowania danych, zwłaszcza w kontekście baz danych i przetwarzania formularzy, gdzie każda wartość ma swoje unikalne znaczenie i klucz. W praktyce tablice asocjacyjne są używane do przechowywania danych, które nie mają charakteru sekwencyjnego, ale są raczej zestawem właściwości lub atrybutów obiektu. Stosowanie tablic asocjacyjnych z odpowiednimi kluczami wspiera czytelność kodu i ułatwia jego zarządzanie zwłaszcza w większych projektach gdzie zrozumienie struktury danych odgrywa kluczową rolę.

Pytanie 38

Którym sposobem zapisuje się w PHP komentarz zajmujący kilka linii?

A.
//
B.
/* */
C.
#
D.
<!-- -->
Komentarz zajmujący kilka linii zapisuje się w PHP między /* a */ - wszystko w środku jest pomijane. Dlatego komentarz wieloliniowy to /* */.

Pytanie 39

Jaką metodę zastosowano do dodania arkusza stylów do dokumentu HTML w pokazanym kodzie?

Ilustracja do pytania
A. Styl wewnętrzny
B. Styl zewnętrzny
C. Styl alternatywny, zewnętrzny
D. Styl wpisany, lokalny
Styl zewnętrzny to metoda dołączania arkusza stylów do dokumentu HTML poprzez linkowanie pliku CSS zewnętrznego w sekcji head dokumentu. Jest to najbardziej powszechna i zalecana metoda stylizacji dużych projektów ponieważ pozwala na oddzielenie logiki prezentacyjnej od struktury dokumentu HTML co ułatwia zarządzanie i ponowne wykorzystanie kodu. Tymczasem styl wewnętrzny umieszczany jest w sekcji head jako blok <style> i stosuje się go gdy chcemy zdefiniować style dla całego dokumentu bez tworzenia dodatkowego pliku CSS. Jest to rozwiązanie kompromisowe ale wciąż nie tak elastyczne jak style zewnętrzne. Styl alternatywny zewnętrzny to mechanizm dołączania alternatywnych arkuszy stylów umożliwiający użytkownikowi wybór różnych stylów podczas przeglądania strony jednak nie jest to to samo co styl wpisany lokalny. Błędne myślenie może polegać na utożsamianiu stylów wewnętrznych z wpisanymi ze względu na ich lokalny charakter lecz zasadniczo różnią się one zakresem działania i sposobem implementacji. Styl wpisany jako atrybut elementu HTML działa tylko na ten konkretny element zaś style wewnętrzne i zewnętrzne mogą wpływać na wiele elementów jednocześnie co daje większą kontrolę i spójność w projektowaniu strony. Zrozumienie tych różnic jest kluczowe dla tworzenia efektywnych i dobrze zarządzanych aplikacji webowych. Dążenie do modularności i ponownego użycia kodu jest jedną z fundamentalnych zasad dobrych praktyk w branży.

Pytanie 40

Dane są liczby całkowite różne od zera w tablicy nazwanej tab. Podany poniżej kod w języku PHP ma na celu

Ilustracja do pytania
A. wyliczenie iloczynu wszystkich wartości w tablicy
B. zmienić wszystkie elementy tablicy na liczby o przeciwnym znaku
C. zmienić wartości tablicy na te zapisane w zmiennej liczba
D. obliczenie wartości bezwzględnej poszczególnych elementów tablicy
Kod pokazany na obrazku używa konstrukcji foreach z operatorem referencji ampersand aby iterować po tablicy tab i zmieniać każdy jej element. Operator referencji & pozwala na bezpośrednią modyfikację wartości w tablicy. Instrukcja $liczba = $liczba * (-1) w pętli foreach zmienia znak każdej liczby na przeciwny co oznacza że dodatnie liczby stają się ujemne a ujemne stają się dodatnie. Dzięki temu możliwe jest szybkie odwrócenie znaków wszystkich elementów w tablicy co jest powszechnie stosowane w programowaniu aby przygotować dane do dalszych operacji matematycznych lub analizy. Unset($liczba) jest używane po pętli aby odłączyć referencję co jest dobrą praktyką zapobiegającą przypadkowym modyfikacjom przyszłych danych. Zastosowanie tego wzorca jest efektywne i pozwala na bezpieczną manipulację strukturą danych w PHP. Technika ta jest użyteczna nie tylko w kontekście matematycznym ale również w przypadkach gdzie wymagane jest szybkie przetwarzanie dużych ilości danych.