Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 27 kwietnia 2026 08:16
  • Data zakończenia: 27 kwietnia 2026 08:34

Egzamin zdany!

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

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

Zaprezentowano tabelę stworzoną za pomocą kodu HTML, bez zastosowania stylów CSS. Który z poniższych fragmentów kodu HTML odnosi się do pierwszego wiersza tabeli?

Ilustracja do pytania
A. C
B. B
C. D
D. A
W przypadku odpowiedzi A zastosowano znaczniki <td> co jest błędną praktyką dla nagłówków tabeli. Znaczniki <td> służą do definiowania zwykłych komórek danych a nie komórek nagłówkowych. Użycie <td> w nagłówkach pozbawia tabelę odpowiednich walorów semantycznych co utrudnia jej późniejsze stylizowanie oraz dostępność. W odpowiedzi B użyto znacznika <i> jako części nagłówków co jest nieoptymalne ponieważ znacznik ten semantycznie oznacza zmianę tonu lub stylu i nie jest przeznaczony do formatowania komórek tabeli. Oznacza to że formatowanie takie może być odebrane jako nieodpowiednie przez czytniki ekranowe co dodatkowo wpływa na dostępność. Natomiast w odpowiedzi C zastosowano znacznik <center> wewnątrz <td> co jest przestarzałą techniką HTML oraz nie jest zalecane we współczesnym tworzeniu stron internetowych. Znacznik <center> został zdeprecjonowany w HTML 4.01 i nie powinien być używany ponieważ jego funkcjonalność można osiągnąć za pomocą CSS. Wszystkie te podejścia pomijają aspekty semantycznego tworzenia stron internetowych co jest kluczowe dla utrzymania prawidłowej struktury dokumentu oraz dostępności dla użytkowników z różnymi potrzebami.

Pytanie 2

Dostępna jest tabela programisci, która zawiera pola: id, nick, ilosc_kodu, ocena. Pole ilosc_kodu wskazuje liczbę linii kodu stworzonych przez programistę w danym miesiącu. W celu obliczenia łącznej liczby linii kodu napisanych przez wszystkich programistów, należy zastosować poniższe polecenie

A. SELECT MAX(ilosc_kodu) FROM programisci;
B. SELECT SUM(ilosc_kodu) FROM programisci;
C. SELECT COUNT(programisci) FROM ilosc_kodu;
D. SELECT SUM(ocena) FROM ilosc_kodu;
Pierwsza z niepoprawnych odpowiedzi wykorzystuje funkcję SUM() w połączeniu z kolumną 'ocena', co jest błędne, ponieważ pole 'ocena' nie jest związane z liczbą linii kodu napisanych przez programistów. Ocena jest zazwyczaj stosowana do oceny jakości pracy, a nie do mierzenia ilości kodu. Kolejna odpowiedź, która sugeruje użycie COUNT() z kolumną 'ilosc_kodu', jest również niewłaściwa, ponieważ funkcja COUNT() zlicza wiersze, a nie sumuje wartości w kolumnie. Zatem, użycie COUNT() zwróciłoby liczbę programistów, a nie całkowitą liczbę linii kodu. Ostatnia z odpowiedzi wywołuje funkcję MAX() w relacji do kolumny 'ilosc_kodu', co również jest błędne w kontekście pytania. Funkcja MAX() zwraca najwyższą wartość w danej kolumnie, a nie sumę wszystkich wartości. Dlatego te odpowiedzi nie odpowiadają na pytanie o sumę linii kodu, a ich stosowanie prowadzi do błędnych wyników oraz może wprowadzać w błąd podczas analizy danych.

Pytanie 3

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

A. graficzną.
B. urzędową.
C. techniczną.
D. audiowizualną.
W tym pytaniu sedno sprawy leży w zrozumieniu, do kogo jest kierowana dana dokumentacja i jaki ma cel. Kod programu z komentarzami oraz opisem algorytmów i metod to materiał przeznaczony głównie dla osób technicznych: programistów, inżynierów, czasem administratorów. To nie jest dokument tworzony z myślą o promocji, urzędach czy użytkownikach końcowych, tylko o tych, którzy będą kod czytać, modyfikować, optymalizować. I właśnie dlatego klasyfikuje się go jako dokumentację techniczną. Częsty błąd polega na myleniu rodzaju dokumentacji z formą jej prezentacji. Dokumentacja graficzna kojarzy się z rysunkami, diagramami, makietami interfejsu, layoutem strony, może z mockupami w Figmie. Oczywiście w dokumentacji technicznej mogą występować elementy graficzne, jak diagram UML czy schemat sieci, ale sam fakt użycia grafiki nie zmienia jej charakteru – nadal opisuje techniczne aspekty systemu, a nie jest osobnym typem dokumentacji „graficznej” w sensie odpowiedzi z pytania. Podobnie jest z dokumentacją urzędową. Ten termin odnosi się raczej do pism, umów, decyzji administracyjnych, regulaminów czy formalnych protokołów. To dokumenty, które mają znaczenie prawne lub administracyjne, a nie techniczne. Kod z komentarzami i opisem algorytmów nie służy do załatwiania spraw w urzędzie, tylko do utrzymania i rozwoju oprogramowania. Mylenie tych pojęć wynika często z tego, że słowo „urzędowa” brzmi poważnie, ale w informatyce ma zupełnie inne znaczenie niż „techniczna”. Jeśli chodzi o dokumentację audiowizualną, to tutaj też łatwo się pomylić, bo wiele materiałów szkoleniowych ma formę wideo, screencastów czy nagrań z prezentacji. Tyle że nagranie wideo, nawet bardzo szczegółowe, to tylko forma przekazu. Gdyby opis algorytmu był nagrany na filmie, dalej mówilibyśmy o treści technicznej, a nie o „dokumencie audiowizualnym” w sensie klasyfikacji użytej w tym teście. W pytaniu chodziło o typ merytoryczny dokumentacji, a nie o to, czy coś jest obrazkiem, filmem czy tekstem. Z mojego doświadczenia typowy błąd przy takich zadaniach to skupianie się na słowie, które kojarzy się „ładnie” albo brzmi nowocześnie, zamiast zastanowić się, kto będzie z tej dokumentacji korzystał i co dokładnie ona opisuje. Jeśli materiały opisują strukturę kodu, algorytmy, metody, interfejsy – prawie zawsze mówimy o dokumentacji technicznej, niezależnie od tego, czy jest ona w PDF, na wiki, w komentarzach w kodzie, czy nawet nagrana jako film instruktażowy.

Pytanie 4

Który z elementów jest opcjonalny w kodzie HTML5 i jego pominięcie nie spowoduje wygenerowania błędu lub ostrzeżenia walidatora HTML?

