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: 11 maja 2026 14:38
  • Data zakończenia: 11 maja 2026 14:47

Egzamin niezdany

Wynik: 15/40 punktów (37,5%)

Wymagane minimum: 20 punktów (50%)

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

Kod

$liczba2 = &$liczba1;
wskazuje, że zmienna $liczba2 jest
A. iloczynem logicznym ze zmienną $liczba1
B. referencją do $liczba1
C. negacją logiczną zmiennej $liczba1
D. wskaźnikiem do $liczba1
Wskaźnik to pojęcie obecne w językach takich jak C/C++, ale w PHP wskaźniki nie są bezpośrednio używane. W PHP mówimy o referencjach, które działają na wyższym poziomie abstrakcji, pozwalając na współdzielenie wartości między zmiennymi bez użycia wskaźników. Twierdzenie, że zmienna \$liczba2 jest wskaźnikiem do \$liczba1, jest błędne, ponieważ PHP nie obsługuje wskaźników w klasycznym rozumieniu. Negacja logiczna oznaczałaby wykorzystanie operatora negacji (!) i zmienienie wartości logicznej zmiennej. W kontekście kodu PHP negacją byłoby użycie wyrażenia typu \"\$liczba2 = !\$liczba1\", co oznacza konwersję wartości na jej przeciwność logiczną. Wreszcie, iloczyn logiczny wymaga użycia operatora koniunkcji (&&) dla dwóch wartości logicznych i nie odnosi się do referencji. Iloczyn logiczny zwraca prawdę tylko wtedy, gdy oba operand są prawdziwe, co w opisie kodu nie ma zastosowania. Każda z tych błędnych interpretacji wynika z mylnego zrozumienia podstawowych mechanizmów języka PHP, które koncentrują się na referencjach jako sposobie efektywnego zarządzania pamięcią i współdzielenia danych.

Pytanie 2

Ogólne tablice służące do przechowywania informacji o ciasteczkach oraz sesjach: $_COOKIE oraz $_SESSION są elementem języka

A. C#
B. PHP
C. JavaScript
D. Perl
Wybór odpowiedzi z języków C#, Perl czy JavaScript może prowadzić do nieporozumień związanych z funkcjonalnościami tych technologii. C# to język programowania ogólnego przeznaczenia, często używany w aplikacjach Windows oraz serwerowych, ale nie oferuje wbudowanej obsługi $_COOKIE i $_SESSION, które są specyficzne dla języka PHP. Perl, jako język skryptowy, również nie ma tych konstrukcji, a jego podejście do zarządzania sesjami i ciasteczkami różni się od tego w PHP, co może prowadzić do błędów w realizacji aplikacji webowych. JavaScript, z drugiej strony, działa głównie po stronie klienta i nie ma bezpośredniego dostępu do superglobalnych tablic, takich jak $_COOKIE, które są zarządzane przez serwer. Chociaż JavaScript może manipulować ciasteczkami przez obiekt document.cookie, nie obsługuje sesji w taki sam sposób jak PHP. W konsekwencji, odpowiedzi te mogą prowadzić do błędnych wniosków o tym, jak zarządzać danymi sesyjnymi i ciasteczkami w kontekście aplikacji webowych, co jest kluczowe dla zapewnienia bezpieczeństwa i poprawności działania aplikacji. Zrozumienie roli PHP w tym kontekście jest niezbędne dla programistów webowych, aby mogli tworzyć funkcjonalne i bezpieczne aplikacje.

Pytanie 3

W skrypcie JavaScript operatory: ||, && są klasyfikowane jako operatorzy

A. arytmetyczne
B. bitowe
C. przypisania
D. logicznymi
Wybierając odpowiedzi z grupy operatorów arytmetycznych, bitowych czy przypisania, można wprowadzić się w błąd, co do funkcji operatorów || i && w JavaScript. Operatory arytmetyczne, takie jak +, -, *, /, służą do wykonywania obliczeń matematycznych na liczbach, a ich zastosowanie jest zupełnie inne niż w przypadku operatorów logicznych. Operator bitowy, jak np. &, działa na poziomie bitów w liczbach binarnych, co również różni się od operacji zwracających wartość logiczną. Z kolei operator przypisania = jest używany do przypisywania wartości zmiennym, co nie ma związku z oceną warunków. Typowe błędy myślowe, które prowadzą do nieprawidłowych odpowiedzi, wynikają z mylenia kontekstu użycia operatorów w programowaniu. Ważne jest, aby rozumieć, w jakim celu stosuje się poszczególne grupy operatorów i jak wpływają one na logikę programu. Przyjmowanie błędnych założeń dotyczących funkcji operatorów może prowadzić do poważnych błędów w kodzie, dlatego zaleca się przyswojenie podstawowych zasad dotyczących różnych operatorów i ich zastosowań w praktyce programistycznej. Znajomość tych różnic jest kluczowa dla realizacji skutecznych i poprawnych programów.

Pytanie 4

W języku JavaScript stworzono zmienną i, która będzie przechowywać wynik dzielenia równy 1, to

A. var i=Number(3/2)
B. var i=parseInt(3/2)
C. var i=parseFloat(3/2)
D. var i=3/2
Wybór pozostałych opcji jest błędny z kilku powodów związanych z typem zwracanej wartości oraz sposobem, w jaki JavaScript obsługuje konwersję typów. Pierwsza z niepoprawnych odpowiedzi, która korzysta z operatora dzielenia 3/2, zwraca wartość 1.5, a następnie wykorzystuje ją w konstrukcji var i=3/2; bez jakiejkolwiek konwersji. Rezultatem jest wartość zmiennoprzecinkowa, co nie odpowiada wymaganiu przechowywania wyniku jako liczby całkowitej. Druga odpowiedź wykorzystuje funkcję Number, co również skutkuje zwróceniem wartości 1.5. Funkcja Number konwertuje każdy argument na typ liczbowy, ale nie zaokrągla go w dół do najbliższej liczby całkowitej, co jest celem tego zadania. Ostatnia z niepoprawnych odpowiedzi, var i=parseFloat(3/2);, również prowadzi do tego samego rezultatu: 1.5. Funkcja parseFloat przekształca argument na liczbę zmiennoprzecinkową, a nie całkowitą, co jest sprzeczne z wymaganiami dotyczącymi uzyskania wyniku 1. W kontekście tego pytania, kluczowe znaczenie ma zrozumienie różnic między tymi funkcjami oraz ich zastosowania w praktyce programistycznej.

Pytanie 5

W języku PHP do zmiennej a przypisano tekst, w którym słowo Kowalski pojawia się wielokrotnie. Aby jednym poleceniem zamienić wszystkie wystąpienia słowa Kowalski na słowo Nowak, trzeba użyć polecenia

A. $a = str_replace('Nowak','Kowalski');
B. $a = str_rep('Kowalski','Nowak',$a);
C. $a = str_replace('Nowak', 'Kowalski',$a);
D. $a = str_replace('Kowalski','Nowak',$a);
Pierwsza odpowiedź jest nieprawidłowa, ponieważ funkcja str_rep nie istnieje w PHP. Wszelkie próby użycia takiego polecenia skutkują błędami, ponieważ PHP nie rozpoznaje tej funkcji. Zrozumienie właściwych nazw funkcji oraz ich składni jest kluczowe w programowaniu, aby uniknąć błędów. W drugiej odpowiedzi, funkcja str_replace została wywołana z niewłaściwymi parametrami, ponieważ brakuje trzeciego argumentu, który jest wymagany do zdefiniowania zmiennej, w której dokonujemy zamiany. Nieprawidłowe podejście do składni funkcji prowadzi do nieefektywnego kodu. Kolejna odpowiedź, w której zamieniamy 'Nowak' na 'Kowalski', także jest błędna, ponieważ nie spełnia celu zamiany wskazanego w pytaniu. Całkowicie odwrotne podejście do problemu może prowadzić do wprowadzenia błędnych danych. Warto zwrócić uwagę, że typowe błędy myślowe, takie jak nieprawidłowe przypisanie argumentów funkcji, mogą wynikać z braku znajomości dokumentacji lub niewłaściwego zrozumienia działania funkcji. Ostatecznie, kluczem do skutecznego programowania jest nie tylko znajomość składni, ale także umiejętność analizy i testowania kodu, co można osiągnąć poprzez praktykę oraz korzystanie z zasobów edukacyjnych.

