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: 28 kwietnia 2026 14:22
  • Data zakończenia: 28 kwietnia 2026 14:32

Egzamin niezdany

Wynik: 19/40 punktów (47,5%)

Wymagane minimum: 20 punktów (50%)

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

Który efekt został zaprezentowany na filmie?

A. Przenikanie zdjęć.
B. Zmiana jasności zdjęć.
C. Zwiększenie ostrości zdjęcia.
D. Zmniejszenie kontrastu 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 2

Aby przekształcić tekst "ala ma psa" na "ALA MA PSA", konieczne jest zastosowanie funkcji w PHP

A. ucfirst('ala ma psa')
B. strstr('ala ma psa')
C. strtolower('ala ma psa')
D. strtoupper('ala ma psa')
Funkcja strtoupper() w PHP jest naprawdę przydatna do zamiany wszystkich liter w danym ciągu znaków na wielkie litery. Na przykład, kiedy mamy tekst 'ala ma psa' i użyjemy strtoupper('ala ma psa'), to dostaniemy 'ALA MA PSA'. To bardzo fajny trik, zwłaszcza gdy musimy ujednolicić format tekstu, na przykład jak ktoś wprowadza dane w różny sposób. Moim zdaniem, to jest ważne, bo różnice w wielkości liter mogą zepsuć nasze porównania. Weźmy pod uwagę sytuację, gdy użytkownik wpisuje różne rzeczy i chcemy, żeby wszystko było w jednym formacie przed dalszym przetwarzaniem, np. w bazach danych. To dobra funkcja, bo działa z różnymi zestawami znaków, więc jest świetnym narzędziem w PHP, nie tylko w aplikacjach webowych, ale też przy przetwarzaniu tekstów.

Pytanie 3

W języku JavaScript rezultat działania instrukcji zmienna1 –= 1; będzie identyczny jak wynik instrukcji

A. zmienna1––;
B. zmienia1 = zmienna1 - 0;
C. zmienna1 === zmienna1 - 1;
D. zmienna1++;
W analizowanych odpowiedziach pojawiają się różne nieprawidłowe koncepcje. Pierwsza z nich, 'zmienna1 === zmienna1 - 1;', jest błędna, ponieważ porównuje dwie wartości, a nie aktualizuje zmiennej. Ten zapis stwierdza, czy 'zmienna1' jest równa 'zmienna1 - 1', co nie ma związku z dekrementacją, a jedynie sprawdza warunek. Kolejna odpowiedź, 'zmienna1++;', jest również niepoprawna. Operator '++' to operator inkrementacji, który zwiększa wartość zmiennej o 1, a więc całkowicie zaprzecza intencji dekrementacji. Zastosowanie tego operatora zamiast dekrementacji prowadziłoby do zwiększenia wartości 'zmienna1', co jest sprzeczne z założeniem pytania. Ostatnia odpowiedź, 'zmienia1 = zmienna1 - 0;', jest błędna z dwóch powodów: użycie 'zmienia1' sugeruje błąd typograficzny, a sama operacja 'zmienna1 - 0' nie wpłynie na wartość zmiennej, co jest niezgodne z zamiarem jej obniżenia. Powszechnym błędem w programowaniu jest mylenie operatorów oraz nieznajomość ich właściwości, co może prowadzić do poważnych błędów w kodzie. Właściwe rozumienie funkcji operatorów przypisania oraz ich skróconych form jest kluczowe dla efektywnego programowania w JavaScript.

Pytanie 4

W tabeli pracownicy utworzono klucz główny typu INTEGER z atrybutami NOT NULL oraz AUTO-INCREMENT. Dodatkowo zdefiniowano pola imie oraz nazwisko. W przypadku użycia przedstawionej w ramce kwerendy SQL wprowadzającej dane, gdzie pominięto pole klucza, w bazie danych MySQL dojdzie do

Ilustracja do pytania
A. błędu związane z nieprawidłową liczbą pól
B. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
C. zignorowania polecenia, tabela nie ulegnie zmianie
D. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
Często spotykanym błędem przy korzystaniu z baz danych jest nieprawidłowe zrozumienie działania kluczy głównych, szczególnie gdy zastosowany jest atrybut AUTO-INCREMENT. W przypadku kwestionowanego pytania niektórzy mogą błędnie sądzić, że pominięcie pola klucza głównego podczas wstawiania rekordu spowoduje błąd nieprawidłowej liczby pól lub że tabela pozostanie bez zmian. W rzeczywistości, MySQL z atrybutem AUTO-INCREMENT automatycznie przypisuje kolejną dostępną wartość do klucza głównego, co zapobiega takim problemom. Niektórzy mogą myśleć, że w wyniku niepełnego zapytania pole klucza otrzyma wartość NULL, jednak dzięki atrybutowi NOT NULL, który jest zazwyczaj powiązany z kluczem głównym, taka sytuacja również nie wystąpi. Klucz główny ma za zadanie zapewniać unikalność rekordów, a wartość NULL przeczyłaby tej zasadzie. Dlatego zrozumienie tych mechanizmów jest kluczowe dla efektywnego zarządzania danymi w relacyjnych bazach danych. Warto także pamiętać, że mechanizm AUTO-INCREMENT jest szeroko stosowany jako standardowa praktyka pozwalająca na automatyczne i bezpieczne zarządzanie unikalnymi identyfikatorami w bazach danych, co jest niezastąpione w wielu realnych aplikacjach i systemach IT. Takie podejście minimalizuje manualne błędy i wspiera integralność danych, co jest kluczowym aspektem pracy z systemami zarządzania bazami danych.

Pytanie 5

Aby utworzyć styl strony responsywnej dla ekranów o szerokości od 600 px do 800 px należy zastosować regułę CSS

A. @media screen (min-width: 800px) and (max-width: 600px){/*style css*/}
B. @media screen and (max-width: 800px) and (min-width: 600px){/*style css*/}
C. @media (min-width: 800px){/*style css*/}
D. @media (max-width: 800px) (min-width: 600px){/*style css*/}
W tym zadaniu cała trudność kręci się wokół poprawnego zapisania media queries i zrozumienia, jak działają warunki min-width oraz max-width. Wiele osób intuicyjnie czuje, o co chodzi z responsywnością, ale potyka się na szczegółach składni, a przeglądarka niestety jest bardzo „zero-jedynkowa” i najmniejszy błąd powoduje, że reguła po prostu nie zadziała. Jedno z podejść polega na użyciu tylko min-width, np. @media (min-width: 800px){...}. Taki zapis oznacza jednak: stosuj te style dla szerokości 800 px i większych, czyli w górę, bez żadnej górnej granicy. To jest typowy breakpoint dla większych ekranów, np. laptopów, a nie dla przedziału 600–800 px. To nie jest logicznie to, o co chodziło w pytaniu, bo nie ma tu żadnego ograniczenia od góry. Inny typ błędu to próba połączenia max-width i min-width bez słowa and, jak w @media (max-width: 800px) (min-width: 600px){...}. Taka składnia jest po prostu niepoprawna z punktu widzenia specyfikacji CSS – między warunkami musi wystąpić operator logiczny and, not lub only. Bez tego parser traktuje zapis jako błąd, więc reguła zostanie zignorowana. Kolejna pułapka to pomieszanie kolejności i logiki warunków, np. @media screen (min-width: 800px) and (max-width: 600px){...}. Tutaj po pierwsze brakuje and po słowie screen, więc typ medium nie jest poprawnie połączony z warunkami, a po drugie zakres jest nielogiczny: min-width: 800px i max-width: 600px tworzą zestaw warunków, którego żaden ekran nie spełni, bo nie może mieć jednocześnie szerokości co najmniej 800 px i maksymalnie 600 px. W praktyce oznacza to media query, które nigdy się nie aktywuje. To zresztą typowy błąd: ktoś zna pojęcia min i max, ale nie zastanawia się nad realnym przedziałem wartości. Dobra praktyka w responsywnym projektowaniu to zawsze sprawdzić: czy zakres ma sens matematyczny, czy składnia zawiera wszystkie konieczne słowa kluczowe (screen, and), oraz czy zapis jest spójny z resztą kodu. Wtedy media queries stają się przewidywalne i łatwiejsze do debugowania w narzędziach deweloperskich przeglądarki.

