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: 8 stycznia 2025 18:32
  • Data zakończenia: 8 stycznia 2025 18:45

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Jak nazywa się edytor, który wspiera proces tworzenia stron internetowych i którego działanie można opisać w polskim tłumaczeniu jako "otrzymujesz to, co widzisz"?

A. WYSIWYG
B. WEB STUDIO
C. VISUAL EDITOR
D. IDE
IDE, czyli zintegrowane środowisko programistyczne, to narzędzie, które wspomaga programistów w pisaniu kodu, debugowaniu i kompilacji aplikacji. IDE oferuje zaawansowane funkcje, takie jak podpowiedzi składni, integracja z systemami kontroli wersji oraz narzędzia do analizy kodu, jednak nie jest to narzędzie WYSIWYG. Głównym celem IDE jest ułatwienie pracy programistom, a nie wizualne projektowanie stron internetowych. WEB STUDIO to termin ogólny, który może odnosić się do różnych platform i narzędzi do tworzenia stron internetowych, ale nie jest on powszechnie uznawany za standardowy termin w branży. Nie ma on jednoznacznego znaczenia i nie wskazuje na edytor WYSIWYG, co wprowadza w błąd. VISUAL EDITOR, mimo że brzmi podobnie, także nie jest konkretnym terminem odnoszącym się do edytora WYSIWYG. Może być używany w różnych kontekstach, aby opisać edytory wizualne, jednak nie ma takiej samej rozpoznawalności jak termin WYSIWYG, co prowadzi do nieporozumień. W podsumowaniu, IDE, WEB STUDIO oraz VISUAL EDITOR nie oddają w pełni funkcji edytora WYSIWYG, który jest dedykowany do kreacji stron internetowych w sposób wizualny.

Pytanie 2

Aby zmienić strukturę tabeli w bazie danych MySQL, należy użyć komendy

A. INSERT INTO
B. GRANT
C. UPDATE
D. ALTER TABLE
Wybór odpowiedzi 'INSERT INTO' jest błędny, ponieważ to polecenie służy do wstawiania nowych danych do tabeli, a nie do modyfikacji jej struktury. W praktyce, jeśli chcemy dodać nowy rekord do tabeli, użyjemy składni 'INSERT INTO tabela (kolumna1, kolumna2) VALUES (wartość1, wartość2);'. Z kolei 'UPDATE' również nie jest właściwym poleceniem w kontekście zmiany struktury tabeli, ponieważ to polecenie jest używane do modyfikacji istniejących danych w tabeli, a nie do zmiany jej budowy. Na przykład, aby zmienić wartość w kolumnie, użyjemy 'UPDATE tabela SET kolumna = nowa_wartość WHERE warunek;'. Dodatkowo, odpowiedź 'GRANT' jest nieodpowiednia, ponieważ to polecenie dotyczy przyznawania uprawnień do bazy danych, a nie zmiany jej struktury. Przyznawanie uprawnień jest kluczowe w kontekście bezpieczeństwa bazy danych, ale nie ma związku z modyfikowaniem struktury tabel. Typowymi błędami, które prowadzą do takich niepoprawnych wyborów, są pomylenie operacji na danych z operacjami na strukturze bazy danych oraz brak zrozumienia specyfiki poleceń SQL.

Pytanie 3

W języku PHP należy stworzyć warunek, który będzie prawdziwy, gdy zmienna $a będzie dowolną liczbą całkowitą mniejszą niż -10 lub gdy zmienna $b będzie jakąkolwiek liczbą z zakresu (25, 75). Wyrażenie logiczne w tym warunku przyjmuje postać

A. ($a < -10) and (($b > 25) or ($b < 75))
B. ($a < -10) or (($b > 25) and ($b < 75))
C. ($a < -10) or (($b > 25) or ($b < 75))
D. ($a < -10) and (($b > 25) and ($b < 75))
Analizując niepoprawne wyrażenia logiczne, można zauważyć, że w każdym z nich występują błędy w interpretacji warunków z pytania. W przypadku wyrażenia, które używa operatora 'and', takie jak ($a < -10) and (($b > 25) and ($b < 75)), zakłada się, że oba warunki muszą być spełnione jednocześnie, co jest niezgodne z opisanymi wymaganiami. Ponieważ pytanie wskazuje na możliwość spełnienia jednego z warunków, stosowanie operatora 'and' w tym kontekście prowadzi do logicznej niepoprawności. Kolejny błąd można znaleźć w podejściu, które używa operatora 'or' w połączeniu z błędnymi granicami przedziału, jak w przypadku (($b > 25) or ($b < 75)). Takie wyrażenie nie ogranicza zmiennej $b do przedziału (25, 75), ponieważ pozwala na przyjmowanie wartości poza tym zakresem, co jest sprzeczne z wymaganiami. Typowym błędem myślowym tutaj jest mylenie operatorów logicznych oraz nieprawidłowe interpretowanie zakresu wartości. Aby uniknąć tego typu błędów, ważne jest, aby zawsze dokładnie przemyśleć, jakie warunki muszą być spełnione i jakie operatory logiczne są odpowiednie do ich realizacji. Szkolenie w zakresie logiki programowania oraz praktyka w pisaniu wyrażeń warunkowych mogą znacząco poprawić umiejętności programistyczne i zwiększyć precyzję kodu.

Pytanie 4

O zmiennej predefiniowanej <pre>$_POST </pre> w języku PHP można stwierdzić, że

A. zawiera dane bezpośrednio dostarczone do skryptu z ciasteczka
B. jest rozwiniętą wersją tablicy $_SESSION
C. jest odwzorowaniem tablicy $_COOKIE
D. zawiera dane przesłane do skryptu za pośrednictwem formularza
Odpowiedź, że zmienna predefiniowana $_POST zawiera dane przesłane do skryptu z formularza, jest w pełni poprawna. W języku PHP, $_POST to jedna z superglobalnych tablic, która umożliwia dostęp do danych przesyłanych metodą POST. Metoda ta jest powszechnie stosowana w formularzach HTML, gdzie użytkownik może wprowadzać dane, które następnie są wysyłane do serwera. Na przykład, formularz kontaktowy, w którym użytkownik wprowadza swoje imię i adres e-mail, może być przetwarzany za pomocą $_POST, co pozwala na łatwą i bezpieczną obsługę danych. Dobrą praktyką jest również walidacja danych przed ich użyciem, aby zminimalizować ryzyko ataków, takich jak SQL Injection czy XSS. Dzięki zastosowaniu $_POST, programiści mogą przechwytywać i przetwarzać dane użytkowników w bardziej zaawansowany sposób, co pozwala na dynamiczne generowanie treści i interakcję z użytkownikami.

Pytanie 5

Który z typów danych w C++ oferuje najszerszy zakres wartości?

