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: 13 maja 2026 08:21
  • Data zakończenia: 13 maja 2026 08:54

Egzamin zdany!

Wynik: 34/40 punktów (85,0%)

Wymagane minimum: 20 punktów (50%)

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

Jakie jest oznaczenie typu stało-znakowego w SQL?

A. time
B. char
C. text
D. bool
Typ stało-znakowy char w języku SQL jest używany do przechowywania łańcuchów znaków o stałej długości. Oznacza to, że każdy zapisany ciąg będzie miał dokładnie taką samą liczbę znaków, co jest definiowane podczas tworzenia tabeli. Najczęściej stosowana długość to 1 do 8000 znaków, chociaż w niektórych bazach danych ta ilość może być różna. Typ char jest szczególnie przydatny, gdy z góry wiadomo, że wszystkie wartości w danej kolumnie będą miały tę samą długość, co pozwala na efektywniejsze przechowywanie danych i optymalizację wydajności. Na przykład, jeśli tworzymy tabelę użytkowników, w której każdy użytkownik ma przypisany identyfikator w postaci stałej długości, można użyć char(10) do przechowywania tych identyfikatorów. Ważne jest również, aby zwrócić uwagę na różnice między typem char a typem varchar, który przechowuje zmienną długość łańcuchów, co może prowadzić do większego zużycia pamięci w przypadkach, gdy długość przechowywanych danych jest różna. Typ char jest zgodny z wieloma standardami SQL, co czyni go powszechnie stosowanym rozwiązaniem w relacyjnych bazach danych.

Pytanie 2

$n = '[email protected]'; $dl = strlen($n); $i = 0; while ($i < $dl && $n[$i] != '@') {     echo $n[$i];     $i++; } Fragment kodu w języku PHP wyświetli

A. wyłącznie nazwę konta, czyli 'adres'
B. tylko nazwę domeny, czyli 'host.pl'
C. nazwę konta z znakiem @, czyli 'adres@'
D. cały adres e-mail, czyli '[email protected]'
Analizując niepoprawne odpowiedzi, warto zwrócić uwagę na kilka kluczowych aspektów. W przypadku odpowiedzi, która wskazuje na wypisanie nazwy konta ze znakiem '@', należy zauważyć, że kod w rzeczywistości nie wlicza znaku '@' do wypisywanej wartości. Działanie pętli opiera się na warunku przerywającym, który kończy iterację przed napotkaniem '@', co oznacza, że nie może on znaleźć się w rezultacie. Z kolei wskazanie, że kod wypisze cały adres e-mail jest błędne, ponieważ pętla jest zaprojektowana tak, aby zakończyć działanie przed osiągnięciem znaku '@', więc taki wynik nie jest możliwy. Ostatnia niepoprawna odpowiedź, sugerująca, że kod wypisze samą nazwę domeny, jest również myląca. W kodzie nie ma logiki, która pozwalałaby na wyodrębnienie części po znaku '@'; zamiast tego pętla przerywa działanie, gdy osiągnie ten znak. Jest to kluczowe, aby zrozumieć, że kod nie ma mechanizmu do analizy lub rozdzielania adresu e-mail po znaku '@'. Wszystkie te odpowiedzi pokazują niezrozumienie, jak działają operacje na ciągach w PHP oraz logikę pętli, która w kontekście tego fragmentu kodu jest fundamentalna dla uzyskania prawidłowego wyniku.

Pytanie 3

Atrybut value w formularzu XHTML

A. określa wartość domyślną
B. ustawia pole jako tylko do odczytu
C. ogranicza maksymalną długość pola
D. określa nazwę pola
Atrybut 'value' w polu formularza XHTML pełni kluczową rolę w określeniu wartości początkowej, która jest wyświetlana w danym polu tekstowym. W przypadku elementu <input type='text'>, wartość atrybutu 'value' jest predefiniowaną odpowiedzią, która pojawia się w polu, gdy formularz jest załadowany. To pozwala programistom na wprowadzenie domyślnych danych, co jest szczególnie przydatne w kontekście ułatwienia wprowadzania informacji przez użytkowników. Na przykład, jeśli mamy formularz, w którym użytkownik ma podać swoje imię, możemy ustawić 'value' na 'Jan', co sprawi, że pole wypełni się automatycznie tą wartością, dając użytkownikowi wskazówkę. Wartość ta może być również używana do ułatwienia wprowadzania danych w przypadku, gdy formularz jest ponownie wyświetlany po błędzie. Zgodnie z dokumentacją W3C dotyczącą XHTML, atrybut 'value' jest standardowo stosowany w formularzach, co czyni go niezbędnym narzędziem w projektowaniu interfejsów użytkownika. Odpowiednie wykorzystanie tego atrybutu przyczynia się do lepszej użyteczności aplikacji internetowych oraz zwiększa komfort użytkowników.

Pytanie 4

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

A. framework
B. middleware
C. komponent
D. biblioteka
Framework to zestaw skomponowanych narzędzi oraz komponentów, które wspierają programistów w procesie tworzenia aplikacji poprzez dostarczenie struktury i organizacji kodu. Charakteryzuje się on tym, że określa pewne zasady, standardy oraz architekturę, co pozwala na łatwiejsze zarządzanie projektem i jego przyszłym rozwojem. Przykłady popularnych frameworków to Angular, React dla aplikacji webowych oraz Django, Ruby on Rails w przypadku aplikacji serwerowych. Frameworki często implementują wzorce projektowe, takie jak Model-View-Controller (MVC), które segregują logikę aplikacji na różne warstwy, co pozwala na lepszą organizację kodu. Dzięki zastosowaniu frameworków, programiści mogą skupić się na pisaniu logiki biznesowej, zamiast tracić czas na implementację podstawowych funkcji, ponieważ wiele z nich jest już dostarczanych przez framework. Umożliwia to również łatwiejsze wprowadzanie zmian oraz współpracę w zespołach programistycznych. Frameworki są zgodne z różnymi standardami, co zapewnia ich wszechstronność i szeroką akceptację w branży.

Pytanie 5

W celu przyznania użytkownikowi w systemie MySQL możliwości nadawania i modyfikowania uprawnień innym użytkownikom, konieczne jest użycie klauzuli

A. FLUSH PRIVILEGES
B. TRGGER
C. GRANT OPTION
D. ALL PRIVILEGES
Aby w systemie MySQL nadać użytkownikowi prawo do nadawania i zmiany uprawnień innym użytkownikom, należy zastosować klauzulę GRANT OPTION. Ta klauzula jest istotnym elementem systemu zarządzania uprawnieniami, ponieważ umożliwia użytkownikowi, który posiada określone uprawnienia, dzielenie się nimi z innymi użytkownikami. Oznacza to, że użytkownik z GRANT OPTION ma prawo nie tylko do wykonania pewnych działań, ale także do przekazywania tych uprawnień innym, co jest kluczowe w zarządzaniu dużymi bazami danych, gdzie konieczne jest delegowanie zadań. Przykład użycia klauzuli GRANT OPTION może wyglądać następująco: 'GRANT SELECT, INSERT ON my_database.* TO 'user1'@'localhost' WITH GRANT OPTION;', co daje użytkownikowi 'user1' prawo do wykonywania operacji SELECT i INSERT oraz możliwość przekazywania tych uprawnień innym użytkownikom. Taki mechanizm jest fundamentalny dla utrzymania hierarchii uprawnień i bezpieczeństwa w bazach danych, co jest zgodne z najlepszymi praktykami w zarządzaniu dostępem do danych.

