Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 17 grudnia 2025 12:16
  • Data zakończenia: 17 grudnia 2025 12:37

Egzamin zdany!

Wynik: 32/40 punktów (80,0%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Poniżej zamieszczony fragment skryptu w JavaScript zwróci

Ilustracja do pytania
A. owodzeni
B. wodzenia
C. ze
D. wo
Patrząc na ten skrypt JavaScript, który działa na łańcuchach i wypisuje różne fragmenty tekstu, można się natknąć na pewne nieporozumienia związane z metodą substring. Z doświadczenia, wiem, że początkujący programiści czasem mylą się w odczytywaniu indeksów w tej metodzie. W skrócie, substring wyciąga dwa argumenty: początkowy i końcowy, ale działa tak, że bierze znaki od początkowego do przed końcowym. Więc gdy mamy substring(3,9) na 'Powodzenia na egzaminie', to zwraca 'odzeni'. Potem, jak wywołasz z.substring(2,4) na 'odzeni', to dostajesz 'ze'. Często błędnie myśli się, że substring bierze znaki do końca, co prowadzi do pomyłek. I jest jeszcze różnica między substring a substr, co też jest dość mylące. W kontekście tego egzaminu, ważne jest, aby rozumieć te drobne szczegóły i używać metod w odpowiednich sytuacjach. Z mojego doświadczenia, to klucz do efektywnej pracy z tekstem w skryptach webowych.

Pytanie 2

Jakie będzie działanie podanych instrukcji JavaScript?

var elementy = document.getElementsByClassName("styl1");
  for(var i = 0; i < elementy.length; i++)
    elementy[i].style.fontWeight = "bolder";
A. Jedynie dla elementu o id równym styl1 będzie przypisany styl pogrubienia tekstu na bolder
B. Wyłącznie dla pierwszego elementu przypisanego do klasy styl1 zostanie nadany styl pogrubienia tekstu bolder
C. Dla wszystkich elementów na stronie zostanie zastosowany styl pogrubienia tekstu na bolder
D. Dla wszystkich elementów przypisanych do klasy styl1 zostanie nadany styl pogrubienia tekstu bolder
Jednym z często popełnianych błędów jest założenie że metoda getElementsByClassName przypisuje styl wszystkim elementom na stronie. W rzeczywistości zwraca ona tylko te elementy które posiadają określoną klasę styl1. To ogranicza zakres działania funkcji wyłącznie do wybranych elementów z przypisaną klasą co jest istotne dla zrozumienia selektorów w JavaScript. Innym nieporozumieniem może być przekonanie że metoda działa podobnie do selektorów CSS takich jak ID gdzie tylko jeden element jest modyfikowany. W rzeczywistości metoda ta operuje na kolekcji elementów a nie na pojedynczym elemencie. Dodatkowo częstym błędem jest myślenie że getElementsByClassName działa jak querySelector który mógłby zwrócić tylko pierwszy napotkany element. To nieporozumienie może prowadzić do błędnych założeń na temat zakresu i efektu działania skryptu. Warto również pamiętać że manipulacja stylami poprzez bezpośrednie modyfikowanie właściwości style elementu często jest bardziej wydajna niż modyfikowanie arkuszy stylów CSS zwłaszcza w kontekście dynamicznego działania skryptów na stronie internetowej. Kluczowe jest zrozumienie jak różne metody selekcji i manipulacji dokumentem wpływają na działanie i wydajność aplikacji webowych oraz unikanie myślenia że jedna metoda selekcji jest uniwersalna dla wszystkich celów i przypadków użycia co jest istotne w profesjonalnym podejściu do programowania w JavaScript i pracy z DOM.

Pytanie 3

W JavaScript funkcja document.getElementById(id) ma na celu

A. pobrać wartości z formularza i przypisać je do zmiennej id
B. zwrócić referencję do pierwszego elementu HTML o wskazanym id
C. umieścić tekst o treści ’id’ na stronie internetowej
D. zweryfikować poprawność formularza o identyfikatorze id
Fajnie, że zwróciłeś uwagę na metodę document.getElementById(id). To naprawdę ważne narzędzie w JavaScript, jeśli chodzi o pracę z DOM. Dzięki niej możesz łatwo znaleźć element HTML, który ma konkretny identyfikator, co jest super przydatne, gdy chcesz coś zmienić na stronie. Na przykład, żeby zmienić tekst nagłówka, używasz: document.getElementById('header').innerText = 'Nowy tekst nagłówka'. Warto pamiętać, żeby identyfikatory były unikalne, bo to potem ułatwia odnajdywanie i manipulację tymi elementami. Unikaj też zbyt ogólnych nazw, bo to może prowadzić do zamieszania. Metoda ta jest naprawdę szeroko stosowana w nowoczesnym programowaniu stron internetowych, co czyni strony bardziej interaktywnymi i dynamicznymi.

Pytanie 4

Jakie polecenie HTML poprawnie odwzorowuje przedstawioną hierarchiczną strukturę tekstu, która została wyświetlona przez przeglądarkę w następujący sposób: Rozdział 1 tekst Podrozdział 1.1 tekst Podrozdział 1.2?

A. <h1>Rozdział 1<p>tekst<h2>Podrozdział 1.1<p>tekst<h2>Podrozdział 1.2
B. <big>Rozdział 1</big>tekst<big>Podrozdział 1.1</big>tekst<big>Podrozdział 1.2</big>
C. <h1>Rozdział 1</h1><p>tekst</p><h2>Podrozdział 1.1</h2><p>tekst</p><h2>Podrozdział 1.2</h2>
D. <ul><li>Rozdział 1<li>tekst<li>Podrozdział 1.1<li>tekst<li>Podrozdział 1.2</ul>
Pierwszy z zaproponowanych kodów posiada poważne błędy, ponieważ nie zamyka tagów <p> oraz <h2>. Poprawne HTML wymaga, aby wszystkie otwarte tagi były odpowiednio zamknięte, co czyni kod nieczytelnym dla przeglądarek i może prowadzić do nieprzewidywalnych wyników wyświetlania. Druga propozycja definiuje strukturę jako listę nieuporządkowaną, co jest nieadekwatne w kontekście przedstawionej hierarchii nagłówków. Lista nieuporządkowana (<ul>) ma na celu grupowanie elementów, a nie definiowanie nagłówków i podrozdziałów, co narusza zasady semantyki HTML. Ostatnia odpowiedź używa tagu <big>, który nie jest zalecany w nowoczesnym HTML, gdyż nie ma on semantycznego znaczenia i nie wpływa na SEO w sposób pożądany. Ponadto, tag <big> nie zapewnia struktury dokumentu, a jedynie zmienia rozmiar tekstu, co jest niewłaściwe w kontekście hierarchii treści. Wszelkie te błędy nie tylko wpływają negatywnie na czytelność strony, ale również mogą obniżać jej pozycjonowanie w wynikach wyszukiwania.

Pytanie 5

Jaką operację trzeba wykonać podczas edytowania zdjęcia w programie graficznym, aby zamienić białe tło na przezroczystość?

A. Zmienić saturację obrazu
B. Skadrować obraz
C. Dodać kanał alfa
D. Maksymalnie zmniejszyć jasność
Aby zamienić białe tło na przezroczystość w edytorze grafiki, kluczowym krokiem jest dodanie kanału alfa do obrazu. Kanał alfa jest używany do zarządzania przezroczystością pikseli w obrazie rastrowym, co pozwala na zachowanie tylko tych elementów, które mają być widoczne. Proces ten jest szczególnie istotny przy pracy z grafiką stosowaną w projektach multimedialnych, takich jak strony internetowe, animacje czy prezentacje. Po dodaniu kanału alfa, można użyć narzędzi selekcji, takich jak różdżka czy lasso, aby zaznaczyć obszar białego tła i usunąć go, co skutkuje uzyskaniem przezroczystości. Dobrą praktyką jest również zapisanie pliku w formacie obsługującym przezroczystość, jak PNG, co zapewnia, że efekt końcowy zostanie zachowany, a tło będzie rzeczywiście przezroczyste. Przykład zastosowania można znaleźć w tworzeniu grafik do mediów społecznościowych, gdzie przezroczystość tła pozwala na lepsze dopasowanie elementów do różnych szablonów.

Pytanie 6

Jaki System Zarządzania Bazą Danych jest standardowo używany w pakiecie XAMPP?

A. PostgreSQL
B. Oracle
C. Firebird
D. MariaDB
MariaDB jest systemem zarządzania bazą danych, który jest domyślnie stosowany w pakiecie XAMPP. Jest to otwarty, wieloplatformowy system, będący fork'iem MySQL, co oznacza, że zachowuje wiele z jego funkcjonalności, a jednocześnie wprowadza nowe cechy oraz poprawki. Dzięki temu, MariaDB zyskuje na wydajności i bezpieczeństwie w porównaniu do MySQL. Użytkownicy XAMPP mogą korzystać z MariaDB do lokalnego rozwoju aplikacji webowych, co pozwala na testowanie i debugowanie przed wdrożeniem na serwerze produkcyjnym. Przykładowe zastosowania to budowa dynamicznych stron internetowych, systemów e-commerce czy aplikacji do zarządzania treścią. Standardowe praktyki obejmują tworzenie kopii zapasowych, optymalizację zapytań oraz zapewnienie bezpieczeństwa danych poprzez odpowiednie konfiguracje oraz aktualizacje. MariaDB jest zgodna z SQL, co umożliwia łatwe przejście z MySQL oraz integrację z popularnymi frameworkami i CMS-ami takimi jak WordPress czy Joomla.

Pytanie 7

Zaproponowana baza danych składa się z trzech tabel oraz dwóch relacji. Żeby uzyskać listę wszystkich lekarzy przypisanych do danego pacjenta, konieczne jest porównanie kluczy

Ilustracja do pytania
A. Lekarze.id = Pacjenci.id
B. Lekarze.id = Pacjenci.Recepty_id
C. Lekarze.id = Recepty.id
D. Lekarze.id = Pacjenci.Lekarze_id
Poprawna odpowiedź polega na właściwym zrozumieniu relacji między tabelami Lekarze a Pacjenci w bazie danych. Aby wyświetlić wszystkich lekarzy przypisanych do konkretnego pacjenta konieczne jest użycie klucza obcego Lekarze_id w tabeli Pacjenci. Relacja ta jest kluczowa gdyż każda wizyta pacjenta jest przypisana konkretnemu lekarzowi dzięki temu kluczowi. W praktycznych zastosowaniach relacje takie są niezbędne do efektywnego zarządzania danymi w systemach zdrowotnych umożliwiając szybkie uzyskanie informacji o lekarzach opiekujących się pacjentem. Standardy baz danych zakładają użycie kluczy obcych w celu utrzymania integralności danych. Jest to zgodne z zasadą normalizacji polegającą na eliminacji redundancji i zapewnieniu spójności danych. W kontekście projektowania baz danych dobre praktyki wymagają jasno zdefiniowanych relacji co pozwala na łatwiejsze skalowanie i zarządzanie systemem. Zrozumienie i poprawne zastosowanie tej wiedzy umożliwia tworzenie wydajnych i elastycznych struktur danych.

Pytanie 8

Która z wymienionych metod umożliwia wyświetlenie komunikatu w konsoli przeglądarki internetowej przy użyciu języka JavaScript?

A. console.log("test");
B. console.print("test");
C. console.echo("test");
D. console.write("test");
Odpowiedź 'console.log("test");' jest poprawna, ponieważ jest to standardowa metoda w JavaScript, służąca do wypisywania komunikatów w konsoli przeglądarki. Funkcja console.log jest powszechnie stosowana przez programistów do debugowania kodu i monitorowania wartości zmiennych w czasie rzeczywistym. Umożliwia to efektywne śledzenie działania aplikacji internetowych oraz szybkie identyfikowanie błędów. Przykładowo, jeśli chcemy sprawdzić wartość zmiennej, możemy użyć polecenia console.log(myVariable);, co pozwoli nam zobaczyć aktualny stan zmiennej w konsoli. Warto również pamiętać, że console.log obsługuje różne typy danych, w tym obiekty i tablice, co czyni go niezwykle wszechstronnym narzędziem w arsenale programisty. Używanie tej metody jest zgodne z dobrymi praktykami w programowaniu, ponieważ pozwala na przejrzystość i lepsze zrozumienie logiki aplikacji. W kontekście pracy z konsolą, warto zaznajomić się również z innymi metodami, takimi jak console.error, console.warn czy console.info, które umożliwiają różnicowanie wypisywanych komunikatów według ich znaczenia.

Pytanie 9

W języku JavaScript zapisano kod, którego wynikiem działania jest?
var osoba=prompt("Podaj imię", "Adam");

A. uzyskanie z formularza wyświetlonego na stronie HTML imienia "Adam"
B. pokazanie okna z pustym polem do edycji
C. wyświetlenie okna z polem do edycji, w którym domyślnie znajduje się tekst "Adam"
D. bezpośrednie przypisanie do zmiennej osoba wartości "Adam"
W kodzie JavaScript zapisano wywołanie funkcji prompt, która jest standardową metodą do interakcji z użytkownikiem poprzez wyświetlenie okna dialogowego. Funkcja ta przyjmuje dwa argumenty: pierwszy to tekst, który będzie wyświetlony jako prośba o dane, a drugi to opcjonalna wartość domyślna, która pojawi się w polu edycyjnym okna dialogowego. W przykładzie użytkownik proszony jest o podanie imienia, a domyślną wartością, która jest predefiniowana w tym przypadku, jest 'Adam'. Działanie tego kodu spowoduje otwarcie okna z polem edycyjnym, w którym już znajduje się 'Adam', co ułatwia użytkownikowi wprowadzenie danych. Ponadto, gdy użytkownik kliknie 'OK' lub 'Anuluj', wynik (czyli wartość wpisana przez użytkownika lub null, jeśli anulował) zostanie przypisany do zmiennej 'osoba'. Warto zaznaczyć, że funkcja prompt jest powszechnie używana w aplikacjach webowych do szybkiego zbierania informacji od użytkowników. Dzięki temu kodowi programiści mogą efektywnie interactować z użytkownikami, co jest zgodne z duchem nowoczesnych aplikacji internetowych opartych na JavaScript.

Pytanie 10

Wskaż, jak wygląda komentarz wieloliniowy w języku PHP?

A. //
B. <!-- -->
C. /* */
D. #
Wybór symbolu '//' wskazuje na komentarz jednoliniowy, który służy do komentowania pojedynczej linii kodu. Chociaż może być przydatny do szybkich notatek, nie jest odpowiednim narzędziem do tworzenia długich opisów, co czyni go nieodpowiednim w kontekście tego pytania. Kolejnym błędnym wyborem jest '<!-- -->', który jest syntaktyką HTML i nie powinien być używany w kodzie PHP. Użycie tej konstrukcji w kodzie PHP nie będzie działać, ponieważ PHP nie interpretuje znaczników HTML jako komentarzy, co może prowadzić do nieoczekiwanych błędów. Inna odpowiedź, symbol '#', to również komentarz jednoliniowy, powszechnie używany w skryptach powłoki (shell). Choć PHP akceptuje ten typ komentarzy, w kontekście tego pytania nie jest on właściwy, gdyż nie umożliwia tworzenia komentarzy wieloliniowych. Wybierając niewłaściwe typy komentarzy, można doprowadzić do zjawiska, gdzie kod staje się trudniejszy do zrozumienia i utrzymania. Przy pisaniu kodu warto stosować odpowiednie typy komentarzy, aby zapewnić przejrzystość i łatwość w nawigacji, a także przestrzegać standardów programistycznych, które podkreślają znaczenie stosowania właściwej składni dla konkretnego języka programowania.

Pytanie 11

W JavaScript zdarzenie onKeydown zostanie wywołane, gdy klawisz

A. myszki został naciśnięty
B. myszki został zwolniony
C. klawiatury został naciśnięty
D. klawiatury został zwolniony
Zdarzenie onKeydown w JavaScript jest wywoływane, gdy użytkownik naciśnie klawisz na klawiaturze. To fundamentalne zdarzenie jest często wykorzystywane w aplikacjach webowych do obsługi interakcji użytkowników, takich jak wprowadzanie danych czy nawigacja po formularzach. W momencie naciśnięcia klawisza, przeglądarka emituje to zdarzenie, co pozwala programistom na reagowanie na konkretne akcje. Na przykład, jeśli chcemy stworzyć prostą grę opartą na ruchu postaci, możemy wykorzystać onKeydown do wykrywania klawiszy strzałek i poruszania postacią w odpowiednich kierunkach. Warto również zauważyć, że onKeydown różni się od onKeyup, które jest wywoływane, gdy klawisz jest zwolniony, co ma znaczenie w przypadku obsługi sekwencji klawiszy oraz klawiszy modyfikujących, takich jak Shift czy Ctrl. Zrozumienie tych różnic jest kluczowe dla tworzenia responsywnych i interaktywnych aplikacji webowych, zgodnych z najlepszymi praktykami programowania.

Pytanie 12

Jakim kodem określa się kolor czerwony?

A. #00EEEE
B. #00EE00
C. #EE0000
D. #0000EE
Poprawna odpowiedź to #EE0000, co jest kodem szesnastkowym reprezentującym kolor czerwony w systemie RGB. W tym kodzie, wartość R (czerwony) wynosi 238, co oznacza maksymalne nasycenie tego koloru. Wartości G (zielony) i B (niebieski) są ustawione na 0, co oznacza, że brak tych kolorów powoduje, że czerwony staje się dominujący. Kolory w formacie szesnastkowym są powszechnie stosowane w projektowaniu stron internetowych oraz w grafice komputerowej, ponieważ umożliwiają precyzyjne określenie kolorów. Na przykład, w CSS można użyć tego kodu, aby ustawić kolor tła przycisku: 'background-color: #EE0000;'. Taka praktyka pozwala na łatwe i konsekwentne utrzymanie estetyki wizualnej projektu. Warto również zaznaczyć, że w kontekście kolorów, czerwony często symbolizuje energię, pasję i akcję, co czyni go popularnym wyborem w marketingu i reklamie, gdzie przyciągnięcie uwagi jest kluczowe.

Pytanie 13

Które z poniższych zdań poprawnie opisuje utworzoną tabelę? CREATE TABLE dane kolumna INTEGER3));

