Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 16:59
  • Data zakończenia: 8 czerwca 2026 17:23

Egzamin zdany!

Wynik: 30/40 punktów (75,0%)

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

W zamieszczonym przykładzie pseudoklasa hover sprawi, że styl pogrubiony będzie przypisany

a:hover { font-weight: bold; }
A. wszystkim odnośnikom odwiedzonym.
B. każdemu odnośnikowi niezależnie od aktualnego stanu.
C. wszystkim odnośnikom nieodwiedzonym.
D. odnośnikowi, w momencie kiedy najechał na niego kursor myszy.
Twoja odpowiedź jest prawidłowa. Pseudoklasa :hover w CSS jest używana do stylizacji elementów, na które najechał kursor myszy. Na przykład, jeżeli użyjemy stylu 'font-weight: bold;' z pseudoklasą :hover, tekst odnośnika stanie się pogrubiony tylko wtedy, kiedy na niego najedziemy kursorem. Jest to bardzo przydatne w interaktywnym designie strony internetowej, gdzie możemy w prosty sposób zasygnalizować użytkownikowi, że dany element jest aktywny lub interaktywny. Pamiętaj, że pseudoklasy w CSS są potężnym narzędziem, które pozwala nam na tworzenie zaawansowanych efektów bez konieczności użycia JavaScriptu. Znajomość i umiejętność wykorzystania pseudoklas jest zatem kluczową umiejętnością każdego front-end developera.

Pytanie 2

Która funkcja SQL NIE przyjmuje żadnych argumentów?

A.
UPPER()
B.
NOW()
C.
YEAR()
D.
LEN()
Funkcja NOW() zwraca bieżącą datę i godzinę serwera (np. 2026-06-13 14:05:00) i NIE przyjmuje żadnych argumentów - nawiasy zostają puste. Używa się jej np. przy zapisie momentu dodania rekordu: INSERT INTO log (data) VALUES (NOW()). Zapamiętaj: NOW() działa „samo z siebie”, bo bierze czas z systemu, a nie z przekazanej wartości.

Pytanie 3

Jaki jest najłatwiejszy i najmniej czasochłonny sposób przetestowania strony w różnych przeglądarkach i ich wersjach?

A. użycie walidatora kodu HTML
B. użycie emulatora przeglądarek (np. usługi typu Browser Sandbox)
C. test tylko w jednej przeglądarce, zakładając zgodność pozostałych
D. instalacja różnych przeglądarek na kilku komputerach i testowanie
Pozostałe metody są wolniejsze lub niepełne. Instalowanie wielu przeglądarek na kilku komputerach jest pracochłonne. Walidator HTML sprawdza poprawność kodu, ale nie pokazuje wyglądu w różnych przeglądarkach. Test w jednej przeglądarce „na wiarę” nie wykrywa różnic. Najwygodniejszy jest emulator przeglądarek.

Pytanie 4

Jaką metodę zastosowano do dodania arkusza stylów do dokumentu HTML w pokazanym kodzie?

Ilustracja do pytania
A. Styl wpisany, lokalny
B. Styl wewnętrzny
C. Styl zewnętrzny
D. Styl alternatywny, zewnętrzny
Styl zewnętrzny to metoda dołączania arkusza stylów do dokumentu HTML poprzez linkowanie pliku CSS zewnętrznego w sekcji head dokumentu. Jest to najbardziej powszechna i zalecana metoda stylizacji dużych projektów ponieważ pozwala na oddzielenie logiki prezentacyjnej od struktury dokumentu HTML co ułatwia zarządzanie i ponowne wykorzystanie kodu. Tymczasem styl wewnętrzny umieszczany jest w sekcji head jako blok <style> i stosuje się go gdy chcemy zdefiniować style dla całego dokumentu bez tworzenia dodatkowego pliku CSS. Jest to rozwiązanie kompromisowe ale wciąż nie tak elastyczne jak style zewnętrzne. Styl alternatywny zewnętrzny to mechanizm dołączania alternatywnych arkuszy stylów umożliwiający użytkownikowi wybór różnych stylów podczas przeglądania strony jednak nie jest to to samo co styl wpisany lokalny. Błędne myślenie może polegać na utożsamianiu stylów wewnętrznych z wpisanymi ze względu na ich lokalny charakter lecz zasadniczo różnią się one zakresem działania i sposobem implementacji. Styl wpisany jako atrybut elementu HTML działa tylko na ten konkretny element zaś style wewnętrzne i zewnętrzne mogą wpływać na wiele elementów jednocześnie co daje większą kontrolę i spójność w projektowaniu strony. Zrozumienie tych różnic jest kluczowe dla tworzenia efektywnych i dobrze zarządzanych aplikacji webowych. Dążenie do modularności i ponownego użycia kodu jest jedną z fundamentalnych zasad dobrych praktyk w branży.

Pytanie 5

Tabele Klienci oraz Zgłoszenia są ze sobą połączone relacją jeden do wielu. W celu uzyskania jedynie opisu zgłoszenia oraz odpowiadającego mu nazwiska klienta dla zgłoszenia o numerze 5, należy wykonać polecenie

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.id WHERE Zgłoszenia.id = 5
B. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci WHERE Klienci.id = 5
C. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5
D. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Klienci.id = 5
Odpowiedź jest poprawna, ponieważ uwzględnia właściwe połączenie między tabelami Klienci i Zgłoszenia za pomocą klucza obcego Klienci_id w tabeli Zgłoszenia. W relacyjnych bazach danych, gdy chcemy pobrać dane z dwóch tabel powiązanych relacją klucz główny-klucz obcy, używamy klauzuli JOIN. W tym przypadku Klienci_id w tabeli Zgłoszenia odnosi się do kolumny id w tabeli Klienci. Zapytanie SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5; precyzyjnie pobiera kolumny opis i nazwisko z odpowiednich tabel, filtrując wyniki, aby dotyczyły jedynie zgłoszenia o id równym 5. Takie podejście jest zgodne z dobrymi praktykami projektowania relacyjnych baz danych, gdzie separacja danych na tabele pozwala na efektywne zarządzanie związkami między danymi. Korzystając z JOIN, integrujemy te dane w logiczny sposób, co jest fundamentem wydajnych i skalowalnych systemów bazodanowych. Praktyczne zastosowanie tego podejścia można znaleźć w projektowaniu systemów CRM, gdzie dane o klientach i ich zgłoszeniach są regularnie łączone w celu analizy i raportowania.

