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: 16 kwietnia 2026 15:14
  • Data zakończenia: 16 kwietnia 2026 15:16

Egzamin niezdany

Wynik: 14/40 punktów (35,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Aby określić styl czcionki w CSS, należy zastosować właściwość

A. text-style
B. text-family
C. font-style
D. font-family
Właściwość CSS 'font-family' jest kluczowym elementem definiowania kroju czcionki w stylach CSS. Umożliwia ona określenie, jaki krój czcionki ma być użyty dla danego elementu na stronie. Możemy podać pojedynczy krój czcionki, na przykład 'Arial', lub listę alternatywnych krojów, jak 'Helvetica, sans-serif', co zapewnia większą elastyczność w przypadku, gdy wybrany krój nie jest dostępny na urządzeniu użytkownika. Zaleca się również stosowanie nazw krojów czcionek w postaci cudzysłowów, zwłaszcza jeśli nazwa zawiera spacje, jak 'Times New Roman'. Zgodnie z najlepszymi praktykami, dobór odpowiedniego kroju czcionki jest kluczowy dla czytelności i estetyki strony, dlatego warto przeprowadzić testy A/B, aby sprawdzić, które krój czcionki lepiej wpływa na doświadczenia użytkowników. Oprócz 'font-family', warto również zwrócić uwagę na inne właściwości, takie jak 'font-size', 'font-weight' czy 'line-height', które wspólnie kształtują wygląd tekstu na stronie.

Pytanie 2

W języku JavaScript, w programowaniu obiektowym, zapis this.zawod w przedstawionym kodzie oznacza

function Uczen(){
  this.imie = "";
  this.nazwisko = "";
  this.technik = 'informatyk';
  this.zawod = function(){
    return this.technik;
  };
}
A. właściwość
B. metodę
C. konstruktor
D. klasę
Kod JavaScript używa funkcji do tworzenia obiektów, co może być mylące. Kiedy wskazujesz this.zawod, to pokazujesz, że to jest metoda, ale wybór odpowiedzi klasa jest nieprawidłowy. JavaScript nie działa z klasami jak w Javie czy C#. Klasy pojawiły się dopiero w ES6 jako taki dodatek do funkcji konstrukcyjnych. Odpowiedź metoda to w sumie strzał w dziesiątkę, bo w obiektach funkcja przypisana do właściwości to właśnie metoda, która działa na danych obiektu. Wybór konstruktor też jest błędny, bo konstruktor to specjalna funkcja do tworzenia nowych obiektów, i w naszym przykładzie to ta funkcja Uczen. Z kolei odpowiedź właściwość jest myląca, bo choć this.zawod to właściwość, która trzyma funkcję, to jest też metodą. Warto zrozumieć różnice między właściwościami a metodami, bo to jest kluczowe w programowaniu obiektowym w JavaScript.

Pytanie 3

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Barwienie.
B. Krzywe.
C. Inwersja.
D. Progowanie.
Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.

Pytanie 4

Selektor CSS a:link {color:red} użyty w kaskadowych arkuszach stylów określa

A. klasę
B. pseudoklasę
C. identyfikator
D. pseudoelement
Odpowiedź, którą wybrałeś, to pseudoklasa. W CSS jest to typowa sprawa, bo selektor a:link to właśnie przykład użycia pseudoklas. Dzięki nim możesz stylizować różne elementy na podstawie ich stanu lub tego, jak się zachowują w dokumencie. Na przykład, selektor a:link definiuje styl dla linków, które jeszcze nie zostały odwiedzone - więc jeśli ktoś kliknął na link, zmienia się jego wygląd. Używając pseudoklas, możesz znacznie poprawić estetykę stron i sprawić, że będą bardziej przyjazne dla użytkowników. Pomyśl o takich pseudoklasach jak :hover, co zmienia styl, gdy najedziemy kursorem, albo :active, która wprowadza zmiany podczas klikania. To naprawdę dobra technika, żeby nadać stronom fajny, dynamiczny charakter. Rozumienie pseudoklas to istotna sprawa w web designie, a to, co się zgadza z tym, co mówi W3C, to dodatkowy atut.

Pytanie 5

Który z poniższych zapisów w HTML określa kodowanie znaków stosowane w dokumencie?

A. <meta encoding="UTF-8">
B. <encoding="UTF-8">
C. <meta charset="UTF-8">
D. <charset="UTF-8">
Zapis <meta charset="UTF-8"> jest prawidłową deklaracją kodowania znaków w dokumencie HTML. Element <meta> jest używany w sekcji <head> dokumentu i pozwala na zdefiniowanie różnych metadanych, w tym kodowania znaków. Użycie "UTF-8" jako wartości dla atrybutu charset oznacza, że dokument będzie używał kodowania Unicode, które jest standardem preferowanym w sieci. Dzięki temu, dokumenty mogą poprawnie wyświetlać znaki z różnych języków, co jest kluczowe w zglobalizowanym świecie internetu. Przykładem zastosowania tego zapisu może być strona internetowa, która zawiera teksty w wielu językach, co wymaga wsparcia dla różnorodnych znaków diakrytycznych i symboli. Warto również podkreślić, że zgodnie z zasadami dobrych praktyk, zawsze powinno się definiować kodowanie znaków w dokumencie HTML, aby uniknąć problemów z wyświetlaniem treści, co może negatywnie wpłynąć na doświadczenia użytkowników oraz SEO strony.

Pytanie 6

W bazie danych MYSQL znajduje się tabela z programami komputerowymi, która ma pola: nazwa, producent, rokWydania. Jak należy sformułować kwerendę SELECT, aby uzyskać wszystkie nazwy producentów bez powtórzeń?

A. SELECT DISTINCT producent FROM programy;
B. SELECT producent FROM programy WHERE UNIQUE;
C. SELECT producent FROM programy WHERE producent NOT DUPLICATE;
D. SELECT UNIQUE producent FROM programy;
Odpowiedź 'SELECT DISTINCT producent FROM programy;' jest w porządku. To dlatego, że kluczowe słowo DISTINCT działa tak, że zwraca tylko unikalne wartości z kolumny 'producent' w tabeli 'programy'. Jak są duże zbiory danych, to użycie DISTINCT naprawdę się przydaje, bo pozwala pozbyć się duplikatów i to później ułatwia analizę danych. Na przykład, kiedy w tabeli jest mnóstwo rekordów dla tego samego producenta, to DISTINCT zwróci tylko jeden wpis dla każdego z nich. Wiesz, to taka dobra praktyka w SQL, bo im mniej danych musisz przetwarzać, tym lepsza wydajność. I, co ciekawe, użycie DISTINCT nie obniża wydajności zapytania tak bardzo, jak niektórzy mogą myśleć, szczególnie w dobrze zindeksowanych tabelach. Warto to mieć na uwadze.

Pytanie 7

Zamieszczone poniżej zapytanie SQL przyznaje uprawnienie SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. do wszystkich tabel w bazie danych hurtownia
B. dla konta root na serwerze localhost
C. dla konta root na serwerze sprzedawca
D. do wszystkich kolumn w tabeli hurtownia
Wybór opcji, która sugeruje, że polecenie nadaje dostęp do wszystkich pól w tabeli hurtownia, jest mylny, ponieważ w SQL uprawnienia są przyznawane na poziomie tabeli, a nie pól. W SQL nie możemy przyznać uprawnień do pojedynczych kolumn w taki sposób, jak sugeruje ta odpowiedź; wyjątkiem są bardziej szczegółowe polecenia, w których można określić kolumny, ale nie w kontekście polecenia GRANT z użyciem znaku <code>*</code>. Innym błędnym wnioskiem jest stwierdzenie, że polecenie dotyczy użytkownika root. Polecenie wskazuje, że uprawnienia są przyznawane użytkownikowi 'sprzedawca' na localhost, a nie użytkownikowi root, który jest administratorem systemu baz danych. Takie nieporozumienia mogą wynikać z nieznajomości struktury użytkowników w MySQL oraz sposobu, w jaki działają uprawnienia. Ważne jest zrozumienie, że w kontekście bezpieczeństwa bazy danych, przyznawanie uprawnień powinno być przemyślane, aby unikać nieautoryzowanego dostępu oraz ograniczać dostęp do danych tylko do tych użytkowników, którzy rzeczywiście go potrzebują. Dbanie o bezpieczeństwo danych w bazie danych jest kluczowe, a niewłaściwe przyznawanie uprawnień może prowadzić do poważnych naruszeń bezpieczeństwa.

Pytanie 8

Które z poniższych formatowań nie jest zapisane w języku CSS?

A. Fragment pliku strona.html: <body style="background-color:yellow;">
B. Fragment pliku strona.html: <style> body {background-color: yellow;} </style>
C. Fragment pliku strona.html: <body bgcolor="yellow">
D. Fragment pliku formatowanie.css: body {background-color: yellow;}
Fragmenty <style> body {background-color: yellow;} oraz body {background-color: yellow;} są poprawnie wyrażone w języku CSS. Stylizowanie za pomocą CSS jest uznawane za najlepszą praktykę w tworzeniu stron internetowych, a zastosowanie tagu <style> pozwala na definiowanie stylów bezpośrednio w dokumencie HTML. To podejście jest szczególnie użyteczne w przypadku mniejszych projektów lub prototypów. Z drugiej strony, zewnętrzny plik CSS, jak wskazano w drugim przykładzie, to jeszcze lepsze rozwiązanie w przypadku większych aplikacji, pozwalające na dzielenie kodu i lepszą organizację stylów. Kolejny fragment <body style="background-color:yellow;"> również korzysta z CSS, jednak w formie stylu inline, co może prowadzić do trudności w zarządzaniu dużymi projektami, gdyż wprowadza powtarzalność stylów i zmniejsza możliwości ponownego użycia kodu. Łatwo zauważyć, że wszystkie trzy niepoprawne odpowiedzi korzystają z CSS, co jest zgodne z aktualnymi standardami tworzenia stron internetowych. Użycie CSS zapewnia nie tylko stylizację, ale także ułatwia implementację responsywności i dostępności, co jest kluczowe w dzisiejszych czasach, gdy różnorodność urządzeń jest tak duża.

Pytanie 9

Jaki program jest wykorzystywany do edycji dźwięku?

A. GIMP
B. Inkscape
C. CorelDRAW
D. Audacity
GIMP, Inkscape i CorelDRAW to programy, które używamy do grafiki, więc niewłaściwie przypisałeś je do obróbki dźwięku. GIMP jest szczególnie znany jako edytor grafiki rastrowej, co oznacza, że pracujesz tam z obrazami i pikselami, więc nie nadaje się do dźwięku. Inkscape i CorelDRAW to z kolei programy do grafiki wektorowej, idealne do tworzenia ilustracji, logotypów i takich rzeczy. Można w nich robić fajne rzeczy, ale do dźwięku się nie nadają. Często ludzie mylą te programy, myśląc, że wszystkie graficzne mają opcje do obróbki dźwięku. Dlatego ważne jest, żeby wiedzieć, jakie są różnice między nimi, co pomoże Ci lepiej dopasować narzędzia do zadań, które chcesz wykonać. Lepiej wybierać programy, które naprawdę odpowiadają Twoim potrzebom, żeby uniknąć takich zamieszania.

Pytanie 10

W bibliotece mysqli w PHP, aby uzyskać najbardziej aktualny komunikat o błędzie, można użyć funkcji

A. mysqli_errno()
B. mysqli_error_list()
C. mysqli_error()
D. mysqli_use_result()
W kontekście użycia funkcji do uzyskania komunikatów o błędach w bibliotece mysqli, niektóre z odpowiedzi mogą prowadzić do nieporozumień. Na przykład, mysqli_use_result() jest funkcją, która służy do pobierania zestawu wyników z zapytania SELECT w trybie pamięci. Jej głównym zadaniem jest przetwarzanie wyników, a nie błędów, co czyni ją nieodpowiednią w tym kontekście. Użycie tej funkcji nie zapewnia informacji o błędach, czego można się spodziewać w przypadku zapytań, które mogą zakończyć się niepowodzeniem. Z kolei mysqli_errno() zwraca numer błędu związanego z ostatnią operacją, co może być przydatne, ale samo w sobie nie dostarcza opisu błędu, a tym samym nie spełnia wymagań dotyczących uzyskania ostatniego komunikatu o błędzie w formie tekstowej. Mimo że może być użyteczne w niektórych kontekstach, np. w logice warunkowej, nie jest w stanie dostarczyć pełnego opisu, którego można oczekiwać. Funkcja mysqli_error_list() zwraca tablicę wszystkich błędów związanych z ostatnią operacją, co również jest przydatne w określonych sytuacjach, jednak wciąż nie spełnia wymagań dotyczących prostego i bezpośredniego uzyskania ostatniego komunikatu o błędzie. Ostatecznie, przy wyborze metody obsługi błędów, kluczowe jest zrozumienie, że funkcje te mają różne zastosowania i nie każda z nich będzie odpowiednia w kontekście uzyskania pełnego opisu błędu. Podsumowując, wybór odpowiednich funkcji do obsługi błędów jest kluczowy dla efektywnego debugowania i poprawnego działania aplikacji opartych na PHP.

Pytanie 11

W języku HTML, atrybut shape w znaczniku area, który definiuje typ obszaru, może mieć wartość

A. rect, poły, circle
B. style="margin-bottom: 0cm;">poły, square, circle
C. rect, sąuare, circle
D. style="margin-bottom: 0cm;">rect, triangle, circle
Atrybut shape znacznika area w języku HTML jest kluczowy dla określenia kształtu interaktywnego obszaru na mapie obrazów. Przyjmuje on wartości, które definiują geometrię obszaru w kontekście mapy, a do najpopularniejszych z nich należą 'rect', 'circle' oraz 'poly'. Wartość 'rect' definiuje prostokątny obszar, gdzie użytkownik może kliknąć w dowolnym miejscu w obrębie prostokąta. 'Circle' z kolei pozwala na stworzenie okrągłego obszaru kliknięcia, definiując jego środek oraz promień. Z kolei 'poly' umożliwia zdefiniowanie wielokątnego obszaru poprzez podanie współrzędnych wierzchołków. Te wartości są zgodne z definicjami przedstawionymi w standardach W3C, które określają sposób, w jaki przeglądarki interpretują te atrybuty. Przykładowo, dla atrybutu shape='rect' można podać współrzędne lewego górnego i prawego dolnego narożnika prostokąta, co sprawia, że jest to użyteczne w implementacji interaktywnych map. Zrozumienie tych wartości jest istotne dla programistów webowych, którzy chcą tworzyć dostępne i interaktywne treści.

Pytanie 12

Jakim kodem określa się kolor czerwony?

A. #00EEEE
B. #EE0000
C. #0000EE
D. #00EE00
Wybór innych kolorów wynika z błędnego zrozumienia wartości RGB oraz ich wpływu na uzyskanie pożądanych barw. Kod #00EEEE to kolor cyjanowy, uzyskany z maksymalnej wartości zielonej i niebieskiej, co nie ma związku z czerwonym. Kod #0000EE z kolei odpowiada kolorowi niebieskiemu, gdzie jedynie niebieski składnik jest na maksymalnym poziomie, a czerwony i zielony są całkowicie nieobecne, przez co nie może być postrzegany jako czerwony. Kod #00EE00 reprezentuje kolor zielony, również nieodpowiedni w tym kontekście, gdzie znowu brak czerwonego komponentu sprawia, że wynik nie jest zgodny z wymaganym kolorem. Użytkownik może pomylić się w ocenie, myśląc, że różne kombinacje składników RGB mogą prowadzić do uzyskania koloru czerwonego, podczas gdy kluczowym aspektem jest to, że czerwony komponent musi być dominujący i obecny w odpowiedniej wartości. Wartości RGB są fundamentem wielu aplikacji webowych, a ich zrozumienie jest kluczowe dla projektantów i programistów. Używanie niewłaściwych kodów barw może prowadzić do niezgodności wizualnych i braku spójności w projektach, co jest niezgodne z najlepszymi praktykami w branży, które zalecają stosowanie kolorów zgodnie z ich rzeczywistymi wartościami w systemie RGB.

Pytanie 13

W konstrukcji warunkowej w języku JavaScript należy sprawdzić sytuację, w której zmienne a oraz b są większe od zera, przy czym zmienna b jest mniejsza niż 100. Taki warunek powinien być zapisany w następujący sposób:

A. if ( a > 0 || (b > 0 && b < 100)) ...
B. if ( a > 0 || b > 0 || b > 100) ...
C. if ( a > 0 && b > 0 && b < 100) ...
D. if ( a > 0 && b > 0 || b > 100) ...
Wybór niewłaściwego warunku logicznego w tej sytuacji prowadzi do błędnych wyników. Przykładowo, w pierwszym przypadku użycie operatora OR (||) sprawia, że warunek zwróci true, jeśli którakolwiek z wartości będzie spełniona, co jest niezgodne z wymaganym zachowaniem. To oznacza, że jeśli 'a' lub 'b' będą dodatnie, ale 'b' będzie większe od 100, to warunek zostanie zrealizowany, co jest niepożądane. W drugim przypadku, mieszając operatory AND i OR, uzyskujemy niejednoznaczność. Warunek ten jest prawdziwy, jeżeli 'a' jest dodatnie oraz 'b' jest dodatnie lub większe od 100, co również nie spełnia naszych wymagań, gdyż obie zmienne muszą być dodatnie, a 'b' powinno być poniżej 100. W trzecim przypadku, zastosowanie operatora OR w sposób, który łączy warunki dotyczące 'b', prowadzi do tego, że warunek może być spełniony, nawet jeżeli 'b' jest większe od 100, co jest sprzeczne z naszymi założeniami. W każdej z tych sytuacji kluczowym błędem jest nieznalezienie właściwej logiki, która jednoznacznie określa, że obie zmienne muszą być dodatnie, a 'b' musi być mniejsze niż 100, co możemy osiągnąć jedynie za pomocą operatora AND.

Pytanie 14

W stylach CSS, aby ustalić styl linii obramowania jako linię kreskową, należy zastosować wartość

A. solid
B. dotted
C. dashed
D. groove
W stylach CSS, właściwość 'border-style' pozwala na określenie stylu obramowania elementu. Aby ustawić obramowanie jako linię kreskową, stosuje się wartość 'dashed'. Linia kreskowa jest jedną z opcji, które pozwalają na wizualne odróżnienie elementów na stronie internetowej. Wartość 'dashed' generuje obramowanie składające się z przerywanych linii, co czyni go idealnym do wyróżniania elementów, które wymagają uwagi lub są w pewien sposób odrębne. Przykład zastosowania: 'border: 2px dashed black;' tworzy obramowanie o grubości 2 pikseli, w kolorze czarnym, składające się z przerywanej linii. Wartości 'solid', 'dotted', oraz 'groove' oferują inne style obramowania, ale nie generują efektu linii kreskowej. 'Solid' tworzy jednolitą linię, 'dotted' składa się z kropek, a 'groove' daje efekt trójwymiarowego wgłębienia. Standardy CSS, w tym CSS3, precyzują te style, umożliwiając projektantom elastyczność w dostosowywaniu wyglądu stron internetowych, co jest kluczowe dla UX i UI designu.

Pytanie 15

Aby sprawdzić, czy kod JavaScript działa poprawnie, należy skorzystać z

A. interpretera PERL
B. kompilatora C++
C. interpretera PHP
D. konsoli w przeglądarce internetowej
Odpowiedzi, które mówią o interpreterach lub kompilatorach innych języków, nie są dobre, jeśli mówimy o testowaniu kodu JavaScript. Na przykład, interpreter PHP dotyczy zupełnie innego języka, który służy głównie do robienia dynamicznych stron internetowych. Podobnie z kompilatorami C++, które zamieniają kod C++ na pliki wykonywalne, więc nie mają nic wspólnego z JavaScript. Nawet interpreter PERL, mimo że to język skryptowy, nie może być użyty do testowania JavaScript. JavaScript działa w przeglądarkach i korzysta z silników takich jak V8 w Chrome czy SpiderMonkey w Firefoxie. Z tego powodu najlepszym wyborem do testowania kodu JavaScript jest konsola w przeglądarkach, bo jest zaprojektowana specjalnie do tego celu.

Pytanie 16

Język JavaScrypt umożliwia obsługę

A. funkcji wirtualnych
B. obiektów DOM
C. wysyłania ciastek z identycznymi informacjami do wielu klientów strony
D. klas abstrakcyjnych
Obsługa funkcji wirtualnych nie jest częścią języka JavaScript, ponieważ ten język nie obsługuje typów i mechanizmów programowania obiektowego w sposób, w jaki robią to inne języki, takie jak C++ czy Java. JavaScript nie posiada koncepcji 'wirtualnych funkcji', które są charakterystyczne dla języków, które implementują mechanizmy dziedziczenia oparte na klasach. W JavaScript, programowanie obiektowe opiera się na prototypach, co oznacza, że obiekty mogą dziedziczyć właściwości i metody bez użycia wirtualnych funkcji, co czyni to pojęcie nieadekwatnym w kontekście tego języka. Ponadto, klasa abstrakcyjna jest także pojęciem, które jest źle zrozumiane w kontekście JavaScript. W rzeczywistości, JavaScript nie wspiera klas abstrakcyjnych w tradycyjnym sensie znanym z języków statycznie typowanych. Wprowadzenie klas w ECMAScript 6 dodało nową składnię, ale nie zmieniło fundamentalnej natury języka. JavaScript nie wymusza implementacji metod w klasach pochodnych, co jest kluczowym aspektem klas abstrakcyjnych. Wreszcie, kwestia wysyłania ciastek z tą samą informacją do wielu klientów stron internetowych odnosi się bardziej do mechanizmów serwerowych i zarządzania sesjami niż do samego języka JavaScript. JavaScript działa głównie po stronie klienta, a ciasteczka są zarządzane przez przeglądarki internetowe, gdzie mogą być ustalane przez skrypty, ale samo wysyłanie ciasteczek do klientów nie jest bezpośrednio związane z jego funkcjonalnością. Te aspekty techniczne ukazują, dlaczego podane odpowiedzi nie są poprawne w kontekście pytania o obsługę JavaScript.

Pytanie 17

Tabela samochody zawiera dane przedstawione poniżej:

idklasa_idmarkamodelrocznik
11fordka2017
22seattoledo2016
33opelzafira2018
42fiat500X2018
53opelinsignia2017
Wydając zamieszczone zapytanie SQL, jakie dane zostaną zwrócone:
SELECT model FROM samochody WHERE rocznik > 2017 AND marka = "opel";
A. opel zafira; opel insignia
B. zafira
C. opel zafira
D. zafira; insignia
Poprawna odpowiedź to 'zafira', ponieważ zapytanie SQL odnosi się do modelu samochodu marki 'opel', którego rocznik jest większy niż 2017. Z analizy danych w tabeli wynika, że tylko model 'opel zafira' (z rocznika 2018) spełnia te warunki. Odpowiedzi 'opel zafira', 'zafira; insignia', 'opel zafira; opel insignia' zawierają dodatkowe informacje, które nie są zgodne z wymaganiami zapytania. Dobrym przykładem zastosowania takiej analizy jest filtrowanie danych w bazach danych, co jest kluczowym procesem w zarządzaniu informacjami. Efektywne posługiwanie się zapytaniami SQL to umiejętność istotna w pracy każdego analityka danych, programisty, czy specjalisty w zakresie baz danych, ponieważ pozwala na wyciąganie precyzyjnych informacji zgodnych z wymaganiami biznesowymi.

Pytanie 18

W kodzie źródłowym zapisanym w języku HTML wskaż błąd walidacji dotyczący tego fragmentu. <h6>CSS</h6>
<p>Kaskadowe arkusze stylów <b>ang.<i>Cascading Style Sheets</b></i>)<br>to język służący...</p>

