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: 27 kwietnia 2026 01:33
  • Data zakończenia: 27 kwietnia 2026 01:33

Egzamin niezdany

Wynik: 11/40 punktów (27,5%)

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

W języku HTML sposób na zdefiniowanie kodowania polskich znaków to

A. znacznik <title>
B. atrybut znacznika <p>
C. atrybut znacznika <meta>
D. znacznik <charset>
Poprawna odpowiedź to atrybut znacznika <meta>, który pozwala na określenie kodowania znaków w dokumencie HTML. Użycie znacznika <meta> w sekcji <head> dokumentu jest standardową praktyką, aby zapewnić prawidłowe wyświetlanie polskich znaków, takich jak ą, ć, ę, ł, ń, ó, ś, ź, ż. Przykładowa linia kodu, która definiuje kodowanie UTF-8, wygląda następująco: <meta charset="UTF-8">. Kodowanie UTF-8 jest zalecane, ponieważ obsługuje wszystkie znaki w standardzie Unicode, co jest szczególnie ważne w kontekście wielojęzycznych stron internetowych. W praktyce, jeśli nie zdefiniujemy odpowiedniego kodowania, przeglądarki mogą niepoprawnie interpretować znaki, co prowadzi do ich zniekształcenia. Zgodnie z W3C, przypisywanie kodowania w metadanych jest kluczowe dla zapewnienia dostępności oraz poprawności wyświetlania treści, co w konsekwencji wpływa na doświadczenia użytkowników przeglądających strony internetowe.

Pytanie 2

Jaki zestaw terminów określa interfejs użytkownika witryny internetowej?

A. Obróbka danych, system zarządzania treścią, projektowanie informacji
B. Przesyłanie zapytań do bazy, skrypty PHP
C. Przyciski, menu, interakcja użytkownika z aplikacją
D. Szkic strony, diagram witryny, diagram przepływu informacji
Pierwszy zestaw pojęć, obejmujący wysyłanie kwerend do bazy oraz skrypty PHP, odnosi się do technologii backendowych, które nie są bezpośrednio związane z interfejsem użytkownika. Wysyłanie kwerend do bazy danych to proces, w którym aplikacja zyskuje dostęp do informacji przechowywanych w bazie, co jest kluczowe dla funkcjonalności strony, ale nie definiuje, jak użytkownik będzie korzystał z tej strony. Również skrypty PHP, będące językiem programowania po stronie serwera, odpowiadają za logikę aplikacji, a nie za wizualizację i interakcję z użytkownikiem. Kolejny zestaw pojęć, składający się ze szkicu strony, diagramu witryny oraz diagramu przepływu informacji, dotyczy planowania i architektury informacji, co jest niezbędne w procesie projektowania, ale nie odnosi się bezpośrednio do komponentów interfejsu użytkownika. Te narzędzia pomagają zrozumieć strukturę i organizację treści, ale same w sobie nie definiują sposobu, w jaki użytkownik będzie wchodził w interakcję z danym systemem. Ostatni zestaw pojęć, obejmujący przetwarzanie informacji, system zarządzania treścią i projektowanie informacji, również nie odnosi się bezpośrednio do interfejsu. Przetwarzanie informacji to proces dotyczący obróbki danych, a system zarządzania treścią skupia się na tworzeniu i publikowaniu treści, co, mimo że jest istotne, nie definiuje fizycznych elementów interfejsu, które są niezbędne do interakcji z użytkownikiem. Wszystkie te odpowiedzi pomijają kluczowy aspekt UI, jakim jest bezpośrednia interakcja z użytkownikiem.

Pytanie 3

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:hover { background-color: Pink; }
B. tr:active { background-color: Pink; }
C. tr { background-color: Pink; }
D. td, th { background-color: Pink; }
W tym zadaniu chodzi o zrozumienie, jak działają selektory CSS oraz pseudo-klasy odpowiedzialne za interakcję z użytkownikiem. Jeśli efekt ma pojawiać się tylko wtedy, gdy użytkownik najedzie myszką na wiersz tabeli, to zwykłe ustawienie background-color bez pseudo-klasy nie spełni tego warunku. Deklaracja tr { background-color: Pink; } oznaczałaby, że wszystkie wiersze tabeli są cały czas różowe, niezależnie od tego, czy ktoś na nie najedzie, czy nie. To jest po prostu styl statyczny, bez żadnej reakcji na zdarzenia. Podobnie zapis td, th { background-color: Pink; } ustawia tło dla wszystkich komórek tabeli (zarówno nagłówkowych th, jak i zwykłych td) w sposób stały. Moim zdaniem to dość częsty błąd: ktoś kojarzy tabelę z komórkami i intuicyjnie styluje td/th, ale zapomina, że w pytaniu chodzi o efekt dynamiczny „po najechaniu”. W rezultacie otrzymujemy tabelę pokolorowaną na stałe, bez jakiejkolwiek interakcji, co jest sprzeczne z założeniem zadania i z typowym zachowaniem tabel w nowoczesnych interfejsach. Ciekawsza jest kwestia selektora tr:active { background-color: Pink; }. Pseudo-klasa :active oznacza element w momencie „aktywacji”, czyli najczęściej w chwili klikania (przytrzymania przycisku myszy). Efekt trwa bardzo krótko, tylko w czasie samego kliknięcia. To zupełnie inny scenariusz niż wygodne podświetlenie wiersza, które ma się utrzymywać, dopóki kursor jest nad elementem. Użycie :active prowadzi do efektu, który miga na ułamek sekundy i z punktu widzenia ergonomii jest praktycznie bezużyteczny w kontekście podświetlania wierszy. Typowy błąd myślowy przy takich pytaniach polega na myleniu różnych pseudo-klas: :hover, :active, :focus. W webdevie przyjęło się, że :hover służy do reakcji na najechanie myszką, :active do krótkiej reakcji na kliknięcie, a :focus do zaznaczenia elementu, który ma aktualnie fokus klawiatury. Standardy CSS i dobre praktyki projektowania interfejsów jasno wskazują, że do efektu „podświetl wiersz, gdy nad nim jestem” należy użyć właśnie :hover na odpowiednim elemencie, czyli w tym przypadku tr. Wszystkie pozostałe odpowiedzi ignorują tę zasadę albo stosują nie tę pseudo-klasę, co trzeba, przez co nie odzwierciedlają poprawnie zachowania pokazanego w materiale wideo.

Pytanie 4

Gdzie należy umieścić znacznik metajęzyka HTML?

A. pomiędzy znacznikami <body> ... </body>
B. pomiędzy znacznikami paragrafu
C. w dolnej części witryny internetowej
D. w sekcji nagłówkowej witryny internetowej
Umieszczanie znaczników metajęzyka HTML w niewłaściwych miejscach, takich jak stopka witryny czy sekcja <body>, może prowadzić do problemów z interpretacją dokumentu przez przeglądarki oraz wyszukiwarki. Sekcja <body> jest przeznaczona wyłącznie dla treści widocznej dla użytkowników, co oznacza, że wszelkie informacje dotyczące indeksowania czy metadanych powinny być w nagłówku. Umieszczanie znaczników metadanych w stopce nie tylko narusza konwencje HTML, ale także może sprawić, że nie będą one w ogóle przetwarzane przez wyszukiwarki, co ogranicza możliwości SEO witryny. Kolejnym błędem jest umieszczanie znaczników metadanych pomiędzy znacznikami paragrafu, co jest syntaktycznie niepoprawne oraz semantycznie nieuzasadnione. Takie działania mogą prowadzić do konfuzji zarówno dla programistów, jak i narzędzi analizujących strony internetowe. Właściwe umiejscowienie znaczników <meta> w sekcji nagłówkowej jest nie tylko standardem, ale też kluczowym elementem strategii tworzenia stron internetowych, które są przyjazne dla użytkowników i wyszukiwarek. Warto również zauważyć, że nieprzestrzeganie tych zasad może mieć negatywne skutki dla wydajności strony oraz jej pozycji w wynikach wyszukiwania.

Pytanie 5

Mamy tablicę o n elementach o nazwie t[n]. Zadaniem algorytmu, zapisanego w krokach, jest wyliczenie sumy

K1: i = 0; wynik = 0;
K2: Dopóki i < n wykonuj K3 .. K4
  K3: wynik ← wynik + t[i]
  K4: i ← i + 2