A. <meta name="keywords" content="">
B. <!DOCTYPE html>
C. <html lang="pl">
D. <title>Tytuł strony</title>
To pytanie bardzo dobrze pokazuje różnicę między elementami wymaganymi przez specyfikację HTML5 a tymi, które są tylko dodatkowymi informacjami. Wiele osób myli tu pojęcie „często używany” z „obowiązkowy” i stąd biorą się błędne odpowiedzi. Deklaracja <!DOCTYPE html> w HTML5 jest kluczowa, bo informuje przeglądarkę, że ma interpretować dokument w trybie standardowym, zgodnie z HTML5, a nie w jakimś starym „quirks mode”. Jeśli ją pominiesz, walidator HTML będzie zgłaszał problemy, a przeglądarka może zacząć zachowywać się nieprzewidywalnie. To nie jest tylko formalność – brak doctype potrafi rozwalić działanie CSS-ów, szczególnie w starszych przeglądarkach. Dlatego w dobrych praktykach tworzenia stron WWW doctype jest zawsze na samym początku dokumentu. Podobnie element html z atrybutem lang, np. <html lang="pl">, jest bardzo ważny z punktu widzenia dostępności (WCAG, ARIA). Określenie języka dokumentu pomaga czytnikom ekranu i narzędziom asystującym poprawnie odczytywać treść. Walidatory HTML potrafią zgłaszać ostrzeżenia, gdy lang jest pominięty, bo to narusza dobre praktyki i wytyczne dotyczące dostępności. W nowoczesnych projektach webowych brak lang jest traktowany jako błąd jakościowy, nawet jeśli strona „jakoś działa”. Znacznik <title> w sekcji head też nie jest dowolny. Tytuł dokumentu jest wymagany przez specyfikację HTML, a jego brak może generować ostrzeżenia walidatora. Dodatkowo wpływa on na to, jak strona jest prezentowana w karcie przeglądarki, w historii, w zakładkach oraz w wynikach wyszukiwania. Z mojego doświadczenia brak tytułu to sygnał, że ktoś po prostu zaniedbuje podstawy semantyki HTML. Element meta name="keywords" jest inny od poprzednich. To tylko dodatkowy metatag, który nie wpływa na strukturę dokumentu, nie jest wymagany przez standard i obecnie nie ma realnego znaczenia dla SEO. Typowy błąd myślowy polega na tym, że skoro „kiedyś wszyscy kazali go wpisywać”, to musi być obowiązkowy. W HTML5 to po prostu opcjonalna ciekawostka. Właśnie dlatego jedynie jego pominięcie nie spowoduje błędów ani ostrzeżeń walidatora, natomiast ignorowanie doctype, lang czy title jest wbrew dobrym praktykom tworzenia stron WWW i standardom branżowym.

Pytanie 5

Jaką właściwość należy zastosować w kodzie CSS, aby ustawić czcionkę Verdana?

A. font-family: Verdana;
B. font-style: Verdana;
C. font-weight: Verdana;
D. font-name: Verdana;
Aby ustawić czcionkę Verdana w CSS, musisz użyć właściwości 'font-family'. To taka właściwość, która pozwala na określenie czcionek stosowanych w twoim dokumencie. W tym przypadku, chodzi o 'Verdana'. Jak przeglądarka znajdzie tę czcionkę w systemie użytkownika, to ją użyje. Na przykład, taki kod CSS może wyglądać tak: 'body { font-family: Verdana; }'. Warto pamiętać, że dobrze jest podać też inne czcionki na wypadek, gdyby Verdana nie była dostępna. Można to zrobić, wpisując alternatywy, jak w 'font-family: Verdana, Arial, sans-serif;'. Wtedy, jeżeli 'Verdana' nie jest dostępna, przeglądarka przejdzie do 'Arial', a jak ta też nie, to sięgnie po jakąś standardową czcionkę bezszeryfową. Z moich doświadczeń wynika, że stosowanie właściwości 'font-family' jest kluczowe dla stylu strony, bo poprawia to czytelność i jej ogólny wygląd.

Pytanie 6

W jaki sposób należy ustawić monitor, aby były spełnione zasady ergonomicznej pracy przy stanowisku komputerowym?

A. Górna krawędź ekranu powinna znajdować się nieco poniżej poziomu oczu użytkownika.
B. Monitor powinien być tak ustawiony, by kąt między płaszczyzną monitora, a linią patrzenia na jego środek mieścił się w granicy 80° ÷ 90°.
C. Monitor powinien stać ekranem do okna w celu ograniczenia odblasków i refleksów świetlnych.
D. Dla osób praworęcznych monitor powinien stać z prawej strony, a dla leworęcznych z lewej strony stanowiska komputerowego. 
W ergonomii stanowiska komputerowego łatwo skupić się na pojedynczych intuicyjnych pomysłach, które na pierwszy rzut oka brzmią sensownie, ale po dokładniejszej analizie okazują się po prostu niezgodne z dobrą praktyką. Typowy przykład to ustawianie monitora ekranem do okna „żeby nie było odblasków”. W realnych warunkach takie ustawienie zwykle kończy się tym, że na ekran pada silne światło dzienne, pojawiają się kontrasty, odbicia i refleksy, a użytkownik instynktownie zwiększa jasność monitora do maksimum. Oczy wtedy szybciej się męczą, trudniej odczytać drobny tekst, a po dłuższej pracy pojawia się uczucie „piasku pod powiekami”. Standardy BHP zalecają raczej, by okno znajdowało się z boku stanowiska pracy, a nie bezpośrednio za monitorem ani przed nim. Inne nieporozumienie to pomysł, że ustawienie monitora zależy od tego, czy ktoś jest prawo-, czy leworęczny. Z ergonomicznego punktu widzenia monitor powinien być ustawiony centralnie przed użytkownikiem, tak aby linia patrzenia biegła prosto, bez konieczności ciągłego skręcania szyi. Ręczność ma znaczenie przy ustawieniu myszy, klawiatury czy dokumentów papierowych, ale nie przy położeniu ekranu. Jeżeli monitor stoi wyraźnie z boku, kark jest stale skręcony, co po kilku godzinach pracy dziennie przez miesiące czy lata bardzo niekorzystnie wpływa na kręgosłup szyjny. Pojawia się też czasem przekonanie, że ekran powinien być niemal prostopadły do linii patrzenia, czyli że kąt między płaszczyzną monitora a kierunkiem wzroku ma być bliski 90°. W praktyce człowiek patrzy lekko w dół, a monitor bywa delikatnie odchylony do tyłu, żeby poprawić czytelność obrazu i zmniejszyć odbicia. Sztywne trzymanie się wartości 80–90° ignoruje naturalną pozycję ciała i zalecenia ergonomiczne, które mówią raczej o dopasowaniu ekranu do użytkownika, a nie odwrotnie. Typowy błąd myślowy polega tu na potraktowaniu prostych kątów jako „idealnych” tylko dlatego, że są matematycznie ładne, a nie dlatego, że odpowiadają fizjologii człowieka. Podsumowując, prawidłowe ustawienie monitora opiera się na naturalnej pozycji oczu i kręgosłupa: ekran na wprost, górna krawędź nieco poniżej poziomu oczu, brak bezpośredniego światła z okna na ekran i odległość dopasowana do wielkości monitora. Reszta „magicznych zasad” zwykle wynika z uproszczeń albo z prób rozwiązania jednego problemu kosztem stworzenia kilku kolejnych.

Pytanie 7

ALTER TABLE artykuły MODIFY cena float; Ta kwerenda ma na celu wprowadzenie zmian w tabeli artykuły.

A. zmiana nazwy kolumny cena na float
B. zmiana typu na float dla kolumny cena
C. usunięcie kolumny cena o typie float
D. dodanie kolumny cena o typie float, o ile nie istnieje
Odpowiedź była trafna, bo dotyczyła zmiany typu danych w kolumnie w tabeli. Kiedy piszesz 'ALTER TABLE artykuły MODIFY cena float;', to tak naprawdę modyfikujesz kolumnę 'cena', żeby mogła przyjmować liczby zmiennoprzecinkowe. Używanie typu float jest naprawdę przydatne, gdyż ceny często mają wartości z przecinkiem, więc nie ma sensu tego trzymać w innym formacie. Z mojego doświadczenia, takie zmiany są ważne, bo pomagają w dokładnym przechowywaniu danych, co jest kluczowe w przy aplikacjach związanych z finansami czy sprzedażą online. Ale pamiętaj, że warto zawsze mieć kopię zapasową, bo jeśli masz już jakieś dane, które się nie zmieszczą w nowym typie, to może być kłopot. Generalnie, używanie 'ALTER TABLE' to podstawowa rzecz w zarządzaniu bazami danych i dobrze wiedzieć, co się robi.

Pytanie 8

W tabeli klienci w bazie danych sklepu internetowego występują m.in. pola całkowite: punkty,
liczbaZakupow oraz pole ostatnieZakupy typu DATE. Klauzula WHERE do zapytania wybierającego klientów, którzy posiadają ponad 3000 punktów lub zrealizowali zakupy więcej niż 100 razy, a ich ostatnie zakupy miały miejsce przynajmniej w roku 2022 ma formę

