Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 07:13
  • Data zakończenia: 8 czerwca 2026 07:29

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Aby na stronie internetowej wyświetlić logo, którego tło jest przezroczyste, należy zastosować format

A. CDR
B. JPG
C. PNG
D. BMP
Poprawnie – w przypadku logo z przezroczystym tłem na stronach WWW standardem jest format PNG. Ten format obsługuje tzw. kanał alfa, czyli dodatkową informację o przezroczystości każdego piksela. Dzięki temu możesz mieć np. białe logo, które „leży” na kolorowym lub zdjęciowym tle strony i nie ma wokół niego brzydkiego kwadratowego prostokąta. W praktyce wygląda to tak: projektant zapisuje logo z wyciętym tłem (bez tła lub z częściową przezroczystością), eksportuje je do PNG i potem w HTML wstawiasz `<img src="logo.png" alt="Logo">`. Przeglądarka sama poprawnie wyrenderuje przezroczystość.
Moim zdaniem PNG to taki złoty środek dla elementów interfejsu: logo, ikony, przyciski. Format ten stosuje bezstratną kompresję, więc ostre krawędzie, tekst i cienkie linie wyglądają dużo lepiej niż w JPG. Przy logo ma to ogromne znaczenie, bo rozmazane logo firmy wygląda po prostu nieprofesjonalnie. Dodatkowo PNG jest wspierany przez wszystkie współczesne przeglądarki i systemy, więc nie trzeba kombinować z żadnymi dodatkowymi wtyczkami.
W odróżnieniu od JPG, PNG nie generuje artefaktów kompresji wokół krawędzi, co jest kluczowe przy płaskiej grafice, typografii i ikonografii. Z mojego doświadczenia w projektach webowych przyjmuje się prostą zasadę: zdjęcia – JPG (lub nowoczesne formaty typu WebP/AVIF), grafika z przezroczystością i ostre elementy UI – PNG lub SVG. Dla logo rastrowego PNG z przezroczystym tłem to po prostu dobra praktyka branżowa i bezpieczny wybór, jeśli nie korzystasz z wektorowego SVG.

Pytanie 2

Które zadanie programistyczne powinno być realizowane po stronie serwera?

A. zapisanie danych z aplikacji internetowej w bazie danych
B. sprawdzanie treści pola tekstowego w czasie rzeczywistym
C. zmiana stylu elementu HTML wywołana ruchem kursora
D. pokazywanie i ukrywanie elementów strony zależnie od kursora
Po stronie SERWERA realizuje się operacje wymagające dostępu do zasobów serwera - np. zapis danych z aplikacji do bazy danych (kod PHP łączy się z bazą, niedostępną z przeglądarki). Dlatego to zadanie należy do serwera.

Pytanie 3

W dokumencie XHTML znajduje się fragment kodu, w którym występuje błąd walidacyjny. Co jest przyczyną tego błędu?

Ilustracja do pytania
A. Nie ma nagłówka szóstego poziomu
B. Znacznik <br> musi być zamknięty
C. Znaczniki powinny być pisane dużymi literami
D. Znacznik <b> nie może być umieszczany wewnątrz znacznika <p>
Wybór odpowiedzi, że nie istnieje nagłówek szóstego stopnia, jest błędny, ponieważ w specyfikacji XHTML nagłówek szóstego stopnia <h6> jest jak najbardziej dopuszczalny i służy do oznaczania najmniej ważnych nagłówków, w hierarchii od <h1> do <h6>. Pisanie znaczników wielkimi literami nie jest wymogiem XHTML. Chociaż XHTML jest wrażliwy na wielkość liter, co oznacza, że nazwy znaczników i atrybutów muszą być pisane małymi literami, odpowiedź sugerująca, że tylko wielkie litery są poprawne, jest błędna. Użycie <b> jako zagnieżdżonego w <p> jest standardową praktyką i jest zgodne z normami XHTML, ponieważ <b> służy do pogrubienia tekstu wewnątrz elementu blokowego, jakim jest <p>. Problem z tą odpowiedzią polega na błędnym zrozumieniu struktury HTML, gdzie zagnieżdżanie elementów inline w elementach blokowych jest dozwolone. Ważnym aspektem jest umiejętność rozpoznania, które elementy są inline, a które blokowe, i jak mogą być poprawnie zagnieżdżane w kontekście specyfikacji XHTML. Poprawne zrozumienie tych zasad pomaga w tworzeniu wydajniejszych i bardziej zgodnych dokumentów internetowych.

Pytanie 4

Ile razy zostanie wykonana pętla przedstawiona w języku PHP, zakładając, że zmienna kontrolna nie jest zmieniana w jej wnętrzu?
for($i = 0; $i <= 10; $i++) { ...... }

A. 10 razy
B. Nieskończoność
C. 11 razy
D. 0 razy
Odpowiedzi 0, 10 oraz nieskończoność są niepoprawne z kilku powodów. Przyjęcie, że pętla wykona się 0 razy, jest błędne, ponieważ pętla for rozpoczyna swoje działanie od zainicjowania zmiennej $i na 0. Zgodnie z konstrukcją pętli, pierwsze sprawdzenie warunku $i <= 10 jest pozytywne, co implikuje, że blok kodu zostanie wykonany przynajmniej raz. W odniesieniu do odpowiedzi 10, zakłada ona, że pętla zakończy się, gdy $i osiągnie wartość 10, co jest mylące. W rzeczywistości, pętla wykonuje się 11 razy, ponieważ ostatnie wykonanie kodu następuje przy $i równym 10, a następnie następuje inkrementacja, co sprawia, że $i osiąga 11 i przerywa działanie pętli. Wreszcie, odpowiedź sugerująca nieskończoną ilość iteracji jest również błędna. Nieskończone pętle często wynikają z braku modyfikacji zmiennej sterującej, jednak w tym przypadku pętla for ma zdefiniowaną inkrementację, co zapewnia, że po pewnym czasie pętla zakończy swoje działanie, nie generując nieskończoności. Każda z tych błędnych odpowiedzi pokazuje różne nieporozumienia dotyczące działania pętli for oraz logiki programistycznej w PHP.