Pytanie 6

Która z metod komentowania kodu nie jest używana w PHP?

A. <!-- komentarz -->
B. /* komentarz */
C. // komentarz
D. # komentarz
Pierwsze trzy odpowiedzi sugerują metody komentowania, które są rzeczywiście stosowane w PHP, co może prowadzić do zamieszania. Komentarz zaczynający się od znaku '#' jest często używany w innych językach programowania, takich jak Bash czy Python, ale nie jest dozwolony w PHP. Użycie '#' w PHP spowoduje błąd podczas wykonania skryptu, ponieważ interpreter PHP nie rozpoznaje tego znaku jako oznaczenia początku komentarza. Podobnie, komentarz oznaczony jako '//' dla jednoliniowych komentarzy oraz '/* ... */' dla wieloliniowych komentarzy są standardowo stosowane w PHP i pozwalają na tworzenie jasnych oraz zrozumiałych sekcji kodu. Dzięki nim programiści mogą łatwo wprowadzać objaśnienia lub wykluczać fragmenty kodu bez ich usuwania. Użycie dobrze ustrukturyzowanych komentarzy jest kluczowe dla wsparcia przyszłych zespołów developerskich w rozwoju projektów. Ponadto, niepoprawne podejście do komentowania kodu może prowadzić do błędów i nieporozumień w zespole. Komentarze pełnią funkcję dokumentacyjną i powinny jasno opisywać logikę kodu, co jest istotne w kontekście rozwoju oprogramowania, w szczególności w dużych projektach, gdzie wiele osób pracuje nad tym samym kodem. Dlatego ważne jest, aby stosować właściwe metody i unikać potencjalnych pułapek związanych z używaniem niepoprawnych składni komentarzy.

Pytanie 7

Aby przekształcić tekst "ala ma psa" na "ALA MA PSA", konieczne jest zastosowanie funkcji w PHP

A. strstr('ala ma psa')
B. strtolower('ala ma psa')
C. ucfirst('ala ma psa')
D. strtoupper('ala ma psa')
Użycie funkcji strtolower('ala ma psa') prowadzi do błędnych rezultatów, bo ta funkcja zmienia wszystkie litery na małe. W tym pytaniu chcemy mieć cały tekst wielkimi literami, więc to jest totalnie nie na miejscu. Gdybyśmy chcieli znormalizować tekst do małych liter, to tak, wtedy miałoby to sens, na przykład przy wyszukiwaniu. Kolejna odpowiedź, strstr('ala ma psa'), też jest chybiona, bo ta funkcja służy do szukania części ciągu, a nie do modyfikacji liter. Można by tego użyć, żeby sprawdzić, czy konkretne słowo występuje w zdaniu, ale nie do zmiany rozmiaru liter. Ostatnia odpowiedź, ucfirst('ala ma psa'), działa tylko na pierwszą literę ciągu, więc też nie pasuje do tego, co pytanie chce osiągnąć. Ta funkcja jest super przy formatowaniu imion czy tytułów, ale nie w sytuacji, gdy potrzebujemy przekształcić całe zdanie. Takie nieporozumienia pokazują, że warto zrozumieć, które funkcje w PHP najlepiej pasują do danego celu, żeby uniknąć błędów w przyszłości.

Pytanie 8

W języku JavaScript zdefiniowano funkcję potega. Funkcja ta

function potega(a, b = 2) { ... return wynik; }
A. wymaga podania dwóch argumentów przy wywołaniu
B. może być wywołana z jedną wartością
C. nie zwraca wartości
D. nie przyjmuje żadnych argumentów
Odpowiedź 3 jest poprawna, ponieważ funkcja potega w JavaScript została zdefiniowana z jednym parametrem obowiązkowym (a) oraz jednym parametrem opcjonalnym (b) z domyślną wartością wynoszącą 2. Oznacza to, że można ją wywołać z jednym argumentem, a wtedy drugi argument przyjmie wartość domyślną. Taka konstrukcja jest użyteczna w przypadku, gdy chcemy zapewnić elastyczność wywołania funkcji bez konieczności podawania wszystkich argumentów. W praktyce, użycie wartości domyślnych pozwala na tworzenie bardziej zwięzłego kodu i łatwiejsze utrzymywanie funkcji. Standard ECMAScript 2015 (ES6) wprowadził możliwość definiowania wartości domyślnych dla parametrów funkcji, co jest obecnie powszechną praktyką w JavaScript. Dzięki temu programiści mogą lepiej zarządzać przypadkami, w których nie wszystkie dane wejściowe są dostępne, co pozwala na unikanie błędów związanych z nieokreślonymi wartościami i zwiększa efektywność kodu.

Pytanie 9

W języku PHP znajduje się instrukcja pętli umieszczona w ramce. Ile razy zostanie wykonana ta pętla, o ile zmienna kontrolna nie jest zmieniana w jej wnętrzu, a także nie dodano instrukcji przerywającej pętlę, takiej jak break?

Ilustracja do pytania
A. 9 powtórzeń
B. 10 powtórzeń
C. 11 powtórzeń
D. 100 powtórzeń
Pętla for w języku PHP została skonstruowana z trzech części: inicjalizacji zmiennej sterującej $i=10 warunku zakończenia $i<=100 oraz modyfikatora $i+=10. Analizując te elementy widzimy że pętla zaczyna się od wartości 10 i przy każdym przejściu zwiększa $i o 10 aż do osiągnięcia wartości 100 włącznie. Oznacza to że pętla wykona się dla wartości 10 20 30 40 50 60 70 80 90 oraz 100 co daje łącznie 10 powtórzeń. Takie podejście jest efektywne i zgodne z dobrymi praktykami programistycznymi które zakładają wyraźne określenie warunków wejściowych i wyjściowych pętli. W praktyce stosowanie pętli for dla iteracji o znanym zakresie jest preferowane ze względu na swoją przejrzystość i czytelność. Warto też dodać że pętle for są mniej podatne na błędy wynikające z nieodpowiedniego modyfikowania zmiennej sterującej co jest częstym problemem w przypadku pętli while. Przy programowaniu w PHP ważne jest aby zawsze sprawdzać poprawność warunków zapętlających by uniknąć pułapek związanych z nieskończonymi pętlami.

Pytanie 10

W JavaScript metoda Math.random() ma na celu

A. zwrócić liczbę pseudolosową
B. zwrócić liczbę po zaokrągleniu
C. zaokrąglić liczbę do najbliższej większej liczby całkowitej
D. porównać dwie sekwencje znaków
Metoda Math.random() w języku JavaScript jest kluczowym narzędziem do generowania liczb pseudolosowych w zakresie od 0 (włącznie) do 1 (wyłącznie). Oznacza to, że każdorazowe wywołanie tej metody zwraca nową, losową wartość zmiennoprzecinkową, co jest przydatne w wielu zastosowaniach, takich jak tworzenie gier, symulacje, a także w algorytmach generujących dane testowe. Ważne jest, aby pamiętać, że Math.random() nie generuje liczb losowych w sensie statystycznym, lecz wykorzystuje algorytmy deterministyczne do produkcji wartości, co oznacza, że są one przewidywalne, jeśli znany jest stan początkowy. W praktyce, aby uzyskać liczbę losową w określonym zakresie, można zastosować następujący wzór: Math.floor(Math.random() * (max - min + 1)) + min, gdzie 'min' i 'max' to odpowiednio dolna i górna granica zakresu. To podejście jest zgodne z dobrymi praktykami w programowaniu, gdyż pozwala na elastyczne wykorzystanie losowości w aplikacjach.

Pytanie 11

Aby prawidłowo udokumentować linię kodu w języku JavaScript, należy po znakach // wpisać komentarz.

