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: 13 kwietnia 2026 09:44
  • Data zakończenia: 13 kwietnia 2026 10:06

Egzamin zdany!

Wynik: 26/40 punktów (65,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

Jak można wyświetlić bieżącą datę oraz czas na stronie internetowej przy użyciu JavaScript?

A. echo Date() + Time()
B. echo Date()
C. innerHTML = Date()
D. document.write(Date())
Odpowiedź 'document.write(Date());' jest prawidłowa, ponieważ wykorzystuje metodę 'document.write()', która pozwala na wstawienie tekstu bezpośrednio do dokumentu HTML w momencie jego ładowania. Funkcja 'Date()' zwraca aktualną datę i czas w formie tekstu, co czyni ją odpowiednią do użycia w metodzie 'document.write()'. Warto zauważyć, że zastosowanie 'document.write()' może być ograniczone do momentu pierwszego ładowania strony, dlatego istotne jest, aby używać tej metody z rozwagą. Dobrym praktycznym przykładem jest skrypt, który po załadowaniu strony wyświetla datę i czas w nagłówku lub w innym elemencie strony. Przykładowo, można użyć: <script>document.write('Aktualna data i czas: ' + Date());</script>. Dodatkowo, warto zaznaczyć, że w nowoczesnym podejściu do programowania w JavaScript preferuje się użycie metod manipulacji DOM, takich jak 'innerHTML', ale 'document.write()' nadal ma swoje miejsce w prostych przykładach edukacyjnych.

Pytanie 2

W języku SQL zrealizowano polecenia GRANT przedstawione w ramce. Kto uzyska prawo do przeglądania oraz modyfikowania danych?

GRANT ALL ON frmy TO 'adam'@'localhost';
GRANT ALTER, CREATE, DROP ON frmy TO 'anna'@'localhost';
GRANT SELECT, INSERT, UPDATE ON frmy TO 'tomasz'@'localhost';
A. Tomasz i Adam
B. Jedynie Tomasz
C. Tomasz oraz Anna
D. Adam oraz Anna
Odpowiedź, że prawo do przeglądania i zmiany danych mają Tomasz i Adam, jest prawidłowa, ponieważ wynikają one z poleceń GRANT wykonanych w SQL. Adam otrzymuje pełne prawa do bazy danych 'frmy' dzięki komendzie 'GRANT ALL', co oznacza, że może zarówno przeglądać, jak i modyfikować wszelkie dane w tej bazie. Z kolei Tomasz, dzięki przyznanym mu uprawnieniom SELECT, INSERT i UPDATE, również ma możliwość przeglądania danych oraz ich zmiany. Ta sytuacja odzwierciedla kluczowe aspekty zarządzania uprawnieniami w systemach baz danych, gdzie precyzyjne przydzielanie ról i dostępów jest fundamentalne dla zapewnienia bezpieczeństwa i integralności danych. Praktyczne zastosowania takich operacji obejmują sytuacje, w których administratorzy baz danych muszą zróżnicować dostęp do danych w zależności od ról użytkowników, co jest zgodne z zasadami minimalnych uprawnień, które są standardem w branży IT.

Pytanie 3

W CSS zapis w postaci

 h1::first-letter {color: red;} 

spowoduje, że kolor czerwony zostanie zastosowany do

A. pierwszej linii akapitu
B. pierwszej litery nagłówka w drugim stopniu
C. pierwszej litery nagłówka w pierwszym stopniu
D. tekstu nagłówka w pierwszym stopniu
Zapis <span>h1::first-letter {color: red;} </span> jest w porządku, bo korzysta z pseudoelementu :first-letter, który działa na pierwszą literkę w nagłówku h1. To całkiem fajne, bo możemy w ten sposób stylizować tę pierwszą literę i nadać nagłówkom ciekawszy wygląd. Na przykład, jeśli mamy nagłówek h1 z napisem 'Witaj świecie', to dzięki temu kodowi, litera 'W' zrobi się czerwona. W CSS warto ogarnąć, że :first-letter działa tylko na bloki, takie jak nagłówki czy akapity, więc warto to mieć na uwadze, gdy coś stylizujemy. Używanie pseudoelementów to dobre podejście do tworzenia ładnych i funkcjonalnych interfejsów, a przy okazji daje nam większą kontrolę nad tym, jak wyglądają nasze elementy.

Pytanie 4

W tabeli mieszkancy, która zawiera pola id, imie, nazwisko, ulica, numer oraz czynsz (kwota całkowita), należy uzyskać informacje o osobach zamieszkujących ulicę Mickiewicza pod numerami 71, 72, 80, których czynsz nie przekracza 1000 zł. Klauzula WHERE w zapytaniu powinna wyglądać następująco

A. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) OR czynsz < 1000
B. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000
C. WHERE ulica = 'Mickiewicza' OR numer IN (71, 72, 80) OR czynsz < 1000
D. WHERE ulica = 'Mickiewicza' AND numer > 70 AND numer < 81 OR czynsz < 1000
Kiedy piszemy zapytanie SQL, klauzula WHERE powinna wyglądać tak: 'WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000'. Dlaczego to działa? Bo ta klauzula jasno określa, że interesują nas tylko mieszkańcy z ulicy Mickiewicza, mający numery 71, 72 lub 80, i którzy płacą czynsz mniejszy niż 1000 zł. Użycie AND sprawia, że wszystkie te warunki muszą być spełnione naraz, co jest naprawdę ważne. Możemy to sobie wyobrazić w kontekście zarządzania nieruchomościami, gdzie chcemy pokazać tylko wybraną grupę mieszkańców, na przykład do analizy ich sytuacji finansowej. I tak na marginesie – w SQL lepiej unikać OR, gdy chcemy dostąpić do jasno określonych danych, ponieważ może to dać nam za dużo wyników lub takie, których nie chcemy.

Pytanie 5

Jak wygląda instrukcja przypisania wartości do elementu tablicy w języku JavaScript względem tablicy? ```Tablica['technik'] = 'informatyk';```

A. statycznej
B. asocjacyjnej
C. wielowymiarowej
D. numerycznej
Wszystkie inne odpowiedzi są błędne z kilku kluczowych powodów. Statyczna tablica oznaczałaby, że jej rozmiar i elementy są ustalone podczas kompilacji i nie mogą być zmieniane w trakcie działania programu. W JavaScript tablice są dynamiczne, co w pełni przeczy koncepcji statyczności, ponieważ można dodawać, usuwać lub modyfikować elementy w trakcie działania programu. Numeryczne tablice w JavaScript odnoszą się do tablic, które są indeksowane przy użyciu liczb całkowitych. Choć tablice w JavaScript mają domyślnie numeryczną indeksację, w podanym przykładzie użycie stringa jako indeksu wskazuje na typ obiektu asocjacyjnego, a nie numerycznego. Wielowymiarowa tablica to pojęcie, które odnosi się do tablic zawierających inne tablice jako elementy, tworząc struktury o wielu wymiarach. Przykład 'Tablica[\'technik\'] = \'informatyk\';' nie tworzy wielowymiarowej tablicy, lecz jedynie dodaje nowy klucz do obiektu, a nie nową tablicę jako element. Reasumując, żadna z tych odpowiedzi nie zgadza się z właściwym zastosowaniem tablicy jako obiektu asocjacyjnego w JavaScript, co jest kluczem do zrozumienia elastyczności tego języka.

Pytanie 6

Funkcja agregująca AVG wykorzystana w zapytaniu