Pytanie 6

Baza danych szkoły podstawowej dla dzieci w wieku 6 lat obejmuje tabelę szkoła, która zawiera kolumny: imie, nazwisko, klasa. Wszyscy uczniowie w klasach od 1 do 5 przeszli do wyższej klasy. W celu zwiększenia wartości w kolumnie klasa o 1, należy wykonać następujące polecenie

A. SELECT szkoła FROM klasa = klasa + 1 WHERE klasa >=1 AND klasa <= 5
B. UPDATE nazwisko, imie SET klasa = klasa + 1 WHERE klasa>l OR klasa < 5
C. UPDATE szkoła SET klasa = klasa + 1 WHERE klasa >=1 AND klasa <= 5
D. SELECT nazwisko, imie FROM klasa = klasa + 1 WHERE klasa>l OR klasa < 5
Poprawne polecenie to 'UPDATE szkoła SET klasa = klasa + 1 WHERE klasa >=1 AND klasa <= 5;'. To zapytanie aktualizuje wartość w kolumnie 'klasa' dla wszystkich uczniów w tabeli 'szkoła', których aktualny poziom klasy mieści się w zakresie od 1 do 5. Kluczowym elementem jest użycie polecenia UPDATE, które jest standardowym sposobem na modyfikowanie danych w bazach danych SQL. Oznaczenie 'SET klasa = klasa + 1' wskazuje, że chcemy zwiększyć obecną wartość w kolumnie 'klasa' o 1. Warto zwrócić uwagę na warunek WHERE, który filtruje rekordy tak, aby aktualizacja dotyczyła tylko tych uczniów, którzy są w klasach 1-5. Tego rodzaju operacje są powszechnie stosowane w zarządzaniu danymi w aplikacjach edukacyjnych i są zgodne z praktykami bezpieczeństwa i integralności danych, zapewniając, że tylko odpowiednie rekordy są aktualizowane. Przykładem praktycznego zastosowania może być coroczna aktualizacja klas uczniów po zakończeniu roku szkolnego.

Pytanie 7

Zamieszczone zapytanie SQL przyznaje prawo SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. do wszystkich tabel w bazie hurtownia
B. dla użytkownika root na serwerze localhost
C. do wszystkich kolumn w tabeli hurtownia
D. dla użytkownika root na serwerze sprzedawca
Polecenie GRANT SELECT ON hurtownia.* TO sprzedawca@localhost; nadaje prawo SELECT dla wszystkich tabel w bazie danych o nazwie hurtownia. Symbol * po nazwie bazy oznacza, że uprawnienia dotyczą wszystkich tabel w tej bazie. Jest to popularny sposób przyznawania uprawnień w systemach zarządzania bazami danych takich jak MySQL. Prawidłowe zarządzanie uprawnieniami jest kluczowe w zapewnieniu bezpieczeństwa i efektywności pracy z bazami danych. Przyznanie prawa SELECT oznacza, że użytkownik sprzedawca może odczytywać dane, co jest często stosowane w przypadku użytkowników, którzy potrzebują dostępu do raportów lub analiz. Zgodnie z dobrymi praktykami warto przyznawać minimalny poziom uprawnień niezbędny do wykonywania określonych zadań co chroni przed nieautoryzowanym dostępem lub modyfikacją danych. Przyznając uprawnienia warto także monitorować logi dostępu w celu wykrywania potencjalnych nieprawidłowości. Również istotne jest aby użytkownik localhost miał dostęp tylko z lokalnego serwera co ogranicza ryzyko zdalnych ataków.

Pytanie 8

ALTER TABLE transport MODIFY COLUMN rok_produkcji INT;
Wykonanie powyższej kwerendy SQL w bazie MySQL spowoduje:
A. utworzenie tabeli transport zawierającej kolumnę rok_produkcji.
B. dodanie kolumny rok_produkcji typu INT w tabeli transport.
C. zmianę typu danych w kolumnie rok_produkcji na INT.
D. usunięcie kolumny rok_produkcji w tabeli transport.
Zapytanie `ALTER TABLE transport MODIFY COLUMN rok_produkcji INT;` operuje na już istniejącej tabeli i istniejącej kolumnie. Kluczowe są tu dwa słowa: ALTER TABLE oraz MODIFY COLUMN. ALTER TABLE oznacza modyfikację struktury tabeli, a nie jej tworzenie ani usuwanie. To polecenie zakłada, że tabela `transport` już jest w bazie. Dlatego interpretacja, że ta komenda tworzy tabelę, wynika często z mylenia jej z `CREATE TABLE`, które faktycznie służy do zakładania nowych tabel z określoną listą kolumn i ich typów. Podobnie jest z samą kolumną. MODIFY COLUMN nie usuwa kolumny – do tego służy `DROP COLUMN`. Usunięcie kolumny polega na całkowitym pozbyciu się jej definicji i wszystkich przechowywanych tam danych. Tutaj nic takiego się nie dzieje. Kolumna `rok_produkcji` dalej istnieje, tylko jej definicja jest zmieniana. Typowy błąd myślowy polega na tym, że ktoś widzi słowo MODIFY i kojarzy je z „przebudowaniem” kolumny, czasem nawet z jej zamianą na nową. W rzeczywistości MySQL po prostu aktualizuje metadane kolumny w strukturze tabeli, a dane – w miarę możliwości – konwertuje do nowego typu. Kolejna myląca kwestia to dodawanie kolumn. Do tego służy `ADD COLUMN`, np. `ALTER TABLE transport ADD COLUMN rok_produkcji INT;`. Tylko taka forma faktycznie tworzy nową kolumnę w tabeli. W podanym poleceniu nie ma słowa ADD, więc zakładanie, że kolumna zostanie dodana, jest po prostu niezgodne ze składnią SQL. Moim zdaniem te pomyłki biorą się głównie z powierzchownego kojarzenia słów kluczowych, bez dokładnego przeczytania dokumentacji. W pracy z bazami danych warto wyrobić sobie nawyk rozróżniania: CREATE – tworzy, ALTER – zmienia, DROP – usuwa, a wewnątrz ALTER: ADD – dodaje element struktury, MODIFY/ALTER COLUMN – zmienia istniejący element, DROP COLUMN – usuwa go. Takie jasne mapowanie poleceń na ich skutki bardzo ułatwia później bezpieczne modyfikowanie schematu bazy, zwłaszcza na systemach produkcyjnych, gdzie każdy błąd w DDL może mieć realne konsekwencje dla danych.

Pytanie 9

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

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

Pytanie 10

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

A. <meta "content=UTF-8">
B. <meta charset="UTF-8">
C. <meta char set= "UTF-8">
D. <meta content='UTF8'>
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 11

W języku JavaScript zdefiniowano obiekt. Aby uzyskać wartość atrybutu, można użyć następującego zapisu:

obiekt = { q: 1, w: 2, e: 3, r:4 };
A. obiekt.w
B. obiekt:w
C. obiekt->w
D. obiekt::w
Odpowiedź 'obiekt.w' jest prawidłowa, ponieważ w JavaScript używamy notacji kropkowej do uzyskiwania dostępu do właściwości obiektów. W tym przypadku mamy obiekt zadeklarowany jako 'obiekt = { q: 1, w: 2, e: 3, r:4 };'. Aby uzyskać wartość przypisaną do właściwości 'w', wystarczy użyć notacji kropkowej i napisać 'obiekt.w', co zwróci wartość '2'. Tego typu dostęp do danych jest standardem w JavaScript i jest szeroko stosowany w projektach, co pozwala na efektywne i czytelne manipulowanie danymi. Przykładowo, możemy użyć tej techniki w funkcjach, które przetwarzają obiekty lub w kodzie, który reaguje na zdarzenia, gdzie często zachodzi potrzeba uzyskania konkretnych wartości z obiektów. Dobrą praktyką jest również używanie notacji kropkowej, gdy właściwości obiektu mają znane i stabilne nazwy, co zwiększa czytelność kodu.

Pytanie 12

W języku JavaScript, aby zmienić wartość atrybutu elementu HTML, po uzyskaniu obiektu za pomocą metody getElementById, należy zastosować

A. metodę getAttribute
B. metodę setAttribute
C. pole innerHTML
D. pole attribute i podać nazwę atrybutu
Wybór innych metod lub pól do zmiany wartości atrybutów w elementach HTML wskazuje na pewne nieporozumienia dotyczące sposobu działania DOM w JavaScript. Metoda getAttribute służy do odczytywania wartości atrybutu, a nie do jego modyfikacji. Użytkownik może mylnie sądzić, że wystarczy odczytać wartość atrybutu, aby następnie ją zmienić, co jest błędne. Podobnie, pole innerHTML jest używane do manipulacji zawartością wewnętrzną elementu, a nie bezpośrednio do zmiany atrybutów. Umożliwia to wstawienie lub zmianę HTML w obrębie elementu, ale nie wpływa na atrybuty, co może prowadzić do niezamierzonych efektów, takich jak utrata istniejących atrybutów. W przypadku, gdy ktoś zdecyduje się użyć pola attribute, wprowadza zamieszanie, ponieważ nie istnieje takie pole w standardowym obiekcie DOM. Dlatego kluczowe jest zrozumienie różnicy pomiędzy odczytem a zapisem atrybutów, co jest fundamentalne dla efektywnego programowania w JavaScript. Aby uniknąć typowych błędów, programiści powinni skupić się na wykorzystaniu właściwych metod i narzędzi, co zapewni prawidłowe zarządzanie atrybutami w dokumentach HTML.

Pytanie 13

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

Ilustracja do pytania
A. SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy ON Studenci.id = Zapisy.idStudenta;
B. SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idStudenta WHERE grupa = 15;
C. SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idZajecia WHERE grupa = 15;
D. SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy WHERE grupa= 15;
Wśród proponowanych rozwiązań pojawiają się charakterystyczne błędy, często spotykane przy pierwszych próbach pracy z relacyjnymi bazami danych. Bardzo łatwo jest pomylić się na etapie łączenia tabel, zwłaszcza gdy nie do końca rozumie się, jak działa klucz główny i obcy w praktyce. Jeden z typowych problemów polega na pominięciu warunku określającego, w jaki sposób tabele mają być połączone – wtedy system bazodanowy tworzy tzw. iloczyn kartezjański, czyli paruje każdy rekord z jednej tabeli z każdym z drugiej, co zwykle daje absurdalnie dużo wyników i nie ma nic wspólnego z rzeczywistością. Popularny błąd to też użycie niewłaściwych pól do łączenia – np. próba połączenia idStudenta z idZajecia, które są ze sobą kompletnie niepowiązane, bo reprezentują dwa różne byty. Z mojego doświadczenia wynika, że często myli się pole id w tabeli Studenci z polem idZajecia w tabeli Zapisy – to są zupełnie inne klucze i nie mają prawa się zgadzać. Inna pułapka pojawia się, gdy zapomni się o warunku WHERE filtrującym po konkretnej grupie, przez co wynik zawiera dane wszystkich studentów, a nie tylko tych z interesującej nas grupy. Trzeba też pamiętać, że poprawna kolejność oraz jawne stosowanie JOIN z warunkiem ON to nie tylko kwestia składni, ale i wydajności oraz czytelności kodu. Warto mocno utrwalić sobie, że łączenie przez JOIN i jasno określony warunek ON to podstawa dobrej praktyki i niemal zawsze sprawdza się przy pracy z większymi, złożonymi bazami danych – zupełnie inaczej niż domyślne, niejawne łączenia czy łączenie po złych polach.

Pytanie 14

Który z poniższych kodów HTML najlepiej ilustruje opisaną tabelę? (Obramowanie tabeli oraz komórek zostało pominięte dla uproszczenia)

Ilustracja do pytania
A. Odpowiedź A
B. Odpowiedź D
C. Odpowiedź B
D. Odpowiedź C
Pozostałe opcje zawierają błędy w użyciu atrybutów colspan i rowspan co prowadzi do nieprawidłowego odwzorowania struktury tabeli. W opcji A dane są przedstawione bez użycia rowspan co powoduje że każda informacja znajdowałaby się w osobnym wierszu nie łącząc kolumny Telefony co jest sprzeczne z przedstawionym stylem w pytaniu. To może prowadzić do dezorganizacji danych i braku przejrzystości. W przypadku opcji C zastosowanie colspan na ostatniej komórce jest błędne ponieważ rozszerza komórkę na dwie kolumny co nie jest zgodne z prezentowaną strukturą gdzie dane są ułożone w dwóch wierszach pod jednym nagłówkiem. Opcja D również błędnie używa colspan przy nagłówku Telefony co powoduje że dane nie są przedstawiane w logicznym układzie ukazującym że jedna kolumna powinna obejmować dwie komórki z telefonami. Takie błędy w strukturze tabeli mogą prowadzić do problemów z użytecznością i dostępnością strony internetowej ponieważ użytkownicy mogą mieć trudności z odnalezieniem i zrozumieniem prezentowanych informacji. Problemem jest również brak semantyczności co jest kluczowe dla SEO i dostępności dla osób korzystających z czytników ekranu. Dlatego ważne jest prawidłowe użycie atrybutów strukturalnych w HTML aby zapewnić dostępność i poprawne wyświetlanie treści na różnych urządzeniach i przeglądarkach co jest kluczowe w nowoczesnym projektowaniu stron internetowych. Dobre praktyki projektowania stron internetowych zalecają również używanie HTML w sposób semantyczny co pomaga w tworzeniu bardziej czytelnych i dostępnych dokumentów. Poprawne użycie atrybutów takich jak rowspan i colspan jest kluczowe w osiągnięciu tych celów i uniknięciu nieporozumień i błędów w prezentacji danych na stronach internetowych. Ułatwia to również utrzymanie i aktualizację kodu w przyszłości oraz zwiększa ogólną jakość i dostępność strony internetowej.

Pytanie 15

W tabeli psy znajdują się kolumny: imie, rasa, telefon_wlasciciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby uzyskać numery telefonów właścicieli psów, które były szczepione przed rokiem 2015?

A. SELECT psy FROM rok_szczepienia < 2015
B. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia > 2015
C. SELECT imie, rasa FROM psy WHERE rok_szczepienia > 2015
D. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015
Wybór odpowiedzi 'SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015' jest poprawny, ponieważ spełnia wszystkie kryteria zawarte w pytaniu. Kluczowym elementem jest zastosowanie klauzuli WHERE, która filtruje wyniki do tych, gdzie rok szczepienia jest mniejszy niż 2015. Używając SELECT, wybieramy tylko kolumnę 'telefon_wlasciciela', co odpowiada na konkretną potrzebę, jaką jest uzyskanie numerów telefonów właścicieli psów, które były szczepione przed określoną datą. W praktyce, takie zapytanie może być użyteczne w sytuacjach np. przypominania właścicielom o konieczności szczepień, co wpisuje się w szerszy kontekst zarządzania zdrowiem zwierząt. Dobre praktyki w SQL obejmują również staranność przy określaniu warunków filtracji, aby zminimalizować ryzyko błędnych wyników. Warto także pamiętać o indeksowaniu kolumn w bazie danych, co może przyspieszyć wykonywanie takich zapytań, zwłaszcza w dużych zbiorach danych.

