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: 8 czerwca 2026 21:45
  • Data zakończenia: 8 czerwca 2026 22:02

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

Co oznacza w języku C++ przedstawiony fragment kodu?

struct CONTACT
{
std::string nazwisko;
std::string telefon;
int numer;
};
A. Typ strukturalny składający się z trzech pól
B. Trzy niezależne zmienne
C. Organizację zmiennych
D. Interakcję między zmiennymi lokalnymi a globalnymi
W C++ struktury to takie narzędzia do grupowania danych, co już wiesz. Jednak w twoim opisie pojawił się błąd dotyczący zmiennych globalnych i lokalnych. To nie do końca ma związek z tym, co robi struktura. Globalne zmienne to te, które możesz używać wszędzie w programie, a lokalne tylko w danym bloku kodu. Hierarchia zmiennych to inny temat, bo zazwyczaj chodzi o klasy i dziedziczenie, a nie o struktury. W przypadku CONTACT, wszystkie pola są równorzędne, więc nie ma tam żadnej hierarchii. Twoje stwierdzenie, że te zmienne są niepowiązane, również jest nietrafione, bo z definicji struktury wszystkie te pola skupiają się na tym samym obiekcie. To, że struktury grupują dane, to jedna z ich najważniejszych cech, którą trzeba mieć na uwadze, żeby dobrze wykorzystywać możliwości C++.

Pytanie 2

Którego związku selektorów CSS należy użyć w miejscu znaków zapytania, aby zdefiniowany styl został zastosowany tylko do tekstu „paragrafie”?

<!DOCTYPE html>
<html>
  <head>
    <style>
      ???{letter-spacing: 10px; color: red;}
    </style>
  </head>
  <body>
    <p>Styl <b>tekstu</b> w pierwszym <i>paragrafie</i></p>
  </body>
</html>
A. p > i
B. b i
C. b > i
D. p + i
W tym zadaniu kluczowe jest zrozumienie, jak działają różne związki (kombinatory) selektorów w CSS i jak przekładają się one na strukturę drzewa DOM. Cały problem sprowadza się do relacji między znacznikami <p>, <b> i <i>. W kodzie <i> jest bezpośrednim dzieckiem paragrafu, natomiast <b> jest zupełnie osobnym elementem, który nie zawiera w sobie <i>. Jeżeli wybierzemy selektor oparty wyłącznie na listingu nazw znaczników obok siebie, typu „b i”, to w CSS oznacza on: „dowolny element <i> znajdujący się gdziekolwiek wewnątrz elementu <b>”. W naszym HTML nie ma takiej relacji, bo <i> nie jest potomkiem <b>, więc taki selektor zwyczajnie nie trafi w żaden element. To jest dość typowe myślenie: ktoś patrzy na kolejność znaczników w jednej linii i myli ją z hierarchią zagnieżdżenia.
Podobny problem występuje przy użyciu selektora „b > i”. Kombinator „>” oznacza dziecko bezpośrednie, więc „b > i” wybiera tylko te elementy <i>, które są jednym poziomem niżej w środku <b>. Ponownie, w naszym drzewie DOM <i> nie jest dzieckiem <b>, więc reguła w ogóle się nie zastosuje. Z mojego doświadczenia to częsty błąd: patrzymy na tekst „tekstu w pierwszym paragrafie” i intuicyjnie kojarzymy słowa, zamiast spojrzeć, jak naprawdę są zagnieżdżone tagi.
Jeszcze inna sytuacja dotyczy selektora „p + i”. Znak „+” to tzw. selektor sąsiadującego rodzeństwa (adjacent sibling). Oznacza: „wybierz element <i>, który stoi w DOM bezpośrednio po elemencie <p>, na tym samym poziomie zagnieżdżenia”. W naszym przykładzie <i> nie jest rodzeństwem <p>, tylko jego wnętrzem, więc ten kombinator kompletnie tu nie pasuje. To też jest dość mylące, bo część osób kojarzy „+” z jakimś rodzajem powiązania, ale nie pamięta, że chodzi o dwa znaczniki obok siebie, a nie jeden w środku drugiego.
Podsumowując, wszystkie błędne odpowiedzi ignorują faktyczną strukturę HTML i relacje rodzic–dziecko między elementami. Dobra praktyka jest taka, żeby przed wyborem selektora wyobrazić sobie drzewo DOM albo wręcz rozpisać je w formie wcięć. Dopiero potem dobiera się odpowiedni kombinator: spacja dla dowolnego potomka, „>” dla dziecka, „+” dla sąsiada, „~” dla dalszego rodzeństwa. Świadome korzystanie z tych narzędzi pozwala tworzyć precyzyjne, czytelne i łatwe w utrzymaniu arkusze CSS, zgodne z rekomendacjami W3C i dobrymi praktykami front-endowymi.

Pytanie 3

Co oznacza skrót SQL?

A. Simple Query Logic
B. Structured Query Language
C. Sequential Question Language
D. Standard Quality Language
SQL to skrót od Structured Query Language, czyli strukturalny język zapytań. Służy do komunikacji z relacyjnymi bazami danych: tworzenia struktur (DDL), wstawiania i modyfikowania danych (DML), pobierania ich zapytaniami (SELECT) oraz zarządzania uprawnieniami (DCL). Dlatego poprawne rozwinięcie to Structured Query Language.

Pytanie 4

Którego słowa kluczowego użyć w języku C, aby zdefiniować stałą?

A.
#INCLUDE
B.
#CONST
C.
const
D.
static
Słowo kluczowe const w języku C oznacza, że wartość zmiennej jest STAŁA (niezmienna) – np. const int MAX = 100;. Próba jej modyfikacji zgłosi błąd kompilacji. (Stałe można też definiować dyrektywą preprocesora #define.) Dlatego do zdefiniowania stałej służy const.

Pytanie 5

Jak określa się podzbiór strukturalnego języka zapytań, który dotyczy formułowania zapytań do bazy danych przy użyciu polecenia SELECT?

A. SQL DQL (ang. Data Query Language)
B. SQL DCL (ang. Data Control Language)
C. SQL DDL (ang. Data Definition Language)
D. SQL DML (ang. Data Manipulation Language)
SQL DQL (Data Query Language) to podzbiór języka SQL, który koncentruje się na formułowaniu zapytań do baz danych w celu pobierania danych. Jego głównym elementem jest polecenie SELECT, które umożliwia użytkownikom wybieranie specyficznych danych z tabel oraz ich przetwarzanie w różnorodny sposób, w tym filtrowanie, sortowanie i łączenie danych z różnych źródeł. Przykładem zastosowania DQL jest zapytanie typu 'SELECT * FROM employees WHERE department = 'Sales';', które zwraca wszystkich pracowników z działu sprzedaży. DQL jest kluczowym elementem w analizie danych oraz raportowaniu, co sprawia, że znajomość tego podzbioru jest niezbędna dla analityków danych oraz programistów. Zrozumienie i umiejętność korzystania z DQL pozwala na efektywne wykorzystanie baz danych w praktycznych zastosowaniach biznesowych, takich jak generowanie raportów, analiza trendów oraz wspieranie decyzji strategicznych. Standardy SQL określają dobre praktyki związane z tworzeniem zapytań, co pozwala na zachowanie wydajności i czytelności kodu.

Pytanie 6

Aby prawidłowo utworzyć relację typu m:n nienarażoną na redundancję danych, należy:

A. utworzyć tabelę pośredniczącą (łączącą)
B. bezpośrednio połączyć klucze obce obu tabel
C. uporządkować przynajmniej jedną z tabel
D. bezpośrednio połączyć klucze główne obu tabel
Relacji typu m:n (wiele do wielu) nie da się poprawnie odwzorować, łącząc dwie tabele bezpośrednio – kończy się to powielaniem danych. Rozwiązaniem jest tabela pośrednicząca (łącząca, asocjacyjna), która zawiera klucze obce wskazujące na obie tabele. Dzięki niej relacja m:n rozkłada się na dwie relacje typu 1:n, a każde powiązanie zapisujemy jako pojedynczy wiersz w tabeli łączącej. Taki model jest zgodny z normalizacją i nie wprowadza redundancji – dlatego poprawna jest tabela pośrednicząca.

Pytanie 7

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

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

Pytanie 8

Którego polecenia JavaScript należy użyć, aby w oknie przeglądarki wyświetliło się okno przedstawione na obrazie?

Ilustracja do pytania
A. alert(’Ile masz lat?’)
B. confirm(’Ile masz lat?’)
C. document.write(’Ile masz lat?’)
D. prompt(’Ile masz lat?’)
Prawidłowo – żeby wyświetlić w przeglądarce okno z polem tekstowym do wpisania odpowiedzi, trzeba użyć funkcji prompt(). W JavaScript wywołanie prompt('Ile masz lat?') powoduje pokazanie natywnego okna dialogowego z komunikatem oraz jednym polem input typu tekstowego. Funkcja zwraca to, co użytkownik wpisze, jako łańcuch znaków (string), albo null, jeśli kliknie „Anuluj”. Dzięki temu od razu możesz przypisać wynik do zmiennej, np.: const wiek = prompt('Ile masz lat?'); i dalej go przetwarzać w skrypcie, np. konwertować na liczbę: const wiekNum = Number(wiek); albo parseInt(wiek, 10). Z mojego doświadczenia prompt() jest często używany w prostych przykładach dydaktycznych, do szybkiego testowania logiki programu, np. pytanie o imię, wiek, hasło dostępu w wersji „demo”. W realnych aplikacjach produkcyjnych raczej unika się prompt(), bo jest mało elastyczny, trudno go ostylować i blokuje interfejs (jest modalny i synchroniczny). Standardem branżowym jest budowanie własnych okien dialogowych w HTML/CSS/JS, np. z użyciem <dialog>, frameworków UI albo bibliotek typu modal. Jednak do nauki podstaw JavaScript, zrozumienia przepływu danych między użytkownikiem a skryptem i pokazania prostych interakcji prompt() jest bardzo wygodny. Warto też pamiętać, że prompt zawsze zwraca tekst, więc jeśli dalej chcesz wykonywać obliczenia, to zgodnie z dobrymi praktykami najpierw jawnie rzutuj go na typ liczbowy i sprawdź, czy użytkownik nie wpisał bzdury (isNaN, walidacja zakresu itp.).

Pytanie 9

Funkcja zapisana w języku PHP ma postać jak poniżej. Jej zadaniem jest

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

    return 0;
}
A. wypisanie liczby nieparzystej.
B. zwrócenie wartości 1, gdy liczba jest parzysta.
C. zwrócenie wartości 0, gdy liczba jest parzysta.
D. wypisanie liczby parzystej.
Twoja odpowiedź jest poprawna. Funkcja fun1($liczba) w PHP zwraca wartość 1, gdy liczba podana jako argument jest parzysta. Jest to wynikiem działania funkcji, której składnikami są operator modulo (%) i porównanie (==). Kod ($liczba % 2 == 0) sprawdza, czy reszta z dzielenia liczby przez 2 jest równa zero, co jest prawdą dla wszystkich liczb parzystych. Jeśli warunek jest spełniony, funkcja zwraca wartość 1. Jest to typowe i efektywne podejście do sprawdzania parzystości liczb w językach programowania. Wykorzystanie operatora modulo jest powszechną praktyką, gdyż nie tylko pozwala na realizację takiej operacji, ale również jest szybkie i nie wymaga zbyt dużego nakładu zasobów procesora. Można zastosować tę wiedzę w różnych scenariuszach - na przykład, gdy potrzebujesz przeprowadzić różne operacje na podstawie parzystości lub nieparzystości liczb.

Pytanie 10

Która metoda wypisze w języku JavaScript komunikat w konsoli przeglądarki?

A.
console.print("test");
B.
console.write("test");
C.
console.log("test");
D.
console.echo("test");
Do wypisywania komunikatów w konsoli przeglądarki w JavaScript służy metoda console.log(), np. console.log("test");. Konsolę otwiera się w narzędziach deweloperskich (klawisz F12). To podstawowe narzędzie diagnostyczne – pozwala podejrzeć wartości zmiennych i przebieg działania skryptu. Obiekt console ma też metody pokrewne, np. console.error() czy console.warn(). Dlatego poprawna jest console.log("test");.

Pytanie 11

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. for
B. placeholder
C. title
D. value
Wybór atrybutów takich jak "for", "title" czy "value" w miejsce "placeholder" odzwierciedla powszechne nieporozumienia dotyczące roli różnych atrybutów w HTML. Atrybut "for" jest używany w tagu <label> do powiązania etykiety z odpowiednią kontrolką, co wspomaga dostępność, ale nie ma wpływu na to, co dzieje się w polu tekstowym. Użycie "title" również jest mylne; ten atrybut dostarcza dodatkowe informacje o elemencie poprzez dymek podpowiedzi, jednak nie wpływa na zachowanie wprowadzenia w formularzu. Atrybut "value" z kolei określa wartość domyślną pola, co również nie jest związane z podpowiedzią, ponieważ ta informacja pozostaje widoczna, nawet gdy użytkownik nie zacznie wpisywać danych. Prawidłowe zrozumienie funkcji tych atrybutów jest kluczowe dla tworzenia efektywnych i przyjaznych użytkownikowi formularzy. W wielu przypadkach, nieprawidłowe użycie tych atrybutów prowadzi do zamieszania i frustracji użytkowników, co podkreśla znaczenie znajomości standardów i dobrych praktyk w projektowaniu interfejsów. Warto również pamiętać, że dobry projekt formularza nie tylko ułatwia wprowadzanie danych, ale także wpływa na ogólne wrażenia użytkownika z korzystania z aplikacji lub strony internetowej.

Pytanie 12

Co umożliwia polecenie CREATE USER w MySQL?

A. utworzenie nowego użytkownika
B. wyświetlenie danych o użytkowniku
C. zmianę hasła istniejącego użytkownika
D. utworzenie użytkownika i nadanie mu uprawnień
Polecenie CREATE USER zakłada nowe KONTO użytkownika na serwerze MySQL, np. CREATE USER 'jan'@'localhost' IDENTIFIED BY 'haslo';. Samo utworzenie konta NIE nadaje jeszcze uprawnień do baz – te przyznaje się osobno poleceniem GRANT. Dlatego CREATE USER służy do utworzenia użytkownika.

Pytanie 13

Aby na stronie internetowej wyswietlic logo, ktorego tlo jest przezroczyste, nalezy zastosowac format:

A. BMP
B. CDR
C. JPG
D. PNG
PNG (Portable Network Graphics) to jedyny z wymienionych formatow, ktory zachowa przezroczyste tlo logo na stronie internetowej. Decyduje o tym kanal alfa - dodatkowa informacja o przezroczystosci kazdego piksela, dzieki ktorej miejsca bez grafiki pozostaja puste i przepuszczaja tlo strony. Logo wpasowuje sie wtedy w dowolne tlo bez bialego prostokata dookola. PNG stosuje przy tym kompresje bezstratna, wiec ostre krawedzie liter i jednolite barwy logo nie zostaja rozmyte. Format jest obslugiwany przez wszystkie przegladarki, co czyni go standardowym wyborem dla grafik z przezroczystoscia w sieci WWW.

Pytanie 14

Który typ danych należy przypisać atrybutowi „Telefon”, jeśli numer zaczyna się od znaku „+” i numeru kierunkowego kraju?

A. binarny
B. liczbowy
C. wyliczeniowy
D. tekstowy
Pozostałe typy się nie nadają. Typ liczbowy odrzuciłby znak „+” i obciąłby ewentualne zera na początku, a poza tym numer telefonu nie jest wartością, na której się liczy. Typ binarny przeznaczony jest na surowe dane bajtowe (np. pliki, obrazy), a nie na czytelny numer. Typ wyliczeniowy (ENUM) to wybór jednej z wcześniej zdefiniowanych wartości – numerów telefonów nie da się tak zamknąć w listę. Numer z „+” przechowuje typ tekstowy, dlatego trzecia odpowiedź jest poprawna.

Pytanie 15

Aby przeanalizować rozkład ilościowy różnych kolorów na zdjęciu, należy skorzystać z

A. desaturacji
B. histogramu
C. balansu kolorów
D. rozmycia Gaussa
Histogram to coś jak graficzna mapka kolorów w Twoim zdjęciu. Pokazuje, jak rozłożone są różne kolory – czerwony, zielony i niebieski – co jest mega przydatne, gdy chcesz zobaczyć, które kolory dominują w Twoim obrazie. Dzięki histogramowi można ogarnąć siłę kolorów i ich proporcje. Jak się nim pobawisz, to łatwiej zauważysz, czy kolory są zbyt intensywne, zbyt blade albo czy masz jakieś przepalenia czy zbyt ciemne miejsca w obrazku. Osobiście, jak używam histogramu, to mogę fajnie dostosować jasność czy kontrast, żeby zdjęcie wyglądało tak, jak chcę. W fotografii i grafice komputerowej histogramy są po prostu standardem – bez nich ciężko ocenić jakość obrazu i podjąć sensowne decyzje w postprodukcji. Dlatego naprawdę warto z nich korzystać, bo dają konkretny wgląd w kolorystykę.

Pytanie 16

Definicja stylu w CSS, którą zaprezentowano, dotyczy odsyłacza, który

a:visited {color: orange;}
A. ma wskaźnik myszy umieszczony nad sobą
B. był wcześniej odwiedzany
C. posiada niepoprawny adres URL
D. jeszcze nigdy nie został odwiedzony
Pseudoklasa :visited w CSS jest używana do stylizowania odsyłaczy, które zostały już odwiedzone przez użytkownika. Oznacza to, że przeglądarka zapisuje informacje o odwiedzonych stronach w historii przeglądania i na tej podstawie zmienia styl odsyłacza. W przykładzie a:visited {color: orange;} zmienia kolor tekstu odwiedzonych linków na pomarańczowy. Jest to powszechna praktyka stosowana w projektowaniu stron internetowych, która pomaga użytkownikom wizualnie odróżniać odwiedzone odsyłacze od nieodwiedzonych, co poprawia ich orientację na stronie. Dobre praktyki projektowania zakładają tworzenie intuicyjnych interfejsów użytkownika i użycie mechanizmu :visited do poprawy użyteczności. Ważne jest, aby unikać stosowania bardziej zaawansowanych stylów w :visited, takich jak zmiana rozmiaru czcionki czy dodawanie obrazów tła, ze względu na ograniczenia bezpieczeństwa przeglądarek, które chronią prywatność użytkowników. Korzystanie z :visited w sposób świadomy i zgodny ze standardami W3C zwiększa efektywność nawigacji i jest istotnym elementem przyjaznego projektowania stron WWW

Pytanie 17

W języku JavaScript funkcja document.getElementById(id) służy do

A. umieszczenia tekstu 'id' na stronie WWW
B. pobierania danych z pola formularza i przypisania ich do zmiennej id
C. sprawdzania poprawności formularza z identyfikatorem id
D. uzyskania odniesienia do pierwszego elementu HTML o wskazanym id
Metoda document.getElementById(id) jest kluczowym elementem API DOM (Document Object Model) w JavaScript, służącym do manipulacji elementami HTML na stronie internetowej. Jej głównym zadaniem jest zwrócenie odniesienia do pierwszego elementu, który ma określony identyfikator (id). Identyfikatory w HTML muszą być unikalne w obrębie dokumentu, co pozwala na efektywne i bezbłędne znajdowanie konkretnego elementu. Na przykład, jeśli mamy element o id 'header', możemy go uzyskać za pomocą document.getElementById('header'). To odniesienie pozwala nam na dalsze manipulacje tym elementem, takie jak zmiana jego zawartości, stylów CSS czy atrybutów. Przykładowe zastosowanie polega na tym, iż możemy zmienić tekst nagłówka na 'Witaj w moim serwisie' poprzez: document.getElementById('header').innerText = 'Witaj w moim serwisie'. Tego typu operacje są fundamentem interaktywnych aplikacji webowych i są zgodne z dobrymi praktykami w zakresie programowania JavaScript, które promują jasny i zrozumiały dostęp do struktury dokumentu.

Pytanie 18

W znaczniku <meta ...> w sekcji <meta ...> na stronie internetowej nie zamieszcza się informacji o

A. automatycznym odświeżaniu
B. autorze
C. kodowaniu
D. typie dokumentu
W znaczniku <meta> na stronach WWW umieszczane są różnorodne informacje, które pomagają w optymalizacji strony dla wyszukiwarek oraz w poprawie jej użyteczności. Jednym z elementów, które można umieścić w tym znaczniku, jest opis autora strony, co jest użyteczne w kontekście SEO, gdyż umożliwia przypisanie treści do konkretnej osoby. Innym ważnym elementem jest kodowanie, które wskazuje przeglądarce, jak interpretować znaki na stronie, co jest istotne dla poprawnego wyświetlania treści. Warto również zwrócić uwagę na automatyczne odświeżanie, które można ustawić za pomocą znacznika <meta http-equiv='refresh'>, co jest przydatne w przypadku stron, które wymagają cyklicznej aktualizacji treści. Z drugiej strony, informacja dotycząca typu dokumentu, jak na przykład tekst, HTML, czy XML, nie jest umieszczana w znaczniku <meta>. Zamiast tego, typ dokumentu jest określony w nagłówku HTTP poprzez dyrektywę Content-Type, co jest zgodne z wymaganiami protokołu HTTP i spełnia standardy W3C, które zalecają oddzielać metadane od informacji o typie dokumentu. Dlatego też, umieszczanie informacji o typie dokumentu w znaczniku <meta> jest niepoprawne i niezgodne z przyjętymi normami.

Pytanie 19

Który użytkownik domyślnie posiada pełne uprawnienia do zarządzania bazą danych w systemie MySQL?

A. sysadmin
B. admin
C. root
D. mysqld
Domyślnym kontem administracyjnym w MySQL jest root – ma pełne uprawnienia, m.in. do tworzenia baz, zakładania kont i nadawania innym uprawnień (GRANT). Ze względów bezpieczeństwa nie używa się go do codziennej pracy aplikacji: dla niej zakłada się osobnego użytkownika z ograniczonymi prawami tylko do potrzebnej bazy, a hasło root ustawia się od razu po instalacji. Dlatego pełne uprawnienia ma domyślnie użytkownik root.

Pytanie 20

Aby uzyskać dane z tabeli pracownicy wyłącznie dla osób, które osiągnęły 26 lat, należy zastosować zapytanie

A. SELECT * FROM pracownicy WHERE wiek > '25'
B. SELECT * FROM pracownicy OR wiek > '25'
C. SELECT * FROM wiek WHERE pracownicy > '25'
D. SELECT * FROM pracownicy AND wiek > '25'
Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > '25';'. To zapytanie jest zgodne z zasadami SQL i pozwala na wyświetlenie wszystkich rekordów z tabeli 'pracownicy', które spełniają określony warunek dotyczący wieku. Używając klauzuli WHERE, precyzyjnie filtrujemy wyniki i zwracamy tylko tych pracowników, którzy mają więcej niż 25 lat. Warto pamiętać, że w SQL operator '>' jest wykorzystywany do porównywania wartości, a w tym przypadku pozwala nam na wybranie pracowników, którzy ukończyli 26 lat. Przy projektowaniu zapytań SQL, kluczowe jest stosowanie odpowiednich warunków filtrujących, aby ograniczyć zwracane dane do tych istotnych dla analiz. Przykładowo, analiza wieku pracowników w kontekście przyznawania dodatków lub przeprowadzania szkoleń może opierać się na takich zapytaniach. W praktyce, ważne jest także wykorzystanie indeksów w bazach danych, aby zwiększyć wydajność zapytań, zwłaszcza w dużych zbiorach danych.

Pytanie 21

Rezultatem wykonania podanego zapytania SQL jest

SELECT count(*) FROM Uczniowie WHERE srednia = 5;
A. Suma ocen uczniów, których średnia ocen wynosi 5.
B. Całkowita liczba uczniów.
C. Średnia ocen wszystkich uczniów.
D. Liczba uczniów, którzy mają średnią ocen równą 5.
Zapytanie SQL, które zostało przedstawione, używa funkcji `COUNT(*)` w celu zliczenia wszystkich wierszy w tabeli `Uczniowie`, które spełniają określone kryterium w klauzuli `WHERE`. W tym przypadku kryterium to jest `srednia = 5`. Oznacza to, że zapytanie zlicza wszystkich uczniów, których średnia ocen wynosi dokładnie 5. Takie użycie `COUNT(*)` jest zgodne ze standardami SQL, gdzie funkcja ta służy do zliczania wszystkich wierszy w zbiorze wyników, które spełniają dane warunki. W praktyce, uzyskanie liczby uczniów z określoną średnią może być przydatne w analizie statystycznej lub raportowaniu wyników akademickich. Zrozumienie, jak korzystać z `COUNT(*)` w połączeniu z różnymi warunkami `WHERE`, jest kluczowe dla efektywnego zarządzania i analizowania danych w bazach danych SQL. Dzięki temu można wydobywać konkretne informacje, które wspierają podejmowanie decyzji w edukacji i zarządzaniu danymi.

Pytanie 22

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 23

Jakie zapytanie pozwoli Administratorowi cofnąć uprawnienia do przeglądania oraz modyfikacji danych w bazie gazeta dla użytkownika redaktor?

A. REVOKE SELECT, ALTER ON gazeta.* FROM 'redaktor'@'localhost';
B. GRANT SELECT, UPDATE ON gazeta.* TO 'redaktor'@'localhost';
C. REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost';
D. GRANT SELECT, ALTER ON gazeta.* TO 'redaktor'@'localhost';
Wybrana odpowiedź jest poprawna, ponieważ polecenie REVOKE służy do odbierania wcześniej przyznanych uprawnień użytkownikowi w systemie zarządzania bazą danych. W tym przypadku, REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost'; skutecznie odbiera prawo do przeglądania (SELECT) oraz aktualizacji (UPDATE) danych w bazie danych 'gazeta' dla użytkownika 'redaktor'. Przykładowe zastosowanie tego zapytania może mieć miejsce w sytuacji, gdy redaktor przestaje pełnić swoją funkcję i nie powinien już mieć dostępu do tych informacji. Standardową praktyką w zarządzaniu dostępem do baz danych jest stosowanie zasady najmniejszych uprawnień, co oznacza, że użytkownik powinien mieć tylko te uprawnienia, które są mu niezbędne do wykonywania swoich obowiązków. W przypadku, gdy konieczne jest zmodyfikowanie uprawnień, zamiast usuwania użytkownika, łatwiej jest po prostu odebrać mu konkretne prawa, co jest dokładnie tym, co robi to polecenie.

Pytanie 24

Zdefiniowano funkcję w języku PHP:

function policz($Z) { 
while($Z < 5) {
$Z += 2 * $Z + 1;
}
return $Z;
}
Funkcja policz została wywołana z parametrem $Z = 1. Jaki rezultat zostanie zwrócony?
A. 7
B. 13
C. 1
D. 4
Funkcja policz w języku PHP działa na zmiennej $Z, która jest inicjowana wartością 1. W pętli while sprawdzany jest warunek, czy $Z jest mniejsze niż 5. W przypadku, gdy $Z wynosi 1, warunek jest spełniony, a funkcja przechodzi do ciała pętli. Wewnątrz pętli $Z jest aktualizowane poprzez wyrażenie $Z += 2 * $Z + 1. Oznacza to, że do $Z dodawana jest wartość 2 * $Z + 1, co dla $Z = 1 daje 2 * 1 + 1 = 3. Po pierwszym kroku $Z osiąga wartość 4. Pętla while sprawdza ponownie warunek: 4 < 5, co również jest prawdą. W drugim kroku $Z = 4, więc $Z zostaje zaktualizowane do 4 + 2 * 4 + 1, co daje 4 + 8 + 1 = 13. Po tym kroku $Z staje się 13 i pętla while zakończy działanie, ponieważ 13 nie jest już mniejsze niż 5. Funkcja zwraca wartość 13, co czyni tę odpowiedź poprawną. Tego typu operacje są typowe w sytuacjach, gdzie potrzeba wielokrotnego aktualizowania wartości na podstawie obliczeń matematycznych, a ich zrozumienie jest kluczowe w programowaniu.

Pytanie 25

W HTML zdefiniowano hiperłącze zawierające znak #. Co się wydarzy po kliknięciu na ten odsyłacz?

<a href="#dane"></a>
A. Otworzy się nowa karta przeglądarki o nazwie dane
B. Uruchomi się skrypt o nazwie dane
C. Strona przewinie się do elementu o id równym dane
D. Zostanie wskazany względny adres URL o nazwie dane
W HTML znacznik <a> to taki element, który tworzy hiperłącza. Dzięki nim możesz przeskakiwać po stronie lub między różnymi stronami. Atrybut href wskazuje, dokąd prowadzi to łącze. Jak widzisz, gdy href zaczyna się od #, to znaczy, że przeniesie Cię do konkretnego miejsca na tej samej stronie, które jest oznaczone atrybutem id. Czyli, jeśli masz href="#dane", to strona przewinie się do elementu z id="dane". To bardzo przydatna rzecz, szczególnie na długich stronach, bo zamiast przewijać wszystko, możesz od razu trafić do odpowiedniej sekcji. To zgodne z tymi sztywnymi zasadami W3C, które mówią o tym, że strony powinny być łatwe w obsłudze. Powinieneś też pamiętać, żeby zawsze sprawdzać, czy id, do którego się odnosisz, istnieje. Dzięki temu unikniesz problemów z nawigacją.

Pytanie 26

Rodzaj programowania, w którym sekwencja poleceń (instrukcji) dostarczanych komputerowi jest traktowana jako program, określa się mianem programowania

A. logicznogo
B. stanowego
C. funkcyjnego
D. imperatywnego
Programowanie funkcyjne, logiczne oraz stanowe to inne style kodowania, które się różnią od imperatywnego. Każdy z nich ma swoją specyfikę i zastosowania. Na przykład w programowaniu funkcyjnym tworzymy programy jako zestaw funkcji, które operują na danych, starając się zminimalizować skutki uboczne. To z kolei kłóci się z imperatywnym myśleniem, bo tam idziemy bardziej w sekwencje instrukcji. Programowanie logiczne skupia się na regułach i relacjach, a nie na tym, co się dzieje w jakiej kolejności. To sprawia, że jest lepsze do sztucznej inteligencji czy przetwarzania danych. Programowanie stanowe natomiast dotyczy stanów systemu i przejść między nimi, co jest pomocne w systemach reaktywnych. Te różnice są ważne, bo nie można uważać, że wszystkie te paradygmaty są takie same lub da się je zamieniać bez zastanowienia. Ważne jest, aby zrozumieć, kiedy i jak używać różnych narzędzi i metod, zależnie od projektu, który realizujemy.

Pytanie 27

W języku JavaScript rezultat wykonania instrukcji zmienna++; będzie równy wynikowi instrukcji

A. zmienna === zmienna + 1;
B. zmienna = zmienna + 10;
C. zmienna--;
D. zmienna += 1;
Wybór odpowiedzi sugerujących <span>zmienna--;</span> jest mylny, ponieważ operator <span>--</span> to operator dekrementacji, który zmniejsza wartość zmiennej o 1, co stoi w sprzeczności z celem inkrementacji. Implementacja <span>zmienna === zmienna + 1;</span> jest także błędna z dwóch powodów. Po pierwsze, porównuje wartość zmiennej z wartością zmiennej zwiększonej o 1, co w większości przypadków zwróci <span>false</span>, a nie zwiększa samej zmiennej. Takie porównania są używane w logice warunkowej, jednak nie mają zastosowania w kontekście zwiększania wartości zmiennej. Ostatnia propozycja <span>zmienna = zmienna + 10;</span> jest niepoprawna, ponieważ zwiększa wartość o 10, a nie o 1, co diametralnie zmienia wynik działania. Warto pamiętać, że w programowaniu istotne jest zrozumienie działania operatorów i ich zastosowania, aby uniknąć błędów logicznych, które mogą prowadzić do nieprzewidzianych wyników. Używając typowych konstrukcji w JavaScript, jak pętle czy funkcje, programiści często korzystają z operatorów inkrementacji i przypisania, co sprawia, że ich prawidłowe wykorzystanie jest kluczowe w codziennej pracy. Zrozumienie różnic między tymi operatorami jest zatem fundamentem w nauce programowania w JavaScript.

Pytanie 28

W SQL wykorzystywanym przez system baz danych MySQL atrybut UNIQUE w poleceniu CREATE TABLE

A. Wymusza unikalne nazwy kolumn w tabeli
B. Jest używany, gdy wartości w kolumnie nie mogą się powtarzać
C. Jest stosowany wyłącznie w przypadku kolumn liczbowych
D. Zabrania wprowadzenia wartości NULL
Istnieje kilka powszechnych nieporozumień dotyczących atrybutu UNIQUE w kontekście relacyjnych baz danych, które mogą prowadzić do błędnych wniosków. Przede wszystkim, twierdzenie, że atrybut UNIQUE wymusza unikatowe nazwy pól tabeli, jest nieprecyzyjne. UNIKATOWOŚĆ odnosi się do wartości przechowywanych w kolumnie, a nie do nazw kolumn. W rzeczywistości, nowa kolumna nie może mieć takiej samej nazwy jak istniejąca kolumna w tej samej tabeli, co jest regułą odzwierciedlającą strukturalne ograniczenia bazy danych, ale nie ma to związku z atrybutem UNIQUE. Ponadto, atrybut ten nie blokuje możliwości wpisania wartości NULL w kolumnach. W MySQL, kolumna z atrybutem UNIQUE może zawierać wiele wartości NULL, ponieważ NULL jest traktowane jako wartość nieokreślona i nie jest uważane za duplikat. Dlatego stwierdzenie, że UNIQUE blokuje możliwość wpisania wartości NULL, jest mylące. Co więcej, atrybut UNIQUE nie jest ograniczony tylko do pól liczbowych; może być zastosowany do dowolnego typu danych, w tym tekstowych czy datowych. Stosowanie UNIQUE w zbiorach danych, które nie wymagają unikalności, może prowadzić do zbędnych błędów i komplikacji podczas wprowadzania danych. Dlatego ważne jest, aby zrozumieć, że atrybut ten odnosi się do wartości w kolumnach, a nie do ich typów czy nazw, co jest kluczowe dla efektywnego projektowania baz danych.

Pytanie 29

Element

<meta charset="utf-8">
służy do definiowania metadanych witryny internetowej związanych z
A. językiem witryny
B. słowami kluczowymi
C. kodowaniem znaków
D. opisem witryny
Wybór odpowiedzi dotyczącej opisu strony, języka strony czy słów kluczowych wskazuje na pewne nieporozumienia dotyczące roli tagu <meta charset="utf-8">. Elementy te pełnią zupełnie inne funkcje i nie są związane z kodowaniem znaków, co jest kluczowym aspektem dla prawidłowego renderowania treści w przeglądarkach. Opis strony, zazwyczaj definiowany przez <meta name="description">, ma na celu przedstawienie krótkiego streszczenia zawartości witryny, co wpływa na SEO, ale nie ma związku z kodowaniem. Z kolei język strony określany jest poprzez <html lang="pl"> i informuje przeglądarki oraz wyszukiwarki, w jakim języku jest napisana strona, co również nie dotyczy aspektów kodowania znaków. Wreszcie, słowa kluczowe, definiowane w tagu <meta name="keywords">, są używane do optymalizacji wyszukiwania, lecz nie mają wpływu na to, jak znaki są kodowane i wyświetlane. Takie nieprecyzyjne rozumienie może prowadzić do problemów z dostępnością i użytecznością stron, szczególnie w kontekście międzynarodowym. Zrozumienie specyfiki działania tagu <meta charset="utf-8"> oraz jego roli w wyświetlaniu treści jest kluczowe dla każdego twórcy stron internetowych, aby zapewnić właściwą komunikację i prezentację treści dla wszystkich użytkowników.

Pytanie 30

Jakie będzie rezultatem działania poniższego kodu PHP?

$a = $c = true; 
$b = $d = false;
if(($a && $b) || ($c && $d)) echo 'warunek1';
elseif(($a && $b) || ($c || $d)) echo 'warunek2';
elseif(($c && $d) || (!$a)) echo 'warunek3';
else echo 'warunek4';
A. warunek2
B. warunek3
C. warunek4
D. warunek1
Kod PHP zawiera kilka warunków logicznych w strukturze if-else. Przy początkowych wartościach zmiennych, $a i $c są równe true, natomiast $b i $d są false. Pierwszy warunek if sprawdza czy ($a && $b) || ($c && $d), co tłumaczy się na (true && false) || (true && false), co daje false || false, a w rezultacie false. Zatem warunek się nie spełnia i przechodzimy do kolejnego. W elseif mamy ($a && $b) || ($c || $d), co oznacza (true && false) || (true || false), co daje false || true, czyli true. Ten warunek się spełnia i wyświetla 'warunek2'. Kod przechodzi do następnego elseif tylko wtedy, gdy poprzednie warunki były false, co w tym przypadku nie ma miejsca. W praktyce, analizując kod PHP, ważne jest zrozumienie operatorów logicznych: && oznacza 'i', || oznacza 'lub', a ! oznacza negację. Prawidłowe stosowanie tych operatorów jest kluczowe w programowaniu warunkowym, pozwalając na kontrolę przepływu programu i podejmowanie decyzji w oparciu o złożone logiki. Użycie elseif pozwala na czytelne i klarowne rozgałęzienie kodu, co jest dobrą praktyką w pisaniu złożonych skryptów.

Pytanie 31

Który z kodów PHP sprawi, że zostanie wyświetlona sformatowana data oraz czas ostatnich odwiedzin użytkownika witryny, natomiast podczas pierwszej wizyty nic się nie wyświetli?

Kod 1.   echo date('d.m.Y, H:i', $_COOKIE['c1']);
         setcookie('c1', time());

Kod 2.   if(isset($_COOKIE['c1']))
           echo date($_COOKIE['c1']);
         setcookie('c1', time(), time() + 30 * 86400);

Kod 3.   echo date($_COOKIE['c1']);
         setcookie('c1', time(), time() + 30 * 86400);

Kod 4.   setcookie('c1', time(), time() + 30 * 86400);
A. Kod 1.
B. Kod 3.
C. Kod 2.
D. Kod 4.
Prawidłowa odpowiedź to Kod 2. Ten kod wykorzystuje funkcję isset() w PHP do sprawdzenia, czy ciasteczko o nazwie 'c1' jest już ustawione. Jeżeli tak, oznacza to, że użytkownik odwiedził stronę wcześniej i kod wyświetla datę i czas jego ostatnich odwiedzin zapisane w tym ciasteczku. Następnie ciasteczko jest aktualizowane i zapisuje obecny czas, który będzie wyświetlany podczas następnej wizyty. Jeżeli ciasteczko 'c1' nie istnieje, oznacza to, że jest to pierwsza wizyta użytkownika na stronie. W takim przypadku kod nie wyświetla nic, a jedynie tworzy ciasteczko 'c1' z aktualnym czasem. To podejście jest zgodne z dobrymi praktykami w PHP, które zalecają użycie funkcji isset() do sprawdzenia istnienia zmiennej przed jej użyciem, co pozwala uniknąć błędów w przypadku, gdy zmienna nie jest zdefiniowana. Korektnie użycie ciasteczek pozwala na śledzenie aktywności użytkownika i dostosowywanie treści do jego potrzeb.

Pytanie 32

Zawarty blok ilustruje proces

Ilustracja do pytania
A. realizacji zadania w pętli
B. wykorzystania zdefiniowanej procedury lub funkcji
C. odczytu lub prezentacji danych
D. podjęcia decyzji
Wczytywanie lub wyświetlanie danych nie jest poprawnie reprezentowane przez romb w diagramach przepływu sterowania ponieważ te procesy zazwyczaj są liniowe i deterministyczne co oznacza że nie wymagają oceny warunków ani podejmowania decyzji W schematach blokowych wczytywanie lub wyświetlanie danych jest często przedstawiane przez inne symbole jak paralelogram który jednoznacznie wskazuje na operacje wejścia-wyjścia Zastosowanie gotowej procedury lub funkcji również nie jest zgodne z ideą rombu ponieważ procedury i funkcje są zazwyczaj wywoływane w sposób bezwarunkowy i nie wymagają oceny warunkowej Proces ten może być reprezentowany przez prostokąt symbolizujący wykonanie bloku kodu Wykonanie zadania w pętli podobnie jak wywołanie funkcji wymaga innego podejścia do symbolizacji Zwykle wykonanie zadania w pętli jest reprezentowane przez połączenie kilku symboli gdzie romb może występować jako część warunku przerywającego pętlę lub określającego jej kontynuację jednak sam fakt wykonania zadania w pętli nie jest bezpośrednio związany z podejmowaniem decyzji podejmowane decyzje są raczej częścią bardziej złożonej logiki kontrolnej Stąd błędne zaklasyfikowanie tych procesów do grupy zadań decyzyjnych wynika z niezrozumienia roli poszczególnych elementów diagramów przepływu sterowania i ich zastosowania w strukturze programu

Pytanie 33

Dany jest fragment kodu PHP z zadeklarowaną zmienną typu tablicowego W wyniku wykonania kodu zostanie wypisane imię

$imiona = array('Anna', 'Tomasz', 'Krzysztof', 'Aleksandra');
echo $imiona[2];
A. Krzysztof
B. Tomasz
C. Anna
D. Aleksandra
Brawo! Twoja odpowiedź jest poprawna. Zrozumienie jak funkcje w języku PHP przetwarzają i manipulują danymi, szczególnie w kontekście tablic, jest absolutnie kluczowe. W podanym fragmencie kodu PHP, funkcja 'echo' jest użyta do wypisania elementu tablicy '$imiona' o indeksie [2]. Elementem tym jest 'Krzysztof', co jest poprawnym rozwiązaniem. PHP, jako język programowania obsługujący tablice indeksowane i asocjacyjne, pozwala na wybieranie konkretnych elementów tablicy poprzez podanie indeksu w kwadratowych nawiasach po nazwie tablicy. Jest to standardowa i często wykorzystywana praktyka w programowaniu, która umożliwia efektywne zarządzanie danymi. Dzięki temu, możemy manipulować danymi z różnych segmentów kodu, co daje nam większą elastyczność i kontrolę nad programem.

Pytanie 34

Które z poniższych twierdzeń o zasadach programowania w PHP jest poprawne?

A. Deklaracja zmiennych odbywa się po słowie kluczowym var
B. Jest to język o słabej kontroli typów
C. W nazwach zmiennych nie rozróżnia się wielkości liter
D. Nazwy zmiennych zaczynają się od znaku !
PHP jest językiem o słabej kontroli typów, co oznacza, że nie wymaga określenia typu zmiennej podczas jej deklaracji. W praktyce, PHP automatycznie konwertuje typy danych w zależności od kontekstu, w którym są używane. Przykładowo, jeśli przypiszesz do zmiennej wartość liczbową, a następnie użyjesz jej w kontekście tekstowym, PHP przekształci tę liczbę na łańcuch znaków automatycznie. Dzięki temu programiści mogą skupić się na logice aplikacji, a nie na zarządzaniu typami danych. Ważne jest jednak, aby pamiętać, że ta elastyczność może prowadzić do błędów, jeśli nie będziemy ostrożni. Dlatego dobrym podejściem jest stosowanie jawnych konwersji typów, gdy jest to możliwe, co zwiększa czytelność kodu i ułatwia jego późniejsze utrzymanie. Używanie funkcji takich jak (int), (float) czy (string) w celu wymuszenia określonych typów danych przed operacjami arytmetycznymi lub logicznymi, to praktyka, która może zapobiec wielu problemom z nieoczekiwanym zachowaniem skryptów. Znalezienie równowagi między wygodą a bezpieczeństwem typów jest kluczowym elementem programowania w PHP.

Pytanie 35

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. Określania długości tekstu
C. Usuwania białych znaków lub innych znaków wymienionych w parametrze z obu końców tekstu
D. Redukowania długości tekstu o określoną w parametrze liczbę znaków
Wybór odpowiedzi, która sugeruje, że funkcja trim w PHP zmniejsza napis o wskazaną w parametrze liczbę znaków, jest błędny. Funkcja ta nie ma na celu manipulacji długością napisu w taki sposób, ale raczej skupia się na usuwaniu zbędnych znaków z jego końców. Użytkownicy często mylą działanie trim z innymi funkcjami związanymi z obróbką łańcuchów tekstowych, co prowadzi do nieporozumień. Z kolei przekonanie, że trim porównuje dwa napisy i wypisuje ich część wspólną, jest także mylne, ponieważ nie dostarcza funkcjonalności porównywania tekstów. PHP oferuje inne funkcje, takie jak strcmp, które są przeznaczone do porównywania łańcuchów. Kolejna nieprawidłowa koncepcja to założenie, że trim służy do podawania długości napisu - na to zadanie są dedykowane inne funkcje, jak strlen. Różne funkcje w PHP mają specyficzne zastosowania, co jest istotne w kontekście dobrych praktyk programistycznych, ponieważ stosowanie niewłaściwych funkcji może prowadzić do nieefektywności i błędów w kodzie. Warto zatem dokładnie zapoznawać się z dokumentacją PHP i zrozumieć, jakie są cele i zastosowania konkretnych funkcji, aby uniknąć typowych pułapek i błędów w programowaniu.

Pytanie 36

Aby zdefiniować krój czcionki w stylu CSS, należy użyć właściwości:

A.
text-style
B.
font-style
C.
font-family
D.
text-family
Krój (rodzinę) czcionki ustawia w CSS właściwość font-family. Podaje się w niej nazwę czcionki, a zwykle także listę zapasowych i ogólną rodzinę, na przykład font-family: Arial, sans-serif – przeglądarka użyje pierwszej dostępnej. Pozwala to zachować spójny wygląd tekstu nawet, gdy konkretna czcionka nie jest zainstalowana. Dlatego do zdefiniowania kroju czcionki służy font-family.

Pytanie 37

W którym z bloków powinien znaleźć się warunek pętli?

Ilustracja do pytania
A. D.
B. A.
C. C.
D. B.
Blok oznaczony literą C jest symbolem decyzji w diagramach przepływu i jest używany do umieszczania warunków pętli w programowaniu. Symbol ten, przypominający romb, pozwala na zadanie pytania lub warunku, który decyduje o dalszym przebiegu działania programu. W praktyce, w językach programowania takich jak C++ czy Python, pętle warunkowe takie jak 'while' lub 'for' wymagają zdefiniowania warunku, który kontroluje liczbę iteracji. Blok decyzyjny umożliwia tworzenie logiki kontrolowanej przez dane wejściowe, co jest fundamentalne dla dynamicznych i responsywnych aplikacji. Zastosowanie bloku decyzyjnego zgodnie ze standardami branżowymi, jak np. UML (Unified Modeling Language), jest kluczowe dla tworzenia zrozumiałych i skalowalnych diagramów przepływu. Dzięki temu, programiści mogą łatwo komunikować algorytmy złożone z sekwencji warunków i decyzji, co jest niezbędne w projektowaniu oprogramowania o dużej złożoności. Praktyczne zrozumienie i stosowanie warunków w blokach decyzyjnych jest kluczowe dla tworzenia efektywnych rozwiązań programistycznych.

Pytanie 38

W edytorze grafiki wektorowej stworzono przedstawiony kształt, który powstał z dwóch figur: trójkąta i koła. W celu stworzenia tego kształtu, po narysowaniu figur i odpowiednim ich ustawieniu, należy skorzystać z funkcji

Ilustracja do pytania
A. różnicy.
B. wykluczenia.
C. sumy.
D. rozdzielenia.
Wybór odpowiedzi 'Wykluczenia', 'Różnicy' lub 'Rozdzielenia' jest błędny w tym kontekście. Funkcje te są używane w innych celach w edytorach grafiki wektorowej. 'Różnica' jest używana do odejmowania jednej figury od innej, co nie jest potrzebne do tworzenia kształtu pokazanego na zdjęciu. 'Rozdzielenie' służy do rozdzielania złożonych kształtów na prostsze elementy, co także nie jest potrzebne w tym przypadku. 'Wykluczenia' używa się do tworzenia kształtów z wykluczeniem wspólnych obszarów. Często błędem jest mylenie tych funkcji i niewłaściwe ich stosowanie, co prowadzi do niespodziewanych wyników. Zasada jest taka, że każda z tych funkcji ma swoje specyficzne zastosowanie, i ważne jest zrozumienie tego, zanim zaczniemy pracować z edytorem grafiki wektorowej. W tym przypadku, aby uzyskać pokazany kształt, powinniśmy skorzystać z funkcji 'Sumy'.

Pytanie 39

Na ilustracji widoczne są dwie tabele. Aby stworzyć relację jeden do wielu, gdzie jeden jest po stronie Klienci, a wiele po stronie Zamowienia, należy

Ilustracja do pytania
A. Połączyć relacją pola ID z obu tych tabel
B. Wprowadzić pole klucza obcego do tabeli Klienci i połączyć je z ID tabeli Zamowienia
C. Wprowadzić pole klucza obcego do tabeli Zamowienia i połączyć je z ID tabeli Klienci
D. Utworzyć trzecią tabelę z dwoma kluczami obcymi. Jeden klucz połączyć z ID tabeli Klienci, a drugi z ID tabeli Zamowienia
Dodanie pola klucza obcego do tabeli Klienci i połączenie go z ID tabeli Zamowienia nie jest poprawne ponieważ relacja jeden do wielu wymaga aby klucz obcy znajdował się po stronie tabeli która reprezentuje wiele elementów czyli w tym przypadku Zamowienia Jeśli połączymy relacją pola ID z obu tabel nie uzyskamy semantyki relacji jeden do wielu a jedynie relację równoważności co nie odzwierciedla rzeczywistego scenariusza w którym jeden klient może posiadać wiele zamówień Zdefiniowanie trzeciej tabeli z dwoma kluczami obcymi przypomina projektowanie tabeli asocjacyjnej stosowanej raczej w relacjach wiele do wielu niż jeden do wielu Taka konstrukcja jest bardziej skomplikowana i niepotrzebna w tym konkretnym przypadku wprowadza nadmiarowość oraz dodatkowe obciążenie operacyjne Takie błędne podejścia mogą wynikać z niezrozumienia podstawowych zasad modelowania danych oraz zaniedbania w stosowaniu dobrych praktyk projektowych takich jak normalizacja baz danych i optymalizacja struktury relacyjnej Prowadzą one do nieefektywnego przetwarzania danych i trudności w ich późniejszym zarządzaniu

Pytanie 40

Który opis dotyczy metody POST przesyłania formularza?

A. jest zalecana przy przesyłaniu danych wrażliwych (hasło, numer karty)
B. można ją zapisać jako zakładkę w przeglądarce
C. dane są przesyłane w adresie URL, widoczne dla użytkownika
D. ma ograniczenie długości adresu do 255 znaków
Metoda POST przesyła dane formularza w TREŚCI (ciele) żądania HTTP, a nie w adresie URL – dlatego nie są one widoczne w pasku adresu, nie zapisują się w historii ani w zakładkach i nie podlegają limitowi długości URL. Z tych powodów POST jest zalecany do przesyłania danych wrażliwych: haseł, numerów telefonu czy kart. Warto pamiętać, że samo POST nie szyfruje danych – do tego potrzebne jest HTTPS. Dlatego POST opisuje zdanie o danych wrażliwych.