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: 15 lipca 2026 15:17
  • Data zakończenia: 15 lipca 2026 15:41

Egzamin zdany!

Wynik: 29/40 punktów (72,5%)

Wymagane minimum: 20 punktów (50%)

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

Która definicja i wywołanie funkcji PHP poprawnie wypisze ciąg $n znaków @?

A.
function znaki($znak, $i++) { for($i=0; $i<$n; $i++) print($znak); } znaki($n);
B.
function znaki($znak, $n) { for($i=0; $i<$n; $i++) print($znak); } znaki("@", $n);
C.
function znaki($i) { for($i=0; $i<$n; $i++) print("@"); } znaki($i);
D.
function znaki($znak, $i++) { for($i=0; $i<$n; $i++) print($znak); } znaki(@, $n);
Poprawna funkcja przyjmuje DWA parametry - znak do wypisania i liczbę powtórzeń - oraz pętlą wypisuje znak tyle razy: function znaki($znak, $n) { for($i=0; $i<$n; $i++) print($znak); }, wywołana np. znaki("@", 5). Dlatego poprawny jest wariant z parametrami ($znak, $n).

Pytanie 2

Znacznik <ins> w HTML ma na celu wskazanie

A. tekstu, który został usunięty
B. tekstu, który został przerobiony
C. bloku tekstu, który jest cytowany
D. tekstu, który został dodany
Znaczniki HTML mają swoje ściśle określone funkcje i znaczenie, a błędna interpretacja ich roli może prowadzić do nieodpowiedniego użycia w tworzeniu stron internetowych. Jednym z typowych błędów jest mylenie znacznika <ins> z innymi elementami, takimi jak <del>, który służy do oznaczania tekstu usuniętego. Element <del> jest używany do wskazania, że dany tekst został wykreślony lub usunięty z dokumentu, co jest przeciwieństwem działania znacznika <ins>. Innym mylnym przekonaniem jest przypisywanie elementowi <ins> funkcji formatowania tekstu, co nie jest jego przeznaczeniem. Znacznik <ins> nie służy do zmiany stylu tekstu, a do wskazywania, które fragmenty tekstu zostały dodane w porównaniu do wcześniejszej wersji. Kolejnym wartym uwagi aspektem jest to, że element <ins> nie jest przeznaczony do oznaczania cytatów. Cytaty są zazwyczaj oznaczane za pomocą znacznika <blockquote> lub <q>, które mają zupełnie inne cele. Zachowanie zgodności ze standardami HTML oraz właściwe użycie znaczników semantycznych ma kluczowe znaczenie dla tworzenia dostępnych i zrozumiałych stron internetowych. Niezrozumienie funkcji danego znacznika może prowadzić do poważnych konsekwencji, takich jak trudności w indeksowaniu przez wyszukiwarki, co w efekcie wpływa na widoczność strony w Internecie.

Pytanie 3

Jak nazywa się tłumaczenie kodu źródłowego napisanego przez programistę na zrozumiały dla komputera kod maszynowy?

A. wykonywanie
B. wdrażanie
C. kompilowanie
D. analizowanie błędów
Tłumaczenie kodu źródłowego na zrozumiały dla komputera kod maszynowy nazywa się kompilowaniem - wykonuje je kompilator, tworząc plik wynikowy. Dlatego ta czynność to kompilowanie.

Pytanie 4

W jakim przypadku w JavaScript warunek jest spełniony, jeśli zmienna x przyjmuje wartość

if ((!isNaN(x)) && (x > 0))
A. pusty ciąg znaków
B. wszelką całkowitą wartość liczbową
C. wszelką dodatnią wartość liczbową
D. nie-liczbową wartość
W przypadku gdy zmienna x przechowuje pusty napis warunek w JavaScript if (!isNaN(x) && x>0) nie będzie prawdziwy ponieważ pusty napis nie zostanie zinterpretowany jako liczba isNaN('') zwraca false ale dodatkowy warunek x>0 nie zostanie spełniony ponieważ pusty napis nie jest większy od zera Z kolei wartość nie liczbowa spowoduje że isNaN(x) zwróci true co oznacza że !isNaN(x) będzie false W ten sposób wartość nie liczbowa również nie spełni warunku Ponadto jeśli zmienna x przechowuje dowolną całkowitą wartość liczbową nie ma gwarancji że będzie ona dodatnia Może być zerem lub ujemna co nie spełni drugiego warunku x>0 Dlatego kluczowe jest zrozumienie że warunek ten weryfikuje zarówno numeryczność jak i dodatniość wartości co jest częstym przypadkiem w aplikacjach wymagających precyzyjnej walidacji danych użytkownika Zamieszanie może wynikać z błędnego rozumienia jak JavaScript traktuje różne typy danych i wartości w kontekście operacji logicznych oraz jak ma miejsce konwersja typów podczas porównań logicznych Dlatego ważne jest aby programiści mieli silne podstawy w zrozumieniu tych mechanizmów aby unikać błędów logicznych które mogą prowadzić do nieprzewidywalnego działania aplikacji Zrozumienie tych aspektów pozwala na pisanie bardziej odpornych i bezpiecznych aplikacji co jest istotne w profesjonalnej praktyce programistycznej

Pytanie 5

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

A. volume="-100"
B. balance="10"
C. loop="10"
D. href="c:/100.wav"
Atrybut href w kontekście dźwięku na stronie internetowej jest używany w tagu <audio> lub <source>, aby wskazać lokalizację pliku audio. Pliki dźwiękowe, które mają być odtwarzane w przeglądarkach, powinny być dostępne pod adresem URL, a nie w lokalnym systemie plików, jak w przypadku href='c:/100.wav'. Standardy W3C oraz HTML5 określają, że pliki audio powinny być dostępne przez HTTP lub HTTPS, co pozwala na ich odtwarzanie zdalnie. Jeśli plik audio znajduje się na lokalnym dysku, nie będzie on dostępny dla użytkowników odwiedzających stronę poprzez Internet. Przykładem poprawnego użycia atrybutu href jest wskazanie pliku dźwiękowego, który jest hostowany na serwerze, na przykład href='http://example.com/audio/track1.mp3'. Ponadto, do kontrolowania odtwarzania dźwięku można wykorzystać inne atrybuty jak autoplay, loop, czy controls, które pozwalają na lepsze zarządzanie interakcją użytkownika z muzyką na stronie.