SELECT AVG(cena) FROM uslugi;
ma na celu
A. znalezienie najwyższej ceny za usługi
B. obliczenie liczby dostępnych usług w tabeli
C. zsumowanie wszystkich kosztów usług
D. wyliczenie średniej arytmetycznej cen wszystkich usług
Funkcja agregująca AVG w języku SQL oblicza średnią arytmetyczną wartości w określonej kolumnie, w tym przypadku w kolumnie 'cena' tabeli 'uslugi'. W kontekście baz danych, obliczanie średniej jest kluczowym narzędziem analitycznym, które pozwala na uzyskanie ogólnego obrazu wartości danej kolumny. W praktyce, analiza średnich cen usług może być użyteczna dla menedżerów chcących dostosować strategię cenową lub dla działów finansowych oceniających wydajność sprzedaży. Przykładowo, jeżeli średnia cena usług wynosi 100 zł, a kolejny miesiąc przynosi spadek do 80 zł, jest to sygnał do analizy powodów obniżenia przychodów. Stosowanie funkcji AVG jest zgodne z najlepszymi praktykami w zakresie analizy danych, gdyż pozwala na podejmowanie decyzji opartych na faktach i liczbach. Warto również zauważyć, że do obliczeń średnich często używa się danych z różnych grup, co może pomóc w zrozumieniu trendów oraz wzorców w zachowaniach klientów na rynku.

Pytanie 7

Jaką rozdzielczość określa jednostka ppi (ang. pixels per inch)?

A. Obrazów bitmapowych.
B. Obrazów generowanych przez drukarki i plotery
C. Skanujących urządzeń.
D. Cyfrowych przyrządów dokonujących pomiarów.
Rozdzielczość wyrażana w jednostkach ppi (pixels per inch) odnosi się do ilości pikseli na cal w obrazach tworzonych przez drukarki i plotery. Wyższa wartość ppi oznacza większą gęstość pikseli, co przekłada się na wyższą jakość druku oraz więcej szczegółów w finalnym obrazie. W praktyce, standardowe wartości ppi dla wysokiej jakości druku to 300 ppi lub więcej, co jest preferowane w przypadku fotografii oraz materiałów reklamowych. Wartości te są zgodne z wytycznymi branżowymi, które sugerują, że dla druku offsetowego zaleca się rozdzielczość minimum 300 ppi, aby zachować szczegóły i ostrość obrazu. Użycie odpowiednich wartości ppi jest kluczowe w procesie prepress, gdzie przygotowuje się materiały do druku. Nieodpowiednia rozdzielczość może prowadzić do rozmycia, pikselizacji i ogólnej utraty jakości w finalnym produkcie, co negatywnie wpływa na wrażenia wizualne odbiorców oraz wizerunek marki.

Pytanie 8

Które z poniższych twierdzeń o definicji funkcji pokazanej w ramce jest prawdziwe?

function czytajImie(){
  var imie=null;
  do {
    imie=prompt("podaj imie: ");
    if (imie.length<3)
    alert("wprowadzony tekst jest niepoprawny");
  } while(imie.length<3);
}
A. Tekst będzie wczytywany do czasu podania liczby większej niż 3
B. Pętla zostanie uruchomiona tylko raz
C. Wczytanie tekstu zakończy się, gdy tekst będzie miał co najmniej 3 znaki
D. Funkcja zawiera pętlę, która powtarza się 3 razy
Funkcja czytajImie zawiera pętlę do-while która działa dopóki długość wprowadzonego ciągu znaków jest mniejsza niż 3 co oznacza że zakończenie pętli nastąpi gdy użytkownik wprowadzi tekst o długości co najmniej 3 znaków W praktyce oznacza to że funkcja wymaga od użytkownika podania imienia które będzie miało przynajmniej trzy znaki co jest powszechną praktyką podczas walidacji danych wejściowych w celu zapewnienia minimalnej ilości informacji Pętla do-while jest szczególnie przydatna w sytuacjach gdy musimy zagwarantować przynajmniej jedno wykonanie bloku kodu co tutaj pozwala na przynajmniej jednorazowe wywołanie okna prompt do wprowadzenia danych Tego typu walidacja jest podstawą podczas programowania interfejsów użytkownika gdzie poprawność i kompletność danych wejściowych jest kluczowa dla dalszego przetwarzania danych Warto również zauważyć że stosowanie tego rodzaju pętli w kontekście walidacji danych zwiększa użyteczność aplikacji poprzez zapewnienie że dane są zgodne z wymaganiami przed ich dalszym przetwarzaniem

Pytanie 9

Jeżeli rozmiar pliku graficznego jest zbyt duży do publikacji w sieci, co należy zrobić?

A. zapisać w formacie BMP
B. dodać kanał alfa
C. zwiększyć jego głębię kolorów
D. zmniejszyć jego rozdzielczość
Zmniejszenie rozdzielczości pliku graficznego jest jedną z najskuteczniejszych metod na zmniejszenie jego rozmiaru, co jest niezwykle ważne w kontekście publikacji w Internecie. Rozdzielczość obrazu odnosi się do liczby pikseli, które składają się na dany obraz, wyrażoną zazwyczaj w pikselach na cal (PPI) lub w całkowitej liczbie pikseli w szerokości i wysokości. Zmniejszając rozdzielczość, obniżamy liczbę pikseli, co w efekcie prowadzi do mniejszego rozmiaru pliku. Na przykład, obraz o rozdzielczości 4000x3000 pikseli ma 12 milionów pikseli, podczas gdy obraz o rozdzielczości 2000x1500 pikseli zaledwie 3 miliony pikseli. Oprócz zmniejszenia rozdzielczości, można również zastosować inne techniki kompresji, takie jak zmiana formatu pliku na JPEG, który jest bardziej efektywny w kompresji zdjęć, a także wykorzystanie narzędzi do optymalizacji grafiki, takich jak TinyPNG czy ImageOptim. Zmniejszając rozdzielczość, należy jednak pamiętać o zachowaniu odpowiedniej jakości obrazu, aby nie wpłynęło to negatywnie na jego czytelność i estetykę, co jest kluczowe w kontekście publikacji online.

Pytanie 10

W jakim standardzie języka hipertekstowego wprowadzono do składni znaczniki sekcji <footer>, <header>, <nav>?

A. HTML5
B. XHTML1.0
C. HTML4
D. XHTML 2.0
Tak, znaczników <footer>, <header> i <nav> zaczęto używać w HTML5, który zadebiutował w październiku 2014 roku. To jest ciekawe, bo HTML5 wprowadził sporo nowych semantycznych elementów, które pomagają w lepszej organizacji dokumentów HTML. Dzięki nim, przeglądarki i roboty wyszukiwarek mogą lepiej zrozumieć strukturę stron. Na przykład, <header> to nagłówek strony lub sekcji, <nav> tworzy menu nawigacyjne, a <footer> to stopka. Myślę, że to super sprawa, bo poprawia dostępność strony i jej SEO, bo tak naprawdę pomaga wyszukiwarkom w lepszym indeksowaniu treści, co może prowadzić do lepszych wyników w wyszukiwarkach. Dodatkowo, HTML5 ma też inne ciekawe nowinki, jak wsparcie dla multimediów, lokalne przechowywanie danych, a także lepszą kompatybilność z aplikacjami mobilnymi, więc zdecydowanie warto go wykorzystywać do budowy stron internetowych.

Pytanie 11

W celu uzyskania efektu widocznego na rysunku, w kodzie HTML, należy umieścić znacznik skrótu <abbr> z atrybutem

Ilustracja do pytania
A. name
B. dfn
C. alt
D. title
Wybrałeś niepoprawną odpowiedź. Przeanalizujmy inne opcje. 'alt' to atrybut używany w znacznikach obrazów (&lt;img&gt;) w HTML, służy do dostarczania tekstu alternatywnego, który jest wyświetlany, gdy obraz nie może być załadowany. 'dfn' to znacznik HTML używany do zdefiniowania terminu, ale nie ma on żadnej roli w określaniu skrótów. 'name' to atrybut używany w różnych znacznikach HTML, takich jak &lt;input&gt;, &lt;form&gt;, &lt;map&gt;, &lt;meta&gt;, &lt;param&gt; oraz &lt;button&gt;, ale nie jest związany ze znacznikami skrótów. W HTML, atrybutem używanym wraz ze znacznikiem skrótu &lt;abbr&gt; jest 'title', który dostarcza pełną formę skrótu. Proszę pamiętać o tej informacji na przyszłość.