Pytanie 6

Jaką wartość w formacie szesnastkowym ma kolor określony kodem RGB o wartościach rgb(128,16,8)?

A. #800F80
B. #801008
C. #FF1008
D. #FF0F80
Jak spojrzymy na inne odpowiedzi, to można zauważyć, że mają one jakieś błędy w konwersji kolorów RGB na szesnastkowy. Pierwsza z błędnych odpowiedzi to #FF0F80, gdzie wartość czerwonego jest zbyt wysoka, bo mamy FF zamiast 80, które jest poprawne. Taki błąd zmienia kolor na całkiem inny, więc widać, jak ważne jest poprawne przetwarzanie tych wartości. Druga odpowiedź, #FF1008, też pokazuje za wysoką wartość czerwonego, a zielony jest nieprawidłowy, bo 10 to w rzeczywistości 16 w systemie dziesiętnym, co oczywiście wpływa na końcowy kolor. W ostatniej odpowiedzi, czyli #800F80, mamy złą wartość dla zielonego i niebieskiego. Powinno być 08 dla niebieskiego, a F80 to już coś innego. Takie pomyłki pokazują, że warto znać system RGB i jak go przerobić na szesnastkowy, żeby kolory były odpowiednio odwzorowane w projektach.

Pytanie 7

W CSS zapisano stylizację ```css p > i {color: blue} ``` oznacza to, że kolorem niebieskim zostanie wyświetlony

A. wszystkie teksty nagłówków, niezależnie od formatowania
B. pochylony tekst akapitu
C. cały tekst akapitu, niezależnie od jego stylizacji
D. pogrubiony tekst akapitu
W definicji CSS `p > i {color: blue}`, mamy do czynienia z selektorem, który odnosi się do elementów typu <i> znajdujących się bezpośrednio wewnątrz elementu <p>. Oznacza to, że wszystkie elementy <i>, które są bezpośrednimi dziećmi elementu <p>, będą miały kolor tekstu ustawiony na niebieski. Element <i> w HTML jest często używany do oznaczania tekstu kursywą, co jest zgodne z semantyką dokumentu. Użycie koloru w tym kontekście podkreśla, że zmiana koloru dotyczy tylko tych fragmentów tekstu, które są specyficznie oznaczone jako kursywa. W praktyce, jeżeli mamy paragraf zawierający tekst oraz fragmenty w kursywie, to tylko te kursywne fragmenty będą przyjmować niebieski kolor. Przykładowo, w poniższym kodzie HTML: <p>To jest <i>kursywa</i> oraz <b>pogrubienie</b>.</p>, tylko słowo 'kursywa' będzie miało kolor niebieski. Zgodność z W3C i standardami CSS zapewnia, że taki zapis będzie działał na większości przeglądarek. Warto zwrócić uwagę na hierarchię selektorów, która pozwala na precyzyjne określenie, które elementy mają być stylizowane w określony sposób.

Pytanie 8

Jaki opis dotyczy metody POST służącej do przesyłania formularza?

A. Może być dodana jako zakładka w przeglądarce internetowej
B. Ma dodatkowe ograniczenia związane z długością URL - maksymalnie 255 znaków
C. Dane są przesyłane przez URL, co czyni je widocznymi dla użytkownika
D. Jest zalecana, gdy przesyłane są dane wrażliwe, na przykład hasło, numer telefonu czy numer karty kredytowej
Metoda POST jest jedną z dwóch najpopularniejszych metod przesyłania danych w protokole HTTP, obok metody GET. W przeciwieństwie do GET, dane przesyłane za pomocą POST nie są widoczne w adresie URL, co czyni ją bardziej odpowiednią do przesyłania informacji poufnych, takich jak hasła, numery kart kredytowych czy dane osobowe. Dzięki temu, że POST umieszcza dane w ciele żądania HTTP, nie ma ograniczenia długości, które ma miejsce przy GET, co oznacza, że można przesyłać znacznie większe ilości danych. Przykładowe zastosowanie metody POST to formularze rejestracyjne i logowania na stronach internetowych, gdzie bezpieczeństwo użytkownika jest kluczowe. W praktyce, wiele aplikacji webowych korzysta z POST do przesyłania danych do serwera, a dane te mogą być następnie przetwarzane lub zapisywane w bazie danych. Warto również zwrócić uwagę na standardy bezpieczeństwa, takie jak użycie HTTPS, które szyfruje dane przesyłane przy użyciu POST, zwiększając ochronę przed podsłuchiwaniem.

Pytanie 9

Po zrealizowaniu przedstawionego fragmentu kodu w języku C/C++ do zmiennej o nazwie zmienna2 przypisany zostanie ```int zmienna1 = 158; int *zmienna2 = &zmienna1;```

A. przypisana liczba w kodzie binarnym odpowiadająca wartości, która jest przechowywana w zmienna1
B. przypisana ta sama wartość, która jest przechowywana w zmienna1
C. przypisany adres zmiennej o nazwie zmienna1
D. przypisana zamieniona na łańcuch wartość, która jest przechowywana w zmienna1
W odpowiedziach 2, 3 i 4 pojawiają się błędne interpretacje tego, co właściwie dzieje się w kodzie. Odpowiedź 2 sugeruje, że zmienna2 otrzyma tę samą wartość, co zmienna1, co jest błędne, ponieważ zmienna2 jest wskaźnikiem, a nie zmienną przechowującą wartość. W C/C++ wskaźnik przechowuje adres, a nie samą wartość. Odpowiedź 3 zakłada, że wartość przechowywana w zmienna1 zostanie przekształcona na łańcuch, co jest również niepoprawne. Wskaźniki nie dokonują automatycznych konwersji wartości na inne typy, a operator '&' zwraca adres zmiennej, a nie jej wartość. Wreszcie, odpowiedź 4 sugeruje, że zmienna2 otrzyma liczbę binarną odpowiadającą wartości zmiennej zmienna1. To również jest nieprawdziwe, ponieważ adres pamięci jest reprezentowany w systemie heksadecymalnym lub dziesiętnym, a nie binarnym. Typowe błędy myślowe prowadzące do takich niepoprawnych wniosków często wynikają z niewłaściwego zrozumienia różnicy między wartością a adresem w kontekście wskaźników. Zrozumienie tego rozróżnienia jest kluczowe dla efektywnego programowania w C/C++ i unikania problemów z zarządzaniem pamięcią.

Pytanie 10

W języku C++ utworzono zmienną: char zml;. Jak można przypisać jej wartość, zgodnie ze składnią tego języka?