Pytanie 6

Jaki jest cel funkcji napisanej w PHP?

function fun1($liczba)
{
  if($liczba % 2 == 0)
    return 1;

  return 0;
}
A. Wypisanie liczby parzystej
B. Wypisanie liczby nieparzystej
C. Zwrócenie wartości 1, gdy liczba jest parzysta
D. Zwrócenie wartości 0, gdy liczba jest parzysta
Funkcja w języku PHP została zaprogramowana w taki sposób, aby najpierw sprawdzić, czy podana liczba jest parzysta, używając operatora modulo (%). Operacja $liczba % 2 == 0 sprawdza resztę z dzielenia przez 2, która dla liczb parzystych wynosi 0. Jeśli warunek jest spełniony, funkcja natychmiast zwraca wartość 1, co oznacza, że liczba jest parzysta. Taki sposób kodowania jest wydajny, ponieważ funkcja zakończy działanie natychmiast po spełnieniu warunku, bez dalszego przetwarzania. Jest to dobry przykład stosowania operacji warunkowych w funkcjach, co jest zgodne z dobrymi praktykami programistycznymi, zwłaszcza gdy zależność logiczna jest prosta i może być szybko zidentyfikowana. Takie funkcje często wykorzystywane są w systemach walidacji danych, gdzie szybkie potwierdzenie poprawności danych jest kluczowe dla wydajności całego systemu. Pozwala również na łatwe rozszerzenie logiki, jeśli w przyszłości zajdzie taka potrzeba.

Pytanie 7

W CSS właściwość font-size może przyjmować wartości według słów kluczowych

A. jedynie big i smali
B. tylko smali, smaller, large, larger
C. z zestawu xx-small, x-small, smali, medium, large, x-large, xx-large
D. wyłącznie smali, medium, large
Właściwość font-size w CSS pozwala na określenie rozmiaru czcionki za pomocą zestawu wartości słownikowych, które obejmują xx-small, x-small, small, medium, large, x-large oraz xx-large. Użycie tych słów kluczowych jest zgodne z wytycznymi CSS i zapewnia spójne i zrozumiałe podejście do projektowania. Przykładowo, definiując klasę CSS dla nagłówka, możemy zastosować: h1 { font-size: large; } co skutkuje odpowiednim zwiększeniem rozmiaru czcionki, co jest zgodne z hierarchią typograficzną dokumentu. Zastosowanie wartości słownikowych zwiększa czytelność i dostępność treści, ponieważ są one zrozumiałe zarówno dla programistów, jak i dla przeglądarek. Ponadto, korzystając z tych wartości, projektanci mogą łatwiej dostosować wygląd strony do różnych urządzeń, co jest kluczowe w kontekście responsywnego web designu. Warto również wspomnieć, że wartości te są niezależne od jednostek miary, takich jak em czy px, co sprawia, że są bardziej elastyczne w użyciu.

Pytanie 8

Która funkcja PHP ZWRACA jako wynik połowę kwadratu przekazanej wartości $a?

A.
function licz($a) { echo $a*$a/2; }
B.
function licz($a) { return $a*$a/2; }
C.
function licz($a) { return $a/2; }
D.
function licz($a) { echo $a/2; }
Aby funkcja ZWRACAŁA wynik do dalszego użycia (a nie tylko go wypisywała), musi użyć return. Połowa kwadratu $a to $a*$a/2, więc poprawna funkcja to function licz($a) { return $a*$a/2; }. Wtedy $x = licz(4); zapisze do $x wartość 8. Zapamiętaj: echo pokazuje na ekranie, return oddaje wartość programowi.

Pytanie 9

Jak wygląda prawidłowy zapis samozamykającego się znacznika w zgodzie ze standardem języka XHTML, który odpowiada za łamanie linii?

A. <br />
B. </ br>
C. </br/>
D. <br> </br>
Odpowiedź <br /> jest prawidłowym zapisem samozamykającego się znacznika w standardzie XHTML. XHTML, czyli eXtensible HyperText Markup Language, wymaga, aby znaczniki były poprawnie zamknięte. W przypadku znaczników, które nie mają zawartości, jak <br />, stosuje się specjalną składnię. Oznaczenie <br /> wskazuje na przełamanie linii w dokumencie HTML. Ważne jest, aby podać ukośnik przed zakończeniem znacznika, co jest zgodne z zasadami XHTML. Przykładowo, w dokumentach XHTML, prawidłowe użycie <br /> może wyglądać tak: <p>Tekst przed łamaniem linii.<br />Tekst po łamaniu linii.</p>. Przestrzeganie tych zasad zapewnia, że dokumenty będą poprawnie interpretowane przez przeglądarki oraz będą zgodne z standardami W3C, co jest kluczowe dla zachowania wysokiej jakości kodu oraz jego dostępności.

Pytanie 10

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 nazwa FROM sklepy WHERE branza="spozywczy" OR miasto="Wrocław"
B. SELECT sklepy FROM nazwa WHERE branza="spożywczy" BETWEEN miasto="Wrocław"
C. SELECT sklepy FROM branza="spożywczy" WHERE miasto="Wrocław"
D. SELECT nazwa FROM sklepy WHERE branza="spozywczy" AND 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 11

Znacznik <pre> </pre> służy do prezentacji