Pytanie 6

Uprawnienia obiektowe przyznawane użytkownikom serwera bazy danych mogą umożliwiać lub ograniczać

A. realizować operacje na bazie, takie jak wstawianie lub modyfikowanie danych
B. wykonywać polecenia, takie jak tworzenie kopii zapasowej
C. zmieniać role i konta użytkowników
D. przechodzić uprawnienia
Uprawnienia obiektowe w kontekście baz danych pozwalają na kontrolowanie dostępu do różnych zasobów, takich jak tabele, widoki czy procedury składowane. Odpowiedź dotycząca wykonywania operacji na bazie, takich jak wstawianie czy modyfikowanie danych, jest prawidłowa, ponieważ uprawnienia te bezpośrednio wpływają na możliwości użytkownika w zakresie manipulacji danymi. Przykładowo, jeśli użytkownik posiada uprawnienie do INSERT, może dodawać nowe rekordy do tabeli, natomiast uprawnienie UPDATE pozwala na zmianę istniejących danych. Takie zarządzanie uprawnieniami jest kluczowe w kontekście bezpieczeństwa danych oraz zapewnienia integralności systemu, ponieważ pozwala na ograniczenie dostępu tylko do tych operacji, które są niezbędne dla danego użytkownika. W praktyce administratorzy baz danych stosują zasady minimalnych uprawnień, przyznając użytkownikom tylko te uprawnienia, które są niezbędne do wykonywania ich pracy, co jest zgodne z najlepszymi praktykami w zakresie zarządzania bezpieczeństwem baz danych.

Pytanie 7

Którą czynność gwarantującą poprawne wykonanie przedstawionego kodu Java Script, należy wykonać przed pętlą?

var text;
for ( var i = 0; i < tab.length; i++ ) {
  text += tab[i] + "<br>";
}
A. Zadeklarować zmienną i.
B. Sprawdzić czy text j est typu znakowego.
C. Zainicjować zmienną text.
D. Sprawdzić rozmiar tabeli tab.
Wygląda na to, że odpowiedź nie była poprawna. Pozostałe opcje, tj. 'Sprawdzić czy text j est typu znakowego', 'Zadeklarować zmienną i', 'Sprawdzić rozmiar tabeli tab', nie są bezpośrednio związane z poprawnym wykonaniem kodu przedstawionego w pętli. Chociaż wszystkie te działania mogą być istotne w różnych kontekstach programowania, w tym przypadku żadne z nich nie gwarantuje poprawnego wykonania kodu. Deklaracja zmiennej 'i' czy sprawdzenie rozmiaru tabeli 'tab' jest często stosowane w pętlach, jednak nie gwarantują one poprawnego działania kodu w pętli bez odpowiedniego zainicjowania zmiennej 'text'. Zrozumienie tego aspektu jest kluczowe dla efektywnego programowania, zarówno w JavaScript, jak i w innych językach programowania.

Pytanie 8

Element lub zestaw elementów, który jednoznacznie identyfikuje każdy pojedynczy rekord w tabeli bazy danych, nazywamy kluczem

A. podstawowy
B. przestawny
C. obcy
D. inkrementacyjny
Klucz podstawowy (ang. primary key) jest to pole lub zbiór pól w tabeli bazy danych, które jednoznacznie identyfikują każdy row w tej tabeli. Klucz podstawowy nie może zawierać wartości NULL i musi być unikalny dla każdego rekordu, co zapewnia integralność danych w bazie. Przykładem klucza podstawowego może być identyfikator użytkownika w tabeli użytkowników, gdzie każdy użytkownik ma unikalny numer ID. Zgodnie z normami projektowania baz danych, klucz podstawowy powinien być prosty, a jego wartość nie powinna się zmieniać w czasie, aby zachować stabilność odniesień do tego rekordu w innych tabelach. W dobrych praktykach projektowania baz danych dla kluczy podstawowych często stosuje się typy danych takie jak INTEGER z automatycznym inkrementowaniem, co umożliwia wygodne dodawanie nowych rekordów bez ryzyka kolizji wartości. Używanie kluczy podstawowych ułatwia również tworzenie relacji z innymi tabelami, znanych jako klucze obce, co jest fundamentem relacyjnych baz danych.

Pytanie 9

W PHP tablice asocjacyjne to struktury, w których

A. w każdej pozycji tablicy znajduje się inna tablica
B. elementy tablicy są zawsze numerowane od zera
C. są co najmniej dwa wymiary
D. indeks może być dowolnym ciągiem znaków
W przypadku niepoprawnych odpowiedzi, warto zwrócić uwagę na podstawowe koncepcje dotyczące tablic asocjacyjnych. Gdybyśmy uznali, że tablica asocjacyjna musi mieć przynajmniej dwa wymiary, byłoby to niezgodne z definicją, ponieważ tablice asocjacyjne w PHP mogą być jednowymiarowe. W rzeczywistości, tablica asocjacyjna to po prostu kolekcja par klucz-wartość, gdzie klucz może być unikalnym napisem, a wartość może być dowolnym typem danych. Odpowiedź sugerująca, że w każdej komórce tablicy przechowywana jest inna tablica, również jest myląca, ponieważ tablice asocjacyjne mogą przechowywać różne typy danych, a nie tylko inne tablice. Dlatego każde przechowywane dane mogą być różnorodne, co czyni je elastycznym narzędziem. Z kolei stwierdzenie, że elementy tablicy są zawsze indeksowane od liczby równej 0, odnosi się do standardowych tablic numerowanych w PHP, a nie tablic asocjacyjnych, gdzie klucze mogą przybierać różne wartości, a nie tylko liczby. Te nieporozumienia mogą prowadzić do nieefektywnego użycia tablic asocjacyjnych, co w praktyce skutkuje trudnościami w zarządzaniu danymi i ich dostępem. Aby efektywnie korzystać z tablic asocjacyjnych, kluczowe jest zrozumienie ich podstawowych właściwości oraz różnic w porównaniu do tablic numerowanych.