K5: wypisz wynik
A. sumy tych elementów tablicy, które mają wartości nieparzyste
B. wszystkich elementów tablicy
C. n-elementów tej tablicy
D. co drugiego elementu tablicy
Pierwsza niepoprawna koncepcja sugeruje zsumowanie wszystkich elementów tablicy, co wymagałoby iteracji przez każdy element bez przeskakiwania indeksów. Taki algorytm miałby strukturę z pętlą stabilnie zwiększającą indeks o 1, co nie jest zgodne z przedstawionym kodem. Druga opcja zakłada sumowanie n-elementów tablicy, co jest mało precyzyjne i może sugerować błędne rozumienie, że n samo w sobie jest wartością sumowaną, a nie indeksem granicznym. Algorytm musiałby dodawać wszystkie elementy od zera do n-1, a w rzeczywistości operuje na co drugim indeksie. Ostatnia propozycja dotycząca sumowania elementów o wartościach nieparzystych wymagałaby dodatkowego warunku sprawdzającego parzystość wartości t[i], czego brak w przedstawionym kodzie. Typowym błędem jest niezrozumienie różnicy między iterowaniem po indeksach a wartościami oraz między warunkiem logicznym a przekształceniem pętli. Wszystkie te błędne odpowiedzi wynikają z nieprecyzyjnego przeanalizowania warunków i struktury pętli, co jest kluczowe w projektowaniu efektywnych algorytmów, zgodnie z zasadami inżynierii oprogramowania.

Pytanie 6

Funkcja zapisana w języku PHP wygląda tak patrz ramka): Jej celem jest

Ilustracja do pytania
A. wypisanie liczby parzystej
B. wypisanie liczby nieparzystej
C. zwrócenie wartości 0, gdy liczba jest parzysta
D. zwrócenie wartości 1, gdy liczba jest parzysta
Funkcja w języku PHP opisana na egzaminie służy do sprawdzania czy podana liczba jest parzysta. Wybór zwracanych wartości 1 i 0 jest klasycznym przykładem użycia binarnych wartości logicznych w programowaniu. Niektóre niepoprawne odpowiedzi mogą wynikać z błędnego zrozumienia działania operatora modulo %. Operator ten oblicza resztę z dzielenia i w przypadku operacji liczb całkowitych przydaje się do określania parzystości. Jeśli liczba jest podzielna przez 2 bez reszty czyli modulo zwraca 0 funkcja zwraca 1 co oznacza że liczba jest parzysta. Niektóre odpowiedzi sugerują że funkcja zwraca lub wypisuje liczby parzyste bądź nieparzyste co jest błędnym rozumieniem działania funkcji zwracającej wartości w kontekście operacji logicznych. Kluczowe jest zrozumienie że funkcje zwracają wartości a nie wypisują ich w przypadku takich jak ten gdzie celem jest jedynie sprawdzenie a nie wyświetlenie wartości. Wybór wartości zwracanych 1 i 0 jest także zgodny z konwencjami logicznymi stosowanymi w warunkowych instrukcjach programistycznych co może być mylnie postrzegane jako konieczność wyświetlenia wyniku. Ważne jest aby pamiętać że w programowaniu logiczne zwracanie wartości jest często używane do późniejszego wykorzystania przez inne części aplikacji w celu podejmowania decyzji lub sterowania przepływem programu. Zrozumienie tych podstawowych zasad pozwala uniknąć błędnych interpretacji i wykorzystać pełnię możliwości jakie daje programowanie w językach takich jak PHP.

Pytanie 7

Aplikacja o nazwie FileZilla umożliwia

A. publikację witryny internetowej na zdalnym serwerze
B. przeprowadzenie testów aplikacji
C. wniesienie bazy danych na stronę CMS Joomla!
D. sprawdzanie poprawności plików HTML oraz CSS
Odpowiedzi, które sugerują inne funkcje, takie jak uruchamianie testów aplikacji czy walidacja plików HTML i CSS, są nieprawidłowe, ponieważ nie dotyczą one głównego przeznaczenia FileZilla. Programy do uruchamiania testów aplikacji są zaprojektowane do obsługi procesów związanych z testowaniem oprogramowania, takich jak automatyzacja testów, analiza wydajności czy kontrola jakości. Z kolei walidacja plików HTML i CSS wymaga użycia dedykowanych narzędzi, które oceniają zgodność kodu z określonymi standardami, takimi jak W3C. Walidacja jest kluczowa w kontekście zapewnienia poprawności kodu, ale nie jest funkcjonalnością FileZilla. Dodatkowo, załadowanie bazy danych do systemu zarządzania treścią, takiego jak Joomla!, również nie jest zadaniem dla FileZilla. Zazwyczaj zarządzanie bazami danych odbywa się za pomocą narzędzi takich jak phpMyAdmin czy komendy SQL w terminalu, które są odpowiedzialne za manipulację danymi w bazach. To nieporozumienie często wynika z mylnego przyporządkowywania funkcji programów, co prowadzi do nieefektywnego używania narzędzi i braku optymalizacji procesów pracy. W kontekście tworzenia i publikacji stron internetowych ważne jest, aby korzystać z odpowiednich aplikacji zgodnie z ich przeznaczeniem, aby uniknąć nieporozumień i zwiększyć efektywność działań.

Pytanie 8

W CSS zapis

a[target="_blank"] {color: yellow;}
spowoduje, że tekst linków przybierze kolor żółty.
A. treści akapitu.
B. wszystkich linków.
C. linków, które otwierają się w tej samej karcie.
D. linków, które otwierają się w nowej karcie.
Odpowiedzi sugerujące, że kolor żółty dotyczy 'wszystkich odnośników', 'tekstu paragrafu' lub 'odnośników, które otwierają się w tej samej karcie' są błędne z kilku powodów. Po pierwsze, selektor CSS 'a[target="_blank"]' jest specyficzny dla odnośników, które otwierają się w nowej karcie, a więc nie obejmuje on wszystkich odnośników. Każdy odnośnik zdefiniowany w HTML jako <a> może mieć różne cele, a atrybut 'target' odgrywa kluczową rolę w tym, jak te odnośniki są obsługiwane przez przeglądarkę. Po drugie, nie istnieje możliwość, aby tekst paragrafu był objęty tym selektorem, ponieważ jest on dedykowany wyłącznie linkom. Warto pamiętać, że CSS służy do stylizacji elementów HTML, a nie do zachowania ich struktury semantycznej. Kolejną nieprawidłową koncepcją jest to, że kolor tekstu dotyczy odnośników otwierających się w tej samej karcie, ponieważ żaden z tych odnośników nie ma przypisanego atrybutu 'target="_blank"'. W praktyce, ważne jest, aby dobrze rozumieć selektory CSS oraz ich zastosowanie, co pozwoli na bardziej precyzyjne projektowanie interfejsów użytkownika oraz zapewnienie lepszej użyteczności i dostępności stron internetowych.

Pytanie 9

Która z poniżej wymienionych zasad nie przyczyni się do poprawy czytelności kodu?

A. Trzeba dodawać komentarze w trudniejszych fragmentach kodu
B. Nazwy zmiennych muszą odzwierciedlać ich funkcję
C. Kod powinien być napisany bez wcięć i nadmiarowych enterów
D. W każdej linii kodu powinna znaleźć się tylko jedna komenda
Wszystkie informacje zawarte w nietrafnych odpowiedziach błędnie przedstawiają zasady dobrej praktyki programowania, które są kluczowe dla zwiększenia czytelności kodu. Istnienie tylko jednej instrukcji w każdej linii kodu jest zasady, która nie tylko nie jest uniwersalna, ale może prowadzić do nadmiernego rozdrobnienia logiki programu, utrudniając jego analizę. Z kolei użycie zrozumiałych nazw zmiennych jest istotne, ponieważ pozwala innym programistom zrozumieć, co dana zmienna reprezentuje. Przykładowo, nazwa "liczbaStudentów" jest o wiele bardziej informacyjna niż "x". Ponadto, wprowadzenie komentarzy w trudnych częściach kodu nie tylko pomaga w wyjaśnieniu skomplikowanych zagadnień, ale również pełni rolę dokumentacji, co jest niezwykle ważne w dłuższej perspektywie czasowej, zwłaszcza w projektach zespołowych. Przykładem mogą być fragmenty kodu, gdzie skomplikowane algorytmy wymagają dodatkowych wyjaśnień. Komentarze ułatwiają innym zrozumienie myśli programisty. W związku z tym, ignorowanie zasad dotyczących wcięć, zbędnych enterów oraz używania komentarzy prowadzi do kodu, który jest trudny do zrozumienia, co w ostateczności może skutkować błędami w implementacji oraz dłuższym czasem potrzebnym na debugowanie.

Pytanie 10

W przedstawionym kodzie HTML, zaprezentowany styl CSS jest stylem:

<p style="color:red;">To jest przykładowy akapit.</p>
A. nagłówkowym
B. dynamicznym
C. zewnętrznym
D. lokalnym
Styl zewnętrzny odnosi się do stylów zapisanych w osobnym pliku CSS który jest załączany do dokumentu HTML za pomocą znacznika link w sekcji head. Taki sposób organizacji stylów umożliwia centralne zarządzanie wyglądem wielu stron jednocześnie co jest efektywne przy większych projektach. Styl nagłówkowy to styl umieszczony w sekcji head dokumentu HTML w znacznika style. Pozwala on na zdefiniowanie stylów dla całego dokumentu lecz wciąż ogranicza się do pojedynczej strony. Pomaga to w zachowaniu spójności wizualnej na stronie ale nie zapewnia tego na poziomie całego serwisu jak style zewnętrzne. Styl dynamiczny zazwyczaj odnosi się do stylów zmieniających się w odpowiedzi na akcje użytkownika często za pośrednictwem JavaScript lub CSS3. Przykładem może być zmiana koloru przycisku po najechaniu kursorem co zwykle osiągamy za pomocą pseudo-klas CSS jak :hover. W analizowanym kodzie styl CSS jest przypisany bezpośrednio do elementu HTML co jest typowym przykładem stylu lokalnego ponieważ nie jest zdefiniowany ani w zewnętrznym pliku ani w sekcji head dokumentu ani nie reaguje dynamicznie na akcje użytkownika. Zrozumienie różnic między tymi podejściami jest kluczowe dla efektywnego kodowania i stylizacji stron internetowych ze względu na różne potrzeby w projektach webowych. Właściwy wybór metody stylizacji wpływa na łatwość utrzymania i skalowalność projektu w miarę rozwoju strony internetowej. W praktyce stosowanie stylów lokalnych powinno być ograniczone do minimum ze względu na trudności w zarządzaniu i potencjalne konflikty z innymi stylami w większych projektach.

Pytanie 11

W formularzu, wartości z pola input o typie number zostały przypisane do zmiennej a, a następnie przetworzone w skrypcie JavaScript w pokazany sposób. Jaki typ będzie miała zmienna x?

var x = parseInt(a);
A. zmiennoprzecinkowy
B. liczbowy, całkowity
C. napisowy
D. NaN
Rzeczywiście, rozumienie tego, jak działa parseInt(), to klucz do ogarnięcia problemów związanych z danymi liczbowymi w JavaScript. Często można spotkać błąd polegający na myśleniu, że parseInt() zwraca liczby zmiennoprzecinkowe, co jest totalnie nieprawidłowe, bo zawsze dostajesz liczbę całkowitą, obcinając część dziesiętną. Inny typowy błąd to oczekiwanie, że dostaniemy NaN, kiedy dane wejściowe to liczby. NaN pojawia się tylko wtedy, gdy string nie zaczyna się od cyfry, a parseInt() nie może nic wyciągnąć. Ważne jest też to, że ta funkcja daje ci liczbę całkowitą, a nie tekst. W praktyce, jeśli nie rozumiesz dobrze konwersji typów, możesz narobić błędów w aplikacjach, co jest istotne, zwłaszcza gdy dokładność danych ma duże znaczenie. Programiści powinni mieć to na uwadze, żeby dobrze zarządzać danymi i unikać zaskakujących rezultatów, co jest zgodne z tym, co mówią najlepsze praktyki w pisaniu kodu. Warto także pamiętać o dodaniu podstawy liczbowej jako drugiego argumentu dla parseInt(), żeby uniknąć pomyłek przy interpretacji danych liczbowych w różnych systemach liczbowych, jak na przykład ósemkowy czy szesnastkowy. To naprawdę wpływa na poprawność działania aplikacji w praktyce.

Pytanie 12

Jakie jest zadanie poniższej pętli? ```int x = 0; while (x < 10) { mojeKsiazki[x] = new Ksiazka(); x++; }```

A. stwórzenie jednego obiektu typu mojeKsiazki
B. uzupełnienie tablicy Ksiazka danymi.
C. stworzenie dziesięciu instancji obiektów typu Ksiazka.
D. wyświetlenie danych z tabeli Ksiazka na ekranie.
W przedstawionej pętli while zmienna x jest inicjowana wartością 0, a następnie w każdej iteracji pętli tworzy nowy obiekt typu Ksiazka, który jest przypisywany do elementu tablicy mojeKsiazki w indeksie x. Pętla kontynuuje działanie, aż x osiągnie wartość 10, co oznacza, że zostaną utworzone obiekty dla indeksów od 0 do 9, co łącznie daje 10 obiektów. Jest to standardowy sposób inicjalizacji tablicy obiektów w języku C#, który pokazuje, jak można dynamicznie tworzyć i przechowywać instancje klas. W praktycznych zastosowaniach, takie podejście jest bardzo użyteczne, gdy potrzebujemy przechować wiele podobnych obiektów, na przykład w aplikacjach do zarządzania danymi, gdzie każde wpisane dane może być reprezentowane przez obiekt. Poprawna alokacja pamięci oraz zarządzanie obiektami są kluczowe w programowaniu obiektowym, a umiejętność skutecznego wykorzystywania pętli do inicjalizacji tablic jest niezbędna dla każdego programisty.

Pytanie 13

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

A. Akomodacja
B. Asertywność
C. Empatia
D. Konformizm
Empatia, akomodacja i konformizm to pojęcia, które choć związane z interakcjami społecznymi, nie oddają istoty umiejętności wyrażania własnego zdania w sposób asertywny. Empatia, często mylona z asertywnością, odnosi się do zdolności do rozumienia uczuć i perspektyw innych ludzi. Osoba empatyczna może dostrzegać, co czują inni, ale niekoniecznie jest w stanie wyrażać swoje własne zdanie w sposób, który nie narusza ich przestrzeni. Akomodacja z kolei polega na dostosowywaniu się do potrzeb i oczekiwań innych, często kosztem własnych przekonań, co stoi w sprzeczności z asertywnym wyrażaniem siebie. Osoba stosująca akomodację może unikać konfliktów, lecz nie zyskuje na autentyczności ani nie rozwija umiejętności obrony własnych racji. Konformizm natomiast to tendencja do dostosowywania się do norm grupowych, co może prowadzić do rezygnacji z osobistych przekonań. Chociaż konformizm może pomagać w budowaniu relacji, często wymaga poświęcenia indywidualności, co jest niewłaściwe w kontekście asertywności. W praktyce, zbyt duży nacisk na empatię, akomodację czy konformizm może prowadzić do problemów komunikacyjnych i utraty osobistej tożsamości, co nie jest zgodne z ideą asertywnego wyrażania swoich poglądów.

Pytanie 14

W językach programowania o strukturze, aby przechować dane dotyczące 50 uczniów (ich imion, nazwisk i średniej ocen), należy zastosować

A. strukturę 50 elementów o składowych typu tablicowego
B. klasę 50 elementów typu tablicowego
C. tablicę 50 elementów o składowych strukturalnych
D. tablicę 50 elementów o składowych typu łańcuchowego
Tablica 50 elementów o składowych łańcuchowych nie jest odpowiednim wyborem w tym kontekście, ponieważ łańcuchy znaków są jednowymiarowymi tablicami znaków, które nie są w stanie przechować złożonych informacji, takich jak imię, nazwisko i średnia ocen w jednej jednostce. W takiej strukturze musielibyśmy stworzyć oddzielne tablice dla każdego z tych pól, co prowadziłoby do problemów z zarządzaniem danymi oraz ich synchronizacją. Z kolei tablica 50 elementów o składowych tablicowych również nie jest rozwiązaniem optymalnym, ponieważ tablice tablicowe wprowadzają dodatkową złożoność i utrudniają dostęp do konkretnych informacji o uczniach. Zamiast tego, lepszym podejściem byłoby użycie tablicy struktur, jak wcześniej opisano, co pozwala na prostsze zarządzanie danymi. Klasa 50 elementów typu tablicowego, z drugiej strony, sugeruje użycie obiektowego podejścia, które, chociaż jest stosowane w językach obiektowych, może być nieodpowiednie w kontekście prostych danych uczniów. Klasy mogą wprowadzać dodatkowe złożoności, takie jak dziedziczenie czy polimorfizm, które w tym przypadku nie są konieczne. Dla prostego przechowywania danych o uczniach, użycie struktur jest znacznie bardziej efektywne.

Pytanie 15

W języku SQL do grupy operacji DCL (ang. Data Control Language) należą polecenia:

A. SELECT i INSERT
B. GRANT i REVOKE
C. CREATE i DROP
D. DELETE i UPDATE
Poprawnie – GRANT i REVOKE to klasyczne polecenia z grupy DCL (Data Control Language) w SQL. DCL służy do zarządzania uprawnieniami do obiektów bazy danych, czyli do kontrolowania kto, co i na czym może wykonać. GRANT nadaje uprawnienia, a REVOKE je odbiera. Z mojego doświadczenia to właśnie te dwa polecenia najczęściej pojawiają się w kontekście bezpieczeństwa baz danych i audytów. W praktyce wygląda to np. tak: administrator tworzy nowe konto użytkownika w systemie (to często robi się na poziomie serwera bazy, nie samego SQL-a), a potem nadaje mu uprawnienia w SQL: GRANT SELECT, INSERT ON tabela_klienci TO nowy_user;. Dzięki temu użytkownik może tylko odczytywać i wstawiać dane do konkretnej tabeli, ale już nie może np. usuwać rekordów czy zmieniać struktury tabeli. Jeśli później trzeba ograniczyć jego możliwości, używa się REVOKE: REVOKE INSERT ON tabela_klienci FROM nowy_user;. W dobrych praktykach administracji bazą danych przyjmuje się zasadę najmniejszych uprawnień (least privilege): użytkownik dostaje tylko takie prawa, których realnie potrzebuje. Właśnie DCL, a więc GRANT i REVOKE, są narzędziem do egzekwowania tej zasady. Co ważne, DCL nie modyfikuje danych ani struktury tabel, tylko politykę dostępu. W większych systemach używa się tych poleceń razem z rolami (ROLE), żeby łatwiej zarządzać uprawnieniami dla całych grup użytkowników, a nie pojedynczo dla każdej osoby. To bardzo ułatwia utrzymanie systemu i poprawia bezpieczeństwo.

Pytanie 16

W tabeli Recepta, kolumny Imie i Nazwisko odnoszą się do pacjenta, na którego wystawiona jest recepta. Jaką kwerendę należy wykorzystać, aby dla każdej recepty uzyskać datę jej wystawienia oraz imię i nazwisko lekarza, który ją wystawił?

Ilustracja do pytania
A. SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta
B. SELECT Imie, Nazwisko, DataWystawienia FROM Recepta
C. SELECT Imie, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id
D. SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id
Błędne odpowiedzi wynikają z nieprawidłowego zrozumienia struktury relacyjnej baz danych i mechanizmu łączenia tabel. W przypadku odpowiedzi pierwszej, kwerenda SELECT Imie, Nazwisko, DataWystawienia FROM Recepta; pobiera dane o pacjencie, a nie o lekarzu, ponieważ kolumny Imie i Nazwisko w tabeli Recepta odnoszą się do pacjenta. Chociaż uzyskujemy datę wystawienia recepty, brakuje kluczowej informacji o lekarzu wystawiającym. Odpowiedź druga, SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta;, jest błędna, ponieważ nie zawiera mechanizmu JOIN, który jest niezbędny do połączenia danych z tabeli Recepta z tabelą Lekarz. Bez tego połączenia próba odwołania się do kolumn z tabeli Lekarz zakończy się błędem. Odpowiedź trzecia, SELECT Imie, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id;, również nie spełnia wymagań, ponieważ pobiera tylko imię pacjenta (co jest nieprawidłowe), a nie informacje o lekarzu. Podstawowym błędem w tych odpowiedziach jest brak zrozumienia relacji między tabelami oraz poprawnego zastosowania kluczy, co jest kluczowe w pracy z relacyjnymi bazami danych. Zrozumienie mechanizmu JOIN i prawidłowego odniesienia się do kolumn w różnych tabelach jest fundamentem efektywnego projektowania i wykorzystywania baz danych.

Pytanie 17

W języku PHP, po wykonaniu poniższego fragmentu kodu, w zmiennej o nazwie Nowy_Napis zostanie zapisany:

$Napis = "ZaWszE SpRaWdZ swoj KoD";
$Nowy_Napis = strtolower($Napis);
A. zawsze sprawdz swoj kod
B. ZaWszE
C. ZAWSZE SPRAWDZ SWOJ KOD
D. zAwSZe sPrAwDz SWOJ kOd
Wybór odpowiedzi, które nie są poprawne, opiera się na niewłaściwym zrozumieniu działania funkcji strtolower(). Niektóre z odpowiedzi sugerują, że tekst wynikowy pozostaje w różnych formach, jednak każda z nich nie odzwierciedla efektu działania tej funkcji. Odpowiedź 'ZAWSZE SPRAWDZ SWOJ KOD' wskazuje, że wszystkie litery powinny pozostać w oryginalnej wielkości, co jest niezgodne z działaniem strtolower(). Inna odpowiedź, 'ZaWszE', sugeruje, że funkcja mogłaby tylko częściowo zmieniać wielkości liter, co jest również błędne, ponieważ funkcja ta konwertuje cały łańcuch do małych liter. Z kolei 'zAwSZe sPrAwDz SWOJ kOd' pokazuje, że użytkownik myli działanie strtolower() z innymi operacjami przekształcającymi tekst. Ważne jest, aby zrozumieć, że strtolower() nie wprowadza żadnych warunków ani nie zachowuje oryginalnej struktury tekstu, a jego celem jest zapewnienie jednolitości w zapisie tekstu. W związku z tym, aby uzyskać prawidłowy wynik, kluczowe jest zrozumienie zasady działania tej funkcji i jej zastosowania w kontekście przetwarzania danych.

Pytanie 18

Na tabeli muzyka, przedstawionej na schemacie, wykonano następującą kwerendę SQL. Co zostanie zwrócone przez tę zapytanie? SELECT wykonawca FROM `muzyka` WHERE wykonawca LIKE 'C%w';

Ilustracja do pytania
A. Czesław
B. pusty wynik
C. Czesław, Niemen
D. Czesław, Czechowski
Odpowiedź 'pusty wynik' jest poprawna, ponieważ zapytanie SQL 'SELECT wykonawca FROM `muzyka` WHERE wykonawca LIKE 'C%w';' poszukuje wykonawców, których imię i nazwisko zaczynają się na literę 'C' i kończą na literę 'w'. Operator LIKE w SQL używany jest do wyszukiwania wzorców w tekstach, gdzie '%' zastępuje dowolną liczbę znaków. W tabeli muzyka nie ma żadnego wykonawcy, którego imię i nazwisko pasowałoby do tego wzorca. Oba wystąpienia 'Czesław Niemen' i 'Mikołaj Czechowski' nie spełniają warunku, ponieważ ich nazwiska nie kończą się na 'w'. SQL jest powszechnie stosowany w zarządzaniu bazami danych, a zrozumienie, jak używać wyrażeń LIKE, jest kluczowe w efektywnej pracy z danymi. Praktyczne zastosowanie tej wiedzy obejmuje filtrowanie danych w raportach, ekstrakcję specyficznych informacji oraz poprawę wydajności zapytań przy użyciu indeksów. Warto zwrócić uwagę na optymalizację zapytań pod kątem wydajności, co jest szczególnie ważne w przypadku dużych zbiorów danych. Operator LIKE może mieć wpływ na wydajność, dlatego zaleca się użycie pełnotekstowych indeksów, jeśli to możliwe, w bardziej złożonych scenariuszach. Umiejętność tworzenia precyzyjnych zapytań SQL jest kluczowa w branży IT, zwłaszcza w analizie danych i administracji bazami danych. Efektywne zastosowanie tej techniki pozwala na szybkie i skuteczne wyszukiwanie informacji w dużych zbiorach danych, co jest nieocenione w wielu zastosowaniach biznesowych i technologicznych.

Pytanie 19

Warunek zapisany w języku PHP wyświetli liczbę, gdy

if ($liczba % 2 == 0)
{
    echo $liczba;
}
A. jest to liczba parzysta
B. jest to liczba dodatnia
C. jest to liczba pierwsza
D. wynik dzielenia danej liczby przez 2 jest równy 0
Odpowiedź jest prawidłowa ponieważ wyrażenie $liczba % 2 == 0 w języku PHP wykorzystuje operator reszty z dzielenia który sprawdza czy liczba po podzieleniu przez 2 ma resztę równą zero. Taki warunek jest spełniony wyłącznie dla liczb parzystych które z definicji dzielą się bez reszty przez 2. W programowaniu rozpoznawanie liczb parzystych jest często stosowane w algorytmach które wymagają specyficznego przetwarzania danych takich jak sortowanie czy filtrowanie. Warto również zauważyć że używanie operatora modulo (%) w takich przypadkach jest uznawane za dobrą praktykę branżową ze względu na jego czytelność i efektywność. Przykładem praktycznego zastosowania może być np. generowanie naprzemiennego koloru tła w tabelach aby zwiększyć ich czytelność co jest powszechnie stosowane w aplikacjach webowych. Zrozumienie tego konceptu jest fundamentalne w programowaniu ponieważ pozwala na tworzenie bardziej dynamicznych i elastycznych aplikacji które potrafią reagować na różne stany danych.