Pytanie 5

Która sekwencja etapów projektowania relacyjnej bazy danych jest poprawna?

A. Relacje → Klucze podstawowe → Selekcja → Zbiór danych
B. Zbiór danych → Selekcja → Klucze podstawowe → Relacje
C. Klucze podstawowe → Zbiór danych → Selekcja → Relacje
D. Selekcja → Relacje → Klucze podstawowe → Zbiór danych
Kolejność musi być logiczna: najpierw trzeba wiedzieć, JAKIE dane przechowujemy, dopiero potem je porządkować, kluczować i wiązać. Warianty zaczynające od relacji, kluczy czy selekcji odwracają ten porządek - nie da się zdefiniować kluczy ani relacji, zanim zbierze się dane. Poprawna sekwencja to: zbiór danych, selekcja, klucze podstawowe, relacje.

Pytanie 6

Według zasad walidacji HTML5, jakie jest prawidłowe użycie znacznika hr?

A. &lt;hr&gt;
B. &lt;/ hr&gt;
C. &lt;/hr?&gt;
D. &lt;/ hr /&gt;
Znacznik <hr> to taki prosty element w HTML5, który robi poziomą linię na stronie. Używa się go często do oddzielania różnych sekcji w tekście, co sprawia, że wszystko wygląda bardziej przejrzyście. Co ciekawe, to znacznik samodzielny, więc nie potrzebuje zamknięcia, a dodatkowo w HTML5 nie musimy dodawać znaku '/' na końcu, co czyni go lżejszym w użyciu. Jak użyjemy <hr>, to przeglądarki wiedzą, co z tym zrobić, a to ważne, żeby strona wyglądała spójnie. Moim zdaniem, świetnie działa w artykułach, bo gdy oddziela różne części, to czytelnik łatwiej się w tym odnajduje. No i nie zapominajmy o dostępności – ludzie, którzy korzystają z technologii wspomagających, też lepiej zrozumieją, co się dzieje na stronie dzięki takim znacznikom.

Pytanie 7

Proces normalizacji tabel ma na celu

A. dodanie danych do bazy
B. wyłącznie stworzenie tabel oraz powiązań w bazie
C. weryfikację i poprawę efektywności bazy danych
D. wizualizację bazy
Normalizacja tabel jest procesem, który ma na celu organizację struktury bazy danych w taki sposób, aby zminimalizować redundancję danych oraz zapewnić integralność danych. Proces ten polega na podziale dużych tabel na mniejsze i łączeniu ich za pomocą relacji, co pozwala na efektywniejsze zarządzanie danymi. Przykładem normalizacji może być podział tabeli zawierającej informacje o klientach i ich zamówieniach na dwie oddzielne tabele: jedna do przechowywania danych klientów, a druga do danych zamówień, z relacją między nimi. W praktyce normalizacja, zgodna z metodologią Codd'a, obejmuje kilka poziomych form normalnych, takich jak 1NF, 2NF, i 3NF, z których każda wprowadza dodatkowe ograniczenia i zasady. Przy odpowiedniej normalizacji można uniknąć problemów z aktualizacją danych, takich jak anomalie aktualizacji czy usuwania, co jest kluczowe w utrzymywaniu wysokiej jakości danych w systemach bazodanowych.

Pytanie 8

Podczas przechowywania hasła użytkownika serwisu internetowego (np. bankowości online), aby chronić je przed ujawnieniem, zazwyczaj stosuje się funkcję

A. klucza.
B. mieszających.
C. abstrakcyjnych.
D. cyklometrycznych.
Użycie klucza do zabezpieczenia haseł użytkowników w systemach takich jak bankowość internetowa jest kluczowym elementem zapewnienia prywatności i bezpieczeństwa danych. Funkcje klucza, takie jak szyfrowanie, pozwalają na przekształcenie haseł w nieczytelne ciągi znaków, które są niemożliwe do odtworzenia bez odpowiedniego klucza. Przykładem jest zastosowanie algorytmów takich jak AES (Advanced Encryption Standard), które są szeroko uznawane i stosowane w branży. Dobre praktyki w zakresie zabezpieczania danych sugerują używanie silnych, losowych kluczy oraz regularne ich aktualizowanie. Ponadto, najnowsze standardy, takie jak NIST (National Institute of Standards and Technology), rekomendują stosowanie dodatkowych technik, takich jak solenie haseł, co zwiększa ich odporność na ataki. Dzięki temu, nawet w przypadku wycieku bazy danych, potencjalny atakujący napotyka na trudności w odzyskaniu oryginalnych haseł. Zrozumienie i wdrożenie funkcji klucza jest niezbędne dla każdej organizacji, która pragnie skutecznie chronić wrażliwe dane swoich użytkowników.

Pytanie 9

Jakie zadanie ma funkcja PHP o nazwie mysql_select_db()?

A. uzyskać dane z bazy danych na podstawie zapytania
B. wyznaczyć tabelę, z której będą pozyskiwane dane
C. wyznaczyć bazę, z której będą pozyskiwane dane
D. nawiązać połączenie między bazą danych a serwerem SQL
Tutaj mamy parę pomyłek związanych z funkcją <span>mysql_select_db()</span>. Po pierwsze, mylisz ją z tym, jak łączymy bazę danych z serwerem SQL. W rzeczywistości, połączenie robi się przez <span>mysql_connect()</span>, a <span>mysql_select_db()</span> ma za zadanie pokazać, która z baz, które już mamy, ma być użyta. Kolejna sprawa to błędne zrozumienie, jak wyciągamy dane z bazy. Robimy to za pomocą funkcji jak <span>mysql_query()</span>, więc wybór bazy danych i ściąganie danych to dwa różne etapy. Mylenie bazy danych z tabelą też wprowadza w błąd, bo baza to tak naprawdę pojemnik dla tabel, a nie jedna konkretna tabela. Moim zdaniem, zrozumienie tej hierarchii jest kluczowe, żeby dobrze działać z bazami. Te nieporozumienia mogą skutkować poważnymi kłopotami, jak złe zapytania czy problemy z dostępem do danych. Lepiej wcześniej przejrzeć dokumentację i standardy SQL, bo one jasno tłumaczą różnice między połączeniem z serwerem, wyborem bazy danych a kwerendami.