A. int
B. long int
C. long long
D. short
Wybór niewłaściwego typu danych może prowadzić do wielu problemów w programowaniu. Typy 'short', 'int' oraz 'long int' występują w C++ i mają swoje ograniczenia. Typ 'short' jest przeznaczony do przechowywania mniejszych wartości, co czyni go niewłaściwym wyborem w przypadku, gdy potrzebujemy dużych liczb. Typ 'int' ma zazwyczaj rozmiar 32 bitów na większości platform, co również ogranicza zakres wartości, które możemy reprezentować, sięgając od -2 147 483 648 do 2 147 483 647. Z kolei typ 'long int' może mieć różne rozmiary w zależności od architektury komputera, chociaż często jest to również 32 bity, co nie dostarcza większego zakresu. Typowe błędy myślowe, które mogą prowadzić do wybrania niewłaściwego typu danych, to założenie, że 'long int' zawsze będzie większy od 'int', co nie jest prawdą w przypadku systemów 32-bitowych. W praktyce, programiści powinni kierować się specyfikacjami swojego środowiska oraz zrozumieć potrzeby dotyczące zakresu wartości, które będą używane w programie. Dobrym nawykiem jest również testowanie programu z różnymi wartościami, aby upewnić się, że nie wystąpią błędy przepełnienia, co mogłoby prowadzić do nieprzewidywalnych wyników lub awarii aplikacji.

Pytanie 6

Jak nazywa się składnik bazy danych, który umożliwia jedynie przeglądanie informacji z bazy, prezentując je w formie tekstowej lub graficznej?

A. Zapytanie
B. Formularz
C. Tabela
D. Raport
Tabela to jakby podstawowy element bazy danych, gdzie trzymamy dane w sposób uporządkowany. Ale to nie jest takie narzędzie, które pokazuje gotowe raporty. Tabele służą do wprowadzania i edytowania danych, więc mogą pojawić się niejasności, bo niektórzy mogą mylić rolę tabel z raportami. Zapytanie z kolei to mechanizm do wyciągania danych z bazy. Ale ono samo w sobie nie pokazuje ich w przystępny sposób. Zapytania można wykorzystać do przygotowania danych do raportu, ale to nie jest to samo, co je wyświetlać. A formularz to interaktywny element, który zazwyczaj wykorzystuje się do wprowadzania danych przez użytkowników, a nie do ich odczytu. Więc nawet jeśli formularze mogą wyświetlać dane, ich głównym celem jest dać ludziom możliwość wpisywania informacji do systemu. Jak się nie rozumie tych różnych elementów bazy danych, to można łatwo trafić na błędne wnioski, jak dane są analizowane. Ważne jest, żeby pamiętać, że raporty służą do analizy i wizualizacji danych, a nie do ich przechowywania czy wprowadzania.

Pytanie 7

W bazie danych znajduje się tabela uczniowie z kolumnami: imie, nazwisko, klasa. Jakie polecenie SQL należy wykorzystać, aby znaleźć imiona oraz nazwiska uczniów, których nazwiska zaczynają się na literę M?

A. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE 'M%';
B. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN 'M%';
C. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko = 'M%';
D. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN 'M%';
Wybrana odpowiedź jest poprawna, ponieważ używa operatora LIKE, który jest standardowym rozwiązaniem w SQL do wyszukiwania wzorców w danych. W tym przypadku 'M%' oznacza, że chcemy znaleźć wszystkie nazwiska, które zaczynają się na literę M. Operator LIKE jest szczególnie przydatny w sytuacjach, gdy potrzebujemy elastycznego wyszukiwania, umożliwiającego zastosowanie symboli wieloznacznych, takich jak '%' oznaczający dowolną liczbę znaków. Przykład zastosowania tego zapytania może obejmować generowanie listy uczniów dla nauczycieli, którzy chcą szybko zobaczyć wszystkich uczniów z nazwiskiem zaczynającym się na M, co może być przydatne przy organizowaniu wydarzeń czy klas. Dobrą praktyką jest także używanie odpowiednich indeksów w bazie danych, co może znacznie przyspieszyć wykonanie zapytań, zwłaszcza w dużych zbiorach danych. Znajomość operatorów SQL i ich zastosowań, jak również umiejętność formułowania zapytań, jest kluczowa w pracy z relacyjnymi bazami danych.

Pytanie 8

Jaką wartość zwróci ten algorytm? ```Z = 0 N = 1 dopóki Z < 3: N = N * 2 + 1 Z = Z + 1 wypisz N```

A. 5
B. 3
C. 15
D. 7
Zrozumienie działania tego algorytmu jest kluczowe dla programowania i matematyki obliczeniowej. Algorytm ten wykorzystuje pętlę 'dopóki', która wykonuje operacje na dwóch zmiennych: Z i N. Na początku Z jest równe 0, a N jest równe 1. Pętla trwa dopóki Z jest mniejsze od 3. W każdej iteracji pętli zmienna N jest aktualizowana zgodnie z wyrażeniem N = N * 2 + 1 oraz Z jest zwiększane o 1. Przy pierwszej iteracji Z wynosi 0, więc N staje się 1 * 2 + 1 = 3, a Z zostaje zwiększone do 1. W drugiej iteracji Z wynosi 1, więc N staje się 3 * 2 + 1 = 7, a Z wynosi 2. W trzeciej iteracji Z wynosi 2, dlatego N staje się 7 * 2 + 1 = 15, a Z zostaje zwiększone do 3, co kończy pętlę. W rezultacie, gdy algorytm kończy działanie, zmienna N ma wartość 15, która zostaje wypisana. To podejście jest zgodne z dobrymi praktykami w pisaniu algorytmów, gdzie dbałość o zrozumienie pętli i operacji na zmiennych jest fundamentalna dla tworzenia wydajnych programów.

Pytanie 9

Aby udostępnić aplikację PHP w sieci, konieczne jest przesłanie jej plików źródłowych na serwer z wykorzystaniem protokołu

A. HTTP
B. SMTP
C. FTP
D. NNTP
HTTP, czyli Hypertext Transfer Protocol, jest protokołem stosowanym głównie do przesyłania danych w sieci WWW, ale nie jest przeznaczony do transferu plików na serwer w kontekście przesyłania aplikacji PHP. HTTP umożliwia wymianę dokumentów HTML oraz zasobów takich jak obrazy czy style CSS, ale nie posiada funkcji zarządzania plikami w sposób, w jaki robi to FTP. SMTP, czyli Simple Mail Transfer Protocol, jest protokołem stworzonym do przesyłania wiadomości e-mail, a jego funkcjonalność nie ma zastosowania w kontekście przesyłania plików na serwer. SMTP zajmuje się jedynie przesyłaniem e-maili pomiędzy serwerami pocztowymi i nie obsługuje transferu plików, co czyni go zupełnie nieadekwatnym w tym przypadku. NNTP, czyli Network News Transfer Protocol, jest protokołem przeznaczonym do przesyłania wiadomości na grupy dyskusyjne w sieci Usenet. Choć pozwala na dystrybucję wiadomości, nie jest używany do transferu plików do serwerów internetowych. W związku z tym, ani HTTP, ani SMTP, ani NNTP nie mogą być skutecznymi narzędziami do zamieszczania aplikacji PHP w Internecie, co czyni FTP jedynym odpowiednim wyborem w tym kontekście.

Pytanie 10

Jakiej kwerendy w bazie MariaDB należy użyć, aby wybrać artykuły, których ceny mieszczą się w przedziale domkniętym <10, 20>?