A. Znak zamykający /b jest niezgodny z zasadą zagnieżdżania.
B. Znacznik h6 jest nieznany.
C. Znak br nie został prawidłowo zamknięty.
D. Znak br nie może być użyty wewnątrz znacznika p.
W analizowanym fragmencie kodu HTML występuje błąd związany z niewłaściwym zagnieżdżeniem znaczników. W szczególności, znacznik zamykający </b> został umieszczony przed zamknięciem znacznika <i>, co narusza zasady zagnieżdżania elementów w HTML. Zgodnie z wytycznymi W3C (World Wide Web Consortium), każdy znacznik otwierający musi mieć odpowiedni znacznik zamykający w odpowiedniej kolejności, a zagnieżdżanie elementów musi być przestrzegane, aby zapewnić poprawną strukturę dokumentu. W tym przypadku poprawna sekwencja powinna wyglądać następująco: <i>...</i><b>...</b>, co oznacza, że znacznik <i> powinien być zamknięty po znaczniku <b>. Przykładowo, prawidłowy zapis mógłby wyglądać tak: <p>Kaskadowe arkusze stylów <b>ang.<i>Cascading Style Sheets</i></b> to język służący...</p>. Taka struktura zapewnia, że znaczniki są poprawnie zagnieżdżone, co przekłada się na lepszą interpretację przez przeglądarki oraz narzędzia do walidacji HTML.

