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: 8 czerwca 2026 10:12
  • Data zakończenia: 8 czerwca 2026 10:25

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

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

Który lekki, tekstowy format danych jest dziś najczęściej używany do asynchronicznej wymiany danych między klientem a serwerem (np. w AJAX)?

A. BMP
B. JSON
C. DOCX
D. CSV
Pozostałe formaty nie służą do wymiany danych w AJAX. CSV to prosty zapis tabelaryczny (wartości oddzielone przecinkami) - nadaje się do arkuszy i eksportu, ale nie odwzorowuje zagnieżdżonych struktur danych i rzadko bywa używany w API. DOCX to format dokumentów tekstowych programu Word, przeznaczony do treści do druku, a nie do komunikacji aplikacji. BMP to format obrazu rastrowego - przechowuje grafikę, a nie dane strukturalne. Do asynchronicznej wymiany danych z serwerem używa się JSON, dlatego ta odpowiedź jest poprawna.

Pytanie 2

Zdefiniowano bazę danych z tabelą sklepy, która zawiera pola: nazwa, ulica, miasto, branza. W celu zlokalizowania wszystkich nazw sklepów spożywczych, które znajdują się tylko we Wrocławiu, należy wykorzystać kwerendę:

A. SELECT sklepy FROM branza="spożywczy" WHERE miasto="Wrocław"
B. SELECT sklepy FROM nazwa WHERE branza="spożywczy" BETWEEN miasto="Wrocław"
C. SELECT nazwa FROM sklepy WHERE branza="spozywczy" AND miasto="Wrocław"
D. SELECT nazwa FROM sklepy WHERE branza="spozywczy" OR miasto="Wrocław"
Odpowiedź 'SELECT nazwa FROM sklepy WHERE branza="spozywczy" AND miasto="Wrocław";' jest poprawna, ponieważ wykorzystuje właściwą składnię SQL do pobrania danych. W tym przypadku chcemy wybrać nazwy sklepów z tabeli 'sklepy', które spełniają dwa warunki: branża musi być równa 'spozywczy', a miasto musi być równe 'Wrocław'. Użycie operatora AND zapewnia, że oba kryteria muszą być spełnione jednocześnie, co jest kluczowe w tym zadaniu. Ponadto, dobrym zwyczajem jest stosowanie podwójnych cudzysłowów dla nazw kolumn i wartości tekstowych. Przykładowo, w praktyce taka kwerenda może być użyta do analizy lokalizacji sklepów spożywczych w danym mieście, co może być istotne dla strategii marketingowej lub planowania rozwoju sieci handlowej. Zrozumienie struktury SQL oraz sposób formułowania zapytań jest fundamentem efektywnego zarządzania danymi w relacyjnych bazach danych.

Pytanie 3

Aby obraz na stronie automatycznie dopasowywał się do rozmiaru ekranu, na którym strona jest wyświetlana, należy:

A. jego szerokość ustawić w wartościach procentowych
B. oba jego wymiary ustawić w pikselach
C. jeden z wymiarów ustawić w pikselach
D. nie zmieniać jego wymiarów stylami CSS
Responsywny obraz skaluje się razem z układem strony. Uzyskuje się to, ustawiając jego szerokość w jednostce względnej - w procentach, na przykład img { width: 100%; max-width: 100%; }. Obraz dopasowuje się wtedy do szerokości kontenera, a wysokość zwykle pozostawia się jako auto, by zachować proporcje. Dlatego szerokość obrazu ustawia się w wartościach procentowych.

Pytanie 4

Którą instrukcję pętli stosuje się do wykonania określonej (znanej z góry) liczby powtórzeń?

A.
if
B.
foreach
C.
switch
D.
for
Pętla for najlepiej nadaje się, gdy z góry znamy liczbę powtórzeń. Składa się z trzech części: inicjalizacji licznika, warunku kontynuacji i kroku, np. for ($i = 0; $i < 10; $i++) { ... } wykona kod dokładnie 10 razy. Licznik automatycznie rośnie (lub maleje) w każdym obrocie, co czyni for wygodnym do pracy na zakresach liczb. Dla nieznanej z góry liczby powtórzeń (do spełnienia warunku) lepsza jest while, a do przejścia po tablicy - foreach. Dlatego do określonej liczby powtórzeń służy for.

Pytanie 5

Określ złożoność obliczeniową algorytmu prostego (standardowego) wyszukiwania najmniejszej wartości w zestawie liczb?

A. O(n3 )
B. O(n!)
C. O(n)
D. O(n2 )
Algorytm naiwnego wyszukiwania minimum jest dość prosty, bo jego złożoność obliczeniowa to O(n). To znaczy, że im więcej mamy elementów w zbiorze, tym dłużej trwa jego działanie, ale w prosty sposób, czyli liniowo. W praktyce algorytm przeszukuje każdy element, porównując go z innymi, co jest dosyć klasyczne i używane w wielu podstawowych programach. Na przykład, gdy programujemy w Pythonie, możemy użyć pętli do przejścia przez listę, co sprawia, że łatwo to zrozumieć. W branży programistycznej często mówimy o tym w kontekście analizy złożoności obliczeniowej, co czyni go naprawdę istotnym tematem dla każdego programisty. Moim zdaniem, zrozumienie O(n) jest kluczowe, gdy chcemy optymalizować nasz kod i oceniać, jak nasze algorytmy radzą sobie z większymi zbiorami danych. To chyba jeden z podstawowych tematów w inżynierii oprogramowania i analizie danych.

Pytanie 6

Jakie zadanie ma funkcja PHP o nazwie mysql_select_db()?

A. uzyskać dane z bazy danych na podstawie zapytania
B. nawiązać połączenie między bazą danych a serwerem SQL
C. wyznaczyć tabelę, z której będą pozyskiwane dane
D. wyznaczyć bazę, z której będą pozyskiwane dane
Tutaj mamy parę pomyłek związanych z funkcją <span>mysql_select_db()</span>. Po pierwsze, mylisz ją z tym, jak łączymy bazę danych z serwerem SQL. W rzeczywistości, połączenie robi się przez <span>mysql_connect()</span>, a <span>mysql_select_db()</span> ma za zadanie pokazać, która z baz, które już mamy, ma być użyta. Kolejna sprawa to błędne zrozumienie, jak wyciągamy dane z bazy. Robimy to za pomocą funkcji jak <span>mysql_query()</span>, więc wybór bazy danych i ściąganie danych to dwa różne etapy. Mylenie bazy danych z tabelą też wprowadza w błąd, bo baza to tak naprawdę pojemnik dla tabel, a nie jedna konkretna tabela. Moim zdaniem, zrozumienie tej hierarchii jest kluczowe, żeby dobrze działać z bazami. Te nieporozumienia mogą skutkować poważnymi kłopotami, jak złe zapytania czy problemy z dostępem do danych. Lepiej wcześniej przejrzeć dokumentację i standardy SQL, bo one jasno tłumaczą różnice między połączeniem z serwerem, wyborem bazy danych a kwerendami.

