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: 28 czerwca 2025 11:55
  • Data zakończenia: 28 czerwca 2025 11:55

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Jaki język skryptowy o uniwersalnym zastosowaniu powinien być użyty do tworzenia aplikacji internetowych, wkomponowanych w kod HTML i działających na serwerze?

A. Perl
B. JavaScript
C. C#
D. PHP

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
PHP, czyli Hypertext Preprocessor, to taki język skryptowy, który jest mega popularny, szczególnie jeśli chodzi o dynamiczne strony www. Fajnie, że można go wplatać w HTML i uruchamiać na serwerze, bo to pozwala generować treści na bieżąco, tak jak chce użytkownik. PHP współpracuje z różnymi bazami danych, na przykład MySQL, co czyni go super wyborem dla aplikacji, które muszą się z nimi łączyć. Dzięki frameworkom, jak Laravel czy Symfony, programiści mogą szybko i sprawnie tworzyć bardziej skomplikowane aplikacje. PHP jest też zgodny z wieloma standardami webowymi, więc działa na różnych serwerach i systemach operacyjnych. Przykład? Weźmy WordPress - to popularny system zarządzania treścią, który w całości jest zrobiony właśnie w PHP. No i nie można zapomnieć, że jest prosty i elastyczny, co sprawia, że chętnie uczą się go zarówno początkujący, jak i doświadczeni programiści.

Pytanie 2

W tabeli programiści znajdują się kolumny: id, nick, ilosc_kodu, ocena. W kolumnie ilosc_kodu zapisano liczbę linii kodu, które programista napisał w danym miesiącu. Jakie zapytanie umożliwi obliczenie całkowitej liczby linii kodu stworzonych przez wszystkich programistów?

A. SELECT MAX(ilosc_kodu) FROM programisci
B. SELECT SUM(ocena) FROM ilosc_kodu;
C. SELECT SUM(ilosc_kodu) FROM programisci;
D. SELECT COUNT(programisci) FROM ilosc_kodu;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to 'SELECT SUM(ilosc_kodu) FROM programisci;'. To polecenie wykorzystuje funkcję agregującą SUM, która sumuje wartości w kolumnie 'ilosc_kodu' dla wszystkich wpisów w tabeli 'programisci'. Jest to najbardziej odpowiednia metoda do obliczenia całkowitej liczby linii kodu napisanych przez wszystkich programistów w danym miesiącu. Funkcje agregujące, takie jak SUM, COUNT, AVG, MAX czy MIN, są kluczowe w SQL, ponieważ pozwalają na efektywne przetwarzanie danych i uzyskiwanie podsumowań na podstawie określonych kryteriów. Dobrą praktyką jest również używanie jednoznacznych aliasów w zapytaniach oraz dbanie o czytelność kodu, co ułatwia jego późniejsze modyfikacje oraz utrzymanie. Przykładowo, można rozszerzyć zapytanie o dodatkowe filtry, aby obliczyć sumę linii tylko dla programistów o określonej ocenie, używając klauzuli WHERE. Tego typu umiejętności są niezbędne w codziennej pracy analityka danych, programisty lub administratora baz danych, gdzie przetwarzanie informacji w sposób efektywny i zrozumiały ma kluczowe znaczenie dla podejmowania decyzji biznesowych.

Pytanie 3

W CSS, aby ustalić nietypowe odległości między słowami, używa się właściwości

A. word-spacing
B. line-spacing
C. white-space
D. letter-space

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W języku CSS właściwość word-spacing jest używana do definiowania odstępu między wyrazami w elemencie tekstowym. Zwiększenie lub zmniejszenie odstępu między wyrazami może znacznie wpłynąć na czytelność i estetykę tekstu. Wartość tej właściwości można ustawić w jednostkach długości, takich jak piksele (px), em, rem lub procenty. Na przykład, zastosowanie word-spacing: 5px; w kodzie CSS spowoduje zwiększenie odstępu między wyrazami o 5 pikseli. Wartością domyślną tej właściwości jest 0, co oznacza, że odstępy są ustalane przez przeglądarkę na podstawie czcionki i innych parametrów tekstu. Użycie word-spacing może być szczególnie przydatne w przypadku projektowania stron internetowych, gdzie estetyka tekstu ma kluczowe znaczenie dla doświadczeń użytkownika. Dlatego, aby osiągnąć pożądany efekt wizualny, projektanci często manipulują odstępami między wyrazami w swoich stylach CSS, co jest zgodne z wytycznymi W3C dotyczącymi dostępności i czytelności treści na stronach internetowych.

Pytanie 4

Wskaż, na czym polega błąd w kodzie napisanym w języku C++. ```char str1[30] = 'Ala ma kota'; printf("%s", str1);```

A. W funkcji printf nie można używać formatowania %s
B. Do funkcji printf przekazano zbyt mało argumentów
C. Napis powinien mieć dokładnie 30 znaków
D. Napis powinien być umieszczony w cudzysłowach

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wskaźnik 'str1' jest zdefiniowany jako tablica znaków, która ma przechowywać łańcuch znaków. W C++ łańcuchy znaków muszą być umieszczone w cudzysłowach, aby kompilator mógł je poprawnie zinterpretować jako dane typu string. W przypadku przypisania wartości 'Ala ma kota' bez cudzysłowów, kompilator traktuje to jako pojedynczy znak, co prowadzi do błędu. Aby poprawnie zainicjować tablicę 'str1', należy użyć: char str1[30] = "Ala ma kota";. Taki zapis jest zgodny z regułami C++ i zapewnia, że napis zostanie potraktowany jako łańcuch znaków. Ponadto, dobrym zwyczajem jest zapewnienie, że tablica ma wystarczającą ilość miejsca na znak null ('\0'), który oznacza koniec łańcucha, co w tym przypadku jest zapewnione przez zdefiniowanie tablicy o rozmiarze 30. Warto również pamiętać, że stosowanie cudzysłowów zamiast apostrofów dla łańcuchów znaków jest podstawową zasadą programowania w C++.

Pytanie 5

Który atrybut pozwala na wskazanie lokalizacji pliku graficznego w znaczniku ?

A. src
B. alt
C. href
D. link

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Atrybut 'src' w znaczniku jest kluczowy, ponieważ określa lokalizację pliku graficznego, który ma być wyświetlany na stronie. Oznacza to, że wartość tego atrybutu to URL (Uniform Resource Locator), który wskazuje na lokalizację obrazu w internecie lub na lokalnym serwerze. Przykładowo, jeśli chcemy wyświetlić obrazek o nazwie 'zdjecie.jpg' znajdujący się w folderze 'obrazy', użyjemy: Opis obrazka. Zastosowanie odpowiedniego atrybutu 'src' jest zgodne z najlepszymi praktykami HTML, co zapewnia, że przeglądarki internetowe prawidłowo interpretują nasze zamierzenia co do wyświetlania treści wizualnych. Nieprawidłowe określenie lokalizacji obrazu może prowadzić do błędów '404 Not Found', co negatywnie wpływa na doświadczenie użytkownika. Dobrze zaprojektowane strony internetowe powinny również uwzględniać atrybut 'alt', który zapewnia dostępność oraz opisuje zawartość obrazu osobom korzystającym z czytników ekranu, ale to 'src' jest odpowiedzialny za wyświetlanie samego obrazu.

Pytanie 6

Tabela o nazwie naprawy zawiera kolumny: klient, czyNaprawione. Jakie polecenie należy użyć, aby wykasować rekordy, w których pole czyNaprawione ma wartość prawdziwą?

A. DELETE FROM naprawy WHERE czyNaprawione = TRUE;
B. DELETE naprawy WHERE czyNaprawione = TRUE;
C. DELETE FROM naprawy;
D. DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to 'DELETE FROM naprawy WHERE czyNaprawione = TRUE;'. To polecenie SQL jest zgodne z syntaksą używaną do usuwania rekordów z tabeli, gdzie spełniony jest określony warunek. W tym przypadku, usuwamy wszystkie rekordy z tabeli 'naprawy', dla których pole 'czyNaprawione' ma wartość TRUE. Użycie słowa kluczowego 'FROM' jest niezbędne, aby wskazać, z której tabeli chcemy usunąć dane. Przykładowo, jeśli w tabeli 'naprawy' mamy wielu klientów, z którymi nie zostały jeszcze dokonane naprawy, a chcemy zachować tylko te, które zostały zakończone, takie polecenie jest idealne. W praktyce, stosowanie takich zapytań jest istotne, aby utrzymywać bazę danych w porządku i eliminować nieaktualne informacje. Ponadto, zgodnie z dobrymi praktykami, przed wykonaniem polecenia DELETE warto wykonać zapytanie SELECT z tym samym warunkiem, aby zobaczyć, które rekordy zostaną usunięte.