A. Tabela zawiera jedną kolumnę, która przechowuje trzyelementowe tablice
B. Tabela o tytule dane składa się z trzech kolumn typu całkowitego
C. Kolumny tabeli dane są nazwane: kolumna1, kolumna2, kolumna3
D. Tabela o tytule dane ma jedną kolumnę typu całkowitego
Odpowiedź jest prawidłowa, ponieważ w definicji tabeli 'CREATE TABLE danekolumna INTEGER3);' widzimy, że tabela o nazwie 'dane' ma jedną kolumnę o typie danych INTEGER. To oznacza, że ta kolumna może przechowywać wartości liczb całkowitych. W kontekście projektowania baz danych, dobrym zwyczajem jest, aby jasność definicji tabeli odzwierciedlała jej przeznaczenie. Każda kolumna w tabeli powinna mieć określony typ danych, co pozwala na lepsze zarządzanie danymi oraz ich walidację. W praktycznych zastosowaniach, na przykład w aplikacjach obliczeniowych lub analitycznych, kolumna liczb całkowitych może służyć do przechowywania wartości takich jak identyfikatory, liczby porządkowe czy dane statystyczne. Dobrą praktyką jest także stosowanie konwencji nazewniczych, które zwiększają czytelność kodu SQL, co jest szczególnie istotne w dużych projektach, gdzie zrozumiałość kodu ma kluczowe znaczenie dla utrzymania i rozwoju systemu.