Pytanie 7

W języku HTML w celu określenia słów kluczowych dla danej strony, należy zastosować następujący zapis

A. <meta keywords="psy, koty, gryzonie">
B. <meta name="description" content="psy, koty, gryzonie">
C. <meta name="keywords" content="psy, koty, gryzonie">
D. <meta name="keywords" = "psy, koty, gryzonie">
Pierwsza z niepoprawnych odpowiedzi, <meta keywords="psy, koty, gryzonie">, jest błędna z powodu braku atrybutu 'name'. W standardzie HTML każdy element <meta> powinien zawierać atrybut 'name' lub 'property', który określa, jakiego rodzaju metadane są dostarczane. Pominięcie tego atrybutu sprawia, że przeglądarki mogą nieprawidłowo interpretować ten element, co negatywnie wpływa na SEO strony. Druga odpowiedź, <meta name="keywords" = "psy, koty, gryzonie">, zawiera błędną składnię. Równanie atrybutu w HTML powinno być zapisane z wykorzystaniem znaku ' ', a nie '='. Poprawny zapis powinien wyglądać: <meta name="keywords" content="psy, koty, gryzonie">. Błąd ten jest częstym źródłem problemów w kodzie HTML, prowadzącym do niezrozumienia przez przeglądarki, co może skutkować ignorowaniem tego elementu przez algorytmy wyszukiwarek. Ostatnia odpowiedź, <meta name="description" content="psy, koty, gryzonie">, jest niepoprawna, ponieważ nie dotyczy słów kluczowych, lecz opisu strony. Chociaż atrybut 'description' również jest istotny i wpływa na SEO, to jego zastosowanie w tym kontekście nie odpowiada na pytanie o definicję słów kluczowych. Poprawne użycie metadanych polega na precyzyjnym dobraniu atrybutów do ich funkcji, co jest kluczowe dla efektywnej optymalizacji strony.

Pytanie 8

W zaprezentowanym schemacie bazy danych o nazwie biblioteka, składniki: czytelnik, wypożyczenie oraz książka są

Ilustracja do pytania
A. encjami
B. krotkami
C. polami
D. atrybutami
W kontekście modelowania danych w relacyjnych bazach danych istotne jest rozróżnienie między encjami a innymi pojęciami. Pola w bazach danych zazwyczaj odnoszą się do pojedynczych jednostek danych w obrębie kolumn tabeli reprezentujących atrybuty encji. Atrybuty to cechy opisujące encje takie jak imię czy nazwisko w przypadku encji czytelnik. Natomiast krotki często określają pojedynczy rekord czyli wiersz w tabeli który jest instancją encji. Błędne jest przypisywanie czytelnik wypozyczenie i ksiazka do kategorii pól ponieważ w modelowaniu danych pola są najmniejszymi jednostkami danych które nie reprezentują obiektów realnego świata lecz ich właściwości. Podobnie błędem jest klasyfikowanie ich jako atrybuty ponieważ atrybuty opisują encje a nie są nimi. Traktowanie tych elementów jako krotek również jest nieprawidłowe gdyż krotki to konkretne instancje danych a nie typy obiektów które chcemy modelować. Typowy błąd myślowy polega na myleniu poziomu abstrakcji czyli traktowaniu encji które są wysokopoziomowymi konceptami jak atrybuty czy krotki które są bardziej szczegółowymi jednostkami w strukturze danych. Zrozumienie tych różnic jest kluczowe dla efektywnego projektowania i implementacji baz danych oraz uniknięcia problemów związanych z redundancją czy nieefektywnością w przetwarzaniu informacji

Pytanie 9

Który z poniższych formatów NIE pozwala na zapis plików animowanych?

A. ACE
B. SWF
C. GIF
D. SVG
Pozostałe formaty obsługują animację, więc nie są odpowiedzią. GIF przechowuje sekwencję klatek wyświetlanych w pętli - to klasyczny format prostych animacji. SWF to format technologii Flash, stworzony właśnie do animacji i interaktywnych aplikacji. SVG, choć wektorowy, również pozwala animować elementy obrazu. Formatem niesłużącym do animacji jest ACE - to archiwum do kompresji plików - dlatego ta odpowiedź jest poprawna.

Pytanie 10

Jaki typ danych w MySQL należy zastosować, aby w jednym polu zapisać zarówno datę, jak i czas?

A. DATE
B. YEAR
C. TIMESTAMP
D. BOOLEAN
Typ danych TIMESTAMP w MySQL jest przeznaczony do przechowywania zarówno daty, jak i czasu w jednym polu. Jest szczególnie przydatny w sytuacjach, gdy potrzebne jest śledzenie zdarzeń w czasie, takich jak rejestracja daty i godziny utworzenia lub modyfikacji rekordów w bazie danych. TIMESTAMP przechowuje dane w formacie 'YYYY-MM-DD HH:MM:SS', co pozwala na precyzyjne określenie momentu w czasie. Wartością dodaną tego typu danych jest automatyczne aktualizowanie znacznika czasu przy każdej zmianie rekordu (jeśli ustawimy odpowiednie opcje), co jest zgodne z najlepszymi praktykami w zakresie audytu danych. Przykładem zastosowania może być rejestracja logów aktywności użytkowników w aplikacji internetowej lub monitorowanie transakcji w systemach finansowych, gdzie dokładny czas zdarzenia jest kluczowy. Dodatkowo, TIMESTAMP obsługuje różnice stref czasowych, co czyni go idealnym wyborem w aplikacjach działających w różnych lokalizacjach geograficznych.

Pytanie 11

Tabela przedmioty ma pola ocena i uczenID. Która kwerenda policzy ŚREDNIĄ ocen ucznia o ID 7?

