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: 13 lipca 2026 22:49
  • Data zakończenia: 13 lipca 2026 23:09

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Głównym zadaniem systemu CMS jest:

A. konwersja języka obiektowego na strukturalny
B. przyspieszenie projektowania aplikacji desktopowych
C. ułatwienie zarządzania treścią strony internetowej
D. ujednolicenie tematyczne zawartości stron
Pozostałe odpowiedzi nie opisują celu CMS. Przyspieszanie projektowania aplikacji desktopowych dotyczy zupełnie innego rodzaju oprogramowania - CMS służy do stron i serwisów WWW. „Ujednolicenie tematyczne” treści nie jest funkcją CMS: system nie narzuca tego, o czym jest strona, a jedynie ułatwia zarządzanie zawartością. Konwersja języka obiektowego na strukturalny to operacja związana z kompilacją/tłumaczeniem kodu, niemająca związku z zarządzaniem treścią. CMS ułatwia zarządzanie treścią witryny, dlatego ta odpowiedź jest poprawna.

Pytanie 2

Który z poniższych kodów stanowi alternatywę dla kodu umieszczonego w ramce?

Ilustracja do pytania
A. <?php
for($x=1;$x<=55;$x++){echo $x." ";}
?>
B. <?php
for($x=2;$x<=54;$x+=2){echo $x." ";}
?>
C. <?php
for($x=1;$x<=55;$x+=1){echo $x." ";}
?>
D. <?php
for($x=2;$x<=56;$x+=2){echo $x." ";}
?>
W wielu odpowiedziach widać, że nie do końca rozumiesz, jak działają pętle i warunki w PHP. Kod w ramce przyzwoicie wypisuje liczby parzyste od 2 do 54, ale pomija nieparzyste tylko dzięki warunkowi if i continue. Jak masz niepoprawne odpowiedzi, to pojawia się kilka problemów. Na przykład, jak pętla startuje od x=1 i zwiększa x o 1, to wszystkie liczby się drukują, a to nie jest to, co chcesz uzyskać. Zmiana kroku na zwiększanie x o 2 byłaby dobra, ale możesz też mieć za szeroki lub zbyt wąski zakres, tak jak w przypadku, gdy pętla kończy się na 56 zamiast 54. Żeby kod był poprawny, musisz zrozumieć, że każda iteracja musi spełniać konkretny warunek, który rozwiązuje problem. Często mylimy się, myśląc, że drobne zmiany w kodzie, jak zmiana zakresu czy kroku, same z siebie załatwią sprawę. Ważne, żeby przemyśleć, jak zaplanować strukturę pętli i warunków, żeby wszystko działało tak, jak powinno i wykorzystanie zasobów było efektywne.

Pytanie 3

Aby zaimportować plik z danymi SQL do bazy danych MySQL, można użyć narzędzia:

A. TotalCommander
B. Symfony 3
C. phpMyAdmin
D. FileZilla
phpMyAdmin to popularne, dostępne przez przeglądarkę narzędzie do administrowania bazą MySQL/MariaDB. Pozwala tworzyć bazy i tabele, przeglądać i edytować dane, wykonywać zapytania SQL, a także eksportować i importować dane. Import pliku .sql sprowadza się do wybrania bazy, zakładki Import i wskazania pliku - phpMyAdmin wykona zawarte w nim polecenia. Dlatego to właśnie phpMyAdmin służy do zaimportowania pliku z danymi SQL.

Pytanie 4

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

Ilustracja do pytania
A. Lekarze.id = Recepty.id
B. Lekarze.id = Pacjenci.Lekarze_id
C. Lekarze.id = Pacjenci.Recepty_id
D. Lekarze.id = Pacjenci.id
Wybór niepoprawnych odpowiedzi często wynika z błędnego zrozumienia relacji między tabelami w bazie danych. Pierwsza opcja Lekarze.id = Pacjenci.id sugeruje mylne podejście że lekarz i pacjent mogą być tym samym podmiotem co jest sprzeczne z zasadą separacji encji w relacyjnych bazach danych. Taka relacja nie ma logicznego sensu w kontekście medycznym gdzie lekarz to osoba świadcząca usługi zdrowotne a pacjent to osoba je otrzymująca. Podobnie opcja Lekarze.id = Pacjenci.Recepty_id nie jest poprawna gdyż sugeruje bezpośrednią relację między lekarzami a lekami przepisanymi pacjentowi co ignoruje fakt że recepty są osobnymi dokumentami generowanymi w procesie leczenia. Recepty są przypisane do pacjentów ale to lekarze zlecają je poprzez interakcję z pacjentem nie bezpośrednio z receptą. Ostatnia opcja Lekarze.id = Recepty.id sugeruje relację bezpośrednią między lekarzami a receptami z pominięciem pacjentów co jest błędnym uproszczeniem procesu przepisywania leków. W rzeczywistości każda recepta jest wynikiem interakcji między lekarzem a pacjentem i nie istnieje bezpośrednia zależność między lekarzem a receptą. Takie myślenie prowadzi do błędów w projektowaniu struktury bazy danych co może skutkować trudnościami w zarządzaniu danymi i utrzymaniu ich spójności. Zrozumienie prawidłowych relacji między tabelami w bazie danych jest kluczowe dla efektywnego zarządzania informacją i eliminacji błędów w aplikacjach biznesowych.

Pytanie 5

Delegacja domeny to:

A. zmiana nazwy domeny
B. zmiana rejestratora domeny
C. wskazanie zewnętrznych serwerów nazw, które obsługują domenę
D. utrata ważności domeny z możliwością jej odnowienia
Delegacja domeny polega na wskazaniu serwerów nazw (DNS), które odpowiadają za daną domenę - to do nich kierowane są zapytania o jej rekordy (np. adres serwera WWW pod rekordem A). W praktyce w panelu domeny wpisuje się adresy serwerów DNS hostingu, a informacja o nich trafia do nadrzędnej strefy (np. dla domeny rejestru .pl). Dzięki temu, gdy ktoś wpisze adres strony, system DNS „wie”, na które serwery skierować zapytanie i jaki adres IP zwrócić. Dlatego delegacja domeny to umieszczenie informacji o zewnętrznych serwerach obsługujących domenę.

Pytanie 6

Zamieszczony kod HTML formularza zostanie wyświetlony przez przeglądarkę w sposób:

<form>
stanowisko: <input type="text"><br>
obowiązki: <br>
<input type="checkbox" name="obowiazek1" value="1" disabled checked>sporządzanie dokumentacji<br>
<input type="checkbox" name="obowiazek2" value="2" checked>pisanie kodu<br>
<input type="checkbox" name="obowiazek3" value="3">testy oprogramowania<br>
</form>

A.

stanowisko: obowiązki: sporządzanie dokumentacji
pisanie kodu
testy oprogramowania

B.

stanowisko:
obowiązki:
sporządzanie dokumentacji
pisanie kodu
testy oprogramowania

C.

stanowisko:
obowiązki:
sporządzanie dokumentacji
pisanie kodu
testy oprogramowania

D.

stanowisko:
obowiązki:
sporządzanie dokumentacji
pisanie kodu
testy oprogramowania
A. A.
B. C.
C. D.
D. B.
Dokładnie tak powinien wyglądać ten formularz! Zwróć uwagę, jak HTML interpretuje znaczniki <br> – one wymuszają przejście do nowej linii, więc w kodzie wyjściowym każda sekcja obowiązków pojawi się osobno, pod sobą. To, że jeden z checkboxów ma atrybuty disabled oraz checked, powoduje, że jest domyślnie zaznaczony, ale nie można go odznaczyć ani zaznaczyć ponownie – to ważny niuans, bo czasem zapomina się, że disabled nie oznacza tylko „wyszarzony”, ale też „nie bierz udziału w wysyłaniu formularza”. Takie wykorzystanie checkboxów jest powszechne, szczególnie jeśli chcesz pokazać użytkownikowi pewne stałe informacje (np. obowiązek, którego nie można uniknąć). Z mojego doświadczenia, bardzo często w praktycznych projektach „disabled” stosuje się np. przy wymaganych oświadczeniach, gdzie użytkownik ma tylko do wglądu informację, że coś już jest włączone i nie może tego zmienić. No i jeszcze – checked przy pisaniu kodu powoduje, że checkbox jest domyślnie zaznaczony, co jest zgodne z kodem źródłowym. Same nazwy pól (czyli atrybuty name i value) zostaną wysłane do serwera tylko dla tych pól, które nie są disabled i użytkownik je zaznaczył. To też jest bardzo praktyczna rzecz, bo pozwala precyzyjnie sterować tym, co trafia do backendu. Moim zdaniem taka forma zapisu formularza to dobry punkt wyjścia do dalszej rozbudowy – łatwo dodać tutaj walidację, obsługę JavaScript czy zastosować style CSS. Trzymanie się tej składni ułatwia też potem pracę zespołową, bo jest czytelna i zgodna z oczekiwaniami innych programistów. Podsumowując, wybrałeś opcję najbliższą temu, co wyświetli przeglądarka na bazie danego kodu HTML – i to jest podejście zgodne ze standardami, doceniane w branży.

Pytanie 7

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

var text;
for(var i=0; i<tab.length; i++ ){
    text+=tab[i] + "<br>";
}
A. Sprawdzić długość tablicy tab
B. Zainicjować zmienną text
C. Upewnić się, że text jest typu string
D. Zadeklarować zmienną i
Zadeklarowanie zmiennej 'i' przed pętlą nie jest konieczne, ponieważ JavaScript automatycznie deklaruje zmienną 'i' w kontekście pętli. Deklaracja zmiennych przy pomocy 'var', 'let' lub 'const' jest wystarczająca w momencie ich użycia w pętli. Kolejnym aspektem jest sprawdzenie rozmiaru tablicy 'tab'. Choć podjęcie takiego sprawdzenia jest dobrym zwyczajem, nie jest to warunek konieczny do poprawnego działania kodu. Pętla for działa w oparciu o długość tablicy, więc jeżeli tablica jest pusta, pętla po prostu się nie wykona, co nie prowadzi do błędów. Ostatnim punktem jest sprawdzenie, czy 'text' jest typu znakowego. JavaScript jest językiem dynamicznie typowanym, co oznacza, że zmienne mogą przyjmować różne typy danych w trakcie działania programu. Na początku 'text' powinno być inicjalizowane jako pusty łańcuch, ale sprawdzanie jego typu w momencie, gdy jest używane w pętli, nie jest konieczne. Wszystkie powyższe odpowiedzi mogą być postrzegane jako dobre praktyki, ale nie są kluczowymi krokami, które należy wykonać przed rozpoczęciem pętli, aby program działał poprawnie.

Pytanie 8

Na zaprezentowanej tabeli dotyczącej samochodów wykonano zapytanie SQL SELECT

SELECT model FROM samochody WHERE rocznik=2016;
Jakie wartości zostaną zwrócone w wyniku tego zapytania?
Ilustracja do pytania
A. Punto, Corsa, Astra, Corolla, Yaris
B. Fiat, Opel, Toyota
C. Czerwony, grafitowy
D. Punto, Corsa, Corolla
Zapytanie SQL, które podałeś, czyli SELECT model FROM samochody WHERE rocznik=2016, jest zaprojektowane tak, żeby wyciągnąć z tabeli samochody wszystkie modele aut z rocznika 2016. To ogranicza wynik tylko do tych modeli, które spełniają ten właśnie warunek. Patrząc na dostarczoną tabelę, widzimy, że modele z rocznika 2016 to Punto, Corsa i Corolla. Więc z tego zapytania otrzymamy tylko te trzy modele. W realnym świecie, zapytania SQL są mega przydatne przy filtrowaniu danych w bazach. Zrozumienie, jak pisać zapytania SELECT, jest naprawdę ważne, zwłaszcza dla analityków i administratorów. Dobrze jest znać zasady budowania zapytań, żeby były one jasne i precyzyjne, bo to pozwala lepiej zarządzać i analizować dane. Ta wiedza to podstawa w analizie danych, gdzie umiejętność wyciągania odpowiednich informacji jest kluczowa do podejmowania dobrych decyzji biznesowych.

Pytanie 9

Najprostszy sposób przekształcenia obiektu oznaczonego cyfrą 1 w obiekt oznaczony cyfrą 2 to