Pytanie 16

W SQL, aby usunąć wszystkie rekordy z tabeli, ale zachować jej strukturę, należy użyć polecenia:

A. DELETE FROM
B. DROP TABLE
C. REMOVE
D. TRUNCATE
Istnieje kilka nieporozumień związanych z usuwaniem danych z tabel SQL, co może prowadzić do błędów. Polecenie <code>DROP TABLE</code> jest często mylone z <code>DELETE FROM</code>. Jednak <code>DROP TABLE</code> usuwa zarówno dane, jak i strukturę tabeli, co oznacza, że po jego użyciu nie będzie można odzyskać tabeli bez jej ponownego stworzenia. To polecenie jest destrukcyjne i powinno być używane tylko wtedy, gdy mamy pewność, że tabela nie jest już potrzebna. Z kolei <code>REMOVE</code> nie jest poprawnym poleceniem SQL. To może wynikać z mylnego przekonania, że istnieje takie polecenie w języku SQL, jednak w rzeczywistości nie jest ono częścią standardu SQL. Tego typu błędy wynikają często z nieznajomości składni SQL lub mylenia z innymi językami programowania, które mogą mieć podobne polecenia. Na koniec, <code>ERASE TABLE</code> również nie jest poprawnym poleceniem SQL. Może to być wynikiem intuicyjnego podejścia do nazewnictwa poleceń, ale w rzeczywistości SQL posługuje się innymi komendami. Kluczowe jest, by dobrze zrozumieć standardy języka SQL i znać właściwe polecenia dla zamierzonych operacji, aby uniknąć potencjalnie destrukcyjnych działań na bazie danych.

Pytanie 17

Podaj definicję metody, którą trzeba umieścić w miejscu kropek, aby na stronie WWW pojawił się tekst: Jan Kowalski

Ilustracja do pytania
A. A
B. D
C. B
D. C
Pozostałe odpowiedzi zawierają błędy związane z niepoprawnym użyciem kontekstu this lub niekompletną definicją funkcji. W opcji B metoda dane została zdefiniowana jako funkcja globalna, co powoduje, że this nie odnosi się do obiektu osoba, ale do obiektu globalnego, co uniemożliwia poprawne odwołanie się do właściwości imie i nazwisko. To prowadzi do błędnych lub niezdefiniowanych wyników, ponieważ this w tym kontekście nie zawiera oczekiwanych właściwości. Opcja C nie używa słowa kluczowego this, co oznacza, że zmienne imie i nazwisko są traktowane jako zmienne globalne, a nie właściwości obiektu osoba. Jeżeli takie zmienne globalne nie istnieją, powoduje to błąd w wykonaniu, ponieważ kod próbuje odwołać się do niezdefiniowanych zmiennych. W opcji D użycie funkcji bez return powoduje, że metoda dane nie zwraca żadnej wartości, co skutkuje przypisaniem undefined do innerHTML, co jest oczywistym błędem w kontekście oczekiwanego wyświetlenia tekstu. Wszystkie te błędne podejścia wynikają z niepoprawnego zarządzania kontekstem obiektowym w JavaScript, co podkreśla znaczenie zrozumienia wiązania dynamicznego słowa kluczowego this i dobrych praktyk w projektowaniu metod obiektowych w JavaScript. Kluczowym aspektem jest zapewnienie, że metody mają dostęp do właściwości obiektu, w ramach którego zostały zdefiniowane, co jest osiągane przez poprawne użycie this w kontekście metody wewnętrznej obiektu.

Pytanie 18

W stylu CSS utworzono klasę uzytkownik. Na stronie będą wyświetlane czcionką w kolorze niebieskim: p.uzytkownik { color: blue; }

A. jedynie elementy tekstowe takie jak <p>, <h1>.
B. wszystkie akapity.
C. akapitów, którym przypisano klasę uzytkownik.
D. wszystkie elementy w sekcji <body> z przypisaną klasą uzytkownik.
Odpowiedź, że paragrafy przypisane do klasy 'uzytkownik' będą miały niebieską czcionkę, jest jak najbardziej trafna. W CSS używamy kropki, żeby zdefiniować klasę, co oznacza, że styl dotyczy tylko tych elementów HTML, które mają tę klasę. Więc jeśli masz coś takiego w HTML jak <p class='uzytkownik'>, to na pewno będzie to wyświetlane z niebieską czcionką, zgodnie z Twoją regułą CSS. Takie podejście super wspiera modularność i możliwość ponownego użycia kodu, co jest naprawdę ważne w tworzeniu stron. Dzięki klasom CSS łatwo da się ogarnąć styl w różnych miejscach w kodzie, a zmieniając kolor czcionki w pliku CSS, zmiana ta natychmiast zaktualizuje wszystkie elementy z tą klasą. Przykładowo, akapit <p class='uzytkownik'> będzie miał niebieski kolor i to fajnie wpływa na spójność wizualną strony. Pamiętaj też, że klasy CSS można stosować nie tylko do akapitów, ale też do innych znaczników, co daje większą swobodę w stylizacji treści.

Pytanie 19

Aby wyeliminować nienaturalne odwzorowanie ukośnych krawędzi w grafice rastrowej, znane jako schodkowanie, powinno się użyć filtru

A. antyaliasingu
B. gradientowego
C. szumowego
D. pikselowego
Antyaliasing, znany również jako wygładzanie krawędzi, jest techniką stosowaną w grafice komputerowej, której celem jest redukcja efektu schodkowania występującego na krawędziach obiektów. Schodkowanie to zjawisko, w którym krawędzie obiektów w grafice rastrowej wydają się ząbkowane lub poszarpane, co jest spowodowane ograniczoną rozdzielczością pikseli. Antyaliasing działa poprzez dodawanie półprzezroczystych pikseli wzdłuż krawędzi, co pozwala na płynniejsze przejścia między kolorami, tworząc wrażenie bardziej gładkich linii. Przykładem zastosowania antyaliasingu jest renderowanie czcionek na ekranach, gdzie niewielkie, półprzezroczyste piksele wygładzają krawędzie liter. Istnieje wiele metod antyaliasingu, w tym supersampling, multisampling oraz post-process antyaliasing. Poprawne zastosowanie antyaliasingu jest kluczowe w profesjonalnej grafice, ponieważ znacznie podnosi jakość wizualną obrazów i zwiększa ich estetykę. Standardy, takie jak OpenGL czy DirectX, oferują wbudowane funkcje antyaliasingu, co ułatwia programistom jego implementację w aplikacjach graficznych.

Pytanie 20

Aby zidentyfikować błędy w składni kodu HTML, trzeba użyć