A.
COUNT SELECT ocena FROM przedmioty WHERE uczenID = 7;
B.
SELECT COUNT(ocena) FROM przedmioty WHERE uczenID = 7;
C.
AVG SELECT ocena FROM przedmioty WHERE uczenID = 7;
D.
SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;
Średnią wartości z kolumny liczy funkcja agregująca AVG. Zapis SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7; najpierw warunkiem WHERE wybiera oceny ucznia o ID 7, a potem AVG(ocena) je uśrednia. Dlatego ta kwerenda jest poprawna.

Pytanie 12

Wskaż właściwy sposób zapisu instrukcji w języku JavaScript.

A. document.write("Liczba π z dokładnością do 2 miejsc po przecinku ≈ " . 3.14 );
B. document.write("Liczba π z dokładnością do 2 miejsc po przecinku ≈ " ; 3.14 );
C. document.write("Liczba π z dokładnością do 2 miejsc po przecinku ≈ " + 3.14 );
D. document.write("Liczba π z dokładnością do 2 miejsc po przecinku ≈ " 3.14 );
Poprawna odpowiedź to 'document.write("Liczba π z dokładnością do 2 miejsc po przecinku ≈ " + 3.14);'. Ta instrukcja w języku JavaScript umożliwia wyświetlenie tekstu oraz wartości liczbowej na stronie internetowej. Kluczowym elementem jest operator konkatenacji '+', który służy do łączenia ze sobą dwóch lub więcej stringów. W tym przypadku łączymy tekst z wartością liczby π. Użycie podwójnych cudzysłowów do otoczenia tekstu jest poprawne, a znaki ucieczki (backslash) przed cudzysłowami wewnętrznymi zapewniają, że JavaScript prawidłowo interpretuje je jako część tekstu, a nie zakończenie stringa. W praktyce często korzysta się z tego typu zapisów do dynamicznego generowania treści na stronach internetowych, co jest zgodne z zasadami programowania obiektowego oraz dobrymi praktykami w zakresie czytelności kodu. Warto również zauważyć, że 'document.write' jest funkcją, którą należy stosować ostrożnie, gdyż może nadpisywać istniejącą zawartość strony, jeśli użyta zostanie po załadowaniu DOM. Dlatego w nowoczesnych aplikacjach webowych preferowane są inne metody, takie jak manipulacja DOM poprzez metody 'appendChild' lub 'innerHTML'.

Pytanie 13

Aby przy usunięciu rekordu nadrzędnego automatycznie usunęły się powiązane z nim rekordy podrzędne, w definicji klucza obcego dodaje się klauzulę:

A.
ON DELETE RESTRICT
B.
ON DELETE CASCADE
C.
ON UPDATE CASCADE
D.
ON DELETE SET NULL
Pozostałe klauzule reagują inaczej. ON DELETE SET NULL przy usunięciu rekordu nadrzędnego nie kasuje podrzędnych, lecz ustawia ich klucz obcy na NULL (powiązanie znika, rekordy zostają). ON DELETE RESTRICT działa wręcz odwrotnie - nie pozwala usunąć rekordu nadrzędnego, dopóki istnieją powiązane podrzędne. ON UPDATE CASCADE dotyczy ZMIANY wartości klucza, a nie usuwania. Automatyczne usunięcie rekordów podrzędnych wraz z nadrzędnym daje ON DELETE CASCADE, dlatego to ona jest poprawna.

Pytanie 14

W podanym przykładzie pseudoklasa hover spowoduje, że styl pogrubiony zostanie zastosowany

Ilustracja do pytania
A. odnośnikowi, gdy kursor myszy na nim spocznie
B. dla wszystkich nieodwiedzonych odnośników
C. dla wszystkich odwiedzonych odnośników
D. dla każdego odnośnika bez względu na jego aktualny stan
Pseudoklasa hover w CSS jest stosowana do definiowania stylu elementu, gdy użytkownik umieszcza nad nim kursor myszy. W kontekście odnośników, stosowanie pseudoklasy hover pozwala na dynamiczne dostosowywanie ich wyglądu, co jest kluczowe dla poprawy interaktywności i użyteczności stron internetowych. W przykładzie a:hover { font-weight: bold; } styl pogrubiony zostanie zastosowany do odnośnika, gdy użytkownik najedzie na niego kursorem myszy. Jest to częsta praktyka w projektowaniu stron, która pomaga użytkownikom łatwiej identyfikować aktywne elementy nawigacyjne. Standardy sieciowe, takie jak W3C, rekomendują stosowanie takich interakcji w celu poprawy doświadczenia użytkownika. Praktyczne zastosowanie pseudoklasy hover jest szerokie, od prostych efektów wizualnych, po skomplikowane animacje i przejścia. Ważne jest jednak, aby pamiętać o zapewnieniu alternatywnych metod interakcji dla użytkowników korzystających z urządzeń dotykowych, gdzie hover nie jest obsługiwany. Zrozumienie i właściwe stosowanie pseudoklas w CSS jest podstawą tworzenia nowoczesnych i dostępnych interfejsów użytkownika.

Pytanie 15

Które z formatowań nie jest wyrażone w języku CSS?

A. Fragment pliku strona.html:
<style>
body { background-color: yellow; }
</style>
B. Fragment pliku formatowanie.css:
body { background-color: yellow; }
C. Fragment pliku strona.html:
<body bgcolor="yellow">
D. Fragment pliku strona.html:
<body style="background-color: yellow;" >
A. D.
B. B.
C. C.
D. A.
Gratulacje, prawidłowo wybrałeś odpowiedź C. To pytanie dotyczyło zrozumienia, które formatowania nie są wyrażone w języku CSS. W CSS wykorzystuje się różnego rodzaju selektory, aby określić elementy strony, do których mają być stosowane określone style. Fragmenty A i B przedstawiają formatowanie w języku CSS. Fragment A demonstruje styl wewnątrz dokumentu HTML, co jest jednym z trzech sposobów dodawania styli CSS do dokumentu HTML. Natomiast fragment B pokazuje styl z zewnętrznego pliku CSS, co jest zgodne ze standardami i uważane za najlepszą praktykę, ponieważ pozwala na utrzymanie oddzielenia struktury i prezentacji. Fragment D również wykorzystuje CSS, ale jest to tzw. "inline CSS", który jest stosowany bezpośrednio do elementu HTML. Ostatecznie, jedynie fragment C nie używa CSS. Zamiast tego, wykorzystuje przestarzały atrybut HTML "bgcolor" do określenia koloru tła, co obecnie jest uważane za złą praktykę. Pamiętaj, że zrozumienie różnicy pomiędzy HTML a CSS jest kluczowe w budowaniu poprawnie działających i dobrze zaprojektowanych stron internetowych.

