Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 29 kwietnia 2026 11:41
  • Data zakończenia: 29 kwietnia 2026 12:11

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Podczas definiowania pola id w tabeli MySQL użyto AUTO_INCREMENT. Co to oznacza?

id int NOT NULL AUTO_INCREMENT
A. możliwe jest dodanie rekordu z dowolną wartością pola id
B. wartości dla tego pola będą generowane automatycznie przy dodawaniu nowego rekordu do bazy
C. pole id może przyjmować takie wartości jak: NULL, 1, 2, 3, 4 i tak dalej
D. wartość pola id zostanie nadana automatycznie przez bazę i będzie to losowo wygenerowana liczba całkowita
Pole z definicją AUTO_INCREMENT w MySQL oznacza że podczas dodawania nowego rekordu do tabeli wartość tego pola jest automatycznie zwiększana najczęściej o jeden począwszy od wartości startowej. To zachowanie jest szczególnie przydatne w przypadku kluczy głównych gdzie unikalność jest wymagana. Jeśli mamy tabelę użytkowników i chcemy przypisać każdemu unikalny identyfikator możemy użyć AUTO_INCREMENT na kolumnie id. W ten sposób baza danych sama zadba o to by każda nowa wartość id była większa od poprzedniej co zapewnia automatyczne nadawanie kolejnych niepowtarzalnych wartości. Taka funkcjonalność jest zgodna z praktykami tworzenia baz danych i ułatwia zarządzanie danymi oraz ich integralność. Jest to również optymalizacja pod kątem wydajności ponieważ pozwala na szybkie dodawanie rekordów bez potrzeby ręcznego określania wartości klucza głównego. Dodatkowo zapewnia uporządkowane numerowanie rekordów co jest korzystne przy analizach i raportowaniu

Pytanie 2

Która z definicji funkcji w języku C++ przyjmuje parametr typu zmiennoprzecinkowego i zwraca wartość typu całkowitego?

A. int fun1(float a)
B. float fun1(int a)
C. float fun1(void a)
D. void fun1(int a)
Każda z błędnych odpowiedzi ilustruje typowe nieporozumienia związane z deklaracją funkcji w języku C++. Odpowiedź 'void fun1(int a);' nie spełnia wymogów, ponieważ zwraca typ 'void', co oznacza, że funkcja nie zwraca żadnej wartości. To podejście jest właściwe, gdy chcemy wykonać operacje, które nie wymagają zwracania wyniku, ale nie odpowiada na pytanie dotyczące zwracania wartości całkowitej. W przypadku 'float fun1(int a);', chociaż funkcja poprawnie przyjmuje argument całkowity, zwraca typ 'float', co jest sprzeczne z wymaganiem zwrotu wartości całkowitej. Kolejna odpowiedź 'float fun1(void a);' zawiera syntaktyczny błąd, ponieważ typ 'void' nie może być użyty jako typ parametru, co prowadzi do błędów kompilacji. W języku C++ każdy parametr musi mieć określony typ, a użycie 'void' jako typu parametru jest niepoprawne. Te nieprawidłowe odpowiedzi wskazują na brak zrozumienia podstawowych zasad typowania w C++, co jest kluczowe w kontekście projektowania funkcji. Istotne jest, aby przy tworzeniu funkcji dobrze zrozumieć, jakie typy danych są akceptowane i jakie wartości są oczekiwane jako wynik, aby uniknąć błędów w logice programu oraz poprawić jego wydajność i czytelność.

Pytanie 3

Ile razy zostanie wykonany blok pętli napisanej w PHP, przy założeniu, że zmienna sterująca nie jest modyfikowana podczas działania pętli?

for($i=0; $i <=10; $i+=2) {
       . . . . . .
}
A. 5
B. 0
C. 6
D. 10
Nieprawidłowe rozumienie działania pętli for w języku PHP może wynikać z niedokładnego zrozumienia jej składni oraz mechanizmu iteracji W tym przypadku pętla zaczyna się od wartości 0 i przyrasta o 2 aż do momentu gdy i przekroczy 10 Kluczowym elementem jest zrozumienie jak działa warunek i<=10 który wskazuje że pętla zakończy się po osiągnięciu wartości 10 ale zostanie wykonana również dla tej wartości Stąd liczba iteracji wynosi 6 a nie mniej lub więcej Jeżeli ktoś uznał że pętla wykonuje się 10 razy mógł zignorować fakt że krok iteracji wynosi 2 a nie 1 co jest typowym błędem gdy analizujemy pętle z niestandardowym przyrostem Inny błąd polega na przypuszczeniu że pętla nie wykona się wcale co wynika z nieprawidłowego założenia że warunek początkowy lub krok są błędnie skonfigurowane Warto zatem zawsze przeprowadzić symulację iteracji lub skorzystać z debuggera aby zrozumieć działanie pętli i sposób w jaki operują na niej warunki Dobrą praktyką jest również testowanie pętli z różnymi wartościami początkowymi i krokami aby uzyskać pewność co do oczekiwanego wyniku oraz uniknięcie błędów wynikających z nieprawidłowej interpretacji kodu

Pytanie 4

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

A. Eclipse
B. GIT
C. TotalCommander
D. FileZilla
Eclipse to zintegrowane środowisko programistyczne (IDE), które wspiera rozwój aplikacji, jednak nie jest systemem kontroli wersji. Jego głównym celem jest ułatwienie pisania, testowania i debugowania kodu, a nie zarządzanie wersjami plików źródłowych. Eclipse oferuje również wtyczki, które mogą integrować się z systemami kontroli wersji, ale sama w sobie nie pełni tej funkcji. FileZilla to program kliencki do przesyłania plików, który działa na zasadzie protokołu FTP. Został zaprojektowany do przesyłania plików między komputerem a serwerem internetowym, a jego funkcje nie obejmują zarządzania wersjami kodu. FileZilla nie śledzi zmian w plikach ani nie umożliwia współpracy nad kodem, co czyni go nieodpowiednim narzędziem w kontekście kontroli wersji. TotalCommander to menedżer plików, który pozwala na zarządzanie plikami i folderami na lokalnym komputerze, jednak nie jest to narzędzie do kontroli wersji. Jego funkcje koncentrują się na operacjach na plikach, takich jak kopiowanie, przenoszenie czy usuwanie, a nie na śledzeniu historii zmian w projektach programistycznych. W skrócie, ani Eclipse, ani FileZilla, ani TotalCommander nie spełniają kryteriów systemu kontroli wersji, co czyni GIT jedynym właściwym wyborem w tej kategorii.

Pytanie 5

Jakie wyrażenie należy umieścić w miejsce ??? w pętli napisanej w języku C++, aby na ekranie zostały wyświetlone wyłącznie elementy tablicy tab?

int tab[6];
for (int i = 0; ???; i++)
    cout << tab[i];
A. i > 6
B. i <= 6
C. i < 6
D. i >= 6
Niepoprawne wybory wyrażenia warunkowego w pętli for mogą prowadzić do różnych problemów, z których głównym jest przekroczenie zakresu tablicy, co jest powszechnym błędem w programowaniu w językach takich jak C++. Błędne zastosowanie warunku i >= 6 spowodowałoby, że pętla nie wykonałaby się ani razu, ponieważ początkowa wartość i wynosi 0, co nie spełnia tego warunku. Warunek i <= 6 może wydawać się poprawny, ponieważ uwzględnia indeks 6, jednak indeks ten wykracza poza zakres tablicy posiadającej 6 elementów (z indeksami od 0 do 5), co prowadziłoby do błędu out-of-bounds. Warunek i > 6 również jest błędny, ponieważ nigdy nie zostanie spełniony przy początkowej wartości i równej 0, a pętla tym samym się nie wykona. Typowe błędy myślowe prowadzące do takich wyborów wynikają z nieprawidłowego rozumienia indeksowania tablic oraz zakresu pętli. Ważne jest, aby dokładnie przeanalizować, jak indeksy są przypisywane w tablicach i dostosować warunki pętli, aby zawsze mieściły się w poprawnym zakresie. Aby uniknąć takich błędów, zaleca się stosowanie podejścia, które uwzględnia długość tablicy i iteruje do mniejszej wartości niż jej rozmiar. Tego typu prewencja nie tylko zwiększa stabilność programu, ale również jego bezpieczeństwo, eliminując ryzyko naruszenia pamięci programu i potencjalnych podatności bezpieczeństwa.