x = Math.max(a, b, c); //
A. w zmiennej x minimalna wartość ze zmiennych a, b, c
B. wybór losowej wartości ze zmiennych a, b i c
C. nieprawidłowe dane.
D. w zmiennej x maksymalna wartość ze zmiennych a, b, c
Wybór odpowiedzi, która sugeruje inne wartości niż maksymalne, wskazuje na pewne błędne zrozumienie działania funkcji Math.max() w JavaScript. Funkcja ta nie generuje losowych wartości ani nie posługuje się pojęciem minimalnej wartości w kontekście porównania podanych argumentów. Przykład, który mówi o "wyborze losowej wartości", wprowadza chaos w logice programowania, ponieważ programy oparte na konkretnych funkcjach matematycznych, takich jak Math.max(), działają w oparciu o zdefiniowane zasady i algorytmy, a nie na losowych wyborach. Z kolei mylenie maksymalnej wartości z minimalną wskazuje na brak zrozumienia podstawowych koncepcji porównywania wartości, co jest fundamentem programowania. Istotne jest, aby każdy programista rozumiał różnicę pomiędzy maksymalnymi a minimalnymi wartościami oraz umiejętność korzystania z odpowiednich funkcji do ich obliczania. Takie nieprawidłowe zrozumienie może prowadzić do błędów w kodzie, co w kontekście większych projektów może skutkować poważnymi problemami z wydajnością i stabilnością aplikacji. Umiejętność klarownego definiowania, co każda linia kodu robi, jest kluczowa w pracy programisty i przyczynia się do sukcesu projektów programistycznych.

Pytanie 12

W języku PHP wykonano poniższą operację. Aby uzyskać wszystkie rezultaty tego zapytania, należy:

$tab = mysqli_query($db, "SELECT imie FROM Osoby WHERE wiek < 18");
A. zastosować pętlę z poleceniem mysqli_fetch_row
B. zaindeksować zmienną tab, tab[0] to pierwsze imię
C. użyć polecenia mysql_fetch
D. wyświetlić zmienną $db
Odpowiedź, która zakłada zastosowanie pętli z poleceniem mysqli_fetch_row, jest poprawna, ponieważ po wykonaniu zapytania do bazy danych za pomocą mysqli_query, otrzymujemy wynik w postaci zestawu rekordów, który musimy przetworzyć. Funkcja mysqli_fetch_row pozwala na iteracyjne pobieranie wierszy z tego zestawu, co jest niezbędne do wyświetlenia wszystkich imion osób, które spełniają warunek wieku poniżej 18 lat. Przykładowy kod do iteracji może wyglądać tak: while($wiersz = mysqli_fetch_row($tab)) { echo $wiersz[0]; } W ten sposób każda iteracja w pętli wyświetli pierwszą kolumnę (imie) z każdego wiersza rezultatu. Tego typu podejście jest zgodne z dobrymi praktykami, ponieważ pozwala na efektywne zarządzanie pamięcią i ogranicza ryzyko przeciążenia systemu, szczególnie w przypadku dużych zbiorów danych. Ważne jest, aby pamiętać, że połączenie z bazą danych i zapytania powinny być zawsze odpowiednio zamykane i zabezpieczane przed atakami, co jest istotne w kontekście bezpieczeństwa aplikacji.

Pytanie 13

Błędy w interpretacji kodu PHP są rejestrowane

A. w dzienniku zdarzeń systemu Windows
B. w logu, o ile odpowiedni parametr jest ustawiony w pliku php.ini
C. w oknie edytora, w którym tworzony jest kod PHP
D. pomijane przez przeglądarkę oraz interpreter PHP
Odpowiedzi, które sugerują inne metody zapisywania błędów interpretacji kodu PHP, są niepoprawne z kilku powodów. Po pierwsze, chociaż system Windows oferuje podgląd zdarzeń, nie jest on wykorzystywany do rejestrowania błędów PHP. PHP działa w swoim własnym kontekście, a wszelkie błędy są specyficzne dla tego języka i jego środowiska uruchomieniowego, a nie dla systemu operacyjnego. Po drugie, zapis błędów w oknie edytora, w którym powstaje kod PHP, jest praktyką niewłaściwą. Edytory kodu, chociaż mogą oferować funkcje podpowiedzi i analizy błędów na żywo, nie są odpowiednie do rejestrowania błędów wykonania, które mogą wystąpić w trakcie działania skryptów. To podejście ograniczałoby również możliwości analizy błędów, które mogą być istotne w późniejszym etapie prac nad projektem. Ostatnia z przedstawionych odpowiedzi, mówiąca o ignorowaniu błędów przez przeglądarkę oraz interpreter PHP, jest niezgodna z zasadami działania PHP. Interpreter PHP zawsze przetwarza błędy, a ich ignorowanie mogłoby prowadzić do poważnych problemów w działaniu aplikacji. Właściwą praktyką jest nie tylko rejestrowanie błędów, ale także ich odpowiednia obsługa, aby zapewnić stabilność i bezpieczeństwo aplikacji.

Pytanie 14

Jakie będzie wynik działania programu napisanego w JavaScript, umieszczonego w ramce, kiedy wprowadzisz wartość 5?

var n, i;
var a = 1;

n = prompt("Podaj n:", "");

for (i=n; i>=2; i--)
    a*=i;

document.write("Wynik ",a);
A. 120
B. 625
C. 125
D. 60
Program jest przykładem prostego algorytmu obliczającego silnię liczby n, którą użytkownik wprowadza za pomocą funkcji prompt. Zmienna a jest inicjalizowana wartością 1 i służy do przechowywania wyniku. Pętla for rozpoczyna się od wartości n i zmniejsza wartość i do 2, za każdym razem mnożąc a przez i. Dla n=5 pętla wykona się pięć razy, obliczając kolejno 5*4*3*2*1, co daje wynik 120. Metoda document.write wyświetla wynik na stronie. Rozumienie mechanizmu działania pętli for i operatora *= jest kluczowe w zrozumieniu algorytmów obliczeniowych używanych w programowaniu JavaScript. Silnia jest podstawowym przykładem algorytmu rekurencyjnego, który można również zaimplementować za pomocą funkcji rekurencyjnej, co jest często stosowane w programowaniu funkcyjnym. Znajomość takich konstrukcji pozwala na tworzenie bardziej zaawansowanych algorytmów przetwarzania danych i optymalizację kodu, co jest cenioną umiejętnością w branży IT.

Pytanie 15

Który zapis w języku JavaScript daje jednakowy rezultat do przedstawionego kodu?

x = 0;
x += 10;
A. x = 0; x++; x = x + 9;
B. x = 10; x = 0;
C. x = 0; x--; x *= 9;
D. x = 10; x = x + 10;
Wybrana przez Ciebie odpowiedź, niestety nie jest zgodna z przykładem kodu przedstawionym na zdjęciu. Wszystkie niepoprawne odpowiedzi zawierają błędny rozumowanie dotyczące operacji na zmiennych w JavaScript. Bardzo częstym błędem jest mylenie operatorów inkrementacji i dekrementacji. Operator '--' w JavaScript zmniejsza wartość zmiennej o 1, a nie zwiększa. Również, operator '*=' jest skrótem dla mnożenia i przypisania wyniku do zmiennej, a nie dla dodawania. Kolejnym błędem jest niezrozumienie przypisania wartości do zmiennej. Instrukcja 'x = 10; x = 0;' przypisuje najpierw wartość 10 do zmiennej 'x', a potem nadpisuje ją wartością 0, co jest niezgodne z kodem na zdjęciu. To są typowe błędy, które prowadzą do niepoprawnych wniosków na temat działania JavaScript. Ważne jest zrozumienie podstawowych operatorów i ich działania, aby uniknąć takich pomyłek. Pamiętaj, że zrozumienie zasad działania języka programowania jest kluczowe dla tworzenia poprawnych i efektywnych kodów.

Pytanie 16