Pytanie 10

Którego ograniczenia (constraint) użyć do zdefiniowania klucza OBCEGO?

A.
FOREIGN KEY(id)
B.
UNIQUE KEY(id)
C.
PRIMARY KEY(id)
D.
AUTO_INCREMENT(id)
Klucz obcy definiuje ograniczenie FOREIGN KEY, np. FOREIGN KEY(id) - wiąże kolumnę z kluczem głównym innej tabeli, pilnując spójności powiązań. Dlatego klucz obcy tworzy FOREIGN KEY(id).

Pytanie 11

Tabela podzespoly ma pola: model, producent, typ, cena. Które zapytanie wyświetli modele pamięci RAM firmy Kingston od najtańszej do najdroższej?

A.
SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC;
B.
SELECT model FROM producent WHERE typ='RAM' OR producent='Kingston' ORDER BY podzespoly ASC;
C.
SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena DESC;
D.
SELECT model FROM podzespoly WHERE typ='RAM' OR producent='Kingston' ORDER BY cena DESC;
Trzeba spełnić oba warunki naraz - typ „RAM” ORAZ producent „Kingston” - więc łączymy je AND, a sortowanie od najtańszej to ORDER BY cena rosnąco (domyślnie, lub ASC). Wybieramy model z tabeli podzespoly. Dlatego ta kwerenda jest poprawna.

Pytanie 12

Jaką funkcję pełni CONCAT w języku SQL?

A. łączy (skleja) teksty w jeden ciąg
B. zwraca podłańcuch z tekstu wejściowego
C. przycina wyświetlany tekst
D. usuwa wskazany fragment tekstu
Pozostałe opisy pasują do innych funkcji tekstowych. Usuwanie lub podmianę fragmentu tekstu realizuje REPLACE. Przycinanie - np. usuwanie spacji z początku i końca - to zadanie TRIM. Wycięcie podłańcucha (fragmentu od pozycji o danej długości) zwraca SUBSTRING. Sklejanie kilku napisów w jeden wykonuje CONCAT, dlatego to ta odpowiedź jest poprawna.

Pytanie 13

Który efekt został zaprezentowany na filmie?

A. Przenikanie zdjęć.
B. Zmiana jasności zdjęć.
C. Zmniejszenie kontrastu zdjęcia.
D. Zwiększenie ostrości zdjęcia.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 14

W wyniku przedstawionego polecenia w tabeli zostanie

ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;
A. zmieniony typ kolumny nazwa2 na DOUBLE
B. dodana kolumna nazwa2 o typie zmiennoprzecinkowym
C. zmieniona kolumna z nazwa1 na nazwa2
D. dodana kolumna nazwa2 z wymuszoną wartością DOUBLE
Analizując pozostałe odpowiedzi, można zauważyć, że nie odzwierciedlają one poprawności działania zapytania SQL. Pierwsza odpowiedź sugeruje zmianę nazwy kolumny, co jest błędnym podejściem, ponieważ użycie klauzuli "ADD" wyraźnie wskazuje na dodanie nowej kolumny, a nie na modyfikację istniejącej. Zmiana nazwy kolumny wymagałaby użycia zapytania "ALTER TABLE ... RENAME COLUMN...", co jest zupełnie inną operacją. Drugie stwierdzenie koncentruje się na zmianie wartości kolumny "nazwa2" na typ DOUBLE, co jest niepoprawne, gdyż zapytanie nie zmienia wartości, a dodaje nową kolumnę. Ostatnia odpowiedź wskazuje na dodanie kolumny z wartością domyślną, co również jest błędne, gdyż w zapytaniu nie określono wartości domyślnej dla nowej kolumny. W rzeczywistości, przy dodawaniu kolumny można również ustawić wartość domyślną, ale nie jest to wymagane. Typowe błędy w myśleniu prowadzące do takich wniosków często wynikają z niepełnego zrozumienia składni SQL i funkcji poszczególnych poleceń. Dlatego istotne jest, aby przed przystąpieniem do modyfikacji struktury bazy danych dobrze zaznajomić się z dokumentacją i zasadami działania systemu zarządzania bazą danych, z którego się korzysta.

Pytanie 15

bool gotowe=true;
cout<<gotowe;
Jakie będzie wyjście w wyniku wykonania podanych poleceń?

A. 1
B. Tak
C. Nie
D. 0
Kiedy wybrałeś, że wynik to '0' lub inną wartość logiczną, mogłeś się pomylić co do działania zmiennych typu bool w C++. Myśląc, że wynik to '0', można sądzić, że zmienna gotowe (z wartością true) nie jest prawidłowo wyświetlana jako liczba. To jest w sumie sprzeczne z tym, co mówi definicja typu bool, bo true i false są pokazywane jako 1 i 0. Myślenie, że 'Tak' lub 'Nie' to dobre odpowiedzi, może wynikać z błędnego założenia, że bool można bardziej skomplikowanie interpretować. W rzeczywistości w C++ nie ma prostego przełożenia bool na tekst; korzystamy z liczbowych odpowiedników. Takie nieporozumienia mogą prowadzić do różnych błędów, zwłaszcza gdy programista nie rozumie podstawowych zasad konwersji typów danych. Ważne jest, żeby programiści wiedzieli, jak różne typy są reprezentowane i konwertowane w języku, bo to ma wpływ na działanie ich programów oraz na interakcje z użytkownikami. Ta wiedza jest kluczowa do tworzenia sprawnych aplikacji i unikania typowych błędów w kodowaniu.

Pytanie 16

Określ rodzaj powiązania pomiędzy tabelami: Tabela1 oraz Tabela3