Pytanie 10

Kolorem, który ma odcień niebieski, jest kolor

A. #00EE00
B. #EE0000
C. #EE00EE
D. #0000EE
Poprawna odpowiedź to kolor #0000EE, który reprezentuje odcień niebieskiego w systemie RGB. Kolory w tym systemie definiowane są poprzez trzy składowe: czerwoną, zieloną i niebieską (RGB), gdzie wartości są podawane w formacie szesnastkowym. W przypadku #0000EE, pierwsze dwie pary zer oznaczają brak składowych czerwonej i zielonej, natomiast ostatnia para 'EE' wskazuje na wysoką intensywność składowej niebieskiej. Takie podejście jest powszechnie stosowane w programowaniu i projektowaniu stron internetowych, gdzie precyzyjnie określone kolory mają kluczowe znaczenie dla estetyki i użyteczności interfejsu. Przykładem zastosowania koloru niebieskiego może być jego użycie w projektach związanych z tematyką technologiczną lub finansową, gdzie niebieski symbolizuje zaufanie i profesjonalizm. Warto również zwrócić uwagę, że w kontekście dostępności barw, stosowanie odpowiednich kontrastów z tłem jest niezbędne, aby zapewnić czytelność tekstu i elementów graficznych. Odpowiednie wykorzystanie kodów koloru może znacząco wpłynąć na postrzeganie marki oraz interakcję użytkowników z treściami wizualnymi na stronach internetowych.

Pytanie 11

Czym różnią się polecenia DROP TABLE i TRUNCATE TABLE?

A. DROP TABLE usuwa tabelę, a TRUNCATE TABLE usuwa wszystkie dane, zostawiając pustą tabelę
B. oba usuwają tabelę z zawartością, ale TRUNCATE da się cofnąć
C. DROP TABLE usuwa tabelę, a TRUNCATE TABLE zmienia w niej dane wg warunku
D. oba usuwają tylko zawartość, ale tylko DROP TABLE da się cofnąć
DROP TABLE usuwa CAŁĄ tabelę - razem ze strukturą (kolumnami, definicją), więc tabela przestaje istnieć. TRUNCATE TABLE kasuje tylko wszystkie WIERSZE, zostawiając pustą tabelę gotową do dalszego użycia. Dlatego DROP usuwa tabelę, a TRUNCATE czyści dane, zostawiając pustą tabelę.

Pytanie 12

Do którego akapitu przypisano podaną właściwość stylu CSS?
border-radius: 20%;

Ilustracja do pytania
A. Rys. C
B. Rys. B
C. Rys. D
D. Rys. A
Właściwość CSS border-radius służy do zaokrąglania rogów elementu na stronie internetowej. W przypadku wartości procentowej jak 20% zaokrąglenie jest obliczane w stosunku do wymiarów elementu co pozwala na uzyskanie proporcjonalnego wyglądu niezależnie od rozmiaru ramki. Wybranie odpowiedzi Rys. B jest poprawne ponieważ widoczny jest tam efekt zaokrąglonych rogów co jednoznacznie wskazuje na zastosowanie border-radius. Takie stylizacje są powszechnie używane w projektowaniu nowoczesnych interfejsów użytkownika aby nadać im bardziej miękki i przyjazny wygląd. Dobre praktyki projektowe zalecają umiarkowane stosowanie zaokrągleń aby nie przesadzić z efektami wizualnymi co mogłoby pogorszyć czytelność i funkcjonalność. Warto również pamiętać o aspekcie responsywności – używanie wartości procentowych pozwala na lepsze dostosowanie się do różnych rozdzielczości ekranów co jest kluczowe w nowoczesnym web designie. Dzięki border-radius można także tworzyć zaawansowane efekty graficzne łącząc go z innymi właściwościami CSS jak cienie czy gradienty co pozwala na osiągnięcie atrakcyjnych wizualnie elementów bez potrzeby użycia obrazów.

Pytanie 13

Aby wykonać kopię zapasową bazy danych MySQL, można posłużyć się:

A. importem bazy
B. eksportem bazy
C. agregacją danych
D. modyfikacją danych
Kopię zapasową bazy MySQL tworzy się przez eksport - zapis struktury tabel i danych do pliku (najczęściej .sql). Taki plik zawiera polecenia, które pozwalają później odtworzyć bazę w tym samym stanie, np. po awarii lub przy przenoszeniu na inny serwer. Eksport wykonasz w phpMyAdmin (zakładka Eksport) albo narzędziem mysqldump. Odwrotną operacją, przywracającą dane z pliku, jest import. Do zrobienia kopii zapasowej służy więc eksport bazy.

Pytanie 14

W sekcji nagłówka dokumentu HTML umieszczono