Pytanie 16

Aby przywrócić bazę danych MS SQL z kopii zapasowej, należy zastosować polecenie:

A.
SAVE DATABASE
B.
RESTORE DATABASE
C.
REBACKUP DATABASE
D.
DBCC CHECKDB
W MS SQL Server bazę odtwarza się z kopii poleceniem RESTORE DATABASE, podając nazwę bazy i plik kopii, np. RESTORE DATABASE sklep FROM DISK = 'c:\sklep.bak'. Jest ono odwrotnością BACKUP DATABASE, które tworzy kopię. Używa się go po awarii lub przy przenoszeniu bazy. Dlatego do przywrócenia bazy z kopii służy RESTORE DATABASE.

Pytanie 17

Wszelkie dane, które dostarczają informacji o innych danych, nazywane są

A. databus.
B. metalanguage.
C. markup language.
D. metadata.
Poprawna odpowiedź to „metadata”, czyli po polsku metadane. Metadane to wszystkie dane, które opisują inne dane. Można powiedzieć, że są to „informacje o informacji”. Przykład z życia: plik zdjęcia JPG. Sam obraz to dane, a takie elementy jak data wykonania, model aparatu, rozdzielczość, lokalizacja GPS, autor – to właśnie metadane zapisane np. w formacie EXIF. Podobnie w świecie WWW: w dokumencie HTML mamy sekcję <head>, a w niej znaczniki <meta>. Te znaczniki nie są wyświetlane użytkownikowi jako treść strony, ale przekazują wyszukiwarkom i przeglądarkom informacje o stronie, np. opis, słowa kluczowe, kodowanie znaków, język. To jest klasyczny przykład metadanych w praktyce. W bazach danych metadane to np. definicje tabel, typy kolumn, klucze główne, indeksy, ograniczenia. System zarządzania bazą danych przechowuje je w tzw. katalogach systemowych. Dzięki temu wie, jak interpretować rekordy, jakie są relacje między tabelami, jakie są dopuszczalne wartości. Bez metadanych dane byłyby po prostu chaotycznym zbiorem bitów, z którego niewiele da się wyciągnąć. W standardach branżowych stosuje się różne schematy metadanych, np. Dublin Core dla zasobów cyfrowych, czy schema.org dla stron internetowych, aby wyszukiwarki lepiej rozumiały zawartość. Z mojego doświadczenia warto od początku myśleć o metadanych jako o czymś, co podnosi jakość systemu: ułatwia wyszukiwanie, integrację, automatyczne przetwarzanie danych. Dobra praktyka jest taka, żeby dla ważnych zasobów (pliki, rekordy w bazie, strony WWW, API) zawsze planować strukturę metadanych: kto utworzył, kiedy, jaki typ, wersja, status. To bardzo pomaga przy utrzymaniu aplikacji, debugowaniu i rozwoju systemu.

Pytanie 18

Jakie informacje z ośmiu wpisanych rekordów w tabeli zwierzęta zostaną przedstawione w wyniku wykonania wskazanej instrukcji SQL?

Ilustracja do pytania
A. Anna Kowalska, Jan Nowak
B. Fafik, Brutus, Dika, Fuks
C. Figaro, Dika, Fuks
D. Dika, Fuks
Zapytanie SQL SELECT imie FROM zwierzeta WHERE rodzaj = 2 AND szczepienie = 2016; filtruje wyniki według dwóch kryteriów: rodzaj musi być równy 2 i rok szczepienia musi być 2016. W danych mamy kilka zwierząt, ale tylko Dika i Fuks spełniają oba te warunki. Dika i Fuks mają rodzaj równy 2 oraz rok szczepienia 2016, co czyni je jedynymi zwierzętami w tabeli spełniającymi te kryteria. Zrozumienie tego typu zapytań wymaga znajomości składni SQL oraz logiki warunkowej. W praktyce stosowanie filtrów WHERE to jedna z podstawowych technik selekcji danych umożliwiająca precyzyjne wyciąganie rekordów z dużych zbiorów danych. Warto również zaznaczyć, że poprawne używanie takich zapytań w pracy zawodowej jest niezbędne dla zapewnienia jakości i wydajności procesów związanych z bazami danych. Wiedza ta jest kluczowa w wielu branżach, w których przetwarzanie dużych ilości danych jest codziennością.

Pytanie 19

Którego znacznika HTML użyć, aby wstawić poziomą linię?

A.
<hr>
B.
<br>
C.
<hl>
D.
<line>
<br> łamie wiersz, a nie rysuje linii. <line> i <hl> to znaczniki nieistniejące w HTML. Poziomą linię wstawia <hr>.

Pytanie 20

Który kod jest alternatywny do kodu zamieszczonego w ramce?

<?php
for($x = 1; $x <= 55; $x++)
{
  if($x % 2 != 0) continue;
  echo $x . " ";
}
?>
A. for($x = 1; $x <= 55; $x += 1) {echo $x." ";}
B. for($x = 2; $x <= 54; $x += 2) {echo $x." ";}
C. for($x = 1; $x <= 55; $x++) {echo $x." ";}
D. for($x = 2; $x <= 56; $x += 2) {echo $x." ";}
Niestety, wybrałeś błędną odpowiedź. Wszystkie opcje oprócz odpowiedzi A nie są alternatywą dla kodu zawartego w ramce. Cechą wspólną dla niepoprawnych odpowiedzi jest fakt, że nie uwzględniają one aspektu parzystości liczb, na którym operują. Kod w ramce pomija liczby parzyste za pomocą instrukcji 'continue', która jest wywoływana, gdy reszta z dzielenia przez 2 jest równa 0. W odpowiedzi A, pętla jest zaprojektowana tak, że wykonuje operacje tylko na liczbach parzystych (zaczyna od 2 i zwiększa wartość o 2 za każdą iterację). Błędne odpowiedzi nie uwzględniają takiego podziału na liczby parzyste i nieparzyste, co jest kluczowym aspektem funkcjonowania kodu w ramce. Pamiętaj, że podczas analizy kodu, zwracaj uwagę na wszystkie jego aspekty, takie jak warunki, instrukcje sterujące czy operacje wykonywane na danych.

Pytanie 21

Jak nazywa się sytuacja, w której funkcja wywołuje samą siebie?