Ilustracja do pytania
A. Jeden do wielu
B. Wiele do jednego
C. Wiele do wielu
D. Jeden do jednego
Relacja wiele do wielu między tabelami Tabela1 i Tabela3 jest prawidłowym rozwiązaniem, ponieważ relacja ta umożliwia powiązanie wielu rekordów z jednej tabeli z wieloma rekordami z drugiej tabeli. W kontekście przedstawionego schematu baz danych, tabela Tabela1 przechowuje informacje o uczniach, podczas gdy Tabela3 zawiera dane o nauczycielach. Tabela2 pełni rolę tabeli pośredniej, zawierającej klucze obce, które łączą ID_Ucznia z ID_Nauczyciela za pomocą ID_Przedmiotu jako dodatkowego klucza. To podejście jest powszechnie stosowane w projektowaniu baz danych, aby zapewnić elastyczność i możliwość zaawansowanej analizy danych, np. którzy uczniowie mają zajęcia z jakimi nauczycielami. W praktyce takie rozwiązanie stosuje się w systemach edukacyjnych, gdzie każdy uczeń może uczęszczać na zajęcia prowadzone przez różnych nauczycieli, a każdy nauczyciel może prowadzić zajęcia dla wielu uczniów. Standardy projektowania relacyjnych baz danych, takie jak normalizacja, zalecają tego rodzaju architekturę, aby uniknąć redundancji danych i umożliwić efektywne zarządzanie złożonymi relacjami. Tabele pośrednie, takie jak Tabela2, są kluczowym elementem w tworzeniu relacji wiele do wielu, ponieważ umożliwiają mapowanie skomplikowanych powiązań w sposób technicznie poprawny i zrozumiały dla użytkowników systemu.

Pytanie 17

Co chce osiągnąć poniższe zapytanie MySQL?

ALTER TABLE ksiazki
MODIFY tytul VARCHAR(100) NOT NULL;
A. Zmienić nazwę kolumny w tabeli ksiazki
B. Usunąć kolumnę tytul z tabeli ksiazki
C. Zmienić typ kolumny w tabeli ksiazki
D. Dodać do tabeli ksiazki kolumnę tytul
Polecenie SQL ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL; służy do zmiany typu kolumny tytul w tabeli ksiazki. W tym przypadku typ kolumny jest zmieniany na VARCHAR(100), co oznacza, że będzie przechowywać łańcuchy znaków o maksymalnej długości 100 znaków, a dodatkowo kolumna ta nie może przyjmować wartości NULL. Użycie ALTER TABLE i MODIFY pozwala na dynamiczną modyfikację struktury tabeli bez konieczności jej usuwania i ponownego tworzenia, co jest korzystne w dużych systemach bazodanowych, gdzie minimalizacja czasu przestoju jest kluczowa. Praktyczne zastosowanie polecenia MODIFY jest szerokie i obejmuje sytuacje, w których wymagane są zmiany w przechowalności danych, na przykład aby dostosować się do nowych wymagań biznesowych lub normatywnych. Warto pamiętać o dopasowaniu zmian do istniejących danych i zapewnieniu spójności bazy danych, co jest dobrą praktyką w zarządzaniu bazami danych.

Pytanie 18

Jaką relację typu uzyskuje się w wyniku powiązania kluczy głównych dwóch tabel?

A. wiele do jednego
B. jeden do wielu
C. wiele do wielu
D. jeden do jednego
Odpowiedź „jeden do jednego” jest poprawna, ponieważ relacja typu jeden do jednego oznacza, że każdy rekord w jednej tabeli jest powiązany z dokładnie jednym rekordem w drugiej tabeli. Tego rodzaju relacje są często wykorzystywane w sytuacjach, gdzie istnieje potrzeba rozdzielenia danych w celu zwiększenia organizacji lub wydajności, na przykład w przypadku wrażliwych informacji, które są przechowywane oddzielnie od podstawowych danych użytkowników. Praktycznym przykładem może być relacja między tabelą użytkowników a tabelą profili, gdzie każdy użytkownik ma dokładnie jeden profil. W dobrych praktykach projektowania baz danych, takie relacje są stosowane, aby zapewnić integralność danych oraz umożliwić skuteczne zarządzanie informacjami w systemach. Ponadto, stosowanie relacji jeden do jednego może pomóc w optymalizacji zapytań, ponieważ zminimalizowane jest ryzyko duplikacji danych, co przyczynia się do efektywniejszego przetwarzania operacji w bazach danych.

Pytanie 19

Po zrealizowaniu przedstawionego fragmentu kodu w języku C/C++ do zmiennej o nazwie zmienna2 przypisany zostanie

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

Pytanie 20

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

A.
<body style="background-color: yellow;">
B.
<style> body { background-color: yellow; } </style>
C.
body { background-color: yellow; }   (plik .css)
D.
<body bgcolor="yellow">
Kolor tła można w CSS ustawić na trzy sposoby: stylem wewnętrznym w <style>, regułą w zewnętrznym pliku .css albo śródliniowo przez atrybut style. We wszystkich używa się właściwości CSS background-color. Zapis <body bgcolor="yellow"> NIE jest CSS-em - bgcolor to przestarzały atrybut HTML, wycofany na rzecz stylów. Dlatego formatowaniem spoza CSS jest <body bgcolor="yellow">.

Pytanie 21

Który zapis CSS ustawi NIEBIESKIE tło bloku <div>?

A.
div { shadow: blue; }
B.
div { color: blue; }
C.
div { background-color: blue; }
D.
div { border-color: blue; }
Kolor tła elementu ustawia właściwość background-color, więc div { background-color: blue; } daje niebieskie tło bloku <div>. Dlatego poprawny jest ten zapis.

Pytanie 22

Formatowanie CSS dla akapitu określa styl szarej ramki z następującymi właściwościami:

p {
    padding: 15px;
    border: 2px dotted gray;
}
A. Linia ciągła; grubość 2 px; odległości pomiędzy tekstem a ramką 15 px
B. Linia kropkowa; grubość 2 px; odległości pomiędzy tekstem a ramką 15 px
C. Linia ciągła; grubość 2 px; odległości poza ramką 15 px
D. Linia kreskowa; grubość 2 px; odległości poza ramką 15 px
Odpowiedź ta jest prawidłowa, ponieważ w CSS stylizowanie elementu akapitu za pomocą podanego kodu definiuje ramkę o linii kropkowej, grubości 2 pikseli oraz paddingu wynoszącym 15 pikseli. Padding to przestrzeń wewnętrzna pomiędzy zawartością elementu a jego ramką, co oznacza, że tekst w akapicie będzie oddalony od krawędzi ramki o 15 pikseli. Styl ramki 'dotted' jest często używany w projektach webowych, aby stworzyć efekt wizualny, który jest mniej formalny, a zarazem estetyczny. Można go wykorzystać w kontekście wyróżniania ważnych informacji lub sekcji strony, co zwiększa czytelność i przyciąga uwagę użytkowników. Przykładem zastosowania może być sekcja z informacjami o promocjach, gdzie forma wizualna ma na celu przyciągnięcie wzroku. Używając standardów CSS, dobrego podejścia do UX (User Experience) oraz wytycznych W3C, projektanci stron internetowych mogą efektywnie komunikować intencje i priorytety poprzez stylowanie wizualne.