<title>Strona miłośników psów</title>
Zawarty tekst będzie widoczny
A. w treści witryny, w pierwszym ukazanym nagłówku
B. na pasku tytułu w przeglądarce
C. w treści witryny, na banerze witryny
D. w polu adresowym, za wprowadzonym adresem URL
Odpowiedź jest poprawna, ponieważ zawartość tagu <title> w kodzie HTML określa tytuł dokumentu, który jest wyświetlany na pasku tytułu przeglądarki. Tytuł ten jest kluczowym elementem SEO, ponieważ wpływa na sposób, w jaki użytkownicy postrzegają stronę w wynikach wyszukiwania. W praktyce, dobrze dobrany tytuł zwiększa szansę na kliknięcia i poprawia widoczność strony w internecie. Warto pamiętać, że tytuł powinien być krótki, zwięzły i zawierać najważniejsze słowa kluczowe, aby skutecznie komunikować, o czym jest strona. Dobre praktyki zalecają, aby długość tytułu nie przekraczała 60 znaków, aby uniknąć jego obcięcia w wynikach wyszukiwania. Dodatkowo, tytuł powinien być unikalny dla każdej podstrony, co ułatwia użytkownikom i wyszukiwarkom zrozumienie zawartości witryny.

Pytanie 15

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

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';
A. jedynie operacje CREATE, ALTER, DROP na tabelach bazy dane.
B. jedynie operacje manipulowania danymi i zmienić jedynie swoje prawa.
C. wszystkie operacje na tabelach bazy dane.
D. wszystkie operacje na tabelach bazy dane oraz nadawać prawa innym użytkownikom.
Wszystkie pozostałe odpowiedzi są niepoprawne z różnych powiedział. Druga odpowiedź sugeruje, że Jan może wykonywać tylko operacje CREATE, ALTER, DROP. Jest to nieprawidłowe, ponieważ otrzymał on pełne uprawnienia do bazy danych, co zdecydowanie wykracza poza te trzy operacje. Trzecia odpowiedź zawiera błędne przekonanie, że Jan może nadawać uprawnienia innym użytkownikom. Pomimo posiadania pełnych uprawnień do bazy danych, nie oznacza to, że ma on możliwość zarządzania uprawnieniami innych użytkowników. Czwarta odpowiedź jest również błędna, twierdząc, że Jan może manipulować danymi i zmieniać tylko swoje uprawnienia. W rzeczywistości, Jan nie ma uprawnień do zmiany swoich własnych uprawnień - to zadanie zazwyczaj spoczywa na administratorze bazy danych. Wszystkie te błędy wynikają z niewłaściwego zrozumienia zarządzania uprawnieniami w bazach danych i roli konstrukcji GRANT. W rzeczywistości, GRANT pozwala na precyzyjne i granularne zarządzanie uprawnieniami, a pełne uprawnienia oznaczają pełną kontrolę nad bazą danych, ale nie nad uprawnieniami innych użytkowników.

Pytanie 16

Który typ komunikatu jest przesyłany WYŁĄCZNIE „w dół” - od kierownika do pracownika?

A. powierzenie zadania
B. poszukiwanie rozwiązań
C. uwagi dotyczące polityki organizacji
D. zgłaszanie
Pozostałe komunikaty płyną inaczej. „Zgłaszanie” (np. problemu) idzie „w GÓRĘ”, od pracownika do kierownika. „Poszukiwanie rozwiązań” to zwykle współpraca dwustronna, a „uwagi o polityce organizacji” mogą płynąć w obie strony. Wyłącznie „w dół” idzie powierzenie zadania.

Pytanie 17

Istnieje tabela o nazwie przedmioty, która zawiera kolumny ocena i uczenID. Jakie zapytanie należy wykorzystać, aby obliczyć średnią ocen ucznia z ID równym 7?

A. SELECT COUNT(ocena) FROM przedmioty WHERE uczenID=7;
B. SELECT AVG(ocena) FROM przedmioty WHERE uczenID=7;
C. COUNT SELECT ocena FROM przedmioty WHERE uczenID=7;
D. AVG SELECT ocena FROM przedmioty WHERE uczenID=7;
Odpowiedź SELECT AVG(ocena) FROM przedmioty WHERE uczenID=7; jest prawidłowa, ponieważ wykorzystuje funkcję agregującą AVG, która oblicza średnią wartość dla podanego zestawu danych. W tym przypadku skupiamy się na ocenach ucznia o ID równym 7, co osiągamy poprzez zastosowanie klauzuli WHERE. Funkcje agregujące, takie jak AVG, są standardowym narzędziem w SQL do analizy danych, szczególnie przydatnym w kontekście raportowania i analityki. Dzięki takiemu zapytaniu możemy szybko uzyskać średnią ocen ucznia, co może być wykorzystane do oceny jego postępów w nauce lub do podejmowania decyzji z zakresu pedagogiki w oparciu o zebrane dane. W praktyce, takie podejście jest zgodne z najlepszymi praktykami w pracy z bazami danych, pozwalając na wydobycie istotnych informacji z dużych zbiorów danych bez konieczności przetwarzania ich ręcznie. Użycie AVG w połączeniu z klauzulą GROUP BY mogłoby również być zastosowane, gdybyśmy chcieli uzyskać średnie oceny dla wielu uczniów jednocześnie, co dodatkowo podkreśla elastyczność i moc SQL w analizie danych.

Pytanie 18

Która funkcja PHP zamieni wyraz „kota” na „mysz” w napisie „ala ma kota”?

A.
replace("kota", "mysz", "ala ma kota");
B.
str_replace("ala ma kota", "kota", "mysz");
C.
str_replace("kota", "mysz", "ala ma kota");
D.
replace("ala ma kota", "kota", "mysz");
Pozostałe wywołania są błędne. Funkcja replace() (bez str_) w PHP NIE istnieje, więc dwa pierwsze warianty od razu odpadają. Wariant str_replace("ala ma kota", "kota", "mysz") używa właściwej funkcji, ale w złej kolejności - jako pierwszy podaje cały tekst zamiast szukanego fragmentu. Poprawne jest str_replace("kota", "mysz", "ala ma kota").

Pytanie 19

Jak nazywa się sytuacja, w której funkcja wywołuje samą siebie?