Pytanie 6

Która z wartości tekstowych nie odpowiada podanemu wzorcowi wyrażenia regularnego?

(([A-ZŁŻ][a-ząęóżźćńłś]{2,})(-[A-ZŁŻ][a-ząęóżźćńłś]{2,}))?
A. Kowalski
B. Jelenia Góra
C. Nowakowska-Kowalska
D. Kasprowicza
Odpowiedź 'Jelenia Góra' jest nietrafiona. Wzór wyrażenia regularnego wymaga, żeby ciąg zaczynał się od wielkiej litery, a potem miał przynajmniej dwie małe litery. Dodatkowo, może być tam segment po myślniku z kolejną wielką literą, a na końcu małe litery. No i tutaj problem, bo 'Jelenia Góra' ma spację, a wzór nie lubi takich rzeczy, bo nie rozpoznaje spacji jako separatora. Z mojego doświadczenia w pracy z regexami, ważne jest, żeby takie elementy jak spacje były dokładnie przemyślane, szczególnie przy pracy z danymi. Im lepiej zrozumiesz te zasady, tym łatwiej będzie Ci pracować z różnymi przykładami i sytuacjami przy programowaniu. Także, warto pomyśleć o tym, jak optymalizować wzorce, żeby nasza praca była wydajniejsza i bezbłędna.

Pytanie 7

W języku SQL, jaki będzie efekt wykonania poniższego zapytania?

ALTER TABLE osoba DROP COLUMN grupa;
A. Dodana zostanie kolumna grupa.
B. Zmieniona zostanie nazwa kolumny na grupa.
C. Usunięta zostanie kolumna grupa.
D. Zmieniona zostanie nazwa tabeli na grupa.
Gratulacje, wybrałeś poprawną odpowiedź. W zaprezentowanym pytaniu skupiliśmy się na instrukcji 'ALTER TABLE' w języku SQL, a dokładniej na jej konkretnej odmianie, tj. 'DROP COLUMN'. Ta instrukcja służy do usunięcia kolumny z istniejącej tabeli. W tym konkretnym przypadku, użyto jej do usunięcia kolumny o nazwie 'grupa' z tabeli 'osoba'. Jest to przydatne narzędzie w przypadku, gdy chcemy usunąć dane z bazy bez usuwania całej tabeli. Pamiętaj jednak o skutkach utraty wszystkich danych z tej kolumny. Zawsze warto zrobić backup bazy danych przed taką operacją. Dobrą praktyką jest także sprawdzenie, jakie inne elementy bazy są zależne od usuwanej kolumny, aby uniknąć niespodziewanych problemów.

Pytanie 8

W formularzu dokumentu PHP znajduje się pole <input name="im" />. Po wpisaniu przez użytkownika ciągu „Janek”, aby dodać wartość tego pola do bazy danych, w tablicy $_POST będzie obecny element

A. im z kolejnym numerem indeksu
B. Janek z kolejnym numerem indeksu
C. Janek z indeksem im
D. im z indeksem Janek
W przypadku formularzy w PHP, każdy element formularza jest przekazywany do tablicy superglobalnej $_POST po przesłaniu formularza. W analizowanej sytuacji, pole input o nazwie 'im' zostało wypełnione wartością 'Janek'. Po przesłaniu formularza do serwera, PHP automatycznie tworzy odpowiedni wpis w tablicy $_POST. Nazwa pola, czyli 'im', staje się kluczem w tablicy $_POST, natomiast wartość wprowadzona przez użytkownika, czyli 'Janek', staje się wartością tego klucza. Dlatego w tablicy $_POST znajdziemy element o kluczu 'im', którego wartość wynosi 'Janek'. W praktyce, dostęp do wartości można uzyskać w następujący sposób: $im = $_POST['im']; co przypisze zmiennej $im wartość 'Janek'. To zachowanie jest zgodne z dokumentacją PHP i standardowymi praktykami programowania w tym języku. Dobrze jest również pamiętać o zabezpieczeniach i walidacji danych pochodzących z formularzy, aby uniknąć potencjalnych ataków, takich jak SQL Injection.

Pytanie 9

DELETE FROM Pracownicy ORDER BY rok_urodzenia LIMIT 1;
W wyniku wykonania powyższego zapytania SQL zostanie:
A. usunięta kolumna rok_urodzenia z tabeli Pracownicy.
B. usunięta tabela Pracownicy.
C. usunięty rekord z danymi pracownika, który miał wpisaną datę urodzenia.
D. usunięty rekord najstarszego pracownika.
Poprawnie – to polecenie SQL usuwa dokładnie jeden rekord, i to taki, który odpowiada najstarszemu pracownikowi w tabeli. Kluczowe są tu dwie rzeczy: klauzula ORDER BY oraz LIMIT 1. Najpierw baza danych sortuje wiersze z tabeli Pracownicy po kolumnie rok_urodzenia rosnąco, czyli od najstarszego do najmłodszego (mniejszy rok urodzenia = starsza osoba). Dopiero na tak posortowanym zbiorze polecenie DELETE z LIMIT 1 usuwa pierwszy rekord z góry, czyli właśnie najstarszego pracownika. Warto zauważyć, że taka składnia (DELETE ... ORDER BY ... LIMIT ...) jest charakterystyczna m.in. dla MySQL i MariaDB. W standardowym SQL nie zawsze można użyć ORDER BY bezpośrednio w DELETE, ale w praktyce, w aplikacjach webowych, bardzo często pracuje się właśnie na tych silnikach, więc to rozwiązanie jest jak najbardziej realne. W innych systemach (np. PostgreSQL) podobny efekt robi się przez podzapytanie lub CTE. Moim zdaniem to jest bardzo przydatny wzorzec, gdy chcemy usuwać „najstarsze” lub „najmłodsze” rekordy, np. najstarszy log systemowy, najstarsze zamówienie w statusie roboczym, najstarszy wpis w kolejce zadań. Ważna dobra praktyka: takie operacje powinny opierać się na jednoznacznym kryterium sortowania (np. rok_urodzenia + id), żeby uniknąć sytuacji, że przy tych samych wartościach pola baza wybierze losowo któryś rekord. W projektach produkcyjnych często dodaje się dodatkową kolumnę typu data_utworzenia albo używa klucza głównego w ORDER BY, żeby zachować deterministyczne zachowanie. Zwróć też uwagę, że DELETE operuje na wierszach (rekordach), a nie na strukturze tabeli. Do usuwania kolumn służy ALTER TABLE, a do kasowania całej tabeli – DROP TABLE. To rozróżnienie jest absolutna podstawa pracy z SQL w każdej większej aplikacji.

Pytanie 10

W dostępnej tabeli o nazwie przedmioty znajdują się pola: ocena oraz uczenID. Jakie zapytanie należy wykonać, aby obliczyć średnią ocenę ucznia z ID równym 7?