A. znaku przekreślenia
B. treści czcionką o stałej szerokości
C. treści polską czcionką
D. znaku wielokropka
Znacznik <pre> </pre> jest używany w HTML do wyświetlania tekstu w formacie preformatowanym, co oznacza, że zawartość wewnątrz tego znacznika jest wyświetlana czcionką o stałej szerokości, gdzie wszystkie białe znaki, w tym spacje i nowe linie, są zachowywane tak, jak zostały wpisane. To sprawia, że jest on niezwykle przydatny przy prezentacji kodu źródłowego, skryptów oraz innych danych, gdzie zachowanie dokładnego formatowania jest kluczowe. Przykładem może być kod HTML, JavaScript czy CSS, który można umieścić wewnątrz znacznika <pre> w celu poprawienia czytelności i umożliwienia użytkownikom łatwego skopiowania. Ponadto, znaczniki <pre> są często stosowane w dokumentacji technicznej, gdzie precyzyjne odwzorowanie formatowania jest istotne dla zrozumienia. Ważne jest również, aby zwrócić uwagę na to, że domyślnie tekst w elemencie <pre> nie jest łamany, co pozwala zachować jego oryginalny kształt i układ.

Pytanie 12

Podczas zapisywania hasła użytkownika w serwisie WWW, na przykład w bankowości internetowej, aby zabezpieczyć je przed odczytaniem, zazwyczaj stosuje się funkcję

A. abstrakcyjnych
B. klucza
C. cyklometrycznych
D. mieszających
Zastosowanie cyklometrycznych, abstrakcyjnych czy mieszających funkcji do zabezpieczania haseł użytkowników jest nieadekwatne, gdyż każda z tych koncepcji ma swoje własne specyfikacje i zastosowanie, które nie są bezpośrednio związane z właściwym zabezpieczaniem haseł. Funkcje cyklometryczne, na przykład, są używane w programowaniu do analizy złożoności kodu, a nie do ochrony danych. Z kolei abstrakcyjne funkcje są bardziej związane z programowaniem obiektowym i nie mają zastosowania w kontekście szyfrowania haseł. Funkcje mieszające, mimo że mogą być stosowane w niektórych scenariuszach związanych z kryptografią, nie są wystarczające do zabezpieczania haseł samodzielnie. Bez dodatkowego mechanismu, takiego jak klucz szyfrujący, funkcje te mogą być niewystarczające do ochrony danych przed nieautoryzowanym dostępem. Często błędne przekonania na temat użycia różnych funkcji wynikają z niepełnego zrozumienia ich przeznaczenia oraz pomylenia ich z technikami szyfrowania lub hashowania, co prowadzi do niewłaściwych strategii zabezpieczania informacji. Właściwe podejście powinno zawsze uwzględniać standardy branżowe oraz najlepsze praktyki, takie jak stosowanie silnych algorytmów szyfrujących oraz odpowiednie zarządzanie kluczami.

Pytanie 13

Jak wybrać nazwy produktów z tabeli sprzet zawierającej pola: nazwa, cena, liczbaSztuk, dataDodania, które zostały dodane w roku 2021, a ich cena jest poniżej 100 zł lub liczba sztuk przekracza 4, w sekcji WHERE?

A. WHERE dataDodania LIKE '2021%' OR cena < 100 OR liczbaSztuk > 4
B. WHERE dataDodania LIKE '2021%' AND (cena < 100 OR liczbaSztuk > 4)
C. WHERE dataDodania LIKE '2021%' OR (cena < 100 AND liczbaSztuk > 4)
D. WHERE dataDodania LIKE '2021%' AND cena < 100 AND liczbaSztuk > 4
Odpowiedź trzecia jest poprawna, ponieważ stosuje logiczne połączenie warunków w sekcji WHERE, które precyzyjnie spełnia wymagania zawarte w pytaniu. Warunek 'dataDodania LIKE '2021%'' filtruje dane, aby uwzględnić jedynie te produkty, które zostały dodane w roku 2021. Następnie, użycie operatora AND łączy ten warunek z nawiasem, który grupuje dwa inne warunki: 'cena < 100 OR liczbaSztuk > 4'. Taki zapis oznacza, że wystarczy spełnić jeden z tych dwóch warunków - cena musi być niższa niż 100 zł lub liczba sztuk większa niż 4. Dzięki temu, zapytanie będzie wydajne i zwróci wszystkie pasujące rekordy, co jest kluczowe w pracy z bazami danych. Takie podejście jest zgodne z najlepszymi praktykami SQL, które sugerują stosowanie nawiasów do grupowania logiki warunków, co zwiększa czytelność i zrozumienie zapytania. Przykładem zastosowania tego podejścia jest sytuacja w dużych sklepach internetowych, gdzie istotne jest szybkie filtrowanie danych produktów, aby poprawić doświadczenie użytkownika oraz efektywność sprzedażową.

Pytanie 14

Jakie rozwiązanie powinno być wdrożone w organizacji danych, aby przyspieszyć wykonanie zapytań w bazie danych?

A. Klucze podstawowe
B. Wartości domyślne
C. Reguły
D. Indeksy
Indeksy w bazach danych są kluczowym narzędziem przyspieszającym wykonywanie zapytań, ponieważ pozwalają na szybsze odnajdywanie danych. Indeks działa jak spis treści w książce, umożliwiając systemowi zarządzania bazą danych (DBMS) szybkie zlokalizowanie konkretnych wierszy w tabelach. W praktyce, dodanie indeksu do kolumny, po której często są przeprowadzane wyszukiwania, może znacząco poprawić wydajność zapytań SELECT. Na przykład, jeśli mamy dużą tabelę z danymi o klientach i często wyszukujemy klientów według nazwiska, stworzenie indeksu na kolumnie 'nazwisko' pozwoli na zredukowanie czasu potrzebnego na wyszukiwanie z kilku sekund do milisekund. Warto również wspomnieć o dobrych praktykach związanych z używaniem indeksów, takich jak unikanie nadmiernego indeksowania, które może prowadzić do obniżenia wydajności operacji INSERT, UPDATE czy DELETE, ponieważ każdy z tych procesów musi również aktualizować odpowiednie indeksy. Dlatego kluczowe jest staranne planowanie i zastosowanie indeksów tam, gdzie przynoszą największe korzyści.

Pytanie 15