Pytanie 7

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

A. NULL
B. AUTO_INCREMENT
C. PRIMARY KEY
D. NOT NULL

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
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 8

Z którego z pól klasy ```class Dane { public $a; private $b; protected $c; }``` będzie można uzyskać dostęp z zewnątrz przy użyciu obiektu stworzonego jako instancja tej klasy?

A. Do pola $a.
B. Do pola $b.
C. Do wszystkich pól.
D. Do pola $c.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'Do pola $a' jest prawidłowa, ponieważ pole $a jest zdefiniowane jako publiczne, co oznacza, że jest dostępne z zewnątrz dla instancji klasy oraz dla kodu, który jest poza tą klasą. W praktyce, gdy tworzysz obiekt klasy Dane, możesz łatwo uzyskać dostęp do tego pola, na przykład za pomocą $obiekt->a. Zastosowanie publicznych pól jest typowe, gdy chcesz, aby dane były szeroko dostępne, na przykład w interfejsach API lub podczas tworzenia prostych klas modelujących dane. W przypadku pól prywatnych oraz chronionych, dostęp do nich jest ograniczony. Pole $b jest prywatne, co oznacza, że może być używane tylko wewnątrz tej samej klasy, a pole $c, będące chronionym, może być używane przez klasę i jej podklasy, ale nie przez kod zewnętrzny. Warto zaznaczyć, że dobre praktyki programowania obiektowego sugerują ograniczanie dostępu do pól, co sprzyja enkapsulacji i ochronie integralności danych, a publiczne pola należy stosować z ostrożnością, aby nie naruszyć zasad projektowania systemów oprogramowania.

Pytanie 9

Jak nazywa się sposób udostępniania bazy danych w Microsoft Access, który obejmuje wszystkie obiekty bazy znajdujące się na dysku sieciowym i używane jednocześnie przez różne osoby?

A. dzielonej bazy danych
B. serwera bazy danych
C. folderu sieciowego
D. witryny programu SharePoint

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Folder sieciowy to metoda udostępniania bazy danych w Microsoft Access, która umożliwia kilku użytkownikom jednoczesny dostęp do tej samej bazy danych umieszczonej na dysku sieciowym. Taka forma udostępniania jest bardzo praktyczna w środowiskach współpracy, gdzie wiele osób musi korzystać z tych samych danych. Użytkownicy mogą otwierać, edytować i zapisywać obiekty bazy danych, co zwiększa efektywność pracy zespołowej. Kluczowe jest, aby folder sieciowy był odpowiednio skonfigurowany z uprawnieniami dostępu, co zapewnia zarówno współdzielenie zasobów, jak i bezpieczeństwo danych. Dobrą praktyką jest także regularne tworzenie kopii zapasowych bazy danych oraz zarządzanie wersjami, co pozwala na minimalizację ryzyka utraty danych. W kontekście standardów branżowych, korzystanie z udostępnionych folderów sieciowych powinno być zgodne z polityką bezpieczeństwa organizacji oraz zasadami zarządzania danymi.

Pytanie 10

Jakie polecenie przywróci do działania uszkodzoną tabelę w SQL?

A. ANALYZE TABLE tbl_name
B. OPTIMIZE TABLE tbl_name
C. REGENERATE TABLE tbl_name
D. REPAIR TABLE tblname

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
REPAIR TABLE tblname jest komendą w SQL, która jest używana do naprawy uszkodzonych tabel w bazach danych, szczególnie w systemach zarządzania bazami danych, takich jak MySQL. Gdy tabela ulegnie uszkodzeniu z powodu awarii systemu, błędów oprogramowania lub innych problemów, użycie tej komendy pozwala na przywrócenie jej do stanu używalności. Przykładem może być sytuacja, gdy po awarii serwera tabela przestaje być dostępna. Wówczas wystarczy uruchomić polecenie REPAIR TABLE, aby zdiagnozować i naprawić problemy. Warto pamiętać, że ta komenda nie tylko przywraca integralność danych, ale także może poprawić wydajność tabeli, usuwając fragmentację. Praktyka wskazuje, że regularne sprawdzanie i naprawa tabel, zwłaszcza po dużych operacjach zapisu, jest dobrym nawykiem w zarządzaniu bazami danych. Dobrą praktyką jest również tworzenie kopii zapasowych tabel przed ich naprawą, co zabezpiecza dane przed potencjalną utratą w wyniku błędów przy naprawie.

Pytanie 11

W kaskadowych arkuszach stylów do oznaczenia selektora klasy wykorzystuje się symbol