Pytanie 20

Wskaż polecenie SQL, które dodaje kolumnę miesiacSiewu do już istniejącej tabeli rośliny

A. ALTER TABLE rosliny ADD miesiacSiewu int
B. UPDATE rosliny ADD miesiacSiewu int
C. CREATE TABLE rosliny {miesiacSiewu int}
D. INSERT INTO rosliny Values (miesiacSiewu int)
Pierwsza niepoprawna odpowiedź wykorzystuje polecenie 'UPDATE rosliny ADD miesiacSiewu int;', ale to zupełnie nie to, bo UPDATE jest do zmieniania już istniejących rekordów, a nie do dodawania kolumn. Kolejna odpowiedź, w której jest 'CREATE TABLE rosliny {miesiacSiewu int};', to też zły pomysł. CREATE TABLE jest do tworzenia nowych tabel, co w tym przypadku nie ma sensu, bo tabela 'rosliny' już przecież jest. Stworzenie nowej tabeli zamiast zmieniania tej istniejącej tylko by skomplikowało sprawę. Ostatnia odpowiedź z 'INSERT INTO rosliny Values (miesiacSiewu int);' też nie pasuje, bo INSERT INTO jest do dodawania nowych rekordów, a nie do kolumn. Do tego to 'miesiacSiewu int' nie powinno się tam znaleźć, bo w poleceniu INSERT powinny być rzeczywiste dane, a nie definicje typów. Te niepoprawne odpowiedzi pokazują różne rzeczy w SQL, ale żadna z nich nie osiąga celu dodania kolumny do istniejącej tabeli.

Pytanie 21

Jakie działania należy podjąć, aby stworzyć stronę internetową dostosowaną do potrzeb osób z niepełnosprawnościami, zgodnie z wytycznymi WCAG 2.x?

A. podpisywać wszystkie obrazy tekstem alternatywnym oraz kontrolki etykietami
B. używać jedynie jednej palety barw z jednym głównym kolorem oraz jego różnymi odcieniami
C. wybrać najczęściej stosowaną przeglądarkę i na niej przeprowadzać testy tworzonej strony
D. używać jedynie paragrafów, nie wykorzystywać nagłówków h1 – h6
Stosowanie tylko paragrafów bez nagłówków ogranicza strukturę i hierarchię informacji na stronie, co jest sprzeczne z zasadami dostępności. Nagłówki h1-h6 są kluczowymi elementami struktury dokumentu, które pomagają w organizacji treści i umożliwiają użytkownikom oraz technologiom asystującym, takim jak czytniki ekranu, szybkie zrozumienie układu informacji. Użytkownicy z niepełnosprawnościami często polegają na nawigacji opartej na strukturze nagłówków, aby efektywnie przemieszczać się po stronie. Wybór najpopularniejszej przeglądarki do testów nie zapewnia rzetelnej weryfikacji dostępności, ponieważ różne przeglądarki mogą różnie interpretować właściwości dostępności. Ponadto, ograniczenie się do jednej palety barw z tylko jednym głównym kolorem może prowadzić do problemów z kontrastem, co jest istotnym aspektem dostępności. Zgodnie z standardami WCAG, dobrze zaprojektowana paleta powinna zapewniać wystarczający kontrast między tekstem a tłem, aby umożliwić osobom z niepełnosprawnościami wzrokowymi łatwe odczytanie treści. Podsumowując, każde z tych podejść pomija kluczowe zasady, które są niezbędne do zapewnienia faktycznej dostępności stron internetowych.

Pytanie 22

W programie do obróbki grafiki rastrowej zmodyfikowano krzywe kolorów tak, jak zaznaczono ramką na przedstawionym obrazie. Ma to na celu

Ilustracja do pytania
A. rozjaśnienie całego obrazu
B. przyciemnienie całego obrazu
C. modyfikację najjaśniejszych i najciemniejszych kolorów obrazu
D. wygładzenie krawędzi w obrazie
Rozjaśnienie całości obrazu to koncepcja, która na pierwszy rzut oka może wydawać się słuszna, jednak nie odnosi się do rzeczywistych efektów modyfikacji krzywych kolorów. Rozjaśnienie związane jest z podnoszeniem wartości jasności dla wszystkich pikseli, co prowadzi do utraty szczegółów w najjaśniejszych partiach obrazu. Z kolei przyciemnienie całości obrazu, choć teoretycznie możliwe, również nie jest efektem manipulacji krzywymi kolorów, ponieważ polegałoby na obniżeniu wszystkich wartości kolorów, co prowadziłoby do homogenizacji obrazu i utraty kontrastu. Wygładzenie krawędzi na obrazie to całkowicie inny proces, związany z poprawą jakości wyświetlania detali, a nie z modyfikacją kolorów. Warto zauważyć, że takie pomyłki w interpretacji mogą wynikać z braku zrozumienia, jak działają krzywe kolorów. Użytkownicy mogą myśleć, że zmiany na krzywej mają na celu jedynie ogólną poprawę jasności, w rzeczywistości jednak ich głównym celem jest precyzyjna kontrola nad zakresem tonalnym i kolorem w obrazie. Dlatego kluczowe jest zrozumienie, że krzywe kolorów są narzędziem do bardziej złożonej manipulacji kolorystyką, a nie tylko do prostego rozjaśniania czy przyciemniania obrazu.

Pytanie 23

Na ilustracji przedstawiono związek jeden do wielu. Łączy on

Ilustracja do pytania
A. klucz obcy rezyserzy_id w tabeli filmy z kluczem podstawowym id w tabeli rezyserzy
B. klucz podstawowy id w tabeli filmy z kluczem podstawowym id w tabeli rezyserzy
C. klucz obcy rezyserzy_id w tabeli filmy z kluczem obcym id w tabeli rezyserzy
D. klucz podstawowy id w tabeli z kluczem obcym rezyserzy_id w tabeli rezyserzy
Zrozumienie relacji między tabelami w bazach danych jest kluczowe dla efektywnego projektowania systemów opartych na danych. Relacja jeden do wielu oznacza, że jeden rekord w jednej tabeli może być związany z wieloma rekordami w innej. W kontekście tego pytania, kluczowym aspektem jest zrozumienie poprawnego powiązania kluczy. Pierwsze błędne podejście zakłada, że klucz podstawowy tabeli może być bezpośrednio związany z innym kluczem podstawowym. W rzeczywistości, takie połączenie nie tworzy relacji jeden do wielu, a raczej jeden do jednego, jeśli byłoby to możliwe. Drugie podejście sugeruje powiązanie dwóch kluczy obcych, co również jest niepoprawne, gdyż klucze obce wskazują na klucze podstawowe w celu zrozumienia struktury hierarchicznej. Kolejny błąd to powiązanie klucza podstawowego z kluczem podstawowym innej tabeli, co nie odzwierciedla rzeczywistej relacji między danymi w kontekście relacji jeden do wielu. Najczęstszym błędem w myśleniu jest niezrozumienie roli kluczy obcych, które są krytyczne dla tworzenia relacji jeden do wielu, ponieważ umożliwiają one nawiązywanie połączeń między różnymi tabelami przez wskazywanie unikalnych identyfikatorów w tabelach nadrzędnych. Zrozumienie i stosowanie tych zasad jest niezbędne dla profesjonalnego projektowania baz danych i zapewnienia ich integralności i spójności danych.

Pytanie 24

Do stworzenia stron internetowych w sposób graficzny należy zastosować

A. aplikację typu WYSIWYG
B. program do przeglądania stron
C. narzędzie do edycji CSS
D. oprogramowanie MS Office Picture Manager
Programy typu WYSIWYG (What You See Is What You Get) to narzędzia, które umożliwiają użytkownikom tworzenie stron internetowych w sposób wizualny, bez konieczności pisania kodu HTML czy CSS. Użytkownik może przeciągać i upuszczać elementy, takie jak tekst, obrazy czy formularze, a program automatycznie generuje odpowiedni kod. Przykładami popularnych programów WYSIWYG są Adobe Dreamweaver oraz Webflow, które posiadają zaawansowane funkcje, takie jak responsywność oraz integrację z systemami zarządzania treścią. W kontekście standardów webowych, programy WYSIWYG często oferują zgodność z aktualnymi wytycznymi, takimi jak HTML5 i CSS3, co pozwala na tworzenie nowoczesnych, atrakcyjnych wizualnie stron internetowych. Dla osób, które nie mają doświadczenia w programowaniu, takie narzędzia są szczególnie cenne, ponieważ umożliwiają łatwe tworzenie profesjonalnych witryn, które mogą być optymalizowane pod kątem SEO, co jest kluczowe w dzisiejszym świecie online. Dzięki programom WYSIWYG, także osoby z ograniczonymi umiejętnościami technicznymi mogą skutecznie tworzyć i edytować swoje strony, co znacznie przyspiesza proces projektowania.

