Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 4 maja 2025 13:07
  • Data zakończenia: 4 maja 2025 13:17

Egzamin zdany!

Wynik: 22/40 punktów (55,0%)

Wymagane minimum: 20 punktów (50%)

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

Wskaż właściwą sekwencję kroków w procesie projektowania relacyjnej bazy danych?

A. Określenie kluczy głównych tabel, Określenie zbioru danych, Selekcja, Określenie relacji
B. Selekcja, Określenie relacji, Określenie kluczy głównych tabel, Określenie zbioru danych
C. Określenie zbioru danych, Selekcja, Określenie kluczy głównych tabel, Określenie relacji
D. Określenie relacji, Określenie kluczy głównych tabel, Selekcja, Określenie zbioru danych
Poprawna odpowiedź to 'Określenie zbioru danych, Selekcja, Określenie kluczy podstawowych tabel, Określenie relacji'. Ta kolejność pokazuje, jak działa projektowanie relacyjnej bazy danych. Na początku trzeba określić, jakie dane będą przechowywane, czyli stworzyć zbiór danych. Potem trzeba wybrać, które z tych informacji są ważne i jak je ułożyć. Następnie ustalamy klucze podstawowe dla tabel. To ważne, żeby dane były unikalne i łatwe do zidentyfikowania. Na końcu definiujemy relacje między tabelami, co pozwala zrozumieć, jak dane ze sobą współpracują. Na przykład, kiedy projektujemy bazę danych dla szkoły, zbór danych może obejmować uczniów, nauczycieli i przedmioty. Wybierając dane, możemy zdecydować, że potrzebujemy imienia, nazwiska i przedmiotów, które uczniowie uczą się. Klucze podstawowe są wtedy używane do identyfikacji uczniów, a relacje pokazują, jak uczniowie są powiązani z nauczycielami i przedmiotami.

Pytanie 2

Za pomocą zapytania SQL trzeba uzyskać z bazy danych nazwiska pracowników, którzy pełnią funkcję kierownika, a ich wynagrodzenie mieści się w przedziale jednostronnie domkniętym (3000, 4000>. Która klauzula sprawdza ten warunek?

A. WHERE kierownik = true OR pensja > 3000 OR pensja <= 4000
B. WHERE kierownik = true AND pensja => 3000 OR pensja < 4000
C. WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000
D. WHERE kierownik = true AND pensja => 3000 AND pensja <= 4000
Wszystkie pozostałe odpowiedzi zawierają błędne podejścia do formułowania odpowiednich warunków w zapytaniu SQL. Przykładowo, pierwsza z odpowiedzi sugeruje użycie operatora '=>', który jest nieprawidłowy, ponieważ w standardowym SQL powinien być użyty operator '>=', który oznacza 'większy lub równy'. Użycie tego operatora w tym kontekście powoduje, że zapytanie zwraca pracowników z pensją równą 3000, co jest niezgodne z wymaganym przedziałem. Kolejna odpowiedź wykorzystuje operator '>', co jest poprawne, ale połączenie go z 'pensja <= 4000' w sposób, w jaki to zostało sformułowane, również nie spełnia wymogu jednostronnego domknięcia przedziału. Oznacza to, że odpowiedź ta nie respektuje struktury zadania, które precyzuje, iż dolna granica pensji powinna być wyłączona, a górna włączona. Odpowiedzi oparte na operatorze 'OR' w przypadku niektórych odpowiedzi wprowadzają zamieszanie, ponieważ sugerują, że jakikolwiek spełniony warunek (kierownik lub pensja) wystarczy do zwrócenia pracownika. To jest fundamentalny błąd w logice zapytania, ponieważ nie uwzględnia wymogu, że oba warunki muszą być jednocześnie spełnione, aby właściwie zdefiniować grupę pracowników. Prawidłowe formułowanie zapytań SQL wymaga zrozumienia operatorów logicznych oraz zasad filtracji danych, co jest kluczowe dla skutecznej analizy i zarządzania danymi w bazach danych.

Pytanie 3

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

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';

A. jedynie operacje manipulowania danymi i zmienić jedynie swoje prawa.
B. wszystkie operacje na tabelach bazy dane oraz nadawać prawa innym użytkownikom.
C. wszystkie operacje na tabelach bazy dane.
D. jedynie operacje CREATE, ALTER, DROP na tabelach bazy dane.
Prawidłowo zauważyłeś, że użytkownikowi Jan przypisano wszystkie uprawnienia (GRANT ALL PRIVILEGES) na bazie danych o nazwie 'dane.*'. Przyznanie pełnych uprawnień obejmuje możliwość tworzenia, modyfikowania, usuwania tabel, jak również manipulowania danymi w tych tabelach. W praktyce oznacza to, że Jan ma pełną kontrolę nad bazą danych. Jest to możliwe dzięki konstrukcji GRANT, która jest standardem w zarządzaniu uprawnieniami w relacyjnych bazach danych. Pozwala ona na precyzyjne definiowanie, jakie operacje może wykonywać dany użytkownik. Taka granularna kontrola jest kluczowa dla bezpieczeństwa systemów bazodanowych. Pamiętaj, że nadawanie pełnych uprawnień jest odpowiednie jedynie w sytuacjach, gdy użytkownik jest całkowicie zaufany - w innym przypadku, powinno się ograniczyć uprawnienia do tych, które są niezbędne do wykonania pewnych zadań.

Pytanie 4

W formularzu wartość z pola input o typie number została przypisana do zmiennej a i następnie przetworzona w skrypcie JavaScript w poniższy sposób. Jaki typ będzie miała zmienna z?

var z = parseFloat(a);

A. NaN
B. liczbowego, całkowitego
C. zmiennoprzecinkowego
D. napisowego
W kontekście działania funkcji parseFloat() ważne jest zrozumienie, dlaczego niektóre odpowiedzi mogą być błędne. Funkcja ta przetwarza dane tekstowe na liczby zmiennoprzecinkowe, więc oczekiwanie, że wynik będzie typu liczbowego całkowitego, jest nieprawidłowe. Bardzo często pojawia się błędne założenie, że skoro do funkcji przekazano liczbę całkowitą, to wynik również powinien być typu całkowitego. W rzeczywistości parseFloat() zawsze zwraca typ zmiennoprzecinkowy, co ma na celu zapewnienie elastyczności w przetwarzaniu zarówno liczb całkowitych, jak i dziesiętnych. Kolejnym nieporozumieniem jest oczekiwanie, że funkcja zwróci NaN. Taka sytuacja miałaby miejsce tylko wtedy, gdyby łańcuch zaczynał się od znaków niemożliwych do zinterpretowania jako liczba. Błędne jest również przypuszczenie, że wynik będzie typu tekstowego czy napisowego, ponieważ głównym celem parseFloat() jest konwersja tekstu do liczby, a nie odwrotnie. Zrozumienie tych subtelności pozwala uniknąć typowych błędów myślowych, takich jak zakładanie, że wszystkie wartości pochodzące z pól input zawsze mają poprawny typ przed interpretacją. Warto przy tym pamiętać o dobrych praktykach w programowaniu, które nakazują świadome zarządzanie typami danych, zwłaszcza w językach dynamicznie typowanych, jakim jest JavaScript. Dzięki temu programy stają się bardziej odporne na błędy wynikające z nieoczekiwanych typów danych.

Pytanie 5

Jaką instrukcję pętli stosuje się do przeprowadzenia określonej liczby operacji na obiekcie lub zmiennej, która nie jest tablicą?

A. foreach
B. for
C. if
D. switch
Wybór instrukcji 'switch' jako odpowiedzi na pytanie o pętlę wykonującą określoną liczbę operacji jest błędny z podstawowego powodu, że 'switch' nie jest pętlą. Jest to struktura kontrolna używana do wyboru jednego z wielu bloków kodu do wykonania, w zależności od wartości zmiennej. Zastosowanie 'switch' jest zatem ograniczone do sytuacji, gdy chcemy wykonywać różne operacje w zależności od konkretnej wartości, a nie do powtarzania tych samych operacji wielokrotnie. Z kolei 'foreach' jest konstrukcją, która służy do iteracji przez kolekcje lub tablice, co również nie odpowiada na postawione pytanie o pętlę wykonującą ustaloną liczbę operacji na pojedynczej zmiennej. Użycie 'if' jest również mylące; jest to instrukcja warunkowa, która decyduje o tym, czy dany blok kodu powinien zostać wykonany w oparciu o spełnienie określonych warunków. W praktyce, błędne zrozumienie roli i funkcji tych konstrukcji często prowadzi do nieefektywnego kodu, który może być trudny do zrozumienia i utrzymania. Kluczowe jest zrozumienie różnicy pomiędzy strukturami kontrolnymi a pętlami, co pozwoli na właściwe podejście do programowania i skuteczne zarządzanie logiką aplikacji. Ważne jest, aby nauczyć się, kiedy używać każdej z tych konstrukcji, aby optymalizować kod i unikać nieporozumień.

Pytanie 6

Integralność encji w systemie baz danych będzie zapewniona, jeśli między innymi

A. klucz główny zawsze będzie liczbą całkowitą
B. każda kolumna otrzyma zdefiniowany typ danych
C. dla każdej tabeli zostanie ustanowiony klucz główny
D. każdy klucz główny będzie miał odpowiadający mu klucz obcy w innej tabeli
Inne odpowiedzi na to pytanie wskazują na powszechnie występujące błędne przekonania dotyczące integralności encji. Twierdzenie, że klucz główny musi być zawsze liczbą całkowitą, jest błędne, ponieważ klucz główny może przyjmować różne typy danych, takie jak ciągi znaków, co może być użyteczne w przypadku identyfikatorów alfanumerycznych. Przypisanie typu danych dla każdej kolumny jest ważne, ale samo w sobie nie gwarantuje integralności encji, ponieważ nie eliminuje problemu duplikacji wartości, co jest kluczowe dla kluczy głównych. Ponadto, sugerowanie, że każdy klucz główny powinien mieć odpowiadający klucz obcy w innej tabeli, prowadzi do nieporozumienia, ponieważ klucz główny nie musi być powiązany z kluczem obcym, jeśli tabela nie jest częścią relacji. Klucze obce są używane do tworzenia relacji między tabelami, ale nie są wymogiem dla każdej tabeli. W praktyce, klucz główny jest podstawowym wymogiem dla spójności danych w tabelach, natomiast inne aspekty, takie jak typ danych czy relacje między tabelami, są uzupełniające i nie mogą być traktowane jako równorzędne do roli klucza głównego w zapewnieniu integralności encji.

Pytanie 7

Która z funkcji agregujących wbudowanych w język SQL służy do obliczania średniej wartości w określonej kolumnie?

A. SUM
B. MIN
C. COUNT
D. AVG
Funkcja AVG w języku SQL jest jedną z kluczowych funkcji agregujących, która pozwala na obliczenie średniej wartości w określonej kolumnie zestawienia danych. Użycie tej funkcji jest szczególnie istotne w analizie statystycznej, gdyż pozwala uzyskać bardziej reprezentatywny wynik, eliminując wpływ skrajnych wartości, które mogą zniekształcać obraz danych. Na przykład, gdy mamy tabelę "sprzedaż" z kolumną "kwota", można użyć zapytania SELECT AVG(kwota) FROM sprzedaż, aby uzyskać średnią wartość sprzedaży. Funkcja ta jest nie tylko przydatna w kontekście analizy, ale także stanowi standardową praktykę w raportowaniu wyników finansowych, co może pomóc w podejmowaniu decyzji biznesowych. Warto również zauważyć, że AVG jest funkcją, która ignoruje wartości NULL, co jest ważne w kontekście danych, które mogą nie być pełne. Dobre praktyki sugerują, aby zawsze sprawdzać dane wejściowe przed stosowaniem funkcji agregujących, aby zapewnić ich jakość i dokładność wyników.

Pytanie 8

Jak należy prawidłowo udokumentować wzorcowanie pola nazwa we fragmencie kodu JavaScript?

function validateForm(Form)
{
reg=/^\[1-9\]*[A-ZŻŹĘĄĆŚÓŁŃ]{1}[a-zżźćńółęąś]{2,}$/;
wyn = Form.nazwa.value.match(reg);
if (wyn == null) {
    alert("Proszę podać poprawną nazwę");
    return false;
}
return true;
}

A. /* Pole nazwa musi składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i dwóch małych liter. */
B. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i dużych liter. */
C. /* Pole nazwa może zawierać dowolny ciąg cyfr (z wyłączeniem 0), następnie musi zawierać dużą literę i ciąg minimum dwóch małych liter. */
D. /* Pole nazwa powinno składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i ciągu małych liter. */
Weryfikacja pola nazwa przy użyciu wyrażeń regularnych w aplikacji JavaScript jest kluczowym elementem zapewnienia integralności danych wejściowych. Niektóre przedstawione opcje zawierają błędne założenia na temat porządku i wymogów składniowych wzorca. Przykładowo, nieprawidłowe jest założenie, że jedynie dowolny ciąg cyfr (bez zer) wystarczy, ponieważ kod wyraźnie wymaga, aby po cyfrach nastąpiła jedna duża litera, a następnie minimum dwie małe litery. Niezrozumienie tego może prowadzić do błędnych założeń dotyczących logiki walidacji. Niedokładne opisy wzorca mogą prowadzić do błędów w implementacji, co może skutkować działaniem niezgodnym z oczekiwaniami. Ponadto, dobre praktyki programistyczne zawsze sugerują, aby dokumentacja była dokładna i odzwierciedlała rzeczywiste wymagania kodu, co w tym przypadku oznacza precyzyjne określenie kolejności i wymogów dotyczących znaków. Niewłaściwe rozumienie wyrażeń regularnych może również prowadzić do błędów bezpieczeństwa, takich jak podatność na wstrzykiwanie danych, dlatego kluczowe jest poprawne udokumentowanie wzorca, aby zapewnić bezpieczne przetwarzanie danych użytkowników.

Pytanie 9

Debugger to narzędzie programowe, które ma za zadanie

A. rozpoznawanie błędów składniowych w kodzie źródłowym języka programowania
B. dynamiczna analiza działającego programu mająca na celu identyfikację przyczyn błędnego działania
C. łączenie plików bibliotek oraz wstępnie przetworzonego kodu źródłowego w plik wykonywalny
D. instalowanie zestawu do programowania
Debugger to zaawansowane oprogramowanie, które odgrywa kluczową rolę w procesie programowania, umożliwiając programistom dynamiczną analizę uruchomionego programu. Jego głównym zadaniem jest identyfikacja i diagnozowanie problemów, które mogą występować podczas działania aplikacji, co jest nieocenione w procesie tworzenia oprogramowania. Debugger pozwala na obserwację zmiennych, śledzenie przepływu wykonania kodu oraz analizę stanu pamięci, co jest istotne dla wykrywania błędów logicznych i wydajnościowych. Przykłady zastosowania debuggera można znaleźć w różnych środowiskach programistycznych, takich jak Visual Studio, Eclipse czy PyCharm, które oferują wbudowane narzędzia do debugowania. Standardy takie jak IEEE 829, dotyczące dokumentacji testowej, podkreślają znaczenie narzędzi debugujących w zapewnieniu jakości oprogramowania. W kontekście debugowania, programiści mogą korzystać z takich technik jak breakpointy, które zatrzymują wykonywanie programu w określonym miejscu, co umożliwia dokładną analizę jego stanu w danym momencie. Takie praktyki przyczyniają się do poprawy stabilności i wydajności tworzonych aplikacji.

Pytanie 10

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 DDL (ang. Data Definition Language)
B. SQL DCL (ang. Data Control Language)
C. SQL DQL (ang. Data Query 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 11

Jaką konstrukcją w języku C++ jest double *x;?

A. Wskaźnik
B. Zmienna całkowita
C. Formalny argument typu rzeczywistego
D. Zmienna rzeczywista
Wybór odpowiedzi, która sugeruje, że 'double *x;' jest parametrem formalnym typu rzeczywistego, jest nieprawidłowy, ponieważ wskaźnik nie jest sam w sobie parametrem formalnym. Parametry formalne w C++ są definiowane w nagłówkach funkcji i odnoszą się do zmiennych przekazywanych do funkcji. Wskaźnik, jak 'double *x;', jest po prostu zmienną, która przechowuje adres innej zmiennej, co jest zupełnie inną koncepcją. Z kolei określenie zmiennej całkowitej jest również błędne, ponieważ 'double' wskazuje na typ zmiennoprzecinkowy, a nie całkowity. Zrozumienie różnicy między typami danych jest kluczowe w C++. Ostatnia niepoprawna opcja, mówiąca o zmiennej rzeczywistej, nie odnosi się do wskaźnika, ponieważ wskaźnik nie jest zmienną przechowującą wartość typu 'double', ale adresem, pod którym taka wartość może być przechowywana. Typowe błędy myślowe, które mogą prowadzić do takich niepoprawnych odpowiedzi, obejmują mylenie pojęcia wskaźnika z typem zmiennej, a także brak zrozumienia roli wskaźników w kontekście zarządzania pamięcią i przekazywania danych do funkcji. Właściwe zrozumienie tych podstawowych koncepcji jest niezbędne do skutecznego programowania w C++.

Pytanie 12

Przedstawione zapytanie SELECT wykonane na tabeli przechowującej dane o uczestnikach konkursu ma za zadanie wybrać

SELECT MAX(wiek) - MIN(wiek) FROM uczestnicy;

A. liczbę najstarszych uczestników.
B. różnicę wieku pomiędzy najstarszym i najmłodszym uczestnikiem.
C. średnią arytmetyczną wieku uczestników.
D. minimalny oraz maksymalny wiek uczestników.
Niestety, podane odpowiedzi nie są poprawne. Zapytanie SQL, które zostało przedstawione, korzysta z funkcji agregujących MAX i MIN, by znaleźć maksymalną i minimalną wartość wieku, a następnie oblicza różnicę między nimi. Taka operacja nie daje nam informacji o minimalnym i maksymalnym wieku uczestników (odpowiedź #1), nie oblicza również średniej arytmetycznej wieku uczestników (odpowiedź #3), ani nie zwraca liczby najstarszych uczestników (odpowiedź #4). W każdym z tych przypadków, zapytanie musiałoby być sformułowane w inny sposób. Na przykład, do obliczenia średniego wieku uczestników, użylibyśmy funkcji AVG. Dlatego ważne jest zrozumienie, jak działają różne funkcje agregujące w SQL i jakie informacje mogą dostarczyć, aby poprawnie interpretować wyniki zapytań SQL. Pamiętaj, że błędne zrozumienie tego, co robi dane zapytanie SQL, może prowadzić do niepoprawnej interpretacji danych, co w konsekwencji może prowadzić do błędnych decyzji biznesowych lub analitycznych.

Pytanie 13

W tabeli artykuły wykonano następujące instrukcje dotyczące uprawnień użytkownika jan: ```GRANT ALL PRIVILEGES ON artykuly TO jan``` ```REVOKE SELECT, UPDATE ON artykuly FROM jan``` Po zrealizowaniu tych instrukcji pracownik jan będzie uprawniony do

A. edycji danych oraz przeglądania tabeli
B. tworzenia tabeli oraz edytowania danych w niej
C. wyświetlania zawartości tabeli
D. tworzenia tabeli i wypełniania jej danymi
Jan, po wydaniu polecenia GRANT ALL PRIVILEGES ON artykuly TO jan, miał pełne uprawnienia do wszystkich operacji na tabeli artykuly. Jednakże, po wykonaniu polecenia REVOKE SELECT, UPDATE ON artykuly FROM jan, jego uprawnienia do przeglądania danych (SELECT) oraz aktualizacji danych (UPDATE) zostały odebrane. Oznacza to, że Jan zachowuje możliwość tworzenia nowych tabel oraz wypełniania ich danymi (INSERT), ponieważ nie został ograniczony w tym zakresie. Możliwości tworzenia tabeli i wypełniania jej danymi są częścią przyznanych uprawnień. W standardzie SQL, komendy GRANT i REVOKE służą odpowiednio do przyznawania i odbierania uprawnień użytkownikom. W praktycznym zastosowaniu, takie operacje są kluczowe dla zarządzania bezpieczeństwem i dostępem do danych w bazach danych, co zapobiega nieautoryzowanym zmianom i zabezpiecza integralność danych.

Pytanie 14

Który z poniższych fragmentów kodu HTML5 zostanie uznany za niepoprawny przez walidator HTML?

A.
<p class= "stl">tekst</p>
B.
<p class= "stl" id= "a">tekst</p>
C.
<p class= "stl" style= "color: #F00 ">tekst</p>
D.
<p class= "stl"><style>.a{color:#F00}</style>tekst</p>
Niepoprawne odpowiedzi zawierają różne błędy, które wynikają z nieznajomości podstawowych zasad struktury HTML5. W pierwszym przykładzie, mimo że kod jest poprawny syntaktycznie, nie wprowadza on żadnych złożonych błędów. Jednakże, ważne jest, aby zrozumieć, że atrybuty takie jak 'class' oraz 'id' powinny być stosowane z umiarem i zgodnością z zasadami semantyki. W drugim przypadku, umieszczenie tagu <style> wewnątrz tagu <p> jest niezgodne z najlepszymi praktykami. Tego typu praktyki mogą prowadzić do zamieszania oraz trudności w zarządzaniu stylem na stronie, a także mogą przyczyniać się do problemów z dostępnością. Należy pamiętać, że HTML5 kładzie duży nacisk na semantykę, co oznacza, że każdemu elementowi należy przypisać odpowiednią rolę w strukturze dokumentu. Ostatnie dwa przykłady są poprawne, jednak użycie stylów inline w przypadku trzeciego przykładu nie jest zalecane. Wprowadzenie stylów bezpośrednio w elementach HTML narusza zasadę separacji treści od prezentacji. Zaleca się korzystanie z zewnętrznych arkuszy stylów, które nie tylko poprawiają organizację kodu, ale również umożliwiają łatwiejsze wprowadzanie zmian w przyszłości. Ostatecznie, zrozumienie i stosowanie się do standardów HTML5 oraz dobrych praktyk jest kluczowe dla tworzenia wyspecjalizowanych, dostępnych i łatwych do utrzymania stron internetowych.

Pytanie 15

Jakie informacje przekazuje przeglądarce internetowej zapis ?

A. Dokument został zapisany w języku HTML 5
B. Dokument jest zapisany w wersji HTML 4
C. W dokumencie wszystkie tagi są zapisane dużymi literami
D. W dokumencie każda etykieta musi być zamknięta, nawet te samozamykające
Wszystkie zaproponowane odpowiedzi poza tą właściwą opierają się na nieaktualnych lub błędnych założeniach dotyczących HTML. Kiedy mówimy o dokumentach HTML, istotnym elementem jest zrozumienie znaczenia deklaracji . Odpowiedź sugerująca, że dokument powinien być zapisany w wielkich literach, jest nieuzasadniona, ponieważ HTML jest językiem, który nie rozróżnia wielkości liter, a stosowanie wielkich liter nie wpływa na interpretację kodu przez przeglądarki. Z kolei twierdzenie, że dokument został zapisany w HTML 4, jest przestarzałe, ponieważ HTML5 jest następcom HTML 4.1 i jego wprowadzenie oznacza znaczne zmiany w architekturze i możliwościach języka. Dodatkowo, koncepcja, że każdy znacznik musi być zamykany, również nie jest precyzyjna; HTML5 wprowadza elementy samozamykające się, takie jakczy
, które nie wymagają zamykania, co różni się od wcześniejszych standardów. Zrozumienie tych podstawowych koncepcji jest kluczowe dla tworzenia nowoczesnych stron internetowych, a nieprawidłowe interpretacje mogą prowadzić do błędów w kodowaniu i niezgodności w wyświetlaniu treści.

Pytanie 16

W systemie baz danych hurtowni utworzono tabelę sprzedaz z polami: id, kontrahent, grupa_cenowa, obrot. Jakie polecenie należy zastosować, aby znaleźć jedynie kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000zł?

A. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 AND obrot > 4000
B. SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa = 2 AND obrot > 4000
C. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 OR obrot > 4000
D. SELECT sprzedaz FROM kontrahent WHERE obrot > 4000
Poprawna odpowiedź to 'SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 AND obrot > 4000;'. To polecenie SQL precyzyjnie spełnia wymagania postawione w pytaniu, ponieważ korzysta z operatora AND do jednoczesnego filtrowania kontrahentów w drugiej grupie cenowej oraz tych, których obrót przekracza 4000 zł. W praktyce, takie zapytanie jest niezwykle użyteczne w analizie danych w hurtowniach, umożliwiając wyodrębnienie tylko tych kontrahentów, którzy spełniają oba warunki, co jest kluczowe w procesach selekcji kontrahentów do dalszych działań marketingowych czy analizy rentowności. Warto zauważyć, że dobrym nawykiem jest dokładne określenie, które pola chcemy wyświetlić, a w tym przypadku 'kontrahent' wskazuje na konkretne dane, które są istotne dla analizy. Dodatkowo, stosowanie odpowiednich warunków w zapytaniach SQL jest zgodne z najlepszymi praktykami w zakresie optymalizacji wydajności bazy danych, ponieważ pozwala na minimalizację ilości przetwarzanych danych oraz zwiększa przejrzystość wyników.

Pytanie 17

Aby usunąć nienaturalne wygładzanie ukośnych krawędzi w grafice rastrowej, czyli tak zwane schodkowanie, konieczne jest wykorzystanie filtru

A. pikselizacji
B. antyaliasingu
C. gradientu
D. szumu
Antyaliasing to technika stosowana w grafice rastrowej, która ma na celu wygładzenie krawędzi obiektów, co z kolei redukuje efekt schodkowania. Schodkowanie, zwane również jagged edges, to zjawisko, w którym krawędzie linii wyglądają na poszarpane i nienaturalne, co jest szczególnie zauważalne przy nachylonych liniach lub krzywych. Antyaliasing działa na zasadzie wygładzania krawędzi poprzez mieszanie kolorów pikseli na granicy obiektu z kolorami pikseli tła, co tworzy iluzję płynności. Przykładem zastosowania antyaliasingu jest grafika komputerowa w grach, gdzie zapewnia on bardziej realistyczny obraz, a także przy renderowaniu grafik wektorowych do rastrowych. W standardach branżowych, takich jak OpenGL i DirectX, zastosowanie antyaliasingu jest zalecane, aby poprawić jakość wizualną i doświadczenia użytkowników. Zastosowanie technik takich jak MSAA (Multisample Anti-Aliasing) lub FXAA (Fast Approximate Anti-Aliasing) jest powszechną praktyką w nowoczesnych aplikacjach graficznych.

Pytanie 18

Celem testów wydajnościowych jest ocena

A. ciągu zdarzeń, w którym prawdopodobieństwo danego zdarzenia zależy tylko od wyniku zdarzenia wcześniejszego
B. stopnia, w jakim system lub moduł spełnia wymagania dotyczące wydajności
C. zdolności programu do funkcjonowania w sytuacjach, gdy system działa niepoprawnie
D. zdolności programu do funkcjonowania w sytuacjach, gdy sprzęt działa niepoprawnie
Testy wydajnościowe są kluczowym elementem procesu zapewnienia jakości oprogramowania, mającym na celu ocenę zdolności systemu lub modułu do spełnienia określonych wymagań wydajnościowych. Ich głównym celem jest zmierzenie, jak system radzi sobie w warunkach obciążenia, a także w różnych scenariuszach użytkowania. W ramach testów wydajnościowych analizuje się takie parametry jak czas reakcji, przepustowość oraz zasoby zużywane przez aplikację. Praktycznym przykładem może być testowanie aplikacji internetowej w warunkach, gdy korzysta z niej wielu użytkowników jednocześnie, co pozwala ocenić, jak skaluje się system. W kontekście standardów, organizacje często odnoszą się do metodologii takich jak Performance Testing Framework, a także do narzędzi jak JMeter czy LoadRunner, które umożliwiają automatyzację procesu testowania. Testy te pomagają w identyfikacji wąskich gardeł, które mogą wpływać na wydajność, co przekłada się na lepsze doświadczenia użytkowników oraz minimalizację kosztów związanych z utrzymaniem systemu.

Pytanie 19

Elementem odpowiadającym imieniu Agata w zaprezentowanej tablicy JavaScript jest:

var Imiona = new Array('Anna','Joanna','Monika','Agata');

A. Imiona['Agata'];
B. Imiona[Agata];
C. Imiona[3];
D. Imiona[4];
Poprawna odpowiedź to Imiona[3], ponieważ w JavaScript indeksowanie tablicy zaczyna się od zera. Oznacza to, że pierwszy element tablicy Imiona to 'Anna' (Imiona[0]), drugi to 'Joanna' (Imiona[1]), trzeci to 'Monika' (Imiona[2]), a czwarty to 'Agata' (Imiona[3]). W kontekście programowania w JavaScript ważne jest, aby znać zasady indeksowania, co jest szczególnie istotne przy pracy z tablicami, ponieważ niewłaściwe indeksowanie może prowadzić do błędów, takich jak undefined. W praktyce, jeżeli chcemy uzyskać dostęp do konkretnego elementu tablicy, musimy użyć odpowiedniego indeksu. Ponadto, korzystanie z tablic w JavaScript jest powszechną praktyką, a zrozumienie ich mechanizmu pozwala na efektywne operowanie danymi. Należy również pamiętać o dobrych praktykach w programowaniu, takich jak stosowanie opisowych nazw zmiennych oraz komentowanie kodu, co zwiększa jego czytelność i zrozumienie dla innych programistów.

Pytanie 20

Utworzono bazę danych z tabelą mieszkańcy, która zawiera pola: nazwisko, imię oraz miasto. Następnie przygotowano poniższe zapytanie do bazy:
SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Kraków';

Wskaż zapytanie, które zwróci takie same dane.

A. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' OR miasto='Kraków';
B. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto HAVING 'Poznań' OR 'Kraków';
C. SELECT nazwisko, imie FROM mieszkańcy AS 'Poznań' OR 'Kraków';
D. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';
Wybór błędnych odpowiedzi wynika z nieprawidłowego zrozumienia podstawowych zasad użycia operatorów w SQL oraz sposobu, w jaki warunki filtracji danych powinny być konstruowane. Zapytanie, które wykorzystuje BETWEEN, jest stosowane do porównywania wartości w określonym zakresie, ale w tym przypadku nie jest możliwe wskazanie dwóch różnych wartości, jak w przypadku miast. Operator OR w kontekście BETWEEN nie ma zastosowania, co sprawia, że ta koncepcja jest fundamentalnie błędna. Z drugiej strony, użycie HAVING jest niewłaściwe, ponieważ służy do filtrowania wyników po agregacji danych, a nie do bezpośredniej filtracji na podstawie wartości. Dodatkowo, konstrukcja SELECT z aliasem 'Poznań' OR 'Kraków' jest syntaktycznie niepoprawna, ponieważ operator OR nie może być użyty w tym kontekście. Typowym błędem w myśleniu jest mylenie operatorów logicznych i ich zastosowania w różnych kontekstach zapytań SQL. Zrozumienie, kiedy używać WHERE, HAVING oraz jak działa składnia zapytań, jest kluczowe dla poprawnego pisania i optymalizacji zapytań baz danych.

Pytanie 21

W programowaniu zmienna o typie integer służy do przechowywania

A. liczby rzeczywistej
B. wartości logicznej
C. znaku
D. liczby całkowitej
Wybór odpowiedzi dotyczącej wartości logicznej jest niewłaściwy, ponieważ typ wartości logicznej, znany także jako boolean, jest przeznaczony do przechowywania jedynie dwóch stanów: true i false. Typ ten znajduje zastosowanie w warunkach, pętlach oraz operacjach logicznych, ale nie ma związku z liczbami całkowitymi. W kontekście programowania, typ ten jest kluczowy w podejmowaniu decyzji na podstawie warunków. Z kolei zmienna przechowująca znak odnosi się do typu char, który jest używany do przechowywania pojedynczych znaków, takich jak litery czy symbole, co jest zupełnie innym przypadkiem. Typ char jest przydatny, kiedy chcemy manipulować tekstem na poziomie pojedynczych znaków, ale nie ma zastosowania w przechowywaniu liczb całkowitych. Odpowiedź dotycząca liczb rzeczywistych odnosi się do zmiennych typu float lub double, które z kolei służą do przechowywania wartości z częścią dziesiętną. Zrozumienie różnicy między tymi typami danych jest kluczowe dla programisty, gdyż użycie niewłaściwego typu może prowadzić do błędów w obliczeniach i logice programu. Często początkujący programiści mylą te typy danych, co skutkuje nieefektywnym kodem oraz problemami z wydajnością i pamięcią. Warto więc zainwestować czas w naukę i zrozumienie podstawowych typów danych oraz ich zastosowania w praktyce, co jest fundamentalnym aspektem programowania.

Pytanie 22

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

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

Pytanie 23

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

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

Pytanie 24

Wskaź, która instrukcja jest równoważna z instrukcją switch w języku PHP?

Ilustracja do pytania
A. Instrukcja 4
B. Instrukcja 3
C. Instrukcja 1
D. Instrukcja 2
Wybierając równoważną instrukcję dla switcha w PHP, kluczowe jest zrozumienie, jakie wartości są sprawdzane i jakie operacje są wykonywane dla każdej z nich. W przypadku podanego switcha, wartości 10 i 20 prowadzą do zwiększenia zmiennej $liczba o 1, a inne wartości do przypisania 0 do zmiennej. Instrukcja 1 nie uwzględnia warunku dla wartości 20, co sprawia, że nie jest równoważna dla switcha, ponieważ brakuje jednego z przypadków. Instrukcja 3 również jest niepoprawna, ponieważ nie obsługuje przypadku domyślnego z przypisaniem 0, co oznacza, że dla innych wartości nie zostanie podjęte żadne działanie. Instrukcja 4 stosuje operator and, co wymaga jednoczesnego spełnienia obu warunków ($liczba==10 i $liczba==20), co jest logicznie niemożliwe, ponieważ zmienna liczba nie może jednocześnie przyjmować dwóch różnych wartości, dlatego nie spełnia wymagań postawionych przez strukturę switch. Takie błędne rozumowanie często wynika z niepełnego zrozumienia operatorów logicznych i ich działania w kontekście warunków decyzyjnych. Dlatego istotne jest, aby dokładnie analizować każdy przypadek użycia i zrozumieć, jak różne struktury kontrolne mogą być wykorzystane do osiągnięcia zamierzonego efektu w kodzie PHP, dbając o poprawność logiczną i efektywność rozwiązania w kontekście różnych scenariuszy programistycznych. W kontekście nauki programowania, takie zrozumienie pozwala na tworzenie bardziej zrozumiałego i mniej podatnego na błędy kodu, co jest kluczowe dla rozwoju umiejętności programistycznych i utrzymania wysokiej jakości oprogramowania.

Pytanie 25

Przygotowując raport w systemie zarządzania relacyjnymi bazami danych, można uzyskać

A. aktualizowanie danych w tabelach
B. dodawanie danych do tabel
C. analizę wybranych danych
D. usuwanie danych z tabel
W kontekście systemów obsługi relacyjnych baz danych, raportowanie odgrywa kluczową rolę w analizie danych. Wykonywanie raportu umożliwia użytkownikom dostęp do wybranych informacji, co pozwala na podejmowanie świadomych decyzji opartych na danych. Analiza danych to proces przetwarzania informacji w celu wydobycia wartościowych wniosków. Przykłady zastosowania to generowanie raportów sprzedażowych, finansowych czy analizy trendów klientów. W raportach można wykorzystać różne techniki, takie jak filtrowanie, grupowanie czy agregowanie danych, co umożliwia prezentację wyników w przystępnej formie graficznej. Dodatkowo, standardy takie jak SQL (Structured Query Language) są powszechnie używane do wykonywania zapytań w relacyjnych bazach danych, co pozwala na efektywne przeszukiwanie i analizowanie danych. W praktyce, raporty mogą być generowane na podstawie zapytań do bazy danych i mogą obejmować różne parametry, co zwiększa ich użyteczność w podejmowaniu decyzji strategicznych i operacyjnych.

Pytanie 26

W języku PHP znak "//" wskazuje na

A. operator dzielenia całkowitego
B. początek skryptu
C. operator alternatywny
D. początek komentarza jednoliniowego
W języku PHP znak '//' oznacza początek komentarza jednoliniowego. Komentarze w PHP są istotnym elementem kodu, pozwalającym programistom na dodawanie adnotacji, które nie wpływają na wykonywanie skryptu. Komentarze są niezwykle pomocne, gdyż umożliwiają wyjaśnienie złożonych fragmentów kodu, co ułatwia jego dalsze utrzymanie i rozwijanie. Dzięki używaniu '//', programista może opisać, co dany fragment kodu robi, dla siebie lub innych osób przeglądających kod w przyszłości. Przykład zastosowania: jeśli mamy kod 'echo "Hello World!";', możemy dodać komentarz wyjaśniający: '// Wyświetla tekst Hello World!'. Warto zaznaczyć, że PHP pozwala także na korzystanie z komentarzy wieloliniowych, które zaczynają się od '/**' i kończą na '*/'. Stosowanie komentarzy jest zgodne z najlepszymi praktykami programistycznymi, które zalecają dokumentowanie kodu oraz poprawne jego komentowanie, co jest częścią standardów kodowania, takich jak PSR-1 oraz PSR-2, promujących czytelność i spójność w kodzie.

Pytanie 27

Jaką metodę używa się w języku PHP do tworzenia komentarza obejmującego więcej niż jedną linijkę?

A.
B. /* */
C. //
D. #
W języku PHP, użycie bloków komentarzy za pomocą składni /* */ jest standardowym sposobem na zapisanie wielolinijnych komentarzy. Ta metoda pozwala na umieszczanie tekstu komentarza w wielu liniach, co jest szczególnie przydatne w przypadku dłuższych objaśnień kodu. Komentarze pozwalają programistom na dokumentowanie funkcji, metod lub fragmentów kodu, co znacznie zwiększa przejrzystość i zrozumiałość kodu dla innych deweloperów. Przykładowo, można ich używać w następujący sposób: /* To jest komentarz, który może zajmować wiele linii. Możesz go używać do szczegółowego opisu funkcji lub zmiennych. */ Praktyka korzystania z opisowych komentarzy jest zgodna z najlepszymi standardami programowania, ponieważ zwiększa czytelność i ułatwia pracę w zespołach. Komentarze są nieocenione w trakcie konserwacji kodu, ponieważ pozwalają na szybsze zrozumienie intencji autora, a także na łatwiejsze wprowadzenie zmian w przyszłości. Warto również pamiętać, że komentarze nie wpływają na wydajność aplikacji, ponieważ są ignorowane przez interpreter PHP w trakcie wykonywania skryptu.

Pytanie 28

Tabela Pracownicy zawiera informacje o zatrudnionych w różnych działach, co jest określone przez pole liczbowe dzial. Z uwagi na to, że zazwyczaj wykonuje się kwerendy jedynie dla działu równego 2, można uprościć zapytania do tej tabeli, tworząc wirtualną tabelę o nazwie Prac_dzial2 przy użyciu zapytania

A. CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2
B. VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2
C. VIEW Prac_dzial2 SELECT FROM Pracownicy WHERE dzial=2
D. CREATE VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2
Pozostałe odpowiedzi są błędne z różnych powodów. Przede wszystkim, brak słowa kluczowego 'AS' w odpowiedziach, które twierdzą, że mają na celu stworzenie widoku, skutkuje nieprawidłową składnią. W SQL, podczas definiowania widoku, kluczowe jest użycie 'AS' po nazwie widoku, aby określić, że następujące zapytanie jest definicją źródła danych tego widoku. Ponadto, użycie słowa kluczowego 'VIEW' bez 'CREATE' jest niepoprawne, ponieważ struktura SQL wymaga, aby przed utworzeniem widoku zawsze były używane polecenia 'CREATE VIEW'. Również pominięcie 'SELECT *' w kontekście tworzenia widoku ogranicza elastyczność, ponieważ pozwala na wybranie tylko niektórych kolumn z tabeli, co nie jest zgodne z wymaganiami przedstawionymi w pytaniu. Zrozumienie tych zasad jest kluczowe, aby uniknąć typowych pułapek w pracy z SQL, a także pozwala na tworzenie bardziej złożonych i wydajnych strukturyzacji danych. Użycie nieprawidłowej składni może prowadzić do błędów wykonania, co w praktyce może skutkować zamieszaniem i wydłużonym czasem reakcji na wyciąganie danych. Dlatego kluczowe jest przestrzeganie standardów i dobrych praktyk w pisaniu zapytań SQL.

Pytanie 29

Jak można usunąć ciasteczko o nazwie ciastko, korzystając z języka PHP?

A. setcookie("$ciastko", "", 0);
B. deletecookie("ciastko");
C. setcookie("ciastko", "", time()-3600);
D. unsetcookie("$ciastko");
Wszystkie pozostałe odpowiedzi zawierają błędy koncepcyjne, które uniemożliwiają skuteczne usunięcie ciasteczka. Przykładowo, deletecookie("ciastko") to niepoprawne podejście, ponieważ nie istnieje funkcja o takiej nazwie w standardowej bibliotece PHP. Użytkownicy mogą myśleć, że wystarczy wywołać funkcję, która usunie ciasteczko, jednak PHP wymaga korzystania z funkcji setcookie(), aby to osiągnąć. W przypadku setcookie("$ciastko", "", 0), użytkownik próbuje usunąć ciasteczko, ale błędnie ustawia czas wygaśnięcia na zero. Wartość zero nie jest interpretowana jako czas przeszły, co uniemożliwia przeglądarce uznanie ciasteczka za wygasłe. Ponadto, użycie zmiennej "$ciastko" zamiast bezpośredniego odniesienia do nazwy ciasteczka wprowadza dodatkowe zamieszanie. Ostatnia propozycja, unsetcookie("$ciastko"), również jest błędna, ponieważ nie istnieje funkcja unsetcookie() w PHP. Użytkownicy mogą mylnie przypuszczać, że funkcje do usuwania zmiennych i ciasteczek są sobie równe, jednak każda z nich ma swoje specyficzne zastosowanie i zachowanie. Kluczowym punktem w pracy z ciasteczkami jest zrozumienie, że celem jest ich usunięcie przez ustawienie daty wygaśnięcia w przeszłości, a nie przez wywoływanie nieistniejących funkcji.

Pytanie 30

Zaprezentowano rezultat zastosowania CSS oraz odpowiadający mu kod HTML. W jaki sposób trzeba zdefiniować styl, aby uzyskać takie formatowanie?

Ilustracja do pytania
A. .first-letter { font-size: 400%; color: blue; }
B. p::first-letter { font-size: 400%; color: blue; }
C. p.first-letter { font-size: 400%; color: blue; }
D. #first-letter { font-size: 400%; color: blue; }
Odpowiedź jest prawidłowa, ponieważ selektor CSS p::first-letter precyzyjnie określa, że stylizacja ma być zastosowana do pierwszej litery każdego akapitu, który jest oznaczony tagiem p. Jest to pseudo-element CSS, który umożliwia dostęp do pierwszej litery bloku tekstu w celu nadania jej unikalnego wyglądu. W tym przypadku zmieniono jej rozmiar na 400% oraz kolor na niebieski. Użycie ::first-letter jest zgodne z najlepszymi praktykami, gdyż pozwala na zachowanie semantyczności HTML i oddzielenie warstwy prezentacyjnej od treści, co jest kluczowe w responsywnym projektowaniu stron internetowych. Pseudo-elementy jak ::first-letter są niezwykle przydatne w tworzeniu estetycznych i czytelnych interfejsów użytkownika, zwłaszcza w przypadku publikacji zawierających dużo tekstu. Dobrą praktyką jest stosowanie pseudo-elementów w połączeniu z klasami i identyfikatorami, aby stylizacja była elastyczna i mogła być łatwo dostosowywana zgodnie z potrzebami projektu.

Pytanie 31

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

A. oznacza, że kliknięcie w link otworzy go w nowej karcie przeglądarki
B. oznacza, że kliknięcie w link nie przekieruje na stronę website.com
C. jest wskazówką dla robota wyszukiwarki Google, aby nie śledził tego linku
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 32

Zapis w języku JavaScript: x = przedmiot.nazwa(); wskazuje, że

A. zmienna x będzie przechowywać rezultat działania funkcji przedmiot
B. nazwa jest polem w klasie przedmiot
C. zmienna x będzie przechowywać rezultat wykonywania metody nazwa
D. nazwa stanowi właściwość obiektu przedmiot
W kontekście przedstawionego pytania, niepoprawne odpowiedzi sugerują nieporozumienia dotyczące struktury obiektów w JavaScript oraz różnicy pomiędzy metodami a właściwościami. W szczególności, wskazanie, że nazwa jest właściwością obiektu przedmiot, jest mylne, ponieważ w tej konstrukcji 'nazwa' nie jest statycznym atrybutem, lecz metodą, co implikuje, że jest funkcją, a nie prostą wartością. Istotne jest zrozumienie, że właściwości obiektów przechowują dane, ale metody wykonują operacje na tych danych. Dodatkowo, mylenie metody z polem klasy prowadzi do błędnego postrzegania obiektów. W JavaScript, metody są funkcjami przypisanymi do obiektów, podczas gdy pola klasy, nazywane właściwościami, są zupełnie innym bytem. Typowe błędy myślowe w tym kontekście obejmują również nieznajomość pojęcia kontekstu wykonania, który w JavaScript jest kluczowy dla zrozumienia, jak metody działają w odniesieniu do obiektów. Właściwe zrozumienie tych różnic jest fundamentalne dla efektywnego programowania obiektowego. Używanie obiektów w JavaScript powinno opierać się na jasnym rozróżnieniu pomiędzy ich właściwościami a funkcjami, co skutkuje bardziej zorganizowanym i zrozumiałym kodem.

Pytanie 33

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

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

Pytanie 34

Które z pól edycyjnych zostało przedstawione w opisanym stylu, zakładając, że pozostałe atrybuty pola mają wartości domyślne, a użytkownik wpisał imię Krzysztof w przeglądarce?

Ilustracja do pytania
A. Pole 1
B. Pole 2
C. Pole 3
D. Pole 4
Dobrze, że dopasowałeś Pole 2 do stylu z kodu CSS. Widać, że dobrze ogarniasz te rzeczy! Ten padding 10px, co dałeś, naprawdę robi różnicę. Dzięki temu tekst ma więcej przestrzeni wokół siebie. A kolor tła Teal? Super wybór, bo to taki fajny pośredni odcień między niebieskim a zielonym. Biały tekst na tym tle jest świetnie widoczny, co jest mega ważne. No i brak obramowania, czyli border none, dodaje nowoczesności! Zaokrąglenie krawędzi, które ustawiłeś na 7px, sprawia, że pole wygląda przyjemniej. Takie rzeczy są często stosowane, by przygotować interfejsy, które są estetyczne i funkcjonalne. Jak projektujesz, pamiętaj o kontrastach, bo to naprawdę podnosi jakość aplikacji. Troska o estetykę i użyteczność to kluczowa sprawa. Dobra robota!

Pytanie 35

W języku PHP komentarz w jednej linii zaczyna się od znaków

A. $ lub #
B.
C. // lub #
D. /* lub //
W PHP można robić komentarze jednoliniowe na dwa sposoby: używając podwójnego ukośnika (//) albo znaku hash (#). Większość osób korzysta z //, bo jest to standard w wielu innych językach i po prostu jest bardziej popularne. Komentarze zaczynające się od // są ignorowane przez interpreter, więc można je stosować do dodawania notatek w kodzie lub wyłączania fragmentów bez ich usuwania. Znak # z kolei używamy głównie w skryptach PHP uruchamianych w wierszu poleceń, więc tu jest trochę bardziej specyficzny. Dla przykładu, jak piszesz kod, możesz dodać coś takiego: // To jest komentarz, który tłumaczy działanie poniższego kodu. Komentarze są bardzo ważne, bo pomagają w dokumentacji, ułatwiają zrozumienie kodu zarówno dla Ciebie, jak i dla innych programistów, którzy mogą z nim pracować w przyszłości. Dobrze jest pamiętać o tym, żeby komentarze były zwięzłe, ale jednocześnie informacyjne, co sprawia, że kod staje się bardziej przejrzysty.

Pytanie 36

Zawarta baza danych składa się z trzech tabel oraz dwóch relacji. Aby uzyskać informacje o wszystkich lekarzach przypisanych do wybranego pacjenta, konieczne jest porównanie kluczy

Ilustracja do pytania
A. Lekarze.id = Pacjenci.Lekarze_id
B. Lekarze.id = Pacjenci.Recepty_id
C. Lekarze.id = Pacjenci.id
D. Lekarze.id = Recepty.id
Błędne podejście do łączenia tabel w bazie danych może wynikać z niewłaściwego zrozumienia relacji kluczowych. Rozważmy odpowiedzi, które zakładają niepoprawne połączenia. Lekarze.id = Recepty.id jest błędne ponieważ identyfikator lekarza nie może być bezpośrednio związany z identyfikatorem recepty. Recepty są niezależnym bytem i ich klucze główne nie mają bezpośredniego związku z kluczami lekarzy. To samo dotyczy założenia Lekarze.id = Pacjenci.id które zakłada bezpośrednią relację między pacjentem a lekarzem przez ich identyfikatory co nie jest zgodne z typowymi strukturami baz danych. Każdy pacjent i lekarz ma swój unikalny identyfikator co oznacza brak bezpośredniej relacji między nimi, a relacja jest realizowana poprzez klucz obcy w tabeli Pacjenci. Ostatnia błędna opcja Lekarze.id = Pacjenci.Recepty_id znowu próbuje łączyć tabele poprzez klucze które nie są bezpośrednio związane. Recepty_id w tabeli Pacjenci odnosi się do konkretnej recepty przypisanej pacjentowi, a nie do lekarza. Takie błędne koncepcyjnie podejścia mogą prowadzić do nieprawidłowych wyników zapytań i utraty integralności danych co jest sprzeczne z dobrymi praktykami projektowania baz danych które zakładają jasno zdefiniowane i logicznie spójne relacje między tabelami przez odpowiednie klucze obce i podstawowe. Zrozumienie i poprawne stosowanie tych zasad jest kluczowe w efektywnym zarządzaniu i analizie danych w systemach relacyjnych.

Pytanie 37

W języku PHP operator do wyznaczania reszty z dzielenia to:

A. %
B. &
C. @
D. #
Operatorem reszty z dzielenia w języku PHP jest znak procenta (%). Umożliwia on obliczenie reszty z dzielenia dwóch liczb całkowitych. Na przykład, jeśli zastosujemy wyrażenie "5 % 2", wynikiem będzie "1", ponieważ 5 dzieli się przez 2 z resztą 1. Operator ten jest niezwykle przydatny w wielu kontekstach programistycznych, takich jak algorytmy, które wymagają określenia, czy liczba jest parzysta czy nie. W takim przypadku, używając wyrażenia "if ($number % 2 == 0)", możemy łatwo sprawdzić, czy liczba jest parzysta. Ponadto, operator % jest często używany w pętlach do określenia, co pewne działania powinny być wykonywane co n-ty cykl, co jest szczególnie przydatne w grach i aplikacjach interaktywnych. Stosowanie operatora reszty z dzielenia jest zgodne z najlepszymi praktykami programistycznymi, ponieważ umożliwia efektywne i czytelne rozwiązania w kodzie.

Pytanie 38

Jakiego protokołu trzeba użyć do przesyłania plików witryny internetowej na serwer hostingowy?

A. HTTP
B. FTP
C. SMTP
D. IRC
Protokół FTP (File Transfer Protocol) jest standardowym sposobem przesyłania plików pomiędzy komputerami w sieci, co czyni go idealnym rozwiązaniem do przesyłania plików strony internetowej na serwer hostingowy. FTP pozwala na łatwe przesyłanie dużych plików, takich jak obrazy, skrypty i style, które są niezbędne do prawidłowego działania witryny. Użytkownicy mogą korzystać z różnych programów klienckich FTP, takich jak FileZilla lub WinSCP, które oferują intuicyjny interfejs graficzny umożliwiający przeciąganie i upuszczanie plików, co znacząco upraszcza cały proces. Z perspektywy bezpieczeństwa, zaleca się korzystanie z FTPS lub SFTP, które dodają warstwę szyfrowania, chroniąc przesyłane dane przed nieautoryzowanym dostępem. Przesyłanie plików za pomocą FTP jest również zgodne z najlepszymi praktykami branżowymi, które zalecają stosowanie dedykowanych protokołów do zarządzania plikami, aby zapewnić efektywność i bezpieczeństwo transferów.

Pytanie 39

Jakie kodowanie w języku HTML pozwala na sformatowanie paragrafu dla tekstu

 Tekst może być zaznaczony albo istotny dla autora

należy użyć polecenia?

A.

Tekst może być zaznaczony albo istotny dla autora

B.

Tekst może być zaznaczony albo istotny dla autora

C.

Tekst może być zaznaczony albo istotny dla autora

D.

Tekst może być zaznaczony albo istotny dla autora

Wybrana odpowiedź jest poprawna, ponieważ stosuje prawidłowe znaczniki HTML do formatowania tekstu. Użycie dla słowa 'zaznaczony' wskazuje, że jest to istotna informacja, podczas gdy dla słowa 'istotny' podkreśla jego znaczenie w kontekście treści. Zgodnie z W3C i HTML5, jest używany do oznaczania części tekstu, która jest wyróżniona w kontekście przeszukiwanym lub istotnym. Oznaczenie tekstu jako nie tylko wskazuje na akcent, ale również ma znaczenie semantyczne, ponieważ może wpłynąć na sposób, w jaki czytniki ekranu interpretują treść, co jest kluczowe dla dostępności. Przykładem zastosowania może być strona internetowa, na której chcemy wyróżnić ważne informacje lub kluczowe definicje, co zwiększa czytelność i funkcjonalność przekazu. Poprawne użycie znaczników HTML jest zgodne z dobrymi praktykami tworzenia stron internetowych, co sprzyja lepszej nawigacji i zrozumieniu tekstu przez użytkowników.

Pytanie 40

Ile maksymalnie znaczników może być zastosowanych w tabeli, która ma trzy kolumny oraz trzy wiersze, nie zawierając przy tym złączeń komórek i wiersza nagłówkowego?

A. 9
B. 3
C. 12
D. 6
Odpowiedź 9 jest prawidłowa, ponieważ w tabeli o trzech kolumnach i trzech wierszach, gdzie nie ma złączeń komórek ani wiersza nagłówkowego, maksymalna liczba znaczników wynosi 9. Każda kolumna w każdym wierszu może być wypełniona osobnym znacznikiem . Tabela składająca się z 3 wierszy i 3 kolumn daje w sumie 3 x 3 = 9 komórek, które są reprezentowane przez znaczniki . Przykładową strukturę HTML takiej tabeli można przedstawić następująco:
123
456
789
. Warto również zauważyć, że zgodnie z zaleceniami W3C, użycie odpowiednich znaczników w tabelach jest kluczowe dla zapewnienia właściwej dostępności i semantyki dokumentu HTML, co jest zgodne z dobrymi praktykami tworzenia stron internetowych.