Pytanie 23

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

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

Pytanie 24

W edytorze grafiki rastrowej funkcja „dodaj kanał alfa” umożliwia

A. ustawienie prawidłowego balansu bieli
B. wyostrzenie krawędzi obrazu
C. powiększenie głębi ostrości obrazu
D. wprowadzenie warstwy z przezroczystością
Dodanie kanału alfa w edytorze grafiki rastrowej to w zasadzie otworzenie drzwi do pracy z przezroczystością w obrazie. Kanał alfa jest dodatkową składową pikseli, która oprócz wartości RGB określa też poziom przejrzystości danego fragmentu grafiki. Moim zdaniem, to jeden z kluczowych elementów, jeśli chcesz przygotować grafikę do profesjonalnych zastosowań, np. do webdesignu, gier czy produkcji materiałów do druku z efektem nakładania. Standardowym przykładem jest sytuacja, gdy przygotowujesz logo i zależy Ci, żeby tło było przezroczyste – wtedy bez kanału alfa ani rusz. W praktyce, po dodaniu kanału alfa możesz wymazywać fragmenty lub stosować selektywne przezroczystości, co daje mnóstwo kreatywnych możliwości. To taka podstawa, bez której ciężko wyobrazić sobie pracę z warstwami, maskami czy efektami blendingu. Z mojego doświadczenia, osoby zaczynające pracę z grafiką często nie zdają sobie sprawy, jak ważne jest świadome zarządzanie przezroczystością – a kanał alfa właśnie to umożliwia. Nawet w najpopularniejszych formatach plików, jak PNG, obsługa kanału alfa jest już praktycznie standardem branżowym. Warto też wiedzieć, że w formatach takich jak JPEG tego nie uzyskasz, bo nie obsługują przezroczystości. Tak więc, jeśli planujesz pracę z grafiką wielowarstwową, przygotowywanie sprite’ów czy nowoczesnych UI, kanał alfa to absolutna podstawa, nie tylko bajer.

Pytanie 25

W języku JavaScript zapis w ramce oznacza, że

x = przedmiot.nazwa();
A. nazwa jest cechą obiektu przedmiot
B. zmienna x będzie przechowywać wynik działania funkcji przedmiot
C. zmienna x będzie zawierać wynik działania metody nazwa
D. nazwa jest atrybutem klasy przedmiot
Instrukcja x = przedmiot.nazwa(); w JavaScripcie oznacza wywołanie metody nazwa na obiekcie przedmiot, a do zmiennej x zostaje podstawiony zwrócony wynik. Kluczowe są tu dwa elementy: kropka oraz nawiasy okrągłe. Zapis przedmiot.nazwa bez nawiasów odnosiłby się tylko do samej funkcji (referencji do metody), natomiast dodanie () powoduje jej wykonanie i dopiero rezultat tego wywołania trafia do zmiennej.
W praktyce wygląda to tak: jeśli obiekt przedmiot ma zdefiniowaną metodę nazwa, np. const przedmiot = { nazwa() { return "Monitor"; } }; to po instrukcji x = przedmiot.nazwa(); zmienna x będzie równa tekstowi "Monitor". To jest bardzo typowy wzorzec: obiekt.metoda() zwraca jakąś wartość (string, liczbę, obiekt, tablicę, czasem też undefined), a my ją przechwytujemy do zmiennej, żeby dalej z nią pracować. W dobrych praktykach programistycznych rozdziela się metody, które coś zwracają (tzw. query) od metod, które tylko wykonują akcję (np. zmieniają stan obiektu, ale nic nie zwracają). W tym pytaniu zakładamy, że nazwa zwraca wartość, więc przypisanie do x ma sens. Moim zdaniem warto od początku wyrabiać nawyk czytania takiego kodu: po lewej zmienna, po prawej wyrażenie, które jest obliczane. Najpierw wykonywana jest metoda nazwa(), a dopiero potem wynik trafia do x. Taki schemat pojawia się non stop w realnych projektach frontendowych i backendowych w JS, np. const wynik = koszyk.policzSume(); albo const tytul = dokument.getElementById("id").textContent; – w obu przypadkach zmienna przechowuje rezultat działania metody.

Pytanie 26

Wskaż zapytanie, w którym dane zostały uporządkowane.

A. SELECT DISTINCT produkt, cena FROM artykuly;
B. SELECT nazwisko FROM firma WHERE pensja > 2000 LIMIT 10;
C. SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek;
D. SELECT AVG(ocena) FROM uczniowie WHERE klasa = 2;
Odpowiedź SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek jest poprawna, ponieważ zawiera klauzulę ORDER BY, która jest używana do sortowania wyników zapytania w SQL. W tym przypadku, dane są sortowane według wieku mieszkańców, co pozwala na łatwe zrozumienie rozkładu wiekowego w tej grupie. Klauzula ORDER BY jest standardowym elementem SQL, który może sortować wyniki w porządku rosnącym (ASC) lub malejącym (DESC). Przykładowe zastosowanie to raporty, w których użytkownik chce zobaczyć dane uporządkowane według konkretnego kryterium, np. wiek, cena, data. Dobre praktyki sugerują, aby zawsze jasno definiować, które kolumny mają być używane do sortowania, a także zrozumieć, że sortowanie wpływa na wydajność zapytań, zwłaszcza przy dużych zbiorach danych. W przypadku bardziej złożonych zapytań można także łączyć klauzulę ORDER BY z innymi klauzulami, takimi jak GROUP BY, co zwiększa elastyczność w analizie danych.