Pytanie 25

Które z wymienionych stwierdzeń na temat zasad programowania w PHP jest prawdziwe?

A. Nazwy zmiennych poprzedza znak !
B. Zmienna deklarowana jest po słowie var
C. W nazwach zmiennych wielkość liter nie ma znaczenia
D. Jest to język z ograniczoną kontrolą typów
PHP, czyli Hypertext Preprocessor, to język skryptowy o słabej kontroli typów, co oznacza, że nie wymaga od programisty jawnego deklarowania typów zmiennych. Dzięki temu programiści mogą tworzyć elastyczny i dynamiczny kod, w którym zmienne mogą przechowywać różne typy danych w trakcie działania programu. Na przykład, zmienna, która pierwotnie przechowuje liczbę całkowitą, może później przyjąć wartość tekstową bez konieczności konwersji. Przykład takiego zachowania można zobaczyć w poniższym kodzie: $variable = 10; $variable = 'tekst';. W pierwszym przypadku zmienna przechowuje liczbę całkowitą, a w drugim ciąg tekstowy. To podejście ułatwia szybkość prototypowania, ale może prowadzić do błędów w czasie wykonywania, które są trudne do zdiagnozowania. Warto również zwrócić uwagę, że PHP, w wersji 7 i wyższych, wprowadził opcjonalne deklaracje typów, co pozwala na większą kontrolę w przypadku bardziej złożonych aplikacji. Mimo to, głównym założeniem pozostało, że programiści mają swobodę w doborze typów, co jest kluczowe dla dynamizmu PHP.

Pytanie 26

W przedstawionej definicji stylu CSS, powtarzanie dotyczy

body {
  background-image: url("rysunek.gif");
  background-repeat: repeat-y;
}
A. rysunku umieszczonego w tle strony w pionie.
B. tła każdego ze znaczników akapitu.
C. rysunku umieszczonego w tle strony w poziomie.
D. rysunku umieszczonego znacznikiem img.
Niestety, Twoja odpowiedź nie jest poprawna. 'background-repeat: repeat-y;' w CSS rzeczywiście nie dotyczy rysunków wstawianych przez tag img ani tła akapitów. Mówi po prostu, że tło się powtarza w pionie, czyli wzdłuż osi Y. Może to trochę mylić, ale warto pamiętać, że oś Y to pion a oś X to poziom. Zrozumienie tych podstawowych rzeczy jest konieczne, żeby ogarnąć CSS i tworzyć ładne strony www.

Pytanie 27

Która z wymienionych metod umożliwia wyświetlenie komunikatu w konsoli przeglądarki internetowej przy użyciu języka JavaScript?

A. console.print("test");
B. console.write("test");
C. console.log("test");
D. console.echo("test");
Odpowiedź 'console.log("test");' jest poprawna, ponieważ jest to standardowa metoda w JavaScript, służąca do wypisywania komunikatów w konsoli przeglądarki. Funkcja console.log jest powszechnie stosowana przez programistów do debugowania kodu i monitorowania wartości zmiennych w czasie rzeczywistym. Umożliwia to efektywne śledzenie działania aplikacji internetowych oraz szybkie identyfikowanie błędów. Przykładowo, jeśli chcemy sprawdzić wartość zmiennej, możemy użyć polecenia console.log(myVariable);, co pozwoli nam zobaczyć aktualny stan zmiennej w konsoli. Warto również pamiętać, że console.log obsługuje różne typy danych, w tym obiekty i tablice, co czyni go niezwykle wszechstronnym narzędziem w arsenale programisty. Używanie tej metody jest zgodne z dobrymi praktykami w programowaniu, ponieważ pozwala na przejrzystość i lepsze zrozumienie logiki aplikacji. W kontekście pracy z konsolą, warto zaznajomić się również z innymi metodami, takimi jak console.error, console.warn czy console.info, które umożliwiają różnicowanie wypisywanych komunikatów według ich znaczenia.

Pytanie 28

Jakie jest zadanie funkcji agregującej AVG w zapytaniu?

SELECT AVG(cena) FROM uslugi;
A. zliczyć całkowity koszt wszystkich usług
B. sprawdzić, ile usług znajduje się w tabeli
C. obliczyć średnią arytmetyczną wartości wszystkich usług
D. określić najwyższą wartość spośród cen usług
W kontekście analizy danych użycie niepoprawnej funkcji agregującej w SQL może prowadzić do błędnych wniosków. Funkcja AVG jest przeznaczona do obliczania średniej arytmetycznej wartości z wybranej kolumny a nie do innych operacji takich jak zsumowanie wartości czy liczenie rekordów. Częstym błędem jest mylenie AVG z funkcją SUM która służy do zsumowania wszystkich wartości w kolumnie co jest przydatne gdy potrzebujemy całkowitej wartości np. całkowitego przychodu z usług. Natomiast jeśli chodzi o policzenie liczby dostępnych usług powinniśmy używać funkcji COUNT która zwraca liczbę wierszy w kolumnie co jest istotne w analizach ilościowych. Kolejny błąd to przypisywanie AVG zadania wskazania najwyższej wartości co jest domeną funkcji MAX. Zrozumienie różnicy między tymi funkcjami jest kluczowe dla poprawnej analizy danych w SQL. Funkcje AVG SUM COUNT i MAX mają swoje specyficzne zastosowania i ich poprawne użycie jest standardem w pracy z bazami danych. Unikanie takich błędów wymaga praktyki i zrozumienia teoretycznych podstaw działania funkcji agregujących co jest niezbędne w profesjonalnym zarządzaniu danymi.

Pytanie 29

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

A. ALTER TABLE
B. INSERT INTO
C. SELECT
D. UPDATE
Wybór innych poleceń SQL do aktualizacji danych w tabelach pokazuje pewne nieporozumienia co do funkcji tych komend. Polecenie ALTER TABLE jest do zmiany struktury tabeli, a nie do aktualizacji danych w wierszach. Używamy go do dodawania lub usuwania kolumn, zmiany typów danych, ale nie do zmiany informacji w istniejących rekordach. A INSERT INTO służy do dodawania nowych wierszy, a to także nie jest to, czego potrzebujemy w przypadku aktualizacji. Takie podejście często prowadzi do błędnych wniosków, bo nie każde polecenie SQL można stosować zamiennie, co jest błędne. SELECT natomiast służy do odczytywania danych, a nie do ich zmiany. Użytkownicy czasami mylą te komendy, zwłaszcza jak nie znają jeszcze dobrze podstaw SQL. Kluczowe jest, aby zrozumieć, jakie operacje są możliwe w SQL i do czego służą, bo to pozwoli unikać błędnych decyzji i poprawić efektywność pracy z bazami danych.

Pytanie 30

Aby za pomocą instrukcji SELECT uzyskać listę nazwisk osób mieszkających na osiedlu, przy czym nazwiska te nie mogą się powtarzać, należy sformułować zapytanie w następujący sposób

A. SELECT DISTINCT nazwisko FROM mieszkancy
B. SELECT AVG(nazwisko) FROM mieszkancy
C. SELECT TOP 10 nazwisko FROM mieszkancy
D. SELECT nazwisko FROM mieszkancy ORDER BY nazwisko
Odpowiedzi, które nie wykorzystują klauzuli DISTINCT, nie są w stanie spełnić wymogu eliminacji duplikatów w wynikach zapytania. Na przykład, użycie "SELECT nazwisko FROM mieszkancy ORDER BY nazwisko;" tylko sortuje wyniki według nazwisk, ale nie eliminuje powtarzających się rekordów. To jest typowy błąd w myśleniu, gdzie użytkownicy mogą myśleć, że sortowanie wystarczy, aby uzyskać unikalne wyniki. Jeżeli w tabeli znajduje się wiele osób o tym samym nazwisku, zapytanie to nadal zwróci wszystkie wystąpienia, co prowadzi do niepożądanych rezultatów. Z kolei "SELECT TOP 10 nazwisko FROM mieszkancy;" ogranicza wyniki do tylko 10 pierwszych rekordów, ale nie zapewnia ich unikalności. W zależności od kolejności, w jakiej dane są prezentowane, wynik może zawierać duplikaty, co nie spełnia wymagań zadania. Dodatkowo, "SELECT AVG(nazwisko) FROM mieszkancy;" ma na celu obliczenie średniej, co jest nonsensowne w kontekście kolumny tekstowej jak 'nazwisko', ponieważ średnia nie jest miarodajną miarą dla danych tekstowych. Takie podejście demonstruje niewłaściwe zrozumienie typów danych i ich zastosowań w SQL. W każdej sytuacji, umiejętność poprawnego formułowania zapytań SQL jest kluczowa dla efektywnej pracy z bazami danych i unikania błędów analitycznych.