Pytanie 19

W języku JavaScript rezultat wykonania instrukcji zmienna++; będzie równy wynikowi instrukcji

A. zmienna = zmienna + 10;
B. zmienna === zmienna + 1;
C. zmienna--;
D. zmienna += 1;
Wybór odpowiedzi sugerujących <span>zmienna--;</span> jest mylny, ponieważ operator <span>--</span> to operator dekrementacji, który zmniejsza wartość zmiennej o 1, co stoi w sprzeczności z celem inkrementacji. Implementacja <span>zmienna === zmienna + 1;</span> jest także błędna z dwóch powodów. Po pierwsze, porównuje wartość zmiennej z wartością zmiennej zwiększonej o 1, co w większości przypadków zwróci <span>false</span>, a nie zwiększa samej zmiennej. Takie porównania są używane w logice warunkowej, jednak nie mają zastosowania w kontekście zwiększania wartości zmiennej. Ostatnia propozycja <span>zmienna = zmienna + 10;</span> jest niepoprawna, ponieważ zwiększa wartość o 10, a nie o 1, co diametralnie zmienia wynik działania. Warto pamiętać, że w programowaniu istotne jest zrozumienie działania operatorów i ich zastosowania, aby uniknąć błędów logicznych, które mogą prowadzić do nieprzewidzianych wyników. Używając typowych konstrukcji w JavaScript, jak pętle czy funkcje, programiści często korzystają z operatorów inkrementacji i przypisania, co sprawia, że ich prawidłowe wykorzystanie jest kluczowe w codziennej pracy. Zrozumienie różnic między tymi operatorami jest zatem fundamentem w nauce programowania w JavaScript.