Pytanie 12

Aby poprawić wydajność strony z grafiką o wymiarach 2000 px na 760 px, konieczne jest zmniejszenie jej rozmiarów

A. za pomocą właściwości CSS, podając rozmiar w procentach
B. w programie graficznym
C. za pomocą atrybutów HTML
D. za pomocą właściwości CSS, podając rozmiar w pikselach
Odpowiedź "w programie graficznym" jest prawidłowa, ponieważ zmniejszenie rozmiaru grafiki w sposób, który rzeczywiście wpływa na jej wielkość pliku oraz jakość wizualną, powinno być przeprowadzane w programie graficznym. Programy takie jak Adobe Photoshop, GIMP czy Canva umożliwiają precyzyjne dostosowanie wymiarów oraz kompresję grafiki, co pozwala na optymalizację jej do użytku w internecie. Przykładowo, zmieniając rozmiar grafiki do wymiarów 1000 px na 380 px i zapisując ją w odpowiednim formacie (np. JPEG lub PNG z odpowiednią jakością), można znacznie zmniejszyć wielkość pliku, co przyczyni się do szybszego ładowania strony. Ponadto, odpowiednia kompresja umożliwia zachowanie dobrego balansu między jakością a rozmiarem pliku, co jest istotne dla doświadczeń użytkowników. W branży internetowej stosuje się różne techniki optymalizacji grafiki, takie jak lazy loading czy formaty WebP, które wspierają szybkie ładowanie stron. Warto również zwrócić uwagę na znaczenie odpowiedniej rozdzielczości grafiki, aby uniknąć zniekształceń i zapewnić optymalną jakość wizualną.

Pytanie 13

W JavaScript zdarzenie onKeydown zostanie wywołane, gdy klawisz

A. myszki został zwolniony
B. klawiatury został naciśnięty
C. klawiatury został zwolniony
D. myszki został naciśnięty
Zdarzenie onKeydown w JavaScript jest wywoływane, gdy użytkownik naciśnie klawisz na klawiaturze. To fundamentalne zdarzenie jest często wykorzystywane w aplikacjach webowych do obsługi interakcji użytkowników, takich jak wprowadzanie danych czy nawigacja po formularzach. W momencie naciśnięcia klawisza, przeglądarka emituje to zdarzenie, co pozwala programistom na reagowanie na konkretne akcje. Na przykład, jeśli chcemy stworzyć prostą grę opartą na ruchu postaci, możemy wykorzystać onKeydown do wykrywania klawiszy strzałek i poruszania postacią w odpowiednich kierunkach. Warto również zauważyć, że onKeydown różni się od onKeyup, które jest wywoływane, gdy klawisz jest zwolniony, co ma znaczenie w przypadku obsługi sekwencji klawiszy oraz klawiszy modyfikujących, takich jak Shift czy Ctrl. Zrozumienie tych różnic jest kluczowe dla tworzenia responsywnych i interaktywnych aplikacji webowych, zgodnych z najlepszymi praktykami programowania.

Pytanie 14

W języku HTML zapisano formularz. Który z efektów działania kodu będzie wyświetlony przez przeglądarkę zakładając, że w drugie pole użytkownik wpisał wartość "ala ma kota"?

<form>
  <select>
    <option value="v1">Kraków</option>
    <option value="v2">Poznań</option>
    <option value="v3">Szczecin</option>
  </select> <br>
  <input type="password" />
</form>


Kraków
Poznań
Szczecin
Efekt 1

Efekt 2

Efekt 3
Kraków
Poznań
Szczecin
Efekt 4
A. Efekt 3.
B. Efekt 1.
C. Efekt 4.
D. Efekt 2.
Odpowiedź 'Efekt 2' jest poprawna, ponieważ odpowiada ona opisowi działania kodu HTML formularza. W kodzie HTML formularza, mamy pole wyboru miasta z opcjami 'Kraków', 'Poznań', 'Szczecin', a także pole hasła. W momencie, kiedy użytkownik wpisuje do pola hasła wartość 'ala ma kota', przeglądarka reprezentuje te dane jako ciąg znaków zastępczych, czyli kropeczki. Efekt 2 pokazuje rozwinięte menu wyboru z zaznaczonym 'Kraków' oraz pole hasła z kropeczkami, co jest zgodne z opisanym działaniem formularza przy wpisaniu 'ala ma kota' do pola hasła. Jest to zgodne ze standardami tworzenia formularzy w HTML, gdzie pola hasła są zazwyczaj reprezentowane jako kropeczki dla poprawienia bezpieczeństwa danych użytkownika. Dodatkowo, HTML pozwala na tworzenie różnego rodzaju pól formularzu, które mogą przyjmować różne wartości, co daje duże możliwości personalizacji formularza.

Pytanie 15

Jakie działanie wykonuje polecenie DBCC CHECKDB("sklepAGD", Repair_fast) w MS SQL Server?

A. sprawdzi spójność bazy danych i utworzy kopię zapasową
B. zweryfikuje spójność danej tabeli
C. sprawdzi spójność bazy danych i naprawi uszkodzone indeksy
D. zweryfikuje spójność danej tabeli oraz naprawi uszkodzone rekordy
Wiele osób mylnie sądzi, że polecenie DBCC CHECKDB może być używane do sprawdzania spójności tylko określonych tabel, co jednak jest nieprawidłowe. DBCC CHECKDB działa na poziomie całej bazy danych, analizując wszystkie tabele, indeksy oraz inne obiekty. Dlatego odpowiedzi sugerujące, że narzędzie to sprawdza spójność tylko pojedynczej tabeli, są błędne. Dodatkowo, niektóre odpowiedzi wskazują, że DBCC CHECKDB może naprawiać uszkodzone rekordy, co jest również mylące. W rzeczywistości, podczas użycia opcji Repair_fast, narzędzie może naprawiać uszkodzone indeksy, ale nie ma możliwości naprawy uszkodzonych danych w samych rekordach. Istnieje ryzyko, że błędne zrozumienie funkcji DBCC CHECKDB może prowadzić do niewłaściwego podejścia do zarządzania bazą danych, w tym do nieadekwatnego planowania kopii zapasowych czy procedur odzyskiwania. Ważne jest, aby być świadomym, że regularne wykonywanie tego polecenia jest kluczowe, ale również, że nie zastępuje ono pełnej strategii zarządzania danymi. Standardy branżowe podkreślają znaczenie kompleksowego podejścia do ochrony danych, co obejmuje zarówno monitorowanie integralności, jak i odpowiednie zabezpieczenia przed utratą danych.

Pytanie 16

Domyślny użytkownik, który posiada pełne uprawnienia do zarządzania bazą danych w systemie MySQL, to