W języku PHP do zmiennej a wprowadzono tekst, w którym wielokrotnie występuje fraza Kowalski. Jakim poleceniem można jednocześnie zamienić wszystkie pojawienia się słowa Kowalski na słowo Nowak w zmiennej a?

A. $a = str_replace('Kowalski', 'Nowak', $a);
B. $a = str_replace('Nowak', 'Kowalski');
C. $a = str_replace('Nowak', 'Kowalski', $a);
D. $a = str_rep('Kowalski', 'Nowak', $a);
Wybór niepoprawnych odpowiedzi wskazuje na niezrozumienie funkcji str_replace w PHP oraz na błędne podejście do wymiany tekstu. Odpowiedź $a = str_replace('Nowak', 'Kowalski'); jest błędna, ponieważ próbuje zamienić 'Nowak' na 'Kowalski', co nie odpowiada zadaniu polegającemu na zamianie 'Kowalski' na 'Nowak'. To pokazuje brak zrozumienia kierunku działania funkcji. Kolejna odpowiedź $a = str_rep('Kowalski', 'Nowak', $a); jest niepoprawna, ponieważ str_rep nie jest właściwą funkcją w PHP. Powoduje to, że kod nie zadziała, co wskazuje na niezrozumienie dokumentacji PHP oraz dostępnych funkcji. Ostatnia niepoprawna odpowiedź $a = str_replace('Nowak', 'Kowalski', $a); zawiera tę samą pomyłkę co pierwsza, gdyż zamiana jest odwrotna do tego, co jest wymagane. Te wybory mogą wynikać z mylnego przekonania, że zamiana tekstu działa w obu kierunkach lub że funkcje mogą być używane z dowolnymi nazwami, co jest nieprawdziwe. W przypadku manipulacji tekstem w PHP, istotne jest zrozumienie dokładnej struktury oraz parametrów funkcji, a także ich funkcjonalności. Dlatego szczególnie ważne jest zapoznanie się z dokumentacją oraz zrozumienie, jak działają funkcje, zanim zostaną zastosowane w praktyce.

Pytanie 17

W podanym kodzie PHP, w miejscu kropek należy umieścić odpowiednią instrukcję

$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");
while ($wiersz = ...................)
    echo "$wiersz[0] $wiersz[1]";
A. mysqli_fetch_array($zapytanie)
B. mysqli_free_result($zapytanie)
C. mysqli_num_fields($zapytanie)
D. mysqli_query($zapytanie)
Funkcja mysqli_fetch_array($zapytanie) jest używana do pobierania wyników zapytania SQL w formie tablicy asocjacyjnej lub indeksowanej. W kontekście podanego kodu, po wykonaniu zapytania SELECT do bazy danych, wyniki są zwracane jako zasób, który musi być przetworzony. Mysqli_fetch_array pozwala na iteracyjne przetwarzanie każdego wiersza z zestawu wyników, co umożliwia dostęp do poszczególnych wartości pól za pomocą indeksów lub kluczy. Jest to przydatne w sytuacjach, gdzie dane muszą być wyświetlane lub przetwarzane w pętli, jak w przykładowym kodzie. Tablica zwracana przez mysqli_fetch_array może zawierać pola zarówno z indeksami numerycznymi, jak i nazwami kolumn, co daje elastyczność w dostępie do danych. Zgodnie z dobrymi praktykami programistycznymi, zawsze należy sprawdzić, czy zapytanie zostało wykonane poprawnie, zanim zacznie się przetwarzać jego wyniki, oraz zwolnić pamięć po zakończeniu przetwarzania wyników. Stosowanie odpowiednich mechanizmów obsługi błędów i zabezpieczeń, takich jak przygotowane zapytania, jest również kluczowe dla bezpieczeństwa aplikacji.

Pytanie 18

Aby uzyskać dane dotyczące środowiska, w którym działa serwer obsługujący PHP, należy użyć funkcji

A. phpgetinfo()
B. phpinformation()
C. php()
D. phpinfo()
Odpowiedzi, które nie są poprawne, wynikają z nieznajomości funkcji PHP oraz ich zastosowania. Funkcja php() nie istnieje w standardowej bibliotece PHP, co czyni ją niepoprawną. Jej podanie sugeruje mylne rozumienie dostępnych funkcji, co może prowadzić do frustracji podczas programowania. Z kolei phpgetinfo() to nazwa, która nie jest zdefiniowana w dokumentacji PHP, co sprawia, że jest to funkcja, której użycie zakończyłoby się błędem. Nazwa ta może sugerować, że ma na celu zdobycie informacji o PHP, ale w rzeczywistości nie istnieje. Wreszcie, phpinformation() również nie jest funkcją obecnie dostępna w PHP. Brak tej funkcji w dokumentacji PHP jest dowodem na to, że nie została ona zaimplementowana przez twórców języka. Wszystkie te niepoprawne odpowiedzi pokazują, jak ważne jest zrozumienie dokumentacji oraz standardów PHP przy tworzeniu aplikacji. Właściwe zrozumienie funkcji i ich zastosowania jest kluczowe dla efektywnego programowania i uniknięcia błędów w kodzie.

Pytanie 19

W formularzu, wartości z pola input o typie number zostały przypisane do zmiennej a, a następnie przetworzone w skrypcie JavaScript w pokazany sposób. Jaki typ będzie miała zmienna x?

var x = parseInt(a);
A. NaN
B. liczbowy, całkowity
C. napisowy
D. zmiennoprzecinkowy
Rzeczywiście, rozumienie tego, jak działa parseInt(), to klucz do ogarnięcia problemów związanych z danymi liczbowymi w JavaScript. Często można spotkać błąd polegający na myśleniu, że parseInt() zwraca liczby zmiennoprzecinkowe, co jest totalnie nieprawidłowe, bo zawsze dostajesz liczbę całkowitą, obcinając część dziesiętną. Inny typowy błąd to oczekiwanie, że dostaniemy NaN, kiedy dane wejściowe to liczby. NaN pojawia się tylko wtedy, gdy string nie zaczyna się od cyfry, a parseInt() nie może nic wyciągnąć. Ważne jest też to, że ta funkcja daje ci liczbę całkowitą, a nie tekst. W praktyce, jeśli nie rozumiesz dobrze konwersji typów, możesz narobić błędów w aplikacjach, co jest istotne, zwłaszcza gdy dokładność danych ma duże znaczenie. Programiści powinni mieć to na uwadze, żeby dobrze zarządzać danymi i unikać zaskakujących rezultatów, co jest zgodne z tym, co mówią najlepsze praktyki w pisaniu kodu. Warto także pamiętać o dodaniu podstawy liczbowej jako drugiego argumentu dla parseInt(), żeby uniknąć pomyłek przy interpretacji danych liczbowych w różnych systemach liczbowych, jak na przykład ósemkowy czy szesnastkowy. To naprawdę wpływa na poprawność działania aplikacji w praktyce.

Pytanie 20

Jakiego języka należy użyć do stworzenia aplikacji internetowej, która działa po stronie klienta?

A. PHP
B. JavaScript
C. Python
D. Perl
Perl jest językiem, który pierwotnie został zaprojektowany do przetwarzania tekstu i automatyzacji zadań systemowych, a jego zastosowanie w kontekście aplikacji internetowych (zwłaszcza po stronie klienta) jest ograniczone. Perl działa głównie po stronie serwera, gdzie jest używany do generowania dynamicznych treści, ale nie ma natywnej obsługi w przeglądarkach internetowych. PHP to język skryptowy zaprojektowany do tworzenia dynamicznych stron internetowych, jednak wykonuje kod po stronie serwera, co oznacza, że nie jest odpowiedni do realizacji zadań wymagających interakcji bezpośrednio w przeglądarkach użytkowników. Jego główną rolą jest komunikacja z bazami danych i generowanie HTML, który jest następnie wysyłany do klienta. Python z kolei, mimo że jest nowoczesnym i wszechstronnym językiem, również najczęściej wykonuje kod po stronie serwera, zwłaszcza w ramach frameworków takich jak Django czy Flask. Chociaż istnieją biblioteki takie jak Brython, które pozwalają na uruchamianie kodu Pythona w przeglądarkach, to nie są one powszechnie stosowane w produkcyjnych aplikacjach internetowych. Dlatego żaden z tych języków nie spełnia wymogu wykonywania aplikacji internetowej po stronie klienta, podczas gdy JavaScript pozostaje jedynym standardem w tej dziedzinie.