Pytanie 20

Instrukcja zapisana w SQL, przedstawiona poniżej, ilustruje kwerendę:

UPDATE katalog SET katalog.cena = [cena]*1.1;
A. aktualizującej
B. krzyżowej
C. dołączającej
D. usuwającej
Odpowiedzi, które sugerują inne typy kwerend, są niepoprawne w kontekście przedstawionej instrukcji SQL. Kwerenda krzyżowa, znana również jako kwerenda CROSS JOIN, służy do łączenia wszystkich rekordów z dwóch lub więcej tabel, co nie ma związku z aktualizowaniem wartości w tabeli. Działania te są bardziej skomplikowane i nie mają zastosowania w kontekście zmiany wartości kolumn. Z kolei kwerenda usuwająca, czyli DELETE, służy do eliminacji rekordów z tabeli, co również nie odnosi się do sytuacji, w której zmieniamy wartości. Dodatkowo, kwerenda dołączająca, czyli INSERT, jest używana do dodawania nowych danych do tabeli, a nie do ich modyfikacji. Typowym błędem myślowym, który prowadzi do tych niepoprawnych wniosków, jest zrozumienie, że wszystkie operacje na danych w SQL są podobne. W rzeczywistości różne polecenia mają swoje specyficzne zastosowania i należy je stosować w odpowiednich kontekstach. Dlatego ważne jest, aby dokładnie rozumieć rodzaje kwerend SQL oraz ich przeznaczenie, co pozwala na efektywne zarządzanie danymi i uniknięcie nieporozumień w przyszłości.

Pytanie 21

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 22

W MS SQL Server predefiniowana rola o nazwie dbcreator umożliwia użytkownikowi

A. tworzenie, aktualizowanie, usuwanie oraz przywracanie bazy danych
B. wykonywanie wszelkich operacji na serwerze oraz posiadanie praw do każdej bazy
C. zarządzanie zabezpieczeniami systemu
D. zarządzanie plikami na nośniku
Wszystkie pozostałe odpowiedzi są niepoprawne z punktu widzenia funkcji przypisanych do roli dbcreator w MS SQL Server. Stwierdzenie, że rola ta pozwala na wykonywanie każdej operacji na serwerze i posiadanie prawa własności każdej bazy, jest błędne, ponieważ taka funkcjonalność jest zarezerwowana dla roli sysadmin, która ma pełne uprawnienia serwera. Użytkownicy z rolą sysadmin mogą wykonywać jakiekolwiek operacje, co stawia ich w pozycji pełnej kontroli, w przeciwieństwie do roli dbcreator, która jest ograniczona do zarządzania bazami danych. Odnośnie zarządzania bezpieczeństwem systemu, to również nie jest odpowiednia funkcja dla dbcreator, ponieważ zarządzanie bezpieczeństwem wymaga bardziej zaawansowanych uprawnień, które są przydzielane innym rolom, takim jak securityadmin. W końcu, zarządzanie plikami na dysku nie wchodzi w zakres kompetencji dbcreator, ponieważ ta rola skupia się na operacjach związanych z bazami danych, a nie na zarządzaniu systemem plików czy innymi zasobami systemowymi. Te nieprawidłowe wnioski mogą wynikać z nieporozumienia dotyczącego funkcji ról w SQL Server, a także z braku znajomości hierarchii uprawnień oraz ich zastosowania w praktyce. Zrozumienie różnic między rolami jest kluczowe w kontekście efektywnego zarządzania bezpieczeństwem i dostępem w środowisku baz danych.