A. rekurencja
B. dziedziczenie
C. hermetyzacja
D. iteracja
Rekurencja to technika, w której funkcja wywołuje samą siebie, by rozwiązać problem przez sprowadzenie go do prostszego przypadku tego samego typu. Każda poprawna rekurencja musi mieć warunek bazowy (przypadek prosty, kończący wywołania), inaczej powstanie nieskończone wywoływanie i przepełnienie stosu. Klasyczne przykłady to silnia czy ciąg Fibonacciego. Często alternatywą jest iteracja (pętla). Dlatego wywołanie funkcji przez samą siebie to rekurencja.

Pytanie 22

Prezentowany fragment dokumentu HTML z użyciem JavaScript spowoduje, że po naciśnięciu przycisku

<img src="obraz1.png">
<img src="obraz2.png" id="id1">
<button onclick="document.getElementById('id1').style.display='none'">Przycisk</button>
A. obraz1.png zostanie wymieniony przez obraz2.png
B. obraz2.png zostanie wymieniony przez obraz1.png
C. obraz1.png zostanie zniknięty
D. obraz2.png zostanie zniknięty
Odpowiedź jest poprawna, ponieważ przycisk w kodzie JavaScript powoduje, że po jego kliknięciu element HTML o identyfikatorze 'id1', który jest obrazem 'obraz2.png', zostanie ukryty. Wartość 'style.display' zmienia się na 'none', co jest standardowym sposobem na ukrycie elementu w dokumentach HTML. W praktyce takie podejście jest szeroko stosowane w interaktywnych aplikacjach webowych, aby poprawić doświadczenia użytkowników, umożliwiając im dynamiczne ukrywanie lub wyświetlanie treści w odpowiedzi na ich działania. Ukrywanie elementów zamiast ich usuwania z DOM ma swoje zalety, ponieważ umożliwia ich późniejsze przywrócenie, co jest bardziej efektywne w kontekście wydajności. Dobrym przykładem może być rozwijane menu na stronie, gdzie po kliknięciu na dany element, jego zawartość jest ukrywana lub pokazywana bez potrzeby przeładowywania całej strony.

Pytanie 23

Spośród wymienionych formatów, który charakteryzuje się najszerszą rozpiętością tonalną?

A. RAW
B. PNG
C. BMP
D. JPEG
Format RAW jest uważany za format o najwyższej rozpiętości tonalnej, co oznacza, że może przechowywać znacznie więcej informacji tonalnych niż inne formaty plików graficznych. W przeciwieństwie do formatów skompresowanych, takich jak JPEG, RAW zachowuje wszystkie dane z matrycy aparatu fotograficznego, co pozwala na bardziej precyzyjną obróbkę kolorów i ekspozycji. Dzięki temu, w formacie RAW można uzyskać większą elastyczność podczas edytowania zdjęć, co jest szczególnie ważne dla profesjonalnych fotografów. Przykładem może być sytuacja, gdy zdjęcie zostało zrobione w trudnych warunkach oświetleniowych; w formacie RAW można z łatwością odzyskać szczegóły zarówno w cieniach, jak i w jasnych partiach obrazu. Ponadto, format RAW nie stosuje stratnej kompresji, co oznacza, że nie tracimy żadnych informacji przy zapisywaniu pliku. W standardach fotograficznych, takich jak TIFF czy DNG, również występuje wysoka jakość obrazu, ale RAW zapewnia bardziej bezpośredni dostęp do oryginalnych danych matrycy. Umożliwia to twórcom pełną kontrolę nad procesem edycji i finalnym wyglądem fotografii.

Pytanie 24

Taki styl CSS sprawi, że na stronie internetowej

ul{ list-style-image: url('rys.gif'); }
A. rys.gif stanie się ramką dla listy nienumerowanej
B. rys.gif wyświetli się jako tło dla listy nienumerowanej
C. każdy punkt listy zyska osobne tło z grafiki rys.gif
D. punkt listy nienumerowanej będzie rys.gif
Deklaracja CSS ul{ list-style-image: url('rys.gif'); } powoduje, że każdy element listy nienumerowanej (ul) używa obrazu rys.gif jako punktora. Właściwość list-style-image pozwala na zamianę domyślnego stylu punktów listy, takiego jak kropki czy kwadraty, na dowolny obrazek. Jest to przydatne, gdy chcemy nadać stronie unikalny wygląd lub dostosować ją do identyfikacji wizualnej marki. W praktyce oznacza to, że zamiast klasycznego punktora, użytkownicy zobaczą wybrany obraz, co może wpłynąć na estetykę i czytelność strony. Ważne jest, aby obraz był odpowiednio skalowany, aby nie zaburzał układu listy. List-style-image to standardowa właściwość CSS uznawana przez większość przeglądarek, co czyni ją uniwersalnym narzędziem w rękach projektanta stron. W procesie projektowania warto upewnić się, że wybrany obrazek jest dostępny dla wszystkich użytkowników, co można osiągnąć np. poprzez dodanie atrybutu alt w wersji tekstowej listy dla lepszej dostępności.

Pytanie 25

Aby strona internetowa była bardziej dostępna dla osób niewidomych, obrazom wstawianym znacznikiem img należy nadać atrybut:

A.
text
B.
src
C.
style
D.
alt

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Atrybut <code><span class="code-variable">alt</span></code> znacznika <code><span class="code-text">&lt;</span><span class="code-keyword">img</span><span class="code-text">&gt;</span></code> zawiera tekst alternatywny - krótki opis tego, co przedstawia obraz. Czytnik ekranu, z którego korzystają osoby niewidome, odczytuje tę treść na głos, dzięki czemu użytkownik wie, co jest na obrazku. Tekst alternatywny pokazuje się też, gdy obraz się nie wczyta. Dlatego dla dostępności obrazom nadaje się atrybut <code><span class="code-variable">alt</span></code>.

Pytanie 26

Jakiego typu mechanizm zabezpieczeń dotyczący uruchamiania aplikacji jest obecny w środowisku wykonawczym platformy .NET Framework?

