Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Rozpoczęcie: 7 czerwca 2026 23:37
Zakończenie: 7 czerwca 2026 23:49
Egzamin zdany!
Wynik: 33/40 punktów (82,5%)
Wymagane minimum: 20 punktów (50%)
Twój wynik na tle innych
Twój wynik jest lepszy niż 77% podejść do kwalifikacji INF.03.
Porównanie z 39483 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).
Zachowaj ten wynik na koncie
Załóż darmowe konto albo zaloguj się - ten egzamin przypiszemy do Twojego konta, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.
W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję
A. części wspólnej.
B. grupowania.
C. sumy.
D. wykluczenia.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.
Pytanie 2
W którym języku zaimplementować aplikację działającą po stronie KLIENTA (w przeglądarce)?
A. Perl
B. JavaScript
C. Python
D. PHP
Aplikację działającą po stronie KLIENTA (w przeglądarce) pisze się w JavaScripcie - to język wykonywany przez przeglądarkę, sterujący stroną bez udziału serwera. Dlatego po stronie klienta używa się JavaScriptu.
Pytanie 3
W CSS zapis selektora p > i { color: red; } wskazuje, że kolor czerwony zostanie zastosowany do
A. wszelkiego tekstu w znaczniku <p> lub wszelkiego tekstu w znaczniku <i>
B. wyłącznie tekstu w znaczniku <i>, który znajduje się bezpośrednio wewnątrz znacznika <p>
C. wszystkiego tekstu w znaczniku <p> z wyjątkiem tekstu w znaczniku <i>
D. tylko tego tekstu w znaczniku <p>, który ma przypisaną klasę o nazwie i
Zapis selektora CSS p > i { color: red; } jest precyzyjny i wskazuje, że kolor czerwony zostanie zastosowany wyłącznie do elementów <i>, które znajdują się bezpośrednio w obrębie elementu <p>. Warto zrozumieć, że symbol '>' oznacza selektor dziecka, co oznacza, że styl dotyczy tylko tych <i>, które są bezpośrednimi potomkami <p>. Przykładowo, jeśli mamy strukturę HTML:<p>To jest <i>przykład</i> tekstu <i>z <i>zagnieżdżonym</i> elementem</i>.</p>, to tylko pierwszy znacznik <i> (czyli "przykład") będzie miał kolor czerwony, ponieważ drugi znacznik <i> jest zagnieżdżony i nie jest bezpośrednim dzieckiem <p>. W kontekście standardów CSS, stosowanie selektorów dziecka jest zalecane, gdyż pozwala na precyzyjniejsze określenie, do których elementów styl ma być zastosowany, co w praktyce ułatwia zarządzanie stylami na stronach z bardziej złożoną strukturą HTML.
Pytanie 4
W kodzie HTML zdefiniowano hiperłącze: <ahref="http://website.com"rel="nofollow">link</a>. Użyty w nim atrybut rel="nofollow" w znaczniku <a>:
A. jest informacją dla robota wyszukiwarki, aby nie podążał za tym linkiem i nie przekazywał mu wartości rankingowej
B. oznacza, że kliknięcie w link nie przeniesie użytkownika na stronę website.com
C. jest poleceniem dla przeglądarki, aby nie traktowała słowa "link" jako odnośnika
D. oznacza, że kliknięcie w link otworzy go w osobnej karcie przeglądarki
Atrybut rel="nofollow" w znaczniku <a> to wskazówka skierowana do robotów wyszukiwarek, na przykład Googlebota. Mówi im, by nie podążały za danym odnośnikiem i nie przekazywały mu wartości rankingowej (historycznie nazywanej PageRank). Działa wyłącznie na poziomie indeksowania - nie zmienia zachowania linku dla użytkownika, który dalej może go kliknąć i przejść na stronę docelową. nofollow stosuje się często przy linkach zewnętrznych, do treści niezaufanych, w komentarzach czy linkach płatnych, aby nie firmować obcej witryny autorytetem własnej strony i ograniczać spam.
Pytanie 5
Do czego służy w JavaScript metoda Math.random()?
A. do porównania dwóch napisów
B. do zwrócenia liczby po zaokrągleniu
C. do zaokrąglenia liczby w górę do całkowitej
D. do zwrócenia liczby pseudolosowej
Metoda Math.random() zwraca liczbę pseudolosową z przedziału od 0 (włącznie) do 1 (wyłącznie). Mnożąc i zaokrąglając wynik, uzyskuje się losowe liczby z dowolnego zakresu. Dlatego Math.random() zwraca liczbę pseudolosową.
Pytanie 6
Które z tabel będą poddane weryfikacji zgodnie z przedstawionym poleceniem?
CHECK TABLE pracownicy CHANGED;
A. Tylko te tabele, które nie mogły być poprawnie zakończone
B. Tabele, które uległy zmianie od ostatniej kontroli lub nie zostały poprawnie zamknięte
C. Wyłącznie tabele odnoszące się do innych
D. Tabele, które zmieniły się w obecnej sesji
Polecenie CHECK TABLE pracownicy CHANGED jest używane w systemach zarządzania bazami danych, aby sprawdzić stan tabeli 'pracownicy' w kontekście jej integralności i ewentualnych zmian, które miały miejsce od ostatniej kontroli. Poprawna odpowiedź odnosi się do przypadków, kiedy tabela mogła być zmieniona lub nie została prawidłowo zamknięta podczas ostatnich operacji, co może prowadzić do uszkodzenia danych lub naruszeń integralności. W praktyce, administratorzy baz danych często wykorzystują to polecenie jako część rutynowych procedur konserwacyjnych, aby zapewnić, że wszystkie tabele są w dobrym stanie. W przypadku dużych systemów z wieloma użytkownikami lub złożonymi transakcjami, regularne sprawdzanie tabel może zapobiec poważnym problemom w przyszłości. Dobre praktyki w zakresie zarządzania bazami danych obejmują również monitorowanie zmian oraz tworzenie kopii zapasowych przed dużymi operacjami, co wspiera bezpieczeństwo i integralność danych.
Pytanie 7
Jak utworzyć w PHP cookie o nazwie "owoce" i wartości "jabłko", ważne przez godzinę?
A.
cookie("jabłko","owoce",3600);
B.
cookie("owoce","jabłko",3600);
C.
setcookie("jabłko","owoce",time()+3600);
D.
setcookie("owoce","jabłko",time()+3600);
Cookie tworzy w PHP funkcja setcookie(nazwa,wartość,czas_wygaśnięcia), przy czym czas podaje się jako moment w przyszłości - stąd time()+3600 (bieżąca chwila plus godzina). Daje to setcookie("owoce","jabłko",time()+3600);, gdzie „owoce” to nazwa, a „jabłko” wartość. Dlatego ta funkcja jest poprawna.
Pytanie 8
W języku C++ funkcja, która zwraca rezultat potęgowania i operuje na dwóch argumentach: liczbie x oraz wykładniku w, powinna mieć taką deklarację
A. int potega(int x, int w);
B. void potega(int x, int w, int wynik);
C. void potega(int x, int w);
D. int potega(int x);
Zgadzasz się, że 'int potega(int x, int w);' to trafna odpowiedź. Funkcja do potęgowania faktycznie potrzebuje dwóch rzeczy: podstawy x i wykładnika w, a na końcu powinna zwrócić liczbę całkowitą, która jest wynikiem potęgowania. Jakby to wyglądało w praktyce? Można by to napisać jako 'int potega(int x, int w) { return pow(x, w); }'. Przy czym 'pow' pochodzi z biblioteki cmath i robi te wszystkie magiczne obliczenia. Ważne jest, by przy projektowaniu funkcji myśleć o ich użyteczności, czyli żeby miały jasno określone wejście i wyjście. A jak już mówimy o potęgowaniu, to musimy też pamiętać o specjalnych przypadkach, jak potęgowanie zera do zera, które w matematyce jest równe 1. Dlatego dobrze zrobiona funkcja powinna to uwzględniać. W programowaniu kluczowe jest, by obliczenia były efektywne i poprawne, zwłaszcza w naukowych i inżynieryjnych projektach, gdzie precyzja jest bardzo istotna.
Pytanie 9
Systemem zarządzania wersjami w projekcie programistycznym, który działa w trybie rozproszonym, jest
A. FileZilla
B. Eclipse
C. TotalCommander
D. GIT
GIT jest rozproszonym systemem kontroli wersji, który pozwala na efektywne zarządzanie kodem źródłowym projektu programistycznego. Jego architektura umożliwia każdemu programiście posiadanie lokalnej kopii repozytorium, co przyspiesza operacje takie jak commit, diff czy log, ponieważ nie wymaga dostępu do zdalnego serwera. GIT wspiera równoległą pracę wielu deweloperów, umożliwiając tworzenie gałęzi (branch) do rozwijania funkcji czy naprawy błędów bez wpływania na główną wersję kodu. Przykładami praktycznego zastosowania są: rozwijanie nowych funkcjonalności w oddzielnych gałęziach, zarządzanie kodem w projektach open source, czy współpraca w zespołach rozproszonych geograficznie, gdzie deweloperzy mogą synchronizować swoje zmiany poprzez operacje push i pull. Warto także zaznaczyć, że GIT jest szeroko stosowany w standardach branżowych, takich jak Continuous Integration/Continuous Deployment (CI/CD), co podkreśla jego znaczenie w nowoczesnym procesie wytwarzania oprogramowania.
Pytanie 10
Której metody JS użyć, aby sprawdzić, czy napis ZAWIERA inny napis?
A.
includes()
B.
repeat()
C.
substr()
D.
valueOf()
Metoda includes() sprawdza, czy napis ZAWIERA podany podciąg, i zwraca true lub false - np. "Ala ma kota".includes("kot") da true. Dlatego do sprawdzenia zawierania służy includes().
Pytanie 11
Która reguła CSS wyśrodkowuje tekst w PIONIE?
A.
text-align:center
B.
vertical-align:middle
C.
vertical-align:center
D.
align:middle
Pozostałe zapisy są błędne. vertical-align:center używa nieistniejącej wartości (poprawna to middle). text-align:center wyrównuje w POZIOMIE, a właściwość align w CSS nie istnieje. Wyśrodkowanie w pionie daje vertical-align:middle.
Pytanie 12
Jak w CSS ustawić, aby hiperłącze nieodwiedzone było żółte, a odwiedzone zielone?
A.
a:visited{color:yellow;}a:link{color:green;}
B.
a:hover{color:green;}a:link{color:yellow;}
C.
a:link{color:yellow;}a:visited{color:green;}
D.
a:hover{color:yellow;}a:visited{color:green;}
Pozostałe zapisy mylą pseudoklasy lub kolory. Wariant z a:visited{color:yellow;} i a:link{color:green;} zamienia kolory miejscami - nieodwiedzony wyszedłby zielony zamiast żółty. Dwie inne odpowiedzi używają :hover, które reaguje na najechanie kursorem, a nie na to, czy link był odwiedzony, i pomijają regułę dla stanu :link. Stan nieodwiedzony opisuje :link, a odwiedzony :visited, dlatego poprawny jest zapis a:link{color:yellow;}a:visited{color:green;}.
Pytanie 13
Jakim słowem kluczowym w języku z rodziny C można przypisać alternatywną nazwę dla już istniejącego typu danych?
A. union
B. switch
C. enum
D. typedef
Wybór błędnych słów kluczowych wskazuje na nieporozumienie dotyczące podstawowych koncepcji typów danych w języku C. 'enum' jest używane do definiowania enumeracji, które pozwalają na tworzenie zbioru nazwanych stałych, co jest użyteczne w kontekście ograniczonego zestawu wartości, ale nie ma zastosowania w nadawaniu alternatywnych nazw dla istniejących typów. 'union' natomiast definiuje typ, który może przechowywać różne typy danych w tym samym miejscu pamięci, lecz również nie ma na celu zmiany nazwy typu. 'switch' to konstrukcja sterująca, która nie ma nic wspólnego z definiowaniem typów danych, a służy do wyboru i wykonania jednego z wielu bloków kodu na podstawie wartości wyrażenia. Te błędne odpowiedzi mogą sugerować, że użytkownik nie zrozumiał roli, jaką pełnią różne słowa kluczowe w języku C. Często mylnie zakłada się, że 'enum' czy 'union' mogą pełnić funkcję, która w rzeczywistości przypisana jest do 'typedef', co prowadzi do nieścisłości w kodzie i utrudnień w jego interpretacji. Kluczowe jest zrozumienie, że 'typedef' nie tworzy nowego typu, ale jedynie nową nazwę dla już istniejącego, co jest fundamentalne w celu utrzymania przejrzystości oraz spójności w projekcie. Niezrozumienie tej zasady może prowadzić do nieefektywnego zarządzania kodem oraz błędów przy jego rozwoju.
Pytanie 14
Jakie skutki przynosi wielokrotne uruchomienie poniższego kodu PHP?
B. Zapisywanie wartości 1 w ciasteczku przy każdym odświeżeniu strony.
C. Pokazanie ciasteczka z wartością zmiennej.
D. Przechowywanie informacji w ciasteczku tylko przy pierwszym otwarciu strony.
Poprawna odpowiedź to zliczanie liczby odwiedzin strony, ponieważ przedstawiony kod PHP wykorzystuje ciasteczka do przechowywania liczby wizyt. Kiedy użytkownik wchodzi na stronę, skrypt sprawdza, czy ciasteczko o nazwie 'ciastko' już istnieje. Jeśli nie, oznacza to, że jest to pierwsza wizyta użytkownika, więc zmienna '$zm' jest inicjowana na wartość 1. W przeciwnym razie, wartość ciasteczka jest odczytywana, konwertowana na liczbę całkowitą i zwiększana o jeden. Następnie nowa wartość jest zapisywana w ciasteczku. Takie podejście jest zgodne z praktykami związanymi z analizą ruchu na stronie, gdzie zliczanie odwiedzin jest kluczowe dla zrozumienia interakcji użytkowników z witryną. Może to być użyteczne w kontekście analizy statystyk odwiedzin, co jest istotne dla marketerów i administratorów stron internetowych. Ponadto, umiejętność zarządzania ciasteczkami jest niezbędna w kontekście bezpieczeństwa i prywatności użytkowników, co powinno być brane pod uwagę przy implementacji takich rozwiązań.
Pytanie 15
Wskaź, która instrukcja jest równoważna z instrukcją switch w języku PHP?
A. Instrukcja 3
B. Instrukcja 4
C. Instrukcja 1
D. Instrukcja 2
Wybierając równoważną instrukcję dla switcha w PHP, kluczowe jest zrozumienie, jakie wartości są sprawdzane i jakie operacje są wykonywane dla każdej z nich. W przypadku podanego switcha, wartości 10 i 20 prowadzą do zwiększenia zmiennej $liczba o 1, a inne wartości do przypisania 0 do zmiennej. Instrukcja 1 nie uwzględnia warunku dla wartości 20, co sprawia, że nie jest równoważna dla switcha, ponieważ brakuje jednego z przypadków. Instrukcja 3 również jest niepoprawna, ponieważ nie obsługuje przypadku domyślnego z przypisaniem 0, co oznacza, że dla innych wartości nie zostanie podjęte żadne działanie. Instrukcja 4 stosuje operator and, co wymaga jednoczesnego spełnienia obu warunków ($liczba==10 i $liczba==20), co jest logicznie niemożliwe, ponieważ zmienna liczba nie może jednocześnie przyjmować dwóch różnych wartości, dlatego nie spełnia wymagań postawionych przez strukturę switch. Takie błędne rozumowanie często wynika z niepełnego zrozumienia operatorów logicznych i ich działania w kontekście warunków decyzyjnych. Dlatego istotne jest, aby dokładnie analizować każdy przypadek użycia i zrozumieć, jak różne struktury kontrolne mogą być wykorzystane do osiągnięcia zamierzonego efektu w kodzie PHP, dbając o poprawność logiczną i efektywność rozwiązania w kontekście różnych scenariuszy programistycznych. W kontekście nauki programowania, takie zrozumienie pozwala na tworzenie bardziej zrozumiałego i mniej podatnego na błędy kodu, co jest kluczowe dla rozwoju umiejętności programistycznych i utrzymania wysokiej jakości oprogramowania.
Pytanie 16
W przedstawionym kodzie JavaScript, który został ponumerowany dla przejrzystości, występuje błąd uniemożliwiający wyświetlenie jakiegokolwiek komunikatu po uruchomieniu. Jak można go naprawić?
B. zmienić znaki cudzysłowu na apostrof w liniach 3 i 6, np. 'jest mniejsze'
C. dodać znak $ przed nazwami zmiennych
D. umieścić zmienne a i b w cudzysłowie w liniach 2 i 5
Odpowiedź o wstawieniu nawiasów klamrowych do sekcji if oraz else jest prawidłowa, ponieważ w JavaScript, gdy warunek if lub else obejmuje więcej niż jedną instrukcję, należy użyć nawiasów klamrowych, aby zgrupować te instrukcje. W przeciwnym razie, język traktuje jako część bloku kodu tylko pierwszą instrukcję. W omawianym kodzie, bez nawiasów klamrowych, tylko pierwsze wywołanie document.write w każdej z sekcji jest wykonywane, co skutkuje brakiem komunikatu w przypadku, gdy warunek jest spełniony. Przykładowo, poprawny kod powinien wyglądać tak: if (a < b) { document.write(a); document.write('jest mniejsze'); } else { document.write(b); document.write('jest mniejsze'); }. Nawiasy klamrowe są standardową praktyką, która poprawia czytelność kodu oraz ułatwia jego modyfikację w przyszłości, co jest zgodne z zasadami dobrego programowania.
Pytanie 17
Poniższy fragment kodu PHP służy do zarządzania
if (empty($_POST["name"])) { $nameErr = "Name is required"; }
A. ciasteczkami
B. sesjami
C. formularzami
D. bazami danych
Fragment kodu PHP przedstawiony w pytaniu dotyczy obsługi formularza i jest to typowa konstrukcja używana do walidacji danych przesyłanych metodą POST. W PHP dane z formularza przesyłane są za pomocą superglobalnej tablicy $_POST, co pozwala na ich łatwe przetwarzanie i walidację. W tym przypadku skrypt sprawdza, czy pole 'name' zostało wypełnione przez użytkownika. Funkcja empty() jest stosowana, aby wykryć, czy dane pole jest puste, co jest kluczowe dla zabezpieczenia aplikacji przed niekompletnymi danymi. Gdy pole jest puste, zmienna $nameErr zostaje ustawiona na wartość komunikatu błędu, informującą użytkownika o brakujących danych. Praktyczne zastosowanie tego rodzaju sprawdzania obejmuje różnorodne formularze internetowe, takie jak rejestracja użytkowników czy składanie zamówień. Dobre praktyki w PHP zalecają stosowanie walidacji po stronie serwera, ponieważ poprawia to bezpieczeństwo i integralność danych, nawet jeśli wcześniej dane były walidowane po stronie klienta za pomocą JavaScriptu. Warto również pamiętać o stosowaniu filtrów i walidacji danych wejściowych, aby zapobiec potencjalnym atakom, jak np. SQL injection
Pytanie 18
Co można powiedzieć o wyświetlonym przez witrynę tekście "test kolorów"?
A. Wciskanie przycisku test sprawia, że kolor tekstu jest na przemian niebieski i czerwony.
B. Zaraz po załadowaniu witryny kolor tekstu jest czerwony.
C. Po wciśnięciu przycisku test kolor tekstu jest niebieski.
D. Po wciśnięciu przycisku test kolor tekstu jest czerwony.
Niestety, żadne z pozostałych wyborów nie są trafne, bo nie oddają działania kodu HTML i JavaScript, który widzisz na zdjęciu. Na przykład, jeśli ktoś myśli, że kolor zmienia się na niebieski po naciśnięciu przycisku, to jest w błędzie, bo kod wyraźnie pokazuje, że kolor zmienia się na czerwony. Z kolei stwierdzenie, że kolor zmienia się na przemian między czerwonym a niebieskim, też jest błędne, ponieważ w kodzie nie ma żadnej pętli ani warunku, który by to umożliwił. I jeszcze, mówienie, że kolor tekstu jest czerwony po załadowaniu strony, to też fałsz, bo początkowo tekst jest niebieski. Może te pomyłki wynikają z niezrozumienia jak działają skrypty JavaScript lub z pominięcia niektórych elementów w analizie.
Pytanie 19
Którego słowa kluczowego użyć do deklaracji zmiennej w JavaScript?
A.
instanceof
B.
new
C.
var
D.
variable
Do deklaracji zmiennej w JavaScripcie służy słowo var (a w nowszym standardzie także let i const), np. varliczba=5;. Dlatego zmienną deklaruje var.
Pytanie 20
Jak nazywa się model prostej bazy, w której wszystkie dane są w JEDNEJ tabeli?
A. relacyjnym
B. jednorodnym
C. hierarchicznym
D. sieciowym
Najprostszy model bazy, w którym wszystkie dane mieszczą się w JEDNEJ tabeli (bez powiązań), nazywa się jednorodnym (płaskim). Dlatego to model jednorodny.
Pytanie 21
Która funkcja PHP pozwala sprawdzić, czy ciąg jest CZĘŚCIĄ innego ciągu?
A.
strstr()
B.
strlen()
C.
strtok()
D.
trim()
Funkcja strstr() sprawdza, czy dany ciąg jest CZĘŚCIĄ innego - szuka pierwszego wystąpienia podciągu i zwraca fragment od tego miejsca (albo false, gdy nie znajdzie). Pozwala więc wykryć obecność fragmentu w tekście. Dlatego do tego służy strstr().
Pytanie 22
Aby poprawnie zdefiniować hierarchiczną strukturę tekstu na stronie internetowej, należy zastosować:
A. znaczniki <frame> i <table>
B. znacznik <div>
C. znacznik <p> z formatowaniem
D. znaczniki <h1>, <h2> oraz <p>
Hierarchię tekstu na stronie budują znaczniki nagłówków <h1> do <h6>, gdzie <h1> to tytuł najważniejszy, a kolejne poziomy oznaczają sekcje i podsekcje. Przeglądarka, wyszukiwarki i czytniki ekranu odczytują z nich plan dokumentu, dlatego nagłówków używa się zgodnie ze znaczeniem, a nie dla samego wyglądu. Akapity <p> uzupełniają tę strukturę właściwą treścią. Taki układ poprawia czytelność, dostępność i pozycjonowanie strony - i właśnie dlatego poprawna odpowiedź łączy nagłówki z akapitem.
Pytanie 23
Jaką funkcję w języku PHP można wykorzystać do weryfikacji typu zmiennej?
A. foreach()
B. switch()
C. strrev()
D. var_dump()
W kontekście PHP istnieje wiele funkcji i struktur, które mogą wprowadzać w błąd, gdy chodzi o sprawdzanie lub manipulację danymi. Funkcja strrev() służy do odwracania łańcucha tekstowego. Nie ma związku z typami zmiennych, ponieważ jej jedynym celem jest przetwarzanie tekstu. W przypadku switch() jest to konstrukcja kontrolująca przepływ, która jest używana do podejmowania decyzji w oparciu o wartość zmiennej, ale nie dostarcza informacji na temat jej typu. To najczęściej prowadzi do nieporozumień, gdy programiści próbują używać switch() do analizy typów danych, co jest niezgodne z zamierzonym przeznaczeniem tej konstrukcji. foreach() z kolei jest używane do iterowania po elementach tablicy lub obiektów, ale również nie dostarcza informacji na temat typów zmiennych. Powszechnym błędem myślowym jest mylenie funkcji i konstrukcji odpowiednich do różnych zadań. Programiści często mylą się, zakładając, że każda funkcja, która operuje na zmiennych, może dostarczyć informacji o ich typie, co jest nieprawidłowe. Kluczowe jest zrozumienie celu każdej z funkcji oraz stosowanie ich zgodnie z ich przeznaczeniem, aby uniknąć nieefektywnego kodu i trudności w debugowaniu aplikacji.
Pytanie 24
W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. W nadchodzącym roku postanowiono zwiększyć wynagrodzenie wszystkim pracownikom o 100 zł. Zmiana ta w bazie danych będzie miała formę
A. UPDATE pensja SET 100;
B. UPDATE pracownicy SET pensja = pensja +100;
C. UPDATE pracownicy SET pensja = 100;
D. UPDATE pensja SET +100;
W celu podniesienia pensji wszystkim pracownikom o 100 zł, zastosowanie ma polecenie SQL UPDATE. Poprawna instrukcja 'UPDATE pracownicy SET pensja = pensja + 100;' działa na zasadzie modyfikacji istniejących wartości w kolumnie 'pensja' w tabeli 'pracownicy'. Ta konstrukcja przyjmuje bieżącą wartość pensji każdego pracownika i dodaje do niej 100 zł. Jest to standardowa praktyka w SQL, gdzie używamy operatora '+', aby zmodyfikować dane. Warto pamiętać, że takie operacje są powszechnie wykorzystywane w systemach baz danych do aktualizacji informacji, co pozwala na efektywne zarządzanie danymi. Dla porównania, instrukcje SELECT, które służą do pobierania danych, nie są odpowiednie w tym kontekście. W rezultacie każdy pracownik w tabeli otrzyma nową, zwiększoną pensję, co odzwierciedli aktualizację w bazie danych.
Pytanie 25
Tabela programy ma kolumny nazwa, producent, rokWydania. Która kwerenda zwróci producentów BEZ powtórzeń?
Aby wypisać producentów bez powtórzeń, dopisuje się DISTINCT zaraz po SELECT, przed nazwą kolumny: SELECTDISTINCTproducentFROMprogramy;. Słowo to każe bazie pominąć duplikaty i zwrócić każdą nazwę producenta tylko raz. Dlatego ta kwerenda jest poprawna.
Pytanie 26
W SQL, aby zaktualizować informacje w wierszach w tabeli, konieczne jest użycie polecenia
A. ALTER TABLE
B. SELECT
C. INSERT INTO
D. UPDATE
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 27
Kod
SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30)
wybiera
A. imiona, numery PESEL oraz wiek osób mieszczących się w przedziale od 18 do 30 lat
B. imiona, numery PESEL oraz wiek osób w wieku dokładnie 18 lub 30 lat
C. imiona, nazwiska oraz numery PESEL osób, które mają mniej niż 18 lat
D. imiona, numery PESEL oraz wiek osób, które mają więcej niż 30 lat
Odpowiedź jest prawidłowa, ponieważ zapytanie SQL `SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30)` w sposób precyzyjny selekcjonuje dane tylko dla osób, których wiek wynosi dokładnie 18 lub 30 lat. Użycie operatora `IN` pozwala na wskazanie konkretnych wartości, które nas interesują, w tym przypadku są to dwa liczby: 18 i 30. Takie podejście jest zgodne z najlepszymi praktykami w tworzeniu zapytań SQL, gdyż umożliwia efektywne filtrowanie danych i minimalizowanie obciążenia bazy danych poprzez ograniczenie ilości przetwarzanych rekordów. W kontekście aplikacji, które wymagają analizy danych demograficznych, na przykład w systemach monitorujących wiek klientów, tego typu zapytania są niezwykle przydatne. Pozwalają na szybkie wyciąganie informacji potrzebnych do podejmowania decyzji, jak na przykład dostosowywanie ofert marketingowych do określonych grup wiekowych. Przykładowo, w instytucji finansowej analiza wieku klientów może być kluczowa w tworzeniu ofert produktów kredytowych skierowanych do osób młodych oraz do tych w średnim wieku, co pozwala na lepsze zrozumienie i zaspokojenie ich potrzeb.
Pytanie 28
Fragment kodu SQL wskazuje, że klucz obcy
… FOREIGN KEY(imie) REFERENCESobiekty(imiona) …
A. znajduje się w tabeli obiekty
B. jest odniesieniem do siebie samego
C. wiąże się z kolumną imiona
D. jest przypisany do kolumny obiekty
Odpowiedź wskazująca, że klucz obcy łączy się z kolumną 'imiona' jest prawidłowa, ponieważ definicja klucza obcego w SQL stanowi, że odwołuje się on do kolumny w innej tabeli, w tym przypadku do kolumny 'imiona' w tabeli 'obiekty'. Klucz obcy jest używany do ustanowienia relacji między dwiema tabelami, co poprawia integralność danych i umożliwia tworzenie bardziej złożonych zapytań. Na przykład, jeśli mamy tabelę 'uczniowie' z kolumną 'imie', a tabela 'obiekty' zawiera kolumnę 'imiona' jako klucz podstawowy, to możemy użyć klucza obcego, aby zapewnić, że każde imię w tabeli 'uczniowie' odnosi się do istniejącego rekordu w tabeli 'obiekty'. Dobrą praktyką jest zawsze stosowanie kluczy obcych w celu minimalizacji błędów danych i zapewnienia ich spójności. Użycie kluczy obcych jest zgodne z zasadami normalizacji baz danych, które dążą do eliminacji redundancji i poprawy organizacji danych.
Pytanie 29
Podaj właściwą sekwencję przy tworzeniu bazy danych?
A. Zdefiniowanie celu, stworzenie tabel, utworzenie relacji, normalizacja
B. Zdefiniowanie celu, normalizacja, utworzenie relacji, stworzenie tabel
C. Zdefiniowanie celu, utworzenie relacji, stworzenie tabel, normalizacja
D. Zdefiniowanie celu, normalizacja, utworzenie tabel, stworzenie relacji
Prawidłowa odpowiedź wskazuje, że pierwszym krokiem w procesie tworzenia bazy danych jest określenie celu, co jest kluczowe dla zrozumienia, jakie dane będą gromadzone i w jaki sposób będą one używane. Następnie, stworzenie tabel to fundament, na którym opiera się cała baza danych. Tabele definiują struktury danych, które będą przechowywane, a ich projektowanie powinno uwzględniać normalizację, czyli proces eliminowania redundancji danych i zapewniania ich integralności. Utworzenie relacji między tabelami jest kolejnym krokiem, który pozwala na efektywne łączenie danych w różnych tabelach, co z kolei umożliwia bardziej złożone zapytania. Normalizacja, będąca ostatnim krokiem, pozwala na optymalizację struktury bazy, co zwiększa wydajność operacji. Przykład zastosowania tej kolejności można zobaczyć w projektowaniu systemów zarządzania bazami danych w przedsiębiorstwach, gdzie dokładne określenie potrzeb biznesowych wpływa na przyszłe modele danych i ich relacje.
Pytanie 30
Który z przedstawionych kodów XHTML sformatuje tekst według podanego wzorca? Ala ma kota a kot ma Alę
A. <p>Ala ma <b>kota</i><br> a <b>kot</b> ma Alę</p>
B. <p>Ala ma <b>kota</b><br> a <b>kot</b> ma Alę</p>
C. <p>Ala ma <b>kota</b><br> a <i>kot</i> ma Alę</p>
D. <p>Ala ma <b>kota<br> a <i>kot</i> ma Alę</p>
Poprawna odpowiedź to <p>Ala ma <b>kota</b><br/>a <i>kot</i> ma Alę</p>. W tym kodzie XHTML tekst 'Ala ma kota' jest odpowiednio sformatowany dzięki zastosowaniu znaku <b>, który definiuje tekst pogrubiony, oraz <i>, który oznacza tekst kursywą. Ponadto <br/> jest używane do wstawienia przerwy w linii, co jest zgodne z praktykami formatowania tekstu w HTML/XHTML. Zgodnie ze standardami W3C, XHTML jest stricte oparty na XML, co oznacza, że wszystkie elementy muszą być poprawnie zagnieżdżone i zamknięte. Użycie <i> w drugiej części tekstu jest poprawne, ponieważ wskazuje na pewną formę wyróżnienia, a jednocześnie zachowuje semantykę. Przy tworzeniu stron internetowych ważne jest, aby formatowanie tekstu było zarówno estetyczne, jak i zgodne z regułami semantycznymi, co ta odpowiedź spełnia. Przykładowo, tekst ten można umieścić w dowolnym dokumencie HTML, aby zachować poprawne formatowanie, co wpływa na czytelność.
Pytanie 31
Jaki model opisu kolorów charakteryzuje się parametrami takimi jak odcień, nasycenie oraz jasność?
A. CMY
B. RGB
C. CMYK
D. HSV
Model HSV (Hue, Saturation, Value) jest powszechnie stosowany w grafice komputerowej oraz w przemyśle filmowym i fotograficznym do opisu kolorów w sposób bardziej intuicyjny dla ludzi. Odcień (Hue) odnosi się do koloru podstawowego, nasycenie (Saturation) określa intensywność koloru, a jasność (Value) mierzy, jak ciemny lub jasny jest dany kolor. Przykładowo, w modelu HSV, czerwony kolor ma odcień 0°, zielony 120°, a niebieski 240°. W praktyce, projektanci często używają narzędzi opartych na tym modelu, ponieważ umożliwia on łatwe manipulowanie kolorami w programach graficznych, takich jak Photoshop czy GIMP. Model HSV jest również szeroko stosowany w standardach przemysłowych, takich jak ISO 12647, co czyni go ważnym narzędziem w zarządzaniu kolorem. Dzięki zrozumieniu modelu HSV, profesjonaliści mogą lepiej komunikować się z klientami, precyzyjnie dobierać kolory oraz tworzyć harmonijne palety kolorystyczne.
Pytanie 32
Który atrybut znacznika <img> określa lokalizację (ścieżkę) pliku graficznego?
A.
link
B.
src
C.
href
D.
alt
Obraz osadza się znacznikiem <img>, a jego atrybut src (source) wskazuje ścieżkę do pliku graficznego, np. <imgsrc="logo.png"alt="Logo">. Drugi ważny atrybut, alt, podaje tekst alternatywny. Dlatego lokalizację pliku obrazu określa src.
Pytanie 33
Jaki jest cel procesu normalizacji tabel w bazie danych?
A. uporządkowanie struktury w celu wyeliminowania nadmiarowości danych
B. wyłącznie utworzenie tabel i relacji
C. dodawanie nowych rekordów do bazy
D. graficzne przedstawienie struktury bazy
Normalizacja to proces porządkowania struktury bazy danych tak, by ograniczyć nadmiarowość (powielanie) danych i zapobiec anomaliom przy ich wstawianiu, zmianie czy usuwaniu. Polega na podziale danych między tabele zgodnie z tzw. postaciami normalnymi (1NF, 2NF, 3NF) i powiązaniu ich kluczami. Dzięki temu każda informacja jest przechowywana w jednym miejscu, co ułatwia jej spójną aktualizację. Dlatego celem normalizacji jest uporządkowanie struktury i wyeliminowanie nadmiarowości danych.
Pytanie 34
Podstawowym celem korzystania z edytora WYSIWYG jest
A. automatyzacja odtwarzania plików multimedialnych
B. wykrywanie błędów w bazie danych
C. szybka wizualizacja tworzonej strony
D. ściąganie z Internetu pełnych portali WWW
Edytory WYSIWYG (What You See Is What You Get) są narzędziami, które umożliwiają tworzenie i edytowanie treści internetowych w sposób wizualny, co oznacza, że użytkownik widzi na ekranie dokładnie to, co otrzyma po zapisaniu dokumentu. Głównym celem ich stosowania jest przyspieszenie procesu projektowania stron internetowych poprzez natychmiastowe wizualizowanie zmian. Dzięki temu, osoby nieposiadające zaawansowanej wiedzy programistycznej mogą łatwo tworzyć atrakcyjne wizualnie strony, co ma ogromne znaczenie w kontekście szybkiego rozwoju branży webowej. Przykłady zastosowania edytorów WYSIWYG to platformy takie jak WordPress, Wix czy Squarespace, które umożliwiają użytkownikom dodawanie treści, obrazów i multimediów bez potrzeby pisania kodu. Warto również zauważyć, że edytory te wspierają standardy webowe, takie jak HTML5 i CSS3, co pozwala na optymalizację stron pod kątem SEO oraz responsywności. W związku z rosnącą popularnością edytorów WYSIWYG, znajomość ich działania staje się kluczowa dla każdego, kto pragnie efektywnie zarządzać treściami w sieci.
Pytanie 35
Testy związane ze skalowalnością aplikacji mają na celu zweryfikowanie, czy program
A. jest chroniony przed nieautoryzowanymi działaniami, np. dzieleniem przez zero
B. posiada odpowiednie funkcje
C. jest właściwie opisany w dokumentacji
D. jest w stanie funkcjonować przy zaplanowanym i większym obciążeniu
Odpowiedź mówiąca o tym, że aplikacja potrafi działać przy zakładanym i większym obciążeniu, jest kluczowa, gdyż skalowalność oprogramowania odnosi się do zdolności systemu do efektywnego działania w warunkach wzrastającego zapotrzebowania na zasoby. Oznacza to, że aplikacja powinna być w stanie obsługiwać rosnącą liczbę użytkowników, transakcji lub innych operacji bez degradacji wydajności. Przykładem może być system e-commerce, który w okresie wyprzedaży musi obsługiwać znacznie więcej użytkowników niż w normalnych okolicznościach. Aby zapewnić skalowalność, programiści mogą wykorzystywać różne architektury, takie jak mikroserwisy, które pozwalają na niezależne skalowanie poszczególnych komponentów aplikacji. Dobre praktyki obejmują również wykorzystanie chmurowych rozwiązań, takich jak AWS czy Azure, które oferują elastyczność i automatyczne skalowanie w odpowiedzi na wzrost obciążenia. Warto także wdrażać mechanizmy monitorowania i optymalizacji wydajności, aby na bieżąco dostosowywać zasoby do potrzeb użytkowników.
Pytanie 36
W semantycznym HTML odpowiednikiem tagu <b>, który nie tylko pogrubia tekst, ale również oznacza go jako istotniejszy, jest
A. <em>
B. <strong>
C. <ins>
D. <mark>
Znacznik <strong> w języku HTML semantycznym służy do oznaczania tekstu, który ma szczególne znaczenie w kontekście treści. Oprócz stylistycznego pogrubienia czcionki, <strong> wskazuje, że dany fragment tekstu jest ważny dla zrozumienia treści dokumentu. Przykładowo, w artykule omawiającym bezpieczeństwo w Internecie, można użyć <strong> do wyróżnienia kluczowych terminów, takich jak 'szyfrowanie' czy 'firewall', co podkreśla ich znaczenie w ochronie danych. Użycie znaczników semantycznych, takich jak <strong>, jest zgodne z najlepszymi praktykami dostępności, co zapewnia lepszą interpretację treści przez technologie asystujące, takie jak czytniki ekranu. Takie podejście poprawia nie tylko nawigację po stronie, ale również SEO, ponieważ wyszukiwarki lepiej rozumieją kontekst i hierarchię treści. Warto również zauważyć, że w przeciwieństwie do <b>, który jedynie zmienia wygląd tekstu, <strong> wnosi dodatkowy sens do struktury dokumentu, co jest szczególnie istotne w kontekście tworzenia witryn internetowych, które są zarówno estetyczne, jak i funkcjonalne.
Pytanie 37
Podczas wykonywania zapytania można skorzystać z klauzuli DROP COLUMN
A. ALTER TABLE
B. CREATE TABLE
C. DROP TABLE
D. ALTER COLUMN
Odpowiedź 'ALTER TABLE' jest poprawna, ponieważ klauzula DROP COLUMN jest używana w kontekście zmiany struktury tabeli w bazach danych. Polecenie ALTER TABLE pozwala na modyfikację istniejącej tabeli, w tym dodawanie, usuwanie lub modyfikowanie kolumn. Użycie klauzuli DROP COLUMN umożliwia usunięcie określonej kolumny z tabeli, co jest przydatne, gdy kolumna nie jest już potrzebna, zawiera nieaktualne dane lub w celu optymalizacji struktury bazy danych. Na przykład, jeśli mamy tabelę 'Użytkownicy' z kolumną 'wiek', której chcemy się pozbyć, możemy użyć polecenia: 'ALTER TABLE Użytkownicy DROP COLUMN wiek;'. Ważne jest, aby przed wykonaniem tej operacji upewnić się, że usunięcie kolumny nie wpłynie negatywnie na integralność danych lub logikę aplikacji. Praktyki dotyczące zarządzania bazami danych zalecają również wykonanie kopii zapasowej danych przed takimi operacjami, aby zminimalizować ryzyko utraty danych.
Pytanie 38
Co według zasad ACID oznacza wymóg TRWAŁOŚCI (durability) transakcji?
A. w trakcie transakcji dane mogą zmieniać inne transakcje
B. transakcję można podzielić na dwa niezależne etapy
C. dane zatwierdzone przez transakcję pozostają dostępne mimo późniejszych zdarzeń
D. przy naruszeniu spójności transakcja usuwa tabele z kluczami obcymi
Trwałość (durability) z reguł ACID gwarantuje, że dane raz ZATWIERDZONE (commit) przez transakcję pozostaną w bazie na stałe - nawet jeśli zaraz potem nastąpi awaria zasilania czy restart serwera. System osiąga to, zapisując zmiany w sposób przetrwający awarię, np. w dzienniku transakcji. Dlatego trwałość oznacza, że zatwierdzone dane pozostają dostępne mimo późniejszych awarii.
Odpowiedzi O(n2), O(n3) oraz O(n!) sugerują, że złożoność obliczeniowa algorytmu naiwnego wyszukiwania minimum jest wyższa niż rzeczywista złożoność O(n). Złożoność O(n2) oznaczałaby, że algorytm wymagałby odwiedzenia każdego elementu dla każdego innego elementu, co jest charakterystyczne dla algorytmów porównawczych, które porównują elementy parzyście, na przykład w sortowaniu bąbelkowym. Tego typu złożoność nie ma jednak zastosowania w prostym wyszukiwaniu minimum, gdzie wystarczy jedno przejście przez zbiór w celu znalezienia najmniejszego elementu. Z kolei O(n3) wskazywałoby na jeszcze bardziej skomplikowaną operację, co w kontekście wyszukiwania minimum jest nieadekwatne. Złożoność O(n!) sugerowałaby, że algorytm wymagałby przetwarzania wszystkich możliwych permutacji zbioru, co jest zjawiskiem spotykanym w złożonych problemach kombinatorycznych, takich jak problem komiwojażera. Aby uniknąć takich nieporozumień, ważne jest zrozumienie, że wyszukiwanie minimum to operacja podstawowa, która nie wymaga złożonych algorytmów ani dodatkowych złożoności, a jedynie prostego przejścia przez zbiór danych. W praktyce, złożoności O(n2), O(n3) i O(n!) nie mają zastosowania w kontekście wyszukiwania minimum, co jest kluczowe dla zrozumienia efektywności algorytmu.
Pytanie 40
Ile razy zostanie wykonana pętla w języku PHP, jeśli zmienna kontrolna pozostaje niezmienna podczas działania pętli?
for($i=0; $i<=10; $i++) { ....... }
A. 0
B. 11
C. 10
D. Nieskończoność
Pętla for w języku PHP, zapisana jako for($i=0; $i<=10; $i++), będzie miała 11 iteracji ponieważ warunek $i<=10 pozwala na wykonanie pętli aż do momentu gdy $i wynosi 10 włącznie. Pętla zaczyna się od wartości 0 dla zmiennej $i i zwiększa jej wartość o 1 w każdej iteracji. Ponieważ warunek końcowy dopuszcza wartość 10 pętla wykona się dla wartości 0 1 2 3 4 5 6 7 8 9 i 10 co daje łącznie 11 iteracji. Tego typu pętla jest często wykorzystywana do iteracyjnego przetwarzania elementów tablic czy generowania sekwencji liczb. Jest to zgodne ze standardowymi praktykami programistycznymi gdzie pętle for są używane do iteracji tam gdzie liczba kroków jest z góry znana. Znajomość podstawowych struktur iteracyjnych takich jak pętla for jest kluczowa w efektywnym programowaniu i umożliwia tworzenie czytelnego i efektywnego kodu. Ważne jest też aby odpowiednio definiować warunki początkowe i końcowe oraz krok iteracji zgodnie z zamierzonym działaniem algorytmu aby uniknąć nieskończonych pętli lub błędów logicznych wynikających z niewłaściwie ustawionych warunków.