Która kwerenda utworzy WIDOK z klientami o statusie „Platynowy” (tabela klienci, pole status)?

A.
CREATE VIEW KlienciPlatyna FROM klienci WHERE status = "Platynowy";
B.
CREATE VIEW KlienciPlatyna AS SELECT * FROM klienci WHERE status = "Platynowy";
C.
CREATE VIEW KlienciPlatyna AS SELECT status FROM klienci WHERE "Platynowy";
D.
CREATE VIEW KlienciPlatyna AS klient WHERE status = "Platynowy";
Po AS musi nastąpić poprawne SELECT ... FROM ... WHERE .... Wariant z AS klient WHERE pomija SELECT i FROM. Wariant z FROM klienci bez AS SELECT nie ma definicji widoku. Wariant WHERE "Platynowy" gubi nazwę pola w warunku. Poprawne jest CREATE VIEW KlienciPlatyna AS SELECT * FROM klienci WHERE status = "Platynowy".

Pytanie 16

Funkcja
fun1(a,b) {
  if(a % 2 != 0) a++;
  for(let n = a; n <= b; n+=2) document.write(n);
}
ma na celu

A. sprawdzenie, czy liczba a jest nieparzysta; w przypadku pozytywnej odpowiedzi, jej wypisanie
B. zwrócenie parzystych wartości liczb od a do b
C. wypisanie liczb parzystych w zakresie od a do b
D. wypisanie wszystkich liczb w przedziale od a do b
Funkcja fun1 w JavaScript ma za zadanie wypisać liczby parzyste w przedziale od a do b. Na początku sprawdzamy, czy a jest liczbą nieparzystą, korzystając z operatora modulo. Jeśli a jest nieparzysta, to ją zwiększamy o 1, tym samym przekształcając ją w liczbę parzystą. Potem mamy pętlę for, która zaczyna od a i w każdym kroku zwiększa n o 2, co gwarantuje, że będziemy wypisywać tylko liczby parzyste. Pętla działa dopóki n jest mniejsze lub równe b. Wyniki są pokazywane na stronie dzięki document.write(). To się zgadza z tym, co ma robić ta funkcja, bo faktycznie wypisuje liczby parzyste. Na przykład, kiedy mamy a=3 i b=9, to wypisze 4, 6 i 8.

Pytanie 17

Programista stworzył pętlę w języku C++, która miała za zadanie obliczyć wynik 5! (5! = 1 * 2 * 3 * 4 * 5). Niestety, popełnił błąd logiczny, gdyż

int a = 1;
for (int i=1; i < 5; i++)
{
    a = a * i;
}
cout << a;
Ilustracja do pytania
A. zmienna i pętli powinna być zmniejszana, a nie zwiększana
B. zmienna i w pętli powinna być rozpoczynana od 0, a nie od 1
C. w drugim parametrze pętli powinno być porównanie i < 6 zamiast i < 5
D. zmienna a powinna być początkowo ustawiona na 0 zamiast 1
Zmienna a, odpowiedzialna za przechowywanie wyniku, nie powinna być inicjowana wartością 0, gdyż każdy wynik mnożenia przez 0 również daje 0, co zniweczyłoby cały proces obliczeniowy. Inicjalizacja zmiennej wartością 1 jest odpowiednia, ponieważ jest to element neutralny dla mnożenia. Pomysł inicjowania parametru i pętli wartością 0 zamiast 1 jest błędny, ponieważ obliczanie silni wymaga rozpoczęcia od wartości 1, nie 0. Rozpoczęcie od 0 jest odpowiednie dla iteracji związanych z indeksami tablic w wielu językach programowania, ale nie w przypadku obliczeń liczbowych, takich jak silnia. Dekrementacja parametru i zamiast inkrementacji w kontekście silni jest nieodpowiednia, ponieważ wymagałaby przebiegania pętli wstecz od większej wartości do 1, co komplikuje logikę i zwiększa ryzyko błędów logicznych. Takie podejście nie tylko odbiega od standardowych praktyk, ale również jest mniej czytelne i trudniejsze do zrozumienia oraz utrzymania. Dobre praktyki kodowania zalecają, aby pętla for była używana w sposób, który jest intuicyjnie zrozumiały i logiczny, co oznacza inkrementację w przypadku iteracji przez rosnące wartości. Ustalenie poprawnego warunku zakończenia pętli jest kluczowe dla otrzymania właściwego wyniku, a w przypadku obliczania silni, musi obejmować wszystkie liczby w zakresie od 1 do n. Zrozumienie tych podstawowych zasad jest niezbędne dla każdego programisty, aby unikać powszechnych błędów logicznych w algorytmach.

Pytanie 18

Co można powiedzieć o przedstawionym zapisie języka HTML 5?

<title>Strona o psach</title>
A. Stanowi jedynie informację dla robotów wyszukiwania i nie jest widoczny w przeglądarce.
B. Zostanie umieszczony w treści strony, na samym czubku.
C. Pojawi się na karcie dokumentu w przeglądarce.
D. Jest fakultatywny w kontekście HTML 5 i nie jest wymagany w dokumencie.
Zaznaczenie poprawnej odpowiedzi pokazuje, że to, co jest w znaczniku <title>, pojawia się na karcie w przeglądarce. To naprawdę ważny element HTML, bo informuje użytkowników, o czym jest dana strona. Zgodnie z tym, co mówi W3C, tytuł strony jest kluczowy dla SEO, gdyż wyświetla się w wynikach wyszukiwania i na zakładkach przeglądarek. Fajnie, jak tytuł jest krótki, ma kluczowe słowa, które mówią o zawartości, i przyciąga wzrok. Na przykład, jak zrobisz stronę o psach rasowych, to tytuł <title> w stylu 'Strona o psach - Poradnik dla właścicieli' nie tylko mówi, o czym będzie treść, ale też może sprawić, że lepiej widać ją w wynikach wyszukiwania. Pamiętaj, że zawartość znacznika <title> widać na górze okna przeglądarki, co ułatwia poruszanie się i znajdowanie otwartych kart.