A. : (dwukropek)
B. #
C. *
D. . (kropka)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź . (kropka) jest prawidłowa, ponieważ w kaskadowych arkuszach stylów (CSS) selektor klasy definiuje się poprzez użycie symbolu kropki przed nazwą klasy. Przykład: jeśli mamy klasę o nazwie 'przyklad', to w CSS zapisujemy selektor jako '.przyklad'. Taki selektor pozwala na stosowanie określonych stylów do wszystkich elementów HTML, które zawierają tę klasę. Dobrą praktyką jest używanie klas do grupowania elementów, co ułatwia zarządzanie stylami oraz zwiększa czytelność kodu. Na przykład, możemy zdefiniować wspólny wygląd dla przycisków: .przycisk { background-color: blue; color: white; }. Ponadto, korzystanie z klas zamiast identyfikatorów (które definiuje się przez symbol #) pozwala na wielokrotne stosowanie jednego stylu w różnych miejscach dokumentu. Klasy są bardziej elastyczne i umożliwiają lepszą organizację kodu, co jest zgodne z zasadami DRY (Don't Repeat Yourself) w programowaniu.

Pytanie 12

W języku JavaScript zamieszczony poniżej fragment funkcji ma na celu

Ilustracja do pytania
A. policzenie sumy wszystkich elementów tablicy
B. wprowadzenie do każdego elementu tablicy bieżącej wartości zmiennej i
C. dodanie stałej wartości do każdego elementu tablicy
D. wyświetlenie wszystkich elementów tablicy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Podany fragment kodu w języku JavaScript pokazuje klasyczną strukturę pętli for, która pozwala na przejście przez wszystkie elementy tablicy i wykonanie na nich określonych operacji. W tym przypadku celem pętli jest zsumowanie wszystkich elementów tablicy. Zmienna wynik jest inicjalizowana wartością 0, co jest dobrą praktyką programistyczną, aby zapewnić prawidłowe działanie sumowania. Pętla iteruje przez każdy element tablicy tab przy pomocy zmiennej i, która pełni rolę indeksu. Przy każdej iteracji do zmiennej wynik dodawana jest wartość bieżącego elementu tablicy tab[i]. Po zakończeniu pętli zmienna wynik będzie zawierać sumę wszystkich elementów tablicy. Takie podejście jest podstawą wielu algorytmów przetwarzających dane tablicowe i ilustruje ważny koncept iteracyjnego przetwarzania danych. Warto również wspomnieć, że takie podstawowe operacje jak to sumowanie mogą być zastosowane w wielu dziedzinach takich jak analiza danych obliczenia statystyczne czy przetwarzanie dużych zbiorów danych w systemach komputerowych co czyni je niezwykle wartościowymi w praktyce zawodowej

Pytanie 13

Które z wywołań funkcji PHP round() da wynik równy 1?

A. round(-4.60)
B. round(0.60)
C. round(-1.40)
D. round(0.29)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja round() w PHP zaokrągla liczbę do najbliższej wartości całkowitej. W przypadku wywołania round(0.60), wartość ta zostanie zaokrąglona do 1. Jest to zgodne z zachowaniem funkcji, która dąży do zaokrąglania liczb w kierunku najbliższej liczby całkowitej. Dla porównania, wartości bliskie 0.5 są zaokrąglane w górę, co w tym przypadku dotyczy liczby 0.60. W praktyce, zastosowanie funkcji round() jest szerokie i obejmuje wszelkie operacje wymagające precyzyjnego zaokrąglenia wartości, na przykład w obliczeniach finansowych, gdzie istotne jest zaokrąglanie do dwóch miejsc po przecinku, czy w aplikacjach naukowych obliczających wartości eksperymentalne. Warto pamiętać, że w zależności od wersji PHP, round() może przyjmować dodatkowy parametr, który określa liczbę miejsc po przecinku, co umożliwia jeszcze bardziej precyzyjne dostosowanie zaokrąglania do potrzeb konkretnego zastosowania.

Pytanie 14

Jaki zestaw liczb zostanie wyświetlony w wyniku działania pętli napisanej w języku PHP?

$liczba = 10;
while ($liczba < 50) {
  echo "$liczba ";
  $liczba = $liczba + 5;
}
A. 10 15 20 25 30 35 40 45
B. 10 15 20 25 30 35 40 45 50
C. 0 5 10 15 20 25 30 35 40 45 50
D. 0 5 10 15 20 25 30 35 40 45

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź to 10 15 20 25 30 35 40 45 ponieważ pętla while w języku PHP działa na zasadzie sprawdzania warunku przed każdą iteracją. W tym przypadku zmienna $liczba jest inicjalizowana wartością 10 a warunek w pętli sprawdza czy $liczba jest mniejsza niż 50. Wartość zmiennej jest wypisywana i następnie zwiększana o 5 w każdym kroku iteracyjnym. Pętla zakończy się gdy $liczba osiągnie wartość 50 lub większą. Dlatego ostatnią wypisaną wartością będzie 45 gdyż po dodaniu 5 zmienna $liczba wyniesie 50 i przestanie spełniać warunek pętli. Takie konstrukcje pętli są powszechne w programowaniu szczególnie gdy mamy do czynienia z iteracją po stałych przedziałach liczbowych. Stosowanie pętli while jest zalecane w przypadku gdy liczba iteracji nie jest z góry znana a jedynie zależy od spełnienia określonego warunku. Ważne jest by pamiętać o możliwości nieskończonej pętli jeśli warunek nigdy nie zostanie spełniony co może prowadzić do błędów wykonania programu. Praktycznym zastosowaniem takiej pętli jest iteracja po zbiorze danych którego rozmiar zależy od zewnętrznych czynników np danych wejściowych od użytkownika lub zawartości pliku.

Pytanie 15

W języku C++ funkcja, która zwraca rezultat potęgowania i operuje na dwóch argumentach: liczbie x oraz wykładniku w, powinna mieć taką deklarację

A. void potega(int x, int w);
B. void potega(int x, int w, int wynik);
C. int potega(int x);
D. int potega(int x, int w);

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zgadzasz się, że 'int potega(int x, int w);' to trafna odpowiedź. Funkcja do potęgowania faktycznie potrzebuje dwóch rzeczy: podstawy x i wykładnika w, a na końcu powinna zwrócić liczbę całkowitą, która jest wynikiem potęgowania. Jakby to wyglądało w praktyce? Można by to napisać jako 'int potega(int x, int w) { return pow(x, w); }'. Przy czym 'pow' pochodzi z biblioteki cmath i robi te wszystkie magiczne obliczenia. Ważne jest, by przy projektowaniu funkcji myśleć o ich użyteczności, czyli żeby miały jasno określone wejście i wyjście. A jak już mówimy o potęgowaniu, to musimy też pamiętać o specjalnych przypadkach, jak potęgowanie zera do zera, które w matematyce jest równe 1. Dlatego dobrze zrobiona funkcja powinna to uwzględniać. W programowaniu kluczowe jest, by obliczenia były efektywne i poprawne, zwłaszcza w naukowych i inżynieryjnych projektach, gdzie precyzja jest bardzo istotna.

Pytanie 16

Polecenie serwera MySQL w postaci REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal’@’localhost' spowoduje, że użytkownikowi tKowal zostaną

A. odebrane uprawnienia usuwania oraz dodawania rekordów w tabeli pracownicy
B. przydzielone uprawnienia do wszelkich zmian struktury tabeli pracownicy
C. przydzielone uprawnienia do usuwania oraz aktualizowania danych w tabeli pracownicy
D. odebrane prawa usuwania i modyfikowania danych w tabeli pracownicy

Brak odpowiedzi na to pytanie.

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

Pytanie 17

Która z funkcji SQL nie wymaga żadnych argumentów?

A. len
B. year
C. now
D. upper

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja SQL 'now()' jest jedną z funkcji, które nie wymagają argumentów, a jej głównym zadaniem jest zwracanie bieżącej daty i godziny systemowej w formacie odpowiednim dla bazy danych. Użycie tej funkcji jest niezwykle przydatne w kontekście rejestrowania momentu wykonania operacji w bazie danych, na przykład przy dodawaniu nowych rekordów do tabeli. Przykładowe zastosowanie tej funkcji można zobaczyć w poniższym zapytaniu SQL: 'INSERT INTO wydarzenia (nazwa, data_utworzenia) VALUES ('Nowe Wydarzenie', now());'. Takie podejście nie tylko automatyzuje proces rejestrowania czasu, ale także zapewnia spójność danych, eliminując ryzyko błędów związanych z ręcznym wprowadzaniem daty. W praktyce, stosowanie funkcji, które nie wymagają argumentów, jest często zgodne z zasadami dobrych praktyk programistycznych, które promują czytelność i prostotę kodu.

Pytanie 18

Wskaż system do zarządzania treściami.

A. Joomla!
B. MariaDB
C. phpMyAdmin
D. Apache

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Joomla! to system zarządzania treścią (CMS), który umożliwia użytkownikom tworzenie i edytowanie stron internetowych bez potrzeby zaawansowanej wiedzy programistycznej. Jest to jeden z najpopularniejszych CMS na świecie, używany przez miliony witryn, od prostych blogów po skomplikowane portale e-commerce. Jego zalety obejmują elastyczność, możliwość łatwego dostosowywania za pomocą rozbudowanych wtyczek i szablonów oraz aktywną społeczność, która wspiera rozwój i aktualizacje. Joomla! umożliwia zarządzanie użytkownikami, co pozwala na tworzenie złożonych struktur dostępu do treści, co jest istotne w kontekście dużych organizacji. Dobre praktyki przy korzystaniu z Joomla! obejmują regularne aktualizacje, aby zapobiegać lukom bezpieczeństwa, oraz optymalizację treści pod kątem SEO, co zwiększa widoczność witryn w wynikach wyszukiwania. System ten jest zgodny z wieloma standardami webowymi, co czyni go solidnym wyborem dla profesjonalnych projektów webowych.

Pytanie 19

Podana deklaracja funkcji w języku C++ przyjmuje parametry typu liczbowego: void mojaFunkcja(int a, short b, long c);

A. liczbowe jako argumenty i nie zwraca wartości.
B. liczbowe i zmiennoprzecinkowe jako argumenty i zwraca wartość.
C. liczbowe jako argumenty i zwraca wartość.
D. liczbowe i zmiennoprzecinkowe jako argumenty i nie zwraca wartości.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź, że funkcja przyjmuje liczby całkowite jako parametry i nie zwraca wartości, jest poprawna z kilku powodów. Deklaracja funkcji 'void mojaFunkcja(int a, short b, long c)' wskazuje, że funkcja ma typ zwracany 'void', co oznacza, że nie zwraca ona żadnej wartości po jej wykonaniu. Parametry 'int', 'short' oraz 'long' są typami danych całkowitych, co potwierdza, że funkcja przyjmuje tylko liczby całkowite. Typ 'int' jest standardowym typem całkowitym w C++, 'short' to typ reprezentujący mniejsze liczby całkowite, a 'long' może przechowywać większe wartości całkowite. W praktyce, funkcje, które nie zwracają wartości, są często używane do wykonywania operacji na danych wejściowych, takich jak modyfikacje obiektów, zmiany w strukturach danych lub operacje wejścia/wyjścia. Takie podejście jest zgodne z zasadami programowania strukturalnego oraz dobrymi praktykami programowania, gdzie funkcje powinny być odpowiedzialne za określone zadania, zamiast zwracać wartości. Warto zaznaczyć, że użycie typów całkowitych jako parametrów jest powszechną praktyką, ponieważ pozwala na precyzyjne operacje matematyczne oraz efektywne zarządzanie pamięcią.

Pytanie 20

Fragment kodu w języku PHP ma następującą postać: Zakładając, że zmienne: a, b, c przechowują wartości numeryczne, wynikiem działania warunku będzie wypisanie liczby

if ($a > $b && $a > $c)   echo $a;
else if ($b > $c)   echo $b;
else   echo $c;
A. parzystej.
B. najmniejszej.
C. nieparzystej.
D. największej.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Dobrze zrozumiałeś działanie warunków logicznych w języku PHP! Fragment kodu prezentowany na zdjęciu rzeczywiście wypisuje wartość największej zmiennej. Jest to wynik skumulowanego działania kilku warunków if oraz else if, które porównują wartości zmiennych a, b, c. Najpierw, warunek sprawdza, czy zmienna a jest większa od pozostałych. Jeśli tak, wartość a jest wypisywana. Jeżeli nie, przechodzi do kolejnego warunku, gdzie sprawdza, czy b jest większe od c. Jeżeli tak, wypisuje b, jeżeli nie - wypisze c. W ten sposób kod zawsze wypisze największą wartość. Zrozumienie tej logiki jest kluczowe w programowaniu, szczególnie w kontekście operacji porównania, które są podstawą wielu bardziej skomplikowanych algorytmów. To ważny fragment wiedzy, który pomaga w budowaniu efektywnych i optymalnych rozwiązań kodowych.

Pytanie 21

W formularzu wartość z pola input o typie number została przypisana do zmiennej a, a następnie przetworzona w skrypcie JavaScript w sposób poniższy

var x = parseInt(a);

Jakiego typu jest zmienna x?

A. liczbowe, całkowite.
B. napisowego.
C. zmiennoprzecinkowego.
D. NaN

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "liczbowego, całkowitego" jest poprawna, ponieważ funkcja parseInt() w JavaScript konwertuje argument na liczbę całkowitą. Kiedy zmienna a zawiera wartość z pola input o typie number, to ta wartość jest już reprezentacją liczby, co oznacza, że parseInt() przyjmuje ją jako argument i zwraca wartość liczbową całkowitą. Przykładowo, jeżeli użytkownik wprowadzi 42, to parseInt(42) zwróci 42 jako liczbę całkowitą. Dobrą praktyką jest używanie parseInt() z drugim argumentem, który określa system liczbowy (np. parseInt(a, 10)), co zapobiega niejednoznaczności w interpretacji liczby. Warto również pamiętać, że w przypadku, gdy wartość wprowadzona do a nie jest liczbą całkowitą, parseInt() nadal zwróci liczbę całkowitą, obcinając część dziesiętną (np. parseInt(4.9) zwróci 4). Dlatego w kontekście powyższego pytania, zmienna x przyjmuje typ liczbowy, całkowity.

Pytanie 22

Relacja opisana jako: "Rekord z tabeli A może odpowiadać wielu rekordom z tabeli B. Każdemu rekordowi z tabeli B przyporządkowany jest dokładnie jeden rekord z tabeli A" jest relacją

A. jeden do wielu
B. jeden do jednego
C. nieoznaczoną
D. wiele do wielu

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Relacja typu jeden do wielu oznacza, że jeden rekord z jednej tabeli (w tym przypadku tabela A) może być powiązany z wieloma rekordami z innej tabeli (tabela B). W opisanej sytuacji rekord z tabeli A może odpowiadać dowolnej liczbie rekordów z tabeli B, co ilustruje tę relację. Przykładem takiej relacji może być baza danych systemu zarządzania szkołą, gdzie jeden nauczyciel (rekord z tabeli A) może uczyć wielu uczniów (rekordy z tabeli B), ale każdy uczeń jest przypisany do jednego nauczyciela. Przy projektowaniu baz danych, stosowanie odpowiednich relacji jest kluczowe dla integralności i wydajności systemu. Dbałość o takie relacje przyczynia się do poprawy jakości danych oraz minimalizacji redundancji, co jest zgodne z zasadami normalizacji baz danych. W praktyce, relacje jeden do wielu są powszechnie stosowane w systemach CRM, ERP oraz wielu innych aplikacjach, które wymagają organizacji danych w sposób logiczny i praktyczny.

Pytanie 23

Walidacja strony internetowej polega na

A. reklamowaniu strony
B. zestawie działań mających na celu zwiększenie liczby odwiedzin
C. umieszczaniu treści w sieci
D. sprawdzeniu jej w celu usunięcia błędów

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Proces walidacji strony internetowej polega na systematycznym sprawdzeniu jej zawartości oraz struktury w celu identyfikacji i eliminacji błędów, które mogą wpływać na jej funkcjonalność oraz użyteczność. Walidacja to kluczowy etap w cyklu życia strony, ponieważ zapewnia, że strona działa zgodnie z wymaganiami technicznymi i standardami branżowymi, takimi jak W3C. Przykłady zastosowania walidacji obejmują sprawdzanie poprawności kodu HTML, CSS oraz dostępności, co jest istotne dla zapewnienia pozytywnego doświadczenia użytkowników. Strony internetowe, które są walidowane, mają większe szanse na lepsze pozycjonowanie w wyszukiwarkach, co przekłada się na wyższą oglądalność. Regularna walidacja jest również zgodna z najlepszymi praktykami w zakresie utrzymania jakości i bezpieczeństwa, co w dłuższej perspektywie wspiera reputację marki i zaufanie użytkowników.

Pytanie 24

W języku JavaScript zapis w ramce oznacza, że x=przedmiot.nazwa);