A. walidatora
B. kompilatora
C. debuggera
D. interpretera
Debugger, interpreter i kompilator to narzędzia, które pełnią różne funkcje w procesie programowania, ale nie są bezpośrednio związane z walidacją kodu HTML. Debugger to narzędzie służące do wykrywania i naprawiania błędów w kodzie podczas jego wykonywania. Chociaż może być użyteczny w przypadku aplikacji webowych, nie zajmuje się on analizą poprawności składni HTML, a bardziej skupia się na logice i działaniu skryptów. Interpreter, z kolei, jest odpowiedzialny za bezpośrednie wykonanie kodu, tłumacząc go na instrukcje, które są rozumiane przez komputer. Działa głównie w kontekście języków skryptowych, takich jak JavaScript, ale nie analizuje kodu HTML w kontekście jego poprawności. Kompilator to narzędzie, które przekształca kod źródłowy napisany w jednym języku programowania na inny, często kod maszynowy. Pomimo że wszystkie te narzędzia są ważne w procesie tworzenia oprogramowania, nie spełniają one funkcji walidatora, który jest kluczowy w zapewnieniu poprawności kodu HTML w zgodności ze standardami.

Pytanie 21

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 litera nagłówka pierwszego poziomu
C. tekst nagłówka pierwszego poziomu
D. pierwsza linia akapitu
Jak chcesz zmienić kolor pierwszej litery, to musisz wiedzieć, jak działają selektory CSS. Używając h1::first-letter, właściwie zaznaczasz, że chcesz zmienić tylko tę pierwszą literę nagłówka, co w sumie jest dobrym sposobem. Ale mogą się pojawić błędy, jeśli źle zrozumiesz, jak działają pseudoelementy w CSS. Na przykład, nie możesz myśleć, że ::first-letter zmieni całą linię tekstu, bo on tylko dotyczy tej pierwszej litery. Podobnie, nie da się zmienić całego nagłówka z użyciem tego selektora - on działa tylko na pojedynczej literze. Dużo osób myli też ::first-letter z ::first-line, bo ten drugi to coś innego i dotyczy całej pierwszej linii akapitu. Rozumienie tych różnic jest mega ważne, żeby tworzyć estetyczne i dobrze działające style. Prawidłowe użycie selektorów CSS to podstawa, żeby strony były czytelne i działały na różnych urządzeniach. Jak będziesz świadomie kodować, to unikniesz wielu typowych błędów.

Pytanie 22

Zastosowanie klauzuli PRIMARY KEY w poleceniu CREATE TABLE sprawi, że dane pole stanie się

A. kluczem obcym
B. indeksem unikalnym
C. kluczem podstawowym
D. indeksem klucza
Klauzula PRIMARY KEY w instrukcji CREATE TABLE definiuje unikalny identyfikator dla każdej rekord w tabeli, co oznacza, że pole oznaczone jako klucz podstawowy musi mieć unikalne wartości i nie może zawierać wartości NULL. Klucz podstawowy jest fundamentalnym elementem w relacyjnych bazach danych, ponieważ umożliwia tworzenie relacji między tabelami oraz zapewnia integralność danych. Na przykład, jeśli mamy tabelę 'Użytkownicy' z kolumną 'ID', która jest kluczem podstawowym, to każda wartość w tej kolumnie będzie unikalna, co pozwala na jednoznaczne identyfikowanie użytkowników. Zgodnie z normami SQL, klucz podstawowy może składać się z jednej lub wielu kolumn, a w przypadku złożonego klucza podstawowego, wszystkie kolumny muszą spełniać warunki unikalności oraz nie mogą mieć wartości NULL. W praktyce, użycie klucza podstawowego jest kluczowe dla organizacji danych i optymalizacji zapytań, ponieważ bazy danych mogą tworzyć indeksy na tych polach, co przyspiesza operacje wyszukiwania i sortowania.

Pytanie 23

Aby przekształcić obraz w formacie PNG tak, by jego tło stało się przezroczyste, wymagane jest

A. ulepszenie nasycenia kolorów.
B. zapisanie go w formacie BMP.
C. dodanie kanału alfa.
D. odpowiednie przycięcie.
Dodanie kanału alfa do obrazu w formacie PNG jest kluczowe dla uzyskania przezroczystego tła. Kanał alfa to dodatkowa warstwa informacji w obrazie, która definiuje przezroczystość każdego piksela. Dzięki niemu, obrazy PNG mogą przechowywać informacje o tym, które części obrazu są całkowicie przezroczyste, częściowo przezroczyste lub całkowicie nieprzezroczyste. To oznacza, że stosując kanał alfa, możemy tworzyć złożone efekty wizualne, takie jak cienie czy gradienty, które są nieosiągalne w formatach nieobsługujących przezroczystości, jak JPEG. W praktyce, dodanie kanału alfa można zrealizować w programach graficznych, takich jak Adobe Photoshop czy GIMP, za pomocą opcji 'Dodaj kanał alfa' w menu warstw. Umożliwia to edytowanie tła obrazu, eliminację niepożądanych elementów oraz integrację z różnymi tłem w dokumentach i stronach internetowych, co jest szczególnie istotne w projektowaniu graficznym i web designie. Zatem, znajomość obsługi kanału alfa oraz umiejętność pracy z formatem PNG są niezbędne dla profesjonalnych grafików w nowoczesnym środowisku projektowym.

Pytanie 24

Na zakończenie dnia w systemie zarządzania magazynem sklepu spożywczego generowany jest raport, który przedstawia produkty oraz ich dostawców, dla których ilość na stanie jest mniejsza niż 10 sztuk. Do stworzenia tego raportu zastosowano kwerendę

A. SELECT
B. CHECK TABLE
C. INSERT INTO
D. UPDATE
Odpowiedzi takie jak CHECK TABLE, UPDATE i INSERT INTO są niewłaściwe w kontekście opisywanego raportu. CHECK TABLE jest komendą używaną do sprawdzania integralności tabel w bazie danych, ale nie ma zastosowania w kontekście generowania raportów. Nie umożliwia ona pobierania danych ani ich analizowania, co jest kluczowe w przypadku raportowania stanów magazynowych. Z kolei UPDATE to polecenie, które służy do modyfikowania istniejących rekordów w bazie danych. Chociaż może być użyteczne w sytuacjach, gdy chcemy zaktualizować ilość produktów w magazynie, nie ma zastosowania w kontekście generowania raportu, ponieważ nie jest to operacja mająca na celu odczyt danych. Tak samo INSERT INTO jest używane do dodawania nowych rekordów do tabeli. W przypadku raportu, którego celem jest analizy danych, to podejście nie jest ani odpowiednie, ani praktyczne. Typowym błędem w myśleniu jest mylenie operacji manipulacji danymi z operacjami odczytu. W kontekście efektywnego zarządzania bazami danych, kluczowe jest zrozumienie, że każda z tych kwerend ma swoje specyficzne zastosowania, a w przypadku raportowania stanów magazynowych jedynie kwerenda SELECT jest odpowiednia, ponieważ umożliwia wydobycie i analizę danych zgodnie z zdefiniowanymi kryteriami.

Pytanie 25

Wskaż element, który definiuje pole edycyjne formularza zgodne z ilustracją