Pytanie 23

Aby ułatwić wprowadzanie oraz modyfikację danych w tabeli, konieczne jest zdefiniowanie

A. kwerendy SELECT
B. raportu
C. filtra
D. formularza
Odpowiedzi, które nie obejmują formularza, wskazują na pewne nieporozumienia dotyczące sposobu, w jaki użytkownicy wchodzą w interakcje z danymi w bazie danych. Kwerenda SELECT, mimo że jest fundamentalnym narzędziem do pobierania informacji, nie jest odpowiednia do wprowadzania czy edytowania danych. Kwerendy są stosowane głównie do filtrowania i prezentowania danych istniejących, a nie do ich wprowadzania. W kontekście zarządzania danymi, kwerendy powinny być używane w celu analizy danych, a nie ich modyfikacji. Z kolei filtry są narzędziami, które umożliwiają użytkownikom przeszukiwanie i wyświetlanie określonych zestawów danych, ale również nie są przeznaczone do edytowania danych. Filtry są bardziej funkcjonalne w kontekście przeglądania już wprowadzonych informacji, co nie spełnia wymogu prostoty wprowadzania danych. Raporty natomiast są używane do generowania zestawień i podsumowań danych, co jest zupełnie innym procesem niż ich wprowadzanie. Powszechnym błędem jest zrozumienie tych narzędzi jako równoważnych formularzom, co jest mylne. Właściwe podejście do zarządzania danymi w bazach danych wymaga zrozumienia ról różnych narzędzi i ich zastosowań w praktyce, co jest kluczowe dla efektywnego zbierania i zarządzania informacjami.

Pytanie 24

Jakie zapytanie SQL dotyczące tabeli pracownicy, której struktura to: id, imie, nazwisko, plec, zarobek, pozwoli na osobne obliczenie średniego wynagrodzenia kobiet oraz średniego wynagrodzenia mężczyzn?

A. SELECT AVG(zarobek) FROM pracownicy WHERE plec='k' AND plec='m'
B. SELECT AVG(zarobek) FROM pracownicy AS sredni_zarobek
C. SELECT AVG(zarobek) FROM pracownicy GROUP BY plec
D. SELECT AVG(zarobek) FROM pracownicy GROUP BY plec HAVING plec='k' AND plec='m'
Pierwsza opcja nie jest poprawna, ponieważ nie oblicza średnich zarobków osobno dla każdej płci, lecz zwraca jedną średnią, jeśli w tabeli są pracownicy różnych płci. Kolejne zapytanie, które wykorzystuje alias, jest błędne, ponieważ użycie 'AS sredni_zarobek' nie wprowadza żadnej funkcjonalności do obliczania średni dla płci. Nie definiuje ono kontekstu grupowania danych, przez co zwróci jedną wartość, a nie różne średnie dla każdej płci. Następnie, zapytanie z warunkiem WHERE plec='k' AND plec='m' jest całkowicie niepoprawne, ponieważ nie można, aby jedna wartość plec jednocześnie była równa 'k' i 'm'. Takie zapytanie nic nie zwróci, ponieważ nie znajdzie żadnych wierszy spełniających ten warunek. Ostatnia odpowiedź z GROUP BY plec HAVING plec='k' AND plec='m' również zawiera błędne założenia. Klauzula HAVING służy do filtrowania grup, ale podobnie jak w poprzednich przypadkach warunek 'plec='k' AND plec='m'' nie ma sensu, ponieważ nie można grupować wyników w ten sposób. Dlatego wszystkie te zapytania nie osiągną celu związanego z obliczeniem średnich zarobków osobno dla kobiet i mężczyzn.

Pytanie 25

Co zazwyczaj wchodzi w skład Framework'a?

A. obsługa błędów i domena
B. wbudowany serwer i obsługa formularzy
C. certyfikat http oraz mechanizm przetwarzania i uruchamiania akcji
D. zarządzanie komunikacją z bazą danych, mechanizm uruchamiania i przetwarzania akcji
Pierwsza odpowiedź wskazuje na elementy, które są często obecne w aplikacjach webowych, jednak nie są kluczowymi składnikami frameworków. Domeny i obsługa błędów to ważne aspekty ogólnie dotyczące programowania, ale same w sobie nie definiują funkcjonalności frameworka. Obsługa formularzy oraz wbudowany serwer to funkcje, które mogą być dostarczane przez frameworki, jednak nie stanowią one ich podstawowych komponentów. Obsługa formularzy dotyczy głównie interakcji użytkownika z aplikacją, a wbudowany serwer to jedynie narzędzie do lokalnego testowania, które nie jest kluczowe dla samego frameworka. Natomiast certyfikat http jest istotny dla zapewnienia bezpieczeństwa podczas przesyłania danych, lecz nie jest on związany z architekturą czy funkcjonalnością frameworków. Dlatego też, choć wszystkie z wymienionych elementów są ważne w kontekście tworzenia aplikacji webowych, to nie stanowią one rdzenia frameworków, które koncentrują się na ułatwieniu komunikacji z bazą danych oraz zarządzaniu cyklem życia żądań.

Pytanie 26

Według zasad walidacji HTML5, właściwym zapisem dla znacznika hr jest

A. <hr>
B. </hr?>
C. </ hr>
D. </ hr />
Znaczniki HTML mają ściśle określoną składnię, której nieprzestrzeganie prowadzi do błędów interpretacji przez przeglądarki oraz problemów z dostępnością. W przypadku odpowiedzi, które zawierają '/ hr', '/hr?>' oraz '/ hr />', pojawia się nieporozumienie dotyczące struktury znaczników samodzielnych. W HTML5 znaczniki takie jak <hr> są elementami samodzielnymi, co oznacza, że nie potrzebują ani otwierającego, ani zamykającego znacznika. Użycie '/ hr' sugeruje, że element wymaga zamknięcia, co jest błędne. Ponadto, '/hr?>' zawiera nieprawidłowy znak '>', który w kontekście HTML nie ma sensu, co skutkuje błędem w kodzie. ' />' w odpowiedzi '/ hr />' może powodować mylenie z XHTML, gdzie rzeczywiście wymagane jest zamknięcie dla elementów samodzielnych. XHTML i HTML5 to różne standardy, a HTML5 został zaprojektowany w taki sposób, aby uprościć pisanie kodu i zwiększyć jego czytelność. Typowe błędy myślowe obejmują mylenie zasad dotyczących XHTML z HTML5 oraz niewłaściwe rozumienie, że wszystkie elementy muszą być zamykane. Ważne jest, aby zrozumieć różnice między tymi dwiema technologiami oraz stosować aktualne standardy, aby zapewnić kompatybilność i poprawność kodu.

Pytanie 27

W tabeli pokazano cechy pliku graficznego. Aby rysunek ładował się szybciej na stronie WWW, należy