Pytanie 19

W SQL, aby dokonać zmiany w strukturze tabeli, na przykład dodać lub usunąć kolumnę, powinno się użyć polecenia

A. TRUNCATE
B. UPDATE
C. DROP TABLE
D. ALTER TABLE
Odpowiedź 'ALTER TABLE' jest prawidłowa, ponieważ to polecenie w SQL umożliwia modyfikację struktury istniejącej tabeli. Dzięki 'ALTER TABLE' możemy dodawać nowe kolumny, usuwać istniejące, zmieniać typy danych kolumn, a także ustawiać ograniczenia, takie jak klucze główne czy unikalne. Przykładowe zastosowanie to: 'ALTER TABLE employees ADD COLUMN birthdate DATE;' co dodaje kolumnę 'birthdate' do tabeli 'employees'. Użycie tego polecenia jest zgodne z dobrymi praktykami, ponieważ pozwala na elastyczne dostosowywanie struktury bazy danych w odpowiedzi na zmieniające się wymagania aplikacji. Warto również zaznaczyć, że 'ALTER TABLE' jest standardowym poleceniem w SQL, co oznacza, że jest obsługiwane przez większość systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL czy SQL Server, co czyni je uniwersalnym narzędziem w pracy z danymi.

Pytanie 20

W poniższym kodzie PHP wykonano operację na bazie danych. Której funkcji należy użyć, aby pobrać liczbę zmienionych w tabeli wierszy?

$zapytanie="UPDATE kadra SET stanowisko='Programista' WHERE id < 10";
mysqli_query($db, $zapytanie);
A. mysqli_field_count()
B. mysqli_affected_rows()
C. mysqli_num_rows()
D. mysqli_use_result()
Gratulacje! Wybrałeś poprawną odpowiedź, która jest funkcją mysqli_affected_rows(). Ta funkcja jest specyficzna dla języka PHP i jest używana do zwracania liczby wierszy, które zostały zmienione, dodane lub usunięte przez ostatnie wywołanie funkcji mysqli_query() na serwerze MySQL. W kontekście operacji takich jak INSERT, UPDATE, REPLACE lub DELETE, mysqli_affected_rows() jest nieocenionym narzędziem do śledzenia ilości wykonanych zmian w bazie danych. Dlatego właśnie w przypadku przedstawionego pytania, gdzie w kodzie PHP wykonano operację UPDATE na bazie danych, idealnym rozwiązaniem jest użycie funkcji mysqli_affected_rows() do pobrania liczby zmienionych wierszy. Jest to kluczowe zrozumienie, aby efektywnie manipulować danymi w bazach danych MySQL za pomocą języka PHP.

Pytanie 21

Jak zapisać w JS warunek: a i b są UJEMNE, a a jest większe od -50?

A.
if (a < 0 || (b < 0 && a > -50))
B.
if (a < 0 && b < 0 && a > -50)
C.
if (a < 0 && b < 0 || a > -50)
D.
if (a < 0 || b < 0 || a > -50)
Pozostałe zapisy źle łączą warunki. || wystarczyłoby spełnić jeden z nich, więc przeszłyby też liczby dodatnie. Mieszanie || z && zmienia sens („a ujemne LUB (b ujemne i a > -50)”). Wszystkie trzy naraz wymusza a < 0 && b < 0 && a > -50.

Pytanie 22

Które stwierdzenie o językach jest FAŁSZYWE?

A. PHP służy do tworzenia stron w czasie rzeczywistym
B. C++ jest językiem obiektowym
C. JavaScript jest językiem skryptowym
D. SQL jest językiem programowania strukturalnego
Szukamy zdania FAŁSZYWEGO. SQL to deklaratywny język ZAPYTAŃ do baz danych (operuje na zbiorach danych), a nie język programowania strukturalnego z pętlami i instrukcjami sterującymi. Dlatego fałszywe jest zdanie o SQL jako języku programowania strukturalnego.

Pytanie 23

Który z poniższych formatów plików graficznych wspiera przejrzystość?

A. JPG
B. NEF
C. PNG
D. BMP
Format PNG (Portable Network Graphics) jest jednym z najpopularniejszych formatów plików graficznych obsługujących przezroczystość. Jego główną zaletą jest możliwość zachowania kanału alfa, który umożliwia tworzenie obrazów z przezroczystymi elementami. PNG wykorzystuje bezstratną kompresję, co oznacza, że jakość obrazu nie ulega pogorszeniu podczas zapisywania i otwierania pliku. Format ten jest szczególnie ceniony w aplikacjach internetowych, ponieważ pozwala na uzyskanie estetycznych efektów, takich jak cienie, przezroczystość i delikatne przejścia kolorów. Warto również zauważyć, że PNG obsługuje głębię kolorów do 48 bitów, co umożliwia uzyskanie bogatych i szczegółowych obrazów. Standard PNG został opracowany w 1996 roku jako alternatywa dla formatu GIF, który był ograniczony do 256 kolorów oraz nie obsługiwał przezroczystości w sposób, który byłby zadowalający dla projektantów. Dzięki swoim właściwościom, PNG jest szeroko stosowany w grafice komputerowej, w tym w tworzeniu logo, ikon oraz w elementach interfejsów użytkownika, a także w fotografii cyfrowej, gdzie zachowanie jakości jest kluczowe.

Pytanie 24

Co daje użytkownikowi nadanie w MySQL roli DBManager?

A. wszystkie operacje na bazach i na użytkownikach serwera
B. wszystkie operacje na bazach danych
C. możliwość monitorowania serwera
D. tworzenie kont użytkowników i ustawianie haseł
Rola DBManager w MySQL daje użytkownikowi prawo do WSZYSTKICH operacji na BAZACH danych (tworzenie, modyfikowanie, usuwanie baz i ich zawartości) - to rola zarządzania danymi, lecz nie kontami innych użytkowników. Zapamiętaj: DBManager rządzi bazami, ale nie zarządza użytkownikami serwera.

Pytanie 25