A. Mechanizm uruchamiania aplikacji realizowany przez frameworki aplikacji internetowych (ASP.NET)
B. Mechanizm uruchamiania aplikacji oparty na uprawnieniach kodu (CAS - Code Access Security) i na rolach (RBS - Role-Based Security)
C. Mechanizm uruchamiania aplikacji dla bibliotek klas
D. Mechanizm uruchamiania aplikacji realizowany przez funkcję Windows API (Application Programming Interface)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź dotycząca mechanizmu bezpieczeństwa opartego na uprawnieniach kodu (CAS - Code Access Security) oraz na rolach (RBS - Role-Based Security) jest prawidłowa, ponieważ stanowi kluczowy element architektury zabezpieczeń w platformie .NET Framework. CAS pozwala na precyzyjne definiowanie uprawnień, jakie aplikacje mają w swoim działaniu, co jest niezwykle istotne w kontekście ochrony zasobów systemowych i danych użytkowników. Mechanizm ten umożliwia ograniczenie dostępu do operacji, takich jak zapis do plików, dostęp do sieci czy zmiana ustawień systemowych, co jest szczególnie ważne w aplikacjach działających w niezaufanym środowisku. RBS natomiast pozwala na przypisywanie uprawnień na podstawie ról użytkowników, co czyni zarządzanie dostępem bardziej elastycznym i zgodnym z dobrymi praktykami bezpieczeństwa. Przykładem zastosowania tych mechanizmów jest rozwijanie aplikacji webowych, które muszą działać w warunkach silnych ograniczeń bezpieczeństwa, na przykład w chmurze. W takich przypadkach możliwość precyzyjnego zarządzania uprawnieniami staje się kluczowa dla zapewnienia bezpieczeństwa danych i integralności systemu.

Pytanie 27

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

SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;
Ile wierszy wybierze kwerenda?
idtypnazwacena
11Gazpacho20
21Krem z warzyw25
31Gulaszowa ostra30
42Kaczka i owoc30
52Kurczak pieczony40
62wieprzowy przysmak35
72Mintaj w panierce30
82Alle kotlet30
93Owoce morza20
103Grzybki, warzywka, sos15
113Orzechy i chipsy10
123Tatar i jajo15
133Bukiet warzyw10
A. 13
B. 5
C. 8
D. 2

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kwerenda SQL zawarta w pytaniu to `SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;`. Analizując tę kwerendę, możemy zauważyć, że wybiera ona wiersze z tabeli `dania`, gdzie wartość kolumny `typ` jest mniejsza niż 3 oraz wartość kolumny `cena` jest mniejsza niż 30. Sprawdźmy dane w tabeli: dla `typ` 1 mamy trzy dania: Gazpacho (cena 20), Krem z warzyw (cena 25) oraz Gulaszowa ostra (cena 30), z których dwa pierwsze spełniają warunek dotyczący ceny. Dla `typ` 2 mamy Kaczkę i owoc (cena 30), Kurczaka pieczonego (cena 40) oraz Wieprzowy przysmak (cena 35), które nie spełniają wymogu ceny. W rezultacie, wiersze, które spełniają oba warunki to: Gazpacho oraz Krem z warzyw. Zatem kwerenda wybierze 2 wiersze. W kontekście praktycznym, umiejętność tworzenia filtrów w kwerendach SQL jest kluczowa w analizie danych oraz w tworzeniu raportów, co jest bardzo istotne w pracy z bazami danych.

Pytanie 28

Kwalifikatory dostępu private, protected i public definiują mechanizm:

A. polimorfizmu
B. rekurencji
C. hermetyzacji (enkapsulacji)
D. przeładowania (overloadingu)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kwalifikatory <code><span class="code-variable">private</span></code>, <code><span class="code-variable">protected</span></code> i <code><span class="code-variable">public</span></code> sterują widocznością pól i metod klasy, czyli realizują HERMETYZACJĘ (enkapsulację) - ukrywanie wewnętrznych szczegółów i udostępnianie tylko wybranego interfejsu. Dlatego definiują mechanizm hermetyzacji.

Pytanie 29

W przedstawionym kodzie JavaScript występuje błąd logiczny. Program, zamiast informować, czy liczby są równe, nie działa prawidłowo. Wskaż, która odpowiedź dotyczy tego błędu.

var x = 5;
var y = 3;
if (x = y)
  document.getElementById("demo").innerHTML = "zmienne są równe";
else
  document.getElementById("demo").innerHTML = "zmienne się różnią";
A. Przed instrukcją else nie powinno być średnika
B. W instrukcji if znajduje się przypisanie zamiast operacji porównania
C. Zmienne zostały błędnie zadeklarowane
D. Polecenia w sekcjach if i else powinny zostać zamienione miejscami

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W tym przypadku mamy do czynienia z częstym błędem w programowaniu, gdzie zamiast porównania użyto operatora przypisania. W języku JavaScript operator przypisania '=' służy do przypisywania wartości do zmiennej, natomiast do porównania dwóch wartości używa się operatora '==' dla równości lub '===' dla równości i sprawdzania typu. Użycie '=' w warunku if powoduje przypisanie wartości y do x, co zawsze zwróci true, jeśli y jest różne od zera. To prowadzi do nieoczekiwanych rezultatów w logice programu. Poprawnym zapisem w tym kontekście jest if (x == y). Warto pamiętać o dobrych praktykach, które zalecają używanie '===' zamiast '==' dla uzyskania lepszej precyzji i uniknięcia błędów spowodowanych niejawnych konwersji typów. To podejście minimalizuje ryzyko błędów logicznych i poprawia czytelność kodu. Regularne stosowanie takich dobrych praktyk zwiększa jakość kodu i ułatwia jego późniejszą konserwację oraz rozwój.

Pytanie 30

W tabeli programiści znajdują się kolumny: id, nick, ilosc_kodu, ocena. W kolumnie ilosc_kodu zapisano liczbę linii kodu, które programista napisał w danym miesiącu. Jakie zapytanie umożliwi obliczenie całkowitej liczby linii kodu stworzonych przez wszystkich programistów?