A. zml == 0x35;
B. zml = ' w ' ;
C. zml = "wiadro";
D. zml[2] = 32;
Odpowiedzi zml == 0x35 oraz zml[2] = 32 są niepoprawne, ponieważ nie odpowiadają standardom przypisywania wartości zmiennej char w C++. W pierwszej odpowiedzi użyto operatora porównania '==', co skutkuje błędem, ponieważ zamiast przypisywać wartość, program sprawdziłby, czy zml jest równe wartości 0x35, co nie spełnia wymagań przypisania. Dodatkowo, wartość 0x35 reprezentuje znak '5' w kodowaniu ASCII, co nie może być zdefiniowane jako przypisanie do zmiennej char w oczekiwanym kontekście. Druga błędna odpowiedź wprowadza w błąd, ponieważ zml[2] sugeruje, że zmienna zml jest tablicą char, co jest niezgodne z jej deklaracją jako zmiennej pojedynczej. W C++, operacje na tablicach wymagają innego podejścia; nie można bezpośrednio przypisywać wartości w ten sposób do zmiennej char. Z kolei odpowiedź zml = "wiadro" jest niezgodna, gdyż próbuje przypisać łańcuch znaków do zmiennej char, co prowadzi do naruszenia reguł typów danych. Pojedynczy znak powinien być zamknięty w pojedynczych cudzysłowach, a nie w podwójnych, co prowadzi do błędu kompilacji i źle zrozumianej koncepcji wartości zmiennych w C++. Podstawowa zasada programowania w C++ polega na zgodności typów danych, a zrozumienie tej zasady jest kluczowe dla efektywnego programowania.

Pytanie 11

Jakie wartości zostaną wypisane przez funkcję wypisz(2) zaimplementowaną w JavaScript?

function wypisz(a)
{
    for (var i=1; i<6; i++)
    {
        a++;
        if ((a%2==0)|| (a%3==0))
        document.write(a+" " );
    }
}
A. 6
B. 3 4 6 8
C. 3 4 6
D. 2 3 4 6
Funkcja wypisz w JavaScript działa w ten sposób, że przyjmuje argument a i korzysta z pętli for, która powtarza się pięć razy, zwiększając a o 1 w każdej iteracji. Potem sprawdza, czy a jest podzielne przez 2 lub 3, co znaczy, że liczba musi spełniać jeden z tych warunków, żeby być wypisaną. Kiedy zaczniemy z a=2, po pierwszym obiegu pętli a idzie na 3, a 3 spełnia warunek, więc zostaje wypisana. Potem mamy 4 (4 jest podzielne przez 2) i też jest wypisana, a następnie 5, która nie łapie się w warunek. A potem mamy 6, która już wchodzi, bo 6%2==0 i 6%3==0. W efekcie funkcja wypisuje liczby 3, 4 i 6, co zgadza się z poprawną odpowiedzią 3. Warto też dodać, że korzystanie z document.write jest już trochę passé i lepiej używać innych metod, jak innerHTML, bo to jest bardziej bezpieczne i zgodne z nowoczesnymi standardami webowymi. To pozwala na lepszą manipulację treścią strony, co jest na pewno lepsze w kontekście aplikacji dynamicznych.

Pytanie 12

W HTML formularzu użyto elementu <input>. Pole, które się pojawi, ma pozwalać na wprowadzenie maksymalnie

<input type="password" size="30" maxlength="20">
A. 20 znaków, które nie będą widoczne w polu tekstowym
B. 30 znaków, które nie będą widoczne w polu tekstowym
C. 20 znaków, które będą widoczne w trakcie wprowadzania
D. 30 znaków, które będą widoczne podczas wpisywania
Znacznik <input type="password"> w HTML jest rzeczywiście super ważny. Umożliwia on użytkownikom wpisywanie haseł, a to, co najfajniejsze, to że znaki są ukryte, więc nikt nie zobaczy, co piszesz. Atrybut maxlength="20" jest tutaj pomocny, bo ogranicza liczbę znaków do 20, co jest praktyczne - zbyt długie hasła ciężko zapamiętać, a krótkie mogą być niebezpieczne. Natomiast size="30" to tylko kwestia szerokości pola, więc nie wpływa na ilość znaków, które można wpisać. Generalnie, dobrze jest trzymać się tych ograniczeń, bo to pomaga w projektowaniu formularzy i utrzymywaniu porządku w interfejsie. Z mojej perspektywy, znajomość tych atrybutów jest naprawdę przydatna przy tworzeniu stron, bo można lepiej zrozumieć, jak to wszystko działa.

Pytanie 13

Jakiego języka należy użyć, aby stworzyć skrypt realizowany po stronie klienta w przeglądarki internetowej?

A. PHP
B. Perl
C. JavaScript
D. Python
JavaScript to język skryptowy, który super nadaje się do interakcji z użytkownikami w przeglądarkach. Właściwie to jedyny język z tej całej paczki, który działa po stronie klienta. To znaczy, że skrypty w JavaScript są interpretowane przez przeglądarkę, a nie przez serwer. Można go używać na przykład do zmieniania treści stron w locie, walidacji formularzy, animacji i różnych interaktywnych elementów. Jest też ważnym elementem w technologiach internetowych, obok frameworków jak React, Angular czy Vue.js, które pomagają tworzyć nowoczesne aplikacje webowe. Uważam, że każdy programista webowy powinien znać JavaScript przynajmniej na poziomie średnim, żeby wdrażać dobre praktyki dotyczące wydajności i UX. Standardy takie jak ECMAScript mówią, jak ten język ma działać, a jego wszechstronność sprawia, że obecnie jest jednym z najpopularniejszych języków programowania na świecie. Ostatnio dużo mówi się też o używaniu go po stronie serwera z Node.js.

Pytanie 14

Jak umieścić komentarz w kodzie PHP?