Pytanie 31

W trakcie obróbki dźwięku, by wyeliminować niepożądane hałasy wynikające z niskiej jakości mikrofonu, należy użyć narzędzia

A. usuwania szumów
B. wyciszenia
C. odgłosów echa
D. obwiedni
Odpowiedzi, które nie dotyczą usuwania szumów, nie są odpowiednie w kontekście eliminacji niechcianych odgłosów w przetwarzaniu dźwięku. Echo jest efektem, który powstaje w wyniku odbicia dźwięku od powierzchni, co może wprowadzać dodatkową warstwę dźwiękową, ale nie eliminuje hałasu. W rzeczywistości, wprowadzenie echa może pogorszyć jakość dźwięku, maskując pożądane sygnały i sprawiając, że nagranie staje się mniej klarowne. Obwiednia to narzędzie używane do kontroli dynamiki dźwięku, jednak nie wpływa na eliminację szumów. Może być pomocne w kształtowaniu dźwięku, ale nie rozwiązuje problemu niepożądanych odgłosów. Wyciszenie to technika, która polega na całkowitym usunięciu dźwięku z określonego fragmentu, co w przypadku niechcianych szumów może być zbyt drastycznym rozwiązaniem. Użytkownicy często mylą te koncepcje, zapominając, że odpowiednia obróbka dźwięku wymaga zastosowania właściwych narzędzi oraz technik, które skupiają się na usuwaniu szumów i poprawie ogólnej jakości audio. W praktyce, dobrą praktyką jest używanie dedykowanych narzędzi do analizy i redukcji szumów, co jest uznawane za standard w branży audio. Ignorowanie tej zasady prowadzi do pogorszenia jakości materiałów dźwiękowych i może wpłynąć na ich odbiór przez słuchaczy.

Pytanie 32

Który z wymienionych formatów umożliwia zapisanie materiału wideo z towarzyszącą ścieżką dźwiękową?

A. MP4
B. WMA
C. AAC
D. WAV
WMA, WAV i AAC to formaty audio, które nie są przeznaczone do przechowywania materiałów wideo w połączeniu z dźwiękiem. WMA (Windows Media Audio) jest formatem audio opracowanym przez firmę Microsoft, który koncentruje się głównie na kompresji dźwięku, a nie na integracji wideo. Użytkownicy mogą mylić go z formatami video, jednak WMA służy tylko do audio. Z kolei WAV (Waveform Audio File Format) to format audio, który przechowuje dźwięk w postaci nieskompresowanej lub minimalnie skompresowanej, co prowadzi do dużych rozmiarów plików i brak możliwości przechowywania obrazu. Jego głównym zastosowaniem są profesjonalne nagrania audio, a nie multimedia wideo. AAC (Advanced Audio Codec) to kodek audio, który jest często używany w ramach kontenerów multimedialnych, takich jak MP4, ale sam w sobie nie jest formatem kontenerowym dla wideo. Często używany w strumieniowaniu dźwięku, AAC dostarcza wysoką jakość dźwięku przy niskich bitratów, ale nie obejmuje funkcji przechowywania wideo. Użytkownicy mogą pomylić te formaty, zakładając, że są one odpowiednie do pracy z wideo, jednak żaden z nich nie spełnia wymagań potrzebnych do zapisu pełnoprawnych plików wideo z dźwiękiem, co podkreśla znaczenie wyboru odpowiedniego formatu w kontekście produkcji multimedialnej.

Pytanie 33

Gdzie są rejestrowane błędy interpretacji kodu PHP?

A. w oknie edytora, w którym pisany jest kod PHP
B. w logu, jeśli zostanie ustawiony odpowiedni parametr w pliku php.ini
C. w podglądzie zdarzeń systemu Windows
D. nigdzie, są pomijane przez przeglądarkę oraz interpreter kodu PHP
Błędy interpretacji kodu PHP są zapisywane w logach, które można aktywować poprzez ustawienie odpowiednich parametrów w pliku konfiguracyjnym php.ini. Wartości takiego parametru jak 'log_errors' muszą być ustawione na 'On', aby zapisywanie błędów było możliwe. Dodatkowo, należy określić lokalizację pliku logów za pomocą parametru 'error_log'. Dzięki temu, gdy wystąpią błędy, będą one rejestrowane w wyznaczonym pliku, co jest kluczowe dla późniejszej diagnostyki i debugowania aplikacji. Na przykład, programista, który rozwija aplikację internetową, może analizować te logi, aby zidentyfikować błędy w kodzie, co pozwala na szybsze wprowadzenie poprawek. Zgodnie z dobrymi praktykami w branży, logowanie błędów jest niezbędne, aby utrzymać wysoką jakość kodu i zapewnić jego niezawodność. Właściwe konfigurowanie logów jest szczególnie ważne w środowiskach produkcyjnych, gdzie błędy mogą wpływać na doświadczenia użytkowników.

Pytanie 34

Jaki znacznik powinien być zastosowany, aby wprowadzić nową linię tekstu bez tworzenia akapitu w dokumencie internetowym?

A. <p>
B. </br>
C. </b>
D. <br>
Znaczniki <p> i </b> oraz </br> są błędnymi odpowiedziami w kontekście przełamania linii tekstu. Znacznik <p> służy do definiowania akapitu, co oznacza, że każdorazowe jego użycie powoduje wprowadzenie przerwy między akapitami. W związku z tym, jego zastosowanie do przełamania linii nie byłoby odpowiednie, ponieważ nie umożliwia kontynuacji tekstu w tym samym kontekście. Podobnie, znacznik </b> jest używany do zamykania formatowania pogrubienia, a jego użycie nie ma żadnego związku z przełamaniem linii; jest on tylko elementem prezentacyjnym. Co więcej, </br> nie jest poprawnym znacznikiem w HTML. Chociaż w niektórych kontekstach może być używany przez niektóre silniki renderujące, jego właściwe zastosowanie to <br>, co czyni </br> niepoprawnym i mylącym. Typowe błędy myślowe, prowadzące do takich odpowiedzi, często wynikają z braku zrozumienia semantyki HTML oraz różnicy pomiędzy elementami blokowymi a liniowymi. Użytkownicy często mylą funkcje poszczególnych znaczników, co prowadzi do nieprawidłowego formatowania treści na stronach internetowych. Zrozumienie tych różnic jest kluczowe dla tworzenia poprawnych i efektywnych struktur dokumentu HTML.

Pytanie 35

Dodanie do tabeli Produkty kolumny data_produkcji zostanie wykonane kwerendą SQL

A. ALTER TABLE Produkty ADD data_produkcji DATE;
B. ALTER TABLE Produkty ADD DATE data_produkcji;
C. ALTER TABLE Produkty DROP COLUMN data_produkcji DATE;
D. ALTER TABLE Produkty DROP data_produkcji DATE;
Prawidłowa odpowiedź wykorzystuje dokładną składnię polecenia ALTER TABLE, którą stosuje się w SQL do modyfikowania struktury istniejącej tabeli. Instrukcja `ALTER TABLE Produkty ADD data_produkcji DATE;` robi dwie kluczowe rzeczy: wskazuje tabelę, którą zmieniamy (`Produkty`) oraz dodaje nową kolumnę (`data_produkcji`) z określonym typem danych (`DATE`). Taka forma jest zgodna z typową składnią w popularnych systemach bazodanowych, jak MySQL, PostgreSQL, SQL Server czy Oracle (choć drobne różnice składniowe mogą się pojawiać w innych, bardziej egzotycznych systemach). W praktyce oznacza to, że po wykonaniu tej komendy tabela zyska nową kolumnę, w której można przechowywać datę produkcji każdego produktu. Typ `DATE` służy do przechowywania samej daty (rok, miesiąc, dzień), bez czasu. To jest dobre rozwiązanie, jeśli interesuje nas tylko kiedy produkt został wyprodukowany, a nie konkretna godzina. W wielu projektach w technikum czy w pracy zawodowej taka kolumna przydaje się np. do wyliczania terminu przydatności, raportów wiekowania towaru, filtrowania produktów po dacie produkcji, a nawet do prostych analiz, kiedy dana partia była wytwarzana. Moim zdaniem warto od razu kojarzyć sobie taką komendę z dobrymi praktykami modelowania danych: nazwa kolumny powinna być czytelna i jednoznaczna (tutaj `data_produkcji` bardzo dobrze opisuje zawartość), typ danych powinien być możliwie najbardziej dopasowany do przechowywanej informacji (tu `DATE`, a nie np. `VARCHAR`), a zmiany struktury tabeli trzeba wykonywać świadomie, najlepiej mając kopię zapasową bazy lub przynajmniej danej tabeli. W realnych systemach produkcyjnych często dodaje się też ograniczenia, np. `NOT NULL` albo domyślną wartość, na przykład: `ALTER TABLE Produkty ADD data_produkcji DATE NOT NULL DEFAULT CURRENT_DATE;` W testach i nauce zaczyna się jednak od prostszej wersji, takiej jak w tym pytaniu, żeby dobrze zapamiętać podstawowy schemat: `ALTER TABLE <nazwa_tabeli> ADD <nazwa_kolumny> <typ_danych>;`.