A. SELECT COUNT(ocena) FROM przedmioty WHERE uczenID = 7;
B. AVG SELECT ocena FROM przedmioty WHERE uczenID = 7;
C. COUNT SELECT ocena FROM przedmioty WHERE uczenID = 7;
D. SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;
Odpowiedź "SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;" jest poprawna, ponieważ zastosowanie funkcji agregującej AVG pozwala na obliczenie średniej wartości ocen dla ucznia o konkretnym identyfikatorze. W SQL, funkcje agregujące, takie jak AVG, COUNT, SUM, MIN i MAX, są kluczowymi narzędziami do analizy i przetwarzania danych. W tym przypadku, AVG oblicza średnią wartość pól 'ocena' w tabeli 'przedmioty', gdzie spełniony jest warunek 'uczenID = 7'. To podejście jest zgodne z najlepszymi praktykami w SQL, które zalecają ograniczenie zbioru danych przed zastosowaniem funkcji agregujących, aby wyniki były precyzyjne i użyteczne. Przykładowo, jeśli w przyszłości chcielibyśmy obliczyć średnią ocen dla innych uczniów, moglibyśmy zmieniać wartość 'uczenID', co czyni to zapytanie bardzo elastycznym. Ponadto, umiejętność korzystania z funkcji agregujących jest niezbędna w kontekście analizy danych w systemach baz danych, co czyni tę wiedzę fundamentalną w pracy z SQL.

Pytanie 11

Podczas walidacji strony napotkano błąd. Co to oznacza?

Ilustracja do pytania
A. określenie kodowania znaków musi być zapisane bez użycia myślników
B. w atrybucie charset dopuszczalna jest wyłącznie wartość "utf-8"
C. oznaczenie ISO-8859-2 jest nieprawidłowe
D. znacznik meta nie zawiera atrybutu charset
Podczas walidacji strony często spotykany błąd może dotyczyć niepoprawnego kodowania znaków co jest kluczowe dla poprawnego wyświetlania treści w różnych językach. Oznaczenie ISO-8859-2 choć istnieje i jest stosowane dla niektórych kodowań środkowoeuropejskich nie jest zalecane w nowoczesnych standardach webowych. Właściwym podejściem jest stosowanie UTF-8 które jest bardziej uniwersalne i wspierane przez współczesne przeglądarki. Twierdzenie że w znaczniku meta nie występuje atrybut charset jest błędne ponieważ jest to jeden z podstawowych elementów definiujących jak przeglądarka powinna interpretować znaki na stronie internetowej. Użycie tego atrybutu jest kluczowe dla uniknięcia problemów z wyświetlaniem znaków specjalnych. Kolejna koncepcja że w atrybucie charset jest dozwolona wyłącznie wartość utf-8 jest prawidłowa ale wymaga zrozumienia że jest to jedynie zalecenie zgodne z HTML5 które zapewnia największą kompatybilność i elastyczność. Natomiast oznaczenie kodowania znaków bez myślników nie jest standardem przyjętym w żadnej popularnej specyfikacji co oznacza że takie podejście jest błędne. W praktyce zawsze warto sięgać po zalecane rozwiązania zapewniające poprawność i kompatybilność treści webowych. Użycie niepoprawnego kodowania może prowadzić do błędów w interpretacji i wyświetlaniu stron co jest szczególnie istotne w kontekście międzynarodowych aplikacji i stron internetowych. Współczesne standardy bezpieczeństwa i dostępności stron internetowych jednoznacznie wskazują że stosowanie UTF-8 jest najlepszą praktyką pozwalającą unikać wielu problematycznych sytuacji w międzynarodowym środowisku internetowym. Dążenie do zgodności z tym standardem jest nie tylko rekomendowane ale wręcz wymagane w kontekście tworzenia profesjonalnych i dostępnych stron internetowych. To podejście gwarantuje że treści będą prawidłowo odczytywane przez przeglądarki na całym świecie.

Pytanie 12

Aby przenieść stronę internetową na serwer, można wykorzystać program

A. Bugzilla
B. FileFilla
C. CloneZilla
D. Go!Zilla
Bugzilla to narzędzie do zarządzania błędami, które nie jest związane z przesyłaniem plików na serwery. Jego głównym celem jest śledzenie błędów i problemów w oprogramowaniu, co czyni go przydatnym w kontekście projektów deweloperskich, ale nie znajduje zastosowania w transferze plików. Go!Zilla to program, który ma na celu przyspieszanie pobierania plików z internetu, co również nie odnosi się do przesyłania plików na serwer. Chociaż Go!Zilla może być pomocny w kontekście ściągania zawartości z sieci, jego funkcjonalność nie obejmuje zarządzania transferami w obie strony, co jest kluczowe dla administratorów stron internetowych. CloneZilla to narzędzie do klonowania dysków i partycji, które służy do tworzenia kopii zapasowych systemów operacyjnych oraz danych, ale nie ma nic wspólnego z przesyłaniem plików na serwer. Jego zastosowanie jest głównie w kontekście migracji danych pomiędzy nośnikami, co w zasadzie wyklucza jego użycie w kontekście przenoszenia witryn internetowych na serwery.

Pytanie 13

Opracowanie logicznego układu strony internetowej wiąże się z

A. stworzeniem zbioru grafik dla strony.
B. określeniem zawartości strony.
C. zdefiniowaniem adresów URL dla podstron strony.
D. umiejscowieniem elementów w konkretnych punktach strony.
Projektowanie logicznego układu witryny polega na efektywnym rozmieszczeniu elementów w konkretnych miejscach witryny, co jest kluczowe dla zapewnienia optymalnej użyteczności oraz nawigacji. Proces ten obejmuje analizę interakcji użytkowników z treścią oraz zaprojektowanie układu, który umożliwia intuicyjne poruszanie się po stronie. Przykładowo, umiejscowienie menu nawigacyjnego w górnej części strony oraz umieszczenie najważniejszych informacji w widocznych miejscach zwiększa szanse na konwersję. Warto również uwzględnić zasady projektowania responsywnego, co oznacza, że układ powinien być dostosowany do różnych rozmiarów ekranów, zapewniając spójne doświadczenie na urządzeniach mobilnych i stacjonarnych. Standardy takie jak WCAG (Web Content Accessibility Guidelines) również podkreślają znaczenie logicznego rozmieszczenia elementów, aby zapewnić dostępność dla osób z niepełnosprawnościami. Ponadto, dobrze zaprojektowany układ pomaga w optymalizacji SEO, umożliwiając lepsze indeksowanie przez wyszukiwarki.

Pytanie 14

Jaki jest prawidłowy sposób deklaracji funkcji w języku JavaScript?

A. def myFunction() { }
B. function myFunction() { }
C. func myFunction() { }
D. void myFunction() { }
Deklaracja funkcji w JavaScript zaczyna się od słowa kluczowego <code>function</code>, po którym następuje nazwa funkcji, nawiasy okrągłe oraz nawiasy klamrowe obejmujące ciało funkcji. Przykładowo, <code>function myFunction() { }</code> tworzy funkcję o nazwie <em>myFunction</em>, która nie przyjmuje żadnych parametrów i nie wykonuje żadnych operacji, gdyż ciało funkcji jest puste. W JavaScript funkcje są fundamentalnym elementem, który pozwala na tworzenie modularnego i wielokrotnego użycia kodu. Można je wywoływać w dowolnym miejscu programu, co ułatwia zarządzanie złożonością kodu. Zgodnie z dobrymi praktykami, nazwy funkcji powinny być opisowe, aby jasno wskazywały na ich działanie. Warto również pamiętać, że w JavaScript funkcje są pierwszoklasowymi obiektami, co oznacza, że mogą być przypisywane do zmiennych, przekazywane jako argumenty do innych funkcji, czy zwracane jako wyniki funkcji. To sprawia, że JavaScript jest bardzo elastycznym językiem do programowania złożonych aplikacji webowych.