A. rekurencja
B. dziedziczenie
C. hermetyzacja
D. iteracja
Rekurencja to technika, w której funkcja wywołuje samą siebie, by rozwiązać problem przez sprowadzenie go do prostszego przypadku tego samego typu. Każda poprawna rekurencja musi mieć warunek bazowy (przypadek prosty, kończący wywołania), inaczej powstanie nieskończone wywoływanie i przepełnienie stosu. Klasyczne przykłady to silnia czy ciąg Fibonacciego. Często alternatywą jest iteracja (pętla). Dlatego wywołanie funkcji przez samą siebie to rekurencja.

Pytanie 20

Który selektor sformatuje jednocześnie akapity z klasą „tekst” oraz element blokowy o ID „obrazki”?

A.
p.tekst, div#obrazki
B.
p#tekst, div.obrazki
C.
p#tekst + div.obrazki
D.
p.tekst + div#obrazki
Kropka oznacza klasę, a krzyżyk identyfikator: p.tekst to akapity z klasą „tekst”, a div#obrazki to <div> o id „obrazki”. Przecinek między selektorami GRUPUJE je, więc p.tekst, div#obrazki zastosuje tę samą regułę do obu zestawów elementów naraz. Dlatego to ten selektor jest poprawny.

Pytanie 21

W tabeli szkola (kolumny: imie, nazwisko, klasa) chcemy wyświetlić wszystkich uczniów klasy 3. Które polecenie jest poprawne?

A.
DELETE FROM szkola WHERE klasa = 3
B.
SELECT * FROM szkola WHERE klasa = 3
C.
SELECT * FROM szkola SET klasa = 3
D.
UPDATE szkola SET klasa = 3
Do odczytu danych z warunkiem służy SELECT z klauzulą WHERE. Aby wyświetlić uczniów klasy 3, zapisuje się SELECT * FROM szkola WHERE klasa = 3 - gwiazdka oznacza wszystkie kolumny, a warunek ogranicza wynik do klasy 3. Dlatego to zapytanie jest poprawne.

Pytanie 22

W systemie baz danych sklepu komputerowego znajduje się tabela o nazwie komputery. Aby stworzyć raport, który wyświetli dane dla konkretnego zestawu informacji z tej tabeli, zawierający tylko te komputery, które mają co najmniej 8 GB pamięci RAM oraz procesor Intel, można wykorzystać zapytanie:

A. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec>=8
B. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec<8
C. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec>=8
D. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec<8
Aby stworzyć kwerendę, która wyświetli wszystkie komputery w tabeli 'komputery', spełniające określone warunki, musimy użyć odpowiednich operatorów logicznych oraz porównań. W tym przypadku chcemy uzyskać sprzęt, którego procesor to 'Intel' oraz pamięć RAM wynosi co najmniej 8 GB. Kluczowym elementem jest tutaj użycie operatora 'AND', który zapewnia, że muszą być spełnione oba warunki jednocześnie. Kwerenda 'SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec>=8;' w pełni odpowiada tym wymaganiom. Operator 'AND' jest istotny, ponieważ bez niego moglibyśmy otrzymać komputery z procesorem Intel, ale z pamięcią RAM mniejszą niż 8 GB, co jest sprzeczne z naszym celem. Tego rodzaju zapytania są powszechne w analizie danych i często wykorzystywane w raportowaniu i wizualizacji danych. Odpowiednia struktura kwerendy zapewnia, że wyniki będą precyzyjne i zgodne z oczekiwaniami użytkowników, co jest kluczowe w zarządzaniu bazami danych oraz w tworzeniu systemów informacyjnych dla sklepów komputerowych.

Pytanie 23

Pętla zapisana w języku PHP wstawi do tablicy liczby:

$x = 0;
for ($i = 0; $i < 10; $i++)
{
    $tabl[$i] = $x;
    $x = $x + 10;
}
A. 0, 10, 20, 30, 40, 50, 60, 70, 80, 90
B. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
C. 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
D. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Gratulacje, Twoja odpowiedź jest poprawna. Pętla zaczyna się od $x = 0 i wykonuje się 10 razy ($i od 0 do 9). W każdej rundzie pętli, do tablicy $tabl dodawana jest aktualna wartość $x, a następnie $x jest zwiększane o 10. To jest tzw. pętla for, która jest jednym z najbardziej podstawowych mechanizmów programowania. Dzięki tej pętli możemy kontrolować ilość iteracji, które chcemy wykonać. W tym przypadku, iteracja odbywa się 10 razy, za każdym razem inkrementując $x o 10. Niezależnie od tego, czy korzystasz z PHP, czy innego języka, konstrukcje pętli są niezwykle ważne i warto zrozumieć ich działanie. PHP, jak wiele innych języków programowania, posiada wiele różnych typów pętli - for, while, do-while, each, które mają swoje szczególne zastosowania w zależności od kontekstu.

Pytanie 24

Podano tabelę ksiazki z kolumnami: tytul, autor (w formacie tekstowym), cena (w formacie liczbowym). Aby zapytanie SELECT zwracało jedynie tytuły, dla których cena jest niższa niż 50zł, należy użyć:

A. SELECT ksiazki FROM tytul WHERE cena < '50 zł'
B. SELECT tytul FROM ksiazki WHERE cena < 50
C. SELECT tytul FROM ksiazki WHERE cena > '50 zł'
D. SELECT * FROM ksiazki WHERE cena < 50
Odpowiedź 'SELECT tytul FROM ksiazki WHERE cena < 50;' jest poprawna, ponieważ precyzyjnie formułuje zapytanie w języku SQL, które ma na celu wyodrębnienie z tabeli 'ksiazki' tylko tych tytułów, których cena jest niższa niż 50. W tym przypadku użycie operatora porównania '<' skutkuje filtracją danych według określonego kryterium. Jest to zgodne z dobrą praktyką w programowaniu baz danych, ponieważ pozwala uzyskać potrzebne informacje w sposób efektywny i zrozumiały. Przykładem praktycznego zastosowania może być stworzenie raportu dla księgarni, która chce zobaczyć, które książki są w sprzedaży w przystępnej cenie. Zwracając tylko potrzebne kolumny (tytuł), minimalizujesz ilość przesyłanych danych, co jest ważne w kontekście wydajności i szybkości działania aplikacji korzystających z bazy danych. Dodatkowo, unikanie podawania ceny w formacie tekstowym (np. '50 zł') jest zgodne z zasadami dobrego projektowania baz danych, które zalecają stosowanie odpowiednich typów danych, co w tym przypadku oznacza liczbę bez jednostki walutowej.