Pytanie 14

W tabeli produkt znajdują się przedmioty wyprodukowane po roku 2000, z kolumnami nazwa i rok_produkcji. Klauzula SQL pokaże listę przedmiotów wyprodukowanych

SELECT * FROM `produkt` WHERE SUBSTR(rok_produkcji,3,2)=17;
A. przed rokiem 2017
B. po roku 2017
C. w latach innych niż 2017
D. w roku 2017
Wybór odpowiedzi "w roku 2017" jest prawidłowy, ponieważ zapytanie SQL stosuje funkcję SUBSTR do wydobycia części roku produkcji. Funkcja ta zaczyna od trzeciego znaku w łańcuchu reprezentującym rok produkcji i zwraca dwa znaki, co w przypadku roku 2017 daje nam '17'. W związku z tym zapytanie wyświetli jedynie te przedmioty, których rok produkcji kończy się na '17', co obejmuje rok 2017. Zastosowanie funkcji SUBSTR jest częstą praktyką w SQL, gdy chcemy analizować lub filtrować dane tekstowe według określonych wzorców. Na przykład, w przypadku bazy danych produktów, możemy wykorzystać tę metodę do kategoryzowania towarów według roczników lub do analizy sprzedaży w danym roku. Dobrą praktyką jest także zapewnienie, że dane w kolumnie rok_produkcji są przechowywane w jednolitym formacie, co ułatwia ich przetwarzanie i analizę.

Pytanie 15

Fragment kodu powyżej został napisany w języku JavaScript. Co należy umieścić w miejsce kropek, aby program przypisywał wartość 1 co trzeciemu elementowi w tablicy?