A. mysqld
B. admin
C. sysadmin
D. root
Poprawna odpowiedź to „root”, ponieważ w domyślnej instalacji MySQL to właśnie użytkownik root ma pełne, administracyjne uprawnienia do całego serwera baz danych. Jest to odpowiednik konta administratora systemu operacyjnego, ale w kontekście samego MySQL. Użytkownik root może tworzyć i usuwać bazy danych, zakładać nowych użytkowników, nadawać i odbierać im uprawnienia, wykonywać kopie zapasowe, przywracać dane, a także zmieniać konfigurację na poziomie serwera SQL. Z mojego doświadczenia wynika, że w środowiskach produkcyjnych raczej unika się codziennej pracy na koncie root, mimo że technicznie jest to możliwe. Zgodnie z dobrymi praktykami bezpieczeństwa tworzy się osobne konta z ograniczonymi uprawnieniami, np. użytkownika, który ma dostęp tylko do jednej konkretnej bazy i tylko do odczytu albo do odczytu i zapisu. Konto root zostawia się wyłącznie do zadań administracyjnych, takich jak migracje, zmiana schematu bazy, naprawa tabel czy zarządzanie użytkownikami. W praktyce, podczas pierwszej instalacji MySQL albo MariaDB, instalator prosi o ustawienie hasła dla użytkownika root – i to hasło powinno być mocne, unikalne i dobrze zabezpieczone. W środowiskach serwerowych często dodatkowo ogranicza się możliwość logowania rootem z zewnątrz, np. tylko z localhost, aby utrudnić ewentualne ataki z sieci. Warto też pamiętać, że w MySQL użytkownik identyfikowany jest nie tylko nazwą, ale też hostem, więc „root@localhost” to inny użytkownik niż „root@%”. W pracy zawodowej spotyka się też sytuację, że root ma wyłączone logowanie hasłem i używa się uwierzytelniania systemowego lub pluginów, ale to już bardziej zaawansowane scenariusze. Kluczowe jest to, że root jest kontem nadrzędnym, z pełnią praw, i trzeba z nim obchodzić się ostrożnie, bo jedno nieuważne polecenie może usunąć całą bazę produkcyjną.

Pytanie 17

W bazie danych znajduje się tabela o nazwie pracownicy z kolumnami: nazwisko, imię, pensja, wiek. Jak powinna wyglądać składnia polecenia do obliczenia średniej pensji pracowników?

A. select VAR (pensja) from nazwisko
B. select VAR (pracownicy) into pensja
C. select AVG (pensja) from pracownicy
D. select AVG (nazwisko) into pensja
Poprawna odpowiedź, czyli polecenie 'select AVG (pensja) from pracownicy', wykorzystuje funkcję agregującą AVG, która jest standardowo stosowana w SQL do obliczania średniej wartości w kolumnie. W tym przypadku, polecenie to oblicza średnią pensję pracowników zapisanych w tabeli 'pracownicy'. Użycie funkcji AVG jest zgodne z dobrymi praktykami SQL, które zalecają stosowanie odpowiednich funkcji agregujących w celu efektywnego przetwarzania danych. Wartości w kolumnie 'pensja' są analizowane, a wynik zwraca jedną wartość — średnią pensję, co jest niezwykle użyteczne w kontekście raportowania czy analizy wynagrodzeń. Przykładowo, jeśli tabela zawiera pensje 3000, 4000 i 5000, funkcja AVG zwróci 4000. Tego rodzaju zapytania są powszechnie stosowane w raportach kadrowych oraz podczas analizy budżetu w organizacjach, co czyni je niezbędnym elementem wiedzy dla analityków danych oraz programistów baz danych.

Pytanie 18

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

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

Pytanie 19

Na tabeli muzyka, przedstawionej na schemacie, wykonano następującą kwerendę SQL. Co zostanie zwrócone przez tę zapytanie? SELECT wykonawca FROM `muzyka` WHERE wykonawca LIKE 'C%w';

Ilustracja do pytania
A. Czesław
B. pusty wynik
C. Czesław, Niemen
D. Czesław, Czechowski
Analiza błędnych odpowiedzi prowadzi do zrozumienia, dlaczego nie można ich uznać za poprawne w kontekście przedstawionego zapytania SQL. Odpowiedź 'Czesław' sugeruje, że zapytanie zwróci wykonawcę o takim imieniu. W rzeczywistości zapytanie SQL używa wzorca 'C%w', co oznacza, że szuka wykonawców, których imię i nazwisko zaczynają się na 'C' i kończą na 'w'. W tabeli nie ma wykonawcy spełniającego ten warunek. 'Czesław Niemen' mimo poprawnego początku nazwy, nie kończy się na 'w', co wyklucza tę odpowiedź. Podobnie, odpowiedzi sugerujące parę wykonawców, takie jak 'Czesław, Niemen' czy 'Czesław, Czechowski', również nie spełniają kryteriów wzorca, ponieważ żadne z nazwisk nie kończy się na 'w'. Typowym błędem myślowym przy takich zadaniach jest nieuwzględnienie pełnego warunku wzorca i skupienie się tylko na jego części początkowej. Użycie operatora LIKE z symbolem '%' wymaga zrozumienia, że jest to znak wieloznaczny, który pozwala na dowolną liczbę znaków między określonymi literami. Zlekceważenie tego aspektu prowadzi do błędnych wniosków. W praktyce, umiejętność poprawnego formułowania zapytań SQL i zrozumienie działania operatorów takich jak LIKE ma zasadnicze znaczenie dla pracy z bazami danych, szczególnie w kontekście wyszukiwania i filtrowania danych według określonych kryteriów. Prawidłowe wykorzystanie tych umiejętności pozwala na efektywną obsługę dużych zbiorów danych i jest kluczowym elementem skutecznego zarządzania informacją w przedsiębiorstwach i organizacjach.

Pytanie 20

W bazie danych istnieje tabela ksiazki, która posiada pola: tytul, id_autora, data_wypoz, id_czytelnika. Codziennie tworzony jest raport dotyczący książek wypożyczonych w danym dniu, który wyświetla jedynie tytuły książek. Która kwerenda SQL jest odpowiednia do generowania tego raportu?

A. SELECT tytul, data_wypoz FROM ksiazki WHERE data_wypoz = CURRDATENT_E()
B. SELECT tytul FROM ksiazki
C. SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE()
D. SELECT * FROM ksiazki
Ta odpowiedź jest prawidłowa, ponieważ wykorzystuje funkcję CURRENT_DATE(), która zwraca bieżącą datę systemową. Zapytanie SQL SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE(); umożliwia wybranie jedynie tych książek, które zostały wypożyczone w dniu, w którym raport jest generowany. To podejście jest zgodne z dobrymi praktykami w zakresie zarządzania danymi, ponieważ pozwala na efektywne filtrowanie danych bez zbędnych informacji. W kontekście bazy danych, operacje takie jak filtrowanie danych według daty są kluczowe dla tworzenia raportów, które są użyteczne i zrozumiałe dla użytkowników. Dzięki temu możemy na przykład generować codzienne zestawienia wypożyczeń książek, co jest szczególnie przydatne w bibliotekach oraz innych instytucjach zajmujących się wynajmem materiałów. Użycie odpowiednich funkcji w SQL jest nie tylko korzystne, ale również zwiększa efektywność procesów analitycznych oraz zarządzania danymi.

Pytanie 21

Który paragraf w przedstawionym kodzie zostanie wyświetlony czcionką o kolorze niebieskim?

<!DOCTYPE html>
<html>
<head>
<style>
div~p { color: blue; }
</style>
</head>
<body>
  <div>
    <p>pierwszy paragraf</p>
      <div>
        <p>drugi paragraf</p>
        <p>trzeci paragraf</p>
      </div>
    <p>czwarty paragraf</p>
  </div>
</body>
</html>
A. Pierwszy.
B. Drugi.
C. Czwarty.
D. Trzeci.
Źródłem problemu w tym zadaniu jest zrozumienie, jak dokładnie działa selektor `div~p`. Na pierwszy rzut oka wiele osób patrzy po prostu na kolejność paragrafów w kodzie i zakłada, że skoro wewnątrz diva są kolejne `<p>`, to one wszystkie będą niebieskie. To jest typowe mieszanie działania selektora rodzeństwa z selektorem potomków. Zapis `div p` rzeczywiście oznaczałby „każdy paragraf znajdujący się gdziekolwiek wewnątrz diva”, ale w pytaniu użyto operatora tyldy `~`, który ma inne znaczenie. Selektor `div~p` wskazuje elementy `<p>`, które są rodzeństwem elementu `<div>`, czyli mają tego samego rodzica w drzewie DOM, i jednocześnie występują po nim w kodzie. To oznacza, że przeglądarka w ogóle nie patrzy na paragrafy zagnieżdżone głębiej, np. w dodatkowym `<div>` w środku. One nie są rodzeństwem, tylko potomkami, więc selektor ich nie obejmuje. Częsty błąd polega też na myleniu selektora `div~p` z `div+p`. Ten drugi wybiera wyłącznie pierwszy paragraf bezpośrednio po divie na tym samym poziomie, natomiast `~` obejmuje wszystkie późniejsze rodzeństwa danego typu. W tym przykładzie jedynym `<p>`, który jest na tym samym poziomie co zewnętrzny `<div>` i stoi po nim, jest „czwarty paragraf”. Pozostałe, mimo że wizualnie znajdują się „w środku” tego diva, nie są rodzeństwem, tylko są bardziej zagnieżdżone. Z mojego doświadczenia wynika, że dopóki nie narysuje się sobie drzewa DOM albo nie podejrzy struktury w DevTools, bardzo łatwo o takie pomyłki. Dobra praktyka w CSS to zawsze myśleć o relacjach: rodzic–dziecko, rodzeństwo, potomek, a dopiero potem o kolejności w kodzie. Dzięki temu selektory są pisane świadomie, bardziej precyzyjnie i nie powodują niespodziewanych efektów w większych projektach.

Pytanie 22

W formularzu HTML użyto znacznika <input>. Pole to będzie służyło do wprowadzania maksymalnie

<input type="password" size="30" maxlength="20">
A. 30 znaków, które są widoczne w trakcie wprowadzania
B. 30 znaków, które nie są widoczne w polu tekstowym
C. 20 znaków, które nie są widoczne w polu tekstowym
D. 20 znaków, które są widoczne w trakcie wprowadzania
Poprawna odpowiedź to 20 znaków, które nie są widoczne w polu tekstowym. Znacznik <input type="password"> w HTML jest używany do tworzenia pól wprowadzania, w których hasła lub inne wrażliwe dane są maskowane, co oznacza, że wpisywane znaki są pokazywane jako symbole, zwykle kropki. W atrybucie 'maxlength' określa się maksymalną liczbę znaków, które użytkownik może wprowadzić. W tym przypadku, atrybut 'maxlength="20"' oznacza, że użytkownik może wprowadzić maksymalnie 20 znaków, ale nie będą one widoczne w polu tekstowym, co zwiększa bezpieczeństwo. Dobrym przykładem zastosowania tego typu pola jest logowanie do systemów, gdzie ochrona danych użytkownika jest kluczowa. Stosowanie pól typu 'password' jest zgodne z zasadami ochrony prywatności i dobrymi praktykami w zakresie projektowania interfejsów użytkownika, które wymagają maskowania danych w celu minimalizacji ryzyka ich ujawnienia.

Pytanie 23

Która lista jest interpretacją przedstawionego kodu?

<ol>
    <li>muzyka
        <ul>
            <li>Wpis1</li>
            <li>Wpis2</li>
        </ul>
    </li>
    <li>filmy
        <ul>
            <li>Wpis3</li>
            <li>Wpis4</li>
        </ul>
    </li>
</ol>
A. Lista nieuporządkowana zawierająca wszystkie składniki, jeden za drugim.
B. Lista uporządkowana z podpunktami zapisanymi w formie numeracji dziesiętnej (np. 1.1, 1.2).
C. Lista uporządkowana z dwoma składnikami, z których każdy ma wewnętrzną listę nieuporządkowaną.
D. Lista uporządkowana z sześcioma następującymi elementami.
Przedstawiony kod HTML jest przykładem zagnieżdżonych list uporządkowanych i nieuporządkowanych. Na poziomie głównym użyto listy uporządkowanej oznaczonej tagiem <ol> która tworzy listę numerowaną. Listy zagnieżdżone opisane są za pomocą tagu <ul> co oznacza listy nieuporządkowane punktowane. Wewnętrzna struktura kodu pokazuje jak zagnieżdżać listy aby tworzyć hierarchiczne struktury które są często stosowane na stronach internetowych do organizowania treści. Taka organizacja danych jest szczególnie przydatna w przypadku tworzenia menu rozwijanych lub katalogów. Aby zrozumieć prawidłowość tej struktury należy zapoznać się z zasadą zagnieżdżania elementów w HTML gdzie jeden element może zawierać inne w celu tworzenia bardziej złożonych układów. Popularnymi zastosowaniami są również generowanie drzew katalogów oraz nawigacji w witrynach. Standardy HTML sugerują takie podejście do strukturyzacji danych aby były one semantycznie poprawne a zarazem łatwe do odczytania przez przeglądarki internetowe co zwiększa ich dostępność i użyteczność. Praktyka ta jest zgodna z dobrymi praktykami projektowania webowego gdzie zrozumiałość kodu oraz jego struktura są kluczowe dla dalszego rozwoju czy utrzymania aplikacji.

Pytanie 24

Tekst można pogrubić za pomocą znacznika <b>, a także stosując odpowiednie właściwości CSS.

A. font-weight
B. text-weight
C. font-size
D. text-size
Odpowiedź 'font-weight' jest poprawna, ponieważ jest to właściwość CSS, która kontroluje grubość tekstu w elementach HTML. Używając 'font-weight', możesz określić grubość czcionki w sposób zarówno liczbowy (np. 400 dla normalnej grubości, 700 dla pogrubionej) jak i słowny (np. 'normal', 'bold'). Przykładem zastosowania może być stylizacja nagłówków na stronie internetowej, gdzie chcesz wyróżnić ważne informacje. W praktyce, stylizując nagłówki h1, h2, h3, można użyć 'font-weight: bold;' aby przyciągnąć uwagę czytelników. Zgodnie z najlepszymi praktykami, ważne jest, aby nie przesadzać z używaniem pogrubienia, ponieważ może to prowadzić do problemów z czytelnością tekstu. Warto również pamiętać, że dostępność stron internetowych jest kluczowa, dlatego należy testować różne style na różnych urządzeniach i w różnych przeglądarkach, aby upewnić się, że tekst jest czytelny dla wszystkich użytkowników.

Pytanie 25

Jak nazywa się organizacja odpowiedzialna za wyznaczanie standardów dla języka HTML?

A. NASK
B. ISO
C. WYSIWYG
D. W3C
Odpowiedzi ISO, NASK oraz WYSIWYG są niepoprawne w kontekście organizacji zajmującej się ustalaniem standardów dla języka HTML. ISO, czyli Międzynarodowa Organizacja Normalizacyjna, jest globalną organizacją zajmującą się ustalaniem standardów w różnych dziedzinach, takich jak jakości produktów, ale nie koncentruje się na standardach dotyczących technologii webowych. Jej standardy mogą obejmować aspekty techniczne, ale nie są specjalnie ukierunkowane na rozwój języków programowania czy specyfikacji związanych z internetem. NASK, czyli Naukowa i Akademicka Sieć Komputerowa, jest polską organizacją, która skupia się na rozwoju infrastruktury internetowej i usług sieciowych, w tym rejestracji nazw domen, ale nie jest odpowiedzialna za międzynarodowe standardy HTML. Z kolei WYSIWYG, co oznacza 'What You See Is What You Get', to termin odnoszący się do programów edytorskich, które pozwalają na tworzenie treści wizualnych w czasie rzeczywistym, ale nie jest to organizacja ani instytucja zajmująca się standardyzacją języka HTML. W zasadzie WYSIWYG to podejście do edycji treści, a nie struktura organizacyjna. Dlatego żadna z tych odpowiedzi nie odnosi się do kluczowej roli, jaką pełni W3C w kontekście ustalania standardów dla HTML i innych technologii internetowych.

Pytanie 26

W języku PHP wartość 1 została przypisana do zmiennej $a. Porównanie $a === $b zwraca true, gdy zmienna $b ma wartość

A. D. "1" lub '1'
B. B. '1'
C. C. 1 lub '1'
D. A. *1
W przypadku użycia operatora == w porównaniu zmiennych w PHP, może dojść do automatycznej konwersji typów, co prowadzi do niejasnych wyników. Wiele osób myśli, że porównanie zmiennej typu integer z zmienną typu string zawsze będzie zachodzić poprawnie, co jest jednym z najczęstszych błędów. Na przykład, jeśli zmienna $b jest zainicjowana wartością '1' (string), operator == zwróci true, ponieważ PHP automatycznie przekształci string na liczbę przed porównaniem. To podejście może prowadzić do nieprzewidywalnych wyników, gdy porównujemy różne typy danych, co może być źródłem błędów w bardziej złożonych aplikacjach. Ponadto, w kontekście programowania w PHP, praktyki związane z silnym typowaniem zyskują na znaczeniu, a operator === staje się preferowany, ponieważ zapewnia większą przewidywalność i bezpieczeństwo kodu. Używanie operatora == może prowadzić do sytuacji, gdzie programista nie jest świadomy, że różne typy danych są porównywane, co może skutkować nieprawidłowymi wynikami. Warto również rozważyć, że w przypadku porównania z typem string, takie jak '1', PHP zastosuje konwersję, co może prowadzić do błędów, jeśli nie jesteśmy świadomi tej konwencji. Dlatego kluczowe jest zrozumienie różnicy między tymi operatorami, aby uniknąć niezamierzonych konsekwencji w logicznych warunkach w kodzie.

Pytanie 27

W systemach bazodanowych, aby przedstawić dane, które spełniają określone kryteria, należy stworzyć

A. raport
B. formularz
C. relację
D. makropolecenie
Formularze, makropolecenia i relacje to różne rzeczy, które używamy w bazach danych, ale nie nadają się do tworzenia raportów. Formularz to narzędzie do wprowadzania danych, jego głównym celem jest to, żeby użytkownik mógł dodawać lub edytować informacje w bazie. Choć są przydatne do zbierania danych, to już do ich analizy czy prezentacji się nie nadają. Makropolecenia to z kolei instrukcje, które pomagają w automatyzacji powtarzalnych zadań, ale znowu – nie są do raportów. Użytkownicy mogą myśleć, że makropolecenia zastąpią raporty, ale to zupełnie inne rzeczy. Relacje dotyczą sposobu łączenia tabel w bazie danych, co jest ważne dla struktury, ale też nie ma to nic wspólnego z prezentacją danych. Warto wiedzieć, jakie są różnice między tymi pojęciami, bo to może pomóc w lepszym zarządzaniu danymi i uniknięciu nieporozumień.

Pytanie 28

Podaj polecenie SQL, które wprowadza kolumnę miesiacSiewu do istniejącej tabeli rosliny?

A. ALTER TABLE rosliny ADD miesiacSiewu int
B. UPDATE rosliny ADD miesiacSiewu int
C. INSERT INTO rosliny VALUES (miesiacSiewu int)
D. CREATE TABLE rosliny {miesiacSiewu int}
Poprawna odpowiedź to ALTER TABLE rosliny ADD miesiacSiewu int. To polecenie SQL jest używane do modyfikacji istniejącej tabeli w bazie danych. W tym przypadku, zmiana dotyczy dodania nowego pola 'miesiacSiewu', które określi miesiąc siewu roślin. Typ danych 'int' oznacza, że wartość tego pola będzie przechowywana jako liczba całkowita, co jest odpowiednie, jeśli miesiące będą reprezentowane jako liczby od 1 do 12. Przykład użycia polecenia w praktyce: po dodaniu tego pola można wprowadzać dane o miesiącu siewu dla różnych roślin, co może być przydatne w systemach zarządzania uprawami. Dobrą praktyką jest zawsze dokumentować zmiany w schemacie bazy danych, aby zapewnić spójność i przejrzystość w zarządzaniu danymi. Ważne jest również, aby przed modyfikacją tabeli upewnić się, że nie wprowadza to konfliktów z istniejącymi danymi lub strukturami.

Pytanie 29

Jaką cechę pola w tabeli należy ustalić, aby pole mogło przyjmować wyłącznie dane składające się z cyfr?

Ogólne
Rozmiar pola255
Format
Maska wprowadzania
Tytuł
Wartość domyślna
Reguła spr. poprawności
Tekst reguły spr. poprawności
WymaganeNie
Zerowa dł. dozwolonaTak
IndeksowaneNie
Kompresja UnicodeTak
Tryb IMEBez formantu
Tryb zdania edytora IMEBrak
Tagi inteligentne
A. Regułę sprawdzania poprawności
B. Tagi inteligentne
C. Maskę wprowadzania
D. Wartość domyślną
Tagi inteligentne to narzędzie, które można znaleźć w dokumentach czy w systemach do zarządzania danymi. Służą do automatycznego rozpoznawania danych, na przykład dat czy adresów, ale nie mają możliwości ograniczania wprowadzanych danych pod kątem ich formatu, jak na przykład cyfry. Reguły sprawdzania poprawności dane na poziomie tabeli, co oznacza, że można sprawdzać, czy spełniają pewne kryteria przy zapisywaniu. To działa, ale jest bardziej ogólne i nie zastąpi maski wprowadzania, bo te działają w czasie rzeczywistym. Z kolei wartość domyślna to coś, co automatycznie wprowadza dane w polu, jeśli użytkownik nic nie poda. To może być przydatne, gdy jakieś pole zawsze powinno mieć określoną wartość, chyba że użytkownik zadecyduje inaczej. Tylko że wartość domyślna nie reguluje, jakie dane mogą być wpisywane, co jest właśnie wymagane w pytaniu o ograniczenie danych do cyfr. Często myślimy, że wartość domyślna lub reguły mogą kontrolować format danych na bieżąco, ale to jest rola maski wprowadzania, która działa w momencie, gdy piszemy, więc chroni integralność już na etapie wprowadzania danych.

Pytanie 30

Sprawdzanie poprawności wypełnienia formularza, które ma przebiegać po stronie klienta, powinno być wykonane w języku

A. JavaScript
B. Ruby on Rails
C. PHP
D. CSS
Weryfikacja kompletności formularza po stronie przeglądarki jest kluczowym elementem interakcji użytkownika z aplikacją internetową. Do realizacji tego zadania najczęściej wykorzystuje się język JavaScript, który umożliwia dynamiczne manipulowanie strukturą HTML oraz reagowanie na zdarzenia użytkownika, takie jak kliknięcia czy wprowadzanie danych. Przykładem może być zdefiniowanie funkcji, która sprawdza, czy wszystkie wymagane pola formularza zostały uzupełnione przed jego wysłaniem. W tym celu można użyć zdarzenia 'submit', aby przechwycić moment wysłania formularza i przeprowadzić odpowiednie sprawdzenie. Standardy, takie jak W3C, zalecają stosowanie walidacji po stronie klienta, jako sposób na poprawę doświadczeń użytkownika i zmniejszenie obciążenia serwera. Przykład kodu JavaScript do walidacji formularza mógłby wyglądać następująco: function validateForm() { var x = document.forms["myForm"]["fname"].value; if (x == "") { alert("Imię musi być wypełnione"); return false; } }. Takie podejście nie tylko zwiększa użyteczność aplikacji, ale również pozwala na wczesne wykrywanie błędów, co może znacznie poprawić jakość danych przesyłanych do serwera.

Pytanie 31

Wskaż zdanie, które jest fałszywe w odniesieniu do poniższej definicji funkcji w języku C++?

void zamien(float &x, float &y) {
    float tmp;
    tmp = x;
    x = y;
    y = tmp;
}
A. Funkcja nie zwraca żadnej wartości
B. Funkcja zwraca wartość
C. Funkcja ma dwa argumenty
D. Funkcja korzysta z parametrów przez referencję
Funkcja w języku C++ z deklaracją 'void' na początku oznacza, że nie zwraca żadnej wartości. Jest to zgodne z poprawną odpowiedzią nr 3. Tego typu funkcje używane są często w sytuacjach, gdy nie jest konieczne przekazywanie wyniku, a operacje są wykonywane na danych wejściowych. Deklaracja parametrów przez referencję 'float &x, float &y' pozwala na bezpośrednią modyfikację wartości przekazanych do funkcji zmiennych. Oznacza to, że wszelkie zmiany dokonane na tych parametrach wewnątrz funkcji są odzwierciedlane w zmiennych oryginalnych. Taka technika jest szeroko stosowana w programowaniu, aby zwiększyć efektywność i zmniejszyć ilość niepotrzebnych kopii danych. Funkcja 'zamien' ilustruje wymianę wartości dwóch zmiennych przy użyciu tymczasowej zmiennej 'tmp', co jest klasycznym podejściem do tego problemu programistycznego. Zachowanie funkcji bez zwracania wartości jest zgodne z zasadami projektowania funkcji użytkowych, które realizują pewne operacje proceduralne na danych. Stosowanie referencji zwiększa kontrolę nad pamięcią i wydajność programu, co jest krytyczne w aplikacjach o wysokiej wydajności. Zrozumienie tego aspektu jest istotne dla prawidłowego biegu programu i efektywnego zarządzania zasobami.

Pytanie 32

Tabele Klienci oraz Zgłoszenia są ze sobą połączone relacją jeden do wielu. W celu uzyskania jedynie opisu zgłoszenia oraz odpowiadającego mu nazwiska klienta dla zgłoszenia o numerze 5, należy wykonać polecenie

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci WHERE Klienci.id = 5
B. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5
C. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.id WHERE Zgłoszenia.id = 5
D. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Klienci.id = 5
Niepoprawne odpowiedzi wynikają z błędnego zrozumienia, jak działa relacja klucz główny-klucz obcy w bazach danych. W relacyjnych bazach danych tabele są często powiązane relacjami, gdzie jedna tabela posiada klucz obcy odnoszący się do klucza głównego innej tabeli. W kontekście zapytania SQL, aby poprawnie połączyć tabele i uzyskać odpowiednie dane, musimy użyć klauzuli JOIN z właściwym warunkiem ON. Błędne odpowiedzi pokazują typowe nieporozumienia: jedna z alternatywnych odpowiedzi próbuje połączyć tabele bez użycia klauzuli ON, co prowadzi do błędnych wyników, ponieważ nie określa w jaki sposób rekordy z tabeli Klienci są powiązane z rekordami z tabeli Zgłoszenia. Inna odpowiedź błędnie zakłada, że filtrujemy dane na podstawie id klienta zamiast id zgłoszenia, co prowadzi do nieprawidłowego zestawu wyników niezgodnego z założeniami zadania. Takie błędy mogą wynikać z niedostatecznego zrozumienia struktury bazy danych oraz mechanizmów filtracji i łączenia danych w SQL. Kluczem do poprawnego zapytania jest jasne zrozumienie, jak relacje w bazach danych pozwalają na efektywne łączenie danych i selekcję pożądanych rekordów, co jest podstawą analizy danych i ich raportowania w systemach informacyjnych. Unikanie takich błędów wymaga znajomości syntaktyki SQL i logicznego sposobu myślenia o danych i ich powiązaniach.

Pytanie 33

W programowaniu istnieje tylko jeden typ danych, który może przyjąć tylko dwie wartości. Jak nazywa się ten typ?

A. znakowy
B. logiczy
C. ciągowy
D. tablicowy
Wybór zmiennej łańcuchowej jako odpowiedzi jest błędny, ponieważ typ ten może przechowywać wiele różnych wartości w postaci sekwencji znaków. Łańcuchy znakowe są używane do reprezentacji tekstu, co czyni je znacznie bardziej złożonymi niż tylko dwie możliwości. Z kolei zmienna znakowa (char) również nie spełnia tego kryterium, gdyż pozwala na reprezentację pojedynczego znaku, a nie ogranicza się do dwóch specyficznych wartości. Typ tablicowy z kolei jest strukturą danych, która może przechowywać wiele elementów jednego typu, co również wykracza poza ograniczenia dwóch wartości. Typowe błędy myślowe prowadzące do takich wniosków to pomylenie typów danych z ich możliwościami przechowywania oraz funkcjami. Warto zrozumieć, że w programowaniu każdy typ zmiennej ma swoje specyficzne zastosowanie, a typ logiczny jest wyjątkowy w tym, że jego zastosowanie opiera się na prostocie i jednoznaczności w podejmowaniu decyzji. Zrozumienie tych różnic jest kluczem do efektywnego programowania oraz do tworzenia kodu, który jest nie tylko funkcjonalny, ale również łatwy do analizy i konserwacji w przyszłości.

Pytanie 34

<img src="/rysunek.png" alt="pejzaż"> Zapisany został kod HTML, który wstawia obrazek na stronę. Jeśli rysunek.png nie zostanie znaleziony, przeglądarka

A. nie załaduje strony internetowej
B. w miejscu grafiki pokaże tekst "rysunek.png"
C. w miejscu grafiki zasygnalizuje błąd wyświetlania strony
D. wyświetli w miejscu grafiki tekst "pejzaż"
Pierwsza z niepoprawnych odpowiedzi sugeruje, że brak grafiki spowoduje, iż strona internetowa się nie wyświetli. To stwierdzenie jest nieprawdziwe, ponieważ HTML jest zaprojektowany w taki sposób, aby kontynuować rendering strony nawet w przypadku, gdy niektóre zasoby, takie jak obrazy, są niedostępne. Strona internetowa będzie dostępna, a użytkownik zobaczy pozostałe elementy treści. Kolejną nieprawidłowością jest to, że przeglądarka wyświetli tekst 'rysunek.png' w przypadku braku grafiki. Zamiast tego, przeglądarka zareaguje zgodnie z ustawieniami atrybutu 'alt', a nie wypisze nazwy pliku. Taki mechanizm nie tylko umożliwia lepszą interpretację zawartości, ale także zapobiega wyświetlaniu technicznych szczegółów pliku użytkownikowi. Ostatnia z opcji również jest błędna, sugerując, że w przypadku braku pliku zostanie wyświetlony błąd wyświetlania strony. W rzeczywistości, błędy wyświetlania strony wynikają z problemów z ładowaniem całej strony, a nie tylko z pojedynczych zasobów, takich jak obrazy. Takie podejście do zarządzania błędami jest kluczowe w projektowaniu stron internetowych i wpływa na ogólną jakość doświadczeń użytkowników.

Pytanie 35

Podczas tworzenia tabeli, do pola, które ma automatycznie przyjmować następne liczby całkowite, należy wprowadzić atrybut

A. NULL
B. PRIMARY KEY
C. NOT NULL
D. AUTO_INCREMENT
Właściwość AUTO_INCREMENT w bazach danych, takich jak MySQL, jest kluczowym elementem, który umożliwia automatyczne zwiększanie wartości liczbowej w polu, co jest szczególnie przydatne przy tworzeniu identyfikatorów dla rekordów. Gdy pole jest oznaczone jako AUTO_INCREMENT, każda nowa wartość wstawiana do tego pola jest automatycznie zwiększana o jeden w porównaniu do ostatniej wprowadzonej wartości. Na przykład, jeśli ostatni rekord miał identyfikator 5, to nowy rekord otrzyma identyfikator 6. Umożliwia to uniknięcie ręcznego zarządzania numeracją identyfikatorów i minimalizuje ryzyko ich powtórzenia, co jest kluczowe dla zachowania integralności danych. Praktycznie, stosowanie AUTO_INCREMENT w tabelach, które przechowują dane o użytkownikach, zamówieniach czy transakcjach, zapewnia wydajność oraz spójność w zarządzaniu unikalnymi identyfikatorami. Dobrą praktyką jest również łączenie AUTO_INCREMENT z PRIMARY KEY, aby zapewnić, że każdy rekord w tabeli jest unikalny i łatwy do identyfikacji.

Pytanie 36

Aby tworzyć strony internetowe w sposób graficzny, należy skorzystać z

A. programu typu WYSIWYG
B. programu MS Office Picture Manager
C. edytora CSS
D. przeglądarki internetowej
Korzystanie z przeglądarek internetowych do tworzenia stron internetowych jest fundamentalnie niepoprawne, ponieważ przeglądarki są narzędziami do wyświetlania stron, a nie ich tworzenia. Użytkownicy mogą jedynie przeglądać treści, które zostały już opracowane w innych aplikacjach i zamieszczone w Internecie. Również edytory CSS, choć ważne w procesie stylizowania stron, nie są wystarczające do graficznego tworzenia stron internetowych. Edytory te skupiają się jedynie na aspekcie wizualnym poprzez stylowanie elementów HTML, ale nie oferują możliwości łatwego i intuicyjnego projektowania układu strony, co jest kluczowe dla grafików i projektantów stron. Co więcej, program MS Office Picture Manager jest aplikacją do zarządzania i edytowania zdjęć, a nie do tworzenia stron internetowych. Użytkownicy mogą popełniać błąd, myśląc, że podobne programy mogą być używane do projektowania stron, jednak nie są one zaprojektowane do integracji z HTML, CSS czy JavaScript. Zrozumienie tych różnic jest kluczowe dla efektywnego tworzenia stron internetowych, które są nie tylko estetyczne, ale również funkcjonalne i zgodne z nowoczesnymi standardami.

Pytanie 37

Jakie wyrażenie logiczne powinno zostać użyte w języku JavaScript, aby przeprowadzić operacje wyłącznie na dowolnych liczbach ujemnych z zakresu jednostronnie domkniętego <-200, -100)?

A. (liczba >= -200) || (liczba > -100)
B. (liczba <= -200) || (liczba > -100)
C. (liczba <= -200) && (liczba < -100)
D. (liczba >= -200) && (liczba < -100)
Poprawna odpowiedź, (liczba >= -200) && (liczba < -100), jest zgodna z wymaganym zakresem liczb ujemnych. Wyrażenie to sprawdza, czy wartość zmiennej 'liczba' jest większa lub równa -200, a jednocześnie mniejsza niż -100. Oznacza to, że przyjmuje wszystkie liczby z przedziału, w tym -200, ale nie uwzględnia -100. To podejście jest zgodne z praktykami programowania, gdzie istotne jest dokładne definiowanie zakresów. W JavaScript stosowanie operatorów logicznych, takich jak &&, umożliwia precyzyjne warunkowanie wykonania kodu, co jest niezbędne do sprawnego zarządzania błędami oraz zwiększa czytelność kodu. Przykładowo, w kontekście walidacji danych, takie wyrażenie można wykorzystać do filtrowania nieprawidłowych wartości przed ich przetwarzaniem. Umożliwia to lepsze zarządzanie danymi oraz zapobiega błędom w aplikacjach. Zastosowanie tego wyrażenia w praktyce pokazuje, jak ważne jest precyzyjne formułowanie warunków, co jest kluczowym elementem skutecznego programowania.

Pytanie 38

W celu przyznania użytkownikowi w systemie MySQL możliwości nadawania i modyfikowania uprawnień innym użytkownikom, konieczne jest użycie klauzuli

A. ALL PRIVILEGES
B. TRGGER
C. FLUSH PRIVILEGES
D. GRANT OPTION
Wybór nieprawidłowych opcji, takich jak TRIGGER, ALL PRIVILEGES i FLUSH PRIVILEGES, wynika z braku zrozumienia ich zastosowania w kontekście zarządzania uprawnieniami w MySQL. TRIGGER odnosi się do mechanizmu automatycznego wykonywania operacji w odpowiedzi na określone zdarzenia w bazie danych, takie jak dodanie, aktualizacja lub usunięcie rekordu. Nie jest związany z nadawaniem uprawnień innym użytkownikom, ale z logiką aplikacji i automatyzacją zadań. Można go wykorzystać do implementacji reguł biznesowych, jednak nie wpływa na hierarchię uprawnień. ALL PRIVILEGES to klauzula, która pozwala przyznać wszystkie możliwe uprawnienia do bazy danych, ale nie daje możliwości ich dalszego przekazywania innym użytkownikom. Użytkownik z ALL PRIVILEGES mógłby mieć pełną kontrolę nad bazą danych, lecz nie mógłby dzielić się tymi uprawnieniami. Ostatnia z opcji, FLUSH PRIVILEGES, jest poleceniem używanym do przetwarzania zmian w uprawnieniach użytkowników i ich odświeżania w systemie, ale nie przyznaje żadnych uprawnień. Jest to istotne w kontekście wprowadzania zmian do systemu uprawnień, ale nie ma wpływu na możliwość ich dalszego nadawania innym użytkownikom. W związku z tym, wybrane odpowiedzi nie są adekwatne i nie spełniają potrzeby zarządzania uprawnieniami w MySQL.

Pytanie 39

Podczas tworzenia witryny internetowej zastosowano kod definiujący jej wygląd. Jaką szerokość przeznaczono na zawartość strony?

Ilustracja do pytania
A. 560 px
B. 2 px
C. 640 px
D. 600 px
Definiowanie szerokości elementu w CSS jest kluczowym aspektem projektowania responsywnych stron internetowych. W przedstawionym kodzie CSS zauważamy definicję width 560px która określa szerokość elementu body. Ta wartość bezpośrednio przekłada się na dostępną przestrzeń dla treści wewnętrznej tego elementu. W praktyce definiowanie szerokości w pikselach pozwala na precyzyjne kontrolowanie układu strony co jest szczególnie istotne w kontekście projektowania interfejsów użytkownika. Takie podejście jest jednak najczęściej stosowane w środowiskach gdzie mamy pełną kontrolę nad urządzeniami wyświetlającymi stronę. W kontekście nowoczesnych praktyk często stosuje się jednostki względne lub techniki takie jak media queries aby zapewnić lepszą responsywność i elastyczność. Ważne jest także rozważanie dodatkowych aspektów takich jak marginesy i wypełnienia które mogą wpływać na rzeczywistą ilość dostępnej przestrzeni na treść. Właściwe zrozumienie i zastosowanie szerokości jest kluczowe dla tworzenia estetycznych i funkcjonalnych układów strony internetowej.

Pytanie 40

W CSS zapis selektora

p > i { color: red;} 
wskazuje, że kolorem czerwonym będzie wyróżniony
A. jedynie tekst w znaczniku <i>, który znajduje się bezpośrednio wewnątrz znacznika <p>
B. wszystkie teksty w znaczniku <p> lub każdy tekst w znaczniku <i>
C. tylko ten tekst znacznika <p>, który ma przypisaną klasę o nazwie i
D. każdy tekst w znaczniku <p> z wyjątkiem tych w znaczniku <i>
Odpowiedź ta jest poprawna, ponieważ selektor CSS <pre>p &gt; i { color: red; }</pre> definiuje regułę, która odnosi się jedynie do elementów <i> znajdujących się bezpośrednio wewnątrz elementu <p>. Operator > jest selektorem potomka bezpośredniego, co oznacza, że tylko te <i>, które są bezpośrednio dzieckiem <p>, będą miały przypisany kolor czerwony. Na przykład, jeśli w kodzie HTML mamy <p><i>Tekst</i></p>, to ten tekst będzie czerwony. Z drugiej strony, jeżeli <i> znajduje się zagnieżdżone w innym elemencie wewnątrz <p>, jak <p><span><i>Tekst</i></span></p>, to ten tekst nie będzie formatowany na czerwono. Tego typu selektory są niezwykle przydatne w praktycznym zastosowaniu, gdyż pozwalają na precyzyjne określenie stylów dla konkretnych elementów, co jest zgodne z najlepszymi praktykami projektowania stron internetowych, takimi jak utrzymanie czytelności kodu i unikanie niezamierzonych efektów formatowania.