A. WHERE punkty > 3000 AND liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
B. WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-01'
C. WHERE punkty > 3000 OR liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
D. WHERE punkty > 3000 AND liczbaZakupow > 100 AND ostatnieZakupy >= '2022-01-01'
Odpowiedź 'WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-01'' jest prawidłowa, ponieważ dokładnie odzwierciedla wymagania dotyczące filtrowania klientów. Klauzula WHERE używa operatora OR dla dwóch warunków: liczba punktów musi być większa niż 3000, albo liczba zakupów musi być większa niż 100. Taki zapis jest kluczowy, ponieważ spełnienie jednego z tych warunków jest wystarczające. Następnie, warunek dotyczący daty ostatnich zakupów jest połączony z powyższymi za pomocą operatora AND, co oznacza, że musi być spełniony jednocześnie. Dzięki użyciu nawiasów, zapytanie jest jasne i jednoznaczne, co jest zgodne z dobrymi praktykami w tworzeniu zapytań SQL. W praktyce takie kwerendy są często używane w systemach CRM, gdzie konieczne jest segmentowanie klientów na podstawie ich aktywności oraz wartości, co pozwala na skuteczniejsze podejmowanie decyzji marketingowych.

Pytanie 9

W języku HTML zdefiniowano znacznik a oraz atrybut rel nofollow.

A. jest wskazówką dla robota wyszukiwarki Google, aby nie śledził tego linku
B. oznacza, że kliknięcie w link nie przekieruje na stronę website.com
C. oznacza, że kliknięcie w link otworzy go w nowej karcie przeglądarki
D. jest poleceniem dla przeglądarki internetowej, aby nie traktowała słowa "link" jako hiperłącza
Atrybut rel z wartością nofollow w znaczniku a w języku HTML jest kluczowym narzędziem w obszarze SEO i zarządzania linkami na stronach internetowych. Jego głównym celem jest wskazanie robotom wyszukiwarek, że nie powinny one śledzić danego linku ani przekazywać mu wartości PageRank, co jest ważnym czynnikiem w rankingach wyszukiwarek. Zastosowanie nofollow jest powszechne w kontekście linków zewnętrznych, aby zapobiec ewentualnym nadużyciom, takim jak spam czy niechciane linki. Przykładowo, jeśli strona internetowa prowadzi do innej witryny, której treść nie jest w pełni zaufana, dodanie atrybutu nofollow zabezpiecza nas przed negatywnym wpływem na naszą własną reputację w oczach wyszukiwarek. Warto także zauważyć, że nofollow nie uniemożliwia użytkownikom kliknięcia w link, a jedynie informuje roboty wyszukiwarek o braku konieczności śledzenia tego linku. Taki mechanizm wpływa na algorytmy indeksowania, co może przyczynić się do lepszej kontroli nad tym, jakie źródła są promowane przez daną stronę.

Pytanie 10

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:hover { background-color: Pink; }
B. tr:active { background-color: Pink; }
C. td, th { background-color: Pink; }
D. tr { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 11

W przedstawionym kodzie JavaScript, który został ponumerowany dla przejrzystości, występuje błąd uniemożliwiający wyświetlenie jakiegokolwiek komunikatu po uruchomieniu. Jak można go naprawić?

1  if(a < b)
2      document.write(a);
3      document.write("jest mniejsze");
4  else
5      document.write(b);
6      document.write("jest mniejsze");
A. dodać znak $ przed nazwami zmiennych
B. wprowadzić nawiasy klamrowe w sekcji if i else
C. zmienić znaki cudzysłowu na apostrof w liniach 3 i 6, np. 'jest mniejsze'
D. umieścić zmienne a i b w cudzysłowie w liniach 2 i 5
Odpowiedź o wstawieniu nawiasów klamrowych do sekcji if oraz else jest prawidłowa, ponieważ w JavaScript, gdy warunek if lub else obejmuje więcej niż jedną instrukcję, należy użyć nawiasów klamrowych, aby zgrupować te instrukcje. W przeciwnym razie, język traktuje jako część bloku kodu tylko pierwszą instrukcję. W omawianym kodzie, bez nawiasów klamrowych, tylko pierwsze wywołanie document.write w każdej z sekcji jest wykonywane, co skutkuje brakiem komunikatu w przypadku, gdy warunek jest spełniony. Przykładowo, poprawny kod powinien wyglądać tak: if (a < b) { document.write(a); document.write('jest mniejsze'); } else { document.write(b); document.write('jest mniejsze'); }. Nawiasy klamrowe są standardową praktyką, która poprawia czytelność kodu oraz ułatwia jego modyfikację w przyszłości, co jest zgodne z zasadami dobrego programowania.

Pytanie 12

Dostępna jest tabela uczniowie, która zawiera pól id, imie, nazwisko, data_ur (format rrrr-mm-dd). Które zapytanie w SQL wyświetli tylko imiona oraz nazwiska uczniów urodzonych w roku 2001?

A. SELECT * FROM uczniowie WHERE data_ur like "2001"
B. SELECT * FROM uczniowie WHERE data_ur == 2001-%-%
C. SELECT id, imie, nazwisko, data_ur FROM uczniowie WHERE data_ur like "2001-*-*"
D. SELECT imie, nazwisko FROM uczniowie WHERE data_ur like "2001-%-%"
Wybrana odpowiedź jest prawidłowa, ponieważ wykorzystuje odpowiednią składnię SQL do wyszukania imion i nazwisk uczniów, których data urodzenia przypada na rok 2001. Użycie klauzuli 'LIKE' wraz z wzorcem '2001-%-%' jest kluczowe – znak '%' w SQL reprezentuje dowolny ciąg znaków (w tym również brak znaków). Oznacza to, że jakiekolwiek miesiące i dni mogą występować po roku '2001', co jest zgodne z formatem daty 'rrrr-mm-dd'. Tego typu zapytania są używane w praktycznych zastosowaniach w bazach danych, na przykład przy tworzeniu raportów dotyczących uczniów, którzy urodzili się w określonym roku. Umożliwia to efektywne zarządzanie danymi i przyspiesza proces analizy, co jest zgodne z dobrymi praktykami w zakresie przetwarzania danych. W kontekście SQL, selekcja konkretnych kolumn, takich jak 'imie' i 'nazwisko', jest bardziej efektywna niż pobieranie wszystkich danych, co może być istotne w przypadku większych zestawów danych. Warto również zwrócić uwagę na znaczenie odpowiedniego formatowania dat, co jest kluczowe dla poprawności zapytań do baz danych.

Pytanie 13

$liczba = 10;
while($liczba<50){
   echo "$liczba";
   $liczba=$liczba+5;
}
Jakie liczby zostaną wyświetlone w wyniku działania tej pętli w języku PHP?

A. 10 15 20 25 30 35 40 45 50
B. 10 15 20 25 30 35 40 45
C. 0 5 10 15 20 25 30 35 40 45
D. 0 5 10 15 20 25 30 35 40 45 50
Wynik działania pętli w języku PHP jest poprawny, ponieważ zaczyna się od wartości 10, a następnie w każdej iteracji zwiększa tę wartość o 5, aż osiągnie 50, które nie jest wliczane do wypisywanych wyników. Wartości wypisywane w trakcie działania pętli to: 10, 15, 20, 25, 30, 35, 40, 45. Wartością graniczną jest 50, która przerywa działanie pętli. Taki mechanizm jest często stosowany w programowaniu, zwłaszcza w sytuacjach, gdzie musimy iteracyjnie przetwarzać dane w określonym zakresie. Dobrą praktyką jest również upewnienie się, że warunki pętli są jasno określone, co zapobiega niepożądanym wynikom, takim jak nieskończone pętle. W PHP używamy pętli takich jak 'while', 'for' i 'foreach', które są kluczowymi elementami w programowaniu i pozwalają na efektywne przetwarzanie danych.

Pytanie 14

W programowaniu zmienna typu integer jest wykorzystywana do przechowywania

A. liczby całkowitej
B. znaku
C. wartości logicznej
D. liczby rzeczywistej
Zmienna typu integer w programowaniu to taki typ, który służy do przechowywania liczb całkowitych. Oznacza to, że nie ma tam żadnych przecinków ani części dziesiętnych, tylko całe liczby. W wielu językach, jak C, C++, czy Python, typ integer jest naprawdę podstawowym narzędziem. Warto zaznaczyć, że te liczby mogą mieć różny zakres w zależności od języka i platformy, ale najczęściej w systemach 32-bitowych zmieszczą się w granicach od -2,147,483,648 do 2,147,483,647. Co więcej, operacje na zmiennych typu integer są zazwyczaj szybsze niż na float czy double, co w praktyce oznacza, że lepiej nadają się do obliczeń, zwłaszcza tych prostych. Na przykład, możemy stworzyć program, który zlicza wszystkie liczby całkowite w jakiejś liście. Warto też wiedzieć, że w standardzie ISO C99 mówimy, że typ int powinien mieć przynajmniej 16 bitów, co pokazuje, jak ważny jest ten typ w programowaniu. Dlatego znajomość zmiennych typu integer jest naprawdę kluczowa dla każdego programisty, który chce pisać szybkie i efektywne aplikacje.

Pytanie 15

Czym jest DBMS?

A. System zarządzania bazą danych
B. Strukturalny język zapytań do bazy danych
C. Obiektowy język programowania służący do tworzenia stron www
D. Kaskadowy arkusz stylów do opisu wyglądu witryny www
Wybór niepoprawnych odpowiedzi wskazuje na pewne nieporozumienia dotyczące podstawowych koncepcji zarządzania danymi w informatyce. Kaskadowy arkusz stylów (CSS) służy do opisu wyglądu strony internetowej, a nie do zarządzania danymi. CSS jest używany do określenia, jak HTML ma być wyświetlany, korzystając z reguł stylizacji, ale nie ma żadnej funkcji związanej z przechowywaniem ani przetwarzaniem informacji. Z kolei obiektowy język programowania do generowania stron internetowych odnosi się do technologii, które są używane do tworzenia interaktywnych aplikacji, ale nie obejmuje on funkcji zarządzania danymi, które są kluczowe w pracy z bazą danych. Dodatkowo, strukturalny język zapytań kierowanych do bazy danych, czyli SQL, jest rzeczywiście związany z interakcją z DBMS, ale nie jest samodzielnym systemem. SQL jest językiem zapytań, który służy do komunikacji z bazą danych w DBMS, a nie do jej zarządzania jako całości. Często mylone jest pojęcie języka programowania z systemem, co prowadzi do błędnych wniosków. Zrozumienie, że DBMS jest kluczowym elementem w architekturze baz danych, jest istotne dla efektywnego projektowania aplikacji i rozwiązań informatycznych, które wymagają wydajnego zarządzania danymi.

Pytanie 16

Mamy tablicę o n elementach o nazwie t[n]. Zadaniem algorytmu, zapisanego w krokach, jest wyliczenie sumy

K1: i = 0; wynik = 0;
K2: Dopóki i < n wykonuj K3 .. K4
  K3: wynik ← wynik + t[i]
  K4: i ← i + 2
K5: wypisz wynik
A. co drugiego elementu tablicy
B. n-elementów tej tablicy
C. sumy tych elementów tablicy, które mają wartości nieparzyste
D. wszystkich elementów tablicy
Algorytm przedstawiony w pytaniu wykonuje sumowanie co drugiego elementu tablicy. Rozpoczyna od elementu o indeksie 0, czyli pierwszego elementu tablicy, a następnie przeskakuje o dwa indeksy za pomocą instrukcji i ← i + 2. Dzięki temu algorytm dodaje do zmiennej wynik wyłącznie wartości znajdujące się na pozycjach o parzystych indeksach w tablicy. Praktyczne zastosowanie tego rodzaju algorytmu można znaleźć w sytuacjach, gdy potrzebujemy operować tylko na wybranym podzbiorze danych, na przykład w analizie co drugiego punktu danych w dużych zbiorach, co może przyspieszyć proces analizy i zmniejszyć obciążenie obliczeniowe. Takie podejście jest zgodne z dobrymi praktykami w dziedzinie inżynierii oprogramowania, gdzie staramy się optymalizować algorytmy pod kątem wydajności i złożoności obliczeniowej. Warto zauważyć, że operowanie na co drugim elemencie może być także użyteczne w przypadku wzorców projektowych, takich jak iteratory, które pozwalają na elastyczną kontrolę nad sposobem przeglądania danych w strukturach danych.

Pytanie 17

W CSS wprowadzono formatowanie

p > i {color: blue} 

Co oznacza, że tekst zapisany będzie w kolorze niebieskim

A. pochylony tekst akapitu
B. pogrubiony tekst akapitu
C. cały tekst akapitu bez względu na jego formatowanie
D. cały tekst nagłówków bez względu na ich formatowanie
W podanym przypadku, zapis CSS <code>p > i {color: blue}</code> odnosi się do selektora, który aplikuje kolor niebieski do elementu <code><i></code> znajdującego się bezpośrednio wewnątrz elementu <code><p></code>. Oznacza to, że tylko tekst, który jest otoczony znacznikiem <code><i></code> w danym paragrafie, zostanie wyróżniony kolorem niebieskim. Ten sposób selekcji jest zgodny z zasadą kaskadowości i specyficzności CSS, co jest kluczowym elementem w zarządzaniu stylem dokumentów HTML. W praktyce, używanie takich selektorów pozwala na precyzyjne formatowanie tekstu w obrębie większych struktur, co jest szczególnie ważne w skomplikowanych projektach webowych. Dobrym przykładem zastosowania tego stylu może być sytuacja, gdy chcemy wyróżnić cytaty lub słowa kluczowe w tekście paragrafu, stosując odpowiednie znaczniki HTML oraz style CSS, co zwiększa czytelność i estetykę treści.

Pytanie 18

Delegacja domeny to

A. zmiana nazwy domeny.
B. zmiana rejestratora domeny.
C. utrata okresu ważności domeny z możliwością odnowienia jej.
D. umieszczenie informacji o zewnętrznych serwerach, które obsługują stronę.
Prawidłowo – delegacja domeny to właśnie umieszczenie informacji o zewnętrznych serwerach nazw (DNS), które obsługują daną domenę. W praktyce oznacza to, że w panelu rejestratora domeny wskazujesz adresy serwerów DNS (np. ns1.hosting.pl, ns2.hosting.pl), a od tego momentu to one odpowiadają za tłumaczenie nazwy domeny na adresy IP serwerów WWW, poczty itd. Moim zdaniem to jedno z kluczowych pojęć w administracji usługami internetowymi, bo bez poprawnej delegacji domena „nie istnieje” w praktycznym użyciu. Delegacja nie zmienia samej nazwy domeny, nie przenosi jej do innego rejestratora, tylko mówi światu: „tej domeny szukaj na tych konkretnych serwerach DNS”. W dobrych praktykach branżowych używa się co najmniej dwóch serwerów DNS, najlepiej w różnych lokalizacjach, żeby zwiększyć niezawodność. W panelu hostingodawcy zwykle konfigurujesz rekordy DNS (A, AAAA, CNAME, MX, TXT itd.), a w panelu rejestratora tylko delegujesz domenę na te serwery. Przykład z życia: kupujesz domenę w firmie A, a hosting masz w firmie B. Wtedy w firmie A ustawiasz delegację na serwery DNS firmy B. Dzięki temu ruch do Twojej domeny trafia na właściwy serwer WWW. W dużych projektach często deleguje się domenę na profesjonalne usługi DNS (np. Cloudflare), żeby zyskać dodatkowe funkcje jak CDN, ochrona przed DDoS czy łatwe zarządzanie rekordami. To wszystko dalej opiera się na tym samym mechanizmie – poprawnej delegacji domeny w rejestrze.

Pytanie 19

Instrukcja w SQL ALTER TABLE USA ... ma na celu

A. zmianę tabeli USA
B. stworzenie nowej tabeli USA
C. przypisanie nowej wersji tabeli USA
D. skasowanie tabeli USA
Polecenie ALTER TABLE w SQL to coś, co pozwala na zmiany w tabelach bazy danych. Możesz dzięki niemu dodawać nowe kolumny, usuwać je czy modyfikować, a nawet dodawać różne klucze lub indeksy. Na przykład, jeżeli chcesz dodać nową kolumnę w tabeli USA, użyjesz tego polecenia: ALTER TABLE USA ADD COLUMN NowaKolumna VARCHAR(255); Warto też wiedzieć, że ALTER TABLE jest częścią SQL DDL, czyli języka definiującego strukturę bazy danych. Dobrą praktyką jest robienie kopii zapasowych przed wprowadzaniem jakichkolwiek zmian, bo niechciane zmiany mogą prowadzić do utraty danych. Z tego, co mnie nauczyli, ważne jest też, by modyfikacje były przemyślane i przetestowane, zwłaszcza w kontekście zasad ACID (Atomicity, Consistency, Isolation, Durability). Bazy danych, jak MySQL czy PostgreSQL, mają różne sposoby na ułatwienie pracy z ALTER TABLE, co czyni je bardzo przydatnymi w codziennym zarządzaniu danymi.

Pytanie 20

Funkcja zaprezentowana w PHP

function dzialania(int $x, float $y) {
  $z = $x + $y;
  return $z;
}
A. jest zadeklarowana z dwoma parametrami rzeczywistymi.
B. zwraca wynik.
C. nie zwraca wyniku.
D. przyjmuje dwa argumenty z wartością domyślną.
Odpowiedzi, które sugerują, iż funkcja nie zwraca wartości, są błędne, ponieważ wyraźnie widać, że zawiera instrukcję return, co świadczy o jej zdolności do zwracania wyniku. Takie nieporozumienia mogą wynikać z braku zrozumienia struktury funkcji w PHP, gdzie return jest kluczowym elementem określającym, że funkcja coś zwraca. Inna błędna odpowiedź sugeruje, że funkcja pobiera parametry z domyślną wartością. Chociaż PHP pozwala na definiowanie takich parametrów, w tym przypadku nie ma przypisanych wartości domyślnych, co oznacza, że użytkownik musi dostarczyć odpowiednie argumenty przy wywołaniu funkcji. Ponadto odpowiedź o dwóch rzeczywistych parametrach również wprowadza w błąd, gdyż typy są dokładnie określone jako int i float, co oznacza, że jeden z parametrów jest całkowity, a drugi zmiennoprzecinkowy. Takie niezrozumienie może być wynikiem braku uwagi na szczegóły podczas analizy kodu. Poprawne zrozumienie sygnatury i działania funkcji jest kluczowe dla skutecznego programowania, a błędne interpretacje mogą prowadzić do defektów w kodzie, które są trudne do zidentyfikowania i naprawy bez odpowiedniej wiedzy i doświadczenia w analizie typu danych oraz struktury funkcji w PHP. W praktyce, uniknięcie takich pomyłek wymaga dokładnej lektury kodu oraz praktyki w implementacji funkcji o różnorodnych sygnaturach w różnych kontekstach programistycznych. Dlatego tak istotne jest zrozumienie, jak funkcje operują na parametrach i jakie są ich możliwe zastosowania w projektach programistycznych.

Pytanie 21

Polecenie serwera MySQL w postaci

REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost'
spowoduje, że użytkownikowi tKowal zostaną
A. odebrane uprawnienia usuwania oraz dodawania rekordów w tabeli pracownicy
B. przydzielone uprawnienia do wszelkich zmian struktury tabeli pracownicy
C. odebrane prawa usuwania i modyfikowania danych w tabeli pracownicy
D. przydzielone uprawnienia do usuwania oraz aktualizowania danych w tabeli pracownicy
Odpowiedź wskazuje, że użytkownikowi tKowal odebrane zostały prawa usuwania i modyfikowania danych w tabeli pracownicy za pomocą polecenia REVOKE. W kontekście zarządzania uprawnieniami w MySQL, polecenie REVOKE jest kluczowym narzędziem, które umożliwia administratorom bazy danych kontrolowanie dostępu użytkowników do różnych operacji na danych. W tym przypadku, przy użyciu REVOKE DELETE, UPDATE, administrator zdejmuje z użytkownika tKowal możliwość usuwania (DELETE) oraz aktualizowania (UPDATE) rekordów w tabeli pracownicy. Praktycznym zastosowaniem tej funkcji może być sytuacja, gdy administrator chce ograniczyć dostęp do wrażliwych danych, aby zapobiec przypadkowemu lub nieuprawnionemu usunięciu informacji. Dobrą praktyką jest regularne przeglądanie i aktualizowanie uprawnień użytkowników, aby zapewnić, że mają oni tylko te uprawnienia, które są im niezbędne do wykonywania swoich obowiązków, co przyczynia się do zwiększenia bezpieczeństwa danych.

Pytanie 22

Przedstawiony kod języka PHP

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. definiuje tablicę z sześcioma wartościami.
B. jest błędny, indeksami tablicy mogą być tylko liczby całkowite.
C. jest błędny, nieznany operator =>
D. definiuje tablicę z trzema wartościami.
Dobra robota, wybrałeś właściwą odpowiedź! Ten kod PHP, który analizujesz, rzeczywiście ustawia tablicę asocjacyjną z trzema parami klucz-wartość. Tak naprawdę tablica asocjacyjna to coś w stylu tablicy, gdzie każdemu elementowi przypisujesz unikalny klucz zamiast numeru indeksu. No i ten operator '=>' to typowy element PHP, służy do przypisywania wartości kluczom w tablicach. W twoim przykładzie widzisz, że kluczami mogą być nie tylko liczby, ale też łańcuchy tekstowe. To naprawdę przydatne, szczególnie przy przechowywaniu informacji, które łatwo zidentyfikować – na przykład numery telefonów czy adresy e-mail. Pamiętaj, że w PHP tablica to jedna z podstawowych struktur danych. Może trzymać różne typy danych, takie jak liczby, teksty, obiekty czy inne tablice, a jej rozmiar może się zmieniać w trakcie działania programu.

Pytanie 23

Formatem plików graficznych rastrowych z bezstratną kompresją jest

A. SVG
B. PNG
C. CDR
D. JNG
Format PNG (Portable Network Graphics) jest popularnym formatem plików graficznych stosowanym do zapisu obrazów rastrowych z kompresją bezstratną. Oznacza to, że podczas zapisywania pliku nie następuje utrata jakości obrazu, co czyni go idealnym do grafiki internetowej, gdzie jakość wizualna ma kluczowe znaczenie. PNG obsługuje przezroczystość, co pozwala na tworzenie grafik z tłem przejrzystym, co jest niezwykle przydatne w projektowaniu stron internetowych oraz w aplikacjach graficznych. Format ten wspiera także różne głębokości kolorów, co oznacza, że można go używać do przedstawiania obrazów w rozdzielczości do 48 bitów na kanał kolorów. W porównaniu do formatu GIF, PNG oferuje lepszą jakość obrazu oraz szersze możliwości zastosowań, ponieważ nie jest ograniczony do palety 256 kolorów. PNG jest zgodny z wieloma standardami, w tym z Internet Engineering Task Force (IETF), który przyjął go jako standard dla grafiki internetowej. Przykłady zastosowania formatu PNG obejmują ikony, logo oraz ilustracje, które wymagają wysokiej jakości i przezroczystości.

Pytanie 24

W języku C++ stworzono zmienną char zm1[10]; Jakim typem zmiennej jest ta zmienna?

A. znakiem
B. liczbą
C. tablicą łańcuchów
D. tablicą znaków
Zmienna char zm1[10] w języku C++ jest tablicą znaków, co oznacza, że jest to struktura danych przechowująca sekwencję znaków. Tablica ta ma rozmiar 10, co oznacza, że może pomieścić do 10 znaków. W praktyce, zmienne tego typu są często używane do przechowywania łańcuchów tekstowych, które są kończone znakiem null ('\0'). Używając tablicy znaków, programista ma kontrolę nad pamięcią oraz sposobem przechowywania i modyfikowania tekstów. Na przykład, aby przypisać wartość do tej tablicy, można użyć funkcji strcpy, która kopiuje łańcuch znaków do tablicy: strcpy(zm1, "Hello"). W kontekście standardów, korzystanie z tablic znaków w C++ jest zgodne z tradycyjnymi praktykami programowania w językach z rodziny C, gdzie zarządzanie pamięcią i efektywne operowanie na danych tekstowych jest kluczowe. Warto również zauważyć, że w nowszych wersjach C++ możliwe jest użycie typu std::string, który automatycznie zarządza pamięcią i rozmiarem, ale zrozumienie tablic znaków jest fundamentalne dla każdego programisty. Zatem ta odpowiedź jest poprawna, ponieważ odzwierciedla istotę zmiennej zdefiniowanej jako tablica znaków.

Pytanie 25

Kolor zapisany w modelu RGB(255, 0, 0) to

A. niebieski
B. czerwony
C. zielony
D. żółty
Odpowiedź czerwona jest poprawna, ponieważ w modelu RGB kolor jest definiowany przez kombinację trzech podstawowych kolorów: czerwonego, zielonego i niebieskiego. Wartości w modelu RGB mieszczą się w zakresie od 0 do 255, gdzie 255 oznacza pełną intensywność danego koloru, a 0 brak intensywności. W przypadku RGB(255, 0, 0), maksymalna wartość oznacza, że kolor czerwony jest w pełni nasycony, podczas gdy wartości zielonej i niebieskiej są równe zeru, co skutkuje uzyskaniem czystego koloru czerwonego. W praktyce, model RGB jest powszechnie stosowany w technologii wyświetlania kolorów na ekranach komputerów, telewizorów oraz w grafice komputerowej. Zrozumienie modelu RGB jest kluczowe dla projektantów interfejsów użytkownika, grafików i specjalistów od marketingu wizualnego, którzy muszą umieć manipulować kolorami, aby osiągnąć zamierzony efekt wizualny lub brandingowy. Dobre praktyki w zakresie doboru kolorów obejmują uwzględnienie harmonii kolorystycznej oraz różnorodności percepcji kolorów przez różne osoby, co można osiągnąć poprzez testy A/B lub badania użytkowników.

Pytanie 26

Jakim poleceniem można uzyskać konfigurację serwera PHP, w tym dane takie jak: wersja PHP, system operacyjny serwera oraz wartości przedefiniowanych zmiennych?

A. phpcredits();
B. phpinfo();
C. echo phpversion();
D. print_r(ini_get_all());
Funkcja phpinfo() jest standardowym narzędziem w PHP, które dostarcza szczegółowych informacji o konfiguracji serwera oraz wersji PHP, która jest aktualnie używana. Wywołanie tej funkcji generuje stronę HTML z informacjami o ustawieniach PHP, w tym o zainstalowanych rozszerzeniach, włączonych opcjach oraz wartości przedefiniowanych zmiennych. Dodatkowo, phpinfo() prezentuje szczegóły dotyczące środowiska serwera, takie jak system operacyjny, serwer WWW oraz zmienne środowiskowe. Praktycznie, jest to niezwykle przydatne narzędzie dla programistów oraz administratorów serwerów, które umożliwia szybkie zdiagnozowanie problemów z konfiguracją czy identyfikację, które rozszerzenia PHP są dostępne. W kontekście bezpieczeństwa najlepiej jest używać tej funkcji tylko w środowisku developerskim lub lokalnym, aby uniknąć wycieku szczegółowych informacji o serwerze na produkcji. Zgodnie z najlepszymi praktykami, po zakończeniu diagnostyki, powinno się dezaktywować dostęp do tego typu informacji.

Pytanie 27

Jak umieścić komentarz w kodzie PHP?

A. /* ... */
B. <!-- ... -->
C. <? ... ?>
D. /? ... ?/
Komentarze w kodzie PHP są kluczowym elementem, który pozwala programistom na dodawanie wyjaśnień, notatek czy informacji o kodzie, co znacznie ułatwia jego późniejsze zrozumienie i konserwację. Komentarze w PHP można umieszczać za pomocą podwójnego ukośnika (//) dla pojedynczych linii lub za pomocą /* ... */ dla komentarzy wieloliniowych. Wybrana odpowiedź /* ... */ jest poprawna, ponieważ umożliwia dodawanie dłuższych bloków tekstu, co jest praktyczne w przypadku skomplikowanych funkcji czy klas. Stosowanie komentarzy jest zgodne z dobrymi praktykami programowania, które zalecają dokumentowanie kodu, aby ułatwić współpracę w zespole oraz pomóc innym programistom w zrozumieniu funkcji i celu poszczególnych fragmentów kodu. Na przykład, podczas tworzenia złożonej aplikacji webowej, dobrze udokumentowany kod pozwoli zespołowi szybciej rozwiązywać problemy i wprowadzać zmiany, co jest kluczowe w dynamicznie zmieniającym się środowisku IT.

Pytanie 28

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 maksymalna wartość ze zmiennych a, b, c
B. wybór losowej wartości ze zmiennych a, b i c
C. w zmiennej x minimalna wartość ze zmiennych a, b, c
D. nieprawidłowe dane.
Odpowiedź "w zmiennej x maksymalna wartość ze zmiennych a, b, c" jest poprawna, ponieważ odzwierciedla działanie funkcji Math.max() w języku JavaScript, która zwraca największą wartość spośród podanych argumentów. W kontekście tej linii kodu, przypisanie wartości do zmiennej x jest kluczowym elementem programowania, gdyż pozwala na dynamiczne ustalanie największej wartości zmiennych a, b i c w różnych scenariuszach. W praktyce, odpowiednia dokumentacja kodu, w tym komentarze, jest niezbędna do utrzymania czytelności i zrozumiałości kodu, zwłaszcza w większych projektach. Komentarze pomagają innym programistom (lub nawet samym autorom kodu w przyszłości) szybko zrozumieć, co dany fragment kodu robi. Używanie komentarzy w odpowiednich miejscach, szczególnie po operatorze "//", jest uznawane za dobrą praktykę w programowaniu. Dlatego ważne jest, aby jasno określić funkcję danej linii kodu, co czyni tę odpowiedź trafną.

Pytanie 29

Określ rezultat działania podanego kodu PHP, przy założeniu, że zmienna tab jest tablicą.

$tab = explode(",", "jelenie,sarny,dziki,lisy,borsuki"); 
echo $tab[1]." ".$tab[2];
A. dziki lisy
B. sarny dziki
C. lisy borsuki
D. jelenie sarny
Wynik wykonania kodu PHP przedstawionego w pytaniu to 'sarny dziki', co odpowiada trzeciej opcji. Analizując kod, najpierw wykorzystujemy funkcję explode, która dzieli ciąg znaków na elementy tablicy, używając przecinka jako separatora. W rezultacie zmienna $tab stanie się tablicą składającą się z pięciu elementów: 'jelenie', 'sarny', 'dziki', 'lisy', 'borsuki'. Następnie w instrukcji echo odwołujemy się do drugiego i trzeciego elementu tablicy, co odpowiada indeksom 1 i 2, ponieważ indeksowanie w PHP zaczyna się od zera. Zatem $tab[1] to 'sarny', a $tab[2] to 'dziki'. W kontekście praktycznym, znajomość pracy z tablicami oraz funkcji do ich manipulacji jest kluczowa w programowaniu w PHP, zwłaszcza przy pracy z danymi w formacie CSV lub innymi formatami wymagającymi podziału ciągów. Opanowanie takich technik jest istotne dla programistów zajmujących się tworzeniem aplikacji webowych, gdzie przetwarzanie danych wejściowych jest na porządku dziennym.

Pytanie 30

W PHP do zapisywania informacji w pliku służy funkcja

A. freadfile()
B. fopen()
C. fgets()
D. fputs()
Funkcja fputs() w języku PHP jest używana do zapisywania danych do otwartego pliku. Działa na zasadzie wysyłania strumienia danych do pliku, co czyni ją odpowiednią do operacji zapisu. Przykładowe zastosowanie fputs() może wyglądać tak: najpierw należy otworzyć plik za pomocą funkcji fopen(), a następnie wykorzystać fputs() do zapisania danych. Na przykład: $file = fopen('dane.txt', 'w'); fputs($file, 'To jest przykładowy tekst.'); fclose($file); Warto pamiętać, że przy korzystaniu z funkcji fputs() istotne jest, aby plik był wcześniej otwarty w odpowiednim trybie (np. 'w' dla zapisu). W praktyce, fputs() jest zalecane do zapisu danych, ponieważ jest bardziej elastyczne od niektórych innych funkcji i pozwala na zapisywanie danych w formacie tekstowym. Dobre praktyki obejmują również sprawdzenie, czy otwarcie pliku zakończyło się sukcesem, co można zrobić poprzez odpowiednie warunki sprawdzające. Zrozumienie tej funkcji zwiększa efektywność programowania w PHP oraz umiejętność zarządzania danymi.

Pytanie 31

W języku SQL instrukcja INSERT INTO

A. zmienia rekordy na zadaną wartość
B. tworzy nową tabelę
C. wprowadza dane do tabeli
D. dodaje kolumny do istniejącej tabeli
Pierwsza z niepoprawnych odpowiedzi sugeruje, że polecenie INSERT INTO dodaje tabelę, co jest błędne. W rzeczywistości, tworzenie nowych tabel w bazie danych realizowane jest za pomocą polecenia CREATE TABLE. INSERT INTO ma na celu manipulację danymi już istniejącymi w tabelach, a nie ich strukturą. Kolejna niepoprawna odpowiedź mówi o dodawaniu pól do tabeli, co również jest mylące. Aby dodać nowe kolumny do tabeli, stosuje się polecenie ALTER TABLE, a nie INSERT INTO. Technicznie rzecz biorąc, polecenie to nie zmienia struktury tabeli, lecz uzupełnia ją o nowe dane w ramach istniejących kolumn. Ostatnia z odpowiedzi mówi o aktualizowaniu rekordów, co związane jest z używaniem polecenia UPDATE. INSERT INTO nie ma na celu modyfikacji istniejących danych, lecz ich dodawanie. W skrócie, polecenie INSERT INTO jest ściśle związane z wprowadzeniem nowych danych, a nie z tworzeniem, modyfikowaniem czy aktualizowaniem struktury tabel czy ich zawartości.

Pytanie 32

W języku PHP funkcja trim służy do

A. porównywania dwóch tekstów i wyświetlania ich wspólnej części
B. podawania długości tekstu
C. redukcji tekstu o liczbę znaków określoną w parametrze
D. usuwania białych znaków lub innych określonych w parametrze znaków z obu końców tekstu
Funkcja <i>trim</i> w języku PHP ma na celu usuwanie białych znaków oraz innych znaków, które są określone w jej parametrach, z obu końców napisu. To niezwykle przydatne narzędzie w programowaniu, szczególnie podczas przetwarzania danych wejściowych, gdzie użytkownicy mogą nieświadomie dodawać zbędne spacje, tabulatory lub nowe linie. Na przykład, gdy przetwarzamy dane formularzy, może się zdarzyć, że użytkownik wprowadzi swoje imię z dodatkowymi spacjami na początku lub końcu. Użycie <i>trim</i> pozwala na zapewnienie, że dane będą miały odpowiednią formę przed dalszym przetwarzaniem, co jest kluczowe w kontekście walidacji i normalizacji danych. Dodatkowo, funkcja ta wspiera podawanie własnych znaków do usunięcia, co czyni ją bardzo elastycznym narzędziem w codziennym programowaniu. Używanie <i>trim</i> jako standardowej praktyki przy obróbce danych tekstowych jest rekomendowane przez wielu ekspertów, ponieważ zwiększa to jakość i spójność przetwarzanych informacji.

Pytanie 33

Która funkcja edytora grafiki wektorowej spowoduje przekształcenie z przedstawionych po lewej stronie figur koła i prostokąta do figury półkola widocznej po prawej stronie?

Ilustracja do pytania
A. Różnica.
B. Wykluczenie.
C. Część wspólna.
D. Podział.
Prawidłowo – żeby z dwóch nachodzących na siebie figur (koła i prostokąta) uzyskać półkole, trzeba użyć operacji „Część wspólna” (ang. Intersect). W grafice wektorowej wszystkie te funkcje boole’owskie działają na zasadzie przecinania się obszarów wypełnienia. „Część wspólna” zostawia tylko ten fragment, w którym obie figury się nakładają, a całą resztę usuwa. W naszym przykładzie, jeśli koło jest ustawione tak, że jego dolna część zachodzi na prostokąt, to wspólnym obszarem będzie właśnie dolna połówka koła – czyli idealne półkole. To jest bardzo typowy trik używany w programach takich jak Inkscape, Illustrator czy CorelDRAW do budowania bardziej złożonych ikon i piktogramów z prostych kształtów. Z mojego doświadczenia, praca z „Częścią wspólną” jest dużo bardziej precyzyjna niż ręczne cięcie i dopasowywanie krzywych, bo program matematycznie wylicza granice przecięcia. W praktyce warto pilnować, żeby obiekty były wyrównane (align) i często korzystać z podglądu konturów (outline view), wtedy od razu widać, jak będzie wyglądał wynik operacji. Dobrą praktyką jest też robienie kopii roboczych kształtów przed zastosowaniem operacji boole’owskich, bo te działania są zwykle destrukcyjne – po zatwierdzeniu trudno wrócić do oryginalnych figur. W projektowaniu interfejsów, ikon SVG na strony WWW czy prostych logotypów, takie operacje jak „Część wspólna” to absolutna podstawa efektywnej i czystej pracy z grafiką wektorową.

Pytanie 34

W poniższym zapytaniu SQL znak „*” wskazuje, że w wyniku tego zapytania zostaną zwrócone:

SELECT * FROM mieszkancy WHERE imie = 'Anna';
A. warunek dotyczący imienia zostanie pominięty
B. wszystkie rekordy z tabeli mieszkańcy będą widoczne
C. zostaną wyświetlone wszystkie kolumny tabeli mieszkańcy
D. zostanie pokazane pole zatytułowane „*” (gwiazdka)
W analizowanym zapytaniu SQL istotne jest zrozumienie roli symbolu '*' w kontekście wywołania zapytania. Zbytnie uproszczenie może prowadzić do nieporozumień, przy założeniu, że znaczenie gwiazdki jest bardziej skomplikowane niż tylko proste pobieranie danych. Odpowiedź sugerująca, że warunek 'imie = 'Anna'' zostanie zignorowany, jest nieprawidłowa, ponieważ w rzeczywistości to zapytanie filtruje dane, a symbol '*' jedynie wskazuje, że wszystkie kolumny powinny być zwrócone dla tych rekordów, które spełniają warunek. Z kolei stwierdzenie, że zostanie wyświetlone pole o nazwie '*', również jest mylące, ponieważ '*' nie jest nazwą kolumny, lecz specjalnym symbolem w SQL. Warto zauważyć, że z perspektywy wydajności, stosowanie '*' w dużych bazach danych może być nieefektywne. W praktyce lepiej jest określić konkretne kolumny, które są potrzebne, co może znacznie zwiększyć szybkość zapytań oraz zmniejszyć obciążenie serwera. Poprawne zrozumienie struktury danych oraz efektywne formułowanie zapytań SQL to kluczowe umiejętności w pracy z bazami danych, które pozwalają nie tylko na efektywne zarządzanie danymi, ale również na lepszą optymalizację procesów. Właściwe podejście do tworzenia zapytań SQL może znacznie podnieść jakość aplikacji bazodanowych.

Pytanie 35

Który z poniższych znaczników HTML nie służy do formatowania tekstu?

A. <em>
B. <sub>
C. <div>
D. <strong>
Każdy z pozostałych znaczników jest określony jako element do formatowania tekstu w HTML. Znacznik <em> służy do oznaczania tekstu, który ma być wyrażony z naciskiem, co zazwyczaj przekłada się na kursywę w przeglądarkach internetowych. To podejście jest zgodne z zasadami semantyki HTML, które zalecają użycie odpowiednich znaczników dla różnych typów treści, co poprawia dostępność oraz SEO. Znacznik <sub> jest używany do oznaczania tekstu jako dolnego indeksu, co jest powszechnie stosowane w naukowych notacjach i chemii. W końcu, <strong> jest używany do zaznaczania tekstu jako ważnego, co zazwyczaj skutkuje pogrubieniem. Zrozumienie ról tych znaczników jest kluczowe dla projektowania stron internetowych. Często mylnie przyjmuje się, że każdy znacznik jest tym samym, co prowadzi do nieefektywnego kodowania i braku semantyki w stronach. Dlatego ważne jest, aby stosować odpowiednie znaczniki zgodnie z ich przeznaczeniem, co jest fundamentalne w tworzeniu dostępnych i dobrze zorganizowanych aplikacji internetowych.

Pytanie 36

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('Nowak', 'Kowalski');
B. $a = str_replace('Kowalski', 'Nowak', $a);
C. $a = str_rep('Kowalski', 'Nowak', $a);
D. $a = str_replace('Nowak', 'Kowalski', $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 37

W języku PHP, dla zmiennych a = 5 oraz b = 3, jakie wyrażenie zwróci wartość zmiennoprzecinkową?

A. a / b
B. a * b
C. a && b
D. a + b
W języku PHP operacje na zmiennych numerycznych mogą prowadzić do różnych typów wyników w zależności od zastosowanego operatora. W przypadku zmiennych a = 5 i b = 3, jeśli wykonamy operację a / b, uzyskamy wynik 1.6666666666667, co jest wartością zmiennoprzecinkową. Operacja dzielenia w PHP zawsze zwraca wynik typu float, gdy jest wykonywana na liczbach całkowitych, o ile nie jest to dzielenie całkowite przez zero. Wartość ta można wykorzystać w różnych kontekstach, np. w obliczeniach finansowych, gdzie precyzyjne wartości dziesiętne są kluczowe. Warto również zauważyć, że PHP automatycznie konwertuje typy, co oznacza, że operacje na mieszanych typach (np. integer i float) również będą skutkować wynikiem o typie float. Przykładem może być sytuacja, w której wynik dzielenia jest dalej używany w operacjach matematycznych, co może znacząco wpłynąć na końcowy rezultat. Z punktu widzenia standardów PHP, operacje arytmetyczne są ściśle określone w dokumentacji i warto zaznajomić się z funkcjami związanymi z operacjami na liczbach, aby w pełni wykorzystać możliwości języka.

Pytanie 38

Wskaż poprawne stwierdzenie dotyczące przedstawionego kodu HTML.
<video width="640" height="480" controls>
<source src="animacja.mp4" type="video/mp4">
</video>

A. Lokalizacja pliku jest nieprawidłowa, brak w niej ścieżki bezwzględnej.
B. Kod może nie działać w przeglądarkach, które nie obsługują HTML5.
C. Użytkownik nie będzie miał możliwości kontrolowania odtwarzania wideo.
D. Plik animacja.mp4 powinien mieć rozdzielczość 640x480 pikseli, aby był odtwarzany.
Pierwsze stwierdzenie sugeruje, że plik animacja.mp4 musi mieć dokładnie rozdzielczość 640x480 pikseli, co jest nieprawdziwe. Format &lt;video&gt; w HTML umożliwia odtwarzanie filmów w różnych rozdzielczościach, a przeglądarka automatycznie dostosuje odtwarzanie w zależności od dostępnych zasobów i jakości pliku wideo. Drugie stwierdzenie, że użytkownik nie będzie miał możliwości sterowania odtwarzaniem, jest sprzeczne z definicją atrybutu 'controls', który dodaje elementy sterujące do odtwarzacza, takie jak play, pause i seek. Trzecie stwierdzenie odnosi się do lokalizacji pliku, podczas gdy w rzeczywistości plik animacja.mp4 może być lokalizowany w różnych folderach, a nie tylko w ścisłej ścieżce bezwzględnej. HTML5 wprowadza wiele standardów i uproszczeń, a deweloperzy są zobowiązani do przestrzegania tych standardów, aby zapewnić, że ich treści będą dostępne na różnych platformach. Typowe błędy myślowe prowadzące do takich wniosków obejmują nieznajomość zasad działania znaczników HTML oraz niepełne zrozumienie mechanizmów, jakie przeglądarki stosują w kontekście odtwarzania multimediów.

Pytanie 39

Oznaczenie barwy w postaci #FF00E0 jest równoważne zapisowi

A. rgb(255, 0, 128)
B. rgb(255, 0, 224)
C. rgb(F, 0, E0)
D. rgb(FF, 0, E0)
Oznaczenie #FF00E0 to zapis koloru w systemie szesnastkowym (hex), bardzo typowym w CSS i ogólnie w tworzeniu interfejsów. Składa się ono z trzech par znaków: FF (czerwony), 00 (zielony), E0 (niebieski). Każda para to jedna składowa kanału RGB zapisana w systemie szesnastkowym, czyli w bazie 16. Zakres dla każdej składowej to od 00 do FF, co odpowiada wartościom dziesiętnym od 0 do 255. FF w systemie szesnastkowym to 15×16 + 15 = 255 w systemie dziesiętnym. 00 to po prostu 0. Natomiast E0 to 14×16 + 0 = 224. Dlatego zapis #FF00E0 jest równoważny rgb(255, 0, 224). To jest dokładnie ten sam kolor, tylko zapisany w innym formacie. W CSS możesz używać obu zapisów zamiennie: np. `color: #FF00E0;` oraz `color: rgb(255, 0, 224);` dadzą identyczny efekt w przeglądarce. W praktyce, przy projektowaniu stron i interfejsów, warto rozumieć oba zapisy, bo narzędzia graficzne (Photoshop, GIMP, Figma) często podają kolory w hex, a dokumentacja front-endowa i tutoriale bardzo często używają rgb() albo nawet rgba(). Dobra praktyka w branży jest taka, żeby umieć szybko w głowie lub z pomocą prostego kalkulatora przeliczyć wartości hex na dziesiętne, szczególnie przy drobnych korektach kolorów. Moim zdaniem świadomość, że hex to po prostu inna reprezentacja tych samych liczb 0–255, bardzo ułatwia później rozumienie gradientów, filtrów, a nawet pracy z kolorami w JavaScript, gdzie możesz programowo generować wartości rgb().

Pytanie 40

W CSS, poniższy zapis spowoduje, że czerwony kolor zostanie zastosowany do

h1::first-letter {color:red;}
A. pierwsza litera nagłówka drugiego poziomu
B. tekst nagłówka pierwszego poziomu
C. pierwsza litera nagłówka pierwszego poziomu
D. pierwsza linia akapitu
Wiesz, użycie selektora CSS ::first-letter w połączeniu z stylem h1 to fajny sposób na zmianę wyglądu pierwszej litery w nagłówku. Kiedy używasz tego, kolor czerwony sprawi, że ta litera będzie się wyróżniać, co jest super, zwłaszcza w przypadku nagłówków czy akapitów. To technika, którą często stosuje się w projektowaniu stron, żeby nadać im trochę typograficznego stylu, jak w książkach z dużymi inicjałami. Ale pamiętaj, że ten selektor działa tylko z blokowymi elementami, takimi jak <p> czy <h1>, więc jeżeli spróbujesz zastosować go z elementami liniowymi, to niestety efekty nie będą takie, jak się spodziewasz. Zawsze warto też mieć na uwadze standardy W3C, bo one pomagają w tworzeniu dostępnych stron. No i ten selektor jest częścią specyfikacji CSS Pseudo-Elements Level 3, więc przeglądarki go dobrze wspierają. Zrozumienie, jak i kiedy stosować takie selektory, to klucz do tworzenia nowoczesnych stron.