Pytanie 15

Wskaż polecenie do iteracji.

A. else
B. switch
C. for
D. throw
Instrukcja iteracyjna 'for' jest jednym z najczęściej używanych mechanizmów w programowaniu, umożliwiającym powtarzanie bloków kodu. Jej główną zaletą jest możliwość precyzyjnego określenia liczby powtórzeń, co czyni ją idealnym narzędziem do pracy z tablicami i kolekcjami danych. W skład składni instrukcji 'for' wchodzi inicjalizacja zmiennej, warunek kontynuacji oraz aktualizacja zmiennej, co pozwala na eleganckie i zrozumiałe pętle. Na przykład, w języku Python, zapis 'for i in range(5):' spowoduje wykonanie bloku kodu pięć razy, co jest przydatne przy iteracji przez indeksy tablicy. Standardy programowania, takie jak PEP 8 dla Pythona, podkreślają znaczenie czytelności kodu, a dobrze zorganizowane pętle 'for' przyczyniają się do utrzymania przejrzystości. Ponadto, instrukcje 'for' są również obecne w wielu innych językach, takich jak Java, C++ czy JavaScript, co czyni je uniwersalnym narzędziem w arsenale programisty.

Pytanie 16

Aby zrealizować opisane czynności w JavaScript, konieczne jest umieszczenie poniższego kodu w znaczniku <script>

Ilustracja do pytania
A. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: "+A)
B. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: ".A)
C. A = alert("Podaj kwalifikację: "); document.write("Kwalifikacja: "+A)
D. A << prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: "+A)
W JavaScript użycie funkcji prompt() pozwala na wyświetlenie okna dialogowego, które umożliwia użytkownikowi wprowadzenie danych. W przypadku poprawnej odpowiedzi kod A = prompt('Podaj kwalifikację: '); document.write('Kwalifikacja: '+A); realizuje dokładnie te kroki. Funkcja prompt() czeka na wprowadzenie danych przez użytkownika i zwraca wprowadzaną wartość, która jest następnie przypisywana do zmiennej A. Następnie document.write() jest używane do bezpośredniego wstawienia zawartości zmiennej A na stronę internetową w połączeniu z tekstem 'Kwalifikacja: '. To podejście jest zgodne z dobrymi praktykami tworzenia aplikacji internetowych, gdzie dynamiczne wprowadzanie danych przez użytkownika i ich wyświetlanie jest kluczowe. Używanie prompt() jest powszechne w prostych aplikacjach do interakcji z użytkownikiem, lecz w bardziej zaawansowanych projektach zaleca się korzystanie z bardziej zaawansowanych metod jak formularze HTML czy asynchroniczne żądania sieciowe. Niemniej jednak, zrozumienie działania prompt() oraz document.write() jest podstawowe dla tworzenia dynamicznych stron WWW i stanowi fundament dalszej nauki w JavaScript.

Pytanie 17

Który efekt został zaprezentowany na filmie?

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

Po uruchomieniu kodu PHP

echo date("Y-m");
na ekranie pojawi się bieżąca data w formacie:
A. tylko roku
B. dnia, miesiąca, roku
C. roku oraz miesiąca
D. dnia i roku
Odpowiedź 'rok i miesiąc' jest prawidłowa, ponieważ funkcja 'date' w PHP formatuje datę na podstawie podanego wzorca. W przypadku użycia wzorca 'Y-m', 'Y' oznacza pełny rok (np. 2023), a 'm' oznacza dwucyfrowy miesiąc (np. 03 dla marca). W wyniku działania 'echo date("Y-m");' na ekranie zostanie wyświetlona aktualna data w formacie YYYY-MM, co jest niezwykle przydatne w wielu aplikacjach, takich jak generowanie raportów miesięcznych, archiwizacja danych czy implementacja systemów zarządzania treścią. Użycie tego wzorca jest zgodne z najlepszymi praktykami programistycznymi, które zalecają właściwe formatowanie daty w celu jej późniejszej analizy lub prezentacji. Ponadto, umiejętność manipulacji datami w PHP jest kluczowa w kontekście tworzenia aplikacji webowych, które często wymagają interakcji z użytkownikami w czasie rzeczywistym, a także integracji z bazami danych, gdzie prawidłowe formatowanie daty ma kluczowe znaczenie dla integralności danych.

Pytanie 19

Na tabeli dania, której wiersze zostały pokazane poniżej, wykonano przedstawioną kwerendę:

SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;
Ile wierszy wybierze ta kwerenda?
idtypnazwacena
11Gazpacho20
21Krem z warzyw25
31Gulaszowa ostra30
42Kaczka i owoc30
52Kurczak pieczony40
63wierzbowy przysmak35
72Mintał w panierce30
82Alle kotlet30
93Owoce morza20
103Grzybki, warzywka, sos15
113Orzechy i chipsy10
123Tatar i jajo15
133Bukiet warzyw10
A. 2
B. 8
C. 13
D. 5
Twoja odpowiedź jest jak najbardziej trafna. To zapytanie SQL, które mamy, wybiera z tabeli 'dania' te wiersze, gdzie 'typ' jest mniejszy niż 3, a 'cena' nie przekracza 30. Wiem, że dodanie 'LIMIT 5' może wydawać się istotne, ale w tym przypadku tak naprawdę nie wpływa to na wynik, bo tylko jeden wiersz pasuje – danie 'Gazpacho'. Warto pamiętać, że w SQL, gdy używamy warunku 'WHERE', łączymy je z operatorem AND, co oznacza, że muszą być spełnione jednocześnie. Klauzula 'LIMIT' jest przydatna w różnych sytuacjach, ale tutaj, nawet z ograniczeniem do 5, i tak mamy tylko jeden wynik.

Pytanie 20

W PHP konstrukcja foreach stanowi rodzaj

A. wyboru, dla elementów tablicy
B. pętli, niezależnie od typu zmiennej
C. pętli, wyłącznie dla elementów tablicy
D. warunkową, niezależnie od typu zmiennej
Pierwsza niepoprawna odpowiedź myli foreach z instrukcją wyboru, co jest błędne. Foreach nie wybiera elementów, tylko je przetwarza. W PHP nie mamy jakiejś instrukcji wyboru jak if-else, które różnicują zadania w zależności od warunków. Pętla foreach działa na zasadzie przetwarzania wszystkich elementów, a nie ich selekcji. Następnie, ktoś napisał, że foreach jest niezależna od typu zmiennej, co również jest mylące. W prawdziwym życiu foreach wymaga, aby zmienna była tablicą. Jakbyś wrzucił coś innego, co nie jest tablicą, PHP wyrzuci błąd, więc to nie jest uniwersalne dla wszystkich typów. Ostatnia błędna odpowiedź próbuje przypisać foreach do instrukcji warunkowej. Instrukcje warunkowe, jak if czy switch, decydują na podstawie spełniania pewnych warunków, a foreach po prostu wykonuje operację na każdym elemencie tablicy. Ważne jest, żeby zrozumieć tę różnicę, bo każda z tych konstrukcji ma swoje zastosowania, które są istotne, gdy programujemy.

Pytanie 21

Po uruchomieniu poniższego fragmentu kodu PHP:

echo date("Y");
na ekranie pojawi się bieżąca data zawierająca tylko:
A. miesiąc i rok
B. dzień
C. dzień i miesiąc
D. rok
W odpowiedzi na pytanie, kod PHP echo date("Y"); zwraca aktualny rok, co jest zgodne z jego konstrukcją. Funkcja date() w PHP jest standardowym sposobem na formatowanie daty i czasu. Przekazany argument "Y" oznacza, że chcemy otrzymać rok w czterocyfrowym formacie. Na przykład, jeśli aktualny rok to 2023, wynik będzie wynosił 2023. Tego rodzaju operacje są niezwykle przydatne w różnych aplikacjach, od prostych stron internetowych po bardziej złożone systemy zarządzania treścią, gdzie dane o roku mogą być wykorzystywane do generowania dynamicznych treści, takich jak stopki z roku lub nagłówki z aktualnym rokiem. Użycie funkcji date() w odpowiedni sposób jest zgodne z najlepszymi praktykami programowania w PHP, które zalecają używanie wbudowanych funkcji do zarządzania datami i czasem, co zapewnia większą niezawodność i prostotę w kodzie.

Pytanie 22

Standard kodowania ISO-8859-2 jest używany do poprawnego wyświetlania

A. symboli matematycznych
B. znaków zarezerwowanych dla języka opisu strony
C. znaków specjalnych dla języka kodu strony
D. polskich liter, takich jak: ś, ć, ń, ó, ą
Wybór odpowiedzi dotyczący znaków specjalnych dla języka kodu strony sugeruje, że ISO-8859-2 byłoby używane do obsługi elementów związanych z kodowaniem strony, co jest mylące. Chociaż kodowanie znaków jest istotne dla wyświetlania treści, odnosi się ono głównie do sposobu, w jaki znaki są reprezentowane w kodzie komputerowym, a nie do języka kodu strony. Z kolei odpowiedź dotycząca znaków zarezerwowanych dla języka opisu strony wprowadza dodatkowy zamęt, ponieważ zarezerwowane znaki nie mają związku z kodowaniem znaków, lecz dotyczy to specyficznych symboli i elementów w języku HTML, które mogą być interpretowane przez przeglądarki. Ostatnia odpowiedź sugerująca, że ISO-8859-2 jest używane dla symboli matematycznych nie ma podstaw, ponieważ ten standard koncentruje się na znakach używanych w językach europejskich. Takie nieprawidłowe podejścia mogą wynikać z braku zrozumienia specyfikacji standardów kodowania, co prowadzi do nieporozumień w zakresie ich zastosowania w praktyce. Należy pamiętać, że w kontekście tworzenia stron internetowych kluczowe jest wykorzystanie odpowiedniego kodowania, które zapewnia prawidłowe wyświetlanie treści, a nie symboli specyficznych dla danej dziedziny. Dlatego, dla zrozumienia znaczenia kodowania znaków, niezbędne jest zapoznanie się z dokumentacją oraz standardami, które definiują, jak różne znaki są reprezentowane w różnych kodowaniach.

Pytanie 23

W SQL, aby dodać kolumnę rozmiar typu znakowego o maksymalnej długości 20 znaków do tabeli Towar, należy wykonać następujące polecenie

A. ALTER TABLE Towar ADD rozmiar varchar(20)
B. ALTER TABLE Towar DROP COLUMN rozmiar varchar(20)
C. ALTER TABLE Towar ALTER COLUMN rozmiar varchar(20)
D. ALTER TABLE Towar CREATE COLUMN rozmiar varchar(20)
Osoby, które wybrały niepoprawne odpowiedzi, mogły zauważyć, że polecenie ALTER TABLE jest używane do modyfikacji struktury tabeli, jednak niektóre z podanych opcji są niewłaściwe w kontekście dodawania kolumny. Przykładowo, użycie DROP COLUMN jest błędne, ponieważ służy ono do usuwania kolumny z tabeli, a nie jej dodawania. Implementacja DROP COLUMN nie jest zgodna z intuicyjnym zrozumieniem modyfikacji tabeli, ponieważ wprowadza chaos w danych, a nie ich rozszerzenie. Kolejna niepoprawna odpowiedź sugeruje użycie ALTER COLUMN, co jest również mylące, ponieważ to polecenie jest przeznaczone do modyfikacji istniejącej kolumny, a nie do dodawania nowej. Modyfikacja kolumny wymaga zdefiniowania jej typu lub atrybutów, co nie jest zgodne z koncepcją dodawania nowego elementu do tabeli. Ostatnia odpowiedź, która sugeruje polecenie CREATE COLUMN, jest niewłaściwa, ponieważ polecenie CREATE nie jest częścią standardowej składni SQL w kontekście zmiany struktury istniejącej tabeli. CREATE jest używane do tworzenia nowych tabel, indeksów, lub innych obiektów w bazie danych, a nie do dodawania kolumn do już istniejących tabel. W związku z tym, wszystkie wymienione odpowiedzi są błędne, ponieważ nie stosują właściwej składni SQL ani nie odzwierciedlają poprawnych operacji na tabelach.

Pytanie 24

Tabela filmy dysponuje kluczem głównym id oraz kluczem obcym rezyserlD. Tabela rezyserzy posiada klucz główny id. Obie tabele są połączone relacją jeden do wielu, gdzie rezyserzy są po stronie jeden, a filmy po stronie wiele. Jak należy zapisać kwerendę SELECT, aby połączyć tabele filmy i rezyserzy?

A. ... filmy JOIN rezyserzy ON filmy.rezyserlD = rezyserzy.id ...
B. ... filmy JOIN rezyserzy ON filmy.rezyserlD = rezyserzy.filmylD ...
C. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.filmylD ...
D. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.id ...
Poprawna odpowiedź: '... filmy JOIN rezyserzy ON filmy.rezyserlD = rezyserzy.id ...' jest zgodna z zasadami łączenia tabel w relacyjnych bazach danych. W tym przypadku 'rezyserlD' jest kluczem obcym w tabeli 'filmy', który odnosi się do 'id' w tabeli 'rezyserzy', co oznacza, że jeden reżyser może być przypisany do wielu filmów. Dzięki temu połączeniu możemy uzyskać informacje o filmach razem z danymi reżyserów. W praktyce, aby uzyskać szczegółowe informacje o filmach oraz ich reżyserach, takie zapytanie umożliwia efektywne łączenie danych, co jest kluczowe w aplikacjach bazodanowych, które wymagają integracji danych z różnych źródeł. Zastosowanie kluczy obcych w relacyjnych bazach danych jest standardem i pozwala na zapewnienie integralności danych, a także optymalizację zapytań. Dobrą praktyką jest również dbałość o odpowiednie nazewnictwo kolumn, aby jasno wskazywały one na ich przeznaczenie oraz relacje między tabelami, co znacząco ułatwia późniejszą pracę z bazą.

Pytanie 25

W języku PHP do zmiennej a przypisano tekst, w którym wielokrotnie występuje słowo Kowalski. W celu zamiany wszystkich wystąpień słowa Kowalski na słowo Nowak w zmiennej a, należy użyć polecenia

A. $a = str_rep('Kowalski', 'Nowak', $a);
B. $a = str_replace('Nowak', 'Kowalski', $a);
C. $a = str_replace('Nowak', 'Kowalski');
D. $a = str_replace('Kowalski', 'Nowak', $a);
Odpowiedź $a = str_replace('Kowalski', 'Nowak', $a); jest na pewno dobra! Używasz funkcji str_replace, która w PHP jest mega przydatna do zamiany tekstu. W tym przypadku, pierwsza część to słowo, które chcesz zmienić ('Kowalski'), druga to nowy tekst, którym je zastępujesz ('Nowak'), a trzecia to zmienna, na której pracujesz. Funkcja zwraca nowy tekst, gdzie wszystkie 'Kowalski' stały się 'Nowakami'. To super rozwiązanie, bo str_replace działa na wszystkich przypadkach podanego słowa, co sprawia, że jest naprawdę użyteczna w przetwarzaniu tekstów. Na przykład, jak a zawiera 'Kowalski, Kowalski i Kowalski', to po tym poleceniu dostaniesz 'Nowak, Nowak i Nowak'. Użycie tej funkcji to świetna praktyka w programowaniu, bo pisanie przejrzystego i efektywnego kodu to podstawa.