A. nazwa jest cechą obiektu przedmiot
B. zmienna x będzie zawierać wynik działania metody nazwa
C. zmienna x będzie przechowywać wynik działania funkcji przedmiot
D. nazwa jest atrybutem klasy przedmiot

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W języku JavaScript zapis 'x = przedmiot.nazwa;' oznacza, że zmienna 'x' będzie przechowywać wartość, która jest wynikiem działania metody lub właściwości 'nazwa' obiektu 'przedmiot'. W JavaScript obiekty mogą mieć zdefiniowane metody oraz właściwości. Jeśli 'nazwa' jest funkcją (metodą) zdefiniowaną w obiekcie 'przedmiot', to jej wywołanie spowoduje, że wynik tego działania zostanie przypisany do zmiennej 'x'. Ważne jest, aby w kontekście obiektów JavaScript rozumieć różnicę między metodą a właściwością. Metody to funkcje, które są dołączone do obiektu, podczas gdy właściwości to wartości skojarzone z obiektem. Przykład zastosowania może wyglądać tak: wyobraźmy sobie obiekt 'przedmiot' reprezentujący książkę, który ma metodę 'nazwa', zwracającą tytuł książki. Jeśli wywołamy 'x = przedmiot.nazwa();', to 'x' przechowa tytuł książki. To podejście pozwala na dynamiczne operowanie danymi w obiektach, co jest kluczowe w programowaniu obiektowym. Zdefiniowanie metody 'nazwa' w obiekcie jest zgodne z zasadami programowania obiektowego w JavaScript, a także spełnia standardy ECMAScript.

Pytanie 25

Wskaż komendę, która dokonuje aktualizacji danych w tabeli?

A. CREATE
B. UPDATE
C. SELECT
D. ALTER

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "UPDATE" jest jak najbardziej trafna. To takie podstawowe polecenie SQL, które pozwala na aktualizowanie już istniejących danych w tabeli. Możesz dzięki niemu zmienić jeden albo kilka wierszy w tabeli, w zależności od tego, jakie masz kryteria. Na przykład, jeśli mamy tabelę "pracownicy" i chcemy zwiększyć pensję programistów do 6000 zł, wystarczy użyć polecenia: `UPDATE pracownicy SET pensja = 6000 WHERE stanowisko = 'programista';`. To polecenie działa w taki sposób, że modyfikuje dane, ale przy tym dba o integralność, co jest bardzo ważne w pracy z bazami danych. Warto zawsze dodawać klauzulę WHERE, żeby zmiany dotyczyły tylko wybranych wierszy – to pomoże uniknąć sytuacji, w której przypadkiem zmienisz wszystko. Umiejętność korzystania z UPDATE jest naprawdę istotna, jeżeli chcesz efektywnie zarządzać swoimi danymi.

Pytanie 26

W przypadku zaprezentowanego fragmentu kodu HTML, zdefiniowano zasady CSS dla selektora klasy "menu", aby tło bloku miało kolor zielony. Która z poniższych definicji stylu CSS jest zgodna z tym formatowaniem?