Ilustracja do pytania
A. <input type="time" id="minutes" name="hours">
B. <input type="month" id="hh" name="mm">
C. <input type="date" id=" minutes" name="hours">
D. <input type="number" id="mm" name="hh" min="0" max="24">
W tym zadaniu kluczowe jest zrozumienie różnic pomiędzy poszczególnymi typami pól formularza w HTML5. Ilustracja pokazuje prosty formularz, w którym użytkownik ma podać godzinę zakończenia egzaminu w formacie hh:mm. To oznacza, że interesuje nas wyłącznie czas (godziny i minuty), bez daty, bez miesiąca, bez liczb z dowolnego zakresu. HTML5 wprowadził specjalne typy pól właśnie po to, żeby takie sytuacje obsługiwać dokładnie i w sposób przewidywalny. Element z type="month" służy do wyboru miesiąca i roku, zwykle w formacie RRRR-MM. Przeglądarka wyświetla wtedy kontrolkę pozwalającą wybrać miesiąc, a nie godzinę. Użycie go do wprowadzania czasu byłoby kompletnie nieintuicyjne dla użytkownika i łamałoby założenia semantycznego HTML. To jest typowy błąd: patrzymy na atrybut i myślimy „month, minutes, coś z czasem”, a to zupełnie inny zakres danych. Z kolei pole type="date" obsługuje pełną datę, najczęściej w formacie RRRR-MM-DD. Tu pojawia się kolejna pułapka: skoro egzamin ma jakąś datę, to może warto użyć date? Tylko że w treści i na ilustracji mowa jest wyraźnie o godzinie zakończenia, a nie o dniu egzaminu. type="date" wyświetli kalendarz, co kompletnie nie pasuje do opisu formatu „hh : mm” i wprowadzałoby użytkownika w błąd. Ostatnia propozycja, type="number" z zakresem min="0" max="24", wygląda na pierwszy rzut oka kusząco, bo pozwala ograniczyć wartości do liczb. Jednak takie pole nie rozumie pojęcia czasu, nie ma formatu hh:mm, nie waliduje dwóch części (godziny i minuty), a dodatkowo zakres 0–24 jest nieprecyzyjny (co z minutami, co z 23:59 itd.). To tylko surowa liczba, bez kontekstu semantycznego. W praktyce zmuszałoby to programistę do pisania dodatkowej logiki walidującej i parsującej. Cały sens HTML5 polega na tym, żeby dobierać typy pól zgodnie z danymi, które użytkownik ma wprowadzić. Wtedy przeglądarka może pomóc z walidacją, dostępnością i wygodą obsługi na urządzeniach mobilnych. Wybór innego typu niż time w tym konkretnym przypadku jest więc nie tylko formalnie błędny, ale też sprzeczny z dobrymi praktykami projektowania formularzy webowych.

Pytanie 26

Najłatwiejszym sposobem na zmianę obiektu z numerem 1 na obiekt z numerem 2 jest

Ilustracja do pytania
A. animacja obiektu
B. narysowanie obiektu docelowego
C. geometriczne przekształcenie obiektu
D. zmiana warstwy obiektu
Geometryczne transformowanie obiektu to proces, który pozwala na zmiany w wielkości, kształcie, pozycji lub orientacji obiektu bez modyfikacji jego struktury. W przypadku zamiany obiektu oznaczonego cyfrą 1 na obiekt oznaczony cyfrą 2, transformacja geometryczna, jak skalowanie, jest najprostszą metodą. Skalowanie pozwala na proporcjonalne powiększenie obiektu, co jest niezbędne, gdy chcemy zwiększyć jego rozmiar bez zniekształceń. W praktyce, narzędzia do obróbki grafiki czy modelowania 3D, takie jak Adobe Illustrator czy AutoCAD, oferują funkcje do precyzyjnego skalowania. Kluczowe jest zachowanie proporcji, co można osiągnąć poprzez skalowanie względem określonego punktu odniesienia. Transformacje geometryczne są fundamentalne w wielu dziedzinach, takich jak projektowanie graficzne, inżynieria czy animacja komputerowa, i są zgodne z najlepszymi praktykami, które promują efektywność i precyzję w pracy z obiektami wizualnymi.

Pytanie 27

Jaką kwerendę w bazie MariaDB należy zastosować, aby wybrać artykuły z cenami mieszczącymi się w zakresie obustronnie domkniętym <10, 20>?

A. SELECT * FROM Artykuly WHERE Cena LIKE 1%, 2%
B. SELECT * FROM Artykuly WHERE Cena IN (10, 20)
C. SELECT * FROM Artykuly WHERE Cena BETWEEN 10 AND 20
D. SELECT * FROM Artykuly WHERE Cena > 10 AND Cena < 20
W przypadku pierwszej odpowiedzi, użycie operatora IN do wybrania artykułów o cenach 10 i 20 nie jest trafne, ponieważ IN służy do sprawdzania równości z konkretnymi wartościami, a nie do definiowania przedziałów. Wartości 10 i 20 są tylko skrajne, a nie wszystkie wartości pomiędzy nimi. Druga odpowiedź posługuje się operatorami porównawczymi > i <, co wyklucza wartości graniczne – 10 i 20 nie zostaną uwzględnione, co jest sprzeczne z intencją pytania o przedział domknięty. W codziennej pracy z SQL istotne jest, aby zrozumieć różnicę pomiędzy operatorami porównawczymi a operatorami definiującymi przedziały wartości. Ostatnia odpowiedź z użyciem LIKE jest całkowicie nieadekwatna w kontekście zapytania o ceny, ponieważ LIKE jest przeznaczony do porównywania wzorców w typach danych tekstowych, a nie numerycznych. Typowe błędy myślowe, które prowadzą do takich niepoprawnych wniosków, to brak zrozumienia różnicy między operatorami, co skutkuje błędnym doborem metod w procesie analizy danych. Aby uniknąć tych pułapek, warto zapoznać się ze standardowymi praktykami SQL oraz ciągle doskonalić swoje umiejętności w zakresie kwerend.

Pytanie 28

W języku JavaScript funkcja getElementById odnosi się do

A. klasy zdefiniowanej w CSS
B. zmiennej numerycznej
C. elementu HTML z określoną nazwą klasy
D. elementu HTML z podanym id
Metoda getElementById w języku JavaScript jest kluczowym narzędziem do manipulacji DOM (Document Object Model), które pozwala deweloperom na łatwe odwoływanie się do konkretnych elementów HTML za pomocą ich atrybutu id. Dzięki temu, możemy dynamicznie zmieniać treść, style lub atrybuty tych elementów, co jest niezwykle przydatne w tworzeniu interaktywnych stron internetowych. Na przykład, jeśli mamy element HTML z atrybutem id='header', możemy użyć `document.getElementById('header')` do uzyskania do niego dostępu. To podejście jest zgodne z zasadami poprawnej struktury HTML, gdzie atrybut id powinien być unikalny w obrębie dokumentu. Rekomendowane jest, aby id było zrozumiałe i jasno określało zawartość elementu, co ułatwia późniejszą nawigację i skrypty, a także poprawia dostępność strony. W praktyce, korzystając z getElementById, możemy na przykład zmieniać tekst nagłówka: `document.getElementById('header').innerText = 'Nowy nagłówek';`.

Pytanie 29

Jaki program służy do tworzenia i edytowania grafiki wektorowej?

A. Audacity
B. Wordpad
C. Corel Draw
D. Paint
Paint, Audacity i Wordpad to programy, które nie są przeznaczone do edycji grafiki wektorowej. Paint to prosty edytor bitmapowy, który obsługuje grafikę rastrową, co oznacza, że obrazy składają się z pikseli. W przypadku grafiki rastrowej, powiększanie obrazu prowadzi do utraty jakości, co jest niekorzystne w kontekście profesjonalnych projektów graficznych. Audacity to program do edycji dźwięku, który nie ma związku z grafiką, a jego zastosowanie ogranicza się do obróbki audio. Wordpad, z kolei, jest edytorem tekstu, który nie obsługuje grafiki wektorowej ani rastrowej w sposób zaawansowany. Typowe błędy myślowe związane z wyborem tych programów wynikają często z niepełnej wiedzy na temat ich funkcji oraz zastosowań. Użytkownicy mogą mylnie sądzić, że jakikolwiek program graficzny może być użyty do projektowania, jednak profesjonalne narzędzia, takie jak Corel Draw, są zoptymalizowane do pracy z grafiką wektorową, oferując funkcje, które są kluczowe dla uzyskania wysokiej jakości projektów. Zrozumienie różnicy między grafiką wektorową a rastrową oraz znajomość odpowiednich narzędzi jest niezbędne do skutecznego tworzenia profesjonalnych projektów graficznych.