Pytanie 21

Po uruchomieniu poniższego kodu PHP na ekranie ukaże się bieżąca data w formacie:

echo date("Y-m");
A. dzień, miesiąc, rok
B. dzień oraz rok
C. rok oraz miesiąc
D. tylko rok
Odpowiedź "rok i miesiąc" jest prawidłowa, ponieważ funkcja date() w PHP, kiedy wykorzystujemy format "Y-m", zwraca datę w formacie roku, np. 2023, oraz miesiąca w postaci dwucyfrowej, np. 09 dla września. Warto zrozumieć, że format "Y" generuje czterocyfrowy rok, natomiast "m" generuje dwucyfrowy miesiąc. To podejście jest często wykorzystywane w aplikacjach webowych do prezentacji dat w sposób zrozumiały dla użytkowników, a także do grupowania danych według miesięcy w bazach danych. Przykładowo, w systemach raportowania finansowego, często wykorzystuje się ten format do agregacji danych sprzedażowych według miesięcy, co ułatwia analizę wyników. Użycie odpowiednich standardów w formacie daty wspomaga utrzymanie spójności i czytelności danych w różnych systemach informatycznych.

Pytanie 22

Skrypt PHP wyświetla aktualny czas w formacie godzina:minuta:sekunda, na przykład 15:38:20. Czas w tym formacie zostanie uzyskany dzięki funkcji

A. date("G:m:s");
B. time("G:m:s");
C. time("H:i:s");
D. date("H:i:s");
Wybór time("H:i:s") jako metody zwracającej aktualny czas w pożądanym formacie jest błędny, ponieważ funkcja time() nie formatuje daty ani czasu. Zamiast tego, time() zwraca czas w postaci znacznika czasu (timestamp) – liczby sekund, które upłynęły od 1 stycznia 1970 roku, co jest znane jako Unix Epoch. Dlatego wywołanie time("H:i:s") nie zadziała, ponieważ ta funkcja nie akceptuje parametrów formatujących. Kolejną nieprawidłową odpowiedzią jest date("G:m:s"). Chociaż funkcja date() jest stosowana do formatowania czasu, pole 'G' zwraca godziny w 24-godzinnym formacie, ale bez wiodących zer (tak jak 'H'), co może prowadzić do niepoprawnego wyświetlania godzin mniejszych niż 10. Dodatkowo, 'm' odnosi się do miesięcy, a nie minut, co czyni to podejście błędnym we wszystkich aspektach. Wreszcie, w odpowiedzi time("G:m:s") ponownie pojawia się problem ze zrozumieniem funkcji time(), która nie jest używana do formatowania czasu, a zamiast tego służy tylko do uzyskania znacznika czasu. Typowe błędy myślowe związane z tymi odpowiedziami obejmują mylenie funkcji do pozyskiwania danych z funkcjami do ich formatowania oraz niepełne zrozumienie składni i możliwości dostępnych funkcji PHP. Rekomenduje się zawsze dokładne zapoznanie się z dokumentacją PHP oraz praktyczne testowanie funkcji w różnych scenariuszach, aby lepiej zrozumieć ich zastosowanie i ograniczenia.

Pytanie 23

Jeżeli zmienna $x zawiera dowolną dodatnią liczbę naturalną, to przedstawiony kod źródłowy PHP ma na celu wyświetlenie:

$licznik = 0;
while ($licznik != $x)
{
    echo $licznik;
    $licznik++;
}
A. liczb wprowadzanych z klawiatury, aż do momentu wprowadzenia wartości x
B. losowych liczb z zakresu (0, x)
C. kolejnych liczb od 0 do x-1
D. kolejnych liczb od x do 0
Odpowiedzi błędne wynikają z niepoprawnej interpretacji działania pętli i warunku zakończenia. Pierwszym błędnym rozumowaniem jest wniosek że pętla wyświetla kolejne liczby wstecz od x do 0. W kodzie $licznik jest inkrementowany co oznacza że wartości rosną a nie maleją. To często spotykany błąd gdyż może się wydawać że warunek różności sugeruje zbliżanie się do zera zamiast do wartości $x. Kolejnym błędnym założeniem jest błędne zrozumienie że kod wczytuje wartości z wejścia aż do osiągnięcia $x. Kod nie używa funkcji do wczytywania danych od użytkownika takich jak np. fgets() w związku z czym nie można tutaj mówić o interakcji z użytkownikiem. Ostatnia błędna odpowiedź sugeruje losowanie liczb co jest nieprawidłowe gdyż w kodzie nie występuje żaden mechanizm generowania liczb losowych np. poprzez rand(). Warto tutaj zauważyć że pętla while jest jedną z podstawowych struktur sterujących i zrozumienie jej poprawnego działania jest kluczowe dla programowania w każdym języku. Dobór odpowiedniego warunku zakończenia i modyfikacji zmiennej kontrolnej to podstawy które pomagają uniknąć błędów logicznych w kodzie.

Pytanie 24

W języku JavaScript rezultat wykonania polecenia zmienna++; będzie identyczny jak polecenia

A. zmienna --;
B. zmienna+=1;
C. zmienna===zmienna+1;
D. zmienna=zmienna+10;
W języku JavaScript operator inkrementacji '++' zwiększa wartość zmiennej o 1. Zapis 'zmienna++' jest równoważny z 'zmienna += 1', ponieważ obydwa polecenia prowadzą do tej samej końcowej wartości zmiennej. Operator '+=' to skrót, który dodaje wartość po prawej stronie operatora do aktualnej wartości zmiennej. Warto nadmienić, że 'zmienna++' działa w trybie post-inkrementacji, co oznacza, że zwraca pierwotną wartość przed inkrementacją, podczas gdy '++zmienna' działa w trybie pre-inkrementacji, zwracając wartość po inkrementacji. Przykładowo, jeśli zmienna wynosi 5, to po zastosowaniu 'zmienna++' jej nowa wartość stanie się 6, a jej wartość zwracana to 5. Zastosowanie operatora '+=' jest zgodne z ECMAScript, standardem, na którym oparty jest JavaScript. Użycie tych operatorów jest powszechne w programowaniu, zwłaszcza w iteracjach i obliczeniach. Przykładając to do praktyki, w kodzie można zobaczyć takie zastosowanie: let x = 5; x++; console.log(x); // wypisze 6, a let y = 5; y += 1; console.log(y); // również wypisze 6.

Pytanie 25

Globalne zmienne do przechowywania informacji o ciasteczkach oraz sesjach: $_COOKIE oraz $_SESSION stanowią część języka

A. PHP
B. Perl
C. JavaScript
D. C#
Odpowiedzi C# i JavaScript są niewłaściwe, ponieważ te języki programowania nie posiadają natywnej obsługi dla $_COOKIE oraz $_SESSION, które są specyficzne dla PHP. C# jest językiem wykorzystywanym głównie w kontekście aplikacji webowych ASP.NET, gdzie zarządzanie stanem sesji odbywa się w zupełnie inny sposób, zazwyczaj przy użyciu obiektów typu SessionState, które są zintegrowane z serwerem. Użycie ciasteczek w C# wymaga od programisty ręcznego zarządzania headerami HTTP i cookie, co może być bardziej złożone i wymagające. Z kolei JavaScript, będący językiem skryptowym działającym po stronie klienta, nie ma bezpośredniego dostępu do sesji serwera ani nie operuje na $_COOKIE, które są mechanizmem PHP. JavaScript może korzystać z ciasteczek, ale jego zastosowanie w zakresie utrzymywania sesji jest ograniczone, ponieważ nie oferuje on zarządzania stanem aplikacji na poziomie serwera. W rzeczywistości, programiści mogą mylić rolę ciasteczek i sesji, sądząc, że oba mechanizmy są identyczne, podczas gdy różnią się one w kontekście przechowywania i bezpieczeństwa danych. Właściwe zrozumienie tych różnic jest kluczowe dla efektywnego projektowania aplikacji webowych, dlatego ważne jest, aby odnosić się do odpowiednich dokumentacji i standardów dla każdego z używanych języków.