Pytanie 25

Aby pobrać dane z formularza HTML tak, aby nie były widoczne w adresie URL, należy zastosować:

A. same kontrolki, bez formularza
B. metodę POST
C. wyłącznie funkcje z biblioteki PDO
D. metodę GET
Kluczem jest tu sposób, w jaki formularz wysyła dane. Metoda GET dopisuje je bezpośrednio do adresu URL w postaci par nazwa=wartość, więc są od razu widoczne w pasku adresu, w historii i logach serwera - dokładnie tego mieliśmy uniknąć. Wybranie samych kontrolek bez formularza w ogóle nie zadziała: to formularz odpowiada za zebranie i wysłanie danych na serwer. Biblioteka PDO dotyczy zupełnie innego etapu - służy do komunikacji PHP z bazą danych, a nie do decydowania, jak dane opuszczają przeglądarkę. Aby ukryć je przed adresem URL, formularz musi korzystać z metody POST, która przenosi dane w treści żądania.

Pytanie 26

Przedstawiony w ramce fragment kwerendy SQL ma za zadanie wybrać

SELECT COUNT(wartosc) FROM ...
A. liczbę kolumn.
B. liczbę wierszy.
C. średnią w kolumnie wartosc.
D. sumę w kolumnie wartosc.
Poprawnie: wyrażenie SELECT COUNT(wartosc) ma za zadanie zwrócić liczbę wierszy, w których kolumna wartosc nie jest pusta (czyli nie ma wartości NULL). Funkcja agregująca COUNT() w SQL właśnie do tego służy – zlicza rekordy. W wersji COUNT(nazwa_kolumny) zliczane są tylko te wiersze, gdzie w tej kolumnie znajduje się jakaś konkretna wartość. To jest ważne rozróżnienie: COUNT(*) liczy wszystkie wiersze w tabeli lub wyniku kwerendy, natomiast COUNT(wartosc) pomija rekordy z NULL w tej kolumnie. Moim zdaniem to jedna z podstawowych rzeczy, które trzeba mieć „w ręku”, pracując z bazami danych. W praktyce używa się tego np. do sprawdzenia, ilu klientów podało numer telefonu, ilu pracowników ma przypisaną premię, ile zamówień ma ustawioną datę realizacji itd. Zamiast ręcznie przeglądać dane, odpalasz prostą kwerendę: SELECT COUNT(telefon) FROM klienci; i od razu wiesz, ile jest uzupełnionych pól. Dobre praktyki mówią też, żeby świadomie wybierać pomiędzy COUNT(*) a COUNT(kolumna), bo dają one różne wyniki przy brakach danych. W raportowaniu biznesowym to ma ogromne znaczenie, bo łatwo wyciągnąć złe wnioski, jeśli ktoś nie rozumie, co dokładnie liczy dana funkcja. W projektach komercyjnych COUNT() jest jedną z najczęściej używanych funkcji agregujących obok SUM(), AVG(), MIN() i MAX(), więc warto od razu nauczyć się jej poprawnej interpretacji i stosowania w połączeniu z klauzulą WHERE oraz GROUP BY, żeby liczyć wiersze spełniające konkretne warunki, np. ilu użytkowników aktywowało konto w danym miesiącu.

Pytanie 27

Która operacja NIE zmieni rozmiaru (wagi) pliku graficznego?

A. zmiana rozmiaru WYŚWIETLANIA obrazu atrybutami HTML
B. kompresja
C. interpolacja
D. zmiana rozdzielczości obrazu
Pozostałe operacje realnie zmieniają plik. Zmiana rozdzielczości modyfikuje liczbę pikseli zapisanych w obrazie, interpolacja przelicza piksele przy zmianie wymiarów, a kompresja celowo redukuje ilość danych. Każda z nich wpływa na wagę pliku - inaczej niż samo skalowanie wyświetlania w HTML.

Pytanie 28

Jednym z kluczowych identyfikatorów wpisu w bazie danych jest pole

A. klucza obcego
B. relacji
C. klucza podstawowego
D. numeryczne
Klucz podstawowy jest fundamentalnym elementem każdej relacyjnej bazy danych, ponieważ jednoznacznie identyfikuje każdy rekord w tabeli. Jego główną cechą jest unikalność, co oznacza, że żaden z rekordów w tabeli nie może mieć tego samego klucza podstawowego. Klucz podstawowy może składać się z jednego lub więcej atrybutów (kolumn), ale zawsze musi zapewniać jednoznaczność identyfikacji. Przykładem może być tabela 'Użytkownicy', gdzie 'ID_Użytkownika' działa jako klucz podstawowy, pozwalając na łatwe i szybkie wyszukiwanie konkretnych użytkowników. Zgodnie z najlepszymi praktykami projektowania baz danych, klucze podstawowe powinny być stabilne i niezmienne w czasie, aby uniknąć komplikacji związanych z aktualizacją wartości. Klucz podstawowy jest również kluczowy dla relacji między tabelami, ponieważ inne tabele mogą odwoływać się do niego poprzez klucze obce. Dzięki temu, struktura bazy danych staje się bardziej zorganizowana i lepiej znormalizowana, co z kolei prowadzi do zwiększonej wydajności i integralności danych.

Pytanie 29

Które polecenie MySQL służy do odebrania uprawnień użytkownikowi?