Znak <s> w HTML powoduje

A. migotanie tekstu
B. skreślenie tekstu
C. pochylenie tekstu
D. podkreślenie tekstu
Znacznik <s> w języku HTML jest używany do oznaczania tekstu, który jest przekreślony, co jest przydatne, gdy chcemy wskazać, że dana treść nie jest już aktualna lub jest nieprawidłowa. Na przykład, w dokumencie HTML możemy użyć znacznika <s> do przekreślenia starej ceny produktu, aby podkreślić, że cena została obniżona. Taki sposób prezentacji informacji jest zgodny z zasadami dostępności, ponieważ przekreślony tekst wciąż jest czytelny przez technologie asystujące, co pozwala użytkownikom na zrozumienie zmiany w kontekście treści. W praktyce zastosowanie tego znacznika może również wpłynąć na estetykę strony, eliminując potrzebę stosowania stylów CSS do osiągnięcia tego samego efektu.

Pytanie 26

Strona internetowa została wyświetlona przez przeglądarkę w poniższy sposób. Wskaż kod HTML, który prawidłowo reprezentuje zaprezentowaną hierarchiczną strukturę tekstu:

Ilustracja do pytania
A. <ul><li>Rozdział 1<li>tekst<li>Podrozdział 1.1<li>tekst<li>Podrozdział 1.2</ul>
B. <h1>Rozdział 1<p>tekst <h2>Podrozdział 1.1<p>tekst <h2>Podrozdział 1.2
C. <big>Rozdział 1</big>tekst<big>Podrozdział 1.1</big>tekst<big>Podrozdział 1.2</big>
D. <h1>Rozdział 1</h1> <p>tekst</p> <h2>Podrozdział 1.1</h2> <p>tekst</p> <h2>Podrozdział 1.2</h2>
Odpowiedź jest w porządku! Użycie znaczników <h1> i <h2> wraz z <p> to dobry krok, bo to właśnie tak powinno wyglądać semantyczne formatowanie w HTML. Znacznik <h1> to taki główny nagłówek, który mówi, o czym jest cała strona lub sekcja, a to naprawdę kluczowe dla porządku w treści i SEO. Dzięki nagłówkom w HTML łatwiej jest zrozumieć, co jest na stronie, zarówno dla ludzi, jak i programów, które przeszukują internet. Jak już masz <h2>, to świetnie, bo to pokazuje podrozdziały, a więc hierarchię informacji. Użycie <p> dla tekstu to też dobry pomysł, bo sprawia, że tekst jest bardziej czytelny. Warto pamiętać, że semantyczne znaczniki HTML pomagają osobom z niepełnosprawnościami korzystać z internetu. Według wytycznych WCAG powinno się je stosować, żeby poprawić dostępność. A jak to robić z głową, to łatwiej potem stylować stronę przy użyciu CSS, bo możesz zmieniać wygląd bez bawienia się w treść HTML. Generalnie, dobrze jest, gdy dokumenty są jasne zarówno dla ludzi, jak i dla maszyn – to standard w nowoczesnym webdesignie.

Pytanie 27

Który efekt został zaprezentowany na filmie?

A. Zmiana jasności zdjęć.
B. Przenikanie zdjęć.
C. Zmniejszenie kontrastu zdjęcia.
D. Zwiększenie ostrości zdjęcia.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 28

Ile klatek na sekundę zapewnia PŁYNNY obraz w filmie (minimalny typowy zakres)?

A. 31-36 fps
B. 20-23 fps
C. 24-30 fps
D. 16-19 fps
Zakresy poniżej (16-19, 20-23 fps) dają widoczne zacinanie ruchu, a 31-36 fps to już wartości powyżej typowego minimum płynności. Standardowy zakres płynnego obrazu to 24-30 fps.

Pytanie 29

Które zdarzenie zachodzi, gdy ZMIENI się wartość pola (np. po wybraniu opcji z listy)?

A.
onSubmit
B.
onEnter
C.
onClick
D.
onChange
Pozostałe zdarzenia reagują na inne akcje. onclick zachodzi przy kliknięciu elementu, niezależnie od tego, czy coś się zmieniło. onsubmit dotyczy WYSŁANIA całego formularza, a nie pojedynczego pola. onEnter nie istnieje w standardzie zdarzeń (reakcję na Enter realizuje się przez onkeydown). Zmianę wartości pola obsługuje onchange.

Pytanie 30

Kod programu wraz z komentarzami oraz opisem algorytmów i metod stanowi dokumentację

A. graficzną.
B. urzędową.
C. audiowizualną.
D. techniczną.
Poprawnie – mówimy tutaj o dokumentacji technicznej. Kod programu razem z komentarzami w kodzie, opisem algorytmów, struktur danych, interfejsów, sposobu działania poszczególnych modułów czy klas to właśnie klasyczny przykład dokumentacji technicznej. W branży IT przyjmuje się, że dokumentacja techniczna jest skierowana głównie do programistów, administratorów, czasem też architektów systemów, czyli osób, które będą rozwijać, utrzymywać lub integrować dany system. Nie jest to materiał marketingowy ani „urzędowy”, tylko coś, co ma pomóc zrozumieć jak system działa od środka.
W praktyce dokumentacja techniczna obejmuje na przykład: komentarze w kodzie źródłowym (zgodne z konwencją danego języka, np. PHPDoc, JSDoc), opisy algorytmów w plikach README, wiki projektowe, diagramy UML, schematy przepływu danych, opisy endpointów API, a nawet instrukcje uruchomienia środowiska developerskiego. Moim zdaniem im lepiej zrobiona taka dokumentacja, tym łatwiej jest później komuś „wejść” w projekt bez zadawania dziesiątek pytań.
Dobre praktyki mówią, żeby dokumentacja techniczna była aktualna, wersjonowana razem z kodem (np. w Git), a komentarze w kodzie nie powtarzały tego, co oczywiste, tylko wyjaśniały „dlaczego tak”, a nie „co robi ta linijka”. W projektach webowych dokumentacja techniczna opisuje na przykład, jak działa logika logowania użytkownika, jak są zrobione zapytania do bazy, jakie są ograniczenia wydajnościowe. To wszystko pozwala utrzymać spójność systemu i ułatwia debugowanie oraz rozwój nowych funkcji.
Dlatego odpowiedź „techniczną” jest jak najbardziej zgodna z tym, jak branża rozumie dokumentację w kontekście programowania i algorytmów.