Pytanie 30

Poniżej przedstawiono sposób obsługi:

<?php
if (!isset($_COOKIE[$nazwa]))
    echo "nie ustawiono!";
else
    echo "ustawiono, wartość: " . $_COOKIE[$nazwa];
?>
A. zmiennych tekstowych
B. ciasteczek
C. baz danych
D. sesji
Analizując przedstawione odpowiedzi, najpierw rozważmy zmienne tekstowe. Kod PHP nie odnosi się bezpośrednio do operacji na zmiennych tekstowych, które zazwyczaj obejmują manipulację ciągami znaków przy użyciu funkcji takich jak strlen czy str_replace. Kod dotyczy mechanizmu przechowywania danych między żądaniami HTTP, co nie jest typowe dla obsługi zmiennych tekstowych. Kolejna opcja to baza danych. Skrypty PHP często współpracują z bazami danych w celu przechowywania i pobierania danych, ale w tym przypadku żadna operacja na bazie danych nie jest wykonywana. Nie ma użytych funkcji typowych dla obsługi baz danych, takich jak mysqli_query czy PDO. Skrypt nie ustanawia połączenia z bazą danych ani nie wykonuje zapytań. Natomiast sesje to mechanizm do przechowywania danych o użytkownikach między żądaniami, ale działa inaczej niż ciasteczka. Sesje zwykle przechowują informacje na serwerze, a jedynie identyfikator sesji jest przechowywany po stronie klienta, często w ciasteczku, ale niekoniecznie. Kod nie wykorzystuje zmiennej $_SESSION, która jest typowa dla obsługi sesji. Każda z tych koncepcji ma swoje zastosowania i ograniczenia, jednak w kontekście przedstawionego kodu kluczowe jest zrozumienie, że podstawową operacją wykonywaną jest manipulacja ciasteczkami, co wyklucza inne podane rozwiązania i wskazuje na prawidłową odpowiedź jako na obsługę ciasteczek w PHP. Kod ilustruje prosty przykład sprawdzania i wyświetlania wartości ciasteczka, co jest podstawowym zastosowaniem tej technologii po stronie klienta.

Pytanie 31

W przedstawionym kodzie HTML zastosowany styl CSS jest stylem ```

To jest przykładowy akapit.

```
A. zewnętrznym
B. dynamicznym
C. lokalnym
D. nagłówkowym
W kontekście analizy odpowiedzi, nagłówkowy styl CSS odnosi się do stylów aplikowanych do elementów nagłówkowych, takich jak <h1>, <h2>, itp. Nagłówki są często wykorzystywane do strukturalizacji treści na stronie, jednak w tym przypadku, ponieważ styl dotyczy konkretnego akapitu, a nie nagłówka, ta odpowiedź jest błędna. Dynamiczne style natomiast są związane z interaktywnymi efektami, które mogą być wprowadzane za pomocą JavaScript czy CSS3, takie jak animacje czy zmiany stylów w odpowiedzi na zdarzenia. W podanym przykładzie nie ma mowy o dynamice, ponieważ styl jest statyczny i przypisany na stałe do elementu. Zewnętrzne style są definiowane w oddzielnych plikach CSS, które są dołączane do dokumentu HTML. To podejście pozwala na większą elastyczność i łatwiejsze zarządzanie stylem w projektach z większą ilością stron. W przeciwieństwie do tego podejścia, lokalne style są przypisane bezpośrednio do elementu, co czyni je mniej odpowiednimi w kontekście organizacji stylów w większych projektach. W skrócie, każda z niepoprawnych odpowiedzi odnosi się do różnych aspektów stylizacji CSS, które nie mają zastosowania w analizowanym przykładzie, a zrozumienie tych różnic jest kluczowe dla efektywnego korzystania z CSS w praktyce.

Pytanie 32

Aby zaprojektować kształt logo dla strony WWW sposobem przedstawionym na obrazie, należy zastosować funkcję

Ilustracja do pytania
A. części wspólnej.
B. wykluczenia.
C. różnicy.
D. sumy.
Niestety, wybrana odpowiedź jest niepoprawna. Zamiast 'różnicy', 'sumy' czy 'części wspólnej', poprawnym rozwiązaniem jest 'wykluczenie'. Na obrazie mamy do czynienia z dwoma kształtami, z których fioletowy jest nałożony na czerwony. Wynik to kształt pokazujący tylko te części czerwonego kształtu, które nie pokrywają się z fioletowym. Właśnie tak działa operacja wykluczenia w grafice komputerowej - wynikowa forma zawiera tylko te elementy jednego obiektu, które nie nakładają się z drugim. Operacje różnicy, sumy czy części wspólnej miałyby inne efekty. 'Różnica' usunęłaby część czerwonego kształtu pokrywającą się z fioletowym, 'suma' utworzyłaby kształt zawierający całość obu kształtów, a 'część wspólna' wytworzyłaby kształt pokrywający się z oboma kształtami. Odnoszenie się do niewłaściwych operacji może prowadzić do znacznych błędów w projektowaniu graficznym.

Pytanie 33

Systemem zarządzania wersjami w projekcie oprogramowania, który jest rozproszony, jest

A. TotalCommander
B. FileZilla
C. GIT
D. Eclipse
GIT jest rozproszonym systemem kontroli wersji, który umożliwia programistom śledzenie zmian w kodzie źródłowym oraz współpracę nad projektami w zespole. Rozproszona architektura GIT pozwala każdemu deweloperowi na posiadanie pełnej kopii repozytorium, co zwiększa bezpieczeństwo i elastyczność pracy. W przeciwieństwie do centralnych systemów kontroli wersji, gdzie jedna centralna kopia repozytorium jest głównym źródłem, GIT umożliwia każdemu użytkownikowi wprowadzanie zmian lokalnie, a następnie synchronizację z innymi. Przykładem zastosowania GIT-a jest platforma GitHub, która umożliwia hosting projektów oraz wspiera pracę zespołową poprzez funkcje takie jak pull requesty czy zarządzanie problemami. GIT jest zgodny z wieloma standardami, w tym z Open Source, co czyni go narzędziem dostępnym dla szerokiej społeczności deweloperów. Jego wszechstronność i bogate możliwości, takie jak branżowanie i łączenie gałęzi, sprawiają, że jest on niezbędnym narzędziem w pracy nad nowoczesnymi projektami programistycznymi.

Pytanie 34

Która z wymienionych metod umożliwia wyświetlenie komunikatu w konsoli przeglądarki za pomocą języka JavaScript?

A. console.log("test");
B. console.echo("test");
C. console.print("test");
D. console.write("test");
Metoda console.log() jest standardowym sposobem wypisywania komunikatów w konsoli przeglądarki w języku JavaScript. Umożliwia deweloperom śledzenie działania kodu, debugowanie aplikacji oraz analizowanie wartości zmiennych. Przykładem zastosowania tej metody jest logowanie informacji na temat stanu aplikacji, co jest szczególnie przydatne podczas tworzenia skomplikowanych interakcji użytkownika lub podczas pracy z danymi. Oto prosty przykład: jeśli mamy zmienną let x = 5; i chcemy sprawdzić jej wartość, możemy użyć console.log(x);, co wyświetli w konsoli "5". Metoda ta wspiera także formatowanie tekstu, np. poprzez użycie znaczników takich jak %c, co pozwala na stylizację wypisywanych komunikatów. Zgodnie z dobrymi praktykami, console.log() powinno być wykorzystywane głównie do celów debugowania i nie powinno pozostawać w kodzie produkcyjnym, aby uniknąć zanieczyszczenia konsoli niepotrzebnymi informacjami. Używanie tej metody jest zgodne z najlepszymi standardami, co czyni ją kluczowym narzędziem w arsenale każdego programisty JavaScript.