A. <!-- ... -->
B. <? ... ?>
C. /? ... ?/
D. /* ... */
Komentarze w kodzie PHP są kluczowym elementem, który pozwala programistom na dodawanie wyjaśnień, notatek czy informacji o kodzie, co znacznie ułatwia jego późniejsze zrozumienie i konserwację. Komentarze w PHP można umieszczać za pomocą podwójnego ukośnika (//) dla pojedynczych linii lub za pomocą /* ... */ dla komentarzy wieloliniowych. Wybrana odpowiedź /* ... */ jest poprawna, ponieważ umożliwia dodawanie dłuższych bloków tekstu, co jest praktyczne w przypadku skomplikowanych funkcji czy klas. Stosowanie komentarzy jest zgodne z dobrymi praktykami programowania, które zalecają dokumentowanie kodu, aby ułatwić współpracę w zespole oraz pomóc innym programistom w zrozumieniu funkcji i celu poszczególnych fragmentów kodu. Na przykład, podczas tworzenia złożonej aplikacji webowej, dobrze udokumentowany kod pozwoli zespołowi szybciej rozwiązywać problemy i wprowadzać zmiany, co jest kluczowe w dynamicznie zmieniającym się środowisku IT.

Pytanie 15

Jak nazywa się proces, w trakcie którego identyfikuje się oraz eliminuje błędy w kodzie źródłowym aplikacji?

A. Kompilacja
B. standaryzacja
C. Normalizacja
D. Debugowanie
Debugowanie to proces, który polega na identyfikacji, analizie i usuwaniu błędów w kodzie źródłowym programów. Jest to kluczowy etap w cyklu życia oprogramowania, który zapewnia, że aplikacje działają zgodnie z zamierzonymi specyfikacjami. W praktyce debugowanie może obejmować różnorodne techniki, takie jak używanie narzędzi do analizy statycznej, wykonanie testów jednostkowych oraz korzystanie z debuggerów, które pozwalają na śledzenie wykonania kodu w czasie rzeczywistym. Dobre praktyki debugowania obejmują dokumentowanie napotkanych błędów, co może ułatwić ich ponowne wystąpienie oraz szybsze ich usunięcie w przyszłości. Debugowanie nie tylko poprawia jakość kodu, ale również ułatwia rozwój i utrzymanie oprogramowania, co jest zgodne z zasadami Agile i DevOps, gdzie ciągła integracja i dostarczanie są kluczowymi elementami procesu. W ten sposób debugowanie stanowi integralną część programowania, która wpływa na wydajność i stabilność tworzonych aplikacji.

Pytanie 16

Relacja opisana jako: "Rekord z tabeli A może odpowiadać wielu rekordom z tabeli B. Każdemu rekordowi z tabeli B przyporządkowany jest dokładnie jeden rekord z tabeli A" jest relacją

A. nieoznaczoną
B. jeden do jednego
C. jeden do wielu
D. wiele do wielu
Relacja typu jeden do wielu oznacza, że jeden rekord z jednej tabeli (w tym przypadku tabela A) może być powiązany z wieloma rekordami z innej tabeli (tabela B). W opisanej sytuacji rekord z tabeli A może odpowiadać dowolnej liczbie rekordów z tabeli B, co ilustruje tę relację. Przykładem takiej relacji może być baza danych systemu zarządzania szkołą, gdzie jeden nauczyciel (rekord z tabeli A) może uczyć wielu uczniów (rekordy z tabeli B), ale każdy uczeń jest przypisany do jednego nauczyciela. Przy projektowaniu baz danych, stosowanie odpowiednich relacji jest kluczowe dla integralności i wydajności systemu. Dbałość o takie relacje przyczynia się do poprawy jakości danych oraz minimalizacji redundancji, co jest zgodne z zasadami normalizacji baz danych. W praktyce, relacje jeden do wielu są powszechnie stosowane w systemach CRM, ERP oraz wielu innych aplikacjach, które wymagają organizacji danych w sposób logiczny i praktyczny.

Pytanie 17

Jaki wynik daje poniższy kod PHP?

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. określa tablicę zawierającą sześć wartości
B. definiuje tablicę z trzema wartościami
C. jest niepoprawny, nieznany operator =>
D. jest błędny, ponieważ indeksami tablicy mogą być wyłącznie liczby całkowite
Ten kod w PHP pokazuje, jak zdefiniować tablicę asocjacyjną z trzema elementami. To fajna sprawa, bo tablice asocjacyjne pozwalają na użycie kluczy, które nie muszą być tylko liczbami, a mogą być także opisowe, jak w tym przypadku. Klucze to 'imie', 'nazwisko' oraz 'wiek', a ich wartości to odpowiednio 'Anna', 'Nowak' i 21. Operator '=>' służy do przypisywania wartości do klucza - to dość typowa konstrukcja, bo ułatwia organizację danych. Podoba mi się, że tablice asocjacyjne w PHP są przydatne w różnych sytuacjach, na przykład do przechowywania danych użytkowników czy różnych ustawień. W sumie, ważne, żeby dbać o typy danych przypisywanych do kluczy, bo dzięki temu później łatwiej będzie się z nimi pracować. PHP ma dużo funkcji do pracy z tablicami, jak sortowanie czy iteracja, więc na pewno warto to znać.

Pytanie 18

Debugger to narzędzie wykorzystywane do

A. oceny szybkości działania programu
B. optymalizacji pamięci zajmowanej przez aplikację
C. identyfikacji błędów w kodzie programu
D. analizy właściwości programu
Debugger to narzędzie, które odgrywa kluczową rolę w procesie tworzenia oprogramowania, umożliwiając programistom identyfikację i naprawę błędów w kodzie. Główną funkcją debuggera jest pozwolenie na analizę działania programu na poziomie linii kodu, co umożliwia użytkownikowi śledzenie wykonania programu, monitorowanie wartości zmiennych oraz sprawdzanie logiki warunkowej. Użycie debuggera pozwala na wykrywanie błędów w czasie rzeczywistym, co jest niezwykle istotne, zwłaszcza w przypadku aplikacji, które muszą działać na różnych platformach i z różnymi danymi wejściowymi. Przykładem może być programowanie w języku Python, gdzie debugger umożliwia krokowe przechodzenie przez kod, co pomaga zrozumieć proces wykonania i zidentyfikować miejsca, gdzie występują nieprawidłowości. Dobrym zwyczajem jest korzystanie z debuggera na wczesnych etapach tworzenia oprogramowania, aby zminimalizować późniejsze problemy w fazie testowania i wdrażania.

Pytanie 19

Według którego parametru oraz dla ilu tabel zostaną zwrócone wiersze na liście w wyniku przedstawionego zapytania?

SELECT * FROM producent, hurtownia, sklep, serwis WHERE
  producent.nr_id = hurtownia.nr_id AND
  producent.wyrob_id = serwis.wyrob_id AND
  hurtownia.nr_id = sklep.nr_id AND
  sklep.nr_id = serwis.nr_id AND
  producent.nr_id = 1;
A. Według parametru wyrób Jd wyłącznie dla trzech tabel.
B. Według parametru wyrób id dla wszystkich tabel.
C. Według parametru nr id wyłącznie dla trzech tabel.
D. Według parametru nr id dla wszystkich tabel.
Brawo! Wybrałeś poprawną odpowiedź, zgodnie z którą parametrem nr id zwraca wiersze dla wszystkich tabel. To zapytanie SQL odnosi się do czterech tabel: producent, hurtownia, sklep i serwis. Zwraca ono wiersze, gdzie wartość kolumny nr_id jest taka sama we wszystkich tych tabelach i równa 1. Dodatkowo, jakość danych jest wspierana przez fakt, że zapytanie sprawdza zgodność wartości kolumny wyrob_id między tabelami producent i serwis. Zrozumienie tego, jak działa to zapytanie i dlaczego to jest ważne, jest kluczowe w praktyce programistycznej. Zapewnia to, że możemy skutecznie i efektywnie manipulować danymi, a także zrozumieć, jak nasze zapytania wpływają na wyniki, które otrzymujemy. Dobra praktyka jest zawsze zrozumienie, jakie dane są zwracane przez nasze zapytanie, zanim zaczniemy z nich korzystać w naszym kodzie. Ostatecznie, zrozumienie, jak korzystać z zapytań SQL do manipulacji i odzyskiwania danych, jest kluczowym elementem dowolnej roli programistycznej.

Pytanie 20

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

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

Pytanie 21

Metainformacja “Description" zawarta w pliku źródłowym HTML powinna zawierać

<head>
    <meta name="Description" content="..." >
</head>
A. informację, kto jest autorem strony.
B. nazwę programu, przy użyciu którego została stworzona strona.
C. opis, co znajduje się na stronie.
D. wyrazy kluczowe, z których korzystają wyszukiwarki sieciowe.
Poprawna odpowiedź to 'opis, co znajduje się na stronie'. Metainformacja 'Description' w pliku źródłowym HTML jest wykorzystywana przez wyszukiwarki internetowe do wyświetlania opisu strony w wynikach wyszukiwania. Dzięki temu użytkownik może zobaczyć na pierwszy rzut oka, czy strona jest związana z jego zapytaniem, czy też nie. Jest to jedno z kluczowych narzędzi w SEO (Search Engine Optimization), które ma na celu zwiększenie widoczności strony w wynikach wyszukiwania. W praktyce, opis powinien być krótki, zwięzły i zawierać ważne informacje o treści strony. Dobrą praktyką jest również uwzględnienie kluczowych słów, na które użytkownicy mogą szukać. Opis ten powinien być zrozumiały dla użytkowników, a także jest to miejsce, gdzie można wykorzystać strategie marketingowe, aby zachęcić do odwiedzenia strony.

Pytanie 22

Jakie jest zadanie funkcji PHP o nazwie mysql_num_rows()?

A. zwrócić liczbę wierszy znajdujących się w wyniku zapytania
B. ponumerować rekordy w bazie danych
C. zwrócić następny rekord z wynikami zapytania
D. zwrócić rekord o numerze podanym jako parametr funkcji
Funkcja mysql_num_rows() w PHP jest używana do zwracania liczby wierszy w wyniku zapytania SQL, co jest kluczowe w pracy z danymi w bazach danych. Gdy wykonujemy zapytanie, na przykład za pomocą mysql_query(), otrzymujemy wynik w formie zasobu. Funkcja mysql_num_rows() pozwala na określenie, ile wierszy zostało zwróconych przez to zapytanie. To jest szczególnie przydatne w sytuacjach, gdy chcemy wiedzieć, czy dane istnieją, na przykład w aplikacjach webowych, gdzie użytkownik szuka określonych informacji. Oznacza to, że możemy dostosować logikę naszej aplikacji na podstawie liczby wyników. Ponadto, korzystając z tej funkcji, możemy monitorować i optymalizować zapytania, co jest zgodne z najlepszymi praktykami w zakresie wydajności i zarządzania bazami danych. Warto również zauważyć, że mysql_num_rows() działa w kontekście wywołania do bazy danych, co oznacza, że musi być używana w kontekście zasobu wynikowego, aby działać poprawnie.

Pytanie 23

W bazie danych znajduje się tabela ksiazki, która zawiera pola: tytul, id_autora, data_wypoz oraz id_czytelnika. Co dzień generowany jest raport dotyczący książek wypożyczonych w danym dniu, który prezentuje tylko tytuły książek. Która z poniższych kwerend SQL będzie odpowiednia do utworzenia tego raportu?

A. SELECT * FROM ksiazki
B. SELECT tytul, data_wypoz FROM ksiazki WHERE data_wypoz = CURRDATE_NT_E()
C. SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE()
D. SELECT tytul FROM ksiazki
Wybrana kwerenda SQL, czyli 'SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE();', jest poprawna, ponieważ precyzyjnie spełnia wymagania zadania. Kwerenda ta wybiera jedynie tytuły książek z tabeli 'ksiazki', które zostały wypożyczone w dniu, który odpowiada bieżącej dacie. Funkcja 'CURRENT_DATE()' zwraca datę systemową w formacie YYYY-MM-DD, co pozwala na prawidłowe porównanie z polem 'data_wypoz'. Takie podejście jest zgodne z dobrymi praktykami w zakresie analizy baz danych, gdzie minimalizowanie liczby zwracanych danych do niezbędnego minimum znacząco poprawia wydajność zapytań. W praktyce, taka kwerenda może być przydatna w systemach bibliotek, które generują codzienne raporty wypożyczeń, umożliwiając bibliotekarzom szybki dostęp do informacji o książkach, które były popularne danego dnia. Warto także pamiętać o możliwości używania dodatkowych filtrów, na przykład według konkretnego czytelnika, co zwiększa funkcjonalność raportu.

Pytanie 24

W aplikacji PHP do bazy danych została wysłana kwerenda SELECT przy pomocy funkcji mysqli_query. Jaką funkcję powinien wykorzystać użytkownik, aby ustalić, ile rekordów zostało zwróconych przez zapytanie?

A. mysqli_num_rows
B. mysqli_fetch_row
C. mysqli_query
D. mysqli_connect
Funkcja mysqli_num_rows jest kluczowym narzędziem w interakcji z bazą danych w PHP, umożliwiającym sprawdzenie liczby rekordów zwróconych przez zapytanie SELECT. Po wywołaniu mysqli_query, które wykonuje zapytanie SQL, można uzyskać wynik, który jest obiektem typu mysqli_result. Używając mysqli_num_rows, możemy szybko i efektywnie dowiedzieć się, ile rekordów zostało zwróconych przez to zapytanie. Przykładowo, po wykonaniu zapytania do bazy danych można użyć poniższego kodu: $result = mysqli_query($conn, 'SELECT * FROM users'); $count = mysqli_num_rows($result); echo 'Liczba rekordów: ' . $count;. Dzięki temu użytkownik ma pełną kontrolę nad danymi, co jest zgodne z najlepszymi praktykami w programowaniu, gdzie liczenie rekordów może być niezbędne do dalszej logiki aplikacji, jak stronicowanie wyników czy walidacja danych. Warto również wiedzieć, że mysqli_num_rows nie tylko zwraca liczbę rekordów, ale także działa wydajnie, co ma znaczenie przy dużych zbiorach danych, gdzie minimalizowanie obciążenia serwera i bazy jest kluczowe.

Pytanie 25

Skrypt w JavaScript, który obsługuje wynagrodzenia pracowników, powinien stworzyć raport dla tych, którzy są zatrudnieni na umowę o pracę oraz otrzymują wynagrodzenie w przedziale domkniętym od 4000 do
4500 zł. Jaki warunek należy zastosować do wygenerowania raportu?

A. umowa == 'praca' || (pensja >= 4000 || pensja <= 4500)
B. umowa == 'praca' && (pensja >= 4000 && pensja <= 4500)
C. umowa == 'praca' && (pensja >= 4000 || pensja <= 4500)
D. umowa == 'praca' || (pensja >= 4000 && pensja <= 4500)
Odpowiedź umowa == 'praca' && (pensja >= 4000 && pensja <= 4500) jest poprawna, ponieważ precyzyjnie określa warunki, jakie muszą być spełnione, aby wygenerować raport. Warunek umowa == 'praca' zapewnia, że analizujemy tylko pracowników zatrudnionych na umowę o pracę, co jest kluczowe w kontekście raportowania. Dodatkowo zastosowanie operatora logicznego '&&' w połączeniu z zakresowym sprawdzeniem pensji (pensja >= 4000 && pensja <= 4500) skutkuje tym, że raport zostanie wygenerowany wyłącznie dla pracowników, których pensja mieści się w ścisłym przedziale od 4000 do 4500 zł. To podejście jest zgodne z dobrymi praktykami programistycznymi, gdzie ważne jest, aby warunki były ściśle zdefiniowane, co pozwala uniknąć nieporozumień i błędów w danych. Przykładowo, jeżeli stworzymy funkcję generującą raport, możemy ją łatwo zaimplementować w systemie hr, co pozwoli na automatyzację procesów związanych z płacami oraz raportowaniem, a także zwiększy przejrzystość i precyzję w zarządzaniu danymi finansowymi.

Pytanie 26

Instrukcja break w przedstawionym kodzie PHP sprawi, że

for($i = 1; $i <= 3; $i++) {
    for($j = 1; $j <= 3; $j++) {
        echo "Iteracja: ($i, $j)";
        if($i == 2 and $j == 2)
            break;
    }
}
A. działanie wewnętrznej pętli zostanie zakończone po iteracji (2, 2) i będzie kontynuowane dla $i = 3.
B. iteracja (2, 2) zostanie przerwana i nastąpi po niej iteracja (2, 3).
C. wewnętrzna pętla dokończy działanie dla $j = 3, a następnie program zostanie przerwany.
D. działanie obu pętli zostanie zakończone po iteracji (2, 2).
Niektóre z błędnych odpowiedzi sugerują, że instrukcja 'break' w PHP kończy wykonywanie wszystkich pętli czy też kończy działanie wewnętrznej pętli, ale dopiero po zakończeniu iteracji dla $j = 3. Te podejścia są nieprawidłowe z kilku powodów. Po pierwsze, instrukcja 'break' bez dodatkowego argumentu zawsze kończy najbliższą pętlę, nie wszystkie. Po drugie, 'break' natychmiast przerywa działanie pętli, nie czeka aż skończą się inne iteracje. Te błędne założenia mogą wynikać z niezrozumienia działania instrukcji 'break' i pętli w PHP. Pamiętaj, że instrukcje sterujące, takie jak 'break', są kluczowymi elementami języków programowania i ich prawidłowe zrozumienie jest niezbędne do efektywnego kodowania. W PHP, 'break' jest często używana do optymalizacji kodu, umożliwiając programiście zakończenie pętli, w momencie gdy dalsze iteracje nie wpłyną na wynik końcowy.

Pytanie 27

Tabela gory zawiera dane o polskich szczytach oraz górach, w których się one znajdują. Jakie zapytanie należy wykonać, aby zobaczyć Koronę Gór Polskich, czyli najwyższy szczyt w każdym z pasm górskich?

A. SELECT pasmo, szczyt FROM gory GROUP BY wysokosc;
B. SELECT pasmo, szczyt, MAX(wysokosc) FROM gory;
C. SELECT pasmo, szczyt, MAX(wysokosc) FROM gory GROUP BY pasmo;
D. SELECT pasmo, szczyt, wysokosc FROM gory;
Wybrana kwerenda SELECT pasmo, szczyt, MAX(wysokosc) FROM gory GROUP BY pasmo; jest poprawna, ponieważ umożliwia uzyskanie najwyższego szczytu w każdym pasmie górskim. W tym przypadku użycie funkcji agregującej MAX pozwala na zidentyfikowanie maksymalnej wartości kolumny 'wysokosc' dla każdej grupy utworzonej przez 'pasmo'. Podczas stosowania klauzuli GROUP BY, dane są dzielone na różne grupy na podstawie wartości w kolumnie 'pasmo', a następnie dla każdej grupy obliczana jest maksymalna wysokość szczytu. Taki sposób zorganizowania danych jest zgodny z najlepszymi praktykami SQL, które rekomendują wykorzystanie funkcji agregujących w połączeniu z grupowaniem, aby uzyskać zwięzłe i precyzyjne wyniki. Przykładowo, po wykonaniu tej kwerendy, otrzymamy listę pasm górskich wraz z najwyższymi szczytami, co jest niezbędne do analizy geograficznej i turystycznej.

Pytanie 28

Graficzny interfejs użytkownika, który umożliwia wprowadzanie danych do bazy, to

A. encja
B. raport
C. formularz
D. kwerenda
Formularz to interaktywny obiekt w graficznym interfejsie użytkownika, który umożliwia użytkownikom wprowadzanie danych do bazy danych w sposób zorganizowany i intuicyjny. Formularze są standardowo używane w aplikacjach webowych oraz desktopowych, pozwalając na zbieranie informacji od użytkowników, takich jak imię, nazwisko, adres e-mail czy inne istotne dane. Stosowanie formularzy w systemach informacyjnych jest zgodne z zasadami projektowania UX (User Experience), które zalecają, aby interfejsy były jak najbardziej przyjazne dla użytkowników. Dobrym przykładem zastosowania formularzy są strony rejestracyjne, gdzie użytkownicy muszą wprowadzić swoje dane, a system zapisuje je w bazie danych. Dobrze zaprojektowany formularz powinien zawierać walidację danych wprowadzanych przez użytkowników, co pozwala na eliminację błędów przed przesłaniem informacji do bazy. Warto również pamiętać o responsywności formularzy, aby były one użyteczne na różnych urządzeniach, co jest jednym z wymogów nowoczesnego web designu.

Pytanie 29

W formularzu zdefiniowano kontrolki do wpisania imienia i nazwiska. Który atrybut reprezentuje podpowiedź umiejscowioną w polu kontrolki, znikającą w momencie, gdy użytkownik rozpocznie wpisywanie wartości?

<label for="imie">Imię: </label>
<input id="imie" value="Wpisz dane" title="Wpisz imię"><br>
<label for="nazw">Nazwisko: </label>
<input id="nazw" placeholder="Wpisz dane" title="Wpisz nazwisko">
A. placeholder
B. title
C. value
D. for
Dobrze! Poprawna odpowiedź to 'placeholder'. Atrybut 'placeholder' w elemencie input HTML jest używany do wyświetlania podpowiedzi wewnątrz pola formularza, która znika, gdy użytkownik zaczyna wpisywanie danych. Jest to zgodne z pytaniem, w którym poproszono o atrybut reprezentujący podpowiedź w polu formularza, która znika, gdy użytkownik rozpoczyna wpisywanie. Przykładem może być formularz logowania, gdzie w polach 'Użytkownik' i 'Hasło' można umieścić podpowiedzi 'Wpisz nazwę użytkownika' i 'Wpisz hasło' odpowiednio. Atrybut 'placeholder' jest bardzo przydatny w interaktywnym designie, pomagając użytkownikom zrozumieć, jakie informacje są od nich oczekiwane w danym polu formularza.

Pytanie 30

Z przedstawionych tabel Artykuly i Autorzy należy wybrać jedynie nazwiska autorów i tytuły ich artykułów, które zostały ocenione na 5. Kwerenda wybierająca te dane ma postać

Ilustracja do pytania
A. SELECT nazwisko, tytul FROM autorzy, artykuly WHERE ocena == 5;
B. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = artykuly.id;
C. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id;
D. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;
Gratulacje! Wybrałeś poprawne zapytanie SQL, które dokładnie odpowiada na postawione pytanie. Zapytanie 'SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;' jest prawidłowe, bo łączy dwie tabele 'autorzy' i 'artykuly' za pomocą klucza obcego 'autorzy_id' w tabeli 'artykuly'. Dzięki temu uzyskujemy dostęp do nazwisk autorów i tytułów artykułów. Dodatkowo, część 'WHERE ocena = 5' filtruje wyniki tak, aby wyświetlane były tylko te rekordy, gdzie ocena wynosi 5. To jest kluczowy element, który pozwala nam skupić się tylko na tych danych, które są istotne dla pytania. W praktyce, tego typu zapytania pomagają nam w analizie wydajności autorów i jakości artykułów, co jest niezwykle ważne w branży wydawniczej.

Pytanie 31

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 32

Po uruchomieniu poniższego kodu PHP na ekranie ukaże się bieżąca data w formacie:

echo date("Y-m");
A. dzień oraz rok
B. tylko rok
C. rok oraz miesiąc
D. dzień, miesiąc, rok
Odpowiedź "rok i miesiąc" jest prawidłowa, ponieważ funkcja date() w PHP, kiedy wykorzystujemy format "Y-m", zwraca datę w formacie roku, np. 2023, oraz miesiąca w postaci dwucyfrowej, np. 09 dla września. Warto zrozumieć, że format "Y" generuje czterocyfrowy rok, natomiast "m" generuje dwucyfrowy miesiąc. To podejście jest często wykorzystywane w aplikacjach webowych do prezentacji dat w sposób zrozumiały dla użytkowników, a także do grupowania danych według miesięcy w bazach danych. Przykładowo, w systemach raportowania finansowego, często wykorzystuje się ten format do agregacji danych sprzedażowych według miesięcy, co ułatwia analizę wyników. Użycie odpowiednich standardów w formacie daty wspomaga utrzymanie spójności i czytelności danych w różnych systemach informatycznych.

Pytanie 33

Formaty wideo, które są wspierane przez standard HTML5, to

A. MP4, AVI
B. Ogg, QuickTime
C. MP4, Ogg, WebM
D. Ogg, AVI, MPEG
Odpowiedź MP4, Ogg, WebM jest poprawna, ponieważ te trzy formaty wideo są oficjalnie obsługiwane przez standard HTML5, co oznacza, że są zgodne z różnymi przeglądarkami internetowymi bez potrzeby używania dodatkowych wtyczek. Format MP4, oparty na kontenerze MPEG-4, jest szeroko stosowany z uwagi na jego efektywność w kompresji oraz wysoką jakość obrazu i dźwięku. Ogg to otwarty format, który wspiera kodek VP8, co czyni go popularnym wśród projektów o otwartym oprogramowaniu. WebM, z kolei, jest również formatem otwartym, zoptymalizowanym dla wideo w Internecie, co czyni go dobrym wyborem dla zastosowań webowych. Te formaty są zgodne z najlepszymi praktykami w zakresie wydajności i dostępności, co sprawia, że są preferowane podczas tworzenia treści wideo do zastosowań online. Przykładem ich użycia może być osadzanie wideo na stronach internetowych, gdzie różnorodność formatów pozwala na ich odtwarzanie na różnych urządzeniach oraz w różnych systemach operacyjnych.

Pytanie 34

W języku JavaScript zdefiniowano obiekt. Aby uzyskać wartość atrybutu, można użyć następującego zapisu:

obiekt = { q: 1, w: 2, e: 3, r:4 };
A. obiekt->w
B. obiekt::w
C. obiekt:w
D. obiekt.w
Odpowiedź 'obiekt.w' jest prawidłowa, ponieważ w JavaScript używamy notacji kropkowej do uzyskiwania dostępu do właściwości obiektów. W tym przypadku mamy obiekt zadeklarowany jako 'obiekt = { q: 1, w: 2, e: 3, r:4 };'. Aby uzyskać wartość przypisaną do właściwości 'w', wystarczy użyć notacji kropkowej i napisać 'obiekt.w', co zwróci wartość '2'. Tego typu dostęp do danych jest standardem w JavaScript i jest szeroko stosowany w projektach, co pozwala na efektywne i czytelne manipulowanie danymi. Przykładowo, możemy użyć tej techniki w funkcjach, które przetwarzają obiekty lub w kodzie, który reaguje na zdarzenia, gdzie często zachodzi potrzeba uzyskania konkretnych wartości z obiektów. Dobrą praktyką jest również używanie notacji kropkowej, gdy właściwości obiektu mają znane i stabilne nazwy, co zwiększa czytelność kodu.

Pytanie 35

Na stronie WWW umieszczono obrazek, a następnie akapit. Aby obrazek był wyświetlany przez przeglądarkę w tej samej linii co akapit, po lewej stronie tekstu akapitu, w stylu CSS dla obrazka należy ustawić formatowanie

A. alt: left;
B. float: left;
C. align: left;
D. style: left;
Odpowiedź "float: left;" jest poprawna, ponieważ właściwość CSS "float" służy do określenia, w jaki sposób elementy są rozmieszczane na stronie. Ustawienie "float: left;" dla rysunku sprawia, że zostaje on umieszczony po lewej stronie swojego kontenera, a pozostałe elementy, takie jak akapit, mogą układać się obok niego. Jest to powszechnie stosowana technika w układach stron internetowych, pozwalająca na osiągnięcie płynnych i responsywnych rozkładów treści. Na przykład, w przypadku gdy mamy obrazek i akapit, stosując float, obrazek zostanie wypchnięty w lewo, a tekst akapitu automatycznie dostosuje się, zajmując dostępną przestrzeń obok rysunku. Warto również dodać, że po zastosowaniu float, należy zadbać o usunięcie efektu 'zatrzymywania się' rysunków, co można osiągnąć poprzez stosowanie właściwości "clear" w odpowiednich miejscach, aby nie zakłócać układu sąsiednich elementów. Tego typu techniki są fundamentem projektowania stron, zgodnie z zasadami dobrych praktyk UX/UI oraz standardami W3C. W przypadku bardziej złożonych układów warto również rozważyć zastosowanie Flexbox lub Grid Layout, które oferują większą elastyczność i kontrolę nad położeniem elementów w nowoczesnych projektach.

Pytanie 36

Na przedstawionej grafice widać fragment bazy danych. Jakie kwerendę należy zastosować, aby uzyskać nazwy produktów zakupionych przez klienta o id = 1?

Ilustracja do pytania
A. SELECT nazwa FROM produkty JOIN transakcje_produkty USING(nr_produktu) JOIN transakcje USING(nr_transakcji) WHERE nr_klienta = 1
B. SELECT nazwa FROM produkty JOIN transakcje ON nr_produktu = nr_klienta WHERE nr_klienta = 1
C. SELECT nazwa FROM produkty JOIN transakcje_produkty JOIN transakcje WHERE nr_klienta = 1
D. SELECT nazwa FROM produkty JOIN transakcje_produkty USING(nr_produktu) WHERE nr_klienta = 1
Niepoprawne odpowiedzi wynikają z błędnego zrozumienia struktury bazy danych oraz sposobu łączenia tabel. Błędem w połączeniach JOIN jest nieprawidłowe określenie warunków łączenia tabel co prowadzi do niekompletnych lub błędnych wyników. W przypadku bazy danych relacyjnej kluczowe jest aby każda tabela była prawidłowo połączona przez klucz obcy co zapewnia integralność danych. Źle skonstruowane zapytania mogą powodować problemy wydajnościowe jak również zwracać niewłaściwe informacje co jest szczególnie problematyczne w środowisku produkcyjnym. Typowe błędy myślowe obejmują nieprawidłowe zrozumienie pojęcia klucza obcego jako mechanizmu łączącego tabele oraz błędne stosowanie klauzuli WHERE bez uwzględnienia pełnej relacji między tabelami. Również użycie niewłaściwych aliasów czy nieprecyzyjnych warunków może prowadzić do nieoptymalnych zapytań. Dlatego też ważne jest zrozumienie działania JOIN oraz jego wpływu na zapytania SQL aby móc skutecznie projektować systemy bazodanowe które są skalowalne i efektywne w działaniu.

Pytanie 37

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. Akomodacja
B. Asertywność
C. Empatia
D. Konformizm
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 38

Przedstawiony w ramce kod języka PHP oznacza, że zmienna $liczba2 jest

Ilustracja do pytania
A. iloczynem logicznym ze zmienną $liczba1
B. negacją logiczną zmiennej $liczba1
C. referencją do $liczba1
D. wskaźnikiem do $liczba1
Instrukcja $liczba2 = &$liczba1; w PHP oznacza, że zmienna $liczba2 staje się referencją do $liczba1. Ten znak ampersanda (&) nie jest żadnym operatorem logicznym, tylko właśnie operatorem referencji w PHP. W praktyce oznacza to, że obie zmienne wskazują na to samo miejsce w pamięci, więc przechowują dokładnie tę samą wartość. Jeżeli później w kodzie napiszesz $liczba1 = 10; to automatycznie $liczba2 też będzie miała wartość 10, i odwrotnie – zmiana $liczba2 zmieni $liczba1. Z mojego doświadczenia w PHP referencje używa się głównie wtedy, gdy chcemy, żeby funkcja modyfikowała przekazaną zmienną bez zwracania jej wyniku, albo gdy operujemy na dużych strukturach danych (tablice, obiekty) i nie chcemy kopiować ich zawartości. Przykład: function zwieksz(&$x){ $x++; } sprawi, że wywołanie zwieksz($liczba1); zmieni wartość zmiennej poza funkcją. To jest typowy, całkiem często spotykany wzorzec w starszych projektach PHP. Warto też pamiętać, że referencja w PHP nie jest tym samym, co wskaźnik w C/C++. Programista nie operuje bezpośrednio na adresach pamięci, tylko na abstrakcji zaprojektowanej przez silnik Zend. Dobra praktyka jest taka, żeby referencji używać oszczędnie i świadomie, bo nadmierne ich stosowanie utrudnia debugowanie, testowanie jednostkowe i zrozumienie przepływu danych w aplikacji. W nowoczesnym kodzie PHP częściej korzysta się z przekazywania obiektów (które zachowują się referencyjnie) oraz z czytelnego zwracania wartości z funkcji. Mimo to, rozumienie mechanizmu referencji jest bardzo ważne, bo nadal pojawia się w wielu istniejących aplikacjach webowych i w zadaniach egzaminacyjnych.

Pytanie 39

Po wykonaniu instrukcji języka JavaScript  x = Math.ceil(2.4); wartość zmiennej x będzie wynosić

A. 3
B. 2
C. 8
D. 4
W tym przykładzie kluczowe jest zrozumienie, co dokładnie robi funkcja Math.ceil() w JavaScript. Ta funkcja zawsze zaokrągla liczbę w górę do najbliższej liczby całkowitej, i to niezależnie od tego, jak mała jest część ułamkowa. Dla wartości 2.4 najbliższa liczba całkowita „w górę” to 3, więc po wykonaniu instrukcji x = Math.ceil(2.4); zmienna x przyjmie wartość 3. Nie interesuje nas tu klasyczne zaokrąglanie matematyczne do „najbliższej” liczby, tylko zawsze w stronę dodatniej nieskończoności. W standardzie ECMAScript Math.ceil() jest jedną z podstawowych funkcji do pracy z liczbami, obok Math.floor() (zaokrąglenie w dół) i Math.round() (zaokrąglenie do najbliższej liczby całkowitej). Dla porównania: Math.floor(2.4) da 2, Math.round(2.4) też da 2, a tylko Math.ceil(2.4) zwróci 3. W praktyce webowej takie funkcje są często używane np. przy dzieleniu elementów na strony (paginacja), liczeniu ilości stron w wynikach wyszukiwania, obliczaniu liczby wierszy w siatce (grid), czy przy przeliczaniu miejsc w koszyku, kiedy musisz zawsze „doliczyć” pełną jednostkę. Moim zdaniem warto od razu wyrobić sobie nawyk, żeby przy liczbach zmiennoprzecinkowych w JavaScript pamiętać o różnicach między ceil, floor i round, bo to są podstawowe narzędzia przy każdym kalkulatorze, module cenowym, przeliczaniu czasu trwania, dzieleniu zadań na porcje itd. Dobra praktyka jest też taka, żeby zawsze jasno nazywać zmienne, np. totalPages = Math.ceil(itemsCount / itemsPerPage); – od razu widać, że chodzi o zaokrąglenie w górę. Podsumowując: poprawna odpowiedź to 3, bo Math.ceil() zawsze przesuwa wynik do najbliższej większej lub równej liczby całkowitej. Dla 2.4 jest to właśnie 3.

Pytanie 40

W języku PHP zapis $b++ jest równoważny zapisowi

A. $b == $b
B. $b = $b + $b
C. $b = $b + 1
D. $b == $b + $b
Zapis $b++ w PHP to tak zwany operator inkrementacji w wersji postfiksowej. Oznacza on zwiększenie wartości zmiennej b dokładnie o 1. W praktyce, po wykonaniu tej instrukcji, b będzie miało wartość b + 1. Dlatego zapis ten jest równoważny instrukcji przypisania $b = $b + 1. Warto zauważyć, że jest to uproszczona, bardziej czytelna forma, bardzo często wykorzystywana w pętlach, np. for ($i = 0; $i < 10; $i++). Właśnie w takim kontekście operator ++ jest praktycznie standardem branżowym i każdy programista webowy powinien go rozumieć bez zastanawiania. Moim zdaniem używanie $b++ zamiast $b = $b + 1 poprawia czytelność kodu, szczególnie gdy mamy dużo operacji na licznikach, indeksach tablic czy licznikach iteracji. Trzeba też pamiętać o różnicy między $b++ a ++$b. W wersji postfiksowej (b++) najpierw zwracana jest stara wartość, a dopiero potem zmienna jest zwiększana. W wersji prefiksowej (++b) najpierw zwiększana jest wartość, a potem zwracany jest już nowy wynik. W prostych przypadkach, takich jak samodzielna linijka $b++; albo $b = $b + 1;, efekt końcowy w zmiennej b jest ten sam. Natomiast w wyrażeniach typu $c = $b++; różnica ma znaczenie. W codziennej pracy z PHP operatory ++ i -- są fundamentem przy pisaniu pętli, prostych algorytmów zliczania, paginacji czy obsługi indeksów w tablicach. Dobra praktyka to stosowanie tych skróconych operatorów tam, gdzie naprawdę chodzi tylko o zwiększenie lub zmniejszenie o 1, bo od razu widać intencję programisty i kod jest bardziej zwięzły, bez zbędnego „szumu”.