Pytanie 26

W dokumentacji języka PHP znajduje się informacja dotycząca jednej z jego funkcji:
„Warning. This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.”.
Zgodnie z tą informacją użycie tej funkcji jest:

A. niezalecane w wersji PHP 5.5.0 i dostępne od wersji 7.0.0.
B. przestarzałe od wersji PHP 5.5.0 i całkowicie usunięte w wersji 7.0.0.
C. niemożliwe w wersjach PHP 5.5.0 lub starszych i dostępne dopiero od wersji 7.0.0.
D. dostępne w wersjach PHP od 5.5.0 do 7.0.0 (włącznie) i niedostępne w innych wersjach.
Komunikat z dokumentacji PHP „Warning. This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.” oznacza dwa różne stany w cyklu życia funkcji/rozszerzenia. „Deprecated” od wersji 5.5.0 znaczy, że funkcja nadal działa, ale jej użycie jest oficjalnie niezalecane. Silnik PHP może generować ostrzeżenia (E_DEPRECATED), a autorzy języka jasno sugerują, żeby migrować kod na nowsze, wspierane rozwiązania. „Removed w PHP 7.0.0” oznacza, że od tej wersji funkcja po prostu nie istnieje – próba jej użycia skończy się błędem typu „undefined function” lub „undefined extension”. Z mojego doświadczenia wynika, że taki status to sygnał alarmowy dla programisty: w nowych projektach nie używamy funkcji oznaczonych jako deprecated, a w istniejących aplikacjach planujemy refaktoryzację, zanim wejdziemy na wyższą wersję PHP. Dobrym przykładem jest stare rozszerzenie mysql_* – od PHP 5.5 było oznaczone jako przestarzałe, a w PHP 7 zostało usunięte i trzeba było przejść na mysqli lub PDO. W praktyce, gdy widzisz w dokumentacji „deprecated od wersji X”, powinieneś: sprawdzić zalecaną alternatywę, włączyć raportowanie błędów i ostrzeżeń na środowisku developerskim, usunąć stopniowo wszystkie wywołania danej funkcji. Branżową dobrą praktyką jest też testowanie aplikacji na docelowej wersji PHP przed aktualizacją produkcji, żeby właśnie takie usunięte funkcje wyłapać automatycznie w logach lub podczas testów jednostkowych. Twoja odpowiedź dokładnie to odczytała: od 5.5 funkcja jest przestarzała (deprecated), a w 7.0 całkowicie znika z języka.

Pytanie 27

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

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

Pytanie 28

Aby uczynić stronę internetową bardziej dostępną dla osób niewidomych, należy przypisać obrazom wyświetlanym za pomocą znacznika img odpowiedni atrybut

A. alt
B. src
C. style
D. text
Atrybut alt (alternatywny) jest niezbędnym elementem w kontekście dostępności stron internetowych. Jego podstawową funkcją jest dostarczenie opisu graficznego treści zawartych w obrazach dla użytkowników korzystających z czytników ekranu. Dzięki temu niewidomi lub słabo widzący użytkownicy mogą zrozumieć, co przedstawia dany obraz. Przykładowo, jeśli na stronie znajduje się zdjęcie przedstawiające psa bawiącego się w parku, atrybut alt mógłby mieć wartość "Pies bawiący się w parku na zielonej trawie". To pozwala użytkownikowi na mentalne odtworzenie obrazu i kontekstu. W praktyce, zgodnie z wytycznymi WCAG (Web Content Accessibility Guidelines), każdy obraz użyty na stronie internetowej powinien mieć przypisany opis w atrybucie alt, co zwiększa dostępność i użyteczność treści. Warto również pamiętać, że atrybut alt powinien być używany tylko w sytuacjach, gdy obraz ma znaczenie dla treści; obrazy dekoracyjne powinny mieć pusty atrybut alt (alt=""). Dobre praktyki w zakresie dostępności podkreślają, że właściwe stosowanie atrybutów alt nie tylko wspiera użytkowników z niepełnosprawnościami, ale także poprawia SEO, gdyż wyszukiwarki lepiej rozumieją treści obrazów.

Pytanie 29

Proces przetwarzania sygnału wejściowego w czasie, wykorzystujący zasadę superpozycji, jest związany z filtrem

A. niezmiennym w czasie
B. przyczynowym
C. liniowym
D. o skończonej odpowiedzi impulsowej
Wybór odpowiedzi związanej z filtrami przyczynowymi, niezmiennymi w czasie i o skończonej odpowiedzi impulsowej może prowadzić do nieporozumień w kontekście filtracji sygnałów. Filtr przyczynowy, chociaż może być liniowy, niekoniecznie musi spełniać wszystkie założenia dotyczące superpozycji, ponieważ jego odpowiedź impulsowa ogranicza się do przeszłych wartości sygnału, co może wprowadzać dodatkowe zniekształcenia w analizie sygnałów. Stosowanie filtrów niezmiennych w czasie w kontekście superpozycji również wymaga ostrożności, ponieważ mogą one wprowadzać zmiany w amplitudzie i fazie sygnałów, co prowadzi do złożonych interakcji. Z kolei filtry o skończonej odpowiedzi impulsowej (FIR) są typem filtru liniowego, ale nie zawsze są przyczynowe; można je zaprojektować jako filtry nieprzyczynowe, co podważa ich użyteczność w kontekście rzeczywistych zastosowań przetwarzania sygnałów. Warto zauważyć, że w praktyce, projektowanie filtrów wymaga zrozumienia i analizy zarówno ich właściwości liniowych, jak i nieliniowych, a także wpływu na jakość przetwarzanych sygnałów. Kluczowe jest również uwzględnienie spektrum sygnału oraz jego cech, co jest zgodne z najlepszymi praktykami inżynieryjnymi, aby uzyskać optymalne wyniki w aplikacjach inżynieryjnych.

Pytanie 30

Podana jest tabela psy z polami: imie, rasa, telefon_wlasciciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby znaleźć numery telefonów właścicieli, których psy 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 z kilku powodów. Przede wszystkim, zapytanie to spełnia wymogi dotyczące selekcji danych z tabeli 'psy', koncentrując się na właścicielach psów, które zostały zaszczepione przed rokiem 2015. W SQL klauzula WHERE jest kluczowym elementem, który pozwala na filtrowanie wyników według określonych kryteriów. W tym przypadku, filtrujemy psy na podstawie roku ich szczepienia, co jest zgodne z naszym celem. Ponadto, selekcjonowanie tylko kolumny 'telefon_wlasciciela' jest właściwe, ponieważ chcemy uzyskać konkretne dane, a nie całą tabelę. Użycie operatora '<' jest odpowiednie, ponieważ skupia się na roku mniejszym niż 2015. Praktycznym zastosowaniem tego zapytania może być uzyskanie kontaktów do właścicieli, aby przypomnieć im o konieczności ponownego zaszczepienia ich psów, co wpisuje się w działania profilaktyczne i zdrowotne w dbaniu o dobrostan zwierząt. Warto również pamiętać, że dobre praktyki w projektowaniu baz danych zalecają użycie poprawnych typów danych oraz właściwe indeksowanie kolumn, co może przyspieszyć wykonanie zapytań tego typu.