Ilustracja do pytania
A. narysowanie docelowego obiektu
B. geometryczne transformowanie obiektu
C. zmiana warstwy obiektu
D. animowanie obiektu
Geometria transformacji to niezwykle ważne pojęcie w dziedzinie grafiki komputerowej i projektowania. Polega na zmianie kształtu obiektu za pomocą operacji takich jak skalowanie, obracanie, przesuwanie czy odkształcanie. W kontekście pytania, geometria transformacji umożliwia przekształcenie obiektu oznaczonego cyfrą 1 w obiekt oznaczony cyfrą 2 poprzez zmianę jego kształtu i wielkości. Praktyczne zastosowanie transformacji geometrycznych obejmuje m.in. skalowanie w celu dostosowania rozmiarów obiektów do różnych nośników lub kontekstu wyświetlania. Obracanie jest używane do orientacji obiektów w przestrzeni, co jest niezwykle przydatne w modelowaniu 3D czy animacjach. Dobre praktyki projektowania graficznego zalecają korzystanie z transformacji geometrycznych, aby uzyskać spójną i estetyczną kompozycję. Standardy branżowe często definiują konkretne algorytmy i formaty danych dla transformacji, jak na przykład macierze przekształceń w grafice trójwymiarowej. Zrozumienie i umiejętne zastosowanie tych pojęć pozwala na efektywne tworzenie złożonych struktur wizualnych oraz interaktywnych aplikacji.

Pytanie 10

Jak za pomocą JavaScriptu wyświetlić na stronie bieżącą datę i czas?

A.
echo Date()
B.
innerHTML = Date()
C.
document.write(Date())
D.
echo Date() + Time()
W JavaScripcie aktualną datę i czas zwraca obiekt Date(), a wypisać go na stronie można m.in. metodą document.write(Date()). Zapisuje ona przekazany tekst bezpośrednio do dokumentu. W praktyce częściej używa się przypisania do innerHTML wybranego elementu, ale spośród podanych opcji poprawna jest document.write(Date()).

Pytanie 11

Którego ograniczenia (constraint) użyć do zdefiniowania klucza OBCEGO?

A.
PRIMARY KEY(id)
B.
AUTO_INCREMENT(id)
C.
FOREIGN KEY(id)
D.
UNIQUE KEY(id)
Klucz obcy definiuje ograniczenie FOREIGN KEY, np. FOREIGN KEY(id) - wiąże kolumnę z kluczem głównym innej tabeli, pilnując spójności powiązań. Dlatego klucz obcy tworzy FOREIGN KEY(id).

Pytanie 12

Który zapis CSS ustawi wcięcie PIERWSZEJ linii akapitu na 30 pikseli?

A.
p { line-indent: 30px; }
B.
p { text-indent: 30px; }
C.
p { line-height: 30px; }
D.
p { text-spacing: 30px; }
Wcięcie PIERWSZEJ linii akapitu ustawia właściwość text-indent, więc p { text-indent: 30px; } przesunie początek pierwszego wiersza o 30 pikseli. Dlatego ten zapis jest poprawny.

Pytanie 13

Który zapis wyświetli słowo „TEKST” w kolorze czarnym?

A.
<font color="czarny">TEKST</font>
B.
<font color="#000000">TEKST</font>
C.
<body color="black">TEKST</font>
D.
<body bgcolor="black">TEKST</body>
<body color="black"> jest błędny - <body> nie ma atrybutu color, a znaczniki są niedomknięte. <font color="czarny"> używa polskiej nazwy koloru, której HTML nie rozumie (nazwy są po angielsku lub kodem). <body bgcolor="black"> ustawia kolor TŁA. Czarny tekst daje <font color="#000000">TEKST</font>.

Pytanie 14

Kolor Chartreuse przedstawiony w formie heksadecymalnej jako #7FFF00 odpowiada wartości RGB wynoszącej

A. rgb(128, 255, 0)
B. rgb(64, 255, 0)
C. rgb(192, 255, 0)
D. rgb(127, 255, 0)
Analizując pozostałe odpowiedzi, można zauważyć, że każda z nich nieprawidłowo interpretuje wartości heksadecymalne koloru Chartreuse, co prowadzi do błędnych konwersji na model RGB. Na przykład, odpowiedź z rgb(64, 255, 0) błędnie interpretuje wartość czerwonego odcienia jako 64, podczas gdy w rzeczywistości wartość ta wynosi 127. Błąd ten wynika z nieprawidłowego przeliczenia heksadecymalnej wartości 7F na system dziesiętny, co może być spowodowane błędnym założeniem, że każdy z dwóch symboli heksadecymalnych oznacza jedną z dwóch składowych RGB. Podobnie, odpowiedzi rgb(128, 255, 0) oraz rgb(192, 255, 0) również nie zgadzają się z rzeczywistą wartością, co jest wynikiem niewłaściwego zrozumienia zasady konwersji. Wartości te są zbyt wysokie, co może sugerować, że osoba udzielająca tych odpowiedzi nie miała pełnej wiedzy o systemie kolorów. W praktyce, niepoprawne obliczenia lub pomyłki w konwersji kolorów mogą prowadzić do niezgodności w projektach graficznych, co w efekcie wpływa na estetykę oraz spójność wizualną. Dlatego kluczowe jest zrozumienie, że system heksadecymalny jest oparty na szesnastkowej reprezentacji kolorów, gdzie każdy kolor składa się z trzech wartości: czerwonej, zielonej i niebieskiej, a ich prawidłowe przeliczenie jest podstawą profesjonalnego projektowania.

Pytanie 15

Użytkownik Jan będzie mógł wykonywać

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';
A. jedynie operacje CREATE, ALTER, DROP na tabelach bazy dane.
B. jedynie operacje manipulowania danymi i zmienić jedynie swoje prawa.
C. wszystkie operacje na tabelach bazy dane oraz nadawać prawa innym użytkownikom.
D. wszystkie operacje na tabelach bazy dane.
Wszystkie pozostałe odpowiedzi są niepoprawne z różnych powiedział. Druga odpowiedź sugeruje, że Jan może wykonywać tylko operacje CREATE, ALTER, DROP. Jest to nieprawidłowe, ponieważ otrzymał on pełne uprawnienia do bazy danych, co zdecydowanie wykracza poza te trzy operacje. Trzecia odpowiedź zawiera błędne przekonanie, że Jan może nadawać uprawnienia innym użytkownikom. Pomimo posiadania pełnych uprawnień do bazy danych, nie oznacza to, że ma on możliwość zarządzania uprawnieniami innych użytkowników. Czwarta odpowiedź jest również błędna, twierdząc, że Jan może manipulować danymi i zmieniać tylko swoje uprawnienia. W rzeczywistości, Jan nie ma uprawnień do zmiany swoich własnych uprawnień - to zadanie zazwyczaj spoczywa na administratorze bazy danych. Wszystkie te błędy wynikają z niewłaściwego zrozumienia zarządzania uprawnieniami w bazach danych i roli konstrukcji GRANT. W rzeczywistości, GRANT pozwala na precyzyjne i granularne zarządzanie uprawnieniami, a pełne uprawnienia oznaczają pełną kontrolę nad bazą danych, ale nie nad uprawnieniami innych użytkowników.