Pytanie 31

W zamieszczonym kodzie PHP, zamiast znaków zapytania powinien być wyświetlony komunikat:

$x = mysql_query('SELECT * FROM mieszkancy');
if (!$x)
    echo '??????????????????????';
A. Zapytanie zostało poprawnie przetworzone
B. Błąd w trakcie przetwarzania zapytania
C. Niepoprawna nazwa bazy danych
D. Niepoprawne hasło do bazy danych
W przedstawionym kodzie PHP, komunikat "??????????????????????" powinien wskazywać na błąd przetwarzania zapytania SQL. Kiedy wynik funkcji mysql_query() jest równy fałszowi (false), oznacza to, że zapytanie nie mogło zostać poprawnie wykonane. Może to być spowodowane różnymi czynnikami, takimi jak błędy w składni zapytania, problemy z połączeniem z bazą danych, lub nieprawidłowe tabele. W tym przypadku, dobrym podejściem jest użycie funkcji mysql_error() w celu uzyskania bardziej szczegółowych informacji na temat natury błędu. Przykład poprawnego kodu mógłby wyglądać tak: <p>$x = mysql_query('SELECT * FROM mieszkancy');<br>If (!$x) {<br>echo mysql_error();<br>}</p> Używanie tej metody pomaga w diagnostyce problemu i pozwala na szybsze jego rozwiązanie. Znalezienie i naprawienie błędów w zapytaniach SQL jest kluczowe w pracy z bazami danych, szczególnie w kontekście aplikacji internetowych, które muszą być niezawodne i efektywne.

Pytanie 32

Wskaż, na czym polega błąd w kodzie napisanym w języku C++.

char str1[30] = 'Ala ma kota'; printf("%s", str1);
A. Napis powinien mieć dokładnie 30 znaków.
B. Do funkcji printf przekazano zbyt mało argumentów.
C. Napis powinien być umieszczony w cudzysłowach.
D. W funkcji printf nie można używać formatowania %s.
Podawanie błędnych informacji na temat inicjalizacji łańcucha znaków w C++ może prowadzić do poważnych nieporozumień. Wskazanie, że napis powinien mieć dokładnie 30 znaków, nie jest zasadniczo poprawne, ponieważ tablice w C++ mogą mieć zmienną długość. Ważne jest, aby łańcuch znaków był odpowiednio długi, jednak nie istnieje wymóg, aby dokładnie wypełniał całą tablicę. Mówiąc o długości, istotniejsze jest, aby nie przekraczać rozmiaru tablicy, aby uniknąć błędów pamięci. Poza tym, stwierdzenie, że do funkcji printf przekazano zbyt mało argumentów, jest mylące; w tym przypadku argumenty są poprawne, ponieważ przekazujemy jedynie jeden wskaźnik do łańcucha, co jest zgodne z formatem funkcji printf. Dodatkowo, twierdzenie, że w printf nie można stosować formatowania %s, jest całkowicie błędne. Format %s jest standardowym sposobem na wyświetlanie łańcuchów znaków w C++, co jest zgodne z dokumentacją i najlepszymi praktykami w programowaniu. Stosowanie tego formatu jest kluczowe w przypadku pracy z tekstem, a zrozumienie tej zasady jest fundamentem w nauce języka C++. Warto zatem pamiętać o właściwej inicjalizacji łańcuchów oraz o tym, jak korzystać z funkcji wejścia/wyjścia, aby unikać typowych błędów w kodzie.

Pytanie 33

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 34

Czym jest odpowiednik encji w relacyjnej bazie danych?

A. atrybut
B. kolumna
C. wiersz
D. tabela
Pozostałe pojęcia to mniejsze elementy. Wiersz (krotka) to pojedynczy egzemplarz encji, a nie cała encja. Kolumna i atrybut opisują pojedynczą cechę. Całej encji odpowiada tabela.

Pytanie 35

W języku CSS zdefiniowano styl. Sformatowana stylem sekcja będzie zawierała obramowanie o szerokości

div { border: solid 2px blue;
    margin: 20px;             }
A. 2 px oraz marginesy na zewnątrz tego obramowania.
B. 2 px oraz marginesy wewnątrz tego obramowania.
C. 20 px oraz marginesy na zewnątrz tego obramowania.
D. 20 px oraz marginesy wewnątrz tego obramowania.
Gratulacje, twoja odpowiedź jest poprawna! W CSS obramowanie (border) i margines (margin) są dwoma różnymi typami przestrzeni, które możemy zdefiniować wokół elementu. W tym pytaniu dokładnie określono styl obramowania jako linię ciągłą o szerokości 2 piksele. W praktyce jest to cienka linia otaczająca element na stronie. Z kolei margines zdefiniowany jako 20 pikseli to przestrzeń między obramowaniem a następnym elementem. Jest to zgodne ze standardami CSS, które mówią, że marginesy znajdują się zawsze na zewnątrz obramowania. To dlaczego '2 px oraz marginesy na zewnątrz tego obramowania' jest poprawną odpowiedzią. W praktyce, kontrolowanie obramowania i marginesów pozwala nam na precyzyjne ułożenie elementów na stronie, co jest kluczowym aspektem tworzenia responsywnych, atrakcyjnych stron internetowych.

Pytanie 36

Na ilustracji zaprezentowano koncepcję układu bloków strony internetowej. Przyjmując, że bloki są realizowane za pomocą znaczników sekcji, a szerokość jest określona tylko dla bloków 2, 3 oraz 4, ich stylowanie powinno uwzględniać właściwość