Pytanie 31

Wyrażenie JavaScript:

document.write(5==='5');
Co zostanie wyświetlone?
A. 0
B. 1
C. true
D. false
Odpowiedź 'false' jest jak najbardziej na miejscu, bo operator '===' w JavaScript sprawdza nie tylko wartość, ale i typ danych. Przykład 'document.write(5 === '5');' pokazuje, że porównujemy liczbę (5) z ciągiem znaków ('5'). To są różne typy, więc nie mogą być równe! Generalnie, lepiej używać '===' w programowaniu, bo to eliminuje niejasności, które mogą się pojawić przy '=='. Ten drugi lubi zamieniać typy, co czasami prowadzi do chaosu. Dobrze jest mieć na uwadze, że w obiektowym programowaniu ważne jest, by typy danych się zgadzały. Używając '===', mamy pewność, że unikniemy niechcianych błędów związanych z typami.

Pytanie 32

W języku PHP, aby nawiązać połączenie z bazą danych MySQL za pomocą biblioteki mysqli, wykorzystując podany kod, w miejscu parametru 'c' powinno się wpisać

$a = new mysqli('b', 'c', 'd', 'e')
A. nazwę użytkownika
B. hasło użytkownika
C. nazwę bazy danych
D. lokalizację serwera bazy danych
Aby poprawnie korzystać z biblioteki mysqli w PHP konieczne jest zrozumienie kolejności i znaczenia parametrów używanych do nawiązywania połączenia z bazą danych MySQL. Pierwszym parametrem w funkcji mysqli_connect lub konstruktorze klasy mysqli jest lokalizacja serwera bazy danych. Zazwyczaj wartością domyślną jest 'localhost' co oznacza że serwer bazy danych działa na tej samej maszynie co serwer PHP. Błędne przypisywanie innej wartości w tym miejscu może prowadzić do problemów z połączeniem jeśli serwer bazy danych jest w rzeczywistości lokalny. Drugim parametrem jest nazwa użytkownika która jest niezbędna do autoryzacji dostępu do bazy danych. Często stosowanym błędem jest użycie niewłaściwego użytkownika co może skutkować odmową dostępu do bazy. Trzecim jest hasło które powinno być silne i dobrze zabezpieczone aby zapobiec nieautoryzowanemu dostępowi. Błędne przypisanie tego parametru może skutkować podatnością na ataki. Czwartym parametrem jest nazwa bazy danych do której zamierzamy się połączyć. Błędne podanie tej wartości może powodować że operacje bazy danych będą wykonywane na niewłaściwej bazie co może mieć katastrofalne skutki dla danych. Zrozumienie i poprawne przypisanie tych wartości jest kluczowe w kontekście bezpieczeństwa i stabilności aplikacji webowych i często jest elementem dobrych praktyk w programowaniu PHP. Również zrozumienie tego w kontekście skalowalności i zarządzania środowiskami produkcyjnymi jest istotne aby uniknąć problemów związanych z konfiguracją na różnych etapach rozwoju aplikacji. Właściwe zarządzanie tymi parametrami często wiąże się z używaniem plików konfiguracyjnych co pozwala na łatwiejsze zarządzanie i większą elastyczność w kontekście różnych środowisk programistycznych i produkcyjnych. Poprawne zrozumienie tego mechanizmu jest kluczowe dla tworzenia bezpiecznych i stabilnych aplikacji webowych.

Pytanie 33

Jakiego znacznika używamy do definiowania list w HTML?

A. <td>
B. <tr>
C. <ul>
D. <th>
<ul> to znacznik w języku HTML, który definiuje nienumerowaną listę, co czyni go kluczowym elementem do strukturyzacji zawartości w dokumentach. Użycie <ul> pozwala na grupowanie powiązanych elementów, co zwiększa czytelność i dostępność treści. Zgodnie z zasadami semantycznego HTML, stosowanie list poprawia organizację informacji i ułatwia ich przetwarzanie przez maszyny, w tym wyszukiwarki internetowe. Przykład zastosowania: w sekcji strony internetowej przedstawiającej cechy produktu możemy użyć <ul> do wypisania jego zalet. Dobrym zwyczajem jest także dodawanie odpowiednich znaczników <li> dla poszczególnych elementów listy. Przykład: <ul><li>Zaleta 1</li><li>Zaleta 2</li></ul>. Dzięki temu tworzony jest bardziej przejrzysty i strukturalny układ treści, co przekłada się na lepsze doświadczenia użytkownika oraz spełnia standardy W3C dotyczące semantyki HTML.

Pytanie 34

Jakie narzędzie pozwala na zaimportowanie pliku z danymi SQL do bazy danych MySQL?

A. Symfony 3
B. TotalCommander
C. FileZilla
D. phpMyAdmin
phpMyAdmin to popularne narzędzie webowe, które umożliwia zarządzanie bazami danych MySQL i MariaDB. Dzięki phpMyAdmin można łatwo importować pliki z danymi SQL do bazy danych. Proces importu jest prosty: wystarczy zalogować się do phpMyAdmin, wybrać odpowiednią bazę danych, a następnie skorzystać z opcji 'Import'. Użytkownik może wskazać plik SQL, który chce zaimportować, a phpMyAdmin zadba o resztę. To narzędzie obsługuje różne formaty plików, w tym .sql, co czyni je wszechstronnym rozwiązaniem. Dodatkowo, phpMyAdmin oferuje funkcje umożliwiające zarządzanie strukturą tabel, przeglądanie danych, a także eksportowanie danych do różnych formatów. Narzędzie to jest zgodne z międzynarodowymi standardami bezpieczeństwa i dostępności, co czyni je popularnym wyborem wśród programistów i administratorów baz danych. Przykładem użycia może być migracja danych z lokalnego środowiska deweloperskiego do produkcyjnego, gdzie import danych SQL jest kluczowym krokiem w procesie wdrożenia.

Pytanie 35

Po wykonaniu kodu PHP zostanie wyświetlona aktualna data zawierająca jedynie
echo date("Y");

A. miesiąc i rok
B. rok
C. dzień i miesiąc
D. dzień
Odpowiedź \"rok\" jest prawidłowa, ponieważ funkcja `date()` w PHP, w przypadku użycia formatu \"Y\", zwraca czterocyfrowy rok bieżącej daty. Funkcja ta jest kluczowa w kontekście programowania w PHP, szczególnie gdy chodzi o zarządzanie datami i czasem. W praktyce, używanie tej funkcji jest niezwykle istotne w aplikacjach internetowych, gdzie często jest potrzebne wyświetlenie daty w różnych formach. Na przykład, w systemach zarządzania treścią (CMS) można stosować funkcję `date()` do automatycznego generowania daty publikacji artykułów. Warto również zaznaczyć, że PHP oferuje różne formaty dla dat, a stosowanie standardów, takich jak format ISO 8601, może być przydatne w przypadku wymiany danych z innymi systemami. Używanie `date("Y")` to dobra praktyka, aby uniknąć problemów z lokalizacją i zapewnić spójność w wyświetlaniu daty na stronach internetowych."

Pytanie 36

W jakim formacie zostanie wyświetlona data po uruchomieniu poniższego kodu?

<?php
    echo date('l, dS F Y');