Pytanie 26

Jaki jest cel poniższego fragmentu funkcji w JavaScript?

wynik = 0;
for (i = 0; i < tab.length; i++)
{
    wynik += tab[i];
}
A. obliczyć sumę wszystkich elementów tablicy
B. przypisać do każdego elementu tablicy bieżącą wartość zmiennej i
C. dodać stałą wartość do każdego elementu tablicy
D. wyświetlić wszystkie pozycje w tablicy
Podczas analizowania niepoprawnych odpowiedzi warto skupić się na zrozumieniu działania pętli oraz operatora przypisania dodającego +=. Pierwsza z omawianych odpowiedzi sugeruje że kod dodaje do każdego elementu tablicy stałą wartość. Jest to błędne rozumienie operatora += który po lewej stronie ma zmienną a po prawej wartość którą dodajemy do tej zmiennej. W tym przypadku tab[i] jest dodawane do zmiennej wynik co wskazuje na zliczanie a nie modyfikację elementów tablicy. Druga odpowiedź sugeruje że kod wyświetla elementy tablicy. Jednak brak tutaj jakiejkolwiek funkcji wyjściowej takiej jak console.log() która mogłaby wyświetlić wartości w konsoli. Kod skupia się na operacji wewnętrznej a nie na interakcji wyjściowej. Trzecia odpowiedź sugeruje że do każdego elementu tablicy jest wprowadzana aktualna wartość zmiennej i. Jest to również błędne ponieważ nie ma tutaj żadnej operacji przypisania wartości do tablicy. Zmienna i jest jedynie indeksem używanym do iteracji i nie wpływa na zmianę wartości tablicy. Wszystkie te nieporozumienia wynikają z błędnej interpretacji działania pętli oraz operacji arytmetycznych w kodzie. Kluczowe jest zrozumienie jak pętla działa aby poprawnie przypisać operację do odpowiedniego kontekstu w programie.

Pytanie 27

W języku PHP, podczas pracy z bazą danych MySQL, aby zakończyć sesję z bazą, powinno się użyć

A. mysqli_close()
B. mysqli_exit( )
C. mysqli_rollback()
D. mysqli_commit()
Odpowiedź 'mysqli_close()' jest poprawna, ponieważ ta funkcja służy do zamykania połączenia z bazą danych MySQL w PHP. Po zakończeniu operacji na bazie danych ważne jest, aby zwolnić zasoby, zwłaszcza w aplikacjach, które mogą otwierać wiele połączeń. Funkcja ta nie przyjmuje żadnych argumentów i jest niezwykle istotna, aby uniknąć wycieków pamięci oraz zapewnić, że wszystkie zasoby są odpowiednio zarządzane. Przykładowo, po zakończeniu wykonywania skryptu, który pobiera dane z bazy, można użyć mysqli_close($connection), gdzie $connection jest wcześniej utworzonym połączeniem. Zgodnie z najlepszymi praktykami programistycznymi, powinno się zamykać połączenia w momencie, gdy nie są już potrzebne. Należy również pamiętać, że pozostawienie otwartego połączenia może prowadzić do ograniczenia liczby dostępnych połączeń w serwerze MySQL, co w dłuższej perspektywie może wpływać na wydajność aplikacji.

Pytanie 28

Po wykonaniu przedstawionego kodu PHP, w zmiennej $napis zostaje zapisany ciąg znaków.

$napis = "Programowanie w PHP";
$napis = substr($napis, 3, 5);
A. gramo
B. gr
C. ogram
D. og
W przypadku analizy funkcji substr() kluczowe jest zrozumienie jak działają indeksy i jak funkcja operuje na ciągach znaków. Przyjmowanie błędnych założeń co do indeksowania jest częstym błędem wśród programistów zwłaszcza u początkujących. Indeksy w PHP zaczynają się od zera co oznacza że pierwszy znak ciągu ma indeks 0 drugi ma indeks 1 i tak dalej. W podanym kodzie użyta jest funkcja substr() z parametrami 3 i 5 co oznacza że zaczynamy od czwartego znaku i wycinamy pięć znaków. Niepoprawne odpowiedzi mogą wynikać z braku uwzględnienia indeksowania od zera lub błędnej interpretacji długości wycinka. Przy wyborze odpowiedzi 'og' czy 'ogram' można podejrzewać pomyłkę w zrozumieniu jak działa długość wycinka oraz gdzie dokładnie zaczyna się wycinanie. Może to wynikać z błędnego wyobrażenia jak indeksy przypisują się do liter w danym ciągu. Ważne jest aby dokładnie śledzić jak indeksy przyporządkowują się do liter co pozwala na bardziej precyzyjne operowanie na napisach. Funkcja substr() jest jedną z podstawowych w PHP i jej zrozumienie jest niezbędne do efektywnego manipulowania ciągami znaków. Przy pracy z danymi tekstowymi warto stosować dobre praktyki w zakresie czytelności kodu oraz odpowiedniego nazywania zmiennych co pozwala unikać nieporozumień i zwiększa czytelność kodu.

Pytanie 29

W jakiej technologii niemożliwe jest przetwarzanie danych wprowadzanych przez użytkownika na stronie WWW?

A. PHP
B. CSS
C. JavaScript
D. AJAX
PHP, AJAX i JavaScript to technologie, które mają zdolność do przetwarzania danych użytkownika wprowadzanych na stronach WWW. PHP jest językiem skryptowym po stronie serwera, który może obsługiwać dane użytkowników z formularzy, przetwarzać je, a następnie zwracać odpowiedzi do klienta. Dzięki PHP można na przykład zbierać dane z formularzy rejestracyjnych, walidować je i przechowywać w bazach danych. AJAX, będący technologią asynchronicznego przetwarzania danych, pozwala na komunikację z serwerem bez potrzeby przeładowywania strony. Dzięki AJAX użytkownicy mogą wprowadzać dane w formularzach i otrzymywać na bieżąco odpowiedzi z serwera, co poprawia interaktywność aplikacji internetowych. JavaScript, jako język skryptowy po stronie klienta, umożliwia manipulację danymi wprowadzanymi przez użytkowników i wykonuje walidację danych w czasie rzeczywistym. Przykładowo, JavaScript może kontrolować poprawność danych w formularzach przed ich wysłaniem na serwer, co zapobiega błędom i zwiększa użyteczność aplikacji. Dlatego, w przeciwieństwie do CSS, te technologie są kluczowe dla przetwarzania i interakcji z danymi użytkowników, co sprawia, że są niezbędne w nowoczesnym web developmencie.

Pytanie 30

W języku PHP wykorzystano funkcję ```is_float()```. Które z poniższych wywołań tej funkcji zwróci rezultat true?

A. is_float(NULL)
B. is_float('3,34')
C. is_float(334)
D. is_float(3.34)
Funkcja is_float() w PHP to coś, co naprawdę warto znać, bo sprawdza, czy dana wartość jest liczbą zmiennoprzecinkową. Na przykład, jak wywołasz is_float(3.34), to dostaniesz true, bo 3.34 to faktycznie float. W programowaniu ważne jest, żeby poprawnie rozróżniać różne typy danych, bo inaczej mogą być problemy przy obliczeniach. W finansach czy modelowaniu danych, dobór typów danych to kluczowa sprawa, bo chcemy, żeby nasze obliczenia były precyzyjne. Warto wiedzieć, że w PHP liczby zmiennoprzecinkowe działają według standardu IEEE 754, co czasem może powodować zaskoczenia przy dużych albo bardzo małych liczbach. Dlatego lepiej używać funkcji is_float() do sprawdzania danych wprowadzanych przez użytkowników, żeby nie wkradały się błędy, które mogą popsuć nasze obliczenia.