A. SELECT SUM(ocena) FROM ilosc_kodu;
B. SELECT SUM(ilosc_kodu) FROM programisci;
C. SELECT COUNT(programisci) FROM ilosc_kodu;
D. SELECT MAX(ilosc_kodu) FROM programisci

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to 'SELECT SUM(ilosc_kodu) FROM programisci;'. To polecenie wykorzystuje funkcję agregującą SUM, która sumuje wartości w kolumnie 'ilosc_kodu' dla wszystkich wpisów w tabeli 'programisci'. Jest to najbardziej odpowiednia metoda do obliczenia całkowitej liczby linii kodu napisanych przez wszystkich programistów w danym miesiącu. Funkcje agregujące, takie jak SUM, COUNT, AVG, MAX czy MIN, są kluczowe w SQL, ponieważ pozwalają na efektywne przetwarzanie danych i uzyskiwanie podsumowań na podstawie określonych kryteriów. Dobrą praktyką jest również używanie jednoznacznych aliasów w zapytaniach oraz dbanie o czytelność kodu, co ułatwia jego późniejsze modyfikacje oraz utrzymanie. Przykładowo, można rozszerzyć zapytanie o dodatkowe filtry, aby obliczyć sumę linii tylko dla programistów o określonej ocenie, używając klauzuli WHERE. Tego typu umiejętności są niezbędne w codziennej pracy analityka danych, programisty lub administratora baz danych, gdzie przetwarzanie informacji w sposób efektywny i zrozumiały ma kluczowe znaczenie dla podejmowania decyzji biznesowych.

Pytanie 31

Wskaż zapis stylu CSS formatujący punktor list numerowanych na wielkie cyfry rzymskie, a list punktowanych na kwadraty.

A. ol { list-style-type: upper-alpha; }
   ul { list-style-type: disc; }

B. ol { list-style-type: square; }
   ul { list-style-type: upper-roman; }

C. ol { list-style-type: disc; }
   ul { list-style-type: upper-alpha; }

D. ol { list-style-type: upper-roman; }
   ul { list-style-type: square; }
A. A.
B. C.
C. B.
D. D.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje, twoja odpowiedź jest poprawna! Wybór opcji D. odnosi się do poprawnego formatowania list w CSS. Odpowiedź pokazuje dobrą znajomość właściwości list-style-type, która jest kluczowa do formatowania typów list. W tym przypadku, dla listy numerowanej (ol), jest ustawiona wartość upper-roman, która reprezentuje wielkie cyfry rzymskie. Dla listy punktowanej (ul) ustawiamy wartość square, co daje efekt punktów w formie kwadratów. To właśnie takie formatowanie list jest preferowane w branży ze względu na jego estetykę i czytelność. Pamiętaj, że zrozumienie i umiejętność manipulacji różnymi właściwościami CSS jest kluczem do tworzenia atrakcyjnych i funkcjonalnych stron internetowych.

Pytanie 32

W hurtowni utworzono tabelę sprzedaż, która zawiera pola: id, kontrahent, grupa_cenowa oraz obrot. Jakie polecenie należy wykorzystać, aby znaleźć tylko kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000 zł?

A. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 OR obrot>4000
B. SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa=2 AND obrot>4000
C. SELECT sprzedaz FROM kontrahent WHERE obrot>4000
D. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 AND obrot>4000

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby skutecznie wyszukać kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000 zł, należy zastosować odpowiednie zapytanie SQL. W tym przypadku, kluczowe jest zrozumienie użycia klauzul WHERE, które filtrują wyniki na podstawie określonych warunków. Poprawne zapytanie to 'SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 AND obrot>4000;'. W tym zapytaniu wybieramy kolumnę kontrahent z tabeli sprzedaz, filtrując wyniki na podstawie dwóch warunków: przynależności do drugiej grupy cenowej oraz obrotu większego niż 4000 zł. Operator AND jest istotny, ponieważ oba warunki muszą być spełnione, aby dany rekord został zwrócony. Takie podejście jest zgodne z zasadami normalizacji baz danych, co pozwala na zachowanie integralności danych i efektywność zapytań. Przykładem może być sytuacja, w której w tabeli znajdują się kontrahenci o różnych grupach cenowych i obrotach; zastosowanie powyższego zapytania pozwoli nam na wyselekcjonowanie tylko tych kontrahentów, którzy spełniają oba kryteria, co jest niezwykle przydatne w analizie sprzedaży i podejmowaniu decyzji biznesowych.

Pytanie 33

Aby wymusić, by wartość w kolumnie odwoływała się do istniejącego rekordu w innej tabeli, należy zastosować:

A. klucz główny
B. indeks
C. klucz obcy
D. widok

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klucz obcy to kolumna (lub zestaw kolumn) wskazująca na klucz główny innej tabeli. Baza pilnuje, by można było wpisać tylko wartość istniejącą w tabeli nadrzędnej, dzięki czemu nie powstają „osierocone” rekordy. To podstawowy mechanizm integralności referencyjnej w relacyjnych bazach danych. Dlatego powiązanie z rekordem innej tabeli wymusza klucz obcy.

Pytanie 34

Po zrealizowaniu przedstawionego fragmentu kodu w języku C/C++ do zmiennej o nazwie zmienna2 przypisany zostanie

int zmienna1 = 158; int *zmienna2 = &zmienna1;
A. przypisana zamieniona na łańcuch wartość, która jest przechowywana w zmienna1
B. przypisany adres zmiennej o nazwie zmienna1
C. przypisana ta sama wartość, która jest przechowywana w zmienna1
D. przypisana liczba w kodzie binarnym odpowiadająca wartości, która jest przechowywana w zmienna1

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W odpowiedzi 1 stwierdzono, że zmiennej zmienna2 zostanie przypisany adres zmiennej zmienna1. To stwierdzenie jest poprawne, ponieważ w kodzie C/C++ operator '&' jest używany do uzyskania adresu zmiennej. W prezentowanym fragmencie kodu zmienna2 jest wskaźnikiem, który przechowuje adres zmiennej zmienna1, co oznacza, że zmienna2 wskazuje na lokalizację w pamięci, w której przechowywana jest wartość zmiennej zmienna1. Takie podejście jest kluczowe w programowaniu niskopoziomowym, gdzie manipulacja adresami pamięci jest często wykorzystywana do efektywnego zarządzania zasobami. Przykład praktyczny to dynamiczna alokacja pamięci, gdzie programista może przydzielać i zwalniać pamięć w trakcie działania programu, co jest możliwe dzięki wskaźnikom. Zrozumienie wskaźników i adresów jest fundamentalne w C/C++, a ich właściwe użycie przyczynia się do optymalizacji kodu oraz umożliwia tworzenie bardziej złożonych struktur danych, takich jak listy, stosy czy kolejki.

Pytanie 35

Wskaż funkcję w JavaScript, która pozwoli obliczyć połowę kwadratu liczby podanej jako argument.