A.
GRANT
B.
CREATE
C.
RENAME
D.
REVOKE
Odebranie wcześniej nadanych uprawnień realizuje polecenie REVOKE, np. REVOKE INSERT ON baza.* FROM anna;. To przeciwieństwo GRANT, obie należą do grupy DCL (sterowanie dostępem). Zapamiętaj parę: GRANT daje, REVOKE odbiera.

Pytanie 30

Aby utworzyć relację wiele do wielu pomiędzy tabelami A i B, należy

A. wprowadzić trzecią tabelę zawierającą klucze obce do tabel A i B
B. tabela A będzie miała identyczne pola jak tabela B
C. tabelę A połączyć z tabelą B przez utworzenie kluczy obcych
D. wiele wpisów z tabeli A zduplikuje się w tabeli B
Twierdzenie, że wystarczy połączyć tabelę A z tabelą B za pomocą zdefiniowania kluczy obcych, jest błędne, ponieważ taka operacja tworzy jedynie relację jeden do wielu, a nie wiele do wielu. W przypadku relacji jeden do wielu jedna tabela (np. tabela A) może być połączona z wieloma rekordami w drugiej tabeli (np. tabela B), ale nie odwrotnie. Co więcej, zduplikowanie wielu rekordów z tabeli A w tabeli B prowadziłoby do powstania redundancji i nieefektywnego zarządzania danymi, co jest sprzeczne z zasadami normalizacji baz danych. Wreszcie, posiadanie tabeli A z takimi samymi polami co tabela B jest nieadekwatne i niezgodne z ideą relacji wiele do wielu. Tego typu rozwiązanie prowadziłoby do chaosu w strukturze bazy danych oraz utrudniałoby jakiekolwiek operacje na zbiorach danych. Aby zrealizować relację wiele do wielu, należy zawsze wprowadzić osobną tabelę, która będzie w stanie efektywnie łączyć obie oryginalne tabele, umożliwiając ich prawidłowe powiązanie i zarządzanie danymi.

Pytanie 31

Kolor zapisany w systemie RGB, o wartościach rgb(255,128,16), jaki będzie miał odpowiednik w kodzie szesnastkowym?

A. #ff8011
B. #ff0f10
C. #008010
D. #ff8010
Odpowiedzi, które nie są poprawne, można analizować pod kątem błędów w konwersji wartości RGB na format szesnastkowy. W pierwszym przypadku, kolor zapisany jako #008010 nie odpowiada podanym wartościom RGB, ponieważ składowa czerwonego ma wartość 0 zamiast 255, co sprawia, że kolor ten jest odcieniem zieleni, a nie pomarańczowym. Kolejną niepoprawną odpowiedzią jest #ff0f10, w której składowa zielona wynosi 0, zamiast 128. W efekcie otrzymujemy kolor dominujący w czerwieni z odrobiną niebieskiego, co nie odpowiada oryginalnemu kolorowi. Ostatnia niepoprawna odpowiedź, #ff8011, różni się jedynie w ostatniej cyfrze od poprawnej odpowiedzi. Zwiększenie wartości niebieskiej do 11 zamiast 10 prowadzi do niewłaściwego odcienia, ponieważ zmienia balans kolorów i nie odwzorowuje oryginalnego koloru RGB. Wszystkie te błędy ilustrują znaczenie dokładności w konwersji wartości kolorów, co jest kluczowe w projektowaniu graficznym i webowym.

Pytanie 32

Aby naprawić uszkodzoną tabelę w bazie MySQL, należy wykonać polecenie:

A.
FIX TABLE
B.
CHECK TABLE
C.
REPAIR TABLE
D.
RESOLVE TABLE
Uszkodzoną tabelę w MySQL naprawia polecenie REPAIR TABLE, po którym podaje się nazwę tabeli, na przykład REPAIR TABLE klienci. Próbuje ono odbudować strukturę i indeksy tabeli, gdy ulegnie ona uszkodzeniu, np. po nagłym wyłączeniu serwera. Pokrewne CHECK TABLE służy do wcześniejszego wykrycia problemu. Do samej naprawy używa się jednak REPAIR TABLE.

Pytanie 33

Wskaż zapytanie, w którym dane są uporządkowane.

A. SELECT AVG(ocena) FROM uczniowie WHERE klasa = 2;
B. SELECT DISTINCT produkt, cena FROM artykuly;
C. SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek;
D. SELECT nazwisko FROM firma WHERE pensja > 2000 LIMIT 10;
Odpowiedź wskazująca na zapytanie "SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek;" jest prawidłowa, ponieważ zawiera klauzulę ORDER BY, która służy do sortowania rekordów w wynikach zapytania. W tym przypadku dane są sortowane według kolumny 'wiek', co pozwala na uzyskanie uporządkowanej listy mieszkańców, którzy mają więcej niż 18 lat. Sortowanie danych jest kluczowym aspektem w zarządzaniu bazami danych, umożliwiającym łatwiejsze wyszukiwanie oraz analizę informacji. Przykładem zastosowania może być generowanie raportów, gdzie istotne jest uporządkowanie danych, na przykład według wieku, aby zobaczyć, jak rozkłada się wiek mieszkańców w danej grupie. Dodatkowo, stosowanie sortowania zgodnie z przyjętymi standardami SQL zwiększa czytelność oraz efektywność zapytań, a także ułatwia rozwiązywanie problemów związanych z przetwarzaniem danych.

Pytanie 34

Jaką treść komunikatu należy umieścić w kodzie PHP zamiast znaków zapytania?

$a = mysql_connect('localhost', 'adam', 'mojeHaslo');

if (!$a)
    echo "?????????????";
