Wyniki egzaminu

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

Egzamin zdany!

Wynik: 33/40 punktów (82,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Jakiego elementu w języku HTML brakuje, aby walidator HTML zgłosił ostrzeżenie lub błąd?

A. <meta name="author" content=". . . .">
B. <link>
C. <title>
D. przynajmniej jednego <h1>
Element <title> jest kluczowym składnikiem dokumentu HTML, ponieważ określa tytuł strony, który jest wyświetlany na karcie przeglądarki oraz w wynikach wyszukiwania. W każdym poprawnie skonstruowanym dokumencie HTML powinien znajdować się co najmniej jeden element <title>, a jego brak skutkuje ostrzeżeniem lub błędem walidatora HTML. Zgodnie z specyfikacją HTML5, element <title> powinien być umieszczony wewnątrz sekcji <head>. Dobrą praktyką jest, aby tytuł był krótki, ale jednocześnie informacyjny i zawierał istotne słowa kluczowe, co może poprawić widoczność w wyszukiwarkach. Na przykład, tytuł 'Strona Główna - Moja Firma' jasno określa zawartość i cel strony, co jest korzystne dla użytkowników i robotów wyszukiwarek. Pamiętaj, że niepoprawna struktura dokumentu HTML może prowadzić do problemów z indeksowaniem przez wyszukiwarki oraz może wpłynąć na doświadczenie użytkownika.

Pytanie 2

W języku PHP instrukcja foreach jest rodzajem

A. pętli, niezależnie od rodzaju zmiennej
B. pętli, przeznaczonej wyłącznie dla elementów tablicy
C. instrukcji wyboru, dla elementów tablicy
D. instrukcji warunkowej, niezależnie od typu zmiennej
Instrukcja <i>foreach</i> w PHP to naprawdę super sprawa, jeśli chodzi o przechodzenie przez elementy tablicy. Dzięki niej można bardzo prosto iterować po wszystkich wartościach, co sprawia, że kod staje się bardziej przejrzysty i zwięzły. Nie trzeba wtedy się martwić o ręczne zarządzanie wskaźnikami tablicy. A dostęp do kluczy i wartości? Proszę bardzo! Na przykład, mając tablicę $fruits = ['jabłko', 'banan', 'czereśnia'], można użyć <i>foreach</i> tak: <code>foreach ($fruits as $fruit) { echo $fruit; }</code>. To wydrukuje nam wszystkie owoce na ekranie. No i warto mieć na uwadze, że <i>foreach</i> działa też z tablicami asocjacyjnymi, co pozwala na przechodzenie przez pary klucz-wartość. Korzystając z tej instrukcji, można pisać lepszy, bardziej zrozumiały kod, a to szczególnie ma znaczenie w większych projektach, gdzie czytelność jest kluczowa dla późniejszego rozwoju i utrzymania kodu.

Pytanie 3

Które z wymienionych par znaczników HTML mają identyczny efekt wizualny na stronie internetowej, jeśli nie zastosowano żadnych stylów CSS?

A. <b> i <big>
B. <b> i <strong>
C. <p> oraz <h2>
D. <meta> oraz <title>
Odpowiedź <b> i <strong> jest poprawna, ponieważ oba znaczniki służą do wyróżniania tekstu, przy czym nie mają one różnicy w wizualizacji, jeśli nie zastosowano żadnych stylów CSS. Z punktu widzenia semantyki HTML, <strong> jest znacznikiem, który wyraża większe znaczenie dla zawartego w nim tekstu, co jest korzystne dla dostępności oraz SEO, ale wizualnie, bez dodatkowych stylów, obie etykiety wykazują te same cechy. Przykładowo, można ich używać w sytuacjach, gdy chcemy wyróżnić ważne informacje w artykule lub nagłówku. Zastosowanie tych znaczników zgodnie z dobrymi praktykami HTML pozwala na lepsze zrozumienie struktury strony przez wyszukiwarki oraz czytniki ekranu, co ma znaczenie w kontekście dostępności. W związku z tym, wyróżnianie tekstu za pomocą <b> i <strong> jest nie tylko estetyczne, ale także funkcjonalne, wspierając zarówno użytkowników, jak i algorytmy wyszukiwania.

Pytanie 4

Funkcji session_start() w PHP należy używać podczas realizacji

A. ładowania danych z zewnętrznych plików
B. każdej strony, która wykorzystuje ciasteczka
C. wielostronicowej strony internetowej, która wymaga dostępu do danych przy przechodzeniu między stronami
D. przetwarzania formularzy
Funkcja session_start() jest kluczowym elementem zarządzania sesjami w PHP, co jest niezbędne w kontekście wielostronicowych witryn internetowych. Jej głównym zadaniem jest inicjalizacja sesji, która pozwala na przechowywanie i udostępnianie danych użytkownika pomiędzy różnymi stronami serwisu. Gdy wywołasz session_start(), PHP sprawdza, czy istnieje już aktywna sesja. Jeśli tak, został załadowany odpowiedni identyfikator sesji, co umożliwia dostęp do danych przechowywanych w superglobalnej tablicy $_SESSION. Przykładami zastosowania mogą być koszyki zakupowe, gdzie użytkownik dodaje produkty na różnych stronach, a dane o tych produktach muszą być zachowane i dostępne na każdej z nich. Dobre praktyki zalecają, aby session_start() było wywoływane na początku skryptu, przed jakimkolwiek wyjściem na ekran, aby uniknąć problemów z nagłówkami HTTP. Ponadto, zarządzanie sesjami powinno być realizowane z uwzględnieniem bezpieczeństwa, np. poprzez regenerację identyfikatorów sesji po zalogowaniu oraz zabezpieczenie przed atakami CSRF.

Pytanie 5

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

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

Pytanie 6

Który typ relacji wymaga stworzenia tabeli pośredniczącej łączącej klucze główne obu tabel?

A. n..1
B. 1..1
C. n..n
D. 1..n
Odpowiedź n..n jest prawidłowa, ponieważ ten typ relacji wskazuje, że wiele rekordów z jednej tabeli może być związanych z wieloma rekordami z drugiej tabeli. Aby prawidłowo zaimplementować tę relację w bazie danych, konieczne jest utworzenie tabeli pośredniej, która będzie zawierać klucze główne z obu tabel jako klucze obce. Na przykład, w systemie zarządzania uczelnią, tabela 'Studenci' może być powiązana z tabelą 'Kursy', gdzie jeden student może zapisać się na wiele kursów, a jeden kurs może mieć wielu studentów. Tabela pośrednia 'Studenci_Kursy' będzie zawierać kolumny 'StudentID' i 'KursID', które tworzą unikalne pary, umożliwiając efektywne zarządzanie danymi. Standardy projektowania baz danych, takie jak modelowanie ER (Entity-Relationship), zalecają stosowanie tabel pośrednich w takich przypadkach, aby zminimalizować redundancję danych oraz zwiększyć integralność referencyjną systemu.

Pytanie 7

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

A. w podglądzie zdarzeń systemu Windows
B. w logu, jeśli zostanie ustawiony odpowiedni parametr w pliku php.ini
C. nigdzie, są pomijane przez przeglądarkę oraz interpreter kodu PHP
D. w oknie edytora, w którym pisany jest kod 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 8

Przykład zapytania SQL przedstawia instrukcję:

UPDATE katalog SET katalog.cena = [cena]*1.1;
A. usuwającej
B. dołączającej
C. krzyżowej
D. aktualizującej
Instrukcja SQL przedstawiona w pytaniu używa słowa kluczowego UPDATE co jest charakterystyczne dla kwerend aktualizujących. Komenda ta modyfikuje istniejące dane w tabeli poprawiając je zgodnie z podanymi kryteriami. W tym przykładzie wszystkie wartości w kolumnie cena tabeli katalog są zwiększane o 10 procent co jest typowym zastosowaniem instrukcji aktualizującej. W praktyce takie zmiany są niezbędne w przypadku modyfikacji cen produktów lub aktualizacji informacji biznesowych. Stosowanie kwerend aktualizujących wymaga zachowania szczególnej ostrożności aby nie naruszyć integralności danych. Dobre praktyki obejmują przygotowanie backupu danych przed wykonaniem operacji oraz przetestowanie kwerendy na mniejszym zbiorze danych w celu uniknięcia błędów. Aktualizacja danych to jedna z najczęstszych operacji w systemach bazodanowych dlatego zrozumienie mechanizmu działania kwerend SQL tego typu jest kluczowe dla efektywnego zarządzania danymi w każdej organizacji. SQL jako język deklaratywny umożliwia łatwe definiowanie co chcemy osiągnąć bez konieczności szczegółowego opisywania jak to zrobić co ułatwia pracę z dużymi i złożonymi zbiorami danych.

Pytanie 9

Jakie znaki będą przechowywane w zmiennej $napis po uruchomieniu poniższego kodu PHP?

$napis = "Programowanie w PHP";
$napis = substr($napis, 3, 5);
A. gramo
B. gr
C. og
D. ogram
Wybrana odpowiedź jest niepoprawna, ponieważ nie uwzględnia prawidłowego działania funkcji substr w PHP. Ta funkcja wyodrębnia określoną liczbę znaków z ciągu, zaczynając od określonego indeksu. Tutaj funkcja substr wyodrębniła 5 znaków, zaczynając od czwartego znaku (indeks 3). Stąd poprawna odpowiedź to 'gramo', nie 'og', 'ogram' czy 'gr'. W przypadku odpowiedzi 'og', wydaje się, że nastąpiło błędne zrozumienie jak działa indeksowanie w PHP. Indeksy zaczynają się od zera, nie od jednego. Dlatego też czwarty znak ma indeks 3, a nie 4. W przypadku odpowiedzi 'ogram', prawdopodobnie zrozumiano, że substr wyodrębni całe słowo od indeksu 3, a nie tylko 5 znaków. Natomiast odpowiedź 'gr' sugeruje, że nie zrozumiano liczby znaków do wyodrębnienia. To jest typowy błąd, gdzie zakłada się, że funkcja substr wyodrębni tylko dwa następne znaki, a nie określoną liczbę znaków.

Pytanie 10

W programie napisanym w języku C++ należy wczytać zmienną całkowitą o nazwie liczba i wyświetlić ją tylko w przypadku, gdy przyjmuje trzycyfrowe wartości parzyste. Instrukcja warunkowa, która to sprawdza, powinna być oparta na wyrażeniu logicznym

A. liczba % 2 == 0 && liczba > 99 && liczba < 999
B. liczba % 2 == 0 && (liczba > 99 || liczba < 999)
C. liczba % 2 == 0 || (liczba > 99 && liczba < 999)
D. liczba % 2 == 0 || liczba > 99 || liczba < 999
Odpowiedź jest poprawna, ponieważ zawiera wszystkie niezbędne warunki do sprawdzenia, czy liczba jest parzysta i ma trzy cyfry. Warunek 'liczba % 2 == 0' sprawdza, czy liczba jest parzysta, co jest kluczowe, ponieważ tylko parzyste liczby mogą być wyświetlane zgodnie z założeniem programu. Dodatkowo, warunki 'liczba > 99' oraz 'liczba < 999' zapewniają, że liczba jest trzycyfrowa. Użycie operatora logicznego AND ('&&') jest tutaj odpowiednie, ponieważ wszystkie te warunki muszą być spełnione jednocześnie, aby liczba mogła zostać wyświetlona. Praktyczne zastosowanie tej logiki można znaleźć w wielu aplikacjach, gdzie wprowadzanie danych musi być weryfikowane, na przykład w systemach bankowych, gdzie liczby muszą spełniać określone kryteria. Dzięki temu weryfikacja danych wejściowych staje się bardziej efektywna, co jest zgodne z dobrymi praktykami programistycznymi.

Pytanie 11

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

wynik = 0;
for (i = 0; i < tab.length; i++) {
wynik += tab[i];
}
A. wprowadzenie do każdego elementu tablicy bieżącej wartości zmiennej i
B. policzenie sumy wszystkich elementów tablicy
C. wyświetlenie wszystkich elementów tablicy
D. dodanie stałej wartości do każdego elementu tablicy
Podany fragment kodu w języku JavaScript pokazuje klasyczną strukturę pętli for, która pozwala na przejście przez wszystkie elementy tablicy i wykonanie na nich określonych operacji. W tym przypadku celem pętli jest zsumowanie wszystkich elementów tablicy. Zmienna wynik jest inicjalizowana wartością 0, co jest dobrą praktyką programistyczną, aby zapewnić prawidłowe działanie sumowania. Pętla iteruje przez każdy element tablicy tab przy pomocy zmiennej i, która pełni rolę indeksu. Przy każdej iteracji do zmiennej wynik dodawana jest wartość bieżącego elementu tablicy tab[i]. Po zakończeniu pętli zmienna wynik będzie zawierać sumę wszystkich elementów tablicy. Takie podejście jest podstawą wielu algorytmów przetwarzających dane tablicowe i ilustruje ważny koncept iteracyjnego przetwarzania danych. Warto również wspomnieć, że takie podstawowe operacje jak to sumowanie mogą być zastosowane w wielu dziedzinach takich jak analiza danych obliczenia statystyczne czy przetwarzanie dużych zbiorów danych w systemach komputerowych co czyni je niezwykle wartościowymi w praktyce zawodowej

Pytanie 12

Która z funkcji zdefiniowanych w języku PHP zwraca jako wynik połowę kwadratu wartości podanej jako argument?

A. function licz($a) { return $a*$a/2; }
B. function licz($a) { echo $a/2; }
C. function licz($a) { echo $a*$a/2; }
D. function licz($a) { return $a/2; }
Dobra robota, jeśli chodzi o tę funkcję! Właściwa odpowiedź to taka, która zwraca połowę kwadratu podanej wartości. W przykładzie 'function licz($a) { return $a*$a/2; }' widać, że użycie 'return' jest bardzo ważne, bo to dzięki niemu wynik trafia tam, gdzie funkcję wywołujemy. Najpierw 'a' jest podnoszone do kwadratu, czyli 'a * a', a potem dzielimy to przez 2. Jak dla 'a' podstawimy 4, to wyjdzie 8, bo połowa z 16 (kwadrat z 4) to właśnie 8. Bardzo dobrze, że zwracasz uwagę na takie szczegóły, bo to naprawdę istotne w programowaniu. Można tę funkcję stosować w różnych sytuacjach, np. w aplikacjach z interfejsem graficznym czy przy analizie jakichś danych, no wiesz, tam, gdzie matematyka wchodzi w grę.

Pytanie 13

Aby w JavaScript wykonać wymienione kroki, należy w znaczniku <script> umieścić kod

1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikację: ",
    następnie po zatwierdzeniu

2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się
    wartość pobrana z okna "Kwalifikacja: ..."
A. A << prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
B. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
C. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: ".A);
D. A = alert("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
Wybrana odpowiedź nie jest prawidłowa. W JavaScript, funkcja 'alert()' jest używana do wyświetlania okienka z komunikatem, ale nie pozwala na wprowadzenie przez użytkownika żadnej wartości, w przeciwieństwie do funkcji 'prompt()'. Operator '<<' nie jest odpowiedni w tym kontekście, ponieważ jest to operator przesunięcia bitowego, a nie służy do przypisywania wartości do zmiennej. W niektórych niepoprawnych odpowiedziach, próbowano połączyć łańcuchy znaków (stringi) za pomocą kropki ('.'), co jest niepoprawne w JavaScript. Operator do łączenia łańcuchów znaków w tym języku to '+'. Kropka jest używana do dostępu do właściwości obiektów. Pamiętaj, że zrozumienie różnicy między różnymi funkcjami interaktywnymi, takimi jak 'alert()', 'prompt()' i 'confirm()', oraz kiedy ich używać, jest kluczowe do efektywnego tworzenia interaktywnych stron internetowych.

Pytanie 14

Jakiego rodzaju oprogramowanie narzędziowe jest wymagane, aby użytkownik mógł przeprowadzać operacje na zebranych danych?

A. Obiektowy System Zarządzania Bazą Danych
B. System Zarządzania Bazą Danych (SZBD)
C. Otwarty mechanizm komunikacji bazy danych
D. Klucz obcy
System Zarządzania Bazą Danych (SZBD) to kluczowy element w architekturze aplikacji, który umożliwia użytkownikom przechowywanie, modyfikowanie i zarządzanie danymi. Dzięki SZBD użytkownicy mogą wykonywać operacje takie jak dodawanie, usuwanie, modyfikacja danych oraz wykonywanie zapytań, co jest niezbędne w każdym systemie informacyjnym. Przykłady powszechnie stosowanych SZBD to MySQL, PostgreSQL oraz Oracle Database. W praktyce, SZBD obsługuje relacje między danymi, co pozwala na zapewnienie integralności i spójności danych. Dodatkowo, SZBD implementują standardy takie jak ACID (Atomicity, Consistency, Isolation, Durability), co jest gwarancją niezawodności transakcji. Aby efektywnie korzystać z SZBD, warto zapoznać się z językiem SQL, który jest standardem do komunikacji z bazą danych. W kontekście dobrych praktyk, umiejętność projektowania prawidłowej struktury bazy danych oraz znajomość zasad normalizacji danych są kluczowe dla optymalizacji wydajności aplikacji oraz minimalizacji ryzyka błędów danych.

Pytanie 15

Które z wymienionych rozszerzeń NIE JEST związane z plikiem wideo?

A. AVI
B. MOV
C. MP4
D. GIF
Odpowiedź 'GIF' jest poprawna, ponieważ GIF (Graphics Interchange Format) to format pliku służący do przechowywania statycznych lub animowanych obrazów, a nie wideo. GIF jest popularny w sieci ze względu na swoją zdolność do tworzenia krótkich animacji, które są łatwe do udostępnienia, ale nie zawiera dźwięku ani standardowych właściwości plików wideo. Z kolei formaty AVI, MP4 i MOV to standardowe formaty plików wideo, które obsługują zarówno obraz, jak i dźwięk, co czyni je odpowiednimi do przechowywania i odtwarzania filmów. W praktyce, GIF-y są często używane na stronach internetowych i w mediach społecznościowych do wyrażania emocji lub ilustrowania krótkich scenek, ale nie mogą być używane tam, gdzie potrzebne jest pełne wideo z dźwiękiem, co czyni je niewłaściwym wyborem w kontekście plików wideo.

Pytanie 16

Jakie zasady dotyczące tworzenia sekcji w języku HTML są właściwe?

A. W sekcji <head> mogą się pojawić znaczniki <meta>, <title>, <link>
B. W sekcji <head> nie wolno umieszczać kodu CSS, tylko odniesienie do pliku CSS
C. W sekcji <head> znajduje się sekcja <body>
D. W sekcji <head> można ustalać szablon strony za pomocą znaczników <div>
Wybór odpowiedzi, że w części <head> mogą wystąpić znaczniki <meta>, <title>, <link> jest jak najbardziej poprawny. Część <head> dokumentu HTML jest kluczowa dla określenia właściwości oraz meta-informacji o stronie. Znacznik <meta> służy do przechowywania danych o stronie, takich jak opis, słowa kluczowe czy konfiguracja kodowania. Znacznik <title> definiuje tytuł strony, który jest wyświetlany na karcie przeglądarki oraz w wynikach wyszukiwania, co jest istotne dla SEO. Z kolei znacznik <link> pozwala na połączenie dokumentu HTML z zewnętrznymi arkuszami stylów CSS lub innymi zasobami. Stosowanie tych znaczników jest zgodne z obowiązującymi standardami W3C oraz najlepszymi praktykami w zakresie tworzenia stron internetowych. Dobrze zorganizowana sekcja <head> wpływa na efektywność i widoczność strony w wyszukiwarkach, a także na jej ogólną jakość. Przykładem użycia może być dodanie metadanych do strony internetowej, co pozwala na lepsze pozycjonowanie w wyszukiwarkach oraz ułatwia zarządzanie stylem poprzez odwołanie do pliku CSS.

Pytanie 17

W jaki sposób należy ustawić monitor, aby były spełnione zasady ergonomicznej pracy przy stanowisku komputerowym?

A. Monitor powinien być tak ustawiony, by kąt między płaszczyzną monitora, a linią patrzenia na jego środek mieścił się w granicy 80° ÷ 90°.
B. Górna krawędź ekranu powinna znajdować się nieco poniżej poziomu oczu użytkownika.
C. Dla osób praworęcznych monitor powinien stać z prawej strony, a dla leworęcznych z lewej strony stanowiska komputerowego. 
D. Monitor powinien stać ekranem do okna w celu ograniczenia odblasków i refleksów świetlnych.
W ergonomii stanowiska komputerowego łatwo skupić się na pojedynczych intuicyjnych pomysłach, które na pierwszy rzut oka brzmią sensownie, ale po dokładniejszej analizie okazują się po prostu niezgodne z dobrą praktyką. Typowy przykład to ustawianie monitora ekranem do okna „żeby nie było odblasków”. W realnych warunkach takie ustawienie zwykle kończy się tym, że na ekran pada silne światło dzienne, pojawiają się kontrasty, odbicia i refleksy, a użytkownik instynktownie zwiększa jasność monitora do maksimum. Oczy wtedy szybciej się męczą, trudniej odczytać drobny tekst, a po dłuższej pracy pojawia się uczucie „piasku pod powiekami”. Standardy BHP zalecają raczej, by okno znajdowało się z boku stanowiska pracy, a nie bezpośrednio za monitorem ani przed nim. Inne nieporozumienie to pomysł, że ustawienie monitora zależy od tego, czy ktoś jest prawo-, czy leworęczny. Z ergonomicznego punktu widzenia monitor powinien być ustawiony centralnie przed użytkownikiem, tak aby linia patrzenia biegła prosto, bez konieczności ciągłego skręcania szyi. Ręczność ma znaczenie przy ustawieniu myszy, klawiatury czy dokumentów papierowych, ale nie przy położeniu ekranu. Jeżeli monitor stoi wyraźnie z boku, kark jest stale skręcony, co po kilku godzinach pracy dziennie przez miesiące czy lata bardzo niekorzystnie wpływa na kręgosłup szyjny. Pojawia się też czasem przekonanie, że ekran powinien być niemal prostopadły do linii patrzenia, czyli że kąt między płaszczyzną monitora a kierunkiem wzroku ma być bliski 90°. W praktyce człowiek patrzy lekko w dół, a monitor bywa delikatnie odchylony do tyłu, żeby poprawić czytelność obrazu i zmniejszyć odbicia. Sztywne trzymanie się wartości 80–90° ignoruje naturalną pozycję ciała i zalecenia ergonomiczne, które mówią raczej o dopasowaniu ekranu do użytkownika, a nie odwrotnie. Typowy błąd myślowy polega tu na potraktowaniu prostych kątów jako „idealnych” tylko dlatego, że są matematycznie ładne, a nie dlatego, że odpowiadają fizjologii człowieka. Podsumowując, prawidłowe ustawienie monitora opiera się na naturalnej pozycji oczu i kręgosłupa: ekran na wprost, górna krawędź nieco poniżej poziomu oczu, brak bezpośredniego światła z okna na ekran i odległość dopasowana do wielkości monitora. Reszta „magicznych zasad” zwykle wynika z uproszczeń albo z prób rozwiązania jednego problemu kosztem stworzenia kilku kolejnych.

Pytanie 18

W kodzie HTML stworzono link do strony internetowej. Aby otworzyć tę stronę w nowym oknie lub zakładce przeglądarki, należy dodać do definicji linku atrybut

<a href="http://google.com" >strona Google</a>
A. rel = "next"
B. target = "_parent"
C. target = "_blank"
D. rel = "external"
Atrybut target w języku HTML służy do określenia, w jaki sposób ma otworzyć się dokument, do którego prowadzi odnośnik. Użycie wartości '_blank' dla atrybutu target jest standardowym sposobem na otwarcie nowej strony w nowym oknie lub zakładce przeglądarki. Przykład zastosowania to: <a href="http://google.com" target="_blank">strona Google</a>. Jest to niezwykle przydatne w kontekście UX, ponieważ pozwala użytkownikom na łatwe porównanie informacji bez utraty dostępu do oryginalnej strony. Warto również zauważyć, że użycie tego atrybutu jest zgodne z najlepszymi praktykami w tworzeniu stron internetowych, gdyż umożliwia użytkownikom zachowanie kontekstu przeglądania. W HTML5 atrybut target pozostaje wspierany, co czyni go istotnym elementem w projektowaniu interfejsów użytkownika. Oprócz '_blank' istnieją inne wartości, takie jak '_self', '_parent' i '_top', które również spełniają różne funkcje w zależności od potrzeb nawigacyjnych w aplikacji webowej.

Pytanie 19

Jakie skutki przyniesie zastosowanie przedstawionego formatowania CSS dla nagłówka trzeciego stopnia?

<style> h3 { background-color: grey; } </style> ... <h3 style="background-color: orange;"> Rozdział 1.2.2. </h3>
A. kolor tekstu będzie szary
B. tło będzie szare
C. kolor tekstu będzie pomarańczowy
D. tło będzie pomarańczowe
W tym przykładzie pokazano dwa różne sposoby stylizacji za pomocą CSS: styl wbudowany i styl zewnętrzny. Styl wbudowany ma wyższy priorytet, bo jest przypisany bezpośrednio do elementu HTML, a to oznacza, że w nagłówku trzeciego stopnia kolor tła będzie pomarańczowy. To ma sens, bo czasem musimy przeskoczyć ogólne reguły stylizacji, żeby wprowadzić jakieś szczególne zmiany. Używanie stylów wbudowanych może być jednak ryzykowne, bo jak się ich nagromadzi, to ciężko się potem w tym połapać. Dlatego lepiej korzystać z zewnętrznych stylów – są bardziej uporządkowane i pozwalają na łatwe powtarzanie kodu CSS. Ważne jest też, żeby nie łączyć HTML z CSS w sposób, który wprowadza zamęt, bo to ułatwia życie i sprawia, że kod jest bardziej zrozumiały. Wiedza na temat priorytetów w CSS jest kluczowa dla każdego, kto chce dobrze projektować strony i mieć wszystko ładnie poukładane.

Pytanie 20

Polecenie MySQL pokazane poniżej spowoduje, że użytkownikowi tkowal zostaną odebrane określone uprawnienia:

REVOKE DELETE, UPDATE ON pracownicy FROM 'tkowal'@'localhost';
A. odebrane uprawnienia do usuwania i modyfikacji danych w tabeli pracownicy
B. odebrane uprawnienia do usuwania i dodawania rekordów w tabeli pracownicy
C. przydzielone uprawnienia do wszelkich zmian struktury tabeli pracownicy
D. przydzielone uprawnienia do usuwania oraz aktualizacji danych w tabeli pracownicy
Polecenie REVOKE w MySQL jest używane do cofania praw dostępu, które wcześniej zostały przyznane użytkownikowi. W zapytaniu REVOKE DELETE UPDATE ON pracownicy FROM tkowal@localhost cofamy prawa do usuwania i aktualizowania danych w tabeli pracownicy użytkownikowi o nazwie tkowal. To konkretne polecenie wskazuje, że wspomniane uprawnienia były wcześniej nadane temu użytkownikowi i teraz administrator bazy danych postanowił je cofnąć. Revoke jest kluczowe w zarządzaniu bezpieczeństwem i kontrolą dostępu w systemach baz danych zwłaszcza gdy potrzeby biznesowe lub polityka bezpieczeństwa wymagają ograniczenia możliwości użytkowników MySQL. Praktycznym przykładem może być sytuacja w której pracownik o niższym poziomie uprawnień nie powinien modyfikować lub usuwać kluczowych danych w bazie co zabezpiecza dane przed nieautoryzowanymi zmianami. Dobre praktyki branżowe zalecają regularne przeglądy uprawnień i ich aktualizację tak aby były one zgodne z aktualnymi potrzebami operacyjnymi i polityką bezpieczeństwa organizacji. Zarządzanie uprawnieniami w bazach danych jest fundamentalnym elementem bezpieczeństwa IT.

Pytanie 21

W języku CSS określono styl dla pola edycyjnego. Pole to będzie miało jasnozielony kolor tła, gdy będzie w trybie edycji.

A. jeśli jest to pierwsze wystąpienie tego elementu w dokumencie.
B. po naciśnięciu na nie myszką w celu wpisania tekstu.
C. gdy będzie na nie najechane kursorem bez kliknięcia.
D. w każdej sytuacji.
Odpowiedź "po kliknięciu myszą w celu zapisania w nim tekstu" jest prawidłowa, ponieważ reguła CSS <pre>input:focus { background-color: LightGreen; }</pre> odnosi się do stanu "focus" elementu formularza, który występuje, gdy pole edycyjne jest aktywne. To znaczy, że użytkownik musi kliknąć na pole, aby je aktywować, co pozwala na wprowadzenie danych. W momencie, gdy pole ma stan "focus", jego tło zmienia się na jasnozielone, co jest pomocne dla użytkowników, aby zidentyfikować, które pole aktualnie edytują. To zachowanie jest zgodne z dobrymi praktykami projektowania interfejsów użytkownika, które promują klarowność i intuicyjność. Dzięki zastosowaniu kolorów i wizualnych wskazówek, użytkownicy mogą łatwiej poruszać się po formularzach, co zwiększa ich efektywność. Ponadto, stosowanie takich reguł CSS jest zgodne z zaleceniami WCAG (Web Content Accessibility Guidelines), które składają się z wytycznych dotyczących dostępności treści internetowych, co sprawia, że aplikacje są bardziej przyjazne dla użytkowników z różnymi potrzebami.

Pytanie 22

Jaką czynność należy wykonać przed przystąpieniem do tworzenia kopii zapasowej danych w bazie MySQL?

A. przyznanie uprawnień do przeglądania bazy dla Administratora
B. określenie systemu kodowania znaków w bazie
C. sprawdzenie integralności bazy oraz ewentualna jej naprawa
D. weryfikacja, czy baza działa wystarczająco efektywnie
Sprawdzenie integralności bazy danych MySQL przed wykonaniem kopii bezpieczeństwa jest kluczowym krokiem, który zapewnia, że wszystkie dane są w dobrym stanie i nie występują żadne uszkodzenia. Integralność bazy danych odnosi się do spójności i poprawności danych przechowywanych w bazie. Narzędzia takie jak 'CHECK TABLE' oraz 'REPAIR TABLE' pozwalają na identyfikację i naprawę potencjalnych problemów związanych z uszkodzeniami tabel. Przykładem może być sytuacja, w której dane zostały nieprawidłowo zapisane lub usunięte, co może prowadzić do błędów w aplikacjach korzystających z bazy. W przypadku wykrycia problemów, ich naprawa przed stworzeniem kopii zapasowej jest niezbędna, aby uniknąć przenoszenia uszkodzonych danych do nowej lokalizacji. Standardy branżowe, takie jak ISO 27001, podkreślają znaczenie zarządzania integralnością danych, co stanowi fundament skutecznych strategii backupowych. Właściwie przeprowadzona diagnostyka przed wykonaniem kopii bezpieczeństwa nie tylko minimalizuje ryzyko utraty danych, ale również zwiększa efektywność procesów przywracania systemu po awarii.

Pytanie 23

Definicja formularza została wykorzystana na stronie www, która przesyła dane do pliku w języku PHP. W której tablicy będą dostępne informacje z formularza?

<form action="plik.php" method="post">
A. $_ACTION
B. $_GET
C. $_COOKIE
D. $_POST
Formularze w HTML służą do przesyłania danych do serwera, a w kontekście języka PHP dane te są dostępne poprzez różne superglobalne tablice, z których najczęściej używaną przy metodzie POST jest tablica $_POST. Metoda POST, określona w atrybucie 'method' formularza, jest używana do przesyłania danych w bardziej bezpieczny sposób niż metoda GET, ponieważ nie pokazuje przesyłanych informacji w URL. Kiedy dane są wysyłane do skryptu PHP z formularza, wszystkie klucze i wartości formularza stają się dostępne jako elementy tablicy $_POST. Przykładowo, jeśli w formularzu znajduje się pole tekstowe o nazwie 'username', po wysłaniu formularza na stronie 'plik.php' można uzyskać dostęp do wartości tego pola za pomocą $_POST['username']. Ta metoda jest zalecana w przypadku przesyłania danych poufnych, takich jak hasła, ponieważ nie są one widoczne w pasku adresu przeglądarki. Dodatkowo, korzystając z $_POST, można przesyłać dane o większej objętości, co jest niemożliwe w przypadku $_GET, który ma ograniczenia długości URL.

Pytanie 24

Używa się zapytania z klauzulą JOIN, aby

A. otrzymać wynik tylko z jednej tabeli
B. uzyskać dane z dwóch tabel, które są ze sobą powiązane
C. określić klucz obcy dla tabeli
D. wykonać funkcję agregującą
Zastosowanie klauzuli JOIN w zapytaniach SQL jest często mylone z innymi operacjami na tabelach, co prowadzi do nieporozumień i błędnych koncepcji. Definiowanie klucza obcego dla tabeli jest procesem, który nie ma bezpośredniego związku z samym zapytaniem. Klucz obcy, który służy do utrzymania integralności referencyjnej między tabelami, jest konfigurowany podczas tworzenia lub modyfikacji struktury bazy danych, a nie podczas pisania zapytań. Ponadto, wywoływanie funkcji agregujących, takich jak SUM czy COUNT, może być przeprowadzane niezależnie od tego, czy w zapytaniu wykorzystujemy JOIN. Funkcje te mogą działać na danych z jednej tabeli, co jest sprzeczne z błędnym stwierdzeniem, że JOIN jest niezbędny do ich wywołania. Ostatnim nieporozumieniem jest idea, że można otrzymać wyniki tylko z jednej tabeli. W praktyce, wiele zapytań wymaga współpracy między tabelami, aby uzyskać pełniejszy kontekst danych. Dobrą praktyką w projektowaniu baz danych jest jednak unikanie nieefektywnego łączenia tabel, jeżeli nie jest to konieczne, co może prowadzić do nieoptymalnej wydajności zapytań. Znajomość różnicy między operacjami na poziomie struktury bazy danych a zapytaniami pozwala na lepsze projektowanie i wykorzystanie systemów bazodanowych.

Pytanie 25

Które z poniższych stwierdzeń o językach programowania jest fałszywe?

A. SQL jest językiem programowania strukturalnego
B. PHP służy do tworzenia stron w czasie rzeczywistym
C. C++ jest językiem obiektowym
D. JavaScript to język skryptowy
SQL, czyli Structured Query Language, to język zapytań, który jest używany do zarządzania danymi w relacyjnych bazach danych. Jest to język deklaratywny, a nie strukturalny, co oznacza, że użytkownik nie definiuje w nim kroków przetwarzania danych, lecz opisuje, jakie dane chce uzyskać. SQL pozwala na wykonywanie operacji takich jak wybieranie danych, wstawianie, aktualizowanie i usuwanie rekordów w bazie danych. Przykładowe zapytanie w SQL może wyglądać następująco: SELECT * FROM users WHERE age > 18; co zwróci wszystkie rekordy użytkowników powyżej osiemnastego roku życia. Warto również zauważyć, że SQL jest standardem ISO, co oznacza, że jego składnia i funkcjonalności są szeroko uznawane i stosowane w różnych systemach zarządzania bazami danych, takich jak MySQL, PostgreSQL czy Oracle. To czyni SQL niezwykle ważnym narzędziem dla każdego programisty, analityka danych czy specjalisty ds. baz danych.

Pytanie 26

Jakiego języka można użyć do obsługi połączenia z bazą danych MySQL podczas rozwijania aplikacji webowej?

A. XHTML
B. PHP
C. HTML
D. CSS
PHP jest językiem skryptowym, który jest szeroko stosowany do tworzenia dynamicznych aplikacji internetowych, a jego zdolność do interakcji z bazami danych, takimi jak MySQL, czyni go idealnym narzędziem do obsługi połączeń z bazą danych. PHP umożliwia programistom wysyłanie zapytań SQL do bazy danych, wykonywanie operacji CRUD (tworzenie, odczyt, aktualizacja, usuwanie) oraz przetwarzanie wyników, co jest kluczowe w nowoczesnym tworzeniu aplikacji webowych. Przykładowy kod PHP do nawiązania połączenia z bazą danych MySQL może wyglądać następująco: $conn = new mysqli('localhost', 'username', 'password', 'database');. W przypadku niepowodzenia połączenia, można użyć if ($conn->connect_error) { die('Connection failed: ' . $conn->connect_error); }. PHP wspiera również różne techniki zabezpieczeń, takie jak przygotowywanie zapytań, co znacząco zwiększa bezpieczeństwo aplikacji przed atakami typu SQL Injection. Dokumentacja PHP oraz standardy, takie jak PSR (PHP Standards Recommendations), dostarczają programistom niezbędnych wytycznych, aby tworzyć wydajne i bezpieczne aplikacje. Dzięki swojej elastyczności i wszechstronności, PHP stał się językiem pierwszego wyboru dla programistów zajmujących się tworzeniem aplikacji internetowych z interfejsem do baz danych.

Pytanie 27

Klient wpisał adres nieistniejącego zasobu na serwerze. Próba nawiązania połączenia spowoduje wystąpienie błędu

A. 404
B. 503
C. 400
D. 500
Odpowiedź 404 jest prawidłowa, ponieważ oznacza, że serwer nie może znaleźć żądanego zasobu. Kiedy użytkownik wprowadza nieistniejący adres URL, serwer HTTP zwraca ten kod błędu jako odpowiedź informującą, że dany zasób nie został znaleziony. Jest to standardowy sposób na komunikowanie się z klientami, że ich prośba nie mogła zostać zrealizowana z powodu braku zasobu. W praktyce, kod 404 jest powszechnie używany do zarządzania sytuacjami, w których użytkownik wpisuje niewłaściwy adres lub gdy zasób został usunięty. Dobrą praktyką jest tworzenie własnych stron błędu 404, które informują użytkowników o tym, co mogą zrobić dalej, na przykład sugerując im powrót na stronę główną lub wyszukiwanie w serwisie. Z perspektywy bezpieczeństwa, warto również unikać ujawniania szczegółów dotyczących struktury serwera w odpowiedziach 404, aby zminimalizować potencjalne ryzyko ataków.

Pytanie 28

Jak kwerenda SQL przedstawiona w ramce wpłynie na tabelę pracownicy?

ALTER TABLE pracownicy MODIFY plec char(9);
A. Zmieni typ danych kolumny plec na znakowy o zmiennej długości 9
B. Doda kolumnę plec ze znakowym typem danych o stałej długości 9
C. Zmieni typ danych kolumny plec na znakowy o stałej długości 9
D. Doda kolumnę plec ze znakowym typem danych o zmiennej długości 9
Inne odpowiedzi, które podałeś, dotyczą różnych operacji SQL, które nie mają związku z tym, co robi ALTER TABLE pracownicy MODIFY plec char(9). Musisz zrozumieć, że różnica między CHAR a VARCHAR jest dość istotna. CHAR ma stałą długość, to znaczy, że każda wartość w kolumnie zawsze ma tę samą liczbę znaków, uzupełnianą spacjami. Z kolei VARCHAR przechowuje dane o zmiennej długości, co może oszczędzać miejsce, ale wymaga więcej uwagi w zarządzaniu długością. Dodatkowo, jeśli chciałbyś dodać nową kolumnę, musiałbyś użyć polecenia ADD, a nie MODIFY. Ta różnica między dodawaniem a modyfikowaniem często myli początkujących w projektowaniu baz danych. Z mojego doświadczenia, wybór odpowiedniego typu danych i operacji jest kluczowy, bo źle przypisane polecenie może prowadzić do problemów z aplikacjami i zarządzaniem danymi. Tak że kluczowe jest zrozumienie, jak działają te polecenia SQL, żeby dobrze projektować efektywne bazy danych.

Pytanie 29

Jakie polecenie umożliwia pokazanie konfiguracji serwera PHP, w tym między innymi informacji o: wersji PHP, systemie operacyjnym serwera oraz wartościach przedefiniowanych zmiennych?

A. phpinfo();
B. print_r(ini_get_all());
C. phpcredits();
D. echo phpversion();
Funkcja phpinfo() jest najczęściej używanym narzędziem w ekosystemie PHP do wyświetlania szczegółowych informacji dotyczących konfiguracji serwera PHP. Umożliwia uzyskanie dostępu do kluczowych danych, takich jak wersja PHP, informacje o systemie operacyjnym, wartości przedefiniowanych zmiennych, a także wiele innych ustawień konfiguracyjnych. Dzięki temu narzędziu deweloperzy mogą szybko zdiagnozować problemy związane z konfiguracją, a także zrozumieć, jakie moduły PHP są zainstalowane i aktywne. Przykładowo, uruchamiając skrypt z tą funkcją na stronie internetowej, automatycznie generowany jest szczegółowy raport w formie HTML, co ułatwia odczyt i zrozumienie. Standardy branżowe wskazują, że korzystanie z phpinfo() powinno być ograniczone do środowisk rozwijających, ponieważ ujawnia to wiele informacji o serwerze, co w kontekście bezpieczeństwa może stanowić ryzyko. W praktyce, dobrze jest również stosować funkcję w lokalnych środowiskach deweloperskich, by monitorować i weryfikować zmiany w konfiguracji serwera podczas pracy nad projektem.

Pytanie 30

W tabeli mieszkancy znajdują się dane o osobach z całej Polski. Aby zliczyć, ile różnych miast jest zawartych w tej tabeli, należy wykonać kwerendę

A. SELECT DISTINCT miasto FROM mieszkancy;
B. SELECT COUNT(miasto) FROM mieszkancy;
C. SELECT COUNT(DISTINCT miasto) FROM mieszkancy;
D. SELECT COUNT(miasto) FROM mieszkancy DISTINCT;
Wybrana kwerenda SELECT COUNT(DISTINCT miasto) FROM mieszkancy; jest poprawna, ponieważ pozwala na zliczenie unikalnych miast w tabeli mieszkancy. Funkcja DISTINCT eliminuje duplikaty, co oznacza, że tylko różne wartości miasto będą brane pod uwagę w procesie zliczania. Użycie COUNT w połączeniu z DISTINCT jest standardową praktyką w SQL, która zapewnia dokładne wyniki przy analizie danych. Taka metoda jest szczególnie przydatna w przypadku dużych zbiorów danych, gdzie wiele rekordów może odnosić się do tego samego miasta. Na przykład, jeśli mamy 1000 rekordów, z których 200 dotyczy Warszawy, 300 Krakowa oraz 500 Gdańska, kwerenda zwróci wynik 3, ponieważ tylko trzy różne miasta zostały uwzględnione. Tego typu zapytania są powszechne w raportach analitycznych, gdzie istotne jest zrozumienie dystrybucji danych oraz identyfikacja różnych kategorii w zbiorze, co jest niezbędne dla podejmowania decyzji biznesowych.

Pytanie 31

Kod źródłowy przedstawiony poniżej ma na celu wyświetlenie

Ilustracja do pytania
A. liczb wprowadzonych z klawiatury, aż do momentu wprowadzenia wartości 0
B. losowych liczb od 0 do 100, aż do wylosowania wartości 0
C. wylosowanych liczb z zakresu od 1 do 99
D. ciągu liczb od 1 do 100
Kod źródłowy przedstawiony w pytaniu inicjuje losowanie liczb w przedziale od 0 do 100 i wyświetla je na ekranie aż do momentu wylosowania liczby 0. Taki sposób działania jest możliwy dzięki zastosowaniu pętli while która wykonuje się dopóki warunek w niej zawarty jest spełniony. W tym przypadku warunek ten to różność zmiennej liczba od zera. Funkcja rand(0 100) generuje losowe liczby całkowite z zadanego przedziału. W momencie wylosowania wartości 0 pętla przestaje się wykonywać co skutkuje zakończeniem procesu wyświetlania liczb na ekranie. Tego typu pętle są często używane w programowaniu do tworzenia losowych zdarzeń np. w grach komputerowych gdzie potrzebne jest dynamiczne generowanie wartości. Warto zwrócić uwagę na to że funkcja rand jest standardową funkcją w wielu językach programowania pozwalającą na generowanie losowych liczb co jest przydatne w testowaniu algorytmów w różnych warunkach. Praktyka ta wspomaga proces nauki i doskonalenia umiejętności programistycznych dzięki możliwości symulacji losowych scenariuszy.

Pytanie 32

W przedstawionym stylu CSS w ramce zdefiniowano klasę uzytkownik. Tekst na stronie będzie wyświetlany czcionką w kolorze niebieskim dla

p.uzytkownik { color: blue; }
A. dowolnych znaczników w sekcji <body>, które mają przypisaną klasę uzytkownik
B. wyłącznie znaczników tekstowych takich jak <p>, <h1>
C. wszystkich akapitów
D. akapitów, którym przypisano klasę uzytkownik
Styl CSS przedstawiony w ramce definiuje regułę, która stosuje kolor tekstu niebieski do wszystkich elementów <p> posiadających klasę uzytkownik. W CSS selektory klasowe są reprezentowane przez kropkę (.), co oznacza, że tylko te elementy, które mają przypisaną daną klasę, zostaną sformatowane zgodnie z regułami stylu. W tym przypadku, ponieważ selektor to p.uzytkownik, dotyczy on tylko paragrafów oznaczonych klasą uzytkownik. To precyzyjne zastosowanie selektorów umożliwia projektantom stron internetowych dokładne dostosowanie wyglądu poszczególnych elementów. Takie podejście zapewnia większą elastyczność w projektowaniu i ułatwia zarządzanie wyglądem strony. Praktyką jest stosowanie klas, aby stylować specyficzne elementy w różny sposób, co zwiększa użyteczność i przejrzystość kodu CSS. Warto zaznaczyć, że używanie selektorów klasowych w ten sposób jest zgodne z zasadą separacji treści od prezentacji, co jest kluczowym aspektem w tworzeniu nowoczesnych i responsywnych stron internetowych.

Pytanie 33

Aby zmienić strukturę już istniejącej tabeli przy użyciu zapytania SQL, należy użyć kwerendy

A. INSERT INTO
B. ALTER TABLE
C. UPDATE
D. CREATE TABLE
Odpowiedź 'ALTER TABLE' jest poprawna, ponieważ ta kwerenda jest używana do modyfikacji struktury istniejącej tabeli w bazach danych SQL. Dzięki komendzie ALTER TABLE można dodawać nowe kolumny, usuwać istniejące kolumny, zmieniać typy danych kolumn, a także modyfikować ograniczenia (constraints) dotyczące tabeli. Dla przykładu, aby dodać nową kolumnę 'wiek' do tabeli 'pracownicy', można użyć następującej kwerendy: 'ALTER TABLE pracownicy ADD wiek INT;'. Warto również wspomnieć, że ALTER TABLE może być używane w różnych systemach zarządzania bazami danych, takich jak MySQL, PostgreSQL czy SQL Server, co czyni go uniwersalnym narzędziem w pracy z bazami danych. Podczas modyfikacji tabeli należy jednak zachować ostrożność, aby nie wprowadzić niezgodności w aplikacjach korzystających z tej tabeli. Praktyką zalecaną jest wykonywanie kopii zapasowej danych przed wprowadzeniem większych zmian. Zrozumienie tej komendy i jej zastosowania jest kluczowe dla efektywnego zarządzania danymi w systemach bazodanowych.

Pytanie 34

Która z poniższych zasad NIE WPŁYNIE pozytywnie na poprawę czytelności kodu?

A. Kod powinien być tworzony bez wcięć oraz zbędnych enterów
B. Każda linia kodu powinna zawierać tylko jedną komendę
C. Warto dodawać komentarze w bardziej skomplikowanych fragmentach kodu
D. Nazwy zmiennych powinny odzwierciedlać ich funkcję
Odpowiedź, że kod powinien być napisany bez wcięć i zbędnych enterów, jest poprawna, ponieważ w rzeczywistości brak wcięć i odpowiedniego formatowania znacząco obniża czytelność kodu. Wcięcia są kluczowe w wielu językach programowania, takich jak Python, gdzie definiują one blok kodu. Dobrze sformatowany kod, który wykorzystuje wcięcia i puste linie, ułatwia zrozumienie struktury programu i jego logiki. Przykładowo, w kodzie Pythona, brak wcięć skutkuje błędami składniowymi. Standardy kodowania, takie jak PEP 8 dla Pythona, jasno wskazują, że stosowanie wcięć jest nie tylko zalecane, ale wręcz wymagane dla utrzymania przejrzystości. Dobrze sformatowany kod zwiększa również jego utrzymywalność, co jest kluczowe w pracy zespołowej, gdzie wiele osób może pracować nad tym samym projektem. W praktyce, programiści często korzystają z narzędzi automatyzujących formatowanie kodu, co dodatkowo podnosi jego jakość i czytelność.

Pytanie 35

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

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

Pytanie 36

Podany poniżej kod źródłowy w języku C++ ma na celu wypisywanie dla wprowadzonych dowolnych liczb całkowitych różniących się od zera:

int main(){
    int liczba;
    cin >> liczba;
    while (liczba != 0)
    {
        if ((liczba % 2) == 0)
            cout << liczba << endl;
        cin >> liczba;
    }
    return 0;
}
A. tylko liczby nieparzyste
B. jedynie liczby parzyste
C. liczby pierwsze
D. wszystkie liczby
Odpowiedzi wskazujące na liczby pierwsze, wszystkie liczby oraz liczby nieparzyste opierają się na mylnych założeniach dotyczących działania podanego kodu. Liczby pierwsze są definicją liczb, które mają dokładnie dwa dzielniki: 1 oraz samą siebie. W kontekście tego kodu, program nie ma na celu identyfikacji liczb pierwszych, ponieważ nie wykonuje żadnych obliczeń dotyczących dzielników. Drugą koncepcją jest idea wypisania wszystkich liczb, co jest całkowicie błędne, ponieważ pętla jest skonstruowana tak, aby przerywała działanie na liczbie zero, a dodatkowo tylko liczby parzyste są wydobywane do wyniku. Ostatnia mylna odpowiedź wskazuje na liczby nieparzyste, co jest sprzeczne z logiką zawartą w kodzie. Kod skupia się wyłącznie na liczbach parzystych, co jest realizowane przez sprawdzenie warunku modulo. Zrozumienie działania operatorów w C++, jak i logiki programowania jest kluczowe, aby poprawnie interpretować działanie programu. Kluczowe jest, aby mieć na uwadze, że w programowaniu ważne jest zrozumienie, co dany fragment kodu faktycznie robi, a nie tylko na intuicyjne przeczucie na temat tego, jakie liczby mogą być wyświetlane, co prowadzi do typowych błędów myślowych w analizie kodu.

Pytanie 37

W tabeli psy znajdują się kolumny: imię, rasa, telefon_właściciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby znaleźć numery telefonów właścicieli psów, które zostały zaszczepione przed 2015 rokiem?

A. SELECT psy FROM rok_szczepienia < 2015
B. SELECT imię, rasa FROM psy WHERE rok_szczepienia > 2015
C. SELECT telefon_właściciela FROM psy WHERE rok_szczepienia < 2015
D. SELECT telefon_właściciela FROM psy WHERE rok_szczepienia > 2015
Wybrana odpowiedź jest poprawna, ponieważ precyzyjnie określa, jak za pomocą języka SQL można uzyskać telefony właścicieli psów, których szczepienia miały miejsce przed rokiem 2015. W poleceniu SQL używamy klauzuli SELECT, aby wybrać konkretne kolumny z tabeli. W tym przypadku interesuje nas kolumna 'telefon_wlasciciela'. Klauzula WHERE służy do filtrowania danych, co pozwala na zastosowanie warunku, który musi być spełniony, aby rekordy zostały zwrócone. Warunek 'rok_szczepienia < 2015' jest logiczny i zgodny z wymaganiami pytania. Taka konstrukcja zapytania jest zgodna z najlepszymi praktykami, ponieważ jasno określa, co chcemy uzyskać oraz jakie kryteria muszą zostać spełnione. Przykładowe zastosowanie tego typu zapytania może obejmować analizę danych dotyczących zdrowia psów, co jest istotne dla weterynarzy, hodowców czy właścicieli zwierząt. Umożliwia to podejmowanie świadomych decyzji dotyczących opieki zdrowotnej zwierząt.

Pytanie 38

Atrybut wskazujący na lokalizację pliku graficznego w znaczniku <img> to

A. href
B. src
C. link
D. alt
Atrybut 'src' (source) jest kluczowym elementem znacznika <img>, ponieważ wskazuje lokalizację pliku graficznego, który ma być wyświetlony na stronie internetowej. Użycie tego atrybutu jest niezbędne, aby przeglądarka mogła zlokalizować i załadować odpowiedni obraz. Na przykład, jeśli chcesz wyświetlić grafikę logo na stronie, możesz użyć znacznika <img src='logo.png'>, gdzie 'logo.png' jest ścieżką do pliku graficznego. Ważne jest, aby pamiętać o dokładnym podaniu ścieżki, która może być względna lub absolutna. Zgodnie z najlepszymi praktykami, ważne jest również użycie atrybutu 'alt', który opisuje obraz dla osób z problemami wzrokowymi oraz w przypadku, gdy obraz nie może być załadowany. Przestrzeganie standardów W3C w zakresie HTML zapewnia lepszą dostępność i użyteczność stron internetowych.

Pytanie 39

Według którego pola tabeli zostały pogrupowane dane w przedstawionym raporcie?

Ilustracja do pytania
A. rok
B. id_uczestnika
C. nazwa
D. wynik
Poprawnie wskazano, że dane w raporcie zostały pogrupowane według pola „rok”. Widać to po tym, że poszczególne rekordy są zebrane w bloki oznaczone nagłówkami 2009, 2010, 2011, 2012, 2020, a dopiero pod każdym z tych lat pojawiają się konkretne konkursy, id_uczestnika i wynik. To jest właśnie klasyczny przykład grupowania danych w raporcie po jednym z pól tabeli – w tym przypadku po kolumnie roku. W praktyce, czy to w SQL, czy w kreatorach raportów (np. w MS Access, LibreOffice Base, Crystal Reports, narzędziach BI), gdy projektujemy raport, często definiujemy tzw. sekcję grupującą (group header) opartą na wybranym polu. Tutaj takim polem jest rok, więc każda zmiana wartości roku powoduje rozpoczęcie nowej grupy i wyświetlenie nagłówka z tą wartością. To poprawia czytelność i pozwala łatwo analizować dane w podziale na lata. Moim zdaniem warto zapamiętać, że grupowanie po dacie lub roku to jedna z najczęściej stosowanych praktyk raportowych: używa się tego do raportów sprzedaży w latach, statystyk odwiedzin strony WWW, wyników egzaminów itd. W SQL można by to od strony danych poprzedzić np. zapytaniem sortującym: SELECT * FROM konkursy ORDER BY rok, nazwa; a samo faktyczne grupowanie wizualne realizuje już mechanizm raportów. Dobrą praktyką jest też, żeby pole, po którym grupujemy, było najpierw użyte do sortowania – inaczej grupy mogą się „rozsypać” i raport stanie się nieczytelny.

Pytanie 40

Ustalenie klucza obcego jest konieczne do skonstruowania

A. klucza podstawowego
B. transakcji
C. relacji 1..n
D. relacji 1..1
Zdefiniowanie klucza obcego nie jest bezpośrednio związane z relacjami 1..1, transakcjami czy kluczem podstawowym, ponieważ każde z tych pojęć odnosi się do innego aspektu zarządzania danymi w relacyjnych bazach danych. W przypadku relacji 1..1, każdemu rekordowi w jednej tabeli odpowiada dokładnie jeden rekord w drugiej tabeli, co oznacza, że nie ma potrzeby stosowania klucza obcego, gdyż relacja ta nie wymaga wskazywania powiązań między różnymi rekordami. Ponadto, transakcje są zbiorem operacji, które muszą być wykonane w całości lub wcale, a klucz obcy nie ma bezpośredniego wpływu na ich działanie - klucze obce służą głównie do zapewnienia integralności danych, a nie do zarządzania transakcjami. Klucz podstawowy, z drugiej strony, to unikalny identyfikator każdego rekordu w tabeli, a jego definicja jest odrębna od definicji klucza obcego. W praktyce, pomylenie tych pojęć prowadzi do błędnych wniosków o strukturyzacji danych oraz ich relacjach, co może skutkować nieefektywnym projektowaniem baz danych oraz trudnościami w późniejszym zarządzaniu danymi.