Pytanie 27

Wskaź poprawną formę kodowania polskich znaków w pliku HTML?

A. <meta content='UTF8'>
B. <meta charset="UTF-8">
C. <meta char set= "UTF-8">
D. <meta "content=UTF-8">
Odpowiedź <meta charset="UTF-8"> to strzał w dziesiątkę! To zgodny z nowoczesnymi standardami HTML sposób na określenie kodowania znaków w dokumencie. Dzięki temu, że używamy atrybutu 'charset' z wartością 'UTF-8', mówimy przeglądarkom, że tekst powinien być interpretowany według tego kodowania. UTF-8 jest super popularne, bo obsługuje wszystkie znaki w Unicode. To oznacza, że możemy pisać wszystkie polskie znaki diakrytyczne, czyli te jak ą, ć, ę, ł itd., bez obaw o błędy w wyświetlaniu. Jeśli wstawisz ten tag w sekcji <head> swojego dokumentu HTML, masz pewność, że strona będzie dobrze wyglądać w różnych przeglądarkach i na różnych urządzeniach. Dobrze jest umieszczać go na początku sekcji <head>, żeby uniknąć problemów z pokazywaniem treści. Co więcej, korzystanie z UTF-8 jest rekomendowane przez W3C, więc to naprawdę dobry wybór dla nowoczesnych aplikacji webowych.

Pytanie 28

Pętla while ma działać, dopóki zmienna x należy do przedziału otwartego (-2, 5). Który warunek to zapisuje (PHP)?

A.
($x == -2) && ($x < 5)
B.
($x < -2) || ($x > 5)
C.
($x > -2) || ($x > 5)
D.
($x > -2) && ($x < 5)
Przedział otwarty (-2, 5) to liczby WIĘKSZE od -2 i jednocześnie MNIEJSZE od 5, więc warunek to ($x > -2) && ($x < 5) - oba muszą być spełnione naraz, stąd iloczyn logiczny &&. Pętla while działa, dopóki ten warunek jest prawdziwy. Zapamiętaj: przedział otwarty = ostre nierówności (>, <) połączone &&.

Pytanie 29

Według zasad walidacji HTML5, jakie jest prawidłowe użycie znacznika hr?

A. &lt;/hr?&gt;
B. &lt;/ hr /&gt;
C. &lt;/ hr&gt;
D. &lt;hr&gt;
Znacznik <hr> to taki prosty element w HTML5, który robi poziomą linię na stronie. Używa się go często do oddzielania różnych sekcji w tekście, co sprawia, że wszystko wygląda bardziej przejrzyście. Co ciekawe, to znacznik samodzielny, więc nie potrzebuje zamknięcia, a dodatkowo w HTML5 nie musimy dodawać znaku '/' na końcu, co czyni go lżejszym w użyciu. Jak użyjemy <hr>, to przeglądarki wiedzą, co z tym zrobić, a to ważne, żeby strona wyglądała spójnie. Moim zdaniem, świetnie działa w artykułach, bo gdy oddziela różne części, to czytelnik łatwiej się w tym odnajduje. No i nie zapominajmy o dostępności – ludzie, którzy korzystają z technologii wspomagających, też lepiej zrozumieją, co się dzieje na stronie dzięki takim znacznikom.

Pytanie 30

Kanał alfa jest wykorzystywany do określenia

A. jasności oraz kontrastu barw
B. przezroczystości grafiki obiektu
C. podstawowych właściwości obiektu graficznego
D. wybranego fragmentu grafiki obiektu
Kanał alfa w grafice komputerowej odnosi się do przezroczystości obiektów graficznych, co jest kluczowym elementem w zarządzaniu warstwami i efektami wizualnymi. Przezroczystość pozwala na tworzenie złożonych kompozycji, gdzie jeden obiekt może częściowo lub całkowicie ukrywać inny. Funkcja ta jest niezwykle istotna w aplikacjach graficznych, takich jak Photoshop czy GIMP, które obsługują kanały alfa w formatach obrazów takich jak PNG. Umożliwia to projektantom łatwe łączenie zdjęć i grafik, zachowując ich naturalną przezroczystość. W standardzie RGBA, kanał alfa przyjmuje wartości od 0 (pełna przezroczystość) do 255 (pełna nieprzezroczystość), co pozwala na precyzyjne dostosowanie efektów wizualnych. Dobre praktyki sugerują, aby zrozumieć działanie kanału alfa, aby efektywnie zarządzać przezroczystością i wpływać na postrzeganie wizualne w projektach graficznych, co jest szczególnie istotne w branży projektowania interfejsów użytkownika oraz gier komputerowych.

Pytanie 31

$x = 0; while($x < 5) { echo "$x,"; $x++; } Wskaż instrukcję, która jest funkcjonalnie równoważna dla podanej pętli while w języku PHP.

Ilustracja do pytania
A. Instrukcja 2
B. Instrukcja 3
C. Instrukcja 4
D. Instrukcja 1
Instrukcja while w PHP jest pętlą, która kontroluje warunek przed każdą iteracją. W jej przypadku zmienna $x jest początkowo równa 0, a warunek $x < 5 powoduje, że blok kodu wewnątrz pętli wykonuje się dopóki $x jest mniejsze od 5. Za każdym razem, gdy kod wewnątrz pętli się wykonuje, echo wyświetla aktualną wartość zmiennej $x, a następnie $x jest inkrementowane o 1. Instrukcja for, która jest funkcjonalnie równoważna tej pętli while, to taka, która zaczyna się z $x równe 0, kończy na $x mniejszym od 5, i w każdym kroku zwiększa $x o 1, dokładnie tak jak instrukcja 3. Odpowiednia struktura pętli for daje możliwość precyzyjnego określenia wszystkich trzech elementów: inicjalizacji zmiennej, warunku kontynuacji oraz zmiany wartości zmiennej po każdej iteracji, co zapewnia pełną kontrolę nad przebiegiem pętli i transparentność kodu, realizując te same funkcjonalności co pętla while w bardziej kompaktowy sposób. Tego typu podejście jest szeroko stosowane w branży ze względu na swoją czytelność i efektywność, co czyni je zgodnym z dobrymi praktykami programistycznymi.