A. SELECT * FROM Artykuly WHERE Cena IN (10, 20)
B. SELECT * FROM Artykuly WHERE Cena LIKE 1%, 2%
C. SELECT * FROM Artykuly WHERE Cena BETWEEN 10 AND 20
D. SELECT * FROM Artykuly WHERE Cena > 10 AND Cena < 20
Pierwsza z niepoprawnych odpowiedzi, 'SELECT * FROM Artykuly WHERE Cena IN (10, 20);', jest błędna, ponieważ operator IN służy do sprawdzania, czy wartość znajduje się w określonej liście wartości. W tym przypadku zwróci tylko artykuły, których cena wynosi dokładnie 10 lub 20, a nie wszystkie artykuły w przedziale między tymi wartościami. Operator IN nie obsługuje zakresów, co może prowadzić do niepełnych wyników w analizach cenowych. Odpowiedź 'SELECT * FROM Artykuly WHERE Cena LIKE 1%, 2%;' również nie jest poprawna, ponieważ operator LIKE jest używany do wyszukiwania wzorców w tekstach, a nie do porównywania wartości liczbowych. Użycie LIKE w tym kontekście jest całkowicie niewłaściwe i prowadzi do błędnych interpretacji wyników, co jest typowym błędem wśród początkujących użytkowników SQL. Z kolei kwerenda 'SELECT * FROM Artykuly WHERE Cena > 10 AND Cena < 20;' z kolei nie obejmuje wartości granicznych 10 i 20, co sprawia, że nie zwróci artykułów, których cena wynosi równo 10 lub 20. To pokazuje typowy błąd myślowy, polegający na niepełnym zrozumieniu zastosowania operatorów porównawczych w SQL. W praktyce, aby uzyskać pełny zakres wartości w analizach, kluczowe jest zrozumienie różnic między tymi operatorami oraz ich właściwe zastosowanie w kontekście wymagań dotyczących danych.

Pytanie 11

W celu stylizacji strony internetowej stworzono odpowiednie reguły. Reguły te będą stosowane tylko do wybranych znaczników (np. niektóre nagłówki, kilka akapitów). W tej sytuacji, aby zastosować styl do kilku wybranych znaczników, najlepiej będzie użyć ```{ text-align: right; }```

A. pseudoklasy.
B. identyfikatora.
C. klasy.
D. selektora akapitu.
Zastosowanie pseudoklas, identyfikatorów czy selektorów akapitów w sytuacji, gdy potrzebujemy przypisać ten sam styl do różnych elementów, nie jest efektywnym rozwiązaniem. Pseudoklasy, takie jak :hover, :focus czy :nth-child, służą do stylizacji elementów w szczególnych stanach lub według ich pozycji w dokumencie. Nie są one przeznaczone do grupowego przypisywania stylów do wielu elementów, przez co ich użycie w tym kontekście obniża elastyczność i powtarzalność kodu. Identyfikatory, chociaż mogą przypisać unikalny styl do konkretnego elementu, są ograniczone do jednego miejsca w dokumencie HTML. Oznacza to, że ich użycie jest nieefektywne w kontekście wielokrotnego stylizowania, co jest sprzeczne z zasadami semantycznego HTML i CSS. Selektor akapitu, z kolei, odnosi się do elementów <p> i pozwala na stylizację tych elementów w sposób globalny, jednak nie pozwala na precyzyjne dostosowanie stylów do wybranych akapitów w sposób, w jaki może to zrobić klasa. Właściwe zrozumienie koncepcji klas w CSS stanowi podstawę efektywnej stylizacji dokumentów HTML, a ich niewłaściwe zastąpienie innymi metodami może prowadzić do złożonych, mniej czytelnych i trudnych w zarządzaniu arkuszy stylów.

Pytanie 12

Wskaż pętlę w języku JavaScript, która wypisze sześć kolejnych liczb parzystych.

A. for(i=2;i<=12;i+=2) {document.write(i);}
B. for(i=2;i<12;i+=2) {document.write(i);}
C. for(i=2;i<12;i++) {i++; document.write(i);}
D. for(i=2;i<=12;i++) {i=i+2; document.write(i);}
Pierwsza z analizowanych pętli, która przyjmuje formę for(i=2;i<12;i+=2) {document.write(i);}, jest niepoprawna, ponieważ wyświetli jedynie liczby parzyste od 2 do 10. Warunek końcowy pętli jest ustawiony na i<12, co oznacza, że pętla zakończy się przed wyświetleniem liczby 12, co skutkuje pominięciem ostatniej liczby parzystej w tym zakresie. Kolejna pętla to for(i=2;i<12;i++) {i++; document.write(i);}, która jest problematyczna ze względu na modyfikację zmiennej i w samym ciele pętli. Przy każdym przebiegu pętli wartość i zwiększa się o 1, a następnie jeszcze raz o 1 w document.write(i), co prowadzi do pominięcia co drugiej liczby. Efektem tej pętli będzie wyświetlenie liczb 3, 5, 7, 9, 11, co zupełnie odbiega od założonego celu. Ostatnia z rozważanych pętli, for(i=2;i<=12;i++) {i=i+2; document.write(i);}, również nie spełnia założeń, ponieważ inkrementuje zmienną i w sposób, który jest niezgodny z zamierzeniem wyświetlenia kolejnych liczb parzystych. Po pierwszym przebiegu pętli, wartość i wzrasta do 3, przez co wyświetlana jest liczba 3 oraz każda kolejna liczba jest pomijana. Efektem końcowym będzie wyświetlenie liczb 3, 5, 7, 9, 11, co również jest sprzeczne z wymaganym rezultatem. Każda z tych pętli pokazuje, jak ważne jest zrozumienie działania konstrukcji pętli oraz odpowiedniego ustalania warunków i inkrementacji w kontekście programowania w JavaScript.

Pytanie 13

Zaprezentowano tabelę stworzoną za pomocą kodu HTML, bez zastosowania stylów CSS. Która część kodu HTML odnosi się do pierwszego wiersza tabeli?

Ilustracja do pytania
A. D
B. C
C. A
D. B
Niepoprawne podejścia w odpowiedziach A, B i C wynikają z błędnego zastosowania znaczników HTML, co wpływa na sposób, w jaki przeglądarka interpretuje dane w tabeli. Odpowiedź A używa znaczników <td> zamiast <th> do definiowania nagłówków kolumn. Znacznik <td> jest przeznaczony do zwykłych komórek tabeli, co sprawia, że przeglądarka nie traktuje ich jako nagłówków, przez co nie są wstępnie formatowane jako pogrubione i wyśrodkowane. To podejście narusza zasady semantyki HTML, ponieważ nagłówki powinny być jasno zdefiniowane za pomocą <th>, co wspiera dostępność i zrozumienie struktury danych. Odpowiedź B, mimo że używa <th>, stosuje dodatkowo <i>, co zmienia styl na kursywę, a to nie odpowiada formatowi wizualnemu przedstawionemu w pytaniu. Użycie <i> może być mylące, jeśli nie jest to zgodne z oczekiwanym stylem, i może powodować problemy z dostępnością. Wreszcie, odpowiedź C używa <center>, co jest przestarzałym sposobem na wyrównanie treści w HTML. Zamiast tego, stylowanie powinno być osiągane za pomocą CSS, co jest zgodne z nowoczesnymi standardami projektowania stron i wspiera lepszą separację struktury od prezentacji. Wszystkie te podejścia pokazują, jak ważne jest stosowanie semantycznych elementów HTML dla poprawności i dostępności stron internetowych, a jednocześnie podkreślają znaczenie zgodności z aktualnymi standardami sieciowymi.