A. #menu { background-color: rgb(0,255,0); }
B. div.menu { background-color: green; }
C. div:menu { color: green; }
D. menu { background-color: rgb(0,255,0); }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybrana odpowiedź to poprawna definicja stylu CSS dla klasy "menu". W stylach CSS, selektor klasy definiuje się za pomocą kropki przed nazwą klasy, co w przypadku tego fragmentu oznacza, że styl zostanie zastosowany do każdego elementu HTML z klasą 'menu'. Oznaczenie 'div.menu' wskazuje, że formatowanie dotyczy tylko elementów
o klasie 'menu', co jest ważne, aby ograniczyć wpływ stylów tylko do wybranych elementów. Kolor tła jest ustawiony na zielony za pomocą właściwości 'background-color: green;', co jest zgodne z wymogami zadania. Używanie kolorów w formacie nazwanym, takim jak 'green', jest zgodne z powszechnie przyjętymi standardami w CSS, co ułatwia czytelność kodu. Przykładem praktycznym może być zastosowanie tego stylu w serwisie internetowym, gdzie różne sekcje menu są kolorystycznie wydzielone dla lepszej nawigacji. Dobrych praktyk w CSS należy przestrzegać, aby utrzymać spójność i łatwość w utrzymaniu kodu.

Pytanie 27

char str1[30] = 'Ala ma kota';
printf("%s", str1);
Jakie jest źródło błędu w prezentowanym kodzie napisanym w języku C++?
A. Napis powinien mieć dokładnie 30 znaków
B. W funkcji printf nie można używać formatowania %s
C. Napis powinien być umieszczony w cudzysłowie
D. Do funkcji printf przekazano za mało argumentów

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź wskazująca, że napis powinien być ujęty w cudzysłów jest poprawna, ponieważ w języku C/C++ napisy (łańcuchy znaków) muszą być ujęte w podwójne cudzysłowy, aby zostały prawidłowo zinterpretowane przez kompilator. W przedstawionym kodzie, zamiast użycia pojedynczych cudzysłowów, które są przeznaczone do definiowania pojedynczych znaków (char), należy użyć podwójnych, aby zdefiniować napis jako tablicę znaków. Takie podejście jest zgodne z standardami języka C i C++, gdzie łańcuchy znaków są implementowane jako tablice znaków zakończone znakiem null ('\0'). Przykładowo, poprawny sposób zapisu to: char str1[30] = "Ala ma kota";. Stosowanie odpowiednich cudzysłowów jest kluczowe w programowaniu, ponieważ może zapobiegać wielu błędom kompilacji oraz ułatwiać późniejszą edycję i zarządzanie kodem. Warto również pamiętać, że dobrym zwyczajem jest stosowanie tablic odpowiedniej wielkości, aby uniknąć nadpisywania pamięci, co może prowadzić do nieprzewidywalnych zachowań programu.

Pytanie 28

Aby strona internetowa była dostosowana do różnych urządzeń, należy między innymi ustalać

A. tylko znane fonty, takie jak Arial
B. wielkości obrazów wyłącznie w pikselach
C. układ strony wyłącznie przy użyciu tabel
D. wielkości obrazów w procentach

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby strona WWW była responsywna, kluczowym aspektem jest definiowanie rozmiarów obrazów w procentach. Taki sposób umożliwia dynamiczne skalowanie elementów graficznych w zależności od rozmiaru ekranu urządzenia, co jest istotne w kontekście różnorodnych rozdzielczości oraz urządzeń mobilnych. Ustalając szerokość obrazów w procentach, na przykład 'width: 50%', zapewniamy, że obraz zajmuje połowę dostępnej szerokości kontenera, co pozwala na zachowanie proporcji i estetyki strony niezależnie od wielkości okna przeglądarki. Praktyczne zastosowanie takiej metody można zaobserwować w projektach wykorzystujących CSS Flexbox czy Grid, gdzie elastyczność układu jest kluczowa. Ponadto, stosowanie obrazów responsywnych wspiera standardy W3C oraz wytyczne dotyczące dostępności, co wpływa na lepsze doświadczenie użytkownika oraz poprawia SEO. W rezultacie, dobrze zaprojektowana strona responsywna przyczynia się do zwiększenia konwersji oraz zadowolenia odwiedzających, co jest niezbędne w dzisiejszym internecie.

Pytanie 29

Atrybut value w elemencie formularza XHTML

 <input type="text" name="name" value="value">
A. ustawia pole jako tylko do odczytu
B. określa nazwę pola
C. definiuje maksymalną długość pola
D. określa domyślną wartość

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Atrybut 'value' w polu formularza XHTML ma kluczowe znaczenie, ponieważ określa wartość, która będzie domyślnie wyświetlana w polu tekstowym. Kiedy użytkownik otworzy formularz, będzie widział w polu tekstowym wpisaną wartość, co ułatwia interakcję, zwłaszcza w przypadkach, gdy potrzebne są przykłady lub domyślne odpowiedzi. Na przykład, w formularzu rejestracyjnym można ustawić atrybut 'value' na 'Jan Kowalski', co sugeruje użytkownikowi, jak powinien wypełnić swoje imię i nazwisko. Jest to zgodne z dobrymi praktykami projektowania formularzy, które dążą do poprawy użyteczności i zmniejszenia liczby błędów użytkowników. Warto również zauważyć, że w przypadku formularzy, jeśli użytkownik zdecyduje się nie zmieniać tej wartości, atrybut 'value' sprawia, że odpowiedź zostanie przesłana w formularzu po jego wysłaniu. To podkreśla znaczenie predefiniowania wartości w kontekście UX, ponieważ dobrze zaprojektowane formularze mogą znacznie poprawić doświadczenia użytkowników.

Pytanie 30

Jakie informacje można wyciągnąć z podanego zapisu w języku HTML 5?