Pytanie 36

Jakie uprawnienia są konieczne do wykonania oraz przywrócenia kopii zapasowej bazy danych Microsoft SQL Server 2005 Express?

A. Security users
B. Użytkownik lokalny
C. Users
D. Administrator systemu
W kontekście zarządzania bazą danych Microsoft SQL Server, posiadanie niewłaściwych uprawnień może prowadzić do poważnych problemów z dostępnością i bezpieczeństwem danych. Odpowiedzi takie jak 'Users', 'Security users' oraz 'Użytkownik lokalny' wskazują na nieporozumienie dotyczące ról i uprawnień w systemie zarządzania bazami danych. Użytkownicy z uprawnieniami 'Users' mają ograniczone zdolności, które zazwyczaj obejmują jedynie wykonywanie zapytań i manipulację danymi w ramach istniejących struktur, ale nie pozwalają na zarządzanie operacjami administracyjnymi, takimi jak tworzenie kopii zapasowych. Rola 'Security users' jest subtelnym elementem zabezpieczeń i również nie przekłada się na możliwości administracyjne. Co więcej, 'Użytkownik lokalny' odnosi się do kont użytkowników w systemie operacyjnym i nie ma bezpośredniego związku z uprawnieniami w SQL Server. Typowym błędem myślowym jest utożsamianie ról systemowych z poziomem dostępu do operacji na poziomie bazy danych, co może prowadzić do nieefektywnego zarządzania kopiami zapasowymi. Ważne jest, aby zrozumieć, że tylko odpowiednio uprawniony administrator systemu jest w stanie zapewnić kompleksowe zarządzanie danymi, w tym ich bezpieczeństwem i integralnością.

Pytanie 37

Badania dotyczące skalowalności oprogramowania mają na celu sprawdzenie, czy aplikacja

A. jest chroniona przed nieautoryzowanymi operacjami, takimi jak dzielenie przez zero
B. jest w stanie funkcjonować przy przewidzianym oraz większym obciążeniu
C. posiada właściwą funkcjonalność
D. jest odpowiednio opisana dokumentacją
Odpowiedzi takie jak 'ma odpowiednią funkcjonalność', 'jest odpowiednio udokumentowana' oraz 'jest zabezpieczona przed niedozwolonymi operacjami' odnoszą się do zupełnie innych aspektów jakości oprogramowania. Funkcjonalność dotyczy tego, czy aplikacja spełnia określone wymagania i jest w stanie realizować zamierzone zadania. Choć jest to istotna cecha, nie jest bezpośrednio związana ze skalowalnością, która koncentruje się na możliwości dostosowania się systemu do zwiększających się obciążeń. Dokumentacja jest równie ważna, ponieważ pozwala na zrozumienie architektury i funkcji systemu, lecz nie wpływa na jego zdolność do obsługi większej ilości użytkowników. Zabezpieczenia przed błędami, takimi jak dzielenie przez zero, są kluczowe dla stabilności i bezpieczeństwa aplikacji, ale również nie mają związku z jej skalowalnością. Często występującym błędem myślowym jest zakładanie, że wszystkie aspekty jakości oprogramowania są ze sobą ściśle powiązane i mogą być używane zamiennie. W rzeczywistości, każdy z tych elementów stanowi niezależny komponent większej całości, a ich ocena wymaga różnorodnych podejść i technik testowania. Aby poprawnie ocenić skalowalność, należy skupić się na pomiarze wydajności w warunkach dużego obciążenia, co wymaga zastosowania specyficznych metodologii testowych, takich jak testy obciążeniowe oraz analizę wydajności systemu w realnych scenariuszach użytkowania.

Pytanie 38

Obraz przedstawia formatowanie CSS paragrafu. Aby otrzymać czerwony kolor poza obramowaniem, tak jak przedstawiono na obrazie, należy zdefiniować własność

Oto przykład paragrafu który poza ramką ma kolor grubości 10 px

A. border
B. outline
C. background
D. padding
Niestety, to nie jest poprawna odpowiedź. Możliwe, że pomyliłeś niektóre właściwości CSS. 'Padding' zwiększa wewnętrzny odstęp w elemencie, ale nie zmienia koloru obramowania. Z kolei 'background' odpowiada za tło elementu. Pamiętaj, że 'border' tworzy obramowanie i to wpływa na rozmiar elementu. Natomiast 'outline' to kontur, który tylko otacza element bez wpływania na jego układ. Warto przemyśleć tę różnicę, bo to kluczowe, żeby dobrze ogarniać CSS. Pracuj nad tym i spróbuj jeszcze raz.

Pytanie 39

Programista stworzył pętlę w języku C++ mającą na celu obliczenie wartości 5! (5! = 1 * 2 * 3 * 4 * 5). Niestety, popełnił błąd logiczny polegający na tym, że

int a = 1;
for (int i = 1; i < 5; i++)
{
    a = a * i;
}
cout << a;
A. parametr i pętli powinien być inicjowany wartością 0, a nie 1
B. zmienna a powinna być ustawiona na 0 zamiast 1
C. w drugim warunku pętli powinno być porównanie i < 6 zamiast i < 5
D. parametr i pętli powinien być zmniejszany zamiast zwiększany
Pętla for w języku C++ jest często używana do wykonywania określonej liczby iteracji. W przypadku obliczania silni liczby 5, czyli 5!, iteracja powinna przebiegać od 1 do 5 włącznie, co oznacza, że zmienna sterująca i powinna przyjąć wartości 1, 2, 3, 4 i 5. Dlatego warunek zakończenia pętli powinien być zapisany jako i <= 5 lub alternatywnie i < 6. W zestawie egzaminacyjnym podano kod z warunkiem i < 5, co powoduje, że pętla kończy się przy czwartej iteracji, a ostatnia potrzebna mnożenie przez 5 nie jest wykonane. Poprawnym rozwiązaniem problemu jest zmiana warunku na i < 6. Przykład praktyczny: przy obliczaniu silni w programach obliczeniowych często stosujemy pętlę o poprawnym zakresie, co jest kluczowe dla uzyskania prawidłowych wyników. Ponadto, w kontekście dobrych praktyk programistycznych, warto zawsze dokładnie analizować warunki pętli, aby uniknąć nieoczekiwanych błędów logicznych, które mogą prowadzić do niepoprawnych wyników końcowych.

Pytanie 40

Kod CSS można włączyć do dokumentu HTML, używając znacznika

A. <style>
B. <meta>
C. <body>
D. <head>
Wybór znaczników <head>, <meta> lub <body> jako miejsca do umieszczania kodu CSS jest nieprawidłowy z kilku powodów. Znacznik <head> jest przestrzenią przeznaczoną do przechowywania metadanych i odniesień do zasobów zewnętrznych, takich jak pliki CSS, a nie do bezpośredniego osadzania stylów. Chociaż można w nim umieszczać inne znaczniki, takie jak <style>, nie jest to jego podstawowe przeznaczenie. Znacznik <meta> służy do definiowania metadanych dokumentu, takich jak zestaw znaków, informacje o autorze czy opis strony, co również nie ma związku z osadzaniem stylów CSS. Z tego powodu umieszczanie kodu CSS w <meta> jest nieodpowiednie. Znacznik <body> jest przeznaczony do zawartości strony, która ma być wyświetlana użytkownikowi, a nie do definiowania stylów. Umieszczenie kodu CSS w <body> może prowadzić do chaosu w organizacji kodu oraz obniżenia wydajności, gdyż przeglądarki muszą analizować style po renderowaniu treści. Kluczowe błędy myślowe w takich wyborach wynikają z nieporozumienia na temat funkcji poszczególnych znaczników HTML oraz ich roli w renderowaniu strony internetowej. Właściwe stosowanie znaczników i standardów webowych jest fundamentem efektywnego projektowania stron, co podkreśla znaczenie edukacji w tym zakresie.