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: 13 kwietnia 2026 13:32
  • Data zakończenia: 13 kwietnia 2026 13:57

Egzamin zdany!

Wynik: 29/40 punktów (72,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

Który z podanych formatów pozwala na zapis zarówno dźwięku, jak i obrazu?

A. WAV
B. MP4
C. PNG
D. MP3
Format MP4, znany również jako MPEG-4 Part 14, jest jednym z najpopularniejszych formatów multimedialnych, który umożliwia jednoczesny zapis zarówno dźwięku, jak i obrazu. Dzięki zastosowaniu zaawansowanej kompresji, MP4 pozwala na przechowywanie wysokiej jakości materiałów w stosunkowo małych plikach, co czyni go idealnym do przesyłania i strumieniowania w Internecie. MP4 obsługuje wiele kodeków, takich jak H.264 dla wideo oraz AAC dla dźwięku, co pozwala na szeroką kompatybilność z różnymi urządzeniami, od smartfonów po odtwarzacze multimedialne. Format ten jest zgodny z wieloma standardami, co czyni go wszechstronnym wyborem dla twórców treści. Przykłady jego zastosowania obejmują filmy wideo na platformach streamingowych, klipy muzyczne i wideoklipy. Dzięki swoim zaletom, MP4 stał się de facto standardem w przemyśle multimedialnym, co w znacznym stopniu przyczyniło się do jego popularności oraz wszechstronności.

Pytanie 2

Barwy kolorów reprezentowane na stożku można uzyskać w modelu

A. RGB
B. CIEXYZ
C. HSV
D. CMYK
W tym pytaniu haczyk polega na tym, że różne modele barw mają zupełnie inną logikę i geometrię przedstawiania kolorów. Pomylenie ich jest bardzo częste, bo w praktyce ciągle przewijają się te same skróty: RGB, CMYK, CIEXYZ, HSV. Warto je sobie dobrze poukładać. Model RGB opisuje kolor jako kombinację trzech składowych: czerwonej, zielonej i niebieskiej. Geometrycznie przedstawia się go jako sześcian: każdy wymiar to jedna składowa, od 0 do 255 (lub 0–1 w zapisie znormalizowanym). To jest model addytywny, typowy dla monitorów, telewizorów, ekranów smartfonów. Można go wizualizować na różne sposoby, ale klasycznie nie jako stożek barw, tylko właśnie jako kostkę przestrzeni kolorów. CMYK to z kolei model subtraktywny, wykorzystywany głównie w druku – Cyan, Magenta, Yellow, Key (Black). Tutaj myśli się raczej o nałożeniu farb drukarskich niż o intuicyjnej percepcji koloru. Geometria prezentacji CMYK też nie jest stożkiem, tylko wielowymiarową bryłą, a sam model słabo nadaje się do „ludzkiego” doboru kolorów na ekranie, dlatego nie stosuje się go jako podstawy kolor-pickerów do WWW czy interfejsów. CIEXYZ jest jeszcze inną historią: to matematyczny, ustandaryzowany przez CIE model przestrzeni barw, który ma dobrze odwzorowywać ludzkie postrzeganie koloru i służy jako punkt odniesienia do kalibracji, profilowania kolorów, ICC itp. On jest fundamentem kolorometrii, ale w codziennej pracy grafika czy web developera rzadko ktoś bezpośrednio „maluje” w CIEXYZ. Typowy błąd polega na tym, że skoro każdy z tych modeli opisuje kolory, to wydaje się, że można je dowolnie przedstawić w formie stożka. Jednak stożek barw to specyficzna wizualizacja modelu o parametrach: odcień, nasycenie i jasność (lub podobne), czyli właśnie HSV/HSL. Dopiero taki podział pozwala wygodnie ułożyć barwy wokół osi (Hue) i wzdłuż wysokości (Value). Dlatego tylko HSV z podanych odpowiedzi pasuje do opisu barw reprezentowanych na stożku.

Pytanie 3

Jakie polecenie wykonane w systemowej konsoli umożliwi przywrócenie bazy danych?

A. mysqldump -u root -p baza < kopia.sql
B. mysqldump -u root -p baza > kopia.sql
C. mysql -u root -p baza < kopia.sql
D. mysql -u root -p baza > kopia.sql
Wszystkie inne odpowiedzi są niepoprawne, ponieważ z użyciem niewłaściwych poleceń z systemu MySQL. Pierwsze z tych poleceń, zamiast przywracać bazę danych, tworzy jej kopię zapasową, co nie odpowiada na zadane pytanie. Użycie 'mysqldump' z parametrami '-u root -p baza > kopia.sql' jest sposobem na eksport danych z bazy do pliku SQL, a nie na ich import. Kolejne polecenie sugeruje zastosowanie 'mysqldump' w kontekście przywracania, co jest również błędne, ponieważ 'mysqldump' jest narzędziem służącym do zrzutów, a nie importu. Z kolei ostatnie polecenie 'mysql -u root -p baza > kopia.sql' ponownie nie wykonuje przywracania, lecz zapisuje dane z bazy danych do pliku, co jest odwrotnością oczekiwanej operacji. W praktyce, błędne zastosowanie tych poleceń może prowadzić do poważnych konsekwencji, takich jak utrata danych czy niewłaściwe zarządzanie bazą danych. Dlatego kluczowe jest zrozumienie roli każdego z narzędzi dostępnych w MySQL oraz ich poprawne zastosowanie w różnych scenariuszach administracyjnych.

Pytanie 4

Podczas tworzenia tabeli w SQL określono pole, w którym wartości muszą być unikalne. Którego atrybutu należy użyć w jego definicji?

A. NOT NULL
B. DEFAULT
C. UNIQUE
D. IDENTITY
Atrybut UNIQUE w SQL służy do zapewnienia, że wartości w danym polu są unikalne w całej tabeli. Jest to kluczowy mechanizm dla zachowania integralności danych, szczególnie w przypadkach, gdy konkretne pole powinno pełnić rolę identyfikatora lub klucza obcego. Przykładem zastosowania atrybutu UNIQUE może być tabela zawierająca dane o użytkownikach, w której adres e-mail musi być wyjątkowy dla każdego użytkownika. Definiując pole e-mail jako UNIQUE, baza danych zablokuje możliwość dodania dwóch rekordów z tym samym adresem, co chroni przed duplikacją danych. Warto pamiętać, że atrybut UNIQUE może być stosowany na wielu polach jednocześnie, co pozwala na tworzenie złożonych reguł unikalności. Przykładowo, można zdefiniować UNIQUE na kombinacji imienia i nazwiska w tabeli klientów, co zapewni, że nie pojawią się dwa identyczne wpisy dla tej samej osoby. Praktyka ta jest zgodna z zasadami normalizacji danych, które dążą do minimalizacji redundancji oraz zapewnienia spójności danych w bazie.

Pytanie 5

Co oznacza w języku C++ przedstawiony fragment kodu?

struct CONTACT
{
std::string nazwisko;
std::string telefon;
int numer;
};
A. Trzy niezależne zmienne
B. Interakcję między zmiennymi lokalnymi a globalnymi
C. Organizację zmiennych
D. Typ strukturalny składający się z trzech pól
Fragment kodu, który przedstawiłeś, dotyczy struktury CONTACT w C++. W sumie fajnie, że w jednym miejscu udało się zebrać różne dane, bo struktury właśnie do tego służą. Mają one trzy pola: dwa typu std::string, czyli nazwisko i telefon, oraz jedno pole typu int, które nazywa się numer. To pole int służy do przechowywania liczb, na przykład identyfikatorów kontaktów. Struktury są super przydatne, bo pozwalają w łatwy sposób zarządzać danymi, które są ze sobą powiązane. W programowaniu obiektowym, jak w C++, to bardzo ważne, by mieć ładnie zorganizowane dane, bo to znacznie ułatwia życie przy większych projektach. Używanie struktur nie tylko poprawia czytelność kodu, ale też pozwala na łatwiejsze przekazywanie danych do funkcji. Różne konwencje, jak ta, że struktury reprezentują obiekty rzeczywiste, naprawdę mogą zwiększać modularność i elastyczność naszego kodu.

Pytanie 6

Wśród technik rozwiązywania problemów w przedsiębiorstwie znajdują się: ignorowanie, separacja, arbitraż oraz kompromis. Wskaż metodę, która szczególnie może być niebezpieczna i prowadzić do zaostrzenia konfliktu w firmie?

A. ignorowanie
B. kompromis
C. arbitraż
D. separacja
Odpowiedzią, która wskazuje na technikę szczególnie ryzykowną, jest ignorowanie. Ignorowanie problemów w firmie może prowadzić do ich eskalacji, ponieważ nie podejmowanie działań w sytuacjach konfliktowych często prowadzi do narastających napięć. Przykładowo, jeśli zespół projektowy ma niezgodności co do metodologii pracy, a kierownik postanowi to zignorować, różnice mogą się pogłębiać, prowadząc do braku współpracy i obniżenia morale. W praktyce, ignorowanie konfliktów jest jednym z najczęstszych błędów w zarządzaniu, co potwierdzają standardy zarządzania projektami, takie jak PMBOK, które zalecają aktywne podejście do rozwiązywania konfliktów. Ignorowanie problemów nie tylko wpływa na dynamikę zespołu, ale także może wpłynąć na wyniki finansowe organizacji, ponieważ niewłaściwe zarządzanie konfliktami może prowadzić do opóźnień w projektach oraz zwiększonych kosztów. Z tego względu kluczowe jest, aby menedżerowie i liderzy nie bagatelizowali konfliktów, lecz podejmowali działania w celu ich rozwiązania oraz wprowadzenia kultury otwartej komunikacji w zespole.

Pytanie 7

W HTML-u, aby umieścić animację FLASH (z rozszerzeniem .swf) na stronie www, powinno się wykorzystać znacznik

A. <video>
B. <audio>
C. <img>
D. <object>
No to wiesz, że znacznik <object> to najlepszy sposób na osadzanie multimediów na stronie, zwłaszcza animacji FLASH (.swf). Działa to tak, że możemy włączyć różne treści zewnętrzne do HTML, co jest super do integracji różnych plików, jak wideo czy dźwięki. Patrz na ten przykład: <object data='animacja.swf' width='600' height='400'> <param name='autoplay' value='true'> <param name='loop' value='true'> </object>. Zauważ, że <object> może mieć różne atrybuty, które pomagają w kontrolowaniu jak to wszystko się wyświetla, jak 'width', 'height' i inne parametry odtwarzania. Jednak, biorąc pod uwagę dzisiejsze standardy, FLASH jest trochę na wylocie przez problemy z bezpieczeństwem i wsparciem przeglądarek. Lepiej więc, zamiast tego, patrzeć w stronę HTML5 i JavaScript do tworzenia animacji. Można używać animacji CSS3 lub różnych bibliotek JS, które dają dużo więcej możliwości i lepsze wsparcie na urządzeniach mobilnych.

Pytanie 8

Aby odzyskać bazę danych z kopii zapasowej na serwerze MSSQL, należy użyć polecenia

A. BACKUP DATABASE
B. RESTORE DATABASE
C. EXPORT DATABASE
D. UNBACKUP DATABASE
Aby przywrócić bazę danych z kopii zapasowej na serwerze MSSQL, trzeba użyć polecenia RESTORE DATABASE. To bardzo ważna komenda, bo pozwala nam na odzyskanie danych do stanu sprzed jakiejś awarii czy utraty informacji. Można to robić w różnych sytuacjach, na przykład przywracając bazę z pełnej kopii zapasowej albo jakiejś różnicowej. Przykład użycia wygląda tak: RESTORE DATABASE [NazwaBazyDanych] FROM DISK = 'C:\Backup\KopiaZap.pdf' WITH REPLACE; co zastąpi starą bazę nową. Fajnie też wspomnieć, że standardy jak ISO 27001 pokazują, jak ważne są regularne kopie zapasowe, żeby zachować integralność danych i ciągłość działania. A tak przy okazji, przed przywracaniem warto zablokować dostęp do bazy, żeby nie było żadnych konfliktów.

Pytanie 9

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Barwienie.
B. Inwersja.
C. Progowanie.
D. Krzywe.
Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.

Pytanie 10

W języku HTML zapis < spowoduje w przeglądarki wyświetlenie znaku

A. &
B. "
C. >
D. <
Znak < w HTML ma specjalne znaczenie, ponieważ jest używany do oznaczania początku znaczników, które są fundamentem struktury dokumentów HTML. Aby prawidłowo wyświetlić ten znak w przeglądarce, należy użyć encji HTML, która dla znaku mniejszości to &lt;. Użycie encji pozwala na uniknięcie nieporozumień, ponieważ przeglądarka mogłaby zinterpretować znak < jako początek nowego znacznika. Przykładowo, aby wyświetlić tekst 'A < B' w HTML, kod powinien wyglądać następująco: A &lt; B. Zgodnie z dokumentacją W3C, stosowanie encji jest kluczowe dla zachowania poprawności kodu. Dzięki temu użytkownicy mogą zobaczyć zamierzony tekst, zamiast nieprawidłowo interpretowanego oznaczenia. Warto również zauważyć, że istnieją inne encje, takie jak &gt; dla znaku większości oraz &amp; dla znaku ampersand, które również pełnią istotne funkcje w kontekście HTML. Poprawne użycie encji przyczynia się do lepszej dostępności i zobrazowania treści na stronach internetowych."

Pytanie 11

Aby wykorzystać skrypt znajdujący się w pliku przyklad.js, konieczne jest połączenie go ze stroną przy użyciu kodu

A. <script>przyklad.js</script>
B. <script src="przyklad.js"></script>
C. <script link="przyklad.js"></script>
D. <link rel="script" href="przyklad.js">
Odpowiedź <script src="przyklad.js"></script> jest naprawdę na miejscu, bo użycie atrybutu 'src' w znaczniku <script> to taki standardowy sposób dołączania zewnętrznych skryptów JS do HTML-a. Atrybut 'src' mówi przeglądarce, gdzie znaleźć ten skrypt, więc może go załadować i wykonać. Dzięki temu, skrypt z pliku 'przyklad.js' wchodzi w interakcję ze stroną i może dodawać różne funkcje, jak na przykład reagowanie na działania użytkownika czy manipulowanie elementami na stronie. Pamiętaj, że najlepiej dołączać skrypty na końcu dokumentu, zaraz przed </body>, bo wtedy cała zawartość strony ładuje się najpierw. Warto też pomyśleć o atrybucie 'defer' lub 'async', żeby lepiej zoptymalizować ładowanie skryptów i nie blokować renderowania strony. Na przykład, <script src="przyklad.js" defer></script> pozwoli na asynchroniczne ładowanie, co z pewnością poprawia wydajność.

Pytanie 12

Dla przedstawionego fragmentu kodu

<img src="kwiat.jpg alt="kwiat">
walidator HTML zwróci błąd, ponieważ
A. użyto nieznanego atrybutu alt
B. nie odnaleziono pliku kwiat.jpg
C. użyto niewłaściwego znacznika do wyświetlenia grafiki
D. nie zamknięto cudzysłowu
W kodzie HTML zauważyłem mały błąd - brakuje ci domknięcia cudzysłowu dla atrybutu src. Powinno to wyglądać tak: <img src="kwiat.jpg" alt="kwiat">. No, cudzysłów jest ważny, bo bez niego przeglądarka może mieć problem z odczytaniem, gdzie kończy się wartość atrybutu. To może prowadzić do różnych, nieprzewidzianych efektów przy wyświetlaniu strony. Zasady W3C mówią, że każdy atrybut powinien być poprawnie sformatowany, żeby działało to na różnych przeglądarkach i urządzeniach. Pamiętaj też o atrybucie alt - jest kluczowy dla dostępności. Właściwe użycie cudzysłowów i dbałość o format kodu też wpływają na jego czytelność, a my przecież chcemy pisać jak najlepiej.

Pytanie 13

W systemie baz danych MySQL komenda CREATE USER pozwala na

A. stworzenie użytkownika oraz przypisanie mu uprawnień do bazy
B. zobaczenie danych o aktualnym użytkowniku
C. stworzenie nowego użytkownika
D. zmianę hasła dla już istniejącego użytkownika
Polecenie CREATE USER w bazie danych MySQL jest kluczowym narzędziem do zarządzania użytkownikami w systemie zarządzania bazami danych. Jego podstawowym celem jest utworzenie nowego konta użytkownika, które pozwala na autoryzowany dostęp do różnych zasobów bazy danych. Użycie tego polecenia wiąże się z określeniem nazwy użytkownika oraz hasła, a także opcjonalnymi parametrami, takimi jak host, który określa, z jakiego adresu IP użytkownik może uzyskać dostęp do serwera. Przykładowe polecenie CREATE USER wygląda następująco: CREATE USER 'nazwa_użytkownika'@'host' IDENTIFIED BY 'hasło'; Po utworzeniu użytkownika można przypisać mu odpowiednie uprawnienia za pomocą polecenia GRANT, co pozwala na kontrolowanie, jakie operacje użytkownik może wykonywać na bazie danych. Dobrą praktyką jest regularne przeglądanie i aktualizacja uprawnień użytkowników, aby zapewnić bezpieczeństwo danych. Zgodnie z najlepszymi standardami bezpieczeństwa należy unikać nadawania zbyt szerokich uprawnień, co jest zgodne z zasadą najmniejszych uprawnień (principle of least privilege).

Pytanie 14

W MySQL nadanie roli DBManager użytkownikowi pozwala na uzyskanie praw umożliwiających

A. nadzorowanie serwera
B. wszelkie operacje na bazach danych serwera
C. tworzenie kont użytkowników na serwerze oraz przypisywanie im haseł
D. wszystkie działania na bazach danych oraz użytkownikach serwera
Odpowiedź 'wszelkie operacje na bazach danych serwera' jest prawidłowa, ponieważ rola DBManager w MySQL przyznaje użytkownikowi pełne uprawnienia do zarządzania bazami danych. Obejmuje to możliwość tworzenia, modyfikowania i usuwania baz danych oraz tabel, a także wykonywania zapytań w tych bazach. Rola ta jest użyteczna w kontekście administracji bazami danych, gdzie administratorzy muszą mieć dostęp do wszystkich funkcji związanych z danymi. Przykładowo, administrator może wykorzystać tę rolę do optymalizacji wydajności baz danych poprzez indeksowanie tabel lub do tworzenia kopii zapasowych. Z perspektywy dobrych praktyk, nadawanie ról z odpowiednimi uprawnieniami powinno być przeprowadzane z rozwagą, aby zminimalizować ryzyko nieautoryzowanego dostępu i zapewnić integralność danych. Warto również pamiętać, że w MySQL można zastosować szczegółowe uprawnienia dla poszczególnych użytkowników, co pozwala na dostosowanie dostępu do konkretnych zadań w organizacji.

Pytanie 15

Jak można umieścić komentarz w kodzie PHP, używając odpowiednich symboli?

A. <? ... ?>
B. /* ... */
C. <!-- ... -->
D. /? ... ?/
W języku PHP, komentarze można umieszczać w kodzie przy użyciu znaku '/*' na początku i '*/' na końcu. Jest to standardowy sposób tworzenia komentarzy blokowych, który pozwala na dodanie dłuższych opisów lub notatek. Komentarze te są ignorowane przez interpreter PHP, co oznacza, że nie wpływają na działanie programu. Użycie komentarzy blokowych jest szczególnie przydatne w sytuacjach, gdy chcemy wyłączyć większe fragmenty kodu lub dokumentować skomplikowane algorytmy. Można również stosować komentarze jednolinijkowe, które rozpoczyna się od znaku '//'. Ważne jest, aby stosować komentarze w sposób przemyślany, aby poprawić czytelność kodu oraz ułatwić jego utrzymanie. Warto zaznaczyć, że zgodnie z zaleceniami standardów PEP8 i PSR-12, dobrze udokumentowany kod jest kluczowy dla jego długoterminowej użyteczności i współpracy w zespole programistycznym. Przykładem użycia komentarza blokowego może być: /* To jest komentarz blokowy, który wyjaśnia poniższy kod. */

Pytanie 16

Która zasada dotyczy programowania strukturalnego? 

A. Można tworzyć obiekty składające się z pól i metod.
B. W kodzie programu należy często korzystać z instrukcji skoku goto.
C. Dla powtarzających się sekwencji instrukcji należy tworzyć procedury i funkcje.
D. Nie można korzystać z instrukcji warunkowych if. 
W tym pytaniu łatwo wpaść w kilka typowych pułapek myślowych dotyczących stylów programowania. Programowanie strukturalne często myli się z innymi paradygmatami, szczególnie z programowaniem obiektowym albo z bardzo starym, „spaghetti kodem” opartym na instrukcjach skoku. W efekcie pojawiają się błędne skojarzenia, że skoro jest jakiś „styl programowania”, to pewnie czegoś kategorycznie zabrania, albo że sprowadza się do modnych pojęć jak obiekty czy klasy. Jednym z takich nieporozumień jest przekonanie, że w programowaniu strukturalnym nie wolno używać instrukcji warunkowych if. Jest dokładnie odwrotnie. Instrukcje warunkowe są jednym z trzech filarów programowania strukturalnego, obok sekwencji i pętli. To właśnie dzięki nim można budować czytelne rozgałęzienia logiki programu, zamiast skakać po kodzie goto. Gdy ktoś myśli, że „strukturalne” oznacza „bez if”, to zwykle wynika to z pomieszania pojęć albo z jakiegoś źle zapamiętanego hasła z teorii. Kolejna myląca sprawa to obiekty z polami i metodami. To już jest domena programowania obiektowego, które pojawiło się później i rozwinęło idee programowania strukturalnego, ale ich nie zastąpiło. W podejściu stricte strukturalnym skupiamy się na funkcjach, procedurach i danych, a nie na łączeniu ich w klasy i obiekty. Oczywiście w praktyce, w językach takich jak PHP czy JavaScript, często mieszamy te paradygmaty, ale sama możliwość tworzenia obiektów nie jest zasadą programowania strukturalnego. Dość zdradliwa jest też pokusa, żeby intensywnie korzystać z instrukcji skoku goto. Historycznie wiele języków je miało i programiści budowali z nich całe przepływy sterowania, co prowadziło do tzw. spaghetti code – kodu trudnego do śledzenia i utrzymania. Programowanie strukturalne właśnie z tym walczy: zamiast skakać w losowe miejsca pliku, używamy pętli, instrukcji warunkowych oraz dobrze wydzielonych procedur i funkcji. Jeżeli ktoś uważa goto za „skrócenie drogi”, to zwykle kończy z kodem, którego nikt nie chce potem dotykać. Sedno sprawy jest takie, że podstawowe dobre praktyki – unikanie goto, świadome używanie if i pętli, wydzielanie powtarzających się fragmentów do funkcji – to fundament, na którym buduje się dalsze, bardziej zaawansowane style programowania. Zrozumienie, dlaczego pozostałe odpowiedzi są sprzeczne z tym podejściem, pomaga lepiej ogarnąć, skąd wzięły się współczesne standardy jakości kodu i czemu tak mocno kładzie się nacisk na czytelność oraz utrzymywalność programu.

Pytanie 17

W instrukcjach, których celem jest odtwarzanie dźwięku na stronie internetowej jako tła muzycznego, nie stosuje się atrybutu

A. balance="10"
B. href="c:/100.wav"
C. loop="10"
D. volume="-100"
Wszystkie pozostałe odpowiedzi są niepoprawne z kilku powodów. Atrybut loop, który jest używany do powtarzania dźwięku, nie może przyjmować wartości liczbowych, dlatego loop='10' jest niewłaściwy. Wartość loop jest typu boolowskiego, gdzie obecność atrybutu w tagu <audio> lub <source> oznacza, że dźwięk ma być odtwarzany w pętli. Kolejną niepoprawną odpowiedzią jest balance='10', który nie jest uznawany za standardowy atrybut HTML. W kontekście dźwięku, nie istnieje atrybut balance, który mógłby kontrolować balans lewego i prawego kanału. Ostatnia z niepoprawnych odpowiedzi, volume='-100', także nie jest obowiązującym atrybutem. W HTML5 nie ma możliwości ustawienia głośności w ten sposób; zamiast tego dźwięk musi być kontrolowany za pomocą JavaScript i API Web Audio, co pozwala na programowe dostosowanie głośności dźwięku. Podsumowując, wszystkie te odpowiedzi nie odpowiadają na wymagania techniczne dotyczące odtwarzania dźwięku w standardach internetowych.

Pytanie 18

W jaki sposób można w języku CSS ustawić takie stylizowanie tabeli, aby wiersz, na którym obecnie znajduje się kursor myszki, zmieniał kolor tła na szary?

A. tr:active { background-color: gray; }
B. tr:active { color: gray; }
C. tr:hover { color: gray; }
D. tr:hover { background-color: gray; }
Odpowiedź tr:hover { background-color: gray; } jest całkiem trafna. Używasz pseudoklasy :hover, co jest super standardowym podejściem do stylizacji elementów, gdy kursor najedzie na nie. W tabeli to tak działa, że cały wiersz zmienia kolor tła na szary, co znacznie poprawia czytelność i jakby cały interfejs staje się bardziej interaktywny. To jest przydatne w aplikacjach webowych, bo użytkownicy szybko rozumieją, na którym wierszu akurat są. Można jeszcze dodać inne efekty, na przykład zmienić kolor tekstu czy dodać jakies cień. Przykład to jakieś interaktywne tabele w systemach do zarządzania danymi, gdzie jak najeżdżasz na wiersze, to wyświetlają się dodatkowe info lub pozwalają je edytować. Pamiętaj też o dostępności – dobrze jest zadbać o kontrasty kolorystyczne, żeby osoby z dysfunkcjami wzroku mogły z tego korzystać.

Pytanie 19

Jakie jest zadanie funkcji PHP o nazwie mysql_num_rows()?

A. zwrócić następny rekord z wynikami zapytania
B. zwrócić rekord o numerze podanym jako parametr funkcji
C. ponumerować rekordy w bazie danych
D. zwrócić liczbę wierszy znajdujących się w wyniku zapytania
Funkcja mysql_num_rows() w PHP jest używana do zwracania liczby wierszy w wyniku zapytania SQL, co jest kluczowe w pracy z danymi w bazach danych. Gdy wykonujemy zapytanie, na przykład za pomocą mysql_query(), otrzymujemy wynik w formie zasobu. Funkcja mysql_num_rows() pozwala na określenie, ile wierszy zostało zwróconych przez to zapytanie. To jest szczególnie przydatne w sytuacjach, gdy chcemy wiedzieć, czy dane istnieją, na przykład w aplikacjach webowych, gdzie użytkownik szuka określonych informacji. Oznacza to, że możemy dostosować logikę naszej aplikacji na podstawie liczby wyników. Ponadto, korzystając z tej funkcji, możemy monitorować i optymalizować zapytania, co jest zgodne z najlepszymi praktykami w zakresie wydajności i zarządzania bazami danych. Warto również zauważyć, że mysql_num_rows() działa w kontekście wywołania do bazy danych, co oznacza, że musi być używana w kontekście zasobu wynikowego, aby działać poprawnie.

Pytanie 20

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

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

Pytanie 21

W języku JavaScript, aby zweryfikować, czy liczba mieści się w zakresie (100;200>, należy użyć zapisu:

A. if (liczba < 100 && liczba <= 200)
B. if (liczba > 100 && liczba <= 200)
C. if (liczba > 100 || liczba <= 200)
D. if (liczba < 100 || liczba >= 200)
Zaznaczyłeś odpowiedź 'if (liczba > 100 && liczba <= 200)', i to jest całkiem trafne! Warunek ten sprawdza, czy liczba jest w przedziale od 100 do 200, co jest mega ważne. Wiesz, '>' oznacza, że liczba musi być większa niż 100, a '<=' pozwala na 200, ale nic większego. To coś, co często wykorzystujemy w programach, żeby kontrolować dane od użytkowników. Jak na przykład przy rejestracji – chcemy mieć pewność, że wszystko jest w normie. Umiejętność walidacji danych to kluczowa sprawa w programowaniu, bo dzięki temu możemy unikać różnych błędów. Fajnie, że zauważasz, jak operatory logiczne, takie jak '&&', mogą pomóc w budowaniu bardziej złożonych warunków – to czyni nasze aplikacje lepszymi. Ważne, żebyś rozumiał, jak to działa, bo to na pewno przyda się w przyszłości!

Pytanie 22

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

A. float fun1(int a)
B. void fun1(int a)
C. float fun1(void a)
D. int fun1(float 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 23

Fragment kodu w PHP przedstawia się następująco (patrz ramka): Przy założeniu, że zmienna tablicowa $tab zawiera liczby naturalne, wynik działania programu polega na wypisaniu

Ilustracja do pytania
A. najmniejszego elementu w tablicy
B. elementu tablicy równemu wartości $tab[0]
C. największego elementu w tablicy
D. tych elementów, które przewyższają wartość zmiennej $liczba
Zobaczmy teraz, co poszło nie tak z innymi odpowiedziami. W przypadku tej, co miała znaleźć najmniejszy element, to kod nie jest w stanie tego zrobić, ponieważ warunek if sprawdza, czy element jest większy, a powinien być mniejszy, żeby szukać minimum. Jakby zmienić na if ($element < $liczba), to byłoby ok. W innej odpowiedzi twierdzono, że program znajdzie element równy $tab[0], ale w kodzie nie ma żadnego porównania z tym pierwszym elementem, poza tym, że przypisujemy go do $liczba na początku. Brak tam dodatkowej logiki, żeby to ogarnąć. A w ostatniej odpowiedzi pisano o wypisywaniu elementów większych od $liczba, ale kod nie działa w ten sposób, bo nie ma tam nic, co by pozwalało na wypisywanie więcej niż jednego elementu. Program jedynie aktualizuje $liczba, żeby znaleźć największą wartość. Często takie pomyłki biorą się z braku zrozumienia, jak działa iteracja i porównania w programowaniu, gdzie trzeba dobrze rozumieć, jakie warunki i operacje są potrzebne.

Pytanie 24

Wskaż kod równoważny do przedstawionego kodu zapisanego językiem PHP.

$suma = 0;
for ($x = 10; $x <= 20; $x++) {
    $suma += $x;
}
Kod 1.
$suma = 0;
while ($x <= 20) {
    $suma += $x;
    $x++;
}
Kod 2.
$suma = 0;
$x = 10;
while ($x <= 20) {
    $suma += $x;
    $x++;
}
Kod 3.
$suma = 0;
$x = 1;
while ($x <= 10) {
    $suma += $x;
    $x++;
}
Kod 4.
$suma = 0;
$x = 10;
while ($x <= 20) {
    $suma = $x;
    $x++;
}
A. Kod 4.
B. Kod 1.
C. Kod 3.
D. Kod 2.
Wybrana przez Ciebie odpowiedź nie jest prawidłowa. Zostały tutaj przedstawione kody, które nie są równoważne do kodu PHP. Na przykład, może pojawić się kod, który używa innej pętli, ale nie inicjalizuje wartości $x na 10 lub nie inkrementuje jej aż do osiągnięcia wartości 20. Inny kod może nawet nie używać pętli, co jest fundamentalnym błędem, ponieważ pętle są niezbędne do wykonania określonej liczby operacji bez konieczności pisania dużej ilości kodu. Ważne jest, aby zwrócić uwagę na detale takie jak warunki pętli, sposoby inkrementacji, a także na to, czy kod faktycznie używa pętli. Pamiętaj, że wybór odpowiedniego rodzaju pętli jest kluczowy w zależności od problemu, który próbujesz rozwiązać. Pętle for są zazwyczaj używane, gdy z góry wiemy ile razy pętla ma być wykonana, a pętle while są używane, gdy nie wiemy ile razy pętla ma być wykonana, ale znamy warunek jej zakończenia. To jest podstawowa wiedza, którą każdy programista powinien posiadać, więc jeśli masz z tym problemy, warto poświęcić więcej czasu na zrozumienie pętli.

Pytanie 25

Aby zwiększyć wydajność operacji na bazie danych, należy dla pól, które są często wyszukiwane lub sortowane

A. dodać klucz obcy
B. utworzyć indeks
C. dodać więzy integralności
D. stworzyć osobną tabelę przechowującą tylko te pola
Tworzenie indeksu na polach, które często przeszukujesz lub sortujesz, to naprawdę ważna rzecz, jeśli chodzi o wydajność baz danych. Indeksy działają trochę jak spis treści w książkach – pozwalają systemowi szybko znaleźć te dane, których potrzebujesz, bez przeszukiwania całego folderu. Dzięki nim zapytania SELECT mogą iść jak burza, co ma ogromne znaczenie w aplikacjach, gdzie liczy się czas. Przykład? Jeśli zrobisz indeks na kolumnie 'email' w tabeli 'Users', to znacznie szybciej odnajdziesz użytkowników po adresie email. W praktyce warto też regularnie monitorować, jak działają te indeksy i je optymalizować, na przykład usuwając te, które są zbędne, żeby nie przeciążać bazy danych. Dobrze jest pamiętać, że przy dodawaniu lub aktualizowaniu danych, indeksy mogą trochę spowolnić działanie, więc lepiej używać ich z głową.

Pytanie 26

Który z linków ma poprawną formę?

A. <a href='mailto:adres'>tekst</a>
B. <a href="http://adres">tekst</a>
C. <a href='http://:adres'>tekst</a>
D. <a href="mailto:adres">tekst</a>
Poprawna konstrukcja odsyłacza HTML do adresu e-mail, przedstawiona w odpowiedzi czwartej, jest zgodna z obowiązującymi standardami HTML. Kluczowym elementem jest użycie atrybutu 'href' z prefiksem 'mailto:', co wskazuje przeglądarkom, że link powinien otworzyć domyślną aplikację pocztową użytkownika, umożliwiając bezpośrednie wysłanie wiadomości e-mail. Poprawny format to <a href='mailto:adres'>tekst</a>, gdzie 'adres' jest zastępowany rzeczywistym adresem e-mail, a 'tekst' to widoczny fragment, na który użytkownik może kliknąć. Taka konstrukcja jest kluczowa w interakcji użytkowników z aplikacjami pocztowymi, a także zwiększa użyteczność i dostępność stron internetowych. Zgodnie z wytycznymi W3C, stosowanie odpowiednich atrybutów pozwala na lepszą indeksację przez wyszukiwarki, co ma pozytywny wpływ na SEO. Użycie standardowych cudzysłowów (") w konstrukcji HTML jest również zalecane, co dodatkowo podnosi jakość kodu oraz jego czytelność."

Pytanie 27

Na podstawie relacji przedstawionej na ilustracji, można stwierdzić, że jest to relacja

Ilustracja do pytania
A. jeden do wielu, gdzie kluczem obcym jest pole w tabeli uslugi
B. wiele do wielu pomiędzy kluczami głównymi obu tabel
C. jeden do wielu, gdzie kluczem obcym jest pole w tabeli kadra
D. jeden do jednego, gdzie obie tabele mają przypisane klucze obce
Odpowiedzi błędne opierają się na niewłaściwym zrozumieniu relacji w bazach danych. Pierwsza z błędnych koncepcji sugeruje relację jeden do wielu, gdzie kluczem obcym jest pole w tabeli kadra, co jest odwrotne do przedstawionej struktury, gdyż w rzeczywistości pole kadra_id znajduje się w tabeli uslugi, wskazując na tabelę kadra. Relacja jeden do jednego, w której obie tabele mają klucze obce, oznaczałoby, że każdy rekord w jednej tabeli jest ściśle powiązany z jednym rekordem w drugiej, co nie jest przypadkiem dla tych danych. Takie podejście zwykle stosuje się, gdy tabele przechowują różne aspekty tego samego podmiotu, co nie jest odzwierciedlone na diagramie. Relacja wiele do wielu między kluczami głównymi obu tabel wymagałaby użycia dodatkowej tabeli łączącej, co umożliwiałoby powiązanie wielu rekordów każdej z tabel z wieloma rekordami drugiej, co również nie jest przedstawione tutaj. Typową pomyłką przy analizie tego typu relacji jest nieuwzględnienie struktury kluczy obcych i ich roli w łączeniu danych poprzez zrozumienie ich jako jedynie strukturalne powiązania, zamiast narzędzi umożliwiających integralność i spójność danych w bazie. Ważne jest, aby zawsze analizować kierunek relacji i rolę kluczowych pól w kontekście aplikacji i modelu danych, co zapobiega błędnym interpretacjom i wspiera prawidłowe projektowanie bazy danych, zgodnie z jej wymaganiami funkcjonalnymi i wydajnościowymi.

Pytanie 28

Dostępna jest tabela z danymi o mieszkaniach, zawierająca kolumny: adres, metraż, liczba_pokoi, standard, status, cena. Wykonanie poniższej kwerendy SQL SELECT spowoduje wyświetlenie

SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3;
A. Wszystkie informacje o tych mieszkaniach, które mają minimum 3 pokoje
B. Metraż oraz koszt tych mieszkań, które mają przynajmniej 3 pokoje
C. Metraż oraz koszt tych mieszkań, które mają więcej niż 3 pokoje
D. Wszystkie informacje poza adresem tych mieszkań, które mają więcej niż 3 pokoje
W tym zapytaniu SQL chodzi o to, żeby ściągnąć konkretne dane z tabeli mieszkania. Używamy klauzuli SELECT, dlatego wybieramy tylko te kolumny, które nas interesują, czyli metraż i cena. I to wszystko bierzemy z tabeli mieszkania, co mamy w klauzuli FROM. Jeszcze dodajemy filtr WHERE, który mówi, że bierzemy tylko te mieszkania, które mają więcej niż trzy pokoje. To naprawdę dobra strategia, bo dzięki temu dokładnie widzimy, co nas interesuje. Takie zapytanie przydaje się w analizach rynku nieruchomości, bo można porównywać ceny mieszkań z większą ilością pokoi. Ogólnie mówiąc, SQL jest super narzędziem do pracy z danymi, bo pozwala nam szybko i efektywnie wyciągać to, co jest dla nas ważne. Wiedza na temat takich zapytań to podstawa, zwłaszcza w pracy z dużymi bazami danych i generowaniu różnych raportów.

Pytanie 29

Jakiego elementu musisz użyć, aby rozpocząć nową linię tekstu bez tworzenia akapitu na stronie internetowej?

A. </b>
B. </br>
C. <p>
D. <br>
Znak <br> jest standardowym elementem HTML używanym do wprowadzenia przerwy w tekście, która nie tworzy nowego akapitu. W przeciwieństwie do znacznika <p>, który definiuje akapit i dodaje dodatkową przestrzeń przed i po nim, <br> po prostu przenosi tekst do nowej linii, co jest szczególnie przydatne w takich sytuacjach jak adresy, wiersze piosenek czy fragmenty tekstu, gdzie formatowanie linii jest kluczowe. Przykład użycia: <p>Adam Mickiewicz,<br>Pan Tadeusz.</p> W powyższym przykładzie tekst "Pan Tadeusz" zostanie wyświetlony w nowej linii, ale nie jako nowy akapit. Warto pamiętać, że stosowanie zbyt wielu <br> w kodzie HTML może prowadzić do chaotycznego formatowania, dlatego zaleca się ich użycie z umiarem, zgodnie z zasadami dobrego projektowania stron i przystosowywania ich do różnych urządzeń, co jest zgodne z zasadami responsywnego designu. Zastosowanie <br> jest zgodne z HTML5 i uznawane za najlepszą praktykę przy tworzeniu prostych układów tekstowych.

Pytanie 30

Jakie zapytanie SQL dotyczące tabeli pracownicy, której struktura to: id, imie, nazwisko, plec, zarobek, pozwoli na osobne obliczenie średniego wynagrodzenia kobiet oraz średniego wynagrodzenia mężczyzn?

A. SELECT AVG(zarobek) FROM pracownicy GROUP BY plec
B. SELECT AVG(zarobek) FROM pracownicy WHERE plec='k' AND plec='m'
C. SELECT AVG(zarobek) FROM pracownicy AS sredni_zarobek
D. SELECT AVG(zarobek) FROM pracownicy GROUP BY plec HAVING plec='k' AND plec='m'
Poprawne zapytanie SQL, które oblicza średni zarobek osobno dla kobiet i mężczyzn, to SELECT AVG(zarobek) FROM pracownicy GROUP BY plec. Użycie funkcji AVG() pozwala na obliczenie średniej wartości kolumny 'zarobek', a GROUP BY plec umożliwia grupowanie wyników według wartości w kolumnie 'plec', co w tym przypadku oznacza grupowanie według płci. W rezultacie zapytanie zwróci dwie średnie: jedną dla kobiet (plec='k') i drugą dla mężczyzn (plec='m'). To podejście jest zgodne ze standardem SQL, który pozwala na agregację danych w oparciu o różne grupy. Przykładowo, jeśli tabela 'pracownicy' zawiera dane z różnymi zarobkami dla kobiet i mężczyzn, to to zapytanie da nam jasny obraz różnic w wynagrodzeniach, co może być cenne dla analiz społecznych i ekonomicznych. Analiza danych w taki sposób jest kluczowa w zarządzaniu zasobami ludzkimi oraz w tworzeniu strategii wynagrodzeń.

Pytanie 31

Który z zapisów znacznika <div> może pojawić się w dokumencie HTML tylko raz, a ponowne jego użycie spowoduje błędy podczas walidacji tego dokumentu?

A. <div class="klasa">
B. <div class="klasa1 klasa2">
C. <div id="identyfkator">
D. <div>
Odpowiedź <div id="identyfkator"> jest poprawna, ponieważ znacznik <div> z atrybutem id musi być unikalny w obrębie całego dokumentu HTML. Zgodnie z standardami W3C, atrybut id powinien być przypisany tylko do jednego elementu na stronie, co umożliwia jednoznaczne identyfikowanie tego elementu, na przykład w CSS lub JavaScript. Przykładowo, jeśli mamy <div id="header">, to nie możemy użyć tego samego identyfikatora dla innego <div> w tym samym dokumencie, aby uniknąć konfliktów. W praktyce, unikalność id jest kluczowa w kontekście manipulacji DOM, gdyż wiele bibliotek JavaScript polega na tej unikalności, aby prawidłowo odnajdywać i modyfikować elementy. Warto również pamiętać, że użycie unikalnych id sprzyja lepszej dostępności i ułatwia nawigację w dokumentach, co jest zgodne z dobrą praktyką projektowania stron internetowych.

Pytanie 32

Aby zaktualizować maksymalną długość kolumny imie w tabeli klienci do 30 znaków, należy zastosować w języku SQL poniższy kod

A. CHANGE TABLE klienci MODIFY imie CHAR(30);
B. ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30);
C. CHANGE TABLE klienci TO COLUMN imie SET CHAR(30);
D. ALTER TABLE klienci CHANGE imie TEXT;
Odpowiedź ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30) jest poprawna, ponieważ w SQL polecenie ALTER TABLE służy do modyfikacji struktury istniejącej tabeli. W tym przypadku zmieniamy długość pola 'imie' w tabeli 'klienci'. Typ danych VARCHAR (zmienna długość) jest odpowiedni dla pól, które mogą przechowywać tekst o różnej długości, a określenie 30 oznacza, że maksymalna długość tego pola będzie wynosić 30 znaków. Używanie VARCHAR zamiast CHAR jest dobrą praktyką w przypadku, gdy długość danych jest zmienna, co pozwala na oszczędność miejsca w bazie danych. Przykładowo, jeśli tabela przechowuje imiona, które w większości będą krótsze niż 30 znaków, zastosowanie VARCHAR skutkuje mniejszym zużyciem miejsca w porównaniu do CHAR, który zawsze rezerwuje tę samą ilość miejsca. Warto również pamiętać, że przy modyfikowaniu tabeli w SQL należy zachować ostrożność, aby uniknąć utraty danych, szczególnie jeśli zmieniamy typ danych lub długość pola już zawierającego dane.

Pytanie 33

W HTML atrybut znacznika video, który umożliwia ciągłe odtwarzanie, to

A. loop
B. controls
C. poster
D. muted
Atrybut loop w znaczniku video jest kluczowy dla zapewnienia, że wideo będzie odtwarzane w nieskończoność, co jest szczególnie przydatne w przypadku prezentacji multimedialnych czy tła w aplikacjach webowych. Umożliwia to automatyczne powtarzanie treści bez interwencji użytkownika, co może poprawić doświadczenia użytkownika oraz skuteczność przekazu. Zgodnie z dokumentacją HTML5, aby użyć atrybutu loop, wystarczy dodać go do znacznika video, co pozwala na osiągnięcie zamierzonego efektu. Przykładem może być: <video src='video.mp4' loop autoplay></video>, gdzie wideo będzie się odtwarzać automatycznie i w kółko. Użycie tego atrybutu jest szczególnie istotne w kontekście interaktywnych aplikacji i gier, gdzie ciągłość odtwarzania może być kluczowa dla zaangażowania odbiorcy. Atrybut loop jest częścią specyfikacji W3C dotyczącej HTML5, która promuje dostępność i elastyczność w tworzeniu nowoczesnych aplikacji internetowych.

Pytanie 34

Jaki jest cel poniższego fragmentu funkcji w JavaScript?

wynik = 0;
for (i = 0; i < tab.length; i++)
{
    wynik += tab[i];
}
A. obliczyć sumę wszystkich elementów tablicy
B. przypisać do każdego elementu tablicy bieżącą wartość zmiennej i
C. dodać stałą wartość do każdego elementu tablicy
D. wyświetlić wszystkie pozycje w tablicy
Podany fragment kodu w języku JavaScript ma za zadanie zsumować wszystkie elementy tablicy. Widzimy, że zmienna wynik jest inicjalizowana wartością 0 co jest standardową praktyką przy zliczaniu sumy. Następnie pętla for iteruje przez każdy element tablicy używając warunku i < tab.length co zapewnia że przechodzimy przez wszystkie indeksy tablicy od 0 do ostatniego. Wewnątrz pętli mamy instrukcję wynik += tab[i] która dodaje aktualny element tablicy do zmiennej wynik. Jest to typowe podejście do sumowania elementów tablicy i odpowiada standardowym praktykom w programowaniu. Dzięki temu możemy w prosty sposób uzyskać sumę elementów tablicy niezależnie od jej długości. Takie rozwiązanie jest nie tylko przejrzyste ale i efektywne z punktu widzenia złożoności obliczeniowej gdyż operuje w czasie liniowym O(n). Powyższy sposób zliczania jest uniwersalny i można go stosować w różnych językach programowania.

Pytanie 35

Który z komentarzy przedstawia opis działania funkcji zdefiniowanej w języku PHP?

A. /* Funkcja zwraca mniejszą z dwóch podanych wartości, a w przypadku ich równości zwraca wartość $a */
B. /* Funkcja zwraca mniejszą z dwóch podanych wartości, a w przypadku ich równości zwraca -1 */
C. /* Funkcja zwraca większą z dwóch podanych wartości, a w przypadku ich równości zwraca wartość $a */
D. /* Funkcja zwraca większą z dwóch podanych wartości, a w przypadku ich równości zwraca -1 */
W analizowanych odpowiedziach można zauważyć kilka nieporozumień dotyczących działania funkcji. Niektóre propozycje podają informację, że funkcja zwraca wartość niższą z dwóch podanych argumentów, co jest absolutnie błędne. Funkcja jest zaprojektowana tak, aby zawsze zwracała wartość wyższą, co jest kluczowym aspektem jej działania. Inne odpowiedzi wskazują, że w przypadku równości funkcja zwraca wartość $a, co także jest niezgodne z kodem źródłowym. W rzeczywistości, zgodnie z implementacją, zwracana jest wartość -1, co jest istotne, ponieważ wskazuje na brak różnicy między argumentami. Tego rodzaju pomyłki mogą wynikać z nieścisłości w interpretacji warunków logicznych. Ważne jest, aby przy analizie funkcji dokładnie zwracać uwagę na każdy element kodu, aby nie przeoczyć istotnych szczegółów. Przykładowo, błędne rozumienie tego, co oznacza 'wyższa' wartość w kontekście porównania, może prowadzić do złych wniosków w dalszym programowaniu, w szczególności w funkcjach, które bazują na porównaniach. Dlatego tak istotne jest, aby korzystać z praktyk kodowania, które zapewniają jasność i przejrzystość działania funkcji.

Pytanie 36

W języku CSS określono styl dla stopki. Aby zastosować to formatowanie do bloku oznaczonego znacznikiem div, należy wpisać

#stopka { ... }
A. <div class="stopka">
B. <div title="stopka">
C. <div "stopka">
D. <div id="stopka">
W przypadku odpowiedzi <div "stopka"> brak jest poprawnej składni HTML ponieważ atrybuty w tagach HTML są zawsze parą nazwa-wartość i muszą być opatrzone znakami równości oraz cudzysłowami wokół wartości. Taka konstrukcja nie jest zgodna z zasadami HTML i nie zostanie przetworzona prawidłowo przez przeglądarki. Atrybut title czyli <div title="stopka"> używany jest do wyświetlania dodatkowych informacji w formie dymka po najechaniu kursorem i nie jest związany z selektorami CSS. Z kolei <div class="stopka"> odnosi się do użycia klasy. Klasy są bardziej elastyczne pozwalając na przypisywanie tego samego stylu do wielu elementów co jest użyteczne w przypadku powtarzających się elementów na stronie. Jednakże w pytaniu jest mowa o selektorze ID co oznacza że stylizacja dotyczy konkretnego niepowtarzalnego elementu. Selekcję przez id poprzedzamy znakiem # co jest konwencją stosowaną w projektach gdzie poszczególne elementy mają być unikalne w ramach dokumentu HTML. Zrozumienie i poprawne używanie atrybutów takich jak id i class jest kluczowe dla efektywnego zarządzania stylem w dużych i złożonych projektach internetowych. Selekcja poprzez id jest stosowana w przypadkach gdzie wymagana jest unikalna identyfikacja elementu co jest niezbędnym elementem w procesie projektowania struktury stron internetowych. Stąd też ważne jest aby unikać nadmiarowego stosowania id w miejscach gdzie powtarzalność elementów jest wymagana ponieważ prowadzi to do problemów w zakresie skalowalności i utrzymania kodu.

Pytanie 37

W tabeli o nazwie pracownicy zdefiniowano klucz główny w typie INTEGER z atrybutami NOT NULL oraz AUTO_INCREMENT. Dodatkowo zdefiniowane zostały pola imie oraz nazwisko. W przypadku wykonania podanej kwerendy SQL, która dodaje dane i pomija pole klucza, w bazie danych MySQL nastąpi

INSERT INTO pracownicy (imie, nazwisko)
VALUES ('Anna', 'Nowak');
A. zignorowanie polecenia, tabela nie ulegnie zmianie
B. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
C. błąd związany z niewłaściwą liczbą pól
D. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
W przypadku tabeli z kluczem głównym typu INTEGER z atrybutem AUTO_INCREMENT, kiedy wprowadzamy nowy rekord i pomijamy pole klucza głównego, baza danych MySQL sama automatycznie przydziela kolejną wartość liczbową dla tego pola. AUTO_INCREMENT to mechanizm, który zapewnia, że każdemu nowemu rekordowi przypisana jest unikalna wartość klucza głównego, zaczynając od wartości początkowej, zwykle 1, i zwiększając ją o 1 z każdym nowym rekordem. Jest to niezwykle użyteczne w sytuacjach, gdy zależy nam na unikalności wartości kluczy głównych, co zapewnia integralność danych i unika konieczności ręcznego określania wartości klucza przy każdym nowym wpisie. Takie podejście jest zgodne ze standardami dobrych praktyk, ponieważ minimalizuje ryzyko błędów związanych z duplikacją danych. Przykładowo, jeśli do tabeli pracownicy dodajemy rekord z danymi pracownika, nie musimy się martwić o wartość identyfikatora, co znacznie upraszcza proces zarządzania danymi. Mechanizm AUTO_INCREMENT jest zatem kluczowy w kontekście zarządzania bazami danych, zapewniając automatyzację i integralność danych.

Pytanie 38

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

A. łączenie tekstu do wyświetlenia
B. usuniecie określonego tekstu
C. przycinanie wyświetlanego tekstu
D. określenie podłańcucha znaków z tekstu wejściowego
Funkcja CONCAT w języku SQL jest używana do łączenia dwóch lub więcej ciągów tekstowych w jeden. Jest to bardzo przydatne narzędzie w zarządzaniu danymi, gdyż pozwala na tworzenie bardziej złożonych i informacyjnych komunikatów tekstowych z pojedynczych elementów. Funkcja ta przyjmuje jako argumenty dowolną liczbę ciągów znakowych, a jej wynik to jeden skonsolidowany ciąg. Na przykład, jeżeli mamy dwie kolumny, 'imię' i 'nazwisko', używając CONCAT możemy stworzyć pełne imię i nazwisko: SELECT CONCAT(imię, ' ', nazwisko) AS pełne_imie FROM użytkownicy; W wyniku tego zapytania otrzymamy pełne imiona i nazwiska użytkowników. Funkcja ta jest zgodna z normami ANSI SQL i jest wspierana przez większość systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL, czy Microsoft SQL Server, co sprawia, że jest bardzo uniwersalnym narzędziem w świecie baz danych.

Pytanie 39

Przedstawiony kod języka PHP

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. jest błędny, nieznany operator =>
B. jest błędny, indeksami tablicy mogą być tylko liczby całkowite.
C. definiuje tablicę z trzema wartościami.
D. definiuje tablicę z sześcioma wartościami.
Dobra robota, wybrałeś właściwą odpowiedź! Ten kod PHP, który analizujesz, rzeczywiście ustawia tablicę asocjacyjną z trzema parami klucz-wartość. Tak naprawdę tablica asocjacyjna to coś w stylu tablicy, gdzie każdemu elementowi przypisujesz unikalny klucz zamiast numeru indeksu. No i ten operator '=>' to typowy element PHP, służy do przypisywania wartości kluczom w tablicach. W twoim przykładzie widzisz, że kluczami mogą być nie tylko liczby, ale też łańcuchy tekstowe. To naprawdę przydatne, szczególnie przy przechowywaniu informacji, które łatwo zidentyfikować – na przykład numery telefonów czy adresy e-mail. Pamiętaj, że w PHP tablica to jedna z podstawowych struktur danych. Może trzymać różne typy danych, takie jak liczby, teksty, obiekty czy inne tablice, a jej rozmiar może się zmieniać w trakcie działania programu.

Pytanie 40

W przypadku przedstawionego fragmentu kodu walidator HTML zgłosi błąd, ponieważ

<img src="kwiat.jpg alt="kwiat">
A. nie odnaleziono pliku kwiat.jpg
B. użyto niewłaściwego znacznika do wyświetlenia obrazu
C. wprowadzono nieznany atrybut alt
D. nie zamknięto cudzysłowu
Poprawna odpowiedź to nie domknięto cudzysłowu ponieważ w kodzie HTML atrybuty muszą być poprawnie zamknięte aby poprawnie interpretować ich wartości. W przedstawionym fragmencie kodu dla znacznika img brakuje końcowego cudzysłowu po wartości src co stanowi błąd składniowy. Tego typu błędy mogą prowadzić do nieprawidłowego działania strony ponieważ przeglądarka nie jest w stanie jednoznacznie określić końca wartości atrybutu co może skutkować nieprawidłowym renderowaniem danych. Zgodnie z najlepszymi praktykami każde otwarte cudzysłowie powinno być zamknięte aby zapewnić poprawną interpretację kodu. Ponadto stosowanie poprawnego zamykania cudzysłowów zwiększa czytelność kodu co jest istotne przy współpracy zespołowej i ułatwia jego utrzymanie. Warto także korzystać z walidatorów HTML które automatycznie wykrywają takie błędy pomagając w ich szybkim usunięciu. Tego rodzaju narzędzia są kluczowe w procesie tworzenia stron internetowych ponieważ umożliwiają weryfikację zgodności kodu z obowiązującymi standardami co ma bezpośredni wpływ na jego wydajność i kompatybilność z różnymi przeglądarkami.