Wymiary: 4272 x 2848px
Rozdzielczość: 72 dpi
Format: JPG
A. zmienić format grafiki na CDR
B. zmienić proporcje szerokości do wysokości
C. zmniejszyć wymiary rysunku
D. zwiększyć rozdzielczość
Zmiana formatu na CDR nie jest zalecana dla grafiki internetowej. Format CDR jest formatem wektorowym używanym w programie CorelDRAW i nie jest obsługiwany przez przeglądarki internetowe. Grafika wektorowa w formacie CDR wymaga konwersji do formatu rastrowego takiego jak PNG lub JPG aby mogła być użyta na stronach WWW co dodaje dodatkowy krok w procesie publikacji. Zwiększenie rozdzielczości, czyli zwiększenie wartości dpi, zwiększa ilość danych w pliku graficznym, co powoduje dłuższy czas ładowania. Większa rozdzielczość jest użyteczna głównie w kontekście drukowania gdzie jakość obrazu jest kluczowa, natomiast dla internetu standardowa rozdzielczość 72 dpi jest wystarczająca dla większości zastosowań. Zmiana proporcji szerokości do wysokości nie wpływa na rozmiar pliku ani na czas jego ładowania. Taka zmiana może wręcz prowadzić do niepożądanego efektu rozciągnięcia lub zniekształcenia obrazu co negatywnie wpływa na estetykę strony. Prawidłowe proporcje są ważne dla zachowania spójnej estetyki i użyteczności wizualnej serwisu jednak nie mają bezpośredniego wpływu na wydajność ładowania. Typowe błędy myślowe związane z tymi odpowiedziami wynikają z braku zrozumienia specyfiki optymalizacji webowej gdzie mniejszy rozmiar pliku przekłada się na szybsze ładowanie i lepszą wydajność strony internetowej.

Pytanie 28

Jeśli zmienna $x przechowuje dowolną dodatnią liczbę naturalną, przedstawiony kod źródłowy PHP ma za zadanie wyświetlić:

$licznik = 0;
while ($licznik != $x)
{
    echo $licznik;
    $licznik++;
}
A. liczby wczytywane z klawiatury, tak długo aż zostanie wczytana wartość x
B. losowe liczby z przedziału (0, x)
C. kolejne liczby od x do 0
D. kolejne liczby od 0 do x-1
Niektóre odpowiedzi sugerują niepoprawne interpretacje kodu PHP. Na przykład, propozycja wyświetlenia losowych liczb z zakresu (0, x) nie jest prawidłowa, ponieważ nie ma w kodzie żadnego komponentu generującego liczby losowe. Również pomysł na wczytywanie liczb z klawiatury jest nieprawidłowy, kod nie zawiera żadnej funkcji umożliwiającej wprowadzanie danych przez użytkownika. Ostatecznie, propozycja wyświetlenia liczb od x do 0 również jest błędna, gdyż zmienna $licznik jest zawsze inkrementowana, co oznacza, że jej wartość zawsze wzrasta. Błędne interpretacje wynikają z niewłaściwego zrozumienia funkcjonowania pętli while oraz procesu inkrementacji zmiennych. Ważne jest, aby zawsze dokładnie analizować każdy fragment kodu, zwracając szczególną uwagę na instrukcje warunkowe i manipulacje zmiennymi.

Pytanie 29

Definicja stylu w CSS, którą zaprezentowano, dotyczy odsyłacza, który

a:visited {color: orange;}
A. posiada niepoprawny adres URL
B. ma wskaźnik myszy umieszczony nad sobą
C. był wcześniej odwiedzany
D. jeszcze nigdy nie został odwiedzony
Pseudoklasa :hover w CSS odnosi się do odsyłaczy, które znajdują się pod wskaźnikiem myszy. Innymi słowy, jest to sposób na stylizowanie elementów, gdy użytkownik umieści nad nimi kursor. Jest powszechnie używana w interfejsach użytkownika do podkreślenia elementów reagujących na interakcje, ale nie ma związku z odwiedzonymi linkami. Błąd w adresie URL nie jest w ogóle związany z CSS, ale raczej z błędami na stronie lub wprowadzaniem danych przez użytkownika. CSS nie ma możliwości określania, czy URL jest poprawny. Pseudoklasa :link w CSS odnosi się do odsyłaczy, które jeszcze nie zostały odwiedzone. Stosuje się ją, aby przypisać styl wszystkim nieodwiedzonym linkom na stronie. Jest to część podstawowych mechanizmów nawigacyjnych stron internetowych, zapewniająca użytkownikowi wizualne wskazówki dotyczące interakcji z linkami. Zrozumienie różnic między pseudoklasami :hover :visited i :link jest kluczowe w projektowaniu intuicyjnych i funkcjonalnych interfejsów użytkownika. Stosowanie odpowiednich stylów do odsyłaczy poprawia nie tylko estetykę strony, ale także jej dostępność i użyteczność dla użytkowników. Dlatego istotne jest, aby projektanci stron mieli świadomość tych różnic i potrafili je efektywnie zastosować w praktyce w ramach standardów CSS i dostępności webowej.

Pytanie 30

Jaki typ mechanizmu zapewnienia bezpieczeństwa podczas uruchamiania aplikacji jest zawarty w środowisku .NET Framework?

A. Mechanizm wykonywania aplikacji oparty na uprawnieniach kodu (CAS - Code Access Security) oraz na rolach (RBS - Role-Based Security)
B. Mechanizm wykonywania aplikacji dla bibliotek klas
C. Mechanizm wykonywania aplikacji realizowany przez funkcję Windows API (Application Programming Interface)
D. Mechanizm wykonywania aplikacji realizowany przez frameworki aplikacji webowych (ASP.NET)
Mechanizmy bezpieczeństwa w .NET Framework obejmują różne podejścia, ale odpowiedzi odnoszące się do frameworków aplikacji internetowych, bibliotek klas czy funkcji Windows API nie są stosowane jako główne metody kontroli bezpieczeństwa aplikacji. Frameworki aplikacji internetowych, takie jak ASP.NET, zapewniają pewne funkcjonalności bezpieczeństwa, ale nie są one mechanizmami kontroli dostępu samodzielnie. Kluczowym błędem jest mylenie frameworków z mechanizmami bezpieczeństwa; same frameworki to zestawy narzędzi do budowy aplikacji, które mogą implementować różne mechanizmy, ale bezpieczeństwo nie jest ich jedyną funkcją. Z kolei mechanizmy dla bibliotek klas wiążą się głównie z udostępnianiem kodu i zarządzaniem jego użyciem, a nie z jego bezpieczeństwem. Co więcej, odwoływanie się do funkcji Windows API jako mechanizmu wykonywania aplikacji jest mylące, ponieważ API to zestaw funkcji umożliwiających interakcję z systemem operacyjnym, a nie środowisko uruchomieniowe. Rozumienie różnicy między tymi pojęciami jest istotne, aby nie wprowadzać się w błąd co do zabezpieczeń aplikacji i ich implementacji. Prawidłowe podejście do bezpieczeństwa wymaga znajomości zarówno standardów, jak i najlepszych praktyk związanych z zarządzaniem uprawnieniami oraz monitorowaniem dostępu, co jest kluczowe w kontekście tworzenia trudnych do przełamania aplikacji.

Pytanie 31

W kodzie CSS zapis ```a[target="_blank"] {color:yellow;}``` spowoduje, że kolor żółty zostanie przypisany do tekstu