Pytanie 16

Aby umożliwić wybór kilku opcji jednocześnie w rozwijanej liście formularza HTML, należy dodać atrybut do znacznika select

Ilustracja do pytania
A. multiple
B. size
C. disabled
D. value
Atrybut multiple w znaczniku select w HTML to super sprawa, bo dzięki niemu można zaznaczyć więcej niż jedną opcję z listy rozwijalnej. To się przydaje, jak ktoś musi wybrać kilka elementów w formularzu. Jak dodasz atrybut multiple, to przeglądarka pokazuje to jako pole do wyboru, gdzie można klikać na kilka wartości za pomocą klawiszy Ctrl albo Shift. Fajnie, że ten atrybut nie wymaga żadnych dodatkowych wartości, wystarczy, że go wrzucisz do znacznika select. To zgodne z dobrymi praktykami UX, bo pozwala na większą elastyczność i interaktywność formularzy. Co więcej, nie trzeba być programistycznym guru, żeby to wdrożyć, więc każdy może to zrobić. Używa się go w różnych aplikacjach webowych, zwłaszcza tam, gdzie zbieranie danych od użytkowników w prosty i przejrzysty sposób jest ważne.

Pytanie 17

Który atrybut <img> trzeba uzupełnić, aby strona była dostępna dla osób NIEWIDOMYCH?

A.
alt
B.
style
C.
src
D.
text
Atrybut alt znacznika <img> zawiera tekst alternatywny opisujący obraz. Czytniki ekranu odczytują go osobom niewidomym, dzięki czemu wiedzą one, co przedstawia grafika - to fundament dostępności (a11y), a także wartość dla SEO. Dlatego uzupełnić trzeba atrybut alt.

Pytanie 18

Aby zadeklarować pole klasy, do którego dostęp mają jedynie metody tej klasy, a które nie jest dostępne dla klas pochodnych, należy użyć kwalifikatora dostępu