Pytanie 32

Przedstawiona jest tabela pracownicy, w której umieszczono rekordy widoczne obok. Jaką wartość zwróci wykonanie umieszczonej w ramce kwerendy SQL?

SELECT MAX(pensja) FROM pracownicy WHERE pensja < 3000;
idimienazwiskopensja
1AnnaKowalska3400
2MonikaNowak1300
3EwelinaNowakowska2600
4AnnaPrzybylska4600
5MariaKowal2200
6EwaNowacka5400
A. 2600
B. 1300
C. 5400
D. 2200
Kwerenda SQL SELECT MAX(pensja) FROM pracownicy WHERE pensja < 3000; służy do znalezienia maksymalnej wartości w kolumnie pensja z rekordów spełniających warunek pensja mniejsza niż 3000. Przeszukując tabelę pracownicy widzimy że wartości spełniające ten warunek to 1300 2600 i 2200. Najwyższą z tych wartości jest 2600 co czyni tę odpowiedź poprawną. Zrozumienie tego typu kwerend SQL jest kluczowe w pracy z bazami danych ponieważ pozwala na wyciąganie konkretnych informacji z dużych zbiorów danych. W praktyce takie zapytania mogą być używane do analizowania danych pracowniczych w firmach gdzie na przykład chcemy zidentyfikować pracowników z wynagrodzeniem poniżej określonego progu. Jest to zgodne z dobrymi praktykami w branży gdzie używa się agregacji danych do celów analitycznych. Zrozumienie jak działa funkcja MAX() w połączeniu z klauzulą WHERE umożliwia efektywne filtrowanie i przetwarzanie danych co jest niezbędne w wielu aplikacjach biznesowych.

Pytanie 33

W HTML umieszczono formularz. Jakie skutki działania tego kodu zostaną pokazane przez przeglądarkę, jeśli użytkownik w drugim polu wprowadzi wartość "ala ma kota"?

Ilustracja do pytania
A. Efekt 1
B. Efekt 2
C. Efekt 4
D. Efekt 3
Efekt 2 jest prawidłowy, ponieważ kod HTML używa elementu select do stworzenia listy rozwijanej z trzema opcjami: Kraków, Poznań i Szczecin. Użytkownik może wybrać jedną z tych opcji, co jest standardowym zastosowaniem elementu select w formularzach HTML. Drugim elementem jest pole input typu password które maskuje wpisywany tekst. W formularzach HTML pole typu password jest używane do ukrywania wprowadzanego tekstu co jest szczególnie ważne przy wprowadzaniu danych wrażliwych takich jak hasła. Gdy użytkownik wpisuje hasło widoczne są tylko znaki maskujące często kropki lub gwiazdki co zapewnia prywatność danych. Stosowanie takich elementów jest zgodne z dobrymi praktykami projektowania interfejsów użytkownika w sieci co zwiększa bezpieczeństwo i wygodę użytkowania formularzy. Właściwe korzystanie z elementów HTML jak select i input type=password jest kluczowe w tworzeniu efektywnych i bezpiecznych stron internetowych co jest szczególnie istotne w kontekście e-commerce i aplikacji bankowych.

Pytanie 34

Który typ danych zastosować, aby pole w bazie danych przechowywało liczby zmiennoprzecinkowe?

A.
INT
B.
VARCHAR
C.
CHAR
D.
FLOAT
Liczby zmiennoprzecinkowe (rzeczywiste, z częścią ułamkową) przechowuje w bazie typ FLOAT, np. ceny czy wyniki pomiarów. Dlatego do takich wartości stosuje się FLOAT.

Pytanie 35

Które polecenie nadaje użytkownikowi „uczen” najniższy poziom uprawnień (tylko odczyt, bez zmiany danych i struktury)?

A.
GRANT INSERT, DROP ON szkola.przedmioty TO uczen;
B.
GRANT DROP ON szkola.przedmioty TO uczen;
C.
GRANT ALTER, SELECT ON szkola.przedmioty TO uczen;
D.
GRANT SELECT ON szkola.przedmioty TO uczen;
Pozostałe polecenia nadają uprawnienia znacznie szersze i bardziej ryzykowne. DROP pozwala usuwać obiekty bazy (np. całe tabele), więc to bardzo wysokie uprawnienie. Połączenie INSERT i DROP daje prawo dodawania danych oraz kasowania obiektów - dużo więcej niż sam odczyt. ALTER umożliwia zmianę struktury tabeli (dodawanie/usuwanie kolumn). Najniższy poziom - tylko podgląd danych - zapewnia GRANT SELECT, dlatego ta odpowiedź jest poprawna.

Pytanie 36

Wskaź, która instrukcja jest równoważna z instrukcją switch w języku PHP?

Ilustracja do pytania
A. Instrukcja 3
B. Instrukcja 1
C. Instrukcja 4
D. Instrukcja 2
Instrukcja switch w PHP służy do wykonywania różnych bloków kodu w zależności od wartości wyrażenia. W podanym przykładzie, jeśli zmienna $liczba wynosi 10 lub 20, zostanie zwiększona o 1. W przeciwnym razie $liczba zostanie ustawiona na 0. Instrukcja 2 używa warunku if z operatorem or, który sprawdza, czy $liczba jest równa 10 lub 20, co odpowiada logice w switch. Dzięki temu, mimo że struktura instrukcji if różni się od switch, logika działania jest identyczna. Praktycznie, użycie instrukcji if z operatorem or w takich sytuacjach jest czytelne i wydajne zwłaszcza jeśli mamy do czynienia z ograniczoną liczbą warunków. Warto zauważyć, że switch jest bardziej efektywny, gdy mamy wiele przypadków do sprawdzenia, ale if z operatorami logicznymi jest bardziej elastyczny, co czyni go przydatnym w różnorodnych scenariuszach programistycznych. Dobre praktyki wskazują na wybór struktury kontrolnej w zależności od złożoności i specyfiki problemu, co pozwala na optymalizację czytelności i utrzymania kodu.

Pytanie 37