A. tekstów w paragrafie
B. linków, które są otwierane w tej samej karcie
C. wszystkich linków
D. linków, które otwierają się w nowej karcie
Odpowiedź dotycząca odnośników, które otwierają się w osobnej karcie, jest poprawna, ponieważ selektor CSS 'a[target="_blank"]' precyzyjnie odnosi się do elementów <a> (odnośników), które mają atrybut target ustawiony na '_blank'. W HTML, atrybut target z wartością '_blank' informuje przeglądarkę, aby otworzyła link w nowej karcie lub oknie. W związku z tym, reguła CSS 'a[target="_blank"] {color:yellow;}' zmienia kolor tekstu tych konkretnych odnośników na żółty. Dobre praktyki w projektowaniu stron internetowych sugerują, aby wizualnie wyróżniać odnośniki otwierające się w nowej karcie, aby użytkownicy byli świadomi tego, że nowa zawartość zostanie otwarta, co zwiększa przejrzystość i użyteczność strony. Przykładem może być formularz kontaktowy, gdzie odnośniki do polityki prywatności mogą być otwierane w nowej karcie, a ich wyróżnienie kolorem może poprawić nawigację po stronie.

Pytanie 32

Do czego służy funkcja PHP o nazwie mysql_num_rows?

A. podawać liczbę wierszy, które są w wynikach zapytania
B. przyporządkować numery rekordom w bazie danych
C. zwracać rekord, którego numer został przekazany jako parametr funkcji
D. oddawać następny rekord z wyników zapytania
Funkcja mysql_num_rows w PHP jest kluczowym narzędziem do interakcji z bazami danych MySQL, umożliwiając programistom efektywne zarządzanie danymi. Jej głównym zadaniem jest zwrócenie liczby wierszy, które zostały zwrócone w wyniku zapytania SQL. Jest to niezwykle przydatne w sytuacjach, gdy chcemy ocenić, ile rekordów spełnia określone kryteria, co może być istotne na przykład w przypadku paginacji wyników lub dynamicznego dostosowywania interfejsu użytkownika w zależności od liczby dostępnych danych. Użycie tej funkcji polega na przesłaniu do niej wskaźnika na wynik zapytania, co pozwala na bezpośrednie uzyskanie liczby wierszy bez konieczności przeszukiwania danych. Przykładowo, po wykonaniu zapytania SELECT, aby uzyskać liczbę wierszy, wystarczy użyć: $result = mysql_query('SELECT * FROM tabela'); $liczba_wierszy = mysql_num_rows($result);. Funkcja ta jest zgodna z wytycznymi dotyczącymi standardów SQL i jest szeroko stosowana w aplikacjach webowych, które wymagają efektywnego przetwarzania danych. Należy jednak pamiętać, że mysql_num_rows jest częścią przestarzałego rozszerzenia MySQL, a programiści powinni rozważyć użycie mysqli lub PDO, które oferują lepszą obsługę i bezpieczeństwo.

Pytanie 33

Jak nazywa się metoda tworząca obiekt w języku PHP?

A. __construct
B. __open
C. __create
D. __new
Odpowiedzi, które nie są poprawne, nie odnoszą się do właściwego sposobu definiowania konstruktorów w PHP. Wyrażenie __new sugeruje mechanizm związany z tworzeniem instancji obiektów, jednak nie jest ono używane jako konstruktor. W PHP __new jest używane w kontekście wzorców projektowych, ale nie jest to metoda konstrukcyjna, lecz metodą statyczną związaną z prototypowaniem obiektów, co wykracza poza standardowy sposób inicjalizacji obiektów. Z kolei __open oraz __create nie są metodami rozpoznawanymi przez PHP jako mające jakiekolwiek znaczenie w kontekście konstruktorów. __open mogłoby sugerować otwarcie zasobu, co nie ma związku z inicjalizacją obiektu klasy, a __create jest nieodpowiednim terminem, gdyż PHP nie definiuje żadnej metody o takiej nazwie. Użycie tych nazw w kontekście konstruktorów wprowadza zamieszanie i może prowadzić do błędów w kodzie oraz nieporozumień dotyczących działania obiektów. Właściwe użycie __construct jako konstruktorów w PHP jest kluczowe dla zapewnienia prawidłowego działania aplikacji, a niewłaściwe nazewnictwo może prowadzić do problemów technicznych i ograniczeń funkcjonalnych.

Pytanie 34

Który z poniższych języków jest zazwyczaj używany do programowania front-endowego (wykonywanego po stronie klienta)?

A. Perl
B. Node.js
C. PHP
D. CSS
CSS, czyli Kaskadowe Arkusze Stylów, jest fundamentalnym językiem używanym do stylizacji stron internetowych. Jest to język front-endowy, co oznacza, że jego kod jest wykonywany po stronie klienta, czyli w przeglądarkach internetowych użytkowników. CSS pozwala na definiowanie wyglądu elementów HTML, takich jak kolory, czcionki, układ czy odstępy, co ma kluczowe znaczenie dla tworzenia atrakcyjnych i responsywnych interfejsów użytkownika. Przykładem może być zastosowanie CSS do stylizacji przycisku, gdzie można zmienić jego kolor, dodać cień oraz animacje przy najechaniu myszką. W standardach webowych CSS współpracuje z HTML oraz JavaScript, co zapewnia dynamiczne i interaktywne doświadczenia. Dobry projektant front-endowy powinien znać zasady związane z kaskadowością i dziedziczeniem w CSS, aby optymalnie wykorzystywać ten język do tworzenia estetycznych i użytecznych stron internetowych.

Pytanie 35

W tabeli zwierzeta znajdują się kolumny nazwa, gatunek, gromada, cechy, dlugosc_zycia. Aby uzyskać listę nazw zwierząt, które dożywają przynajmniej 20 lat oraz są ssakami, jakie zapytanie należy wykonać?

A. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
B. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';
C. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20;
D. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 OR gromada = 'ssak';
Zrozumienie, dlaczego pozostałe odpowiedzi są niepoprawne, wymaga analizy koncepcji związanych z używaniem operatorów w zapytaniach SQL. Pierwsza opcja, która wskazuje jedynie na gromadę ssaków, nie spełnia wymagania dotyczącego długości życia. W rezultacie, takie zapytanie może zwrócić wszystkie ssaki, niezależnie od ich długości życia, co nie odpowiada na postawione pytanie. Druga odpowiedź koncentruje się wyłącznie na długości życia zwierząt, a więc zignoruje ich przynależność do gromady, co również prowadzi do niekompletnych wyników. Z punktu widzenia standardów projektowania baz danych, takie podejście jest niewłaściwe, ponieważ nie uwzględnia wymagań wielokryterialnych. Ostatnia opcja używa operatora 'OR', co oznacza, że wystarczy, aby jedno z kryteriów było spełnione, co skutkuje zwróceniem większej liczby zwierząt, w tym tych, które są krócej żyjące i nie są ssakami. Taki sposób myślenia prowadzi do sytuacji, w której wyniki są rozmyte i nieprecyzyjne, co w praktyce może wpłynąć na jakość analiz i decyzji opartych na tych danych. Właściwe formułowanie zapytań jest kluczowe dla zapewnienia, że otrzymujemy tylko te dane, które są istotne dla naszych potrzeb i celów analitycznych.

Pytanie 36

Jakie polecenie należy zastosować, aby wysłać dane przy pomocy funkcji mysqli_query() w skrypcie PHP, który dodaje informacje z formularza umieszczonego na stronie internetowej do bazy danych?