Pytanie 31

Kod PHP z fragmentem ```if(empty($_POST["name"])){ $nameErr = "Name is required"; }``` służy do obsługi

A. sesji
B. ciasteczek
C. formularza
D. bazy danych
Fragment kodu nie dotyczy sesji, ponieważ sesje w PHP są zarządzane poprzez funkcje takie jak session_start() oraz zmienne superglobalne $_SESSION, które przechowują dane użytkownika w trakcie sesji. Odpowiedź sugerująca, że kod ten odnosi się do ciasteczek, jest również błędna, ponieważ ciasteczka są zarządzane przez nagłówki HTTP i funkcje takie jak setcookie(), a nie przez bezpośrednie sprawdzanie zawartości formularza. Co więcej, fragment kodu nie ma związku z bazą danych; interakcja z bazą danych w PHP zazwyczaj odbywa się poprzez funkcje takie jak mysqli_query() lub PDO. Typowym błędem myślowym w wskazywaniu na sesje czy ciasteczka jest mylenie kontekstu, w jakim dane są przetwarzane. W tym przypadku, kod koncentruje się wyłącznie na walidacji danych z formularza, a pominięcie tego aspektu prowadzi do nieprawidłowych konkluzji. Poprawne zrozumienie roli walidacji formularzy jest kluczowe dla zapewnienia, że aplikacja działa zgodnie z oczekiwaniami użytkownika oraz zachowuje wysokie standardy bezpieczeństwa.

Pytanie 32

W deklaracji w języku JavaScript:```var x=true;``` zmienna x przyjmuje typ

A. wyliczeniowym
B. logicznym
C. liczbowym
D. ciąg znaków
Odpowiedź logicznego jest poprawna, ponieważ w języku JavaScript wyrażenie `var x = true;` przypisuje do zmiennej `x` wartość typu boolean, która jest jednym z dwóch stanów: `true` lub `false`. Typ boolean jest kluczowym elementem programowania, służącym do wykonywania logiki warunkowej, co jest niezbędne w większości aplikacji. Na przykład, używając warunków if-else, możemy podejmować decyzje na podstawie wartości boolean. W praktyce, po przypisaniu `x`, możemy używać go w instrukcjach warunkowych, jak w poniższym przykładzie: `if (x) { console.log('X jest prawdą'); } else { console.log('X jest fałszem'); }`. Ponadto, dobrym standardem jest oznaczanie zmiennych typem boolean poprzez użycie prefiksów, jak `is` lub `has`, co poprawia czytelność kodu. Wspieranie logiki programowania przy użyciu typów prostych jest kluczowe w inżynierii oprogramowania, co czyni tę wiedzę istotną.

Pytanie 33

Która z poniższych funkcji PHP służy do ładowania pliku z serwera?

A. parse_str()
B. include()
C. echo()
D. mysqli_connect()
Funkcja <code>mysqli_connect()</code> w PHP jest używana do nawiązywania połączenia z bazą danych MySQL. Jej głównym celem jest umożliwienie komunikacji między skryptem PHP a serwerem baz danych, co jest kluczowe w aplikacjach webowych, które potrzebują przechowywać i pobierać dane. Ta funkcja nie ma jednak nic wspólnego z ładowaniem plików z serwera, co jest zadaniem funkcji <code>include()</code>. Funkcja <code>echo()</code> służy do wyświetlania tekstu lub wartości zmiennych na stronie internetowej. Jest to podstawowe narzędzie do generowania dynamicznej zawartości w PHP, ale nie ma możliwości ładowania plików. Jest to bardziej odpowiednik wyjścia niż narzędzie do manipulacji plikami. Funkcja <code>parse_str()</code> konwertuje ciąg zapytania URL na zmienne PHP. Jest przydatna, gdy chcemy przekształcić dane w formacie URL do użytku w skrypcie PHP, jednak jej zastosowanie jest zupełnie inne niż ładowanie plików. Często używana w kontekście przetwarzania danych GET, ale nie ma związku z ładowaniem struktury zewnętrznych plików. Wybór tych funkcji jako potencjalnych odpowiedzi może wynikać z nieporozumienia odnośnie ich zastosowań, ale każda z nich pełni inną, specyficzną rolę w PHP.

Pytanie 34

Aby zweryfikować ustawienia w pliku php.ini, można wykonać skrypt PHP, który zawiera polecenie

A. <?php echo phpversion(); ?>
B. <?php ini_set(); ?>
C. <?php phpinfo(); ?>
D. <?php phpcredits(); ?>
Pomimo że inne funkcje podane w odpowiedziach mogą być użyteczne w różnych kontekstach, nie są one odpowiednie do wyświetlania pełnych ustawień konfiguracyjnych PHP. Funkcja ini_set(), na przykład, służy do dynamicznego zmieniania ustawień konfiguracyjnych w czasie działania skryptu, ale nie dostarcza informacji o aktualnych wartościach tych ustawień. Można ją użyć do modyfikacji konfiguracji, ale nie do ich przeglądania, co czyni ją nieodpowiednią do omawianego zadania. Ponadto, echo phpversion() zwraca jedynie wersję PHP, co jest zbyt ograniczone, aby zapewnić pełny przegląd środowiska konfiguracyjnego. Z kolei phpcredits() wyświetla informacje o wkładzie programistów PHP i nie ma związku z konfiguracją systemu, przez co również nie spełnia wymagań związanych z pytaniem. Często programiści mogą mylić te funkcje, zakładając, że są one w stanie dostarczyć kompleksowych informacji o ustawieniach PHP. Kluczowe jest zrozumienie różnic między tymi funkcjami i umiejętność zastosowania ich w odpowiednich kontekstach, co jest niezbędne do efektywnego zarządzania aplikacjami PHP.

Pytanie 35

W języku PHP zapisano fragment kodu działającego na bazie MySQL. Jego zadaniem jest wypisanie

$z = mysqli_query($db, "SELECT ulica, miasto, kod_pocztowy FROM adresy");
$a = mysqli_fetch_row($z);
echo "$a[1], $a[2]";
A. ulicy i miasta z pierwszego zwróconego rekordu.
B. ulicy i miasta ze wszystkich zwróconych rekordów.
C. miasta i kodu pocztowego z pierwszego zwróconego rekordu.
D. miasta i kodu pocztowego ze wszystkich zwróconych rekordów.
Brawo, wybrałeś prawidłową odpowiedź. Twój fragment kodu PHP wykonuje zapytanie SQL, które wybiera kolumny 'ulica', 'miasto', 'kod_pocztowy' z tabeli 'adresy'. Następnie używasz funkcji mysqli_fetch_row(), która pobiera pierwszy zwrócony rekord jako indeksowaną tablicę. Funkcja echo wyświetla drugi i trzeci element tej tablicy (indeksy 1 i 2), które odpowiadają kolumnom 'miasto' i 'kod pocztowy'. To jest standardową praktyką w PHP, aby uzyskać dane z pierwszego zwróconego rekordu. Możesz zastosować tę wiedzę do tworzenia skomplikowanych zapytań SQL lub do tworzenia różnego rodzaju aplikacji webowych, które potrzebują interakcji z bazą danych.

Pytanie 36

Jaki jest efekt działania programu w JavaScript?