?>
A. Monday, 10th July 2017
B. Monday, 10 July 2017
C. Monday, 10th July 17
D. 10, Monday July 2017
Twoja odpowiedź jest prawidłowa. Kod PHP wyświetli datę w formacie 'Monday, 10th July 2017', ponieważ używa funkcji date() z odpowiednimi parametrami formatowania. Parametr 'l' zwraca pełną nazwę dnia tygodnia, 'd' zwraca dzień miesiąca z zerem wiodącym, 'S' dodaje angielski sufiks liczby porządkowej do dnia miesiąca, 'F' zwraca pełną nazwę miesiąca, a 'Y' zwraca pełny rok. To jest standardowy sposób formatowania daty w PHP i jest zgodny z dobrymi praktykami programowania. Pozwala na czytelne i zrozumiałe wyświetlanie daty dla użytkowników końcowych. Dobrze jest pamiętać o tych konwencjach, ponieważ różne systemy mogą wymagać różnych formatów daty. Zrozumienie, jak korzystać z funkcji date() w PHP, pozwoli Ci na elastyczne i efektywne manipulowanie danymi daty.

Pytanie 37

Aby zdefiniować pole w klasie, do którego dostęp mają jedynie metody tej klasy, a które jest niedostępne dla klas dziedziczących, konieczne jest zastosowanie kwalifikatora dostępu

A. chroniony
B. prywatny
C. publikowany
D. publiczny
Odpowiedź 'private' jest prawidłowa, ponieważ oznacza ona, że pole klasy jest dostępne wyłącznie z metod tej klasy. W praktyce oznacza to, że inne klasy, w tym klasy pochodne, nie mają dostępu do tego pola. Takie podejście jest zgodne z zasadą enkapsulacji, która jest jedną z podstawowych zasad programowania obiektowego. Dzięki wykorzystywaniu modyfikatora 'private', programiści mogą chronić stan obiektów przed nieautoryzowanym dostępem oraz zapewnić integralność danych. Na przykład, jeśli mamy klasę 'Samochód' z polem 'prędkość', które powinno być modyfikowane tylko przez metody tej klasy, definiując to pole jako 'private', mamy pewność, że nie zostanie ono zmienione przez zewnętrzne klasy lub nieautoryzowane operacje. Dobrą praktyką jest również stosowanie właściwości (getterów i setterów), aby kontrolować dostęp do takich pól, co dodatkowo zwiększa bezpieczeństwo i elastyczność kodu. W związku z tym, użycie modyfikatora 'private' jest nie tylko poprawne, ale i zalecane w programowaniu obiektowym.

Pytanie 38

Które dane z 8 rekordów wpisanych do tabeli zwierzeta zostaną wyświetlone w wyniku podanego poniżej zapytania SQL?

SELECT imie FROM zwierzeta WHERE rodzaj = 2 AND szczepienie = 2016;

idrodzajimiewlascicielszczepienieopis
11FafikAdam Kowalski2016problemy z uszami
21BrutusAnna Wysocka2016zapalenie krtani
41SabaMonika Nowak2015antybiotyk
51AlmaJan KowalewskiNULLantybiotyk
62FigaroAnna KowalskaNULLproblemy z uszami
72DikaKatarzyna Kowal2016operacja
82FuksJan Nowak2016antybiotyk
A. Figaro, Dika, Fuks.
B. Fafik, Brutus, Dika, Fuks.
C. Dika, Fuks.
D. Anna Kowalska, Jan Nowak.
Gratulacje! Twoja odpowiedź była poprawna. Wybrałeś 'Dika, Fuks.', co jest prawidłowym wynikiem dla podanego zapytania SQL. Zapytanie przeszukuje bazę danych zwierząt z podziałem na pewne kryteria - w tym przypadku są to zwierzęta o rodzaju, który odpowiada 2 oraz które były szczepione w 2016 roku. Wśród wszystkich rekordów w tabeli tylko 'Dika' i 'Fuks' spełniają te kryteria, dlatego tylko one są wyświetlane. To pokazuje, jak potężne i elastyczne mogą być zapytania SQL - możemy przeszukiwać ogromne ilości danych, stosując różne warunki, aby otrzymać dokładnie to, czego szukamy. Zrozumienie i umiejętne wykorzystanie takich zapytań jest kluczowe w pracy z bazami danych. Pamiętaj, że SQL pozwala nie tylko na pobieranie danych, ale również na ich modyfikację, usuwanie oraz dodawanie nowych rekordów do bazy. Spróbuj teraz zastosować swoją wiedzę w praktycznych zadaniach!

Pytanie 39

W CSS należy ustawić tło dokumentu na obrazek rys.png. Obrazek powinien się powtarzać tylko w poziomej osi. Jaką definicję powinien mieć selektor body?

A. {background-image: url("rys.png"); background-repeat: round;}
B. {background-image: url("rys.png"); background-repeat: repeat;}
C. {background-image: url("rys.png"); background-repeat: repeat-y;}
D. {background-image: url("rys.png"); background-repeat: repeat-x;}
Wybrana odpowiedź {background-image: url("rys.png"); background-repeat: repeat-x;} jest poprawna, ponieważ precyzyjnie definiuje tło dokumentu jako obrazek 'rys.png', który ma się powtarzać wyłącznie w poziomie. W CSS, właściwość 'background-image' pozwala na ustawienie obrazu jako tła, a 'background-repeat' kontroluje, w jaki sposób tło się powtarza. Użycie wartości 'repeat-x' oznacza, że obrazek będzie powtarzany tylko w osi poziomej, co jest idealne dla wzorów, które powinny być rozciągnięte na całej szerokości ekranu, ale nie na wysokości. Przykładem zastosowania może być stworzenie tła z deseniem, które ma być widoczne w poziomie, np. paski lub linie, co jest powszechnie stosowane w projektowaniu stron internetowych. Zgodnie z dobrymi praktykami, warto również pamiętać, aby dostosować rozmiar obrazka do wymagań responsywności, aby zapewnić optymalne wyświetlanie na różnych urządzeniach.

Pytanie 40

W HTML, aby dodać obrazek z tekstem umieszczonym pośrodku obrazka, konieczne jest użycie znacznika

A. <img src="obrazek.png" alt="obraz2" align="middle"> tekst
B. <img src="obrazek.png" alt="obraz4"> tekst
C. <img src="obrazek.png" alt="obraz1" hspace="30px"> tekst
D. <img src="obrazek.png" alt="obraz3" height="50%"> tekst
Odpowiedzi, które nie są poprawne, zawierają różne koncepcje i podejścia, które nie spełniają wymogów wyśrodkowania tekstu wokół obrazka. Na przykład, użycie <img src="obrazek.png" alt="obraz3" height="50%"> tekst jest niewłaściwe, ponieważ atrybut height nie wpływa na położenie tekstu w stosunku do obrazka. W rzeczywistości, atrybut ten jedynie zmienia wysokość obrazka, co nie ma związku z umiejscowieniem tekstu. To podejście może prowadzić do błędnych wniosków, że zmiana wymiarów obrazka automatycznie wpływa na układ tekstu, co jest mylne. Z kolei, <img src="obrazek.png" alt="obraz4"> tekst nie zawiera żadnych atrybutów, które mogłyby zdefiniować położenie tekstu, co sprawia, że tekst będzie po prostu wyświetlany obok obrazka, bez jakiejkolwiek kontroli nad jego wyrównaniem. W kontekście nowoczesnych standardów HTML5, brak zastosowania CSS do stylizacji układu nie tylko obniża estetykę strony, ale również nie spełnia oczekiwań dotyczących dostępności. Wiele aplikacji internetowych i stron korzysta z CSS do precyzyjnego zarządzania położeniem elementów, co jest zgodne z zasadami responsywnego projektowania. Użycie atrybutu align z wartością middle w odpowiedzi 2 jest najodpowiedniejszym sposobem na zapewnienie poprawnego wyśrodkowania tekstu, co jest kluczowe w projektowaniu stron internetowych, gdzie zarówno estetyka, jak i funkcjonalność mają duże znaczenie.