Ilustracja do pytania
A. clear: both dla bloku 5 i float: left jedynie dla bloków 2, 3 oraz 4
B. float: left dla wszystkich bloków
C. float: left jedynie dla bloków 3 i 4 oraz clear: both dla bloku 2
D. clear: both dla wszystkich bloków
Odpowiedź jest prawidłowa, ponieważ wykorzystanie float: left dla bloków 2, 3 i 4 pozwala na ich ustawienie obok siebie w poziomie. Jest to klasyczna technika stosowana w CSS do tworzenia layoutów, gdzie elementy mają płynąć obok siebie. Definiując float: left, elementy zaczynają od lewej krawędzi rodzica i układają się w linii poziomej. Użycie clear: both dla bloku 5 zapewnia, że blok ten zacznie się poniżej pływających bloków 2, 3 i 4, a nie obok nich. Clear: both jest konieczne, aby zapewnić, że blok 5 nie zostanie zakłócony przez floating, co jest powszechną praktyką przy tworzeniu wielokolumnowych layoutów. Kiedy float jest używany bez clear, może prowadzić do overlapania elementów, co jest niepożądane w strukturze layoutu. Praktyczne zastosowanie tego podejścia obejmuje układy z nagłówkiem, treścią i stopką, gdzie nagłówek i stopka powinny być pełnej szerokości, a treść podzielona na kolumny obok siebie. To podejście jest zgodne z tradycyjnymi metodami budowania stron przed wprowadzeniem flexboxa i grida, gdzie float był jednym z podstawowych narzędzi do zarządzania układem strony. Współczesne dobre praktyki wciąż uznają jego istotność, zwłaszcza w kontekście starszych projektów utrzymywanych z biegiem czasu.

Pytanie 37

Co wchodzi w skład standardowego frameworka?

A. system uruchamiania i przetwarzania akcji oraz certyfikat http
B. domena oraz obsługa błędów
C. zarządzanie komunikacją z bazą danych, system uruchamiania i przetwarzania akcji
D. przetwarzanie formularzy oraz wbudowany serwer
Frameworki aplikacji webowych dostarczają zestawu narzędzi i standardów, które ułatwiają tworzenie oprogramowania. W kontekście tego pytania, zarządzanie komunikacją z bazą danych oraz mechanizm uruchamiania i przetwarzania akcji stanowią kluczowe komponenty każdego frameworka. Zarządzanie komunikacją z bazą danych odnosi się do sposobów, w jakie aplikacja łączy się z bazą danych, wykonuje zapytania i przetwarza wyniki. Przykładowo, w frameworkach takich jak Django czy Ruby on Rails, stosuje się ORM (Object-Relational Mapping), co ułatwia interakcję z bazą danych poprzez obiektowe podejście zamiast pisania surowych zapytań SQL. Mechanizm uruchamiania i przetwarzania akcji opisuje, jak framework interpretuje i obsługuje żądania użytkowników, co obejmuje routing, middleware i obsługę logiki biznesowej. Takie podejście jest zgodne z zasadą DRY (Don't Repeat Yourself), co zwiększa efektywność i jakość kodu w projektach programistycznych.

Pytanie 38

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

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

Pytanie 39

Jakie dane zostaną wyświetlone po wykonaniu podanych poleceń?

bool gotowe = true;
cout << gotowe;
A. nie
B. tak
C. 1
D. 0
W języku C++ zmienne typu bool mogą przyjmować jedynie dwie wartości: true i false. Gdy zmienna typu bool zostanie wypisana przy użyciu standardowego strumienia wyjściowego cout, to domyślnie wartości true i false są konwertowane na liczby całkowite 1 i 0 odpowiednio. Dlatego w zaprezentowanym fragmencie kodu zmiennej gotowe przypisano wartość true, a następnie jej zawartość została wypisana przy użyciu cout. Wynikiem tego działania będzie wyświetlenie liczby 1 na ekranie. Jest to zgodne z domyślnym zachowaniem cout w przypadku zmiennych typu bool w C++. Aby modyfikować to zachowanie i bezpośrednio wypisywać słowa true lub false, można użyć specjalnej flagi boolalpha, która sprawia, że wartości logiczne są reprezentowane jako tekst. Jednak w podanym przykładzie nie użyto tej flagi, co prowadzi do wypisania wartości liczbowej. Takie podejście jest powszechne w wielu aplikacjach, gdzie wartości logiczne muszą być szybko zamieniane na wartości liczbowe, na przykład w obliczeniach binarnych czy przy operacjach bitowych. Poprawne zrozumienie tego mechanizmu jest kluczowe dla programistów tworzących efektywne i czytelne aplikacje w C++.

Pytanie 40

Jaki wynik daje poniższy kod PHP?

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. jest niepoprawny, nieznany operator =>
B. definiuje tablicę z trzema wartościami
C. jest błędny, ponieważ indeksami tablicy mogą być wyłącznie liczby całkowite
D. określa tablicę zawierającą sześć wartości
W tym przypadku mówimy o tablicach w PHP, które są podstawą zarządzania danymi w tym języku. Jednak stwierdzenie, że tablice asocjacyjne mogą mieć tylko klucze liczbowe, to nieprawda. W rzeczywistości klucze asocjacyjne mogą być wszelkimi wartościami skalarnymi, a najczęściej używa się ciągów znaków dla lepszej czytelności kodu. Operator '=>' w PHP jest powszechnie stosowany do przypisywania wartości do kluczy tablic asocjacyjnych, co jest totalnie normalne. Wydaje mi się, że błędne rozumienie tego operatora może pochodzić z braku praktyki z PHP albo z mieszania z innymi językami. Przykład zawiera trzy pary klucz-wartość, więc twierdzenie, że definiuje sześć wartości, jest grube nieporozumienie. Zrozumienie, jak PHP działa z tablicami, jest kluczowe, zwłaszcza w aplikacjach webowych, bo tablice są mega przydatne do przetwarzania danych. Dlatego warto przyłożyć się do analizowania struktury tych tablic, co pomoże unikać błędów w projektach.