var osoba = prompt("Podaj imię", "Adam");
A. otwarcie okna z polem do edycji, w którym znajduje się domyślny tekst "Adam"
B. przypisanie do zmiennej osoba wartości "Adam"
C. uzyskanie z formularza wyświetlonego na stronie HTML imienia "Adam"
D. pojawi się okno z pustym polem do edycji
Kod var osoba = prompt('Podaj imię' 'Adam') używa funkcji prompt która jest specyficznym mechanizmem w JavaScript. Funkcja ta nie przypisuje bezpośrednio wartości Adam do zmiennej osoba w sposób jawny ale prezentuje użytkownikowi okno dialogowe z domyślną wartością. To okno dialogowe zawiera pole tekstowe które umożliwia edycję przez użytkownika. Użytkownik może pozostawić sugerowaną wartość Adam lub ją zmienić wprowadzając dane. W przypadku gdy użytkownik kliknie anuluj zmienna osoba zostanie ustawiona na null. Z tego powodu odpowiedź sugerująca bezpośrednie przypisanie wartości do zmiennej nie jest poprawna. Koncepcja pobrania imienia z formularza HTML również jest błędna ponieważ nie jest to forma interakcji z formularzem a z oknem dialogowym. Formularze HTML mają swoją własną strukturę i sposób manipulacji danymi który różni się od metody używanej w przypadku prompt. Kolejnym błędnym założeniem jest twierdzenie że okno dialogowe jest puste. Prompt oferuje możliwość podania domyślnej wartości co zostało zrealizowane w przykładzie poprzez umieszczenie Adama jako drugiego argumentu funkcji. Zrozumienie różnic w działaniu funkcji JavaScript oraz ich ograniczeń jest kluczowe w projektowaniu efektywnych interfejsów użytkownika na stronach internetowych. Programiści powinni być świadomi standardów i dobrych praktyk związanych z używaniem różnych metod interakcji w aplikacjach webowych by zapewnić optymalne doświadczenia użytkownika i kompatybilność z nowoczesnymi przeglądarkami internetowymi. Funkcje takie jak prompt są wygodne lecz ich użycie wymaga zrozumienia kontekstu i potencjalnych ograniczeń bezpieczeństwa oraz kompatybilności z przeglądarkami które mogą wpływać na sposób ich obsługi w bardziej złożonych aplikacjach webowych. Dlatego nowoczesne rozwiązania często korzystają z bardziej złożonych mechanizmów jak formularze HTML z dynamicznymi stylami i skryptami które pozwalają na większą kontrolę i elastyczność w interakcji z użytkownikiem.

Pytanie 37

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

A. <!-- -->
B. //
C. #
D. /* */
Komentarz wieloliniowy w języku PHP jest oznaczany przez symbole '/*' na początku oraz '*/' na końcu. Tego typu komentarze pozwalają na umieszczanie dłuższych opisów lub wyjaśnień w kodzie, co jest szczególnie przydatne w przypadku bardziej złożonych fragmentów. Przykładowo, jeśli mamy funkcję, która wykonuje skomplikowane obliczenia, można użyć komentarza wieloliniowego, aby szczegółowo opisać, co ta funkcja robi oraz jakie są jej wejścia i wyjścia. W dobie pracy zespołowej i dbałości o dokumentację kodu, stosowanie komentarzy do wyjaśnienia celów, metod i ograniczeń kodu jest dobrą praktyką. Dzięki temu, programiści, którzy będą pracować z danym fragmentem kodu w przyszłości, będą mieli pełniejsze zrozumienie jego działania. Używanie komentarzy wieloliniowych w PHP jest zgodne z najlepszymi praktykami programistycznymi, sprzyja utrzymaniu porządku w kodzie oraz ułatwia jego późniejsze modyfikacje.

Pytanie 38

Jaki będzie rezultat po uruchomieniu podanego skryptu?

class Owoc {
    function __construct() {
        echo "test1";
    }
    function __destruct() {
        echo "test2";
    }
}
$gruszka = new Owoc();
A. Pojawi się jedynie tekst „test1”
B. Nie pojawi się żaden tekst
C. Pojawią się oba teksty: „test1” i „test2”
D. Pojawi się wyłącznie tekst „test2”
Dobra robota! Odpowiedź, którą wybrałeś, jest właściwa. Jak tworzysz obiekt klasy Owoc, to naprawdę wywołujesz metodę __construct(), która zajmuje się tym, żeby obiekt był gotowy do działania. W tym przypadku, gdy to się dzieje, na ekranie pojawia się 'test1'. Ale warto też pamiętać, że kiedy skrypt kończy swoje działanie albo obiekt jest usuwany, wtedy uruchamia się metoda __destruct(), która wypisuje 'test2'. Więc kiedy tworzysz obiekt $gruszka, to na konsoli najpierw zobaczysz 'test1', a później, po zakończeniu działania skryptu, jak np. przeładowujesz stronę, dostaniesz 'test2'. To całkiem fajnie pokazuje, jak ważne jest zrozumienie, jak działają obiekty w PHP i co się z nimi dzieje przez cały czas. Wiesz, że znajomość tych mechanizmów to klucz do sukcesu, szczególnie w większych projektach, gdzie zarządzanie różnymi zasobami ma znaczenie dla wydajności.

Pytanie 39

Które spośród poniższych zdań dotyczących definicji funkcji umieszczonej w ramce jest prawidłowe?

function czytajImie(){
var imie=null;
do{
imie=prompt("podaj imie: ");
if(imie.length<3) alert("wprowadzony tekst jest niepoprawny");
}while(imie.length<3);
}
A. Funkcja zawiera pętlę, która powtarza się 3 razy
B. Wczytywanie tekstu zakończy się, gdy tekst będzie się składał przynajmniej z 3 znaków
C. Tekst będzie odczytywany do chwili, gdy podana zostanie liczba większa niż 3
D. Pętla wykona się tylko jeden raz
W analizowanej funkcji głównym celem jest zapewnienie, że użytkownik wprowadza imię o odpowiedniej długości. Pętla do while jest strukturą sterującą stosowaną, gdy chcemy, aby blok kodu wykonał się co najmniej raz przed sprawdzeniem warunku. W tym przypadku pętla nie wykona się tylko raz, ponieważ warunek jest taki, że imię musi mieć co najmniej trzy znaki długości. Błędne zrozumienie logiki mogłoby wynikać z myślenia, że pętla zawsze kończy się po pierwszym wykonaniu, co jest nieprawidłowe w kontekście tej funkcji. Odnośnie twierdzenia, że funkcja posiada pętlę powtarzającą się trzy razy, jest ono nieprawdziwe, ponieważ liczba iteracji nie jest stała i zależy od danych wejściowych użytkownika. Często mylne jest założenie, że pętle mają z góry określoną liczbę iteracji, podczas gdy w rzeczywistości często kończą się na podstawie zdefiniowanego warunku logicznego. Wreszcie, opcja mówiąca o wczytywaniu tekstu do momentu podania liczby większej niż 3 błędnie interpretuje warunek pętli. Warunek mówi o długości wprowadzonego tekstu, a nie o jego wartości liczbowej. Często błędnie zakłada się, że każdy warunek logiczny odnosi się do wartości liczbowych, co w tym przypadku prowadzi do nieporozumienia. Zrozumienie, jak działają warunki logiczne i pętle kontrolne, jest kluczowe w programowaniu, ponieważ pozwala to na tworzenie bardziej elastycznego i dynamicznego kodu, który odpowiednio reaguje na różne dane wejściowe.

Pytanie 40

Wskaź komentarz, który zajmuje wiele linii, w języku PHP?

A. / /
B. #
C. <!-- -->
D. /* */
Komentarze wieloliniowe w języku PHP są definiowane za pomocą znaków '/*' na początku i '*/' na końcu bloku tekstu, co pozwala na umieszczanie komentarzy obejmujących wiele linii. Tego rodzaju komentarze są niezwykle przydatne w sytuacjach, gdy chcemy opisać bardziej złożone fragmenty kodu, jak również w celu wyłączenia większych sekcji kodu podczas debugowania. Komentarze wieloliniowe są zgodne ze standardem PHP, co czyni je preferowanym rozwiązaniem w wielu projektach programistycznych. Przykład użycia: /* To jest komentarz komentarz wieloliniowy w PHP */. W odróżnieniu od komentarzy jedno-liniowych, które są ograniczone do jednej linii (używając // lub #), komentarze wieloliniowe umożliwiają umieszczanie dłuższych opisów. Ważne jest, aby używać komentarzy z umiarem, aby kod pozostał czytelny i zrozumiały dla innych programistów oraz dla przyszłych wersji projektu.