A. INSERT INTO
B. ALTER
C. SELECT
D. UPDATE
Odpowiedź 'INSERT INTO' jest poprawna, ponieważ jest to standardowa kwerenda SQL używana do wstawiania nowych rekordów do tabel w bazie danych. W kontekście PHP i funkcji mysqli_query(), wstawianie danych z formularza zazwyczaj obejmuje przygotowanie kwerendy, która zawiera instrukcję INSERT INTO wraz z nazwą tabeli oraz danymi, które mają zostać dodane. Na przykład, jeśli mamy formularz z polami 'imie' i 'nazwisko', kwerenda mogłaby wyglądać następująco: 'INSERT INTO uzytkownicy (imie, nazwisko) VALUES (?, ?)'. Użycie znaków zapytania (?) jest zgodne z najlepszymi praktykami, ponieważ pozwala na bezpieczne wprowadzenie danych, chroniąc aplikację przed atakami SQL Injection. Dobrą praktyką jest również używanie PDO lub MySQLi z przygotowanymi zapytaniami, co zwiększa bezpieczeństwo oraz efektywność kodu. W ten sposób można skutecznie wstawiać dane do bazy danych, zachowując przy tym standardy programistyczne.

Pytanie 37

W CSS określono styl paragrafu, który nada mu następujące właściwości:

background-color: red;
color: blue;
margin: 40px;
A. tło czerwone, kolor tekstu niebieski, marginesy wewnętrzne na poziomie 40 px
B. tło niebieskie, kolor tekstu czerwony, marginesy wewnętrzne na poziomie 40 px
C. tło czerwone, kolor tekstu niebieski, marginesy zewnętrzne na poziomie 40 px
D. tło niebieskie, kolor tekstu czerwony, marginesy zewnętrzne na poziomie 40 px
Wiele błędnych odpowiedzi opiera się na mylnym zrozumieniu właściwości CSS oraz ich roli w stylowaniu dokumentów HTML. W przypadku tła, koloru tekstu i marginesów istotne jest, aby poprawnie zidentyfikować, co każda z tych właściwości robi. Na przykład, w deklaracji 'background-color: red;' tło jest jednoznacznie określane jako czerwone, co wyklucza wszelkie inne kolory, jak niebieski, co jest mylnie sugerowane w niektórych odpowiedziach. Co więcej, właściwość 'color' ustala kolor tekstu, a nie tła, co oznacza, że nie może być jednocześnie czerwony i niebieski. Kolejnym częstym błędem jest mylenie marginesów zewnętrznych z wewnętrznymi. Marginesy zewnętrzne (margin) definiują przestrzeń wokół elementu, podczas gdy marginesy wewnętrzne (padding) dotyczą przestrzeni wewnątrz elementu. W kontekście tego pytania, 'margin: 40px;' odnosi się do marginesów zewnętrznych. Dlatego ważne jest, aby dokładnie zrozumieć, jak różne style CSS wpływają na wygląd i układ elementów na stronie, co jest kluczowe w profesjonalnym projektowaniu webowym. Błędne interpretacje mogą prowadzić do nieestetycznego układu i trudności w użytkowaniu stron, co jest szczególnie istotne w kontekście dostępności i użyteczności aplikacji internetowych.

Pytanie 38

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

wynik = 0;
for (i = 0; i < tab.length; i++) {
  wynik += tab[i];
}
A. wprowadzić do każdego elementu tablicy bieżącą wartość zmiennej i
B. obliczyć sumę wszystkich elementów tablicy
C. wyświetlić wszystkie elementy tablicy
D. dodać do każdego elementu tablicy ustaloną wartość
Funkcja w podanym fragmencie rzeczywiście ma na celu policzenie sumy wszystkich elementów tablicy. Przy inicjalizacji zmiennej 'wynik' na 0, kod iteruje przez każdy element tablicy 'tab' przy użyciu pętli for. W każdej iteracji do 'wynik' dodawana jest wartość bieżącego elementu tablicy, co prowadzi do skumulowania wszystkich wartości. Tego typu operacje są powszechnie stosowane w programowaniu, szczególnie w analizie danych, gdzie często zachodzi potrzeba obliczenia sumy, średniej lub innych statystyk na podstawie zebranych danych. Ważne jest również, aby pamiętać o typach danych w JavaScript – elementy tablicy powinny być liczbami, aby suma była poprawna. Zastosowanie tej techniki jest standardem w wielu algorytmach i jest fundamentalne dla zrozumienia bardziej zaawansowanych koncepcji, jak np. funkcje redukujące.

Pytanie 39

W systemie baz danych MySQL komenda CREATE USER pozwala na

A. zmianę hasła dla już istniejącego użytkownika
B. stworzenie użytkownika oraz przypisanie mu uprawnień do bazy
C. zobaczenie danych o aktualnym użytkowniku
D. stworzenie nowego użytkownika
Niemniej jednak, inne wymienione odpowiedzi nie są poprawne w kontekście polecenia CREATE USER. W szczególności, polecenie to nie służy do modyfikowania haseł istniejących użytkowników. Aby zmienić hasło dla już istniejącego konta, należy użyć polecenia ALTER USER lub SET PASSWORD, które są dedykowane do tego celu. Takie podejście pozwala na bezpieczne aktualizowanie danych uwierzytelniających bez konieczności tworzenia nowego użytkownika, a także zapewnia większą kontrolę nad polityką haseł. Kolejnym niepoprawnym stwierdzeniem jest, że CREATE USER wyświetla informacje o istniejącym użytkowniku. W rzeczywistości, aby uzyskać szczegółowe informacje o użytkownikach, należy skorzystać z zapytań SELECT na tabeli mysql.user, gdzie przechowywane są dane dotyczące kont użytkowników. Polecenie CREATE USER nie ma funkcji przeglądania ani raportowania. Ostatnia fałszywa sugestia dotyczy możliwości nadania uprawnień bezpośrednio w momencie tworzenia użytkownika. Choć polecenie CREATE USER tworzy konto, to rzeczywiste przyznawanie uprawnień jest zadaniem dla polecenia GRANT, które należy uruchomić po utworzeniu konta. Tylko poprzez oddzielne nadanie uprawnień można precyzyjnie kontrolować, jakie operacje nowy użytkownik może wykonywać na danych, co jest kluczowym elementem zarządzania bezpieczeństwem w bazach danych.

Pytanie 40

W bazie danych MySQL znajduje się tabela z programami komputerowymi, posiadająca kolumny: nazwa, producent, rokWydania. Jaką kwerendę SELECT należy zastosować, aby uzyskać listę wszystkich producentów, unikając powtórzeń?

A. SELECT producent FROM programy WHERE UNIQUE
B. SELECT DISTINCT producent FROM programy
C. SELECT producent FROM programy WHERE producent NOT DUPLICATE
D. SELECT UNIQUE producent FROM programy
Wybór pierwszej odpowiedzi, która sugeruje użycie słowa kluczowego UNIQUE, jest błędny. W MySQL, UNIQUE nie jest słowem kluczowym stosowanym do eliminacji duplikatów w kwerendzie SELECT; zamiast tego jest używane w kontekście definiowania unikalnych kluczy w tabelach. Również, odpowiedź zawierająca WHERE UNIQUE jest niepoprawna, ponieważ kombinacja WHERE z UNIQUE jest syntaktycznie niepoprawna w SQL. WHERE służy do filtrowania wyników, ale UNIQUE nie jest używane w tej konstrukcji. Kolejną nieprawidłową odpowiedzią jest użycie WHERE producent NOT DUPLICATE; termin 'NOT DUPLICATE' jest również nieznany w kontekście SQL. Takie frazy nie są uznawane przez silnik baz danych MySQL. W praktyce, aby wykluczyć duplikaty, niezbędne jest zastosowanie słowa kluczowego DISTINCT, które jest standardowym podejściem i zapewnia prawidłowe wyniki. Ostatecznie, wszystkie te niepoprawne odpowiedzi wskazują na brak zrozumienia podstawowych zasad działania języka SQL oraz funkcji przeznaczonych do manipulacji danymi w bazach danych.