A. publiczny
B. publikowany
C. chroniony
D. prywatny
Kluczem jest tu sformułowanie „dostęp mają jedynie metody tej klasy” oraz wykluczenie klas pochodnych. Modyfikator public robi dokładnie odwrotność - otwiera pole na cały program, więc odwoła się do niego każdy kod, łącznie z obcymi klasami; o żadnym ukryciu danych nie ma mowy. Kuszący bywa protected, bo faktycznie ogranicza dostęp, ale o jeden poziom za mało: pole chronione widzą metody tej klasy oraz wszystkich klas dziedziczących, a w pytaniu klasy pochodne mają być właśnie odcięte. „Publikowany” to z kolei pułapka - taki modyfikator dostępu nie występuje w popularnych językach obiektowych (Java, C#, C++, PHP), więc nie ma czego z nim porównywać. Pozostaje private, który zamyka pole w obrębie jednej klasy i jako jedyny spełnia oba warunki: dostęp tylko z metod tej klasy i brak dostępu dla potomków.

Pytanie 19

Aby wykonać kopię zapasową bazy danych w MySQL, jakie polecenie należy zastosować?

A. mysqlreplicate
B. mysqldump
C. mysqlcheck
D. mysqlslap
Polecenie mysqldump jest standardowym narzędziem w systemie MySQL, które służy do tworzenia kopii zapasowych baz danych. Umożliwia on eksportowanie danych oraz struktury wszystkich tabel w postaci pliku tekstowego, co sprawia, że jest niezwykle przydatny przy przeprowadzaniu migracji, aktualizacji lub przywracania danych. Przykładowe użycie mysqldump może wyglądać następująco: 'mysqldump -u użytkownik -p nazwa_bazy_danych > kopia_zapasowa.sql', co tworzy plik o nazwie 'kopia_zapasowa.sql' zawierający wszystkie dane i strukturę wskazanej bazy. Dobrą praktyką jest regularne tworzenie kopii zapasowych, szczególnie przed wprowadzeniem istotnych zmian w schemacie bazy danych lub podczas aktualizacji systemu. Ponadto, mysqldump umożliwia także eksportowanie danych w formacie CSV, co ułatwia ich dalszą analizę lub przeniesienie do innych systemów. Warto także pamiętać, że polecenie to oferuje różnorodne opcje, takie jak --single-transaction, które zapewniają spójność danych podczas tworzenia kopii zapasowej w bazach danych o dużym ruchu.

Pytanie 20

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. części wspólnej.
B. wykluczenia.
C. grupowania.
D. sumy.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno.
Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji.
Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 21

Wskaź na właściwą sekwencję tworzenia aplikacji?

A. Specyfikacja wymagań, analiza potrzeb klienta, tworzenie, wdrażanie, testowanie
B. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, testowanie, wdrażanie
C. Tworzenie, analiza potrzeb klienta, specyfikacja wymagań, wdrażanie, testowanie
D. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, wdrażanie, testowanie
Prawidłowa kolejność tworzenia aplikacji zaczyna się od analizy wymagań klienta, co jest kluczowym etapem, pozwalającym zrozumieć oczekiwania oraz potrzeby użytkowników. Następnie, na podstawie zebranych informacji, sporządzana jest specyfikacja wymagań, która dokładnie opisuje, jakie funkcjonalności i cechy powinna posiadać aplikacja. To dokument, który stanowi fundament dla dalszych prac programistycznych. W kolejnej fazie następuje etap tworzenia, w którym programiści przekształcają specyfikację w kod, implementując wszystkie wymagane funkcje. Po zakończeniu kodowania, aplikacja przechodzi testy, które mają na celu wykrycie błędów oraz weryfikację zgodności z wymaganiami. W końcowej fazie, po przeprowadzeniu testów i eliminacji ewentualnych problemów, aplikacja jest wdrażana, co oznacza jej udostępnienie użytkownikom. Cały proces powinien być zgodny z najlepszymi praktykami oraz standardami, takimi jak Agile czy Scrum, które kładą duży nacisk na iteracyjny rozwój oraz stałą komunikację z klientem, co zwiększa szansę na sukces projektu.

Pytanie 22

Której wartości użyć w CSS, aby obramowanie było linią KRESKOWĄ?

A.
groove
B.
solid
C.
dotted
D.
dashed
Pozostałe wartości dają inny wygląd. solid to linia ciągła, dotted to linia z kropek, a groove daje efekt „wytłoczonej” ramki 3D. Linię z kresek daje wartość dashed.

Pytanie 23

Testy aplikacji webowej, mające na celu ocenę wydajności aplikacji oraz bazy danych, a także architektury serwera i konfiguracji, noszą nazwę testów

A. funkcjonalnych
B. użyteczności
C. kompatybilności
D. bezpieczeństwa
Testy kompatybilności to naprawdę ważna część oceny, czy nasza aplikacja www dobrze działa w różnych środowiskach i na różnych systemach. Gdy myślimy o skalowalności aplikacji oraz baz danych, te testy pomagają sprawdzić, jak aplikacja znosi rosnące obciążenia i jak współpracuje z różnymi bazami danych czy serwerami. Przykładowo, możemy przetestować działanie aplikacji na różnych wersjach systemów operacyjnych lub przeglądarek. W branży sporo ludzi korzysta z takich narzędzi jak Selenium czy QUnit, które pomagają w automatyzacji tych testów. Z mojej perspektywy, te testy powinny być częścią cyklu życia oprogramowania, aby użytkownicy mogli cieszyć się spójnym i niezawodnym doświadczeniem. Zrozumienie testów kompatybilności jest kluczowe, nie tylko dla programistów, ale też dla inżynierów jakości, ponieważ ma to bezpośredni wpływ na to, jak użytkownicy odbierają nasz produkt oraz jego sukces na rynku.

Pytanie 24

W formularzu umieszczono kontrolki do podania imienia oraz nazwiska. Który z atrybutów odpowiada za wyświetlanie sugestii w polu kontrolki, która znika, gdy użytkownik zaczyna wpisywanie wartości?

<label for="imie">Imię: </label> 
<input id="imie" value="Wpisz dane" title="Wpisz imię"><br>
<label for="nazw">Nazwisko: </label>
<input id="nazw" placeholder="Wpisz dane" title="Wpisz nazwisko">
A. placeholder
B. for
C. value
D. title
Atrybut "placeholder" jest kluczowym elementem w formularzach HTML, który definiuje tekst podpowiedzi umieszczony w polu kontrolki. Tekst ten zniknie, gdy użytkownik zacznie wpisywać dane, co pozwala na zapewnienie bardziej intuicyjnego interfejsu. W przypadku przykładowego formularza, atrybut "placeholder" jest użyty w polu nazwiska, co stanowi doskonały przykład jego praktycznego zastosowania. Dobrą praktyką jest stosowanie atrybutu "placeholder" w formularzach, ponieważ wprowadza on klarowność i ułatwia użytkownikom wypełnianie formularzy, jednocześnie zmniejszając ryzyko błędów. Atrybut ten nie tylko poprawia doświadczenia użytkownika, ale także zwiększa dostępność formularzy, ponieważ pozwala osobom korzystającym z czytników ekranu lepiej zrozumieć, jakie dane są wymagane. Warto również zauważyć, że "placeholder" nie powinien być używany jako substytut etykiety, która jest niezbędna do poprawnej dostępności i użyteczności. Etykiety powinny być zawsze stosowane, a "placeholder" powinien pełnić jedynie funkcję pomocniczą.

Pytanie 25

W instrukcji warunkowej języka JavaScript należy zweryfikować sytuację, w której wartość zmiennej a mieści się w zakresie (0, 100), a wartość zmiennej b jest większa od zera. Taki warunek można zapisać w sposób następujący

A. if (a>0 || a<100 || b<0)
B. if ((a>0 && a<100) || b<0)
C. if (a>0 && a<100 && b>0)
D. if ((a>0 || a<100) && b>0)
Wybór odpowiedzi 'if (a>0 && a<100 && b>0)' jest prawidłowy, ponieważ precyzyjnie spełnia określone wymagania zawarte w pytaniu. Warunek ten sprawdza, czy zmienna 'a' mieści się w przedziale od 0 do 100 (wyłączając 0 i 100), a także potwierdza, że zmienna 'b' jest większa od zera. Operator '&&' (AND) jest kluczowy w tym przypadku, ponieważ wymaga spełnienia wszystkich zdefiniowanych warunków jednocześnie. Przykładowo, jeśli mamy zmienne 'a' równe 50 i 'b' równe 10, to warunek zostanie spełniony i kod wewnątrz instrukcji 'if' zostanie wykonany. Zastosowanie takich warunków jest powszechne w programowaniu, zwłaszcza w sytuacjach wymagających walidacji danych, gdzie musimy upewnić się, że wszystkie kryteria są spełnione przed kontynuowaniem dalszych operacji. Standardy kodowania zalecają wykorzystanie prostych i jednoznacznych instrukcji warunkowych, co przyczynia się do lepszej przejrzystości i utrzymywalności kodu. Stosując odpowiednią logikę w warunkach, minimalizujemy ryzyko wystąpienia błędów w logice aplikacji.

Pytanie 26

Jaki wynik daje poniższy kod PHP?

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. jest błędny, ponieważ indeksami tablicy mogą być wyłącznie liczby całkowite
B. definiuje tablicę z trzema wartościami
C. jest niepoprawny, nieznany operator =>
D. określa tablicę zawierającą sześć wartości
Ten kod w PHP pokazuje, jak zdefiniować tablicę asocjacyjną z trzema elementami. To fajna sprawa, bo tablice asocjacyjne pozwalają na użycie kluczy, które nie muszą być tylko liczbami, a mogą być także opisowe, jak w tym przypadku. Klucze to 'imie', 'nazwisko' oraz 'wiek', a ich wartości to odpowiednio 'Anna', 'Nowak' i 21. Operator '=>' służy do przypisywania wartości do klucza - to dość typowa konstrukcja, bo ułatwia organizację danych. Podoba mi się, że tablice asocjacyjne w PHP są przydatne w różnych sytuacjach, na przykład do przechowywania danych użytkowników czy różnych ustawień. W sumie, ważne, żeby dbać o typy danych przypisywanych do kluczy, bo dzięki temu później łatwiej będzie się z nimi pracować. PHP ma dużo funkcji do pracy z tablicami, jak sortowanie czy iteracja, więc na pewno warto to znać.

Pytanie 27

$x = mysql_query('SELECT * FROM mieszkanci'); if (!$x) echo "??????????????????????????????"; W podanym kodzie PHP, w miejscu znaków zapytania powinien wyświetlić się komunikat:

A. Błąd w trakcie przetwarzania zapytania
B. Zapytania zakończono sukcesem
C. Nieprawidłowa nazwa bazy danych
D. Złe hasło do bazy danych
W przedstawionym kodzie PHP mamy do czynienia z próbą wykonania zapytania SQL do bazy danych przy pomocy funkcji mysql_query. Ta funkcja zwraca wartość false, jeśli wystąpił błąd w trakcie przetwarzania zapytania. W kontekście tego kodu, komunikat 'Błąd przetwarzania zapytania.' jest odpowiedni, ponieważ wskazuje, że zapytanie nie zostało poprawnie wykonane. Istotne jest, aby programista zrozumiał, że błędy mogą wynikać z różnych przyczyn, takich jak błędna składnia SQL, problemy z połączeniem do bazy danych lub inne czynniki techniczne. Ważną praktyką jest dodawanie mechanizmów obsługi błędów, które mogą dać więcej informacji na temat problemu, np. użycie mysql_error() do uzyskania szczegółowych informacji o błędzie. Standardy dotyczące programowania w PHP oraz najlepsze praktyki wskazują na konieczność stosowania try-catch dla lepszej kontroli błędów oraz logowania, co może pomóc w diagnozowaniu problemów na etapie produkcyjnym. Warto zaznaczyć, że mysql_query jest przestarzałą funkcją, a obecnie zaleca się użycie mysqli lub PDO do komunikacji z bazą danych, co poprawia bezpieczeństwo i wydajność aplikacji.

Pytanie 28

W poniższym kodzie CSS zdefiniowano cztery klasy formatowania, które następnie zostały użyte do formatowania paragrafów. Efekt widoczny na rysunku powstał po zastosowaniu klasy o nazwie:

.format1 {    text-decoration: overline;     }
.format2 {    text-decoration: line-through; }
.format3 {    text-decoration: underline;    }
.format4 {    text-decoration: none;         }
formatowanie
A. format4
B. format3
C. format1
D. format2
Odpowiedź z klasy format2 jest trafna, bo definiuje styl text-decoration line-through, który służy do przekreślenia tekstu. W CSS ta właściwość jest mega przydatna, bo pozwala zmieniać wygląd tekstu, dodając różne linie, takie jak podkreślenie czy nadkreślenie. Przekreślenie stosuje się często, żeby pokazać, że coś zostało usunięte lub jest już nieaktualne. Na przykład w sklepach online, gdzie można oznaczyć przecenione ceny. Według standardów CSS, warto stawiać na prostotę i czytelność definicji stylów, bo to ułatwia później zrozumienie kodu dla innych programistów. Takie podejście jest zgodne z dobrymi praktykami kodowania, które mówią, że kod powinien być łatwy do zrozumienia. A co ważne, jeśli chodzi o dostępność, to przekreślony tekst jest znany narzędziom wspierającym, jak czytniki ekranowe, co zwiększa dostępność treści dla osób z niepełnosprawnościami.

Pytanie 29

Aby w JavaScript wykonać wymienione kroki, należy w znaczniku <script> umieścić kod

1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikację: ",
    następnie po zatwierdzeniu

2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się
    wartość pobrana z okna "Kwalifikacja: ..."
A. A << prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
B. A = alert("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
C. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
D. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: ".A);
Gratulacje, wybrałeś prawidłową odpowiedź! Kiedy chcemy wykonać interakcje z użytkownikiem poprzez okno dialogowe w JavaScript, używamy funkcji 'prompt()'. Ta funkcja wyświetla okno dialogowe z komunikatem tekstowym, polem do wprowadzania danych i przyciskami OK / Anuluj. Wartość wprowadzona przez użytkownika jest następnie zwracana przez funkcję 'prompt()'. W tym przypadku, używamy funkcji 'prompt()' do pobrania kwalifikacji od użytkownika. Następnie, używamy funkcji 'document.write()' do wyświetlenia zdobytej kwalifikacji na stronie internetowej. Operator '+' jest używany do łączenia łańcuchów znaków (stringów) w JavaScript, co pozwala na połączenie wartości wprowadzonej przez użytkownika z komunikatem 'Kwalifikacja: '. Pamiętaj, że choć 'document.write()' jest łatwym sposobem na wyświetlanie wyników na stronie, jest to metoda zarezerwowana głównie do testowania i debugowania, a nie do użytku produkcyjnego, ze względu na możliwość nadpisania zawartości strony.

Pytanie 30

W języku PHP zapis $b++ jest równoważny zapisowi

A. $b == $b
B. $b = $b + 1
C. $b = $b + $b
D. $b == $b + $b
Zapis $b++ w PHP to tak zwany operator inkrementacji w wersji postfiksowej. Oznacza on zwiększenie wartości zmiennej b dokładnie o 1. W praktyce, po wykonaniu tej instrukcji, b będzie miało wartość b + 1. Dlatego zapis ten jest równoważny instrukcji przypisania $b = $b + 1. Warto zauważyć, że jest to uproszczona, bardziej czytelna forma, bardzo często wykorzystywana w pętlach, np. for ($i = 0; $i < 10; $i++). Właśnie w takim kontekście operator ++ jest praktycznie standardem branżowym i każdy programista webowy powinien go rozumieć bez zastanawiania. Moim zdaniem używanie $b++ zamiast $b = $b + 1 poprawia czytelność kodu, szczególnie gdy mamy dużo operacji na licznikach, indeksach tablic czy licznikach iteracji. Trzeba też pamiętać o różnicy między $b++ a ++$b. W wersji postfiksowej (b++) najpierw zwracana jest stara wartość, a dopiero potem zmienna jest zwiększana. W wersji prefiksowej (++b) najpierw zwiększana jest wartość, a potem zwracany jest już nowy wynik. W prostych przypadkach, takich jak samodzielna linijka $b++; albo $b = $b + 1;, efekt końcowy w zmiennej b jest ten sam. Natomiast w wyrażeniach typu $c = $b++; różnica ma znaczenie. W codziennej pracy z PHP operatory ++ i -- są fundamentem przy pisaniu pętli, prostych algorytmów zliczania, paginacji czy obsługi indeksów w tablicach. Dobra praktyka to stosowanie tych skróconych operatorów tam, gdzie naprawdę chodzi tylko o zwiększenie lub zmniejszenie o 1, bo od razu widać intencję programisty i kod jest bardziej zwięzły, bez zbędnego „szumu”.

Pytanie 31

Który zapis znacznika <meta> jest poprawny w kontekście użytych atrybutów?

A. <meta name = '!DOCTYPE'>
B. <meta title = 'Strona dla hobbystów'>
C. <meta name = 'description' content = 'Masz jakieś hobby? To jest strona dla Ciebie!'>
D. <meta background = blue>
Poprawny zapis znacznika <meta> to <meta name = "description" content = "Masz jakieś hobby? To jest strona dla Ciebie!">. Ten znacznik odgrywa kluczową rolę w SEO, ponieważ pozwala na dostarczenie wyszukiwarkom informacji o treści strony. Atrybut 'name' definiuje typ informacji, którą dostarczamy, w tym przypadku 'description', co pozwala wyszukiwarkom zrozumieć, co znajduje się na stronie. Atrybut 'content' zawiera właściwą treść, która powinna być zwięzła i trafna, aby przyciągnąć użytkowników. Zgodnie z najlepszymi praktykami SEO, opis powinien mieć od 150 do 160 znaków, aby był w pełni widoczny w wynikach wyszukiwania. Poprawne użycie tego znacznika zwiększa szanse na wyższe pozycje w wynikach wyszukiwania oraz poprawia współczynnik klikalności (CTR) poprzez przyciągający opis, który może zachęcić użytkowników do odwiedzenia strony. Zgodność z tymi standardami jest niezbędna dla skutecznej optymalizacji witryn internetowych oraz poprawy ich widoczności w Internecie.

Pytanie 32

O obiekcie zdefiniowanym w języku JavaScript można stwierdzić, że zawiera

var obiekt1 = {
  x: 0,
  y: 0,
  wsp: function() { … }
}
A. trzy właściwości
B. dwie właściwości oraz jedną metodę
C. trzy metody
D. dwie metody oraz jedną właściwość
Odpowiedź, że obiekt w JavaScript ma dwie właściwości i jedną metodę, jest poprawna. Przykład obiektu `obiekt1` zawiera dwie właściwości: `x` i `y`, które są liczbowymi wartościami. Dodatkowo, metoda `wsp` jest poprawnie zdefiniowana jako funkcja, co czyni ją metodą obiektu. W praktyce obiekty w JavaScript służą do grupowania danych i funkcji, co jest przydatne w programowaniu obiektowym. Wprowadzenie do obiektów i ich właściwości oraz metod jest kluczowym elementem zrozumienia, jak JavaScript operuje na danych. Standardowe praktyki zalecają, aby metody były używane do definiowania zachowań obiektów, co jest zgodne z zasadami programowania zorientowanego obiektowo, gdzie obiekt jest zbiorem właściwości i metod, które operują na tych właściwościach. W kontekście dbałości o czystość kodu, warto zwrócić uwagę na stosowanie dobrej nazewnictwa dla metod i właściwości, co zwiększa czytelność i zrozumienie kodu. Przykładowo, jeśli `wsp` miała by reprezentować funkcję obliczającą współrzędne, dobrze by było, aby jej nazwa była bardziej opisowa, na przykład `obliczWspolrzedne`.

Pytanie 33

Który zapis wyświetli obraz kotek.jpg z tekstem alternatywnym „obrazek kotka”?

A.
<img src="/kotek.jpg" title="obrazek kotka">
B.
<img src="/kotek.jpg" alt="obrazek kotka">
C.
<img href="/kotek.jpg" alt="obrazek kotka">
D.
<img href="/kotek.jpg" title="obrazek kotka">
Obraz wstawia się znacznikiem <img>, podając źródło w src i tekst alternatywny w alt: <img src="/kotek.jpg" alt="obrazek kotka">. Dlatego poprawny jest ten zapis.

Pytanie 34

Aby skryptem PHP wstawić do bazy dane z formularza, używasz wywołania:

mysqli_query($zm1, $zm2);
Co należy przekazać w parametrach $zm1 i $zm2?
A. w $zm1 id wiersza, w $zm2 zapytanie INSERT INTO
B. w $zm1 wartość NULL, w $zm2 zapytanie SELECT
C. w $zm1 identyfikator połączenia z bazą, w $zm2 zapytanie INSERT INTO
D. w $zm1 identyfikator połączenia, w $zm2 zapytanie SELECT
Pozostałe odpowiedzi mylą rolę parametrów lub rodzaj zapytania. Dwie z nich w drugim parametrze umieszczają SELECT, który tylko POBIERA dane - do dodania nowego wiersza służy INSERT INTO. Inna jako pierwszy parametr podaje „id wiersza”, podczas gdy mysqli_query() oczekuje tam uchwytu połączenia z bazą. Wariant z NULL w pierwszym parametrze również jest błędny - bez prawidłowego połączenia zapytanie się nie wykona. Poprawnie przekazuje się połączenie w $zm1 i zapytanie INSERT INTO w $zm2.

Pytanie 35

Instrukcja w języku JavaScript

var napis1 = new napisy();
ma na celu
A. stworzenie obiektu napis1 z klasy napisy
B. zadeklarowanie zmiennej napis1 oraz uruchomienie funkcji, która przyjmuje jako argument napis1
C. stworzenie nowej klasy napis1
D. wykonanie metody obiektu napisy
Niepoprawne odpowiedzi bazują na powszechnych nieporozumieniach dotyczących podstaw programowania w JavaScript. Wywołanie metody obiektu napisów nie może być zrealizowane w sposób przedstawiony w pytaniu, ponieważ fragment "var napis1 = new napisy();" nie wskazuje na jakiekolwiek metody, a jedynie na tworzenie nowego obiektu. Istnieje różnica między deklarowaniem obiektu a wywoływaniem jego metod. Również nie ma możliwości, aby zadeklarować zmienną napis1 i jednocześnie wywołać funkcję z jej argumentem w tym kontekście, gdyż zapis ten nie zawiera żadnych funkcji. Kolejna koncepcja dotycząca utworzenia nowej klasy jest błędna, ponieważ "var napis1 = new napisy();" nie tworzy klasy, a instancję obiektu. W praktyce, typowe błędy myślowe związane z tymi odpowiedziami wynikają z mylenia instancji obiektu z definicją klasy. Użytkownicy mogą myśleć, że przypisanie "new napisy()" tworzy klasę, podczas gdy tak naprawdę ta operacja tworzy nowy obiekt z dostępem do metod i właściwości zdefiniowanych w klasie napisy. Ważne jest zrozumienie, że klasy w JavaScript muszą być zdefiniowane wcześniej, aby można było tworzyć ich instancje, co stanowi kluczowy element programowania obiektowego.

Pytanie 36

W tabeli pracownicy zdefiniowano klucz główny jako INTEGER z atrybutami NOT NULL oraz AUTO_INCREMENT. Dodatkowo zdefiniowano kolumny imie oraz nazwisko. W przypadku wykonania poniższej kwerendy SQL wprowadzającej dane, w której pominięto pole klucza, w bazie danych MySQL wystąpi:

INSERT INTO pracownicy (imie, nazwisko) VALUES ('Anna', 'Nowak');
A. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
B. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
C. błąd związany z nieprawidłową liczbą kolumn
D. ignorowanie polecenia, tabela nie ulegnie zmianie
Jak używasz polecenia INSERT w MySQL i masz klucz główny ustawiony jako AUTO_INCREMENT, to system sam zajmie się przydzieleniem nowej, unikalnej wartości dla tego klucza dla każdego nowego rekordu. Kiedy wprowadzasz dane o pracowniku, takie jak imię i nazwisko, to nie musisz martwić się o podawanie wartości klucza głównego. MySQL świetnie to rozumie i dodaje kolejny wolny numer. To jest zgodne z dobrymi praktykami w bazach danych, gdzie klucz główny musi być unikalny dla każdego rekordu, ale niekoniecznie musisz go podawać ręcznie, szczególnie gdy korzystasz z mechanizmu AUTO_INCREMENT. Weźmy na przykład tabelę zamówień – tam każdy nowy wpis automatycznie dostaje unikalny numer zamówienia, co eliminuje ryzyko błędów i ułatwia późniejsze śledzenie danych. Dzięki AUTO_INCREMENT wprowadzanie danych staje się dużo prostsze, a szansa na pomyłki przy manualnym wpisywaniu wartości klucza głównego znacznie maleje.

Pytanie 37

Co wykonuje poniższy fragment kodu w JavaScript?

n = "Napis1";
s = n.length;
A. Przypisze zmiennej s fragment tekstu ze zmiennej n, o długości określonej przez zmienną length
B. Przypisze zmienną n do zmiennej s
C. Przypisze zmiennej s wartość, która odpowiada długości tekstu ze zmiennej n
D. Wyświetli długość tekstu ze zmiennej n
W języku JavaScript właściwość length dla obiektów typu String zwraca liczbę znaków w danym napisie. W przedstawionym fragmencie skryptu zmiennej n przypisano wartość stringa 'Napis1'. Kiedy używamy n.length uzyskujemy długość tego stringa czyli liczbę 6 ponieważ są w nim dokładnie sześć znaków. Następnie tę wartość przypisujemy zmiennej s co oznacza że s przechowuje liczbę 6. Jest to użyteczne w wielu sytuacjach takich jak walidacja danych wejściowych w formularzach sprawdzanie czy dany tekst mieści się w określonych limitach lub po prostu kontrola poprawności danych w procesach biznesowych. Wartość length jest często stosowana w pętlach do iteracji przez każdy znak w stringu lub w operacjach takich jak odcinanie fragmentów tekstu. Praktyka korzystania z length jest standardem w programowaniu webowym i zaliczana jest do dobrych praktyk ponieważ umożliwia łatwą manipulację tekstowymi danymi i kontrolę ich wymiaru co bywa krytyczne zwłaszcza w aplikacjach o dużej skali gdzie efektywność i klarowność kodu mają znaczenie kluczowe.

Pytanie 38

Aby zdefiniować w języku HTML listę nienumerowaną (wypunktowaną), należy użyć znacznika:

A.
<dt>
B.
<dd>
C.
<ul>
D.
<ol>
Listę nienumerowaną (wypunktowaną) tworzy znacznik <ul> (unordered list), a jej kolejne pozycje umieszcza się w <li>. Domyślnie elementy poprzedzane są punktorami. Dla listy numerowanej używa się <ol>. Dlatego listę wypunktowaną definiuje <ul>.

Pytanie 39

W języku SQL przedstawiony warunek jest równoważny warunkowi

liczba >= 10 AND liczba <= 100
A. liczba LIKE '10%'
B. NOT (liczba < 10 AND liczba > 100)
C. liczba BETWEEN 10 AND 100
D. liczba IN (10, 100)
Dobra robota! Twoja odpowiedź jest na pewno poprawna. Warunek 'liczba >= 10 AND liczba <= 100' w SQL oznacza, że musimy znaleźć liczbę, która jest większa lub równa 10 i mniejsza lub równa 100. Można to również zapisać jako 'liczba BETWEEN 10 AND 100', co po prostu definiuje zakres wartości od 10 do 100, łącznie z tymi granicami. Używanie operatorów takich jak BETWEEN jest naprawdę przydatne w SQL, bo ułatwia nam życie przy pisaniu zapytań i sprawia, że łatwiej jest zrozumieć, co ten kod właściwie robi. Fajnie umieć takie rzeczy, bo to naprawdę klucz do efektywnej pracy z bazami danych.

Pytanie 40

Aby uzyskać informacje o środowisku pracy serwera obsługującego PHP, należy skorzystać z funkcji

A.
phpinformation()
B.
phpgetinfo()
C.
php()
D.
phpinfo()
Funkcja phpinfo() po wywołaniu generuje gotową stronę z kompletem informacji o środowisku, w którym działa PHP. Znajdziesz tam wersję interpretera, listę załadowanych rozszerzeń, aktywne ustawienia z pliku php.ini, ścieżki i zmienne środowiskowe oraz dane o serwerze HTTP. Dzięki temu szybko sprawdzisz, czy potrzebny moduł jest dostępny i jak skonfigurowane jest środowisko - to podstawowe narzędzie diagnostyczne przy wdrażaniu i uruchamianiu aplikacji. Wystarczy umieścić w skrypcie wywołanie tej funkcji i otworzyć stronę w przeglądarce. Pamiętaj jednak, by nie zostawiać takiego pliku na działającym serwerze publicznie - ujawnia on szczegóły konfiguracji, które mogą pomóc atakującemu.