Pytanie 14

Jakie słowo kluczowe wykorzystuje się do deklaracji zmiennej w języku JavaScript?

A. var
B. new
C. instanceof
D. variable
W JavaScript, żeby zadeklarować zmienną, używa się słowa 'var'. To jeden z najważniejszych elementów tego języka. Używając 'var', tworzysz zmienną, która może mieć zasięg tylko w danej funkcji albo być dostępna globalnie, w zależności od tego, jak ją zadeklarujesz. Jeśli na przykład napiszesz 'var x = 10;', to stworzysz zmienną 'x' i przypiszesz jej wartość 10. Warto jednak zauważyć, że od momentu, gdy wprowadzono ES6, zaleca się używanie 'let' oraz 'const' do deklaracji zmiennych, bo są bardziej przewidywalne, zwłaszcza jeśli chodzi o zasięg zmiennych (block scope). Mimo to, 'var' wciąż można spotkać w wielu starych projektach i dobrze jest znać to słowo, żeby lepiej rozumieć, jak działa JavaScript. Fajnie jest ograniczać 'var' na rzecz 'let' i 'const', bo dzięki temu kod staje się bardziej przejrzysty i łatwiejszy do ogarnienia w większych projektach.

Pytanie 15

Kwalifikatory dostępu, takie jak private, protected oraz public, określają mechanizm

A. polimorfizmu
B. przeładowania
C. rekurencji
D. hermetyzacji
Kwalifikatory dostępu nie są jakoś związane z przeładowaniem, polimorfizmem czy rekurencją, bo te tematy to zupełnie inne rzeczy w programowaniu obiektowym. Przeładowanie to technika, która pozwala na kilka metod o tej samej nazwie, ale z różnymi parametrami. Polimorfizm z kolei to umiejętność obiektów do przyjmowania różnych form, co jest ważne przy dziedziczeniu i interfejsach. Rekurencja to, jak wiadomo, sytuacja, gdy funkcja wywołuje samą siebie, co jest przydatne do rozwiązywania problemów, które można podzielić na mniejsze zadania. Często myli się te koncepcje z kwalifikatorami dostępu, bo niektórzy programiści myślą, że hermetyzacja to tylko ograniczanie dostępu, a tak naprawdę chodzi głównie o zabezpieczenie danych. Musisz zrozumieć te różnice, by tworzyć naprawdę dobre i bezpieczne aplikacje, które łatwo można rozwijać.

Pytanie 16

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

A. cookie("jabłko","owoce",3600);
B. setcookie("owoce","jabłko",time()+3600);
C. setcookie("jabłko","owoce",time()+3600);
D. cookie("owoce","jabłko",3600);
Funkcja setcookie w PHP jest kluczowym narzędziem do zarządzania ciasteczkami, a w szczególności do ich tworzenia. W przypadku prawidłowej odpowiedzi, setcookie("owoce","jabłko",time()+3600) poprawnie ustawia nazwę ciasteczka na 'owoce', przypisując mu wartość 'jabłko'. Funkcja time() zwraca aktualny czas w sekundach od 1 stycznia 1970 roku, a dodanie 3600 do tej wartości ustawia czas wygaśnięcia ciasteczka na jedną godzinę od momentu jego utworzenia. Jest to standardowa praktyka, by zapewnić, że cookie będzie dostępne przez określony czas. W kontekście aplikacji webowych, cookies są często wykorzystywane do przechowywania informacji o preferencjach użytkowników, sesjach logowania czy koszykach zakupowych. Ważne jest, aby przy tworzeniu ciasteczek upewnić się, że nazwa i wartość są odpowiednio sformatowane, a czas wygaśnięcia jest zgodny z oczekiwaniami. Prawidłowe zarządzanie ciasteczkami przyczynia się do lepszej interakcji z użytkownikami oraz zwiększa wydajność aplikacji.

Pytanie 17

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

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

Pytanie 18

Tabela samochody zawiera dane przedstawione poniżej: <table class="question-table"> <tr class="question-table-header"><th class="question-table-th">id</th><th class="question-table-th">klasa_id</th><th class="question-table-th">marka</th><th class="question-table-th">model</th><th class="question-table-th">rocznik</th></tr> <tr class="question-table-row"><td class="question-table-td">1</td><td class="question-table-td">1</td><td class="question-table-td">ford</td><td class="question-table-td">ka</td><td class="question-table-td">2017</td></tr> <tr class="question-table-row"><td class="question-table-td">2</td><td class="question-table-td">2</td><td class="question-table-td">seat</td><td class="question-table-td">toledo</td><td class="question-table-td">2016</td></tr> <tr class="question-table-row"><td class="question-table-td">3</td><td class="question-table-td">3</td><td class="question-table-td">opel</td><td class="question-table-td">zafira</td><td class="question-table-td">2018</td></tr> <tr class="question-table-row"><td class="question-table-td">4</td><td class="question-table-td">2</td><td class="question-table-td">fiat</td><td class="question-table-td">500X</td><td class="question-table-td">2018</td></tr> <tr class="question-table-row"><td class="question-table-td">5</td><td class="question-table-td">3</td><td class="question-table-td">opel</td><td class="question-table-td">insignia</td><td class="question-table-td">2017</td></tr> </table> Wydając zamieszczone zapytanie SQL, jakie dane zostaną zwrócone: ```SELECT model FROM samochody WHERE rocznik > 2017 AND marka = "opel";```

A. opel zafira; opel insignia
B. opel zafira
C. zafira; insignia
D. zafira
Poprawna odpowiedź to 'zafira', ponieważ zapytanie SQL odnosi się do modelu samochodu marki 'opel', którego rocznik jest większy niż 2017. Z analizy danych w tabeli wynika, że tylko model 'opel zafira' (z rocznika 2018) spełnia te warunki. Odpowiedzi 'opel zafira', 'zafira; insignia', 'opel zafira; opel insignia' zawierają dodatkowe informacje, które nie są zgodne z wymaganiami zapytania. Dobrym przykładem zastosowania takiej analizy jest filtrowanie danych w bazach danych, co jest kluczowym procesem w zarządzaniu informacjami. Efektywne posługiwanie się zapytaniami SQL to umiejętność istotna w pracy każdego analityka danych, programisty, czy specjalisty w zakresie baz danych, ponieważ pozwala na wyciąganie precyzyjnych informacji zgodnych z wymaganiami biznesowymi.

Pytanie 19

Baza danych zawiera tabelę artykuły z kolumnami: nazwa, typ, producent, cena. Aby wypisać wszystkie nazwy artykułów jedynie typu pralka, których cena mieści się w zakresie od 1000 PLN do 1500 PLN, należy użyć zapytania

A. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena BETWEEN 1000 AND 1500
B. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 OR 1500
C. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena FROM 1000 TO 1500
D. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 AND 1500
Błędne odpowiedzi opierają się na nieporozumieniach dotyczących składni SQL oraz logicznych błędach w użyciu operatorów. W pierwszym przypadku, użycie 'cena FROM 1000 TO 1500' jest niepoprawne, ponieważ składnia SQL nie wspiera takiego zapisu. Poprawne podejście wymagałoby użycia operatora 'BETWEEN'. Drugie podejście używa operatora 'OR', co skutkuje zwróceniem artykułów, które są typu 'pralka' lub mają cenę w podanym przedziale, a to jest niezgodne z wymaganiem, które wymaga obu warunków jednocześnie. Trzecia opcja z 'BETWEEN' jest bliska poprawnej, ale przez użycie operatora 'OR' dla ceny również nie spełnia wymagań. Ostatnia odpowiedź, która stosuje 'OR' w kontekście ceny, jest błędna, ponieważ nie można używać 'OR' w ten sposób przy definiowaniu zakresu. Typowe błędy myślowe, które mogą prowadzić do takich nieporozumień, obejmują mylenie operatorów logicznych oraz niewłaściwe rozumienie składni SQL. W rezultacie, kluczowe jest zrozumienie, że do filtrowania danych używamy 'AND' dla warunków, które muszą być spełnione jednocześnie oraz 'BETWEEN' do określenia zakresu wartości.

Pytanie 20

Jaki typ powinien być wykorzystany, aby pole danych mogło przyjmować liczby zmiennoprzecinkowe?

A. FLOAT
B. CHAR
C. VARCHAR
D. INT
Typ danych FLOAT jest idealnym rozwiązaniem do przechowywania liczb rzeczywistych, ponieważ umożliwia reprezentację wartości z przecinkiem dziesiętnym. W przeciwieństwie do typu INT, który obsługuje jedynie liczby całkowite, FLOAT potrafi przechowywać znacznie szerszy zakres wartości, w tym liczby z miejscami po przecinku. Użycie typu FLOAT jest szczególnie korzystne w aplikacjach wymagających precyzyjnych obliczeń, takich jak kalkulatory, systemy finansowe czy analizy danych. Przykładowo, w systemach baz danych SQL, definiując kolumnę jako FLOAT, możemy przechowywać wartości takie jak 3.14, -0.001 lub 2.71828. Standard SQL określa, że FLOAT może posiadać różne precyzje, co pozwala na dostosowanie pamięci do potrzeb konkretnej aplikacji. W praktyce, FLOAT jest wykorzystywany w złożonych obliczeniach inżynieryjnych, gdzie precyzyjne wartości są kluczowe dla wyników obliczeń.

Pytanie 21

Który z zaprezentowanych kodów HTML sformatuje tekst zgodnie z podanym wzorem? uwaga: słowo "stacji" jest napisane większą czcionką niż pozostałe wyrazy w tej linijce)

A. <h1>Lokomotywa</h1> <p>Stoi na <big>stacji</big> lokomotywa ...</p>
B. <h1>Lokomotywa</h1> <p>Stoi na <big>stacji</big> lokomotywa ...</p>
C. <h1>Lokomotywa</h1> <p>Stoi na <big>stacji lokomotywa ...</p>
D. <p><small>Lokomotywa</small></p> <p>Stoi na <big>stacji<big> lokomotywa ...</p>
Odpowiedź 2 jest poprawna, ponieważ używa odpowiednich znaczników HTML do formatowania tekstu w sposób zgodny z zamierzonym wzorem. Znacznik <h1> odpowiedzialny jest za nagłówek, co w tym przypadku w pełni oddaje intencję wyeksponowania słowa 'Lokomotywa'. Z kolei użycie <big> do otoczenia słowa 'stacji' powoduje, że tekst ten zostanie wyświetlony większą czcionką w porównaniu do reszty tekstu. To ważne, ponieważ zapewnia odpowiednią hierarchię wizualną, co jest zgodne z zasadami dostępności oraz dobrymi praktykami w projektowaniu stron internetowych. Warto zaznaczyć, że znacznik <big> nie jest już zalecany w nowoczesnych standardach HTML5; raczej powinno się stosować CSS do stylizacji tekstu. Dla przykładu, można by użyć klasy CSS, aby określić rozmiar czcionki, co pozwala na lepszą kontrolę nad stylizacją i elastyczność w projektowaniu responsywnym.

Pytanie 22

Kolor reprezentowany w formacie heksadecymalnym #0000FF to

A. niebieski
B. zielony
C. czerwony
D. czarny
Kolor zapisany w notacji heksadecymalnej #0000FF to odcień niebieskiego. Notacja heksadecymalna jest powszechnie stosowana w projektowaniu stron internetowych oraz grafice komputerowej do definicji kolorów w systemie RGB. W tej notacji sześć znaków reprezentuje wartości czerwonego, zielonego i niebieskiego (RGB), gdzie pierwsze dwa znaki to wartość czerwonego, kolejne dwa to wartość zielonego, a ostatnie dwa to wartość niebieskiego. W przypadku #0000FF, wartości są następujące: 00 (czerwony), 00 (zielony), FF (niebieski), co oznacza maksymalny poziom niebieskiego światła. Taki kolor jest czystym niebieskim, uzyskiwanym gdy intensywność czerwonego i zielonego jest zerowa, a niebieskiego maksymalna. Przykładami użycia niebieskiego w designie mogą być logo Facebooka, które wykorzystuje podobny odcień, czy tła niektórych stron internetowych. Heksadecymalne kody kolorów są zgodne z standardem W3C, co zapewnia ich uniwersalność i spójność w różnych aplikacjach graficznych i interfejsach użytkownika.

Pytanie 23

Kod źródłowy przedstawiony poniżej ma na celu wyświetlenie

Ilustracja do pytania
A. wylosowanych liczb z zakresu od 1 do 99
B. liczb wprowadzonych z klawiatury, aż do momentu wprowadzenia wartości 0
C. ciągu liczb od 1 do 100
D. losowych liczb od 0 do 100, aż do wylosowania wartości 0
Kod źródłowy przedstawiony w pytaniu inicjuje losowanie liczb w przedziale od 0 do 100 i wyświetla je na ekranie aż do momentu wylosowania liczby 0. Taki sposób działania jest możliwy dzięki zastosowaniu pętli while która wykonuje się dopóki warunek w niej zawarty jest spełniony. W tym przypadku warunek ten to różność zmiennej liczba od zera. Funkcja rand(0 100) generuje losowe liczby całkowite z zadanego przedziału. W momencie wylosowania wartości 0 pętla przestaje się wykonywać co skutkuje zakończeniem procesu wyświetlania liczb na ekranie. Tego typu pętle są często używane w programowaniu do tworzenia losowych zdarzeń np. w grach komputerowych gdzie potrzebne jest dynamiczne generowanie wartości. Warto zwrócić uwagę na to że funkcja rand jest standardową funkcją w wielu językach programowania pozwalającą na generowanie losowych liczb co jest przydatne w testowaniu algorytmów w różnych warunkach. Praktyka ta wspomaga proces nauki i doskonalenia umiejętności programistycznych dzięki możliwości symulacji losowych scenariuszy.

Pytanie 24

W PHP, aby przekierować użytkownika na inną stronę internetową, można użyć funkcji