A. Rekord został pomyślnie dodany do bazy
B. Błąd połączenia z serwerem SQL
C. Wybrana baza danych nie istnieje
D. Błąd w trakcie przetwarzania zapytania SQL
Poprawna odpowiedź 'Błąd połączenia z serwerem SQL' jest właściwa, ponieważ funkcja mysql_connect() służy do nawiązywania połączenia z serwerem bazy danych MySQL. Jeśli połączenie nie powiedzie się, zwraca false. W takiej sytuacji należy poinformować użytkownika o nieudanym połączeniu. Jest to kluczowe w debugowaniu i zapewnianiu użytkownikowi zrozumiałych komunikatów błędów. W praktyce, połączenie z bazą danych jest podstawowym krokiem w wielu aplikacjach internetowych, a jego poprawna obsługa to standardowa praktyka branżowa. Współczesne podejście wymaga także użycia rozszerzenia mysqli lub PDO zamiast przestarzałej funkcji mysql_connect(). Jest to zalecane ze względu na lepsze wsparcie bezpieczeństwa i wydajności. Użycie funkcji mysqli_connect() pozwala na obsługę zarówno błędów połączenia, jak i zapytań SQL w sposób bardziej elastyczny i bezpieczny.

Pytanie 35

W przedstawionym diagramie bazy danych biblioteka, elementy: czytelnik, wypozyczenie i ksiazka są

Ilustracja do pytania
A. polami.
B. krotkami.
C. atrybutami.
D. encjami.
W diagramie bazy danych pokazanym w pytaniu elementy „czytelnik”, „wypozyczenie” i „ksiazka” to klasyczne przykłady encji. Encja w modelu relacyjnym (a dokładniej w modelu ER – Entity-Relationship) oznacza pewien typ obiektu ze świata rzeczywistego, o którym chcemy przechowywać dane w bazie. W praktyce encja odpowiada tabeli w relacyjnej bazie danych: encja CZYTELNIK → tabela czytelnik, encja KSIĄŻKA → tabela ksiazka, encja WYPOŻYCZENIE → tabela wypozyczenie. Każda z tych encji ma swój klucz główny (np. czytelnik_id, ksiazka_id, wypozyczenie_id), czyli atrybut jednoznacznie identyfikujący rekord. To jest dokładnie to, co w dobrych praktykach projektowania baz danych (np. wg standardowych metodologii ERD używanych w SQL Server, MySQL Workbench czy Oracle Data Modeler) uważa się za podstawę poprawnego modelu danych.

Moim zdaniem bardzo ważne jest rozróżnienie poziomów: encja to „typ obiektu” (tabela), atrybut to „cecha obiektu” (kolumna), a krotka/rekord to „konkretne wystąpienie obiektu” (pojedynczy wiersz). Na przykład: encja CZYTELNIK opisuje wszystkich możliwych czytelników biblioteki, atrybuty tej encji to imie, nazwisko, ulica itd., a jedna konkretna krotka w tabeli czytelnik opisuje jedną osobę, np. Jana Kowalskiego z ulicy Lipowej 5. W projektowaniu systemów bibliotecznych, systemów sprzedażowych, magazynowych czy w aplikacjach webowych z bazą danych zawsze zaczyna się właśnie od zidentyfikowania encji: klient, zamówienie, produkt, faktura itd. Dopiero potem dopisuje się atrybuty, ustala relacje (tak jak tu: czytelnik – wypożyczenie – książka) i definiuje klucze obce. To podejście jest zgodne z normalizacją i ogólnymi zasadami projektowania relacyjnych baz danych – pomaga uniknąć nadmiarowości danych i błędów logicznych w aplikacji.

Pytanie 36

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

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

Pytanie 37

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. nav { float: right; } section { float: right; }
B. nav { float: right; }
C. nav { float: left; } aside { float: left; }
D. aside {float: left; }
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie.

W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie.

Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 38

Którego narzędzia użyć, aby usunąć szum tła z nagrania (z taniego mikrofonu)?

A. echa
B. usuwania szumów
C. obwiedni
D. wyciszenia
Stały szum tła z taniego mikrofonu usuwa się narzędziem „usuwania szumów” (np. Noise Reduction w Audacity) - analizuje ono próbkę samego szumu i odejmuje go z całego nagrania. Dlatego należy użyć usuwania szumów.

Pytanie 39

Do czego służy polecenie DROP w SQL?

A. do usunięcia istniejącego obiektu (np. tabeli)
B. do aktualizacji danych obiektu
C. do dodania nowego obiektu
D. do zmiany parametrów obiektu
Polecenie DROP usuwa istniejący obiekt bazy - np. DROP TABLE kasuje tabelę, DROP DATABASE bazę, DROP VIEW widok. Działa na poziomie struktury (DDL). Dlatego DROP służy do usunięcia istniejącego obiektu.

Pytanie 40

Przedstawiony kod źródłowy, zapisany w języku C++, ma za zadanie dla wprowadzanych dowolnych całkowitych liczb różnych od zera wypisać:

int main()
{
    int liczba;
    cin >> liczba;
    while (liczba != 0)
    {
        if ((liczba % 2) == 0)
            cout << liczba << endl;
        cin >> liczba;
    }
    return 0;
}
A. wszystkie liczby
B. wyłącznie liczby nieparzyste
C. liczby pierwsze
D. jedynie liczby parzyste
Ten kod w C++ jest zaprojektowany tak, żeby wypisywał tylko liczby parzyste, które podaje użytkownik. Zaczyna od wczytania liczby całkowitej i potem wchodzi w pętlę, która działa, dopóki użytkownik nie wkroczy z zerem. W pętli sprawdza, czy liczba jest parzysta, co robi poprzez operację modulo. Jeśli reszta z dzielenia przez 2 jest 0, to znaczy, że liczba jest parzysta i wtedy jest wyświetlana na ekranie. To przykład podstawowych rzeczy w programowaniu, jak pętle i warunki, i to są naprawdę ważne umiejętności. Takie konstrukcje są przydatne w wielu programach, na przykład finansowych lub graficznych, gdzie często trzeba sprawdzić i przefiltrować dane według określonych zasad.