Wskaż funkcję JavaScript, która umożliwia obliczenie połowy kwadratu liczby podanej jako argument.

A. function wynik(a) { return a*2/2; }
B. function wynik(a) { return a/2+a/2; }
C. function wynik(a) { return 2*a/a; }
D. function wynik(a) { return a*a/2; }
W analizie niepoprawnych odpowiedzi można zauważyć kilka typowych pomyłek, które prowadzą do błędnych obliczeń. Pierwsza z odpowiedzi, 'function wynik(a) { return a/2+a/2; }', jest myląca, ponieważ ta funkcja w rzeczywistości wykonuje dodawanie dwóch połówek liczby, co prowadzi do uzyskania wartości równiej 'a', a nie połowy kwadratu. W ten sposób nie realizuje postawionego celu. Druga propozycja, 'function wynik(a) { return a*2/2; }', również nie przynosi oczekiwanego rezultatu. Ta funkcja najpierw mnoży 'a' przez 2, a następnie dzieli przez 2, co ponownie prowadzi do wartości równej 'a'. Takie podejście jest nieefektywne i nie spełnia wymogów zadania. Kolejna odpowiedź, 'function wynik(a) { return 2*a/a; }', jest całkowicie błędna, ponieważ ta funkcja po prostu zwraca wartość 2, niezależnie od wartości 'a', co jest niezgodne z definicją obliczania połowy kwadratu liczby. W każdym z przypadków dostrzegamy brak zrozumienia podstawowych operacji arytmetycznych oraz ich zastosowania w kontekście funkcji. Typowym błędem jest skupienie się na manipulacji wartością 'a', zamiast zrozumienia, że celem jest obliczenie kwadratu tej liczby, a następnie podzielenie wyniku przez 2, co jest kluczowym elementem zadania.

Pytanie 38

Podaj polecenie SQL, które pozwoli na dodanie kolumny miesiacSiewu do tabeli rośliny znajdującej się w bazie danych

A. INSERT INTO rośliny VALUES (miesiacSiewu int);
B. CREATE TABLE rośliny {miesiacSiewu int};
C. ALTER TABLE rośliny ADD miesiacSiewu int;
D. UPDATE rośliny ADD miesiacSiewu int;
Odpowiedź 'ALTER TABLE rośliny ADD miesiacSiewu int;' jest jak najbardziej na miejscu. Używasz tutaj komendy SQL 'ALTER TABLE', co jest standardem, jeśli chcesz coś zmienić w już istniejącej tabeli. W tym przypadku dodajesz nowe pole 'miesiacSiewu' w formacie 'int' do tabeli 'rośliny'. Fajnie, bo dodawanie kolumn w relacyjnych bazach danych to chleb powszedni, zwłaszcza gdy musisz dodać nowe informacje. Na przykład, jak chcesz wiedzieć, kiedy siać rośliny, to zrobienie tego przy pomocy tej komendy pozwoli Ci trzymać te dane blisko innych szczegółów roślin. Warto też pamiętać, żeby nowe kolumny były dobrze indeksowane lub miały jakieś wartości domyślne, bo to może przyspieszyć zapytania do bazy. Tego typu operacje są naprawdę ważne w zarządzaniu bazami danych, bo dają Ci elastyczność, żeby dostosować strukturę bazy do potrzeb Twojej aplikacji.

Pytanie 39

Aby skutecznie zrealizować algorytm znajdujący największą wartość spośród trzech podanych liczb a, b oraz c, wystarczy zastosować

A. dwie tablice
B. pięć zmiennych
C. jedną pętlę
D. dwa warunki
Aby znaleźć największą z trzech liczb a, b i c, stosując dwa warunki, można wykorzystać porównania. Pierwszym krokiem jest porównanie a i b, aby ustalić, która z tych liczb jest większa. Następnie porównujemy wynik z c. To podejście jest efektywne, ponieważ wymaga jedynie dwóch porównań (warunków) do określenia największej liczby z trzech. Taka metoda jest nie tylko prosta, ale również zgodna z dobrymi praktykami programowania, które stawiają na wydajność i czytelność kodu. Przykładowy kod w języku Python może wyglądać następująco:

python
max_value = a
if b > max_value:
max_value = b
if c > max_value:
max_value = c


Warto zwrócić uwagę, że bardziej złożone metody, takie jak stosowanie pętli czy tablic, są niepotrzebne w tym przypadku i mogą wprowadzać niepotrzebną złożoność do kodu. W codziennym programowaniu dążymy do minimalizowania liczby operacji, aby zwiększyć wydajność, szczególnie w sytuacjach, gdy mamy ograniczone zasoby obliczeniowe. Ponadto, rozważając stosowanie algorytmów, które można łatwo zrozumieć, wspieramy przyszłą konserwację i rozwój oprogramowania.

Pytanie 40

W CSS, poniższy zapis spowoduje, że czerwony kolor zostanie zastosowany do

h1::first-letter {color:red;}
A. pierwsza litera nagłówka drugiego poziomu
B. pierwsza linia akapitu
C. pierwsza litera nagłówka pierwszego poziomu
D. tekst nagłówka pierwszego poziomu
Wiesz, użycie selektora CSS ::first-letter w połączeniu z stylem h1 to fajny sposób na zmianę wyglądu pierwszej litery w nagłówku. Kiedy używasz tego, kolor czerwony sprawi, że ta litera będzie się wyróżniać, co jest super, zwłaszcza w przypadku nagłówków czy akapitów. To technika, którą często stosuje się w projektowaniu stron, żeby nadać im trochę typograficznego stylu, jak w książkach z dużymi inicjałami. Ale pamiętaj, że ten selektor działa tylko z blokowymi elementami, takimi jak <p> czy <h1>, więc jeżeli spróbujesz zastosować go z elementami liniowymi, to niestety efekty nie będą takie, jak się spodziewasz. Zawsze warto też mieć na uwadze standardy W3C, bo one pomagają w tworzeniu dostępnych stron. No i ten selektor jest częścią specyfikacji CSS Pseudo-Elements Level 3, więc przeglądarki go dobrze wspierają. Zrozumienie, jak i kiedy stosować takie selektory, to klucz do tworzenia nowoczesnych stron.