for (i = 0; i < T.length; ...)
{
    T[i] = 1;
}
A. i =+ 3
B. i ++ 3
C. i = 3
D. i += 3
Prawidłowa odpowiedź to i += 3 ponieważ w języku JavaScript operator += służy do zwiększania wartości zmiennej o zadany krok. W kontekście pętli for oznacza to że po każdej iteracji zmienna i zostanie zwiększona o 3 co pozwala na przypisanie wartości 1 co trzeciemu elementowi w tablicy. Jest to standardowa praktyka przy iteracji co kilka elementów w tablicy. Użycie += jest preferowane ze względu na jego zwięzłość i czytelność co jest zgodne z dobrymi praktykami programistycznymi. W przypadku tablicy T użycie poprawnego inkrementu i += 3 umożliwi przypisanie wartości tylko do tych elementów które są indeksowane przez wielokrotności liczby 3. Dzięki temu kod jest bardziej czytelny i zgodny z zasadami DRY (Don't Repeat Yourself) pozwalając na efektywne operacje na strukturach danych. Przykładowo jeśli mamy tablicę o długości 9 to po wykonaniu pętli elementy o indeksach 0 3 i 6 zostaną ustawione na wartość 1 co pozwala na efektywne zarządzanie pamięcią i czasem obliczeniowym. Tego typu konstrukcje są podstawą wielu algorytmów iteracyjnych.

Pytanie 16

Aby wykonać usunięcie tabeli, należy użyć kwerendy

A. UNIQUE
B. DELETE
C. DROP TABLE
D. TRUNCATE TABLE
Poprawna odpowiedź to DROP TABLE, ponieważ jest to standardowa komenda SQL używana do całkowitego usunięcia tabeli z bazy danych. Użycie tej komendy powoduje nie tylko usunięcie samej struktury tabeli, ale również wszystkich danych, które były w niej przechowywane. Przykładowo, jeśli mamy tabelę 'Użytkownicy' i chcemy ją usunąć, piszemy: DROP TABLE Użytkownicy; Należy jednak pamiętać, że po wykonaniu tej operacji nie można odzyskać ani tabeli, ani jej danych, dlatego ważne jest, aby przed takim krokiem wykonać odpowiednie kopie zapasowe lub upewnić się, że dane są już zbędne. W kontekście dobrych praktyk, przed usunięciem tabeli warto przeanalizować wpływ na inne obiekty bazy danych, takie jak klucze obce, które mogą być związane z usuwaną tabelą. Istotne jest również zrozumienie, że DROP TABLE nie można użyć, jeśli w tabeli istnieją aktywne ograniczenia lub jeśli jest ona częścią jakiejś transakcji. W takiej sytuacji, czynności te należy zrealizować w odpowiedniej kolejności, aby uniknąć błędów.

Pytanie 17

Wskaż prawdziwe stwierdzenie dotyczące polecenia:

CREATE TABLE IF NOT EXISTS adres (ulica VARCHAR(70) CHARACTER SET utf8);
A. IF NOT EXISTS stosuje się opcjonalnie, aby upewnić się, że w bazie danych nie istnieje już taka tabela.
B. Do tabeli nie można wprowadzać nazw ulic zawierających polskie znaki.
C. Rekordem tabeli nie może być '3 MAJA'.
D. Klauzula CHARACTER SET utf8 jest obowiązkowa.
Dobrze, że wybrałeś właściwą odpowiedź! Polecenie CREATE TABLE IF NOT EXISTS jest rzeczywiście używane w SQL, aby stworzyć tabelę tylko wtedy, gdy nie istnieje ona już w bazie danych. To jest bardzo praktyczne narzędzie, które pozwala uniknąć błędów, gdy próbujemy stworzyć tabelę, która już istnieje. Jest to zgodne z dobrymi praktykami zarządzania danymi i jest oparte na standardach SQL. Dodatkowo, warto pamiętać, że klauzula CHARACTER SET utf8, chociaż nie jest obowiązkowa, pozwala na przechowywanie znaków specjalnych, w tym polskich. Jest to ważne, gdy pracujemy z danymi, które zawierają różne zestawy znaków. Dlatego, nawet jeśli nie jest to wymagane, często jest to dobra praktyka. Podobnie, warto pamiętać, że typ danych VARCHAR(70) pozwala na przechowywanie dowolnych ciągów znaków, w tym dat i nazw, więc nie ma żadnych ograniczeń co do tego, jakie informacje mogą być przechowywane w tabeli.

Pytanie 18

Utworzono bazę danych z tabelą mieszkancy, która zawiera pola: nazwisko, imie, miasto. Następnie zrealizowano poniższe zapytanie do bazy: ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Kraków';``` Wskaź, które zapytanie zwróci te same dane.

A. ```SELECT nazwisko, imie FROM mieszkancy AS 'Poznań' OR 'Kraków';```
B. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';```
C. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków';```
D. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING 'Poznań' OR 'Kraków';```
Zapytanie SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków'; jest poprawne, ponieważ umożliwia uzyskanie danych mieszkańców, którzy znajdują się w jednym z dwóch zadanych miast. Użycie operatora 'OR' pozwala na połączenie dwóch warunków, co sprawia, że zapytanie zwróci mieszkańców zarówno z Poznania, jak i z Krakowa. Takie podejście jest zgodne z zasadami SQL i umożliwia elastyczne filtrowanie danych. Alternatywnie, zastosowanie operatora UNION ALL w pierwszym zapytaniu łączy wyniki z dwóch oddzielnych zapytań, co jest również poprawne, ale może być mniej wydajne w przypadku dużych zbiorów danych. Używając UNION ALL, zwracane są wszystkie wiersze, w tym duplikaty, natomiast w przypadku zapytania z OR, uzyskujemy wiersze spełniające przynajmniej jeden z warunków. Dobrą praktyką jest testowanie zapytań w rzeczywistej bazie danych, aby ocenić ich wydajność i poprawność. W kontekście standardów SQL, takie zapytania są zgodne z definicjami języka zapytań i są stosowane do przetwarzania danych w relacyjnych bazach danych.

Pytanie 19

Typ zmiennych int odnosi się do wartości liczbowych

A. naturalnych
B. w systemie stałoprzecinkowym
C. w systemie zmiennoprzecinkowym
D. całkowitych
Zmienne typu int (ang. integer) w językach programowania odnoszą się do liczb całkowitych, czyli takich, które nie mają części dziesiętnej. Przykłady to liczby -3, 0, 42. Zmienne typu int są powszechnie używane w programowaniu do przechowywania danych, które wymagają całkowitych wartości, takich jak liczby porządkowe, indeksy tablic czy liczniki w pętlach. Dzięki zastosowaniu zmiennych całkowitych, programista ma możliwość wykonywania operacji matematycznych, takich jak dodawanie, odejmowanie, mnożenie i dzielenie, które są niezwykle istotne w logice aplikacji. Warto zaznaczyć, że różne języki programowania mają różne zakresy dla typu int, co oznacza, że liczby mogą mieć różne maksymalne i minimalne wartości w zależności od zastosowanej platformy. Przykładowo, w języku C++ typ int zazwyczaj zajmuje 4 bajty, co pozwala na reprezentację wartości od -2,147,483,648 do 2,147,483,647. Zrozumienie i umiejętne wykorzystanie zmiennych całkowitych to fundament programowania, który umożliwia tworzenie efektywnych algorytmów i struktur danych.

Pytanie 20

Jakie informacje przekazuje przeglądarce internetowej zapis ?

A. Dokument został zapisany w języku HTML 5
B. W dokumencie wszystkie tagi są zapisane dużymi literami
C. Dokument jest zapisany w wersji HTML 4
D. W dokumencie każda etykieta musi być zamknięta, nawet te samozamykające
Zapisywanie <!DOCTYPE html> na początku dokumentu informuje przeglądarkę, że dokument jest napisany w HTML5, co ma istotne znaczenie dla jego poprawnej interpretacji. HTML5 wprowadza wiele nowych elementów i atrybutów, które są kluczowe dla nowoczesnych aplikacji webowych, takich jak <header>, <footer>, <article> czy <section>, a także wspiera multimedia poprzez <audio> i <video>. Dzięki deklaracji <!DOCTYPE html> przeglądarki mogą stosować najnowsze standardy, co zapewnia lepszą zgodność i wsparcie dla responsywności, co jest niezbędne w erze urządzeń mobilnych. Ponadto, HTML5 wprowadza zasady dotyczące semantyki, co może poprawić SEO (optymalizację pod kątem wyszukiwarek) i dostępność treści dla osób z niepełnosprawnościami. W praktyce oznacza to, że tworząc nową stronę internetową, warto zawsze używać tej deklaracji, aby zapewnić, że przeglądarki renderują zawartość zgodnie z aktualnymi standardami.

Pytanie 21

Strona internetowa została zaprezentowana w taki sposób:

Rozdział 1

tekst

Podrozdział 1.1

tekst

Podrozdział 1.2

Jakie są poprawne znaczniki do tego formatu?
A. <big>Rozdział 1</big>tekst<big>Podrozdział 1.1</big>tekst<big>Podrozdział 1.2</big>
B. <ul><li>Rozdział 1<li>tekst<li>Podrozdział 1.1<li>tekst<li>Podrozdział 1.2</ul>
C. <h1>Rozdział 1<p>tekst <h2>Podrozdział 1.1<p>tekst <h2>Podrozdział 1.2
D. <h1>Rozdział 1</h1> <p>tekst</p> <h2>Podrozdział 1.1</h2> <p>tekst</p> <h2>Podrozdział 1.2</h2>
Stosowanie znaczników HTML w sposób niezgodny z ich przeznaczeniem prowadzi do poważnych problemów w kontekście SEO oraz dostępności. Przykładowo, użycie znacznika <big> w odpowiedzi, która nie zawiera żadnej strukturalnej informacji, nie jest zgodne z zasadami semantycznymi HTML. Znacznik <big> ma na celu jedynie zwiększenie rozmiaru czcionki, co nie wnosi wartości do struktury dokumentu ani nie określa hierarchii treści. Tego rodzaju podejście może wprowadzać w błąd osoby przeglądające stronę oraz algorytmy wyszukiwarek, które bazują na odpowiednio zdefiniowanej semantyce do oceny treści. Dodatkowo, pominięcie znaczników <p> w odpowiedziach spowoduje, że tekst stanie się trudniejszy do odczytania i zrozumienia. Tworzenie listy za pomocą znacznika <ul> może być w niektórych kontekstach użyteczne, jednak w tym przypadku nie pasuje do struktury, jaką określono w pytaniu. Struktura HTML powinna być przejrzysta i logiczna, aby ułatwić użytkownikom poruszanie się po stronie oraz wspierać indeksację treści przez wyszukiwarki. Niezrozumienie tych zasad często prowadzi do nieprawidłowego stosowania znaczników, co z kolei wpływa negatywnie na doświadczenia użytkownika oraz widoczność w wyszukiwarkach.

Pytanie 22

Jakie polecenie pozwala na zwiększenie wartości o jeden w kolumnie RokStudiów w tabeli Studenci dla uczniów, którzy są na roku 1÷4?

A. UPDATE RokStudiow SET RokStudiow++ WHERE RokStudiow < 5
B. UPDATE Studenci, RokStudiow+1 WHERE RokStudiow < 5
C. UPDATE Studenci SET RokStudiow = RokStudiow+1 WHERE RokStudiow < 5
D. UPDATE Studenci SET RokStudiow WHERE RokStudiow < 5
Odpowiedź 'UPDATE Studenci SET RokStudiow = RokStudiow+1 WHERE RokStudiow < 5;' jest prawidłowa, ponieważ poprawnie wykorzystuje składnię SQL do aktualizacji wartości w tabeli. W tym przypadku, polecenie zmienia wartość kolumny RokStudiow o jeden dla wszystkich studentów, którzy mają przypisany rok studiów mniejszy niż 5. Użycie 'SET RokStudiow = RokStudiow+1' jest zgodne z zasadą aktualizacji danych, gdzie przypisanie nowej wartości korzysta z obecnej wartości i modyfikuje ją. W praktyce, takie operacje są niezbędne w systemach zarządzania bazami danych, zwłaszcza w kontekście obliczeń związanych z postępem akademickim studentów, a przestrzeganie standardów SQL pomaga w utrzymaniu spójności i integralności danych. Dobrą praktyką jest również wykonanie operacji aktualizacji w sposób, który minimalizuje ryzyko utraty danych oraz zwiększa efektywność zapytań, co jest istotne w dużych bazach danych.

Pytanie 23

Jaką złożoność obliczeniową mają problemy związane z przeprowadzaniem operacji na łańcuchach lub tablicach w przypadku dwóch zagnieżdżonych pętli przetwarzających wszystkie elementy?

A. O(log n)
B. O(n!)
C. O(n)
D. O(n2)
Odpowiedź O(n²) jest jak najbardziej trafna. Wiesz, jak to działa? Gdy masz dwie zagnieżdżone pętle, które przetwarzają elementy w kolekcji, to liczba operacji rośnie kwadratowo w zależności od tego, ile tych elementów masz. Dla n elementów w tablicy, każda z tych n elementów wymaga n operacji w drugiej pętli, co daje razem n*n, czyli n². Przykłady? Algorytmy sortowania bąbelkowego czy przez wstawianie świetnie to ilustrują – obydwa działają w czasie O(n²). Pamiętaj, że jako programiści musimy zwracać uwagę na złożoność algorytmów, bo to wpływa na wydajność naszych aplikacji, szczególnie gdy mamy do czynienia z dużymi zbiorami danych. Dobrze jest próbować optymalizować złożoność, żeby nie wpaść w pułapki wydajnościowe. No i fakt, przy problemach, gdzie musimy porównywać wszystkie elementy, O(n²) to często jedyna opcja, która się sprawdza.

Pytanie 24

Ile razy wykona się poniższa pętla napisana w języku PHP, przy założeniu, że zmienna kontrolna nie jest zmieniana w jej wnętrzu?

for ($i = 0; $i <= 10; $i+=2) { ... }
A. 0
B. 10
C. 6
D. 5
W przypadku błędnych odpowiedzi, takich jak 10, 5, 0 czy 6, można zauważyć, że wynikają one z nieprawidłowego zrozumienia działania pętli for w PHP. Odpowiedź 10 sugeruje, że użytkownik zakłada, iż pętla wykonuje się do 10, co jest błędne, ponieważ na każdym kroku zmienna $i zwiększa się o 2. Użycie 5 jako odpowiedzi może wskazywać na niepoprawne obliczenie liczby iteracji przy założeniu, że pętla mogłaby wykonać się z tylko pięcioma incrementami, co jest również mylące. Wybór 0 jako odpowiedzi jest konsekwencją mylnego założenia, że pętla mogłaby w ogóle nie działać, co jest sprzeczne z logiką, ponieważ pętla rozpoczyna się od $i = 0 i spełnia warunek kontynuacji. Ważne jest, aby podczas analizy pętli skupić się na warunkach początkowych, zmiennej sterującej oraz modyfikacji tej zmiennej w każdym cyklu. Prawidłowe obliczenie liczby iteracji pętli jest kluczowe w programowaniu, ponieważ ma to bezpośredni wpływ na wydajność i efektywność działania algorytmów.

Pytanie 25

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 TO COLUMN imie SET CHAR(30);
B. ALTER TABLE klienci CHANGE imie TEXT;
C. ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30);
D. CHANGE TABLE klienci MODIFY imie CHAR(30);
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 26

Zdefiniowana jest tabela uczniowie z polami id, nazwisko, imie oraz klasa. Jakie zapytanie SQL pozwoli nam uzyskać liczbę osób w danym klasa i wskazać jej nazwę?

A. SELECT SUM(id), klasa FROM uczniowie ORDER BY klasa
B. SELECT COUNT(id), klasa FROM uczniowie ORDER BY klasa
C. SELECT COUNT(id), klasa FROM uczniowie GROUP BY klasa
D. SELECT SUM(id), klasa FROM uczniowie GROUP BY klasa
Odpowiedź 'SELECT COUNT(id), klasa FROM uczniowie GROUP BY klasa;' jest prawidłowa, ponieważ wykorzystuje funkcję agregującą COUNT do zliczenia liczby uczniów w każdej klasie. Kluczowym elementem jest tutaj klauzula GROUP BY, która grupuje wyniki według kolumny 'klasa'. Dzięki temu uzyskujemy dla każdej klasy osobny wynik z liczbą uczniów. To podejście jest zgodne z dobrymi praktykami w SQL, gdzie użycie funkcji agregujących z grupowaniem pozwala na efektywne przetwarzanie danych. Przykładowo, w przypadku szkoły, taka analiza może być użyta do zarządzania zasobami lub planowania, na przykład, przy ustalaniu liczby nauczycieli potrzebnych w danej klasie. Użycie COUNT zapewnia również, że wynik będzie liczbowy, co jest istotne dla dalszej analizy danych. Warto również pamiętać, że korzystanie z odpowiednich aliasów dla wyników może poprawić czytelność wyników zapytania.

Pytanie 27

Atrybut value w elemencie formularza XHTML

 <input type="text" name="name" value="value">
A. określa nazwę pola
B. ustawia pole jako tylko do odczytu
C. określa domyślną wartość
D. definiuje maksymalną długość pola
Atrybut 'value' w polu formularza XHTML ma kluczowe znaczenie, ponieważ określa wartość, która będzie domyślnie wyświetlana w polu tekstowym. Kiedy użytkownik otworzy formularz, będzie widział w polu tekstowym wpisaną wartość, co ułatwia interakcję, zwłaszcza w przypadkach, gdy potrzebne są przykłady lub domyślne odpowiedzi. Na przykład, w formularzu rejestracyjnym można ustawić atrybut 'value' na 'Jan Kowalski', co sugeruje użytkownikowi, jak powinien wypełnić swoje imię i nazwisko. Jest to zgodne z dobrymi praktykami projektowania formularzy, które dążą do poprawy użyteczności i zmniejszenia liczby błędów użytkowników. Warto również zauważyć, że w przypadku formularzy, jeśli użytkownik zdecyduje się nie zmieniać tej wartości, atrybut 'value' sprawia, że odpowiedź zostanie przesłana w formularzu po jego wysłaniu. To podkreśla znaczenie predefiniowania wartości w kontekście UX, ponieważ dobrze zaprojektowane formularze mogą znacznie poprawić doświadczenia użytkowników.

Pytanie 28

Co się stanie po kliknięciu w link z HTML zawierający znak #?

<a href="#dane">
A. Strona przeskoczy do elementu o identyfikatorze równym dane
B. Otworzy się nowa karta w przeglądarce zatytułowana dane
C. Zostanie wybrany względny adres URL o nazwie dane
D. Zostanie uruchomiony skrypt o nazwie dane
W składni HTML znak # w atrybucie href w odsyłaczu oznacza, że odnośnik prowadzi do elementu o określonym identyfikatorze id na tej samej stronie. Jest to funkcjonalność zwana nawigacją wewnętrzną lub kotwiczeniem. Po kliknięciu takiego linku przeglądarka automatycznie przewija stronę do elementu o id równym wartości po znaku #. W praktyce jest to bardzo użyteczny mechanizm, zwłaszcza w długich dokumentach lub stronach typu one-page, gdzie można tworzyć spis treści z odnośnikami prowadzącymi do poszczególnych sekcji. Przykładem użycia może być link do formularza na dole strony, który pozwala użytkownikowi szybko dotrzeć do ważnych informacji. Zgodnie z dobrymi praktykami należy zawsze upewnić się, że id jest unikalne w kontekście całej strony, co zapobiega nieoczekiwanym zachowaniom podczas nawigacji. Jest to zgodne ze standardami W3C, które promują semantyczne i dostępne struktury stron internetowych, co wpływa pozytywnie na doświadczenie użytkownika i dostępność stron dla osób z niepełnosprawnościami.

Pytanie 29

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

A. loop
B. poster
C. muted
D. controls
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 30

W kodzie XHTML znajduje się fragment, który zawiera błąd walidacji. Jakiego rodzaju jest to błąd?

<h6>tekst</h6>
<p>pierwsza <b>linia</b><br>
Druga linia</p>
A. Nie można zagnieżdżać znacznika <span class="code-text">&lt;b&gt;</span> w znaczniku <span class="code-text">&lt;p&gt;</span>.
B. Nagłówek szóstego poziomu nie istnieje.
C. Znaczniki powinny być zapisane wielkimi literami.
D. Znacznik <span class="code-text">&lt;br&gt;</span> musi być zamknięty.
W przeciwieństwie do XML, HTML jest mniej restrykcyjny jeśli chodzi o zamykanie znaczników, ale XHTML, jako połączenie HTML i XML, wymaga przestrzegania pewnych zasad. XHTML dąży do zapewnienia większej ścisłości i przewidywalności kodu. Podczas gdy HTML5 pozwala na użycie znaczników takich jak <br> bez zamknięcia, w XHTML znaczniki te muszą być zamknięte jako <br/>. To zabezpiecza kompatybilność z parserami XML, które wymagają zamknięcia wszystkich elementów. Przekonanie, że znaczniki powinny być pisane wielkimi literami jest błędne; XHTML nie narzuca wielkości liter dla znacznika, ale zaleca małe litery dla zgodności z XML. Co do nagłówków, istnieje pełen zakres od <h1> do <h6>. Twierdzenie, że <b> nie może być zagnieżdżany w <p> jest nieprawdziwe. W kontekście HTML i XHTML, <b> jest elementem inline i może być zagnieżdżany w <p>, który jest elementem blokowym. Błędy myślowe często wynikają z mylenia zasad HTML z bardziej rygorystycznymi zasadami XHTML. Podejście oparte na zrozumieniu specyfikacji obu języków jest kluczowe dla poprawnego stosowania ich w praktyce. Warto również zrozumieć znaczenie walidacji kodu, które pomaga w wykrywaniu i poprawianiu błędów oraz zwiększa kompatybilność i dostępność strony. Powszechne nieporozumienia obejmują niepoprawne założenia dotyczące struktury dokumentu i składni, co może prowadzić do problemów z wyświetlaniem stron w różnych przeglądarkach.

Pytanie 31

Na stronie internetowej znajduje się formularz, do którego trzeba zaprogramować następujące funkcje:
– walidacja: podczas wypełniania formularza na bieżąco jest kontrolowana poprawność danych
– przesyłanie danych: po wypełnieniu formularza i jego zatwierdzeniu informacje są przesyłane do bazy danych na serwerze
Aby zrealizować tę funkcjonalność w możliwie najprostszy sposób, należy zapisać

A. walidację w skrypcie PHP, a przesyłanie danych w JavaScript
B. walidację i przesyłanie danych w języku JavaScript
C. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
D. walidację i przesyłanie danych w języku PHP
Wybór walidacji i przesyłania danych w języku PHP jest nieefektywny w kontekście nowoczesnych aplikacji webowych. Język PHP jest używany głównie po stronie serwera i nie jest przeznaczony do walidacji danych w czasie rzeczywistym. Oczekiwanie na przesłanie formularza do serwera, aby uzyskać informację o błędach, prowadzi do nieprzyjemnych doświadczeń użytkowników. Użytkownik musi czekać na odpowiedź serwera, co może być czasochłonne i frustrujące. Ponadto, walidacja po stronie serwera może sprawić, że użytkownik straci wprowadzone dane, jeśli wystąpią błędy. To podejście nie tylko obniża użyteczność formularzy, ale także może prowadzić do większych obciążeń serwera, ponieważ każde wprowadzenie danych wymaga zaangażowania zasobów serwerowych. Implementując walidację w JavaScript, można natychmiast informować użytkownika o niewłaściwych danych, co nie tylko zaspokaja potrzeby użytkownika, ale także zmniejsza ilość niepotrzebnych zapytań do serwera. Ostatecznie, korzystanie z jednego języka do obu zadań jest sprzeczne z zasadą separacji obowiązków, co jest kluczowe w inżynierii oprogramowania. Zamiast tego, prawidłową praktyką jest wykorzystanie JavaScript do walidacji danych przed ich przesłaniem, co pozwala na znacznie bardziej responsywne i przyjazne dla użytkownika doświadczenia.

Pytanie 32

Co robi funkcja przedstawiona w kodzie JavaScript?

function tekst() {
var h = location.hostname;
document.getElementById("info").innerHTML = h;
}
A. pokazać na przycisku lokalizację hosta, a po jego naciśnięciu umożliwić przejście do określonej lokalizacji
B. wyświetlić w elemencie o id = "info" nazwę hosta, z którego pochodzi wyświetlona strona
C. umożliwić przejście do wskazanej lokalizacji hosta
D. wyświetlić w elemencie o id = "info" adres hosta wskazany przez pierwszy odnośnik
Prawidłowa odpowiedź wskazuje, że kod JavaScript wywołuje metodę location.hostname, która zwraca nazwę hosta aktualnie odwiedzanej strony. Hostname jest częścią obiektu Location, który reprezentuje bieżący URL dokumentu. Kod przypisuje wynik tej metody do zmiennej h, a następnie ustawia innerHTML elementu o id info na wartość tej zmiennej. Dzięki takim operacjom, kod efektywnie wyświetla nazwę hosta w elemencie o konkretnym identyfikatorze na stronie HTML. Jest to częsta technika używana w aplikacjach webowych, gdzie istotne jest dynamiczne wyświetlanie informacji o aktualnym połączeniu. Znajomość obiektu Location oraz jego właściwości, takich jak hostname, to podstawowa umiejętność w pracy z językiem JavaScript, szczególnie w kontekście manipulacji DOM. Takie podejście jest zgodne z dobrymi praktykami, gdyż unika bezpośredniego wpisywania danych w kodzie, co zwiększa elastyczność i ułatwia utrzymanie aplikacji.

Pytanie 33

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

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

Pytanie 34

Jaki jest cel poniższego fragmentu funkcji w JavaScript?

wynik = 0;
for (i = 0; i < tab.length; i++)
{
    wynik += tab[i];
}
A. dodać stałą wartość do każdego elementu tablicy
B. wyświetlić wszystkie pozycje w tablicy
C. obliczyć sumę wszystkich elementów tablicy
D. przypisać do każdego elementu tablicy bieżącą wartość zmiennej i
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

W jaki sposób będzie uporządkowana lista stworzona z wszystkich kolumn tabeli uczniowie, obejmująca uczniów o średniej wyższej niż 5, która zostanie zwrócona jako rezultat przedstawionego zapytania?

SELECT *
FROM uczniowie
WHERE srednia > 5
ORDER BY klasa DESC;
A. Malejąco według parametru srednia
B. Rosnaco według parametru srednia
C. Malejąco według parametru klasa
D. Rosnąca według parametru klasa
Zapytanie SQL używa klauzuli ORDER BY klasa DESC co oznacza że wyniki będą posortowane malejąco według kolumny klasa Klauzula ORDER BY jest używana w języku SQL do sortowania wyników zapytania Użycie DESC oznacza że sortowanie będzie w porządku malejącym co w praktyce oznacza że najwyższe wartości będą na początku listy a najniższe na końcu To jest przydatne gdy chcemy uzyskać strukturę danych w której najważniejsze lub najbardziej istotne rekordy są prezentowane na samym początku na przykład gdy analizujemy dane w kontekście hierarchicznym lub priorytetowym W tym przypadku sortujemy malejąco według klasy co może być użyteczne na przykład gdy chcemy szybko zidentyfikować uczniów z wyższych klas którzy osiągają wysokie wyniki średnia powyżej 5 Dobre praktyki w SQL zalecają jasne i precyzyjne definiowanie kryteriów sortowania co ułatwia zrozumienie logiki zapytania oraz zapewnia jego przewidywalne działanie Jeśli dane wymagają częstego sortowania warto rozważyć optymalizację poprzez odpowiednie indeksy co może znacząco poprawić wydajność zapytań zwłaszcza w dużych zestawach danych

Pytanie 36

Aby zliczyć wszystkie wiersze w tabeli Koty, należy wykorzystać zapytanie

A. SELECT COUNT(Koty) AS ROWNUM
B. SELECT COUNT(ROWNUM) FROM Koty
C. SELECT COUNT(*) FROM Koty
D. SELECT ROWNUM() FROM Koty
Aby policzyć wszystkie wiersze tabeli Koty, należy skorzystać z polecenia SQL SELECT COUNT(*), które zwraca liczbę wszystkich rekordów w danej tabeli. Funkcja COUNT(*) jest częścią standardu SQL i działa na zasadzie zliczania wszystkich wierszy, niezależnie od tego, czy zawierają one wartości NULL. Wartością zwróconą przez to polecenie będzie liczba całkowita, która przedstawia całkowitą liczbę wierszy w tabeli Koty. Przykład zastosowania tego polecenia w praktyce może wyglądać następująco: po wykonaniu zapytania na bazie danych, użytkownik otrzyma wynik, który jasno wskazuje, ile kotów znajduje się w tabeli. Ten sposób zliczania jest efektywny i szeroko stosowany w aplikacjach zarządzających bazami danych, umożliwiając szybkie i precyzyjne uzyskanie potrzebnych informacji. Przy indeksowaniu i optymalizacji zapytań, COUNT(*) jest najczęściej używaną funkcją, co czyni ją kluczowym narzędziem w pracy z relacyjnymi bazami danych.

Pytanie 37

W skrypcie PHP należy stworzyć cookie o nazwie "owoce", które przyjmie wartość "jabłko". Cookie powinno być dostępne przez jedną godzinę od momentu jego utworzenia. W tym celu w skrypcie PHP trzeba zastosować funkcję:

A. cookie("owoce", "jabłko", 3600);
B. setcookie("jabłko", "owoce", time()+3600);
C. cookie("jabłko", "owoce", 3600);
D. setcookie("owoce", "jabłko", time()+3600);
Funkcja setcookie() jest standardowym narzędziem w PHP, używanym do tworzenia cookies. W przypadku tej odpowiedzi, używamy jej w poprawny sposób, definiując nazwę cookies jako 'owoce', wartość jako 'jabłko' oraz czas wygaśnięcia. Wywołanie time()+3600 oznacza, że cookie będzie ważne przez jedną godzinę od momentu jego utworzenia. Ważne jest, aby pamiętać, że setcookie() musi być wywołane przed jakimkolwiek kodem HTML, który jest wysyłany do przeglądarki. W praktyce, cookies mogą być używane do przechowywania informacji o użytkownikach, takich jak preferencje lub dane sesji. Na przykład, w przypadku aplikacji e-commerce, cookies mogą pomóc w śledzeniu produktów dodanych do koszyka przez użytkownika, co jest istotne dla poprawy doświadczeń zakupowych. Standardy dotyczące cookies wskazują również na konieczność zachowania ostrożności w zakresie prywatności i bezpieczeństwa, dlatego warto stosować flagi zabezpieczeń, takich jak HttpOnly i Secure, w zależności od kontekstu użycia.

Pytanie 38

Język PHP zapewnia wsparcie dla

A. obiektów przeglądarki
B. sesji i ciastek
C. zdarzeń związanych z myszą
D. klawiszy klawiatury
PHP, jako język skryptowy po stronie serwera, oferuje wsparcie dla zarządzania sesjami oraz ciasteczkami, co jest kluczowe w kontekście tworzenia aplikacji internetowych. Sesje w PHP umożliwiają przechowywanie danych użytkownika pomiędzy różnymi żądaniami HTTP, co jest istotne w przypadku potrzeb utrzymania stanu aplikacji, np. podczas logowania. Dzięki funkcjom takim jak session_start() można łatwo rozpocząć nową sesję lub wznowić istniejącą. Ciasteczka, z kolei, pozwalają na przechowywanie danych po stronie klienta, co umożliwia personalizację doświadczeń użytkowników na stronie. Przykładem może być zapisywanie preferencji użytkownika, takich jak język interfejsu. Dobre praktyki w zakresie obsługi sesji i ciasteczek obejmują stosowanie bezpiecznych identyfikatorów sesji, ograniczanie czasu życia ciasteczek, a także ich szyfrowanie, co chroni przed atakami typu session hijacking. W ten sposób PHP gwarantuje, że aplikacje są nie tylko funkcjonalne, ale także bezpieczne.

Pytanie 39

Co należy zrobić przed rozpoczęciem pętli, by zapewnić poprawne działanie przedstawionego kodu JavaScript?

var text;
for( var i = 0; i < tab.length; i++){
    text += tab[i] + "<br>";
}
A. Zweryfikować, czy text ma typ string
B. Zadeklarować zmienną i
C. Sprawdzić rozmiar tabeli tab
D. Zainicjować zmienną text
Zainicjowanie zmiennej text przed użyciem jej w kodzie JavaScript jest kluczowe dla uniknięcia błędów runtime. W analizowanym kodzie zmienna text jest używana do przechowywania i modyfikacji danych stringowych w pętli. Bez wcześniejszej inicjalizacji, np. text = '', próba konkatenacji wartości do zmiennej text prowadziłaby do błędu, gdyż zmienna ta nie miałaby początkowej wartości. Zainicjowanie zmiennej jako pustego stringa jest dobrym przykładem praktyki programistycznej, która zapobiega nieoczekiwanym błędom i zapewnia, że zmienna ma przewidywalny stan początkowy przed rozpoczęciem operacji na niej. Taka inicjalizacja jest również zgodna z zasadą defensywnego programowania gdzie staramy się zminimalizować ryzyko wystąpienia błędów poprzez odpowiednie przygotowanie danych przed ich użyciem. W praktyce, inicjalizacja zmiennych jest częścią dobrych standardów programistycznych i pomaga w utrzymywaniu czytelności i niezawodności kodu, co jest szczególnie istotne w projektach zespołowych oraz dużych aplikacjach.

Pytanie 40

Jak określa się element, który został oznaczony znakiem zapytania w strukturze platformy .NET, a który pozwala na tworzenie indywidualnych aplikacji z wykorzystaniem frameworków oraz na przekształcanie kompilowanego kodu pośredniego na kod maszynowy procesora znajdującego się w komputerze?

Ilustracja do pytania
A. Wspólne środowisko uruchomieniowe (CLR)
B. Biblioteka klas bazowych (BCL)
C. Infrastruktura językowa (CLI)
D. Wspólne środowisko programistyczne (CLP)
Wspólne środowisko uruchomieniowe (CLR) jest kluczowym komponentem platformy .NET, który odpowiada za zarządzanie wykonywaniem programów napisanych w różnych językach programowania. CLR działa jako wirtualna maszyna i umożliwia uruchamianie aplikacji poprzez kompilację kodu pośredniego (CIL) do kodu maszynowego właściwego dla danego procesora. Jednym z głównych zadań CLR jest zarządzanie pamięcią, w tym automatyczne zarządzanie zasobami oraz usuwanie nieużywanych obiektów za pomocą mechanizmu garbage collection. Ponadto CLR zapewnia bezpieczeństwo typów i izolację, co pozwala na lepszą kontrolę nad integralnością aplikacji. Dzięki takiemu podejściu, deweloperzy mogą skupić się na logice aplikacyjnej, nie martwiąc się o niskopoziomowe szczegóły związane z zarządzaniem pamięcią. CLR wspiera także interoperacyjność między różnymi językami, co oznacza, że komponenty napisane w jednym języku mogą być używane w aplikacjach napisanych w innym języku, co zwiększa elastyczność i możliwości wielokrotnego użycia kodu. Dzięki CLR deweloperzy mogą tworzyć stabilne i wydajne aplikacje w sposób efektywny i zgodny z nowoczesnymi standardami programistycznymi.