A. upload();
B. require();
C. include();
D. header();
Wybór odpowiedzi wykorzystujących funkcje require(), upload() i include() jest nieprawidłowy z kilku powodów. Funkcja require() służy do dołączania plików do skryptu PHP i jest wykorzystywana głównie do wczytywania zewnętrznych skryptów lub bibliotek, co nie ma nic wspólnego z przekierowaniem użytkownika. W przypadku, gdy plik nie zostanie znaleziony, funkcja ta spowoduje błąd krytyczny, a skrypt zatrzyma działanie, co jest niepożądane w kontekście przekierowań. Podobnie, include() działa na zasadzie dołączania plików, ale w przeciwieństwie do require() nie powoduje krytycznego błędu w przypadku braku pliku; zamiast tego wyświetla ostrzeżenie, co również nie jest odpowiednie w kontekście zarządzania nawigacją użytkownika. Co więcej, funkcja upload() nie istnieje w standardowej bibliotece PHP, co czyni tę odpowiedź całkowicie nieprawidłową. Typowe błędy myślowe prowadzące do takich wniosków mogą obejmować mylenie funkcji związanych z dołączaniem plików z funkcjami zarządzającymi nagłówkami i odpowiedziami HTTP. Ważne jest, aby zrozumieć kontekst użycia każdej funkcji oraz jej przeznaczenie, co wpływa na poprawność techniczną skryptów i działanie aplikacji webowych.

Pytanie 25

Gdzie w dokumencie HTML powinien być umieszczony wewnętrzny arkusz stylów?

A. W sekcji treści strony
B. W sekcji nagłówkowej dokumentu
C. W skrypcie dołączonym do dokumentu
D. W obrębie znacznika, którego dotyczy styl
Wewnętrzny arkusz stylów należy umieścić w części nagłówkowej strony HTML, co oznacza, że powinien być zawarty w znaczniku <head>. Jest to zgodne z zaleceniami standardów W3C, które określają, że nagłówek powinien zawierać metadane oraz inne informacje dotyczące dokumentu. Umieszczając arkusz stylów w sekcji <head>, zapewniamy, że przeglądarka ma dostęp do stylów przed renderowaniem treści strony, co przyczynia się do lepszego doświadczenia użytkownika. Przykładowo, kod CSS umieszczony w <style> w <head> może wyglądać tak: <style> body { background-color: lightblue; } </style>. Taki wewnętrzny arkusz stylów pozwala na łatwe zarządzanie stylem pojedynczej strony bez potrzeby tworzenia osobnych plików CSS. Ponadto, umieszczając style w nagłówku, unikamy problemów z wydajnością, które mogłyby wystąpić, gdyby były one wstrzykiwane w treści strony. Warto również zauważyć, że umieszczanie arkuszy stylów w <head> jest standardową praktyką w tworzeniu responsywnych i semantycznych stron internetowych.

Pytanie 26

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

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

Pytanie 27

Jaką klauzulę należy wykorzystać w instrukcji CREATE TABLE w SQL, by dane pole rekordu <u><strong>pozostawało</strong></u> wypełnione?

A. CHECK
B. DEFAULT
C. NULL
D. NOT NULL
Odpowiedź 'NOT NULL' jest poprawna, ponieważ klauzula ta jest używana w SQL do definiowania, że dane pole w tabeli nie może przyjmować wartości NULL, co oznacza, że musi zawierać jakąś wartość. Użycie klauzuli NOT NULL jest kluczowe w zapewnieniu integralności danych, szczególnie w sytuacjach, gdy brak wartości w danym polu może prowadzić do błędów w logice aplikacji lub nieprawidłowych wyników zapytań. Na przykład, w przypadku tworzenia tabeli dla użytkowników w systemie, pole 'email' powinno być oznaczone jako NOT NULL, aby zapobiec sytuacji, w której użytkownik mógłby zostać dodany bez podania adresu e-mail, co uniemożliwiłoby kontaktowanie się z nim. Dobrą praktyką jest również stosowanie klauzuli NOT NULL tam, gdzie dane są wymagane do poprawnego działania aplikacji. Użycie tej klauzuli jest zgodne z zasadami normalizacji baz danych, które z kolei mają na celu redukcję redundancji i poprawę integralności danych.

Pytanie 28

Jaką instrukcję w JavaScript można uznać za równoważną pod względem funkcjonalności do zaprezentowanej?

Ilustracja do pytania
A. Kod 2
B. Kod 4
C. Kod 3
D. Kod 1
W przypadku analizy niepoprawnych odpowiedzi, ważne jest zrozumienie błędnych koncepcji, które mogą prowadzić do błędnych wniosków. W Kodzie 1 błędnie zastosowano mechanizm else, który prowadzi do tego, że ostatnia operacja jest wykonywana zawsze, gdy żaden poprzedni warunek nie jest spełniony. Może to prowadzić do nieprzewidywalnych wyników, jeśli wartość 'dzialanie' nie pasuje do żadnego z przypadków. Kod 3, z użyciem operatora !=, nie zapewnia prawidłowego działania, gdyż realizuje wszystkie operacje niezależnie od wartości 'dzialanie', co jest sprzeczne z zamiarem instrukcji switch. To powszechny błąd, gdzie brak pełnego zrozumienia logiki warunkowej prowadzi do pomyłek w implementacji. Z kolei, Kod 4 ma poprawną strukturę if-else if, ale różni się od poprawnej odpowiedzi nadmiarem zagnieżdżonych warunków, co może wprowadzać niepotrzebne komplikacje i zwiększać czas wykonania. Zrozumienie błędów w logice warunkowej jest kluczowe do pisania efektywnego i poprawnego kodu, co jest fundamentalne w programowaniu aplikacji o wysokiej niezawodności. Kluczem do unikania takich błędów jest praktyka i głębokie zrozumienie struktury danych oraz logiki w programowaniu.

Pytanie 29

W języku PHP istnieje funkcja, która pozwala na weryfikację, czy dany ciąg stanowi część innego ciągu, to

A. strtok()
B. strlen()
C. trim()
D. strstr()
Funkcja strstr() w języku PHP jest używana do wyszukiwania pierwszego wystąpienia jednego ciągu (substringu) w innym ciągu. Kiedy użyjesz tej funkcji, zwróci ona fragment oryginalnego ciągu, zaczynając od miejsca, w którym znaleziono szukany substring, aż do końca ciągu. Przykładowo, jeśli wywołasz strstr('programowanie w PHP', 'w'), otrzymasz 'w PHP'. Jest to bardzo przydatne, gdy chcemy sprawdzić, czy dany ciąg zawiera inny ciąg, a także uzyskać kontekst, w którym ten substring występuje. W praktyce, strstr() może być używana w sytuacjach takich jak walidacja danych wejściowych, parsowanie tekstu, a także w implementacjach funkcjonalności wyszukiwania. Zastosowanie strstr() jest zgodne z dobrymi praktykami programowania, ponieważ pozwala na efektywne operacje na ciągach tekstowych, przy minimalnym ryzyku błędów, co zwiększa czytelność i utrzymanie kodu.

Pytanie 30

Używając polecenia BACKUP LOG w MS SQL Server, można