Pytanie 35

Do modyfikacji danych w bazie danych można wykorzystać

A. kwerendę SELECT
B. filtrowanie
C. raport
D. formularz
Raporty, filtrowanie oraz kwerendy SELECT nie są odpowiednimi narzędziami do edytowania danych w bazie danych. Raporty służą przede wszystkim do analizy i prezentacji danych, a ich celem jest zbieranie informacji w zorganizowanej formie, co nie wiąże się z edytowaniem danych. Z kolei filtrowanie, chociaż może pomóc w przeglądaniu danych, to nie umożliwia bezpośredniej modyfikacji ich zawartości. Filtrowanie służy do selekcji danych według określonych kryteriów, co może być przydatne, ale nie zmienia samych danych. Kwerenda SELECT jest narzędziem do pobierania danych z bazy, a nie ich edytowania. Warto zauważyć, że wiele osób może mylić te narzędzia z edytowaniem, ponieważ kwerendy mogą zwracać wyniki, które następnie można modyfikować, jednak sam proces edycji wymaga użycia innych mechanizmów, takich jak kwerendy UPDATE. Typowe błędy polegają na myleniu operacji odczytu i zapisu w kontekście baz danych, co może prowadzić do nieporozumień dotyczących ich funkcji i zastosowań. Kluczowym aspektem pracy z bazami danych jest zrozumienie, jakie narzędzia służą do określonych celów, co jest podstawą efektywnej pracy z danymi.

Pytanie 36

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

A. wielostronicowej strony internetowej, która wymaga dostępu do danych przy przechodzeniu między stronami
B. ładowania danych z zewnętrznych plików
C. każdej strony, która wykorzystuje ciasteczka
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 37

Najprostszy sposób zamiany obiektu oznaczonego cyfrą 1 na obiekt oznaczony cyfrą 2 polega na

Ilustracja do pytania
A. zmianie warstwy obiektu.
B. geometrycznym transformowaniu obiektu.
C. animowaniu obiektu.
D. narysowaniu docelowego obiektu.
Wybrałeś poprawną odpowiedź, która jest 'geometrycznym transformowaniem obiektu'. Kiedy mówimy o transformacji geometrycznej, mamy na myśli różne operacje, które można wykonać na obiektach, takie jak skalowanie, obracanie i przesuwanie. W przypadku obiektu oznaczonego numerem 1 i numerem 2 na obrazku, najprostszym sposobem na przekształcenie jednego w drugi jest używanie transformacji geometrycznej. Obiekt numer 2 jest większy i obrócony w stosunku do obiektu numer 1. Dzięki transformacjom geometrycznym mogliśmy osiągnąć ten efekt, skalując i obracając obiekt numer 1. Transformacje geometryczne są podstawą wielu operacji w dziedzinach takich jak grafika komputerowa, projektowanie CAD, animacja, a także w wielu innych dziedzinach technologii i nauki.

Pytanie 38

Jak nazywa się proces, w trakcie którego identyfikuje się oraz eliminuje błędy w kodzie źródłowym aplikacji?

A. standaryzacja
B. Normalizacja
C. Kompilacja
D. Debugowanie
Debugowanie to proces, który polega na identyfikacji, analizie i usuwaniu błędów w kodzie źródłowym programów. Jest to kluczowy etap w cyklu życia oprogramowania, który zapewnia, że aplikacje działają zgodnie z zamierzonymi specyfikacjami. W praktyce debugowanie może obejmować różnorodne techniki, takie jak używanie narzędzi do analizy statycznej, wykonanie testów jednostkowych oraz korzystanie z debuggerów, które pozwalają na śledzenie wykonania kodu w czasie rzeczywistym. Dobre praktyki debugowania obejmują dokumentowanie napotkanych błędów, co może ułatwić ich ponowne wystąpienie oraz szybsze ich usunięcie w przyszłości. Debugowanie nie tylko poprawia jakość kodu, ale również ułatwia rozwój i utrzymanie oprogramowania, co jest zgodne z zasadami Agile i DevOps, gdzie ciągła integracja i dostarczanie są kluczowymi elementami procesu. W ten sposób debugowanie stanowi integralną część programowania, która wpływa na wydajność i stabilność tworzonych aplikacji.

Pytanie 39

Na obrazie przedstawiono projekt układu bloków witryny internetowej. Zakładając, że bloki są realizowane za pomocą znaczników sekcji, ich formatowanie w CSS, oprócz ustawionych szerokości dla bloków: 1, 2,
3, 4 (blok 5 nie ma ustawionej szerokości), powinno zawierać właściwość

Ilustracja do pytania
A. clear: both dla bloku 5 oraz float: left jedynie dla 1 i 2 bloku.
B. float: left dla wszystkich bloków.
C. clear: both dla bloku 5 oraz float: left dla pozostałych bloków.
D. clear: both dla wszystkich bloków.
Twoja odpowiedź nie jest poprawna, ale nie przejmuj się, błąd może wynikać z niepełnego zrozumienia zastosowania właściwości 'float' i 'clear' w CSS. Zastosowanie 'float: left' dla wszystkich bloków nie jest dobrym pomysłem, ponieważ spowoduje to, że wszystkie bloki będą się starały zmieścić w jednym rzędzie, co jest niezgodne z założonym układem. Podobnie, dodawanie 'clear: both' do wszystkich bloków też nie jest poprawne, ponieważ spowoduje to, że wszystkie bloki będą wyświetlane jeden pod drugim, zamiast obok siebie. Właściwość 'clear' powinna być stosowana do bloków, które chcemy wyświetlić poniżej innych bloków, natomiast 'float: left' powinien być stosowany do bloków, które chcemy wyświetlić obok siebie. Pamiętaj, że zrozumienie tych właściwości i umiejętność ich stosowania jest kluczowe dla tworzenia efektywnych i atrakcyjnych layoutów stron internetowych.

Pytanie 40

Aby wykonać kopię zapasową bazy danych w MySQL, jakie polecenie należy zastosować?

A. mysqlreplicate
B. mysqlslap
C. mysqldump
D. mysqlcheck
Wybór polecenia mysqlslap jako metody do tworzenia kopii zapasowych bazy danych jest nieuzasadniony, ponieważ funkcjonalność tego narzędzia jest całkowicie inna. Mysqlslap jest narzędziem do testowania wydajności MySQL, które symuluje obciążenie bazy danych i umożliwia ocenę jej reakcji na różne zapytania. Zamiast służyć do backupu, jest wykorzystywane do analizy i optymalizacji wydajności systemu, co może prowadzić do błędnych wniosków o jego zastosowaniu w kontekście bezpieczeństwa danych. Podobnie, mysqlcheck jest narzędziem używanym do sprawdzania i naprawy tabel w bazach danych MySQL, co oznacza, że nie ma on zastosowania w kontekście tworzenia kopii zapasowych. Jego główną rolą jest diagnostyka i konserwacja bazy danych, a nie zarządzanie danymi. Z kolei mysqlreplicate, jak sama nazwa wskazuje, odnosi się do replikacji bazy danych, co jest zupełnie inną procedurą, mającą na celu zapewnienie wysokiej dostępności i skalowalności poprzez tworzenie duplikatów danych na różnych serwerach. Typowym błędem jest mylenie narzędzi do zarządzania danymi z narzędziami do ich zabezpieczania. Aby skutecznie zarządzać bazą danych, konieczne jest zrozumienie różnicy między tymi funkcjami oraz właściwe dobieranie narzędzi do konkretnych zadań, co jest kluczowe dla zapewnienia spójności i bezpieczeństwa danych.