A. function wynik(a) { return a*a/2; }
B. function wynik(a) { return a*2/2; }
C. function wynik(a) { return a/2+a/2; }
D. function wynik(a) { return 2*a/a; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja function wynik(a) { return a*a/2; } jest całkiem w porządku. Działa, bo fajnie oblicza połowę kwadratu liczby, którą podajesz jako argument. W praktyce, 'a*a' to nic innego jak kwadrat liczby 'a', a potem dzielimy to przez 2, co nam daje wartość połowy tego kwadratu. To, co zrobiłeś, jest zgodne z zasadami matematyki i jak na programowanie w JavaScript to też się sprawdza. Na przykład, jak podstawisz '4', to funkcja zwróci 8, bo (4*4)/2 = 16/2 = 8. Takie obliczenia mogą się przydać w różnych aplikacjach, np. przy obliczeniach inżynieryjnych czy analizie danych, gdzie często korzysta się z takich wzorów. Użycie zmiennych i funkcji w programowaniu ułatwia zarządzanie danymi, a do tego można łatwiej się orientować w kodzie, co jest super.

Pytanie 36

Wskaż poprawną definicję stylu CSS dla przycisku typu submit o właściwościach: czarny kolor tła, brak obramowania, marginesy wewnętrzne 5 px.

input[type=submit] {
  background-color: #000000;
  border: none;
  padding: 5px;
}                         A.

input[type=submit] {
  background-color: #ffffff;
  border: none;
  padding: 5px;
}                         B.

input=submit {
  background-color: #000000;
  border: none;
  margin: 5px;
}                         C.

input=submit {
  background-color: #000000;
  border: 0px;
  margin: 5px;
}                         D.
A. A.
B. C.
C. D.
D. B.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Dobrze! Wybrałeś prawidłową odpowiedź. Odpowiedź A jest poprawna, ponieważ to styl CSS dla przycisku typu submit spełnia wszystkie podane wymagania. Wygląda to mniej więcej tak: 'input[type='submit'] { background-color: black; border: none; padding: 5px; }'. 'input[type='submit']' to selektor, który wskazuje elementy wejściowe o typie 'submit'. Następnie, wewnątrz nawiasów klamrowych, mamy trzy deklaracje. 'background-color: black;' określa, że przycisk ma czarne tło. 'border: none;' usuwa wszelkie obramowanie. 'padding: 5px;' ustawia marginesy wewnętrzne na 5 pikseli. Pisanie czystego i efektywnego kodu CSS jest kluczową umiejętnością dla każdego doświadczonego dewelopera front-endu. Dobrze napisane style CSS mogą znacznie poprawić wydajność strony internetowej i ułatwić jej utrzymanie.

Pytanie 37

Który z formatów plików dźwiękowych zapewnia największą redukcję rozmiaru pliku?

A. WAV
B. CD-Audio
C. PCM
D. MP3

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
MP3 to format z kompresją stratną - odrzuca dźwięki słabo słyszalne dla ucha, dzięki czemu plik jest wielokrotnie mniejszy od zapisu nieskompresowanego, przy akceptowalnej jakości. To dlatego zdominował przechowywanie i przesyłanie muzyki. Pozostałe wymienione formaty są zasadniczo nieskompresowane, więc zajmują dużo miejsca. Stopień kompresji MP3 reguluje przepływność (bitrate). Dlatego największą redukcję rozmiaru daje MP3.

Pytanie 38

Którą czynność gwarantującą poprawne wykonanie przedstawionego kodu JavaScript należy wykonać przed pętlą?

var text;
for(var i=0; i<tab.length; i++ ){
    text+=tab[i] + "<br>";
}
A. Sprawdzić długość tablicy tab
B. Upewnić się, że text jest typu string
C. Zainicjować zmienną text
D. Zadeklarować zmienną i

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W przedstawionym kodzie JavaScript kluczowe jest zainicjowanie zmiennej 'text' przed rozpoczęciem pętli for. Zmienna ta ma za zadanie zbierać wartości z tablicy 'tab' i konkatenuje je w formie tekstu z dodanym znacznikiem HTML <br>, który służy do łamania linii w przeglądarkach. Gdyby zmienna 'text' nie została zainicjowana, kod próbowałby wykonać operację konkatenacji na niezainicjowanej zmiennej, co skutkowałoby błędem. W JavaScript, zmienne, które nie zostały zainicjowane, mają wartość 'undefined', co może prowadzić do nieprzewidywalnych rezultatów. Dlatego przed pętlą, konieczne jest przypisanie zmiennej 'text' wartości początkowej, na przykład pustego łańcucha: text = ''. Dzięki temu, każda kolejna iteracja pętli doda nowy element tablicy do 'text' w sposób zgodny z zamierzeniem. Praktycznie, inicjalizowanie zmiennej jest fundamentalną praktyką w programowaniu, która zapobiega błędom oraz zapewnia klarowność kodu, co jest zgodne z najlepszymi standardami programowania.

Pytanie 39

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. aside {float: left; }
B. nav { float: right; }
C. nav { float: right; } section { float: right; }
D. nav { float: left; } aside { float: left; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie. W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie. Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 40

Który z poniższych skryptów pokazuje bieżącą datę oraz czas w formacie 2024-04-14 13:45:19?

A. <?php date("Y-m-d G:i:s"); ?>
B. <?php echo date("Ymd Gis"); ?>
C. <?php echo date("Y-m-d G:i:s"); ?>
D. <?php date("Y-m-d”) + time("G:i:s"); ?>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź numer 4 jest poprawna, ponieważ używa funkcji echo do wyświetlenia wyniku funkcji date, która formatuje datę i czas w odpowiedni sposób. W tym przypadku użycie formatu Y-m-d G:i:s pozwala na wyświetlenie roku z czterema cyframi, miesiąca i dnia z dwoma cyframi oraz godziny w formacie 24-godzinnym bez wiodącego zera, a także minut i sekund z wiodącymi zerami. Funkcje PHP date i echo są standardem w języku PHP do pracy z datami i wyświetlaniem danych. Praktyczne zastosowanie tej funkcji jest szerokie, ponieważ umożliwia dynamiczne generowanie treści na stronach internetowych, takich jak wyświetlanie aktualnej daty w nagłówku strony czy w logach systemowych. Dobre praktyki sugerują, aby zawsze uwzględniać strefę czasową przy pracy z datami, co można osiągnąć za pomocą funkcji date_default_timezone_set. Dzięki temu kod będzie niezależny od ustawień serwera i zawsze dostarczał spójne wyniki. Warto również zaznaczyć, że manipulacje na datach i czasie są kluczowe w wielu aplikacjach, od rezerwacji po analizy czasu działań użytkowników.