A. wykonać całkowitą kopię zapasową
B. wykonać kopię zapasową dziennika transakcji
C. połączyć się z kopią zapasową
D. przeglądać komunikaty wygenerowane w trakcie tworzenia kopii
Pierwsza odpowiedź sugeruje, że polecenie BACKUP LOG może być użyte do wykonania pełnej kopii bezpieczeństwa bazy danych. W rzeczywistości, pełna kopia bezpieczeństwa jest realizowana za pomocą polecenia BACKUP DATABASE, które zgrywa całą bazę danych, w tym wszystkie obiekty i dane. BACKUP LOG dotyczy jedynie dziennika transakcyjnego, co oznacza, że nie jest to odpowiednia odpowiedź. Druga odpowiedź sugeruje, że można zalogować się do kopii bezpieczeństwa, co jest konceptualnie niepoprawne. Kopie zapasowe są plikami, które można przywrócić, ale nie oferują bezpośredniego dostępu do bazy danych. Użytkownik nie może zalogować się do backupu, dopóki nie zostanie przywrócony do instancji SQL Server. Wreszcie, trzecia odpowiedź sugeruje, że BACKUP LOG pozwala na przeczytanie komunikatów wygenerowanych podczas tworzenia kopii. W rzeczywistości, przy tworzeniu kopii zapasowych, komunikaty są rejestrowane w logach serwera, a polecenie BACKUP LOG nie służy do ich przeglądania. Można je jednak monitorować przy pomocy narzędzi do zarządzania SQL Server lub poprzez odpowiednie zapytania do systemowych tabel logów. Dlatego wszystkie te odpowiedzi są błędne w kontekście polecenia BACKUP LOG.

Pytanie 31

Jaką funkcję w języku PHP należy wykorzystać, aby nawiązać połączenie z bazą danych o nazwie zwierzaki?

A. $polacz = db_connect('localhost', 'root','','zwierzaki')
B. $polacz = server_connect('localhost', 'root','','zwierzaki')
C. $polacz = mysqli_connect('localhost', 'root','','zwierzaki')
D. $polacz = sql_connect('localhost', 'root','','zwierzaki')
Odpowiedź $polacz = mysqli_connect('localhost', 'root','','zwierzaki'); jest poprawna, ponieważ używa funkcji mysqli_connect, która jest standardowym sposobem nawiązywania połączenia z bazą danych MySQL w PHP. Funkcja ta pozwala na określenie hosta, użytkownika, hasła oraz nazwy bazy danych, co jest niezbędne do skutecznego nawiązania połączenia. Mysqli jest rozszerzeniem PHP przeznaczonym do pracy z bazami danych MySQL, wprowadzającym nowe funkcjonalności w porównaniu do starszego mysql. Ponadto, mysqli_connect obsługuje zarówno połączenia proceduralne, jak i obiektowe, co daje programistom elastyczność w wyborze stylu programowania. Przykładowo, po poprawnym połączeniu, można wykonywać zapytania do bazy danych w sposób zorganizowany, co sprzyja tworzeniu aplikacji webowych. Należy również pamiętać o dobrych praktykach, takich jak użycie try-catch do obsługi błędów przy nawiązywaniu połączenia, co zapewnia stabilność i niezawodność aplikacji. Stosowanie mysqli jest obecnie zalecane w dokumentacji PHP, a także w praktyce branżowej.

Pytanie 32

To pytanie jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się lub utwórz konto aby zobaczyć pełną treść pytania.

Odpowiedzi dostępne po zalogowaniu.

Wyjaśnienie dostępne po zalogowaniu.


Pytanie 33

W języku PHP instrukcja <i>foreach</i> jest rodzajem

A. pętli, niezależnie od rodzaju zmiennej
B. instrukcji warunkowej, niezależnie od typu zmiennej
C. pętli, przeznaczonej wyłącznie dla elementów tablicy
D. instrukcji wyboru, dla elementów tablicy
Instrukcja <i>foreach</i> w PHP to naprawdę super sprawa, jeśli chodzi o przechodzenie przez elementy tablicy. Dzięki niej można bardzo prosto iterować po wszystkich wartościach, co sprawia, że kod staje się bardziej przejrzysty i zwięzły. Nie trzeba wtedy się martwić o ręczne zarządzanie wskaźnikami tablicy. A dostęp do kluczy i wartości? Proszę bardzo! Na przykład, mając tablicę $fruits = ['jabłko', 'banan', 'czereśnia'], można użyć <i>foreach</i> tak: <code>foreach ($fruits as $fruit) { echo $fruit; }</code>. To wydrukuje nam wszystkie owoce na ekranie. No i warto mieć na uwadze, że <i>foreach</i> działa też z tablicami asocjacyjnymi, co pozwala na przechodzenie przez pary klucz-wartość. Korzystając z tej instrukcji, można pisać lepszy, bardziej zrozumiały kod, a to szczególnie ma znaczenie w większych projektach, gdzie czytelność jest kluczowa dla późniejszego rozwoju i utrzymania kodu.

Pytanie 34

To pytanie jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się lub utwórz konto aby zobaczyć pełną treść pytania.

Odpowiedzi dostępne po zalogowaniu.

Wyjaśnienie dostępne po zalogowaniu.


Pytanie 35

Która z wymienionych funkcji sortowania w języku PHP służy do sortowania tablicy asocjacyjnej według kluczy?

A. ksort()
B. asort()
C. sort()
D. rsort()
Funkcja ksort() w języku PHP jest dedykowana do sortowania tablic asocjacyjnych według ich kluczy. Dzięki zastosowaniu tej funkcji, tablica zostaje uporządkowana w sposób rosnący, co jest szczególnie przydatne, gdy potrzebujemy danych w zorganizowanej formie lub gdy chcemy prezentować je użytkownikowi w logicznej kolejności. Przykładowo, jeśli mamy tablicę asocjacyjną, gdzie klucze reprezentują nazwy produktów, a wartości to ich ceny, użycie ksort() pozwoli nam posortować produkty alfabetycznie. Dobrą praktyką jest stosowanie ksort() w projektach, gdzie istotna jest czytelność i przejrzystość danych, co może mieć wpływ na UX (User Experience) aplikacji. Warto również pamiętać, że jeśli tablica zawiera różne typy kluczy, to sortowanie może prowadzić do nieoczekiwanych wyników. Z tego względu, ksort() jest najlepszym wyborem, gdyż spełnia wymagania standardów sortowania oraz zapewnia zgodność z dobrymi praktykami programistycznymi.

Pytanie 36

W języku CSS istnieje możliwość wstawienia stylów wewnątrz dokumentu HTML, używając znacznika

A. <meta>
B. <head>
C. <body>
D. <style>
Element <style> umożliwia osadzenie stylów CSS bezpośrednio w dokumencie HTML. Jest on umieszczany w sekcji <head> strony, co pozwala na łatwe zarządzanie wyglądem strony bez potrzeby korzystania z zewnętrznych plików CSS. Przykładowo, aby ustawić kolor tła i czcionki dla całej strony, można użyć następującego kodu:<style>body { background-color: lightblue; color: darkblue; }</style>. W ten sposób można szybko zmieniać styl elementów, co jest szczególnie przydatne w prototypowaniu i tworzeniu małych projektów, gdzie nie jest konieczne segregowanie stylów w osobnych plikach. Z punktu widzenia standardów W3C, umieszczanie CSS w sekcji <style> jest zgodne z dobrymi praktykami, zwłaszcza w kontekście wydajności ładowania strony. Należy jednak pamiętać, że dla większych projektów zaleca się korzystanie z zewnętrznych plików CSS, co umożliwia lepszą organizację kodu oraz ponowne użycie stylów w różnych stronach.

Pytanie 37

Jakie znaczniki <header>, <article>, <section>, <footer> są typowe dla języka

A. style="margin-bottom: 0cm;">XHTML 1.1
B. style="margin-bottom: 0cm;">HTML 5
C. HTML 4.01 Transitional
D. style="margin-bottom: 0cm;">HTML 4.01 Strict
Wybierając XHTML 1.1, HTML 4.01 Strict lub HTML 4.01 Transitional, można nie dostrzegać kluczowych różnic między tymi standardami a HTML5. XHTML 1.1 jest bardziej restrykcyjną wersją HTML, która wprowadza zasady XML, co skutkuje tym, że wszystkie elementy muszą być poprawnie zagnieżdżone i zamknięte. Choć XHTML wprowadza pewne nowe możliwości, nie oferuje semantycznych znaczników, które są dostępne w HTML5, co ogranicza jego użyteczność w kontekście nowoczesnych aplikacji webowych. HTML 4.01 Strict i HTML 4.01 Transitional to starsze standardy, które również nie zawierają semantycznych znaczników. Standard Strict wymagał ścisłego przestrzegania reguł HTML, co mogło być uciążliwe dla deweloperów, natomiast Transitional wprowadzał pewne elementy przestarzałe, co nie sprzyjało dążeniu do czystego i nowoczesnego kodu. Użycie starszych standardów skutkuje brakiem możliwości implementacji nowoczesnych funkcji i ogranicza dostępność treści dla użytkowników oraz robotów wyszukiwarek. W związku z tym, opieranie się na tych technologiach jest nieadekwatne w kontekście obecnych wymagań webowych, które preferują semantykę, dostępność i zgodność z nowoczesnymi standardami. Brak zrozumienia ewolucji HTML może prowadzić do błędnych praktyk w tworzeniu stron internetowych, co w dłuższej perspektywie może wpłynąć na ich użyteczność oraz widoczność w wyszukiwarkach.

Pytanie 38

Która z funkcji agregujących dostępnych w SQL służy do obliczania średniej z wartości znajdujących się w określonej kolumnie?

A. MIN
B. SUM
C. COUNT
D. AVG
Funkcja AVG w języku SQL jest wbudowaną funkcją agregującą, która służy do obliczania średniej wartości we wskazanej kolumnie. Oblicza ona średnią arytmetyczną z wartości liczbowych w danej kolumnie, co jest niezwykle przydatne w analizie danych. Na przykład, jeśli mamy tabelę z wynikami sprzedaży, możemy użyć zapytania SQL: SELECT AVG(sprzedaż) FROM tabela_sprzedaży; aby uzyskać średnią sprzedaż. Dobrą praktyką jest stosowanie tej funkcji w połączeniu z klauzulą GROUP BY, co pozwala na obliczenie średnich wartości w różnych grupach danych, na przykład średnia sprzedaż według kategorii produktowej. Przy stosowaniu funkcji AVG warto pamiętać, że ignoruje ona wartości NULL, co wpływa na wynik obliczeń. W kontekście analizy danych w SQL, znajomość takich funkcji jak AVG jest kluczowa dla efektywnego przetwarzania i analizy informacji, co stanowi fundament dobrego zarządzania danymi.

Pytanie 39

Która z metod wyświetlenia tekstu <u><strong>nie jest</strong></u> określona w języku JavaScript?

A. Metoda document.write()
B. Funkcja MessageBox()
C. Funkcja window.alert()
D. Właściwość innerHTML
Każda z podanych odpowiedzi, oprócz Funkcji MessageBox(), jest technicznie poprawna w kontekście języka JavaScript. Własność innerHTML pozwala na manipulację zawartością HTML elementów na stronie, co jest powszechnie stosowane w aplikacjach webowych do dynamicznego aktualizowania treści. Przykład użycia innerHTML: document.getElementById('elementId').innerHTML = '<p>Nowy tekst!</p>'; co zmienia zawartość elementu o określonym identyfikatorze na nowy tekst. Metoda window.alert() jest również powszechnie używana do informowania użytkowników o ważnych informacjach w prosty sposób, chociaż może być uważana za nieco przestarzałą w kontekście nowoczesnego UX. Dobrą praktyką jest unikanie nadmiernego korzystania z alertów, które mogą irytować użytkowników. Metoda document.write() z kolei, choć używana do dodawania treści do strony, jest zalecana do stosowania wyłącznie w kontekście ładowania strony, ponieważ użycie tej metody po załadowaniu strony może prowadzić do nadpisania całego dokumentu, co może być mylące i problematyczne. Dlatego ważne jest, aby zrozumieć kontekst użycia różnych metod JavaScript, aby uniknąć typowych pułapek i poprawić jakość interakcji użytkownika z aplikacjami webowymi.

Pytanie 40

Najłatwiejszym i najmniej czasochłonnym sposobem na przetestowanie funkcjonowania strony internetowej w różnych przeglądarkach oraz ich wersjach jest

A. użycie emulatora przeglądarek internetowych, np. Browser Sandbox
B. skorzystanie z narzędzia do walidacji kodu HTML
C. zainstalowanie na kilku maszynach różnych przeglądarek i przeprowadzenie testu witryny
D. testowanie strony w programie Internet Explorer, zakładając, że inne przeglądarki będą kompatybilne
Wykorzystywanie walidatora języka HTML do testowania witryny w różnych przeglądarkach nie jest wystarczającą metodą. Walidatory są narzędziami, które sprawdzają poprawność kodu HTML pod kątem zgodności ze standardami W3C, ale nie oceniają, jak rzeczywiście strona będzie działać w różnych przeglądarkach. Możliwe jest, że strona przejdzie test walidacji, ale w rzeczywistości może wyświetlać się inaczej w różnych przeglądarkach z powodu różnych silników renderujących. Instalowanie różnych przeglądarek na wielu komputerach również nie jest efektywnym rozwiązaniem, gdyż wymaga znacznych nakładów czasu i zasobów, a także trudności w utrzymaniu aktualizacji i wersji. Testowanie jedynie w programie Internet Explorer, zakładając, że inne przeglądarki będą działać podobnie, jest mylne, gdyż różnice w implementacji standardów HTML, CSS i JavaScript w różnych przeglądarkach mogą prowadzić do nieoczekiwanych błędów. Takie podejście może skutkować poważnymi problemami z użytecznością, a także obniżyć jakość doświadczenia użytkownika. Istnieje zatem ryzyko, że aplikacja webowa nie będzie działać prawidłowo na kluczowych platformach, co w dzisiejszym zróżnicowanym środowisku przeglądarek stanowi istotne zagrożenie dla reputacji i funkcjonalności witryny.