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: 14 czerwca 2026 19:05
  • Data zakończenia: 14 czerwca 2026 19:18

Egzamin niezdany

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

<?php
$dane = fread(fopen("plik.txt", "r"), filesize("plik.txt"));
?>
Przedstawiony kod zapisany w języku PHP ma za zadanie
A. zapisać do pliku plik.txt wartość zmiennej dane
B. zmiennej dane przypisać wielkość pliku plik.txt
C. otworzyć plik plik.txt i jako wartość zmiennej dane przypisać rozmiar pliku
D. zmiennej dane przypisać zawartość pliku plik.txt
Kod z pytania wykorzystuje trzy kluczowe elementy pracy z plikami w PHP: fopen, fread i filesize. Żeby dobrze zrozumieć, dlaczego niektóre interpretacje są błędne, trzeba rozdzielić pojęcia „odczyt” i „zapis” oraz pamiętać, co tak naprawdę zwracają poszczególne funkcje. fopen z parametrem "r" otwiera plik wyłącznie do czytania. W tym trybie nie ma możliwości zapisu danych do pliku, więc każda interpretacja sugerująca, że coś jest zapisywane do pliku, stoi w sprzeczności z dokumentacją PHP. To jest częsty błąd: ktoś widzi funkcję pracującą na plikach i automatycznie myśli o zapisie, a tutaj jest tylko odczyt.
Kolejna mylna ścieżka rozumowania dotyczy funkcji filesize. Ona faktycznie zwraca rozmiar pliku w bajtach, ale w tym kodzie ten rozmiar jest użyty wyłącznie jako argument dla fread, czyli jako informacja: „ile bajtów odczytać”. Zmienna $dane nie dostaje więc wartości rozmiaru pliku, tylko wynik działania fread, czyli tekstową zawartość pliku. Rozmiar pojawia się tu tylko po to, żeby powiedzieć fread, ile danych ma pobrać z uchwytu pliku. To jest subtelna, ale ważna różnica: wartość zwracana przez filesize nie jest przypisywana bezpośrednio do $dane.
Może się też pojawić pokusa, by myśleć, że kod jednocześnie otwiera plik i „przypisuje rozmiar pliku jako wartość zmiennej”. W praktyce mamy dwie operacje: otwarcie pliku (fopen) i odczyt zawartości (fread). Otworzenie pliku nie jest celem samym w sobie, jest tylko krokiem pośrednim, koniecznym do tego, żeby fread mogło pobrać dane. Z mojego doświadczenia wynika, że uczniowie często mieszają: co zwraca uchwyt pliku, co zwraca funkcja odczytu, a co funkcja podająca rozmiar. Tutaj zwracany jest string z treścią pliku, nie liczba bajtów i nie sam uchwyt.
Podsumowując merytorycznie: w tym przykładzie nie zachodzi zapis do pliku, zmienna $dane nie przyjmuje samego rozmiaru pliku, ani też nie jest do niej wprost przypisywana wartość z filesize. Cała logika kodu prowadzi do jednego efektu – odczytania pełnej zawartości pliku plik.txt i umieszczenia jej w zmiennej $dane, co jest poprawną interpretacją zgodną ze standardowym sposobem użycia fopen i fread w PHP.

Pytanie 2

Jakiego języka skryptowego ogólnego zastosowania powinno się użyć do tworzenia aplikacji internetowych, które są zintegrowane z HTML i działają na serwerze?

A. Perl
B. C#
C. JavaScript
D. PHP
PHP (Hypertext Preprocessor) to język skryptowy ogólnego przeznaczenia, który został zaprojektowany do tworzenia dynamicznych stron internetowych, co czyni go idealnym rozwiązaniem do budowy aplikacji webowych. Jako język uruchamiany po stronie serwera, PHP generuje HTML, który jest następnie przesyłany do przeglądarki użytkownika, co pozwala na interakcję z bazami danych, sesjami użytkowników i innymi elementami. Dzięki bogatej bibliotece funkcji oraz rozbudowanej społeczności, PHP jest często wykorzystywany w aplikacjach takich jak WordPress, Drupal czy Joomla. Ponadto, PHP wspiera różnorodne bazy danych, w tym MySQL, co umożliwia tworzenie zaawansowanych aplikacji zintegrowanych z danymi. Przykładem dobrych praktyk w PHP jest stosowanie wzorców projektowych, takich jak MVC (Model-View-Controller), które zwiększają czytelność i modularność kodu. Dzięki temu, programiści mogą łatwiej utrzymywać i rozwijać aplikacje, co jest kluczowe w dynamicznie zmieniającym się świecie technologii webowych.

Pytanie 3

Podczas weryfikacji pliku HTML5 pojawił się komunikat brzmiący: "Error: Element head is missing a required instance of child element title". Co to oznacza w kontekście dokumentu?

A. nie zdefiniowano obowiązkowego atrybutu title w tagu <img>.
B. nie zdefiniowano elementu <title> w sekcji <head> dokumentu.
C. element <title> nie jest konieczny.
D. element <title> nie został prawidłowo zamknięty przez </title>.
Wybierając odpowiedzi, które wskazują na inne problemy z elementem <title>, możesz się trochę pogubić jeśli chodzi o podstawowe zasady HTML5. Pamiętaj, że ten element jest obowiązkowy, a jak go brakuje w sekcji <head>, to pojawia się błąd, który pokazuje, że nie wszystko się zgadza z zasadami HTML. Myślenie, że <title> nie jest wymagany, to duży błąd, bo każda strona powinna mieć ten element, żeby działała poprawnie w przeglądarkach i wyszukiwarkach. Też stwierdzenie, że <title> nie jest zamknięty przez </title>, może sugerować, że myślisz, że ten element mógłby być opcjonalny, co jest nieprawdziwe. Jeśli masz <title>, to musi być on poprawnie zdefiniowany i zamknięty. A pomijanie atrybutu title w znaczniku <img> może być mylące, bo ten atrybut dotyczy opisu obrazków, a to wcale nie jest związane z tytułem dokumentu. Pamiętaj, że brak atrybutu alt w <img> może powodować problemy z dostępnością, ale nie wpływa na walidację sekcji <head>. Ważne jest, żeby zrozumieć kontekst i rolę każdego elementu HTML w budowie strony.

Pytanie 4

Do czego służy reguła float: left; zastosowana do elementu blokowego?

A. do wyrównania tekstu do lewej
B. do układania bloków jeden pod drugim
C. do ustawienia bloku po lewej, by inne elementy go oblewały
D. do wyrównania elementów tabeli do lewej
float steruje opływaniem, a nie wyrównaniem tekstu (od tego jest text-align) ani układaniem bloków jeden pod drugim (to domyślne zachowanie). Nie dotyczy też wyrównywania komórek tabeli. float: left; ustawia blok po lewej, by inne elementy go oblewały.

Pytanie 5

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:active { background-color: Pink; }
B. td, th { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. tr { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek.

W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony.

Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 6

Które stwierdzenie najlepiej opisuje klasę Owoc zdefiniowaną w języku PHP i przedstawioną na listingu?

class Owoc {
    public $nazwa;
    private $kolor;
    function set_nazwa($nazwa) {
        $this->nazwa = $nazwa;
    }
}
A. Zawiera jedno pole i dwie metody, z których jedna ma ograniczony zasięg prywatny.
B. Zawiera dwa pola oraz jeden konstruktor, oba pola mają zasięg widzialności ograniczony wyłącznie do metod klasy.
C. Zawiera dwa pola i jedną metodę, a pole kolor ma zasięg widzialności ograniczony wyłącznie do metod klasy.
D. Zawiera dwa pola i jedną metodę, a pole nazwa ma zasięg widzialności ograniczony wyłącznie do metod klasy.
Wiele z błędnych odpowiedzi opiera się na niewłaściwej interpretacji widoczności pól oraz liczby metod w klasie. Klasa Owoc ma jedno publiczne pole o nazwie nazwa oraz jedno prywatne pole kolor, co oznacza, że tylko metody wewnątrz klasy mogą uzyskiwać dostęp do pola kolor. Pierwsza odpowiedź sugeruje, że klasa ma jedno pole i dwie metody, co jest niezgodne z rzeczywistością, ponieważ nie zdefiniowano drugiej metody. Z kolei odpowiedzi wskazujące na istnienie konstruktora są również błędne, ponieważ klasa Owoc nie definiuje żadnego konstruktora, co oznacza, że PHP automatycznie generuje domyślny konstruktor, ale nie jest on jawnie widoczny w kodzie. Istotnym błędem jest również założenie, że pole nazwa ma ograniczoną widoczność, co nie jest prawdziwe, gdyż jest ono publiczne i dostępne z zewnątrz klasy. Takie nieprawidłowe wnioski mogą wynikać z braku zrozumienia podstawowych zasad programowania obiektowego oraz widoczności w PHP, co jest kluczowe dla poprawnego projektowania aplikacji. W szczególności, umiejętność rozróżnienia między różnymi poziomami widoczności (publiczne, prywatne, chronione) jest niezbędna dla efektywnego korzystania z obiektów i klas w tym języku.

Pytanie 7

W CSS zapisany w ten sposób:

p { background-image: url("rysunek.png"); }

spowoduje, że rysunek.png stanie się

A. wyświetlony, jeśli w kodzie użyty zostanie znacznik img
B. widoczny obok każdego akapitu
C. tłem każdego akapitu
D. tłem całej witryny
W przypadku stylowania elementów za pomocą CSS, bardzo łatwo popełnić błąd interpretacyjny, jeśli nie zna się szczegółów działania selektorów czy właściwości stylów. Zapis p { background-image: url("rysunek.png"); } dotyczy wyłącznie elementów <p>, czyli akapitów, a nie całej witryny. Popularnym nieporozumieniem jest myślenie, że taka reguła zmieni tło całej strony — w rzeczywistości, aby osiągnąć taki efekt, należałoby użyć selektora body, np. body { background-image: ... }, bo to body odpowiada za tło całego dokumentu. Jeśli ktoś zakłada, że obrazek pojawi się tylko wtedy, gdy w HTML użyjemy <img src="rysunek.png">, to miesza dwie zupełnie osobne koncepcje: background-image ustawia grafikę w tle elementu, a <img> osadza ją w strukturze treści jako samodzielny obiekt — to dwie różne rzeczy. Sam background-image nie potrzebuje obecności znacznika <img>; przeglądarka pobierze i wyświetli grafikę tylko jako tło elementu. Natomiast odpowiedź sugerująca, że obrazek będzie widoczny obok każdego akapitu, wynika chyba z niezrozumienia mechanizmu renderowania tła: CSS nie wstawia obrazka "obok" treści, tylko pod nią, w tle elementu, wypełniając całą jego powierzchnię (lub jej fragment w zależności od innych właściwości tła, np. background-repeat czy background-position). To często mylone z dekoracjami typu list-style-image w listach, gdzie obrazek rzeczywiście pojawia się obok tekstu listy. Warto zawsze czytać dokumentację i testować takie rzeczy samodzielnie — praktyka bardzo pomaga zrozumieć niuanse w CSS. Przemyślenie działania selektorów i właściwości to podstawa unikania takich nieporozumień podczas projektowania layoutów.

Pytanie 8

Którą funkcją PHP przekierować użytkownika na inną stronę?

A.
upload();
B.
header();
C.
require();
D.
include();
require() i include() DOŁĄCZAJĄ zawartość innego pliku do skryptu, a nie przekierowują przeglądarki. upload() nie jest funkcją PHP. Przekierowanie wykonuje header().

Pytanie 9

Użycie standardu ISO-8859-2 ma na celu zapewnienie prawidłowego wyświetlania

A. symboli matematycznych
B. znaków zarezerwowanych dla języka opisu strony
C. specjalnych znaków przeznaczonych dla języka kodu strony
D. polskich znaków, takich jak: ś, ć, ń, ó, ą
Wybór znaków matematycznych jako celu kodowania w standardzie ISO-8859-2 jest błędny, ponieważ ten standard nie koncentruje się na symbolach matematycznych, a raczej na literach i znakach typowych dla języków łacińskich, w tym polskiego. Mylne jest również stwierdzenie, że ISO-8859-2 jest używane do wyświetlania znaków specjalnych dla języka kodu strony, ponieważ te znaki są ogólnie obsługiwane przez różne standardy kodowania, w tym UTF-8, a ich obecność w ISO-8859-2 jest ograniczona. W przypadku znaków zarezerwowanych dla języka opisu strony, takich jak HTML, ich interpretacja nie zależy od konkretnego kodowania, lecz od zgodności z określonymi standardami HTML i CSS. Warto zwrócić uwagę, że wiele osób zapomina o różnicy między kodowaniem a samym językiem programowania; kodowanie dotyczy sposobu reprezentacji znaków, podczas gdy języki programowania definiują logikę oraz składnię. Często stosowanym błędem jest założenie, że każda strona internetowa musi wykorzystywać ISO-8859-2, co nie jest prawdą, zwłaszcza w dobie globalizacji i różnorodności językowej, gdzie coraz powszechniejsze staje się kodowanie UTF-8, które jest bardziej elastyczne i obsługuje szerszy zakres znaków.

Pytanie 10

Który zapis znacznika hr jest poprawny zgodnie z walidacją HTML5?

A.
<hr>
B.
</ hr>
C.
</ hr />
D.
</hr?>
<hr> to element PUSTY (void), więc poprawny zapis to po prostu <hr> - bez znacznika zamykającego i bez ukośnika (w HTML5 <hr/> jest zbędny). Dlatego poprawny jest <hr>.

Pytanie 11

Tabele: Studenci, Zapisy, Zajecia są powiązane relacją. Aby wybrać jedynie nazwiska studentów oraz odpowiadające im idZajecia dla studentów z grupy 15, należy wydać kwerendę

Ilustracja do pytania
A. SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idStudenta WHERE grupa = 15;
B. SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy ON Studenci.id = Zapisy.idStudenta;
C. SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy WHERE grupa= 15;
D. SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idZajecia WHERE grupa = 15;
Pierwszym istotnym problemem w niepoprawnych zapytaniach jest brak prawidłowego połączenia tabel na właściwych kluczach. W relacyjnych bazach danych, aby sensownie połączyć dane z różnych tabel, należy wykorzystać klucze główne i obce, które jasno definiują powiązania między obiektami. Jeśli zapomni się o warunku JOIN albo połączy się tabele po błędnych kolumnach (na przykład próbując połączyć idStudenta z idZajecia lub pomijając warunek ON), baza zwróci błędne wyniki lub wręcz nie pozwoli wykonać zapytania. To typowy błąd początkujących, którzy nie zawsze rozumieją, jak bardzo ważne jest precyzyjne określenie relacji – w rzeczywistych bazach danych relacji jest wiele, a niewłaściwe powiązanie może prowadzić do powstawania kartuzjańskiego iloczynu, czyli powielania danych bez rzeczywistego sensu. Brak filtru WHERE grupa = 15 skutkuje wyciągnięciem danych dla wszystkich studentów, co może być ogromnym problemem przy dużych bazach i całkowicie rozmija się z celem kwerendy. Moim zdaniem, wiele osób zapomina, że filtrowanie to podstawa – bez tego, szczególnie przy produkcyjnych bazach, można zarówno błędnie interpretować wyniki, jak i mocno przeciążyć system niepotrzebnym ruchem. Takie błędy wynikają często z braku systematycznego podejścia do projektowania zapytań i nieuważnego czytania struktury tabel. Warto od razu przyzwyczajać się do pracy zgodnie z konwencjami, bo to przekłada się na bezpieczeństwo, wydajność i poprawność działania całego systemu. W praktyce – nawet drobny błąd w składni JOIN lub brak filtrowania na kluczowej kolumnie może wywołać lawinę problemów, zwłaszcza gdy kwerenda staje się częścią większej aplikacji biznesowej lub raportu dla zarządu.

Pytanie 12

Co oznacza skrót SQL?

A. Standard Quality Language
B. Sequential Question Language
C. Structured Query Language
D. Simple Query Logic
Pozostałe rozwinięcia są wymyślone i nie funkcjonują w informatyce. „Standard Quality Language”, „Sequential Question Language” czy „Simple Query Logic” brzmią podobnie, ale nie są poprawnym rozwinięciem skrótu. SQL to Structured Query Language.

Pytanie 13

Jak brzmi nazwa edytora, który wspiera proces tworzenia stron internetowych i którego działanie można określić w polskim tłumaczeniu słowami: widzisz to, co otrzymujesz?

A. WEB STUDIO
B. VISUAL EDITOR
C. WYSIWYG
D. IDE
IDE, czyli Integrated Development Environment, to zintegrowane środowisko programistyczne, które oferuje narzędzia dla programistów do pisania, testowania i debugowania kodu. IDE zazwyczaj skupia się na językach programowania i wymaga od użytkownika znajomości takich języków jak C++, Java czy Python, co znacznie różni się od podejścia WYSIWYG, które ma na celu umożliwienie edycji treści bez potrzeby pisania kodu. Wybór IDE zamiast edytora WYSIWYG może prowadzić do błędnych wniosków dotyczących procesu tworzenia stron internetowych, ponieważ programiści i twórcy treści mają różne potrzeby i umiejętności. WEB STUDIO to termin, który zazwyczaj odnosi się do kompleksowych narzędzi do tworzenia stron internetowych, ale niekoniecznie oznacza edytor WYSIWYG. Niektóre z tych narzędzi mogą wymagać znajomości kodu, co również nie pasuje do koncepcji WYSIWYG. VISUAL EDITOR to termin ogólny, który może odnosić się do różnych typów edytorów, ale nie jest ściśle związany z ideą WYSIWYG. Pominięcie tego aspektu może prowadzić do mylnych wyobrażeń o możliwościach i funkcjonalności tych narzędzi. Dlatego ważne jest, aby zrozumieć różnice między tymi pojęciami i znać ich zastosowanie w praktyce. W przeciwnym razie można łatwo wpaść w pułapkę myślenia, że wszystkie narzędzia do tworzenia treści są sobie równe, co jest dalekie od prawdy.

Pytanie 14

W danej tabeli pracownicy, polecenie MySQL eliminujące wszystkie wpisy, dla których nie została wypełniona kolumna rodzaj_umowy, ma następującą formę

A. DELETE pracownicy WHERE rodzaj_umowy = 'brak';
B. DROP pracownicy FROM rodzaj_umowy = 0;
C. DELETE FROM pracownicy WHERE rodzaj_umowy IS NULL;
D. DROP pracownicy WHERE rodzaj_umowy IS NULL;
Odpowiedź "DELETE FROM pracownicy WHERE rodzaj_umowy IS NULL;" jest prawidłowa, ponieważ polecenie SQL DELETE jest używane do usuwania rekordów z tabeli w bazie danych. W tym przypadku, operacja koncentruje się na usunięciu pracowników, którzy nie mają przypisanego rodzaju umowy, co oznacza, że wartość w polu 'rodzaj_umowy' jest równa NULL. Wartość NULL w bazach danych oznacza brak danych, co jest kluczowym aspektem w kontekście ewidencji pracowników. Stosowanie warunku IS NULL jest standardową praktyką w SQL do identyfikowania brakujących wartości, a tym samym skutecznego zarządzania danymi. W praktyce, takie operacje są często używane, aby utrzymać integralność bazy danych i zapewnić, że tylko aktualne oraz wypełnione dane są przechowywane. Dobrą praktyką jest również wykonywanie zapytań DELETE w transakcjach, aby mieć możliwość ich cofnięcia w razie potrzeby, co minimalizuje ryzyko utraty ważnych informacji.

Pytanie 15

Która z poniższych funkcji zdefiniowanych w języku PHP oblicza sumę połowy wartości a i połowy wartości b?

A. function licz($a, $b) {return $a/2 + $b/2;}
B. function licz($a, $b) {return 2/$a + 2/$b;}
C. function licz($a, $b) {return $a/2 + $b;}
D. function licz($a, $b) {return ($a/2 + $b)/2;}
Odpowiedź jest poprawna, ponieważ funkcja 'licz' w tej formie prawidłowo oblicza sumę połowy wartości a oraz połowy wartości b. W języku PHP, operator '/' dzieli wartość po lewej stronie przez wartość po prawej, więc w tym przypadku a/2 i b/2 zwracają odpowiednio połowę a oraz połowę b. Następnie te dwie wartości są sumowane, co jest zgodne z wymaganym wynikiem. Przykład zastosowania tej funkcji może być użyty w sytuacji, gdy chcemy obliczyć średnią wartość dwóch parametrów, co jest często spotykane w obliczeniach statystycznych i analitycznych. Dobrą praktyką jest również zapewnienie, że wartości a i b są liczbami, co można osiągnąć za pomocą walidacji danych wejściowych. Zastosowanie tej funkcji w większym kontekście, na przykład w aplikacjach webowych czy systemach obliczeniowych, pokazuje jej uniwersalność i efektywność w pracy z danymi.

Pytanie 16

W przedstawionym kodzie JavaScript występuje błąd logiczny. Program, zamiast informować, czy liczby są równe, nie działa prawidłowo. Wskaż, która odpowiedź dotyczy tego błędu.

var x = 5;
var y = 3;
if (x = y)
  document.getElementById("demo").innerHTML = "zmienne są równe";
else
  document.getElementById("demo").innerHTML = "zmienne się różnią";
A. Polecenia w sekcjach if i else powinny zostać zamienione miejscami
B. Zmienne zostały błędnie zadeklarowane
C. Przed instrukcją else nie powinno być średnika
D. W instrukcji if znajduje się przypisanie zamiast operacji porównania
Kod JavaScript z błędem logicznym w pytaniu ma na celu sprawdzenie równoważności dwóch zmiennych, jednak ze względu na użycie niewłaściwego operatora nie działa poprawnie. W przypadku stwierdzenia, że przed klauzulą else nie powinno być średnika, należy zrozumieć, że w JavaScript średnik wskazuje koniec instrukcji i jego obecność lub brak bezpośrednio przed else może zmienić logikę kodu, ale nie w tym kontekście. Jeśli chodzi o błędne przypisanie zamiast porównania w instrukcji if, właściwe używanie operatorów przypisania i porównania jest kluczowe, ponieważ ich zamiana prowadzi do logicznych błędów, które mogą być trudne do zdiagnozowania. Natomiast nieprawidłowa deklaracja zmiennych w JavaScript może wpływać na zakres lub sposób ich użycia, ale tutaj zmienne są poprawnie zadeklarowane za pomocą var, choć nowoczesne standardy promują let lub const dla lepszej kontroli zakresu. Na koniec, zamiana miejsc instrukcji wewnątrz sekcji if oraz else prowadzi jedynie do zmiany logicznej kolejności akcji bez rozwiązywania błędu pierwotnego, jakim jest użycie niewłaściwego operatora porównania. Kluczowym jest tu zrozumienie, że zrozumienie i poprawne stosowanie operatorów logicznych jest fundamentalne w pisaniu poprawnego kodu.

Pytanie 17

Jakie jest zadanie funkcji desaturacji w edytorze grafiki?

A. rozjaśnienie obrazu
B. zwiększenie liczby kolorów w obrazie
C. zwiększenie jaskrawości (nasycenia) barw
D. przekształcenie barw do odcieni szarości
Desaturacja to obróbka, która zmniejsza nasycenie barw aż do zera, przez co kolorowy obraz staje się czarno-biały (w odcieniach szarości). Zachowuje przy tym jasność pikseli - zmienia się tylko „kolorowość”, a nie to, jak jasny jest dany punkt. Stosuje się ją, gdy chcemy uzyskać efekt monochromatyczny albo przygotować obraz do dalszej obróbki. Pojęciowo jest przeciwieństwem zwiększania nasycenia (saturacji). Dlatego zadaniem desaturacji jest przekształcenie barw do odcieni szarości.

Pytanie 18

Na podstawie tabeli Towar wykonano poniższe zapytanie SQL. Jaki będzie rezultat tej operacji?

SELECT nazwa_towaru
FROM`Towar`
WHERE cena_katalogowa<65
ORDER BY waga DESC
IDnazwa_towarucena_katalogowawagakolor
1Papier ksero A4112.3biel
2Zeszyt A54.20.13wielokolorowy
3Zeszyt A5 w linie3.50.12niebieski
4Kredki 24 kolory90.3wielokolorowy
5Plecak szkolny65.51.3zielony
A. Papier ksero A4, Kredki 24 kolory, Zeszyt A5 w linie, Zeszyt A5
B. Zeszyt A5, Zeszyt A5 w linie, Kredki 24 kolory, Papier ksero A4
C. Papier ksero A4, Kredki 24 kolory, Zeszyt A5, Zeszyt A5 w linie
D. Zeszyt A5 w linie, Zeszyt A5, Kredki 24 kolory, Papier ksero A4
Patrząc na błędne odpowiedzi, widzę, że poważnym błędem było niezrozumienie klauzuli WHERE oraz ORDER BY. Klauzula WHERE w SQL po prostu wyklucza towary z ceną 65 lub wyższą, co jest kluczowe, bo pozwala filtrować dane. Jak się to zignoruje, to produkt, który nie powinien się tam znaleźć, jak plecak szkolny, mógłby się pojawić. Co więcej, sporo osób myli sortowanie. ORDER BY waga DESC mówi nam, żeby sortować według wagi w kolejności malejącej. Niektórzy źle to interpretują, myśląc, że to jest w porządku rosnącym, albo całkowicie lekceważą wagę w sortowaniu. Wiedza o tym, jak działają te klauzule, jest ważna, gdy się pracuje z SQL. Trzeba zrozumieć, jak działa filtrowanie i sortowanie, bo to jest bazą pracy analityka danych i specjalisty od baz danych. W projektowaniu zapytań SQL każdy element powinien mieć swój cel i być dobrze zrozumiany, żeby pasował do logiki biznesowej i wymagań analizy danych.

Pytanie 19

W którym z przedstawionych bloków powinien być umieszczony warunek pętli?

Ilustracja do pytania
A. Rys. A
B. Rys. D
C. Rys. C
D. Rys. B
Pozostałe rysunki reprezentują inne elementy diagramu przepływu które nie nadają się do reprezentowania warunku pętli. Rysunek A to prostokąt symbolizujący operację lub proces w przepływie programu. Jest używany do przedstawiania konkretnego kroku algorytmu takiego jak obliczenie czy przypisanie wartości ale nie do wyrażania warunków. Użycie go do reprezentacji warunku pętli wprowadziłoby zamieszanie co do natury tego kroku ponieważ nie oddaje on dwoistości decyzji tak jak romb. Rysunek B przedstawia owal który często jest używany do oznaczania początku lub końca procesu. W kontekście pętli nie jest on odpowiedni ponieważ nie pozwala na wyrażenie logicznego warunku kontrolującego przebieg pętli. Wprowadzenie warunku w owalnym bloku mogłoby sugerować że jest to punkt rozpoczęcia lub zakończenia całego algorytmu co jest mylące. Rysunek D to symbol oznaczający połączenie między różnymi częściami diagramu i nie ma zastosowania przy definiowaniu logiki warunkowej. Role tego symbolu dotyczą bardziej struktury diagramu niż jego logiki. Wprowadzenie warunku w takim bloku mogłoby utrudnić śledzenie przepływu danych i logiczne rozumienie procesu co jest krytyczne dla poprawnego działania pętli. Dlatego stosowanie odpowiednich symboli zgodnych z ich przeznaczeniem jest kluczowe w tworzeniu czytelnych i zrozumiałych diagramów algorytmicznych a wybór rombu do reprezentacji warunku pętli jest zgodny z tymi zasadami i wspiera dobry styl programistyczny poprzez ułatwienie zrozumienia logiki algorytmu.

Pytanie 20

Aby zainstalować system CMS Joomla!, potrzebne jest środowisko

A. Apache oraz PHP
B. PHP oraz MySQL
C. Apache, PHP i MySQL
D. IIS, PERL i MySQL
Użytkownicy mogą mieć wątpliwości co do wyboru odpowiednich technologii dla uruchomienia systemu CMS Joomla!. Odpowiedzi sugerujące jedynie Apache i PHP ignorują istotny element, jakim jest baza danych. Brak MySQL w konfiguracji oznacza, że nie byłoby możliwości przechowywania oraz zarządzania danymi, co jest kluczowe w każdej aplikacji webowej. Z kolei odpowiedź zakładająca użycie IIS, PERL i MySQL wprowadza nieprawidłową konfigurację, gdyż IIS jest serwerem stworzonym przez Microsoft, który może być używany z innymi technologiami, ale nie jest standardowym wyborem dla Joomla!. PERL to język programowania, który nie jest powszechnie używany w ekosystemie Joomla! i nie jest wymagany do jej działania. Inną kwestią jest odpowiedź proponująca tylko PHP i MySQL, która również pomija serwer WWW - fundament działania aplikacji webowych. Prawidłowe uruchomienie Joomla! wymaga zintegrowania wszystkich trzech komponentów: serwera, języka skryptowego i bazy danych. Ignorowanie tych zależności prowadzi do błędnego rozumienia architektury aplikacji internetowych, co może w przyszłości skutkować problemami w implementacji oraz działaniu projektów opartych na Joomla!. Właściwe podejście wymaga zrozumienia, że każdy z tych elementów odgrywa kluczową rolę w zapewnieniu stabilności, bezpieczeństwa oraz wydajności aplikacji.

Pytanie 21

Które dane zostaną wybrane w wyniku działania kwerendy na przedstawionych rekordach?

SELECT id FROM samochody WHERE rocznik LIKE "2%4";
idmarkamodelrocznik
1FiatPunto2016
2FiatPunto2002
3FiatPunto2007
4OpelCorsa2016
5OpelAstra2003
6ToyotaCorolla2016
7ToyotaCorolla2014
8ToyotaYaris2004
A. Brak danych.
B. Identyfikatory równe 7 oraz 8.
C. Tylko identyfikator równy 8.
D. Wszystkie identyfikatory.
W analizowanej kwerendzie zastosowanie operatora LIKE z wzorcem '2%4' skutkuje koniecznością zrozumienia, jak działają operatory porównania w SQL. Odpowiedzi sugerujące puste dane lub zwracające wszystkie id są błędne, ponieważ nie uwzględniają specyfiki zastosowanego wzorca. Mówiąc o pustych danych, zakłada się, że żaden z rekordów nie spełniałby kryteriów, co jest fałszywe, gdyż odpowiednie rekordy istnieją. Z kolei odpowiedź dotycząca wszystkich id ignoruje kluczową funkcję operatora LIKE, który pozwala na filtrowanie danych na podstawie rozpoznawania wzorców, a nie zwracanie całości. Odpowiedzi wskazujące na konkretne id, takie jak 8 lub kombinacje 7 i 8, nie uwzględniają logicznego rozumienia, że kwerenda zwraca wyniki spełniające określone kryteria. Ważne jest, aby pamiętać, że w analizach SQL kluczowe jest zrozumienie, jak operatory wpływają na wyniki, co może być łatwo pominięte w przypadku niewłaściwej interpretacji syntaktycznej zapytania.

Pytanie 22

Jaką treść komunikatu należy umieścić w kodzie PHP zamiast znaków zapytania?

$a = mysql_connect('localhost', 'adam', 'mojeHaslo');

if (!$a)
    echo "?????????????";
A. Rekord został pomyślnie dodany do bazy
B. Wybrana baza danych nie istnieje
C. Błąd połączenia z serwerem SQL
D. Błąd w trakcie przetwarzania zapytania SQL
Niepoprawne odpowiedzi wynikają z niezrozumienia działania funkcji mysql_connect(). Na przykład twierdzenie, że błąd dotyczy 'Wybrana baza nie istnieje' jest błędne, ponieważ mysql_connect() jedynie łączy z serwerem, a nie wybiera bazy. Do tego służy funkcja mysql_select_db(). Jest to częsty błąd, gdyż początkujący użytkownicy mogą mylić różne etapy interakcji z bazą danych. Kolejnym błędnym podejściem jest zakładanie, że problem dotyczy 'Błędu przetwarzania zapytania SQL'. Funkcja mysql_connect() nie przetwarza zapytań SQL, a jedynie ustanawia połączenie. Odpowiedzialność za przetwarzanie zapytań leży po stronie innych funkcji takich jak mysql_query(). Założenie, że komunikat powinien brzmieć 'Pomyślnie dodano rekord do bazy' również jest nieprawidłowe, ponieważ zawiera informację o sukcesie, gdy w rzeczywistości mamy do czynienia z sytuacją błędną, gdy połączenie nie mogło zostać nawiązane. Zrozumienie tych koncepcji jest kluczowe w budowaniu aplikacji korzystających z baz danych, ponieważ właściwe zarządzanie błędami i komunikacja z użytkownikiem wpływają na stabilność i użyteczność aplikacji.

Pytanie 23

Po uruchomieniu kodu PHP

echo date("Y-m");
na ekranie pojawi się bieżąca data w formacie:
A. dnia, miesiąca, roku
B. tylko roku
C. roku oraz miesiąca
D. dnia i roku
Odpowiedź 'rok i miesiąc' jest prawidłowa, ponieważ funkcja 'date' w PHP formatuje datę na podstawie podanego wzorca. W przypadku użycia wzorca 'Y-m', 'Y' oznacza pełny rok (np. 2023), a 'm' oznacza dwucyfrowy miesiąc (np. 03 dla marca). W wyniku działania 'echo date("Y-m");' na ekranie zostanie wyświetlona aktualna data w formacie YYYY-MM, co jest niezwykle przydatne w wielu aplikacjach, takich jak generowanie raportów miesięcznych, archiwizacja danych czy implementacja systemów zarządzania treścią. Użycie tego wzorca jest zgodne z najlepszymi praktykami programistycznymi, które zalecają właściwe formatowanie daty w celu jej późniejszej analizy lub prezentacji. Ponadto, umiejętność manipulacji datami w PHP jest kluczowa w kontekście tworzenia aplikacji webowych, które często wymagają interakcji z użytkownikami w czasie rzeczywistym, a także integracji z bazami danych, gdzie prawidłowe formatowanie daty ma kluczowe znaczenie dla integralności danych.

Pytanie 24

Jakie sformułowanie najlepiej opisuje metodę POST do przesyłania formularzy?

A. Może być zarejestrowana jako zakładka w przeglądarce internetowej
B. Ma dodatkowe ograniczenia związane z długością adresu - maksimum 255 znaków
C. Jest zalecana, gdy przesyłane są dane poufne, na przykład hasło, numer telefonu lub numer karty kredytowej
D. Dane są przesyłane przez adres URL, co czyni je widocznymi dla użytkownika
Metoda POST jest jedną z podstawowych metod przesyłania danych w protokole HTTP, której głównym celem jest umożliwienie przesyłania dużych objętości danych, w tym informacji poufnych. Gdy używamy metody POST do wysyłania formularzy, dane nie są widoczne w adresie URL, co czyni tę metodę bardziej odpowiednią do przesyłania wrażliwych informacji, takich jak hasła, numery kart kredytowych czy dane osobowe. W przeciwieństwie do metody GET, która dodaje dane do adresu URL, metoda POST przesyła je w ciele zapytania, co ogranicza ryzyko przypadkowego ujawnienia informacji. Standardy bezpieczeństwa w branży webowej zalecają użycie metody POST do wszelkich operacji, które zmieniają stan serwera, jak dodawanie użytkowników, logowanie czy przesyłanie informacji finansowych. Przykładem może być formularz logowania, w którym dane użytkownika są przesyłane do serwera w sposób niewidoczny dla osób trzecich, co minimalizuje ryzyko przechwycenia tych informacji przez złośliwe oprogramowanie.

Pytanie 25

Jak należy prawidłowo udokumentować wzorcowanie pola nazwa we fragmencie kodu JavaScript?

function validateForm(Form)
{
reg=/^\[1-9\]*[A-ZŻŹĘĄĆŚÓŁŃ]{1}[a-zżźćńółęąś]{2,}$/;
wyn = Form.nazwa.value.match(reg);
if (wyn == null) {
    alert("Proszę podać poprawną nazwę");
    return false;
}
return true;
}
A. /* Pole nazwa może zawierać dowolny ciąg cyfr (z wyłączeniem 0), następnie musi zawierać dużą literę i ciąg minimum dwóch małych liter. */
B. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i dużych liter. */
C. /* Pole nazwa musi składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i dwóch małych liter. */
D. /* Pole nazwa powinno składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i ciągu małych liter. */
Odpowiedź druga jest poprawna, ponieważ dokładnie opisuje wzorzec walidacji użyty w kodzie JavaScript. Wyrażenie regularne określa, że pole nazwa może zaczynać się od dowolnej liczby cyfr od 1 do 9, co oznacza, że cyfra 0 jest wykluczona, co jest zgodne z opisem. Następnie musi wystąpić jedna duża litera, co jest również zgodne z wymogiem wzorca. Kolejnym wymogiem jest wystąpienie co najmniej dwóch małych liter, co także jest zgodne z przedstawionym wzorcem. Poprawna i precyzyjna dokumentacja kodu ma kluczowe znaczenie dla utrzymania oraz dalszego rozwoju oprogramowania. Dobrze udokumentowane wyrażenia regularne pozwalają na lepsze zrozumienie logiki walidacji i ułatwiają pracę zespołom deweloperskim. Warto również zauważyć, że stosowanie wyrażeń regularnych w walidacji danych wejściowych jest standardową praktyką w branży IT, szczególnie w aplikacjach webowych, gdzie dane użytkowników wymagają szczegółowego sprawdzania pod kątem poprawności i bezpieczeństwa. Dzięki temu można uniknąć potencjalnych błędów i ataków wynikających z niewłaściwie przetworzonych danych.

Pytanie 26

Po uszkodzeniu serwera bazy danych, aby jak najszybciej przywrócić pełną bazę, należy użyć:

A. aktualnej kopii zapasowej
B. kompletnej listy użytkowników serwera
C. opisów struktur danych w tabelach
D. najnowszej wersji instalacyjnej serwera
Po uszkodzeniu serwera najszybciej odtworzysz PEŁNĄ bazę z aktualnej KOPII ZAPASOWEJ (backupu) - zawiera ona zarówno strukturę, jak i dane. Dlatego regularne kopie to podstawa bezpieczeństwa: im świeższy backup, tym mniejsza strata. Zapamiętaj: awaria danych = przywrócenie z kopii zapasowej.

Pytanie 27

Jeden klient może mieć wiele zamówień, a każde zamówienie należy do jednego klienta. Jaka to relacja?

A.
n .. 1
B.
1 .. n
C.
1 .. 1
D.
n .. n
Pozostałe oznaczenia nie pasują. 1..1 znaczyłoby, że klient ma tylko jedno zamówienie. n..1 to ta sama relacja zapisana odwrotnie (z punktu widzenia zamówień), ale w opisie punktem wyjścia jest klient, więc naturalnie 1..n. n..n pozwalałoby, by zamówienie należało do wielu klientów. Opisany przypadek to 1..n.

Pytanie 28

W SQL, aby zaktualizować informacje w wierszach w tabeli, konieczne jest użycie polecenia

A. ALTER TABLE
B. SELECT
C. UPDATE
D. INSERT INTO
Odpowiedź "UPDATE" jest właściwa, bo w SQL to właśnie to polecenie używamy do zmiany danych w już istniejących wierszach tabeli. Żeby zaktualizować konkretne kolumny w danym wierszu, trzeba wpisać coś takiego: "UPDATE nazwa_tabeli SET kolumna1 = wartość1, kolumna2 = wartość2 WHERE warunek". Dzięki klauzuli WHERE możemy dokładnie wskazać, które wiersze chcemy zmienić, co jest naprawdę ważne, żeby wszystko działało sprawnie i bezpiecznie. Na przykład, jeśli chcemy zmienić nazwisko użytkownika o id równym 1, napiszemy: "UPDATE Użytkownicy SET nazwisko = 'NoweNazwisko' WHERE id = 1". Używanie tego polecenia to dobra praktyka w zarządzaniu bazami danych. Nie zapominajmy o transakcjach, żeby mieć pewność, że dane są bezpieczne. A jak korzystamy z przygotowanych zapytań, to zminimalizujemy ryzyko ataków SQL injection, co jest bardzo istotne w kontekście bezpieczeństwa aplikacji bazodanowych.

Pytanie 29

Na ilustracji przedstawiającej tabelę muzyka, zrealizowano poniższe zapytanie SQL. Jaki rezultat zwróci ta kwerenda?

SELECT wykonawca FROM`muzyka`
WHERE wykonawca LIKE 'C%w';
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzesław Niemen2005Przyjdź W Taka Noc itp.
2IkonaStan Borys2014
3AerolitCzesław Niemen2017Winylowa reedycja płyty "Aerolit"
4JourneyMikołaj Czechowski2013
A. Czesław
B. Czesław, Czechowski
C. Czesław, Niemen
D. pusty wynik
W przypadku zapytania SQL które wykorzystuje operator LIKE z wzorcem C%W często dochodzi do nieporozumienia dotyczącego działania tego operatora. LIKE jest używany do porównywania wzorców tekstowych a procent % służy do zastępowania dowolnej liczby znaków. Można by błędnie założyć że skoro zapytanie ma zwrócić wykonawców których imiona zaczynają się na C i kończą na W to którąś z dostępnych opcji w tabeli spełnia ten warunek. Jednakże w tej konkretnej tabeli nie ma wykonawcy który by spełniał te kryteria. Czesław Niemen kończy się na M a nie na W natomiast Mikołaj Czechowski rozpoczyna się od litery M zamiast C. Przykładem typowego błędu jest nieprawidłowa interpretacja tego jak działają wzorce w operatorze LIKE lub przeoczenie że wzorzec musi być dokładnie zgodny z wymaganiami. Ważnym aspektem jest też zrozumienie że w praktyce biznesowej dokładność danych jest kluczowa a niepoprawne zrozumienie wzorców prowadzi do niepoprawnych wyników zapytań. Dlatego zawsze warto przetestować zapytanie na mniejszym zbiorze danych aby upewnić się że zwraca oczekiwane wyniki co jest dobrą praktyką w zarządzaniu bazami danych.

Pytanie 30

Który znacznik służy do tworzenia LISTY w HTML?

A.
<td>
B.
<th>
C.
<ul>
D.
<tr>
Listę nieuporządkowaną (punktowaną) tworzy znacznik <ul>, a jej elementy umieszcza się w <li>. Dlatego listę tworzy <ul>.

Pytanie 31

Przedstawiony algorytm umożliwia wyliczenie

Ilustracja do pytania
A. średniej geometrycznej n liczb a wprowadzonych przez użytkownika.
B. najmniejszego wspólnego dzielnika dla n kolejnych liczb a.
C. średniej arytmetycznej n liczb a wprowadzonych przez użytkownika.
D. reszty z dzielenia kolejnych liczb a przez liczbę n.
Algorytm z diagramu realizuje dokładnie klasyczny wzór na średnią arytmetyczną. Najpierw wczytywana jest liczba n – ile wartości użytkownik poda. Potem zmienna „Wynik” jest zerowana, a zmienna sterująca pętlą i ustawiana na 0. Następnie działa pętla z warunkiem i < n: w każdej iteracji program wczytuje kolejną liczbę a, dodaje ją do zmiennej Wynik (czyli de facto sumuje wszystkie podane liczby), a licznik i zwiększa o 1. Gdy i przestaje być mniejsze od n, pętla się kończy i dopiero wtedy wykonywana jest operacja Wynik = Wynik / n. To jest dokładnie to, co robi wzór: średnia = (a1 + a2 + … + an) / n. Z praktycznego punktu widzenia taki algorytm to absolutna podstawa w programowaniu, szczególnie przy pracy z danymi wejściowymi: wynikami pomiarów, ocenami uczniów, czasami odpowiedzi serwera itp. W wielu językach programowania (C, Java, JavaScript, PHP) napisanie tego w kodzie sprowadza się do jednej pętli for lub while, sumowania zmiennej i jednego dzielenia na końcu. Dobrą praktyką jest, żeby dzielenie wykonywać dopiero po zsumowaniu wszystkich elementów, dokładnie tak jak na diagramie, a nie w każdej iteracji, bo to ogranicza błędy zaokrągleń i jest po prostu wydajniejsze obliczeniowo. W aplikacjach webowych ten schemat pojawia się np. przy liczeniu średniej oceny produktu z wielu głosów użytkowników, średniego czasu odpowiedzi API albo średniego czasu spędzonego na stronie. Moim zdaniem to jedno z kluczowych ćwiczeń na zrozumienie pętli i zmiennych pomocniczych, bo łączy matematykę z bardzo praktyczną logiką algorytmiczną.

Pytanie 32

W podanym kodzie JavaScript ponumerowano linie dla ułatwienia. W programie występuje błąd, ponieważ po wykonaniu żadna wiadomość nie jest wyświetlana. Aby usunąć ten błąd, należy

1. if (a < b)
2. document.write(a);
3. document.write(" jest mniejsze");
4. else
5. document.write(b);
6. document.write(" jest mniejsze");
A. dodać nawiasy klamrowe w sekcjach if oraz else
B. w liniach 3 i 6 zamienić znaki cudzysłowu na apostrof, np. ' jest mniejsze'
C. umieścić znaki $ przed nazwami zmiennych
D. w liniach 2 i 5 zmienne a i b umieścić w cudzysłowach
Wstawienie znaków $ przed zmiennymi a i b jest podejściem, które nie ma zastosowania w standardowym JavaScript, gdyż nie jest to sposób na wskazywanie zmiennych w tym języku. W rzeczywistości, znaki $ są używane w niektórych bibliotekach, takich jak jQuery, ale nie wpływają na samą składnię JavaScript. Użycie apostrofów zamiast cudzysłowów również nie rozwiązuje problemu, gdyż JavaScript zezwala na użycie zarówno cudzysłowów, jak i apostrofów do definiowania ciągów tekstowych, jednak nie wpływa to na wykonanie bloków kodu. Zmiana zmiennych na ciągi znakowe w liniach 2 i 5 wprowadza błąd, ponieważ zamiast wartości zmiennych a i b, kod wyświetli dosłownie tekst 'a' oraz 'b', co nie jest zamierzonym celem. W programowaniu, ważne jest nie tylko zrozumienie składni, ale także logiki, jaką ona za sobą niesie. Regularne stosowanie dobrych praktyk, takich jak wstawianie nawiasów klamrowych, pozwala uniknąć takich typowych błędów, które mogą prowadzić do niewłaściwego działania kodu. Ponadto, poznanie i przestrzeganie standardów programistycznych znacznie zwiększa jakość i niezawodność tworzonych aplikacji.

Pytanie 33

Jak nazywa się organizacja społeczna, która skupia pracowników oraz chroni ich prawa i interesy zawodowe?

A. Straż Pożarna
B. kierownik zakładu
C. komisja BHP
D. związek zawodowy
Organizacja społeczna skupiająca pracowników i chroniąca ich prawa oraz interesy zawodowe to ZWIĄZEK ZAWODOWY - reprezentuje pracowników wobec pracodawcy, np. w negocjacjach płacowych. Dlatego mowa o związku zawodowym.

Pytanie 34

W języku Javascript obiekt typu array służy do przechowywania

A. wielu wartości tylko liczbowych
B. wielu wartości tylko tekstowych
C. wielu wartości lub funkcji
D. wielu wartości różnego rodzaju
Przy wyborze niepoprawnych odpowiedzi, można zauważyć kilka typowych nieporozumień dotyczących funkcji obiektów typu array w JavaScript. Odpowiedź sugerująca, że tablice służą wyłącznie do przechowywania wartości liczbowych, jest błędna, ponieważ w praktyce tablice te mogą zawierać różnorodne typy danych. Ograniczenie się tylko do liczb wyklucza możliwość przechowywania obiektów, tekstów, a nawet funkcji, co jest jedną z kluczowych cech tablic w JavaScript. Wybór odpowiedzi, która krępuje tablice do przechowywania jedynie wartości tekstowych, również jest mylny, ponieważ, podobnie jak w przypadku liczb, tablice mogą przechowywać wiele różnych typów, co czyni je bardziej uniwersalnymi. Kolejnym błędem myślowym jest przyjęcie, że tablice mogą przechowywać wyłącznie wartości lub funkcje. W rzeczywistości tablice mogą zawierać mieszankę różnych typów danych, co otwiera szereg możliwości w zakresie tworzenia bardziej złożonych struktur danych. JavaScript jako język programowania oferuje dużą elastyczność, co jest kluczowe w nowoczesnym rozwoju aplikacji. Zrozumienie, że tablice w JavaScript są dynamicznymi obiektami, które mogą przechowywać różnorodne dane, jest fundamentalne dla każdego programisty, który chce efektywnie wykorzystać ten język w projektach programistycznych.

Pytanie 35

Która funkcja PHP wczyta zawartość pliku do zmiennej (jako ciąg znaków)?

A.
eof()
B.
file_get_contents()
C.
fwrite()
D.
get_file()
Funkcja file_get_contents() wczytuje całą zawartość pliku do zmiennej jako jeden ciąg znaków - np. $tresc = file_get_contents("plik.txt");. Dlatego do odczytu pliku służy file_get_contents().

Pytanie 36

Aby wstawić w napisie (zmiennej typu string) złamanie linii, należy użyć znaku:

A.
\n
B.
\b
C.
\\
D.
\t
Każda z tych pozycji to sekwencja sterująca (escape), która zaczyna się od ukośnika wstecznego, ale każda znaczy co innego. \\ służy do zapisania w napisie samego znaku ukośnika - potrzebne, bo pojedynczy backslash ma znaczenie specjalne. \b to backspace, czyli cofnięcie kursora o jeden znak; nie tworzy nowej linii. \t wstawia tabulator - poziome wcięcie używane np. do wyrównywania kolumn, także bez zmiany wiersza. Przejście do nowej linii zapewnia \n, znak newline, dlatego to ta sekwencja jest poprawna.

Pytanie 37

W deklaracji w języku JavaScript:

var x=true;
zmienna x przyjmuje typ
A. liczbowym
B. wyliczeniowym
C. logicznym
D. ciąg znaków
Odpowiedź logicznego jest poprawna, ponieważ w języku JavaScript wyrażenie `var x = true;` przypisuje do zmiennej `x` wartość typu boolean, która jest jednym z dwóch stanów: `true` lub `false`. Typ boolean jest kluczowym elementem programowania, służącym do wykonywania logiki warunkowej, co jest niezbędne w większości aplikacji. Na przykład, używając warunków if-else, możemy podejmować decyzje na podstawie wartości boolean. W praktyce, po przypisaniu `x`, możemy używać go w instrukcjach warunkowych, jak w poniższym przykładzie: `if (x) { console.log('X jest prawdą'); } else { console.log('X jest fałszem'); }`. Ponadto, dobrym standardem jest oznaczanie zmiennych typem boolean poprzez użycie prefiksów, jak `is` lub `has`, co poprawia czytelność kodu. Wspieranie logiki programowania przy użyciu typów prostych jest kluczowe w inżynierii oprogramowania, co czyni tę wiedzę istotną.

Pytanie 38

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

A. nowego selektora klasy dla wiersza tabeli
B. pseudoklasy :hover
C. pseudoklasy :visited
D. pseudoelementu :first-line
Pozostałe odpowiedzi nie reagują na najechanie kursorem. :visited dotyczy wyłącznie odnośników, które użytkownik już odwiedził - nie ma związku z pozycją kursora nad wierszem. :first-line to pseudoelement stylizujący pierwszą linię tekstu w bloku, też niezależnie od myszy. Zwykła klasa CSS nadaje stały styl, ale sama z siebie nie wykrywa najechania - musiałby ją włączać dopiero JavaScript. Reakcję na kursor zapewnia pseudoklasa :hover, dlatego to ona jest poprawna.

Pytanie 39

Jakie oprogramowanie służy do obróbki dźwięku?

A. RealPlayer
B. Winamp
C. Brasero
D. Audacity
Wybór Brasero, Winampa czy RealPlayera jako programów do edycji dźwięku jest błędny, ponieważ każdy z nich pełni inną funkcję, która nie obejmuje zaawansowanej edycji audio. Brasero to program do nagrywania płyt, który umożliwia użytkownikom tworzenie obrazów dysków oraz nagrywanie danych na nośnikach optycznych. Jego głównym celem jest zarządzanie danymi, a nie edytowanie dźwięku, co czyni go nieodpowiednim w kontekście tego pytania. Winamp, z kolei, był popularnym odtwarzaczem multimedialnym, który skoncentrował się na odtwarzaniu plików audio i wideo, a jego funkcje ograniczały się do podstawowej obsługi dźwięku, bez zaawansowanych możliwości obróbczych. RealPlayer również skupia się głównie na odtwarzaniu materiałów wideo i audio, a jego funkcje edycyjne są bardzo ograniczone, co sprawia, że nie jest to narzędzie odpowiednie do poważnej edycji dźwięku. Użytkownicy mogą mylić te aplikacje z programami do edycji dźwięku z uwagi na ich popularność, jednak kluczowe jest zrozumienie różnicy między odtwarzaniem a edytowaniem audio. Właściwe podejście do wyboru narzędzi audio wymaga znajomości specyfikacji i zastosowania danego programu, co jest fundamentem w branży audio oraz w świecie produkcji dźwięku.

Pytanie 40

Pierwszym etapem konwersji sygnału analogowego na cyfrowy jest:

A. filtrowanie
B. kodowanie
C. próbkowanie
D. kwantyzacja
Pozostałe etapy następują PÓŹNIEJ lub są pomocnicze. Kwantyzacja przypisuje próbkom wartości z dyskretnej skali - ale dopiero PO ich pobraniu. Kodowanie zamienia te wartości na bity, czyli krok ostatni. Filtrowanie to obróbka sygnału, nie etap samej zamiany na cyfrę. Pierwszym etapem jest próbkowanie.