A. Jest fakultatywny w kontekście HTML 5 i nie jest wymagany w dokumencie
B. Zostanie umieszczony w treści strony, na samym czubku
C. Stanowi jedynie informację dla robotów wyszukiwania i nie jest widoczny w przeglądarce
D. Pojawi się na karcie dokumentu w przeglądarce

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zaznaczenie poprawnej odpowiedzi pokazuje, że to, co jest w znaczniku , pojawia się na karcie w przeglądarce. To naprawdę ważny element HTML, bo informuje użytkowników, o czym jest dana strona. Zgodnie z tym, co mówi W3C, tytuł strony jest kluczowy dla SEO, gdyż wyświetla się w wynikach wyszukiwania i na zakładkach przeglądarek. Fajnie, jak tytuł jest krótki, ma kluczowe słowa, które mówią o zawartości, i przyciąga wzrok. Na przykład, jak zrobisz stronę o psach rasowych, to tytuł <title> w stylu 'Strona o psach - Poradnik dla właścicieli' nie tylko mówi, o czym będzie treść, ale też może sprawić, że lepiej widać ją w wynikach wyszukiwania. Pamiętaj, że zawartość znacznika <title> widać na górze okna przeglądarki, co ułatwia poruszanie się i znajdowanie otwartych kart. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 31</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-bazie-danych-sklepu-internetowego-w-tabeli-ik-1c3b35d1" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W tabeli <i>klienci</i> w bazie danych sklepu internetowego występują m.in. pola całkowite: <i>punkty</i>,<br> <i>liczbaZakupow</i> oraz pole <i>ostatnieZakupy</i> typu DATE. Klauzula WHERE do zapytania wybierającego klientów, którzy posiadają ponad 3000 punktów lub zrealizowali zakupy więcej niż 100 razy, a ich ostatnie zakupy miały miejsce przynajmniej w roku 2022 ma formę</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. WHERE punkty > 3000 AND liczbaZakupow > 100 AND ostatnieZakupy >= '2022-01-01'</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. WHERE punkty > 3000 OR liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>C. WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-01'</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. WHERE punkty > 3000 AND liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Odpowiedź 'WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-01'' jest prawidłowa, ponieważ dokładnie odzwierciedla wymagania dotyczące filtrowania klientów. Klauzula WHERE używa operatora OR dla dwóch warunków: liczba punktów musi być większa niż 3000, albo liczba zakupów musi być większa niż 100. Taki zapis jest kluczowy, ponieważ spełnienie jednego z tych warunków jest wystarczające. Następnie, warunek dotyczący daty ostatnich zakupów jest połączony z powyższymi za pomocą operatora AND, co oznacza, że musi być spełniony jednocześnie. Dzięki użyciu nawiasów, zapytanie jest jasne i jednoznaczne, co jest zgodne z dobrymi praktykami w tworzeniu zapytań SQL. W praktyce takie kwerendy są często używane w systemach CRM, gdzie konieczne jest segmentowanie klientów na podstawie ich aktywności oraz wartości, co pozwala na skuteczniejsze podejmowanie decyzji marketingowych. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 32</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="dziaaniem-przedstawionego-kodu-php-jest-wypenien-482b6165" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Funkcją zaprezentowanego kodu PHP jest napełnienie tablicy</p> <figure class="figure mt-3"> <img src="/images/6408.png" class="figure-img img-fluid rounded" alt="Ilustracja do pytania" itemprop="image"> </figure> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. 100 losowymi liczbami, a następnie wypisanie liczb dodatnich</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. kolejnymi liczbami od 0 do 9 i ich wyświetlenie</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>C. 10 losowymi wartościami, a następnie wypisanie liczb ujemnych</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. kolejnymi liczbami od -100 do 100 oraz wypisanie liczb ujemnych</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Przedstawiony kod w języku PHP ma na celu wypełnienie tablicy dziesięcioma losowymi wartościami i wypisanie tych, które są ujemne. Funkcja rand(-100, 100) generuje liczby losowe z zakresu od -100 do 100. W pętli for wykonujemy dziesięć iteracji, co umożliwia dodanie dziesięciu takich liczb do tablicy. Następnie, za pomocą pętli foreach, iterujemy przez wszystkie elementy tablicy. Instrukcja warunkowa if sprawdza, czy każda z wartości jest mniejsza od zera. Jeśli warunek jest spełniony, liczba jest wypisywana na ekran. Takie podejście jest często stosowane w programowaniu, gdy wymagana jest praca z losowymi danymi w celu testowania lub symulacji. W praktycznych zastosowaniach można użyć tej metody do filtrowania danych lub analizy wyników eksperymentalnych, gdzie konieczne jest zidentyfikowanie i obsługa wartości o określonych właściwościach. Dobre praktyki programistyczne nakazują dokumentowanie takich fragmentów kodu, aby ułatwić zrozumienie i utrzymanie projektu przez innych deweloperów. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 33</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-jezyku-xhtml-zapisano-fragment-kodu-ktory-zawie-c1486282" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W dokumencie XHTML znajduje się fragment kodu, który posiada błąd w walidacji. Na czym ten błąd polega? ```<h6>tekst</h6> <p>pierwsza <b>linia</b> <br> Druga linia</p>```</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. Nie ma nagłówka szóstego stopnia</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>B. Znacznik <br> musi być zamknięty</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. Znacznik <b> nie może być umieszczany wewnątrz znacznika <p></span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. Znaczniki powinny być zapisywane dużymi literami</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> W odpowiedzi wskazano, że znacznik <br> powinien być zamknięty, co jest zgodne z zasadami XHTML. W przeciwieństwie do HTML, w XHTML każdy znacznik musi być poprawnie zamknięty, aby kod był zgodny ze standardami. W przypadku znacznika <br>, który służy do wstawienia łamania linii, powinien być zapisany jako <br /> w XHTML. Taki sposób zapisu zapewnia, że dokument jest poprawnie zinterpretowany przez przeglądarki i inne narzędzia przetwarzające. Warto również zaznaczyć, że poprawne zamykanie znaczników jest kluczowe dla utrzymania struktury dokumentu i jego walidacji, co wpływa na dostępność i SEO. Praktyczne przykłady obejmują tworzenie dokumentów XHTML, w których konsekwentnie stosuje się poprawną składnię, co ułatwia ich przyszłą edycję i utrzymanie. Zastosowanie poprawnych standardów, takich jak XHTML, jest również dobre dla interoperacyjności między różnymi platformami i aplikacjami. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 34</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="jaka-wartosc-zwroci-funkcja-span-stylefont-fami-a8497151" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Jaką wartość zwróci funkcja ```empty($a);``` w języku PHP, gdy zmienna ```$a``` będzie miała wartość liczbową równą 0?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. FALSE</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>B. TRUE</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. NULL</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. 0</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Funkcja empty() w PHP służy do sprawdzania, czy zmienna jest pusta. Zmienna uznawana jest za pustą, jeśli nie istnieje, ma wartość NULL, jest równoważna FALSE, jest pustym ciągiem (''), jest pustą tablicą lub ma wartość 0. W przypadku zmiennej $a, która ma wartość liczbową równą 0, funkcja empty($a) zwróci TRUE, co oznacza, że zmienna jest uznawana za pustą. Kluczowym aspektem jest zrozumienie, że w PHP wartość 0 jest interpretowana jako fałszywa w kontekście logicznym, a tym samym spełnia kryteria funkcji empty(). Praktyczne zastosowanie tej funkcji można zauważyć w wielu aspektach programowania: na przykład podczas walidacji danych wejściowych w formularzach, gdzie chcemy upewnić się, że użytkownik nie pozostawił pustych pól. Dobrą praktyką jest użycie empty() zamiast bezpośrednich porównań, ponieważ jest bardziej odporna na różne typy danych oraz zrozumiała w kontekście semantycznym, co poprawia czytelność kodu. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 35</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="spojnosc-danych-w-bazie-mysql-mozna-sprawdzic-za-p-f8db9e82" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Jak można zweryfikować spójność danych w bazie MySQL?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. mysql</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. REPAIR TABLE</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>C. CHECK TABLE</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. mysqldump</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Polecenie CHECK TABLE w MySQL służy do sprawdzania integralności danych w tabeli. Umożliwia to identyfikację problemów, takich jak zduplikowane klucze, uszkodzone wskaźniki lub nieprawidłowe struktury danych. Przykładem zastosowania tego polecenia jest sytuacja, gdy administrator bazy danych podejrzewa, że tabela mogła ulec uszkodzeniu na skutek błędów systemowych lub nieprawidłowych operacji użytkownika. W takim przypadku używając CHECK TABLE, można szybko zdiagnozować problemy i podjąć odpowiednie działania, takie jak naprawa za pomocą polecenia REPAIR TABLE, jeśli to konieczne. Dobre praktyki w zakresie zarządzania bazami danych sugerują regularne sprawdzanie integralności tabel, co pozwala na szybsze wykrywanie problemów oraz minimalizację ryzyka utraty danych. Warto również pamiętać, że CHECK TABLE dostarcza szczegółowych informacji o stanie tabeli, co jest szczególnie przydatne w kontekście monitorowania wydajności i stabilności bazy danych. Z tego względu to polecenie jest kluczowym narzędziem w arsenale każdego administratora MySQL. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 36</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="kana-alfa-suzy-do-zdefiniowania-de99911e" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Kanał alfa jest wykorzystywany do określenia</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. wybranego fragmentu grafiki obiektu</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. jasności oraz kontrastu barw</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. podstawowych właściwości obiektu graficznego</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>D. przezroczystości grafiki obiektu</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Kanał alfa w grafice komputerowej odnosi się do przezroczystości obiektów graficznych, co jest kluczowym elementem w zarządzaniu warstwami i efektami wizualnymi. Przezroczystość pozwala na tworzenie złożonych kompozycji, gdzie jeden obiekt może częściowo lub całkowicie ukrywać inny. Funkcja ta jest niezwykle istotna w aplikacjach graficznych, takich jak Photoshop czy GIMP, które obsługują kanały alfa w formatach obrazów takich jak PNG. Umożliwia to projektantom łatwe łączenie zdjęć i grafik, zachowując ich naturalną przezroczystość. W standardzie RGBA, kanał alfa przyjmuje wartości od 0 (pełna przezroczystość) do 255 (pełna nieprzezroczystość), co pozwala na precyzyjne dostosowanie efektów wizualnych. Dobre praktyki sugerują, aby zrozumieć działanie kanału alfa, aby efektywnie zarządzać przezroczystością i wpływać na postrzeganie wizualne w projektach graficznych, co jest szczególnie istotne w branży projektowania interfejsów użytkownika oraz gier komputerowych. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 37</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="aby-za-pomoca-javascript-w-witrynie-internetowej-w-b18d808d" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Jak można wyświetlić bieżącą datę oraz czas na stronie internetowej przy użyciu JavaScript?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. innerHTML = Date()</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. echo Date()</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. echo Date() + Time()</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>D. document.write(Date())</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> 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. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 38</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-ramce-przedstawiono-kod-javascript-z-bedem-logi-f440a5ea" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W ramce przedstawiono kod JavaScript z błędem logicznym. Program powinien wypisywać informację, czy liczby są sobie równe czy nie, lecz nie wykonuje tego. Wskaż odpowiedź, która dotyczy błędu. <table style="border: 2px solid black; border-collapse: collapse;"> <tr> <td style="border: 1px solid black; padding: 10px; font-family: monospace;"> var x = 5;<br> var y = 3;<br> if (x = y)     document.getElementById("demo").innerHTML = 'zmienne są równe';<br> else         document.getElementById("demo").innerHTML = 'zmienne się różnią'; </td> </tr> </table></p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. Nieprawidłowo zadeklarowano zmienne.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>B. Przed klauzulą else nie powinno być średnika.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. Instrukcje wewnątrz sekcji if oraz else powinny być zamienione miejscami.</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>D. W klauzuli if występuje przypisanie zamiast porównania.</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Gratulacje! Poprawnie zauważyłeś, że w klauzuli if występuje przypisanie zamiast porównania. W JavaScript, operatorem przypisania jest pojedynczy znak równości (=), natomiast operatorem porównania jest podwójny (==) lub potrójny znak równości (===). W przypadku prezentowanego kodu, zamiast porównać wartości zmiennych x i y, wartość zmiennej y jest przypisywana do zmiennej x, co prowadzi do błędu logicznego. Jest to typowy błąd, który często występuje, szczególnie u początkujących programistów. W praktyce, aby nie pomylić operatorów, warto zawsze umieszczać wartość stałą po lewej stronie operatora porównania - wtedy próba przypisania wartości stałej zwróci błąd kompilacji. Dodatkowo, niektóre narzędzia do analizy statycznej kodu, takie jak ESLint, mogą pomóc w wykrywaniu tego typu błędów. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 39</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="w-bazie-danych-samochodow-pole-kolor-z-tabeli-sam-11084b34" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>W tabeli samochody w bazie danych, pole kolor może przyjmować jedynie wartości zdefiniowane w słowniku lakier. Jaką kwerendę należy wykorzystać, aby ustanowić relację między tabelami samochody a lakier?</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. ALTER TABLE samochody ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>B. ALTER TABLE samochody ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. ALTER TABLE samochody ADD FOREIGN KEY kolor REFERENCES lakier;</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. ALTER TABLE samochody ADD FOREIGN KEY barwa REFERENCES samochody.lakier;</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Aby połączyć tabele 'samochody' i 'lakier' za pomocą klucza obcego, należy zastosować kwerendę ALTER TABLE samochody ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);. W tym przypadku 'kolor' w tabeli 'samochody' odnosi się do identyfikatora 'lakierId' w tabeli 'lakier', co zapewnia integralność referencyjną między tymi dwoma tabelami. Klucz obcy jest mechanizmem, który pozwala na zapewnienie, że wartości w kolumnie 'kolor' w tabeli 'samochody' muszą odpowiadać wartościom w kolumnie 'lakierId' w tabeli 'lakier', co zapobiega wprowadzeniu danych, które nie mają odpowiednika w tabeli 'lakier'. Przykładowo, jeżeli próbujemy dodać samochód w kolorze, który nie istnieje w tabeli 'lakier', system nie pozwoli na to działanie. Taka struktura bazy danych jest zgodna z zasadami normalizacji, która ma na celu eliminację redundancji danych oraz zwiększenie ich spójności. Stosowanie kluczy obcych jest standardem w projektowaniu relacyjnych baz danych, ponieważ ułatwia zarządzanie danymi oraz ich integralność. </div> </div> </div> </article> <hr class="my-4"> <article class="mb-4"> <!-- Pytanie --> <div class="mb-3"> <div class="d-flex justify-content-between align-items-start mb-3"> <h6 class="mb-0">Pytanie 40</h6> <div class="d-inline-block"> <button type="button" class="btn btn-sm btn-outline-danger" data-report-question="sposob-programowania-w-ktorym-ciag-polecen-sekwe-eaa37193" aria-label="Zgłoś błąd"> <i class="fas fa-exclamation-triangle"></i> </button> </div> </div> <!-- Wyświetl pełną treść pytania dla widocznych pytań --> <p>Rodzaj programowania, w którym zestaw poleceń (sekwencja instrukcji) przekazywanych komputerowi postrzega się jako program, określa się mianem programowania</p> </div> <!-- Odpowiedzi --> <div class="mb-3"> <!-- Wyświetl odpowiedzi dla widocznych pytań --> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>A. funkcyjnego</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded bg-success bg-opacity-10 text-success "> <div class="flex-grow-1"> <span>B. imperatywnego</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>C. logicznego</span> </div> </div> </div> <div class="mb-3"> <div class="d-flex align-items-start p-2 rounded border border-1 border-secondary "> <div class="flex-grow-1"> <span>D. stanowego</span> </div> </div> </div> </div> <!-- Feedback --> <div class="mt-3"> <!-- Wyświetl feedback dla widocznych pytań --> <div class="alert alert-warning mb-0"> <p class="mb-2">Brak odpowiedzi na to pytanie.</p> <div class="mt-2"> <strong>Wyjaśnienie poprawnej odpowiedzi:</strong><br> Programowanie imperatywne to paradygmat, w którym programista definiuje sekwencję instrukcji, które komputer ma wykonać, aby osiągnąć określony cel. Jest to najpopularniejszy i najczęściej stosowany sposób programowania, który koncentruje się na tym, jak osiągnąć pożądany rezultat, a nie tylko na tym, co ma być osiągnięte. W programowaniu imperatywnym zazwyczaj używa się zmiennych, struktur kontrolnych takich jak pętle i instrukcje warunkowe, co pozwala na kontrolę przepływu wykonania programu. Przykłady języków programowania, które implementują ten paradygmat, to C, C++, Java oraz Python. Zastosowanie programowania imperatywnego w praktyce jest szerokie: od tworzenia aplikacji desktopowych, przez gry, aż po systemy operacyjne. Standardy takie jak ISO C określają wytyczne dla programowania w języku C, co dodatkowo podkreśla znaczenie tego paradygmatu w branży programistycznej. Zrozumienie programowania imperatywnego stanowi fundament dla dalszej nauki bardziej zaawansowanych technik i paradygmatów programowania. </div> </div> </div> </article> <!-- Przyciski nawigacyjne --> <div class="d-grid gap-2 mt-4"> <div class="d-inline-block mb-2"> <a href="/egzamin/?profession=technik-informatyk&qualification=inf-03" class="btn btn-outline-primary"> <i class="fas fa-redo me-2"></i>Rozpocznij nowy egzamin </a> </div> <div class="d-inline-block"> <a href="/" class="btn btn-outline-secondary"> <i class="fas fa-home me-2"></i>Powrót do strony głównej </a> </div> </div> </div> </div> </div> </main> <!-- Footer --> <footer class="footer mt-auto py-4"> <div class="container"> <div class="row"> <!-- About Section --> <div class="col-lg-4 footer-section"> <h2 class="h5">O Egzaminach Zawodowych</h2> <p> Portal z kompleksową bazą pytań egzaminacyjnych dla uczniów szkół technicznych. Przygotuj się do egzaminu zawodowego z naszymi materiałami. </p> </div> <!-- FRAGMENT CACHE: Random Qualifications --> <div class="col-lg-4 footer-section"> <h2 class="h5">Losowe kwalifikacje</h2> <div class="row"> <div class="col-6"> <a href="/technik-ekonomista/EKA.05/" class="footer-link"> <span>EKA.05</span> <small class="text-muted">(833)</small> </a> </div> <div class="col-6"> <a href="/technik-budownictwa/BUD.08/" class="footer-link"> <span>BUD.08</span> <small class="text-muted">(157)</small> </a> </div> <div class="col-6"> <a href="/technik-weterynarii/ROL.12/" class="footer-link"> <span>ROL.12</span> <small class="text-muted">(1 180)</small> </a> </div> <div class="col-6"> <a href="/technik-budowy-drog/BUD.15/" class="footer-link"> <span>BUD.15</span> <small class="text-muted">(303)</small> </a> </div> <div class="col-6"> <a href="/technik-zywienia-i-usug-gastronomicznych/HGT.02/" class="footer-link"> <span>HGT.02</span> <small class="text-muted">(1 482)</small> </a> </div> <div class="col-6"> <a href="/technik-technologii-zywnosci/SPC.07/" class="footer-link"> <span>SPC.07</span> <small class="text-muted">(234)</small> </a> </div> <div class="col-6"> <a href="/technik-przetworstwa-mleczarskiego/SPC.06/" class="footer-link"> <span>SPC.06</span> <small class="text-muted">(69)</small> </a> </div> <div class="col-6"> <a href="/monter-sieci-i-urzadzen-telekomunikacyjnych/INF.01/" class="footer-link"> <span>INF.01</span> <small class="text-muted">(499)</small> </a> </div> <div class="col-6"> <a href="/technik-drog-kolejowych-i-obiektow-inzynieryjnych/TKO.03/" class="footer-link"> <span>TKO.03</span> <small class="text-muted">(234)</small> </a> </div> <div class="col-6"> <a href="/technik-urzadzen-i-systemow-energetyki-odnawialnej/ELE.10/" class="footer-link"> <span>ELE.10</span> <small class="text-muted">(500)</small> </a> </div> </div> </div> <!-- Additional Info --> <div class="col-lg-4 footer-section"> <h2 class="h5">O portalu</h2> <p> Baza pytań do egzaminów zawodowych dla uczniów szkół technicznych i branżowych. Materiały zgodne z wymaganiami CKE. </p> </div> </div> <!-- Copyright & Links --> <hr class="footer-divider"> <div class="row align-items-center"> <div class="col-md-8 text-center text-md-start"> <p class="mb-0">© 2025 <a href="https://brylka.net" class="footer-link" aria-label="brylka.net">brylka.net</a> | <a href="/about-me/" class="footer-link" aria-label="O mnie i zawodowe.edu.pl">Bartosz Bryniarski</a></p> </div> <div class="col-md-4 text-center text-md-end"> <!-- <a href="/sitemap.xml" class="footer-link" aria-label="Mapa strony"> <i class="fas fa-sitemap" aria-hidden="true"></i> <span>Mapa strony</span> </a> --> </div> </div> </div> </footer> <!-- Back to top button --> <button id="backToTop" class="btn btn-outline-primary back-to-top" aria-label="Przewiń do góry strony" style="display: none;"> <i class="fas fa-arrow-up" aria-hidden="true"></i> </button> <!-- Cookie Banner --> <div id="cookieConsent" class="position-fixed start-0 bottom-0 py-3 shadow rounded-end" style="display: none; z-index: 1050; max-width: 50%; background-color: rgba(248, 249, 250, 0.95);"> <div class="container-fluid px-4"> <div class="d-flex flex-column gap-2"> <div> <i class="fas fa-cookie-bite me-2 text-secondary" aria-hidden="true"></i> <span class="small"> Strona wykorzystuje pliki cookies do poprawy doświadczenia użytkownika oraz analizy ruchu. <a href="#" class="footer-link" id="cookieDetails" data-bs-toggle="modal" data-bs-target="#cookieModal"> Szczegóły </a> </span> </div> <div class="d-flex gap-2 justify-content-end"> <button id="cookieAccept" class="btn btn-outline-primary btn-sm">Akceptuję</button> <button id="cookieReject" class="btn btn-outline-secondary btn-sm">Odrzuć</button> </div> </div> </div> </div> <!-- Modal z informacjami o cookies --> <div class="modal fade" id="cookieModal" tabindex="-1" aria-labelledby="cookieModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h2 class="modal-title fs-5" id="cookieModalLabel">Polityka plików cookies</h2> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Zamknij"></button> </div> <div class="modal-body"> <h6 class="fw-bold">Czym są pliki cookies?</h6> <p> Cookies to małe pliki tekstowe, które są zapisywane na urządzeniu użytkownika podczas przeglądania stron internetowych. Służą one do zapamiętywania preferencji, śledzenia zachowań użytkowników oraz poprawy funkcjonalności serwisu. </p> <h6 class="fw-bold mt-4">Jakie cookies wykorzystujemy?</h6> <ul class="list-unstyled ps-3"> <li><i class="fas fa-check-circle text-success me-2"></i><strong>Niezbędne cookies</strong> - konieczne do prawidłowego działania strony</li> <li><i class="fas fa-check-circle text-success me-2"></i><strong>Funkcjonalne cookies</strong> - umożliwiające zapamiętanie wybranych ustawień (np. wybrany motyw)</li> <li><i class="fas fa-check-circle text-success me-2"></i><strong>Analityczne cookies</strong> - pozwalające zbierać informacje o sposobie korzystania ze strony</li> </ul> <h6 class="fw-bold mt-4">Jak długo przechowujemy cookies?</h6> <p> Pliki cookies wykorzystywane w naszym serwisie mogą być sesyjne (usuwane po zamknięciu przeglądarki) lub stałe (pozostają na urządzeniu przez określony czas). </p> <h6 class="fw-bold mt-4">Jak zarządzać cookies?</h6> <p> Możesz zarządzać ustawieniami plików cookies w swojej przeglądarce internetowej. Większość przeglądarek domyślnie dopuszcza przechowywanie plików cookies, ale możliwe jest również całkowite zablokowanie tych plików lub usunięcie wybranych z nich. </p> </div> <div class="modal-footer"> <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Zamknij</button> <button type="button" class="btn btn-outline-primary" id="acceptCookiesModal">Akceptuję wszystkie</button> </div> </div> </div> </div> <!-- JavaScript --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" defer></script> <script src="/static/exams/js/code.67b13d532c53.js" defer></script> <script src="/static/exams/js/report_modal.765118f79d5f.js" defer></script> <script> document.addEventListener('DOMContentLoaded', function() { // Dodaj obsługę motywów dla banera cookie function updateCookieBannerTheme() { const cookieBanner = document.getElementById('cookieConsent'); const currentTheme = document.body.getAttribute('data-theme'); if (!cookieBanner) return; // Ustaw domyślny jasny styl cookieBanner.style.backgroundColor = 'rgba(248, 249, 250, 0.95)'; cookieBanner.style.color = '#212529'; cookieBanner.classList.remove('border-top', 'border-white'); // Zastosuj style zgodnie z motywem if (currentTheme === 'dark') { cookieBanner.style.backgroundColor = 'rgba(52, 58, 64, 0.95)'; cookieBanner.style.color = '#fff'; } else if (currentTheme === 'high-contrast') { cookieBanner.style.backgroundColor = '#000'; cookieBanner.style.color = '#fff'; cookieBanner.classList.add('border-top', 'border-white'); } } // Sprawdź, czy użytkownik już dokonał wyboru if (!localStorage.getItem('cookieConsent')) { // Jeśli nie, pokaż banner const cookieBanner = document.getElementById('cookieConsent'); if (cookieBanner) { cookieBanner.style.display = 'block'; updateCookieBannerTheme(); // Dostosuj szerokość na małych ekranach function adjustWidth() { if (window.innerWidth < 768) { cookieBanner.style.maxWidth = '100%'; } else { cookieBanner.style.maxWidth = '50%'; } } // Wywołaj przy ładowaniu i przy zmianie rozmiaru okna adjustWidth(); window.addEventListener('resize', adjustWidth); } } // Obsługa zmiany motywu const themeButtons = document.querySelectorAll('.theme-btn'); themeButtons.forEach(btn => { btn.addEventListener('click', function() { setTimeout(updateCookieBannerTheme, 50); }); }); // Obsługa przycisku akceptacji document.getElementById('cookieAccept')?.addEventListener('click', function() { localStorage.setItem('cookieConsent', 'accepted'); document.getElementById('cookieConsent').style.display = 'none'; }); // Obsługa przycisku odrzucenia document.getElementById('cookieReject')?.addEventListener('click', function() { localStorage.setItem('cookieConsent', 'rejected'); document.getElementById('cookieConsent').style.display = 'none'; }); // Obsługa przycisku akceptacji w modalu document.getElementById('acceptCookiesModal')?.addEventListener('click', function() { localStorage.setItem('cookieConsent', 'accepted'); document.getElementById('cookieConsent').style.display = 'none'; // Zamknij modal var cookieModal = bootstrap.Modal.getInstance(document.getElementById('cookieModal')); cookieModal?.hide(); }); }); </script> <!-- Toast messages initialization --> <script> document.addEventListener('DOMContentLoaded', function() { const copyButton = document.getElementById('copy-link-button'); if (copyButton) { copyButton.addEventListener('click', function() { const input = document.getElementById('share-link-input'); input.select(); document.execCommand('copy'); // Zmień tekst przycisku na potwierdzenie const originalText = this.innerHTML; this.innerHTML = '<i class="fas fa-check me-1"></i> Skopiowano!'; // Przywróć oryginalny tekst po 2 sekundach setTimeout(() => { this.innerHTML = originalText; }, 2000); }); } }); </script> </body> </html>