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: 8 lipca 2026 13:13
  • Data zakończenia: 8 lipca 2026 13:22

Egzamin niezdany

Wynik: 17/40 punktów (42,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Na czym polega pozycjonowanie poza stroną (off-page SEO)?

A. na sprawdzaniu i testowaniu szybkości ładowania
B. na pozyskiwaniu zewnętrznych linków prowadzących do strony
C. na optymalizacji grafiki i multimediów
D. na walidacji kodu HTML, CSS i linków
Pozostałe działania to optymalizacja ON-PAGE lub techniczna, czyli prace w obrębie samej witryny. Walidacja kodu HTML/CSS dba o poprawność znaczników. Optymalizacja grafiki i multimediów zmniejsza rozmiar plików. Testowanie szybkości ładowania poprawia wydajność. Wszystkie dotyczą strony „od środka”, podczas gdy off-page SEO to pozyskiwanie zewnętrznych linków do niej.

Pytanie 2

Której pseudoklasy CSS użyć, aby element zmieniał kolor po najechaniu kursorem?

A.
:visited
B.
:active
C.
:coursor
D.
:hover
Pseudoklasa :hover zmienia wygląd elementu, gdy najedzie na niego kursor, np. a:hover { color: red; } podświetli link pod myszą. To podstawowy sposób na interaktywne reakcje bez JavaScriptu. Zapamiętaj: „hover” = unoszenie kursora nad elementem.

Pytanie 3

Model fizyczny replikacji bazy danych pokazany na ilustracji to model

Ilustracja do pytania
A. rozproszony
B. równorzędny
C. centralnego subskrybenta
D. centralnego wydawcy
Model centralnego wydawcy jest kluczowym elementem w systemach replikacji baz danych gdzie jeden serwer pełni rolę wydawcy dystrybutora danych do wielu subskrybentów Ta architektura pozwala na efektywne zarządzanie danymi poprzez centralne sterowanie zmianami i ich dystrybucję do podłączonych serwerów subskrybentów W praktyce takie podejście jest używane w dużych organizacjach gdzie konieczne jest zapewnienie aktualności i spójności danych w różnych lokalizacjach Przykładowo w firmach z wieloma oddziałami centralny serwer może dystrybuować dane transakcyjne do lokalnych serwerów zapewniając wszystkim oddziałom bezpośredni dostęp do aktualnych informacji Dzięki temu możliwe jest przeprowadzenie analizy danych w czasie rzeczywistym oraz synchronizacja danych co jest kluczowe w przypadku systemów ERP i CRM Stosowanie modelu centralnego wydawcy zgodnie z dobrymi praktykami umożliwia także łatwe skalowanie systemu oraz zarządzanie bezpieczeństwem danych poprzez centralne punkty kontrolne Taka architektura minimalizuje ryzyko konfliktów danych i zapewnia integralność danych co jest zgodne ze standardami branżowymi

Pytanie 4

Do utworzenia czego niezbędne jest zdefiniowanie klucza obcego?

A. transakcji
B. relacji jeden-do-wielu (1..n)
C. relacji jeden-do-jednego (1..1)
D. klucza podstawowego
Klucz obcy jest niezbędny do utworzenia relacji jeden-do-wielu (1..n) - to on, umieszczony po stronie „wielu”, wskazuje klucz główny tabeli po stronie „jeden”. Dlatego klucz obcy potrzebny jest do relacji 1..n.

Pytanie 5

Hermetyzacja to zasada programowania obiektowego mówiąca o tym, że

A. typy pól w klasach/obiektach mogą być dynamicznie zmieniane w zależności od danych im przypisywanych.
B. klasy mogą mieć zdefiniowane metody wirtualne, które są implementowane w pochodnych klasach.
C. klasy mogą współdzielić ze sobą funkcjonalność.
D. pola i metody wykorzystywane tylko przez daną klasę są ograniczane zasięgiem private lub protected.
Hermetyzacja to pojęcie, które dość często miesza się z innymi zasadami programowania obiektowego, takimi jak dziedziczenie, polimorfizm czy współdzielenie funkcjonalności między klasami. W efekcie powstaje takie wrażenie, że chodzi po prostu o „współpracę obiektów” albo „możliwość rozszerzania klas”, co jest tylko częścią obrazu, ale nie definicją hermetyzacji. Sedno hermetyzacji polega na ukrywaniu stanu obiektu i szczegółów implementacyjnych za dobrze zdefiniowanym interfejsem. Klasa ma swoje pola i metody pomocnicze, ale kod na zewnątrz widzi tylko to, co programista świadomie wystawi jako public. Pozostałe odpowiedzi dotykają innych cech obiektowości. Współdzielenie funkcjonalności między klasami to bardziej temat dziedziczenia, kompozycji albo używania wspólnych modułów czy interfejsów. To, że dwie klasy mogą mieć podobne metody i wykorzystywać wspólny kod, nie ma bezpośrednio nic wspólnego z hermetyzacją. Można mieć świetnie współdzieloną logikę, a kompletnie zignorować ukrywanie szczegółów implementacji i bezpieczeństwo stanu obiektów. Z kolei pomysł, że typy pól w klasach mogą się dynamicznie zmieniać w zależności od danych, dotyczy raczej systemu typów i języków dynamicznych, jak JavaScript czy PHP w trybie bez ścisłego typowania. To jest kwestia dynamicznego typowania, a nie hermetyzacji. Można mieć język statycznie typowany (np. Java, C#) i świetną hermetyzację, i można mieć język dynamicznie typowany, w którym hermetyzacja jest słaba lub w ogóle nieprzestrzegana. Natomiast metody wirtualne, nadpisywanie ich w klasach pochodnych, późne wiązanie wywołań – to klasyczny polimorfizm, nie hermetyzacja. Owszem, te koncepcje często występują razem w jednym projekcie, przez co łatwo się mylą, ale ich cele są inne. Polimorfizm pozwala różnym klasom reagować inaczej na to samo wywołanie metody, hermetyzacja zaś skupia się na tym, żeby ukryć wnętrze obiektu i wystawić tylko kontrolowany interfejs. Typowym błędem myślowym jest utożsamianie „obiektowości jako całości” z pojedynczymi jej elementami. Ktoś widzi dziedziczenie albo metody wirtualne i zakłada, że to już automatycznie „hermetyzacja”. W praktyce dobra hermetyzacja to przede wszystkim rozsądne używanie private/protected, unikanie publicznych pól, a także pilnowanie, żeby stan obiektu był spójny i nie dało się go przypadkiem popsuć z zewnątrz. To właśnie ta ochrona wnętrza klasy, a nie możliwość dziedziczenia czy dynamicznego typowania, jest tutaj kluczowa.

Pytanie 6

Plik cookie utworzony przedstawionym poleceniem PHP:

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. wygaśnie po jednej godzinie od jego utworzenia.
B. będzie przechowywany na serwerze przez jedną godzinę.
C. będzie przechowywany na serwerze przez jedną dobę.
D. wygaśnie po jednej dobie od jego utworzenia.
Kod z funkcją setcookie() w PHP bardzo często myli się z mechanizmami przechowywania danych po stronie serwera, dlatego łatwo tu o błędne skojarzenia. W tym przykładzie kluczowe są dwie rzeczy: po pierwsze, gdzie fizycznie przechowywane jest cookie, a po drugie, w jakiej jednostce podajemy czas. Ciasteczka HTTP są zawsze przechowywane po stronie klienta, czyli w przeglądarce użytkownika, w jej lokalnym magazynie. Serwer jedynie informuje przeglądarkę, jaki ma być czas życia takiego wpisu, wysyłając odpowiedni nagłówek Set-Cookie z datą wygaśnięcia. Stąd pomysł, że cookie „będzie przechowywane na serwerze” jest po prostu nietrafiony – serwer nie ma osobnego magazynu na ciasteczka użytkowników, on tylko je odczytuje z nagłówków przychodzących żądań i ewentualnie ustawia nowe. Druga częsta pomyłka dotyczy samego czasu. Funkcja time() zwraca aktualny timestamp w sekundach od 1.01.1970, a w wyrażeniu 3600 * 24 wyliczana jest liczba sekund w jednej dobie. Jeśli ktoś pobieżnie spojrzy na zapis, może skojarzyć 3600 z godziną i założyć, że cookie jest ważne tylko godzinę, ignorując mnożenie przez 24. To typowy błąd „czytania po łebkach” kodu. Tymczasem przeglądarka dostaje konkretny moment w przyszłości, przesunięty o 86400 sekund, i do tej chwili będzie wysyłać cookie przy każdym żądaniu do odpowiedniej domeny i ścieżki. Warto też pamiętać, że samo istnienie cookie nie oznacza trwałego przechowywania danych po stronie serwera. Dane z ciasteczka trafiają na serwer dopiero, gdy przeglądarka wyśle je w nagłówku HTTP. Dlatego planując logikę aplikacji, trzeba jasno rozróżniać dane sesyjne na serwerze (np. w $_SESSION) od danych w cookie, które użytkownik może modyfikować po swojej stronie i które wygasają dokładnie według tego timestampu, jaki podamy w setcookie().

Pytanie 7

W języku SQL, aby z tabeli Uczniowie wyodrębnić rekordy dotyczące wyłącznie uczennic o imieniu "Aleksandra", które przyszły na świat po roku "1998", należy sformułować zapytanie

A. SELECT * FROM Uczniowie WHERE imie ="Aleksandra" OR rok_urodzenia < "1998"
B. SELECT * FROM Uczniowie WHERE imie="Aleksandra" OR rok_urodzenia > "1998"
C. SELECT * FROM Uczniowie WHERE imie="Aleksandra" AND rok_urodzenia > "1998"
D. SELECT * FROM Uczniowie WHERE imie="Aleksandra" AND rok_urodzenia < "1998"
Ta odpowiedź jest prawidłowa, ponieważ wykorzystuje operator logiczny AND, aby jednocześnie spełnić dwa kryteria: imię uczennicy musi być równe 'Aleksandra', a rok urodzenia musi być większy niż 1998. Użycie AND zapewnia, że tylko te rekordy, które spełniają obydwa warunki, zostaną zwrócone, co jest zgodne z wymaganiami zadania. W praktyce, takie zapytanie mogłoby być użyte w systemie edukacyjnym do generowania raportów dla nauczycieli, aby zidentyfikować i analizować uczennice o konkretnych cechach. Stosowanie operatora AND jest zgodne z dobrymi praktykami w SQL, które preferują precyzyjne określenie warunków w zapytaniach. Warto również zauważyć, że w bazach danych, zapewnienie poprawności danych i odpowiednich filtrów na poziomie zapytań jest kluczowe, aby uniknąć błędnych analiz oraz zapewnić, że wyciągane informacje są rzetelne i użyteczne w kontekście podejmowania decyzji.

Pytanie 8

W formularzu umieszczono kontrolki do podania imienia oraz nazwiska. Który z atrybutów odpowiada za wyświetlanie sugestii w polu kontrolki, która znika, gdy użytkownik zaczyna wpisywanie wartości?

<label for="imie">Imię: </label> 
<input id="imie" value="Wpisz dane" title="Wpisz imię"><br>
<label for="nazw">Nazwisko: </label>
<input id="nazw" placeholder="Wpisz dane" title="Wpisz nazwisko">
A. placeholder
B. value
C. title
D. for
Atrybut "placeholder" jest kluczowym elementem w formularzach HTML, który definiuje tekst podpowiedzi umieszczony w polu kontrolki. Tekst ten zniknie, gdy użytkownik zacznie wpisywać dane, co pozwala na zapewnienie bardziej intuicyjnego interfejsu. W przypadku przykładowego formularza, atrybut "placeholder" jest użyty w polu nazwiska, co stanowi doskonały przykład jego praktycznego zastosowania. Dobrą praktyką jest stosowanie atrybutu "placeholder" w formularzach, ponieważ wprowadza on klarowność i ułatwia użytkownikom wypełnianie formularzy, jednocześnie zmniejszając ryzyko błędów. Atrybut ten nie tylko poprawia doświadczenia użytkownika, ale także zwiększa dostępność formularzy, ponieważ pozwala osobom korzystającym z czytników ekranu lepiej zrozumieć, jakie dane są wymagane. Warto również zauważyć, że "placeholder" nie powinien być używany jako substytut etykiety, która jest niezbędna do poprawnej dostępności i użyteczności. Etykiety powinny być zawsze stosowane, a "placeholder" powinien pełnić jedynie funkcję pomocniczą.

Pytanie 9

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

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

Pytanie 10

Jaką barwę przedstawia kolor zapisany w modelu RGB(255, 0, 0)?

A. niebieską
B. zieloną
C. czerwoną
D. żółtą
W modelu RGB kolor opisują trzy składowe: czerwona (R), zielona (G) i niebieska (B), każda od 0 do 255. Zapis RGB(255, 0, 0) oznacza maksymalną czerwoną i zerowe pozostałe, czyli czysty kolor czerwony. Dlatego RGB(255, 0, 0) to barwa czerwona.

Pytanie 11

W języku PHP nie można zrealizować

A. tworzenia dynamicznej treści strony
B. zmiany dynamicznej zawartości strony HTML w przeglądarce
C. obróbki danych przechowywanych w bazach danych
D. przetwarzania danych z formularzy
Przetwarzanie danych formularzy to jedna z kluczowych funkcji, które PHP realizuje na co dzień. PHP jest zaprojektowane do obsługi danych przesyłanych przez formularze HTML, co umożliwia dynamiczne przetwarzanie informacji wprowadzonych przez użytkowników. W momencie, gdy użytkownik wysyła formularz, PHP odbiera te dane i może je przetwarzać, walidować oraz zapisywać do bazy danych lub wykorzystywać w inny sposób, co czyni tę odpowiedź niepoprawną. Generowanie dynamicznej zawartości strony to kolejna funkcjonalność, którą PHP realizuje z powodzeniem. Dzięki PHP można tworzyć strony internetowe, które zmieniają się w zależności od różnych czynników, takich jak dane z bazy danych, aktualna godzina czy sesja użytkownika. PHP dynamicznie generuje HTML, który następnie jest wysyłany do przeglądarki. Wreszcie, PHP doskonale radzi sobie z przetwarzaniem danych zgromadzonych w bazach danych. Język ten może łączyć się z różnymi systemami zarządzania bazami danych, takimi jak MySQL, PostgreSQL czy SQLite, umożliwiając wykonywanie zapytań SQL oraz operacji na danych. Dlatego odpowiedzi dotyczące przetwarzania danych formularzy, generowania dynamicznej zawartości oraz interakcji z bazami danych są błędne, ponieważ PHP jest w stanie zrealizować te zadania z dużą skutecznością.

Pytanie 12

Która funkcja PHP służy do załadowania (dołączenia) pliku z serwera?

A.
parse_str()
B.
mysqli_connect()
C.
include()
D.
echo()
Pozostałe funkcje robią co innego. mysqli_connect() łączy się z bazą danych, echo() wypisuje tekst, a parse_str() rozkłada ciąg zapytania na zmienne. Dołączanie pliku wykonuje include().

Pytanie 13

W języku PHP przeprowadzono operację przedstawioną w ramce. Jak można postąpić, aby wyświetlić wszystkie wyniki tego zapytania?

$tab = mysqli_query($db, "SELECT imie FROM Osoby WHERE wiek < 18");
A. użyć polecenia mysql_fetch
B. zastosować pętlę z poleceniem mysqli_fetch_row
C. pokazać zmienną $db
D. zaindeksować zmienną tab, tab[0] to pierwsze imię
W przypadku wyświetlania wyników zapytania SQL w PHP, ważne jest zrozumienie mechanizmu działania funkcji dostępnych w bibliotece mysqli. Wśród niewłaściwych koncepcji można wymienić próbę wyświetlenia zmiennej $db, która jest zazwyczaj uchwytem połączenia do bazy danych a nie bezpośrednim wynikiem zapytania. To podejście często prowadzi do błędów logicznych, ponieważ $db reprezentuje połączenie a nie dane wynikowe. Polecenie mysql_fetch, choć kiedyś używane w starszej wersji PHP, obecnie nie jest zalecane z powodu przestarzałości i braku wsparcia dla rozszerzenia mysql, które zostało zastąpione przez mysqli i PDO. Próba zaindeksowania zmiennej tab jako tab[0] bez odpowiedniego pobrania danych wynikowych jest również błędna. Zmienna tab przechowuje rezultat zapytania w postaci obiektu typu mysqli_result, a bez użycia odpowiednich funkcji fetch nie można bezpośrednio uzyskać dostępu do danych. Takie podejście wynika z niezrozumienia struktury danych zwracanych przez zapytania. Iteracyjne pobieranie wyników za pomocą funkcji typu mysqli_fetch_row czy mysqli_fetch_assoc jest standardem w nowoczesnych aplikacjach PHP, ponieważ umożliwia elastyczne i efektywne zarządzanie danymi. Zastosowanie odpowiednich mechanizmów fetch pozwala na bezbłędne iterowanie przez wiersze wynikowe co jest kluczowe dla poprawnego przetwarzania danych z bazy.

Pytanie 14

Pole autor w tabeli ksiazka jest:

CREATE TABLE ksiazka (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
tytul VARCHAR(200),
autor SMALLINT UNSIGNED NOT NULL,
CONSTRAINT `dane` FOREIGN KEY (autor) REFERENCES autorzy(id)
);
A. polem wykorzystanym w relacji z tabelą dane
B. kluczem obcym związanym z tabelą autorzy
C. polem typu tekstowego zawierającym informacje o autorze
D. kluczem podstawowym tabeli ksiazka
Wybór odpowiedzi wskazującej, że pole autor jest kluczem głównym tabeli ksiazka jest błędny, ponieważ klucz główny jest unikalnym identyfikatorem każdego rekordu w tabeli, a w tym przypadku pole id pełni tę rolę. Klucz główny zapewnia, że każdy rekord w tabeli jest jednoznacznie identyfikowalny, co jest kluczowe dla integralności danych. Z kolei klucz obcy, jak w tym przypadku, odnosi się do innej tabeli, co nie ma związku z rolą klucza głównego. Kolejny błąd polega na stwierdzeniu, że pole autor jest polem typu napisowego. W rzeczywistości, pole autor jest zdefiniowane jako SMALLINT UNSIGNED, co oznacza, że przechowuje liczby całkowite, a nie tekst. Ta nieścisłość jest kluczowa, ponieważ typ danych wpływa na sposób, w jaki dane są przechowywane i przetwarzane. Ponadto, błędne jest również podanie, że pole autor jest polem wykorzystanym przy relacji z tabelą dane, ponieważ nie istnieje taka tabela w podanym kontekście. W tym przypadku, odniesienie do tabeli dane jest mylące i nieadekwatne do struktury bazy danych. Przykłady dobrych praktyk w projektowaniu schematów baz danych obejmują poprawne użycie typów danych oraz stosowanie kluczy obcych do zabezpieczenia relacji między tabelami, co jest kluczowe dla efektywnej i bezpiecznej architektury bazy danych.

Pytanie 15

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

A. SELECT AVG(ocena) FROM uczniowie WHERE klasa = 2;
B. SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek;
C. SELECT DISTINCT produkt, cena FROM artykuly;
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 16

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.

var x=5;
var y=3;
if(x=y) document.getElementById("demo").innerHTML='zmienne są równe';
else    document.getElementById("demo").innerHTML='zmienne się różnią';
A. W klauzuli if użyto przypisania zamiast porównania
B. Zmienne zostały zadeklarowane w niewłaściwy sposób
C. Zawartość sekcji if oraz else powinna być zamieniona miejscami
D. Brak średnika przed klauzulą else
W kontekście analizy błędów w kodzie JavaScript, istnieje kilka odpowiedzi, które nie są poprawne. Po pierwsze, stwierdzenie, że zmienne zostały nieprawidłowo zadeklarowane, jest mylące. W rzeczywistości zmienne x i y zostały zadeklarowane poprawnie za pomocą słowa kluczowego var, co jest standardową praktyką w JavaScript. Wartości, które przypisano do tych zmiennych, są również poprawne i zgodne z typem liczbowym. Po drugie, stwierdzenie, że przed klauzulą else nie powinno być średnika, również nie jest adekwatne. W JavaScript średnik jest opcjonalny na końcu instrukcji, a jego brak w tym przypadku nie wpływa na działanie programu. Klauzula else działa prawidłowo, niezależnie od obecności średnika w kodzie. Ponadto, twierdzenie, że instrukcje wewnątrz sekcji if oraz else powinny być zamienione miejscami, jest błędne, ponieważ logika programu nie wymaga takiej zamiany. Program powinien najpierw sprawdzić, czy zmienne są równe, a następnie zareagować w zależności od wyniku tego porównania. Właściwa struktura kontrolna jest kluczowa dla poprawności działania kodu, dlatego zamiana sekcji if i else prowadziłaby do wyświetlania błędnych komunikatów.

Pytanie 17

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

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

Pytanie 18

Czym charakteryzują się systemy CMS?

A. wbudowanym serwerem poczty
B. możliwością programowania w zaawansowanych frameworkach
C. wbudowanym edytorem grafiki wektorowej
D. możliwością edycji treści bez znajomości HTML
CMS to system do zarządzania TREŚCIĄ, a nie edytor grafiki wektorowej czy serwer poczty. Nie wymaga też programowania w zaawansowanych frameworkach - przeciwnie, jego sens to praca osób bez wiedzy technicznej. CMS cechuje możliwość edycji treści bez znajomości HTML.

Pytanie 19

Gdy zmienna $x przechowuje dowolną dodatnią liczbę naturalną, poniższy kod źródłowy PHP ma na celu wyświetlenie:

$licznik = 0;
while ($licznik != $x) 
{
    echo $licznik;
    $licznik++;
}
A. kolejne liczby od x do 0
B. przypadkowe liczby z zakresu (0, x)
C. kolejne liczby od 0 do x-1
D. liczby wprowadzane z klawiatury, aż do momentu wprowadzenia wartości x
Analizując niepoprawne odpowiedzi, można zauważyć kilka błędnych założeń. Pierwsze z nich zakłada, że kod ma za zadanie wyświetlać liczby wczytywane z klawiatury, aż wczytana zostanie wartość x. Nie jest to poprawne, ponieważ nie ma tu żadnej interakcji z użytkownikiem - wszystko odbywa się automatycznie na podstawie zadeklarowanej wartości x. Druga błędna odpowiedź sugeruje, że liczby są wyświetlane od x do 0, co jest nieprawidłowe, ponieważ pętla zaczyna od 0 i kończy na x-1. Trzecia niepoprawna odpowiedź sugeruje, że kod generuje losowe liczby z przedziału (0, x). Nie jest to prawda, ponieważ nie ma tu żadnego mechanizmu generowania liczb losowych. To błędne przypuszczenie wynika prawdopodobnie z niewłaściwego zrozumienia mechanizmu pętli i operacji na zmiennych. Wszystkie te błędne odpowiedzi pokazują, jak ważne jest prawidłowe rozumienie podstawowych konstrukcji języka programowania i mechanizmów sterowania przepływem danych.

Pytanie 20

Którego zdarzenia należy użyć, aby funkcja JavaScript uruchamiała się za każdym razem, gdy użytkownik wpisze znak w polu edycji?

A.
onkeydown
B.
onclick
C.
onmouseout
D.
onload
Zdarzenia klawiatury reagują na wpisywanie tekstu. onkeydown zachodzi w momencie naciśnięcia klawisza, więc funkcja uruchomi się przy każdym wprowadzonym znaku - przydatne np. do walidacji „na bieżąco” czy podpowiedzi w wyszukiwarce. Pokrewne są onkeyup (zwolnienie klawisza) i oninput (zmiana zawartości pola, polecane do śledzenia tekstu). Przykład: <input onkeydown="sprawdz()">. Dlatego do reakcji na wpisanie znaku służy onkeydown.

Pytanie 21

Tworząc tabelę produkty, dla pola „cena” (kwota z groszami) najlepszy typ danych to:

A.
ENUM
B.
TINYTEXT
C.
DECIMAL(10, 2)
D.
INTEGER(11)
Do przechowywania kwot najlepiej nadaje się typ DECIMAL (stałoprzecinkowy), bo zapisuje liczby z dokładną, ustaloną liczbą miejsc po przecinku - nie powstają błędy zaokrągleń typowe dla FLOAT/DOUBLE. Zapis DECIMAL(10, 2) oznacza do 10 cyfr łącznie, z czego 2 po przecinku, np. 12345678.99 - idealne dla ceny z groszami. Dlatego dla pola „cena” właściwy jest DECIMAL(10, 2).

Pytanie 22

Wskaż kod równoważny do przedstawionego kodu zapisanego językiem PHP.

$suma = 0;
for ($x = 10; $x <= 20; $x++) {
    $suma += $x;
}
Kod 1.
$suma = 0;
while ($x <= 20) {
    $suma += $x;
    $x++;
}
Kod 2.
$suma = 0;
$x = 10;
while ($x <= 20) {
    $suma += $x;
    $x++;
}
Kod 3.
$suma = 0;
$x = 1;
while ($x <= 10) {
    $suma += $x;
    $x++;
}
Kod 4.
$suma = 0;
$x = 10;
while ($x <= 20) {
    $suma = $x;
    $x++;
}
A. Kod 2.
B. Kod 3.
C. Kod 4.
D. Kod 1.
Wybrana przez Ciebie odpowiedź nie jest prawidłowa. Zostały tutaj przedstawione kody, które nie są równoważne do kodu PHP. Na przykład, może pojawić się kod, który używa innej pętli, ale nie inicjalizuje wartości $x na 10 lub nie inkrementuje jej aż do osiągnięcia wartości 20. Inny kod może nawet nie używać pętli, co jest fundamentalnym błędem, ponieważ pętle są niezbędne do wykonania określonej liczby operacji bez konieczności pisania dużej ilości kodu. Ważne jest, aby zwrócić uwagę na detale takie jak warunki pętli, sposoby inkrementacji, a także na to, czy kod faktycznie używa pętli. Pamiętaj, że wybór odpowiedniego rodzaju pętli jest kluczowy w zależności od problemu, który próbujesz rozwiązać. Pętle for są zazwyczaj używane, gdy z góry wiemy ile razy pętla ma być wykonana, a pętle while są używane, gdy nie wiemy ile razy pętla ma być wykonana, ale znamy warunek jej zakończenia. To jest podstawowa wiedza, którą każdy programista powinien posiadać, więc jeśli masz z tym problemy, warto poświęcić więcej czasu na zrozumienie pętli.

Pytanie 23

Którą jednostką wyraża się rozdzielczość obrazu na ekranie monitora (liczba pikseli na cal)?

A. dpi
B. ppi
C. spi
D. lpi
Pozostałe jednostki dotyczą innych dziedzin. dpi (dots per inch) opisuje rozdzielczość DRUKU (punkty drukarki). lpi (lines per inch) to gęstość rastra w poligrafii. spi (samples per inch) odnosi się do skanowania. Piksele na cal na ekranie to ppi.

Pytanie 24

Obraz o rozdzielczości 72 PPI oznacza, że ma 72 piksele na:

A. cal
B. milimetr
C. megabajt
D. centymetr
Skrót PPI to „pixels per inch”, czyli piksele na CAL - więc 72 PPI oznacza 72 piksele przypadające na jeden cal długości obrazu. To miara gęstości obrazu rastrowego. Zapamiętaj: „inch” = cal, więc PPI zawsze odnosi się do cala, nie do centymetra czy milimetra.

Pytanie 25

Jaką wartość zwróci w PHP funkcja empty($a), gdy zmienna $a ma wartość liczbową 0?

A.
NULL
B.
FALSE
C.
TRUE
D.
0
Pozostałe odpowiedzi błędnie określają wynik. empty() zawsze zwraca wartość logiczną (prawda/fałsz), więc nie odda samej liczby 0 ani NULL. FALSE byłoby poprawne tylko, gdyby zmienna NIE była pusta - tymczasem zero PHP zalicza do wartości pustych, więc funkcja zwraca TRUE. Dla wartości liczbowej 0 wynikiem empty($a) jest TRUE, dlatego ta odpowiedź jest poprawna.

Pytanie 26

Przedstawiony blok reprezentuje czynność

Ilustracja do pytania
A. zastosowania gotowej procedury lub funkcji.
B. wczytania danych.
C. podjęcia decyzji.
D. wyświetlenia danych.
Przedstawiony na rysunku blok w kształcie rombu nie służy ani do wczytywania danych, ani do ich wyświetlania, ani też do reprezentowania gotowej procedury lub funkcji. W klasycznej notacji schematów blokowych, stosowanej w podręcznikach, dokumentacji technicznej i w większości narzędzi CASE, romb jest jednoznacznie zarezerwowany dla operacji decyzyjnych, czyli sprawdzania warunku logicznego i rozgałęzienia przepływu sterowania.

Wczytywanie danych z klawiatury, pliku czy formularza jest zwykle oznaczane blokiem równoległoboku. Taki blok opisuje operacje wejścia/wyjścia, czyli pobranie informacji z zewnątrz albo wypisanie jej na ekran, do pliku, do logów. Z mojego doświadczenia częsty błąd polega na tym, że ktoś widzi „coś się dzieje z danymi” i od razu kojarzy to z wejściem/wyjściem, a pomija aspekt logiki sterującej. Jednak w symbolice schematów blokowych kształt ma znaczenie ważniejsze niż skojarzenie słowne.

Podobnie jest z wyświetlaniem danych. To też jest operacja wejścia/wyjścia, więc również powinna być przedstawiona jako równoległobok, a nie romb. Wyświetlanie niczego nie „decyduje”, ono jedynie prezentuje wynik, komunikat błędu, informacje dla użytkownika. Decyzja to zawsze sprawdzenie warunku: czy coś jest większe od czegoś, równe, czy jest puste, czy użytkownik ma uprawnienia, i na tej podstawie wybór dalszej ścieżki działania.

Gotowa procedura lub funkcja też ma swój własny symbol – najczęściej prostokąt (czasem z podwójną krawędzią) oznaczający blok wykonawczy. Taki blok mówi: „tu wykonaj zdefiniowaną gdzieś indziej czynność”. Nie ma on jednak wbudowanego mechanizmu wyboru ścieżki. To tylko kolejny krok w sekwencji instrukcji. Typowym błędem myślowym jest utożsamianie „czegoś bardziej złożonego” z decyzją, ale z punktu widzenia schematu liczy się to, czy pojawia się warunek i rozgałęzienie.

Romb na diagramie zawsze oznacza, że w tym miejscu algorytm zadaje pytanie typu TAK/NIE i w zależności od odpowiedzi kieruje przepływ dalej różnymi drogami. To jest sedno sterowania warunkowego, które później w kodzie przekłada się na instrukcje if, else, switch i podobne konstrukcje logiczne. Dlatego odpowiedzi sugerujące wczytywanie, wyświetlanie albo zastosowanie procedury nie pasują do tego symbolu – opisują inne klasy operacji w algorytmie, które mają inne, ściśle określone kształty na schemacie blokowym.

Pytanie 27

Która z metod wyświetlenia tekstu nie jest określona w języku JavaScript?

A. Metoda document.write()
B. Właściwość innerHTML
C. Funkcja MessageBox()
D. Funkcja window.alert()
Funkcja MessageBox() nie jest zdefiniowana w języku JavaScript, co czyni tę odpowiedź poprawną. W JavaScript do wyświetlania interaktywnych okien dialogowych służy metoda window.alert(), która wyświetla prosty komunikat. Metoda ta przyjmuje jeden argument, który jest tekstem wyświetlanym w oknie alertu. Przykład użycia: window.alert('To jest komunikat');. Kolejną metodą jest document.write(), która umożliwia dynamiczne dodawanie treści do dokumentu HTML. Przykład: document.write('<h1>Witaj w JavaScript!</h1>');. W praktyce, podczas tworzenia interaktywnych aplikacji webowych, wybór metody prezentacji danych powinien być przemyślany, biorąc pod uwagę doświadczenia użytkowników. Warto również stosować standardy dotyczące dostępności, aby zapewnić, że wszyscy użytkownicy, niezależnie od ich umiejętności technicznych, mogą z łatwością korzystać z aplikacji.

Pytanie 28

W aplikacji webowej komunikat powinien być wyświetlany jedynie wtedy, gdy użytkownik odwiedza stronę po raz pierwszy. Jakiej funkcji PHP należy użyć w tym przypadku?

A. setcookie
B. mysqli_change_user
C. session_destroy
D. define
Funkcja setcookie w PHP jest wykorzystywana do ustawiania ciasteczek w przeglądarkach użytkowników. Ciasteczka te mogą przechowywać różne informacje, co umożliwia personalizację doświadczeń użytkownika na stronie internetowej. W kontekście opisanego zagadnienia, można zastosować setcookie do zdefiniowania ciasteczka, które będzie informować, że dany użytkownik odwiedza stronę po raz pierwszy. Przykładowe zastosowanie może wyglądać tak: jeśli na stronie nie ma określonego ciasteczka (np. 'first_visit'), można wyświetlić komunikat powitalny i wówczas ustawić ciasteczko z odpowiednim czasem ważności, co pozwala na ukrycie tego komunikatu przy kolejnych wizytach. Użycie tej funkcji jest zgodne z najlepszymi praktykami w zakresie zarządzania sesjami użytkowników, ponieważ pozwala na zachowanie stanu użytkownika w sposób prosty i efektywny. Dodatkowo, dzięki ciasteczkom, można analizować zachowanie użytkowników, co pozwala na dalsze optymalizowanie doświadczeń na stronie.

Pytanie 29

W SQL polecenie ALTER TABLE służy do

A. usuwania tabeli z bazy danych
B. zmiany danych w rekordach tabeli
C. zmiany kolumn w tabeli
D. dodawania tabeli do bazy danych
Polecenie ALTER TABLE w języku SQL jest kluczowym narzędziem do modyfikacji struktury tabeli w bazie danych. Umożliwia dodawanie, modyfikowanie oraz usuwanie kolumn, co jest niezbędne w przypadku zmieniających się wymagań biznesowych lub technicznych. Na przykład, jeśli firma decyduje się na dodanie nowego atrybutu do produktu, można to zrobić za pomocą ALTER TABLE, co zapewni elastyczność w zarządzaniu danymi. Przykładowe polecenie może wyglądać tak: ALTER TABLE produkty ADD COLUMN kolor VARCHAR(30); Warto podkreślić, że zmiany wprowadzone za pomocą ALTER TABLE są trwałe i mogą wpływać na już istniejące dane, dlatego przed ich zastosowaniem zaleca się wykonanie kopii zapasowej bazy danych. Praktyki związane z właściwym używaniem ALTER TABLE powinny obejmować także testowanie w środowisku developerskim przed wdrożeniem zmian w produkcji, aby uniknąć nieprzewidzianych problemów.

Pytanie 30

Czym jest relacja w bazach danych?

A. połączeniem dwóch pól w obrębie jednej tabeli
B. kluczem głównym w relacji tabel
C. algebraicznym połączeniem tabel
D. logicznym połączeniem tabel
Relacja w bazach danych to logiczne połączenie tabel, które umożliwia organizację i zarządzanie danymi w sposób umożliwiający ich efektywne przetwarzanie. W kontekście baz danych relacyjnych, relacje tworzone są na podstawie kluczy, które pozwalają na łączenie danych z różnych tabel. Na przykład, w bazie danych e-commerce, tabela 'Klienci' może być połączona z tabelą 'Zamówienia' przez klucz klienta. Dzięki temu, gdy zapytamy o zamówienia konkretnego klienta, silnik bazy danych może wykonać zapytanie łączące te obie tabele, dostarczając spójny zestaw danych. Taki model relacyjny oparty jest na teorii zbiorów i algebrze relacyjnej, co pozwala na skomplikowane operacje, takie jak łączenie, filtrowanie i agregowanie danych. W praktyce, relacje w bazach danych są kluczowe dla zapewnienia integralności danych, eliminacji redundancji oraz zwiększenia wydajności operacji na danych. Standardy takie jak SQL oparte są na tych koncepcjach, co czyni je fundamentalnymi w programowaniu baz danych.

Pytanie 31

W podanym przykładzie pseudoklasa hover spowoduje, że styl pogrubiony zostanie przypisany

a:hover { font-weight: bold; }
A. wszystkim odnośnikom, które były wcześniej odwiedzane
B. wszystkim odnośnikom, które nie były odwiedzane
C. odnośnikowi, gdy kursor myszy na niego najedzie
D. każdemu odnośnikowi bez względu na jego bieżący stan
Pseudoklasa hover jest specyficzną cechą CSS, która pozwala na zmianę stylu elementu w momencie, gdy użytkownik najeżdża na niego kursorem myszy. Odpowiedzi sugerujące, że styl pogrubiony zostanie przypisany wszystkim odnośnikom nieodwiedzonym lub odwiedzonym zawierają błędne założenie dotyczące działania pseudoklas. Pseudoklasy nieodwiedzony lub odwiedzony (a:link i a:visited) odnoszą się do stanu odnośnika w kontekście jego kliknięcia przez użytkownika, a nie interakcji za pomocą kursora. Twierdzenie, że styl pogrubiony będzie zastosowany do wszystkich odnośników niezależnie od stanu ignoruje fakt, że pseudoklasa hover jest specyficzna dla dynamicznej interakcji z elementem, nie zaś dla jego statycznego stanu. Typowym błędem w rozumieniu pseudoklas jest mylenie ich z selektorami klasy czy identyfikatorów, które odnoszą się do statycznych atrybutów elementów. Właściwe użycie pseudoklas wymaga zrozumienia ich dynamiki i tego, jak wpływają na wrażenie użytkownika podczas interakcji z elementami strony internetowej. Aby uniknąć takich błędów, warto korzystać z narzędzi do podglądu i testowania stylów CSS, które pozwalają na bieżąco obserwować zmiany stylizacji na stronie w odpowiedzi na interakcję użytkownika. Opanowanie pseudoklas jak hover jest kluczowe dla tworzenia nowoczesnych i interaktywnych stron internetowych, które reagują na działania użytkowników w sposób przewidywalny i efektywny.

Pytanie 32

Który standard wideo cechuje się rozdzielczością 1920 × 1080 pikseli?

A. HD Ready
B. 4K
C. Full HD
D. Ultra HD
Pozostałe standardy mają inne rozdzielczości. 4K oraz Ultra HD oznaczają około 3840 × 2160 pikseli - czterokrotnie więcej niż Full HD, co daje wyraźnie ostrzejszy obraz. HD Ready to niższy standard, zwykle 1280 × 720 pikseli, stosowany w prostszych urządzeniach. Rozdzielczość 1920 × 1080 odpowiada standardowi Full HD, dlatego ta odpowiedź jest poprawna.

Pytanie 33

Arkusze stylów w formacie kaskadowym są tworzone w celu

A. ułatwienia formatowania strony
B. połączenia struktury dokumentu strony z odpowiednią formą jej wizualizacji
C. nadpisywania wartości znaczników, które już zostały ustawione na stronie
D. blokowania wszelkich zmian w wartościach znaczników już przypisanych w pliku CSS
Wybór błędnych odpowiedzi może wynikać z nieporozumienia dotyczącego funkcji kaskadowych arkuszy stylów i ich zastosowania w procesie tworzenia stron internetowych. Odpowiedzi sugerujące blokowanie jakichkolwiek zmian w wartościach znaczników w pliku CSS są mylące, ponieważ CSS zaprojektowane jest właśnie po to, aby umożliwiać modyfikacje stylów. Arkusze stylów nie blokują zmian, tylko lepiej organizują i strukturalizują kod, co sprzyja łatwiejszemu wprowadzaniu przyszłych poprawek. Z kolei połączenie struktury dokumentu strony z właściwą formą prezentacji jest bardziej związane z HTML, który odpowiada za strukturę treści strony. CSS natomiast odpowiada głównie za stylizację i nie ma na celu bezpośredniego łączenia tych aspektów, lecz oddzielenie ich. Warto również zauważyć, że nadpisywanie wartości znaczników na stronie to szczególna funkcjonalność CSS, ale nie jest to jej główny cel. Główna idea CSS polega na uproszczeniu procesu formatowania, co podkreśla znaczenie kaskadowości, gdzie reguły mogą być dziedziczone i nadpisywane w sposób przemyślany i kontrolowany. Typowymi błędami myślowymi w tym kontekście są zamiana celów CSS z HTML oraz brak zrozumienia mechanizmów kaskadowości, co prowadzi do nieprawidłowych wniosków na temat roli, jaką CSS odgrywa w projektowaniu stron internetowych.

Pytanie 34

Polecenie DBCC CHECKDB 'sklepAGD', Repair_fast) w systemie MS SQL Server

A. zweryfikuje spójność danej tabeli oraz naprawi uszkodzone rekordy
B. potwierdzi spójność bazy danych i utworzy kopię zapasową
C. zweryfikuje spójność danej tabeli
D. sprawdzi spójność bazy danych i naprawi uszkodzone indeksy
Odpowiedzi sugerujące, że polecenie DBCC CHECKDB sprawdza spójność jedynie określonej tabeli są nieprecyzyjne, ponieważ w rzeczywistości działa na całej bazie danych. Choć istnieje możliwość sprawdzania poszczególnych tabel za pomocą innych poleceń, DBCC CHECKDB jest narzędziem, które analizuje całą strukturę bazy danych wraz z jej indeksami i danymi. Twierdzenie, że to polecenie jedynie sprawdza spójność bazy danych oraz wykonuje kopię bezpieczeństwa, jest mylące. DBCC CHECKDB nie tworzy kopii zapasowych, a jego głównym celem jest identyfikacja i raportowanie błędów, co jest kluczowe w kontekście utrzymania zdrowia bazy danych. Użytkownicy mogą zatem błędnie zakładać, że polecenie zapewnia automatyczną naprawę danych, co w rzeczywistości wymaga zastosowania dodatkowych opcji naprawy, takich jak Repair_fast lub Repair_rebuild. Ponadto, niektóre odpowiedzi wskazują na naprawę uszkodzonych rekordów, co nie jest precyzyjne, ponieważ DBCC CHECKDB zajmuje się głównie naprawą indeksów oraz strukturalnych problemów w bazie danych, a nie pojedynczych rekordów. Rzetelne zrozumienie tych różnic jest kluczowe dla skutecznego zarządzania bazą danych i unikania nieporozumień dotyczących działania narzędzi diagnostycznych w MS SQL Server.

Pytanie 35

Na ilustracji przedstawiającej tabelę muzyka, zrealizowano poniższe zapytanie SQL. Jaki rezultat zwróci ta kwerenda?

SELECT wykonawca FROM`muzyka`
WHERE wykonawca LIKE 'C%w';
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzesław Niemen2005Przyjdź W Taka Noc itp.
2IkonaStan Borys2014
3AerolitCzesław Niemen2017Winylowa reedycja płyty "Aerolit"
4JourneyMikołaj Czechowski2013
A. pusty wynik
B. Czesław
C. Czesław, Czechowski
D. Czesław, Niemen
W przypadku zapytania SQL które wykorzystuje operator LIKE z wzorcem C%W często dochodzi do nieporozumienia dotyczącego działania tego operatora. LIKE jest używany do porównywania wzorców tekstowych a procent % służy do zastępowania dowolnej liczby znaków. Można by błędnie założyć że skoro zapytanie ma zwrócić wykonawców których imiona zaczynają się na C i kończą na W to którąś z dostępnych opcji w tabeli spełnia ten warunek. Jednakże w tej konkretnej tabeli nie ma wykonawcy który by spełniał te kryteria. Czesław Niemen kończy się na M a nie na W natomiast Mikołaj Czechowski rozpoczyna się od litery M zamiast C. Przykładem typowego błędu jest nieprawidłowa interpretacja tego jak działają wzorce w operatorze LIKE lub przeoczenie że wzorzec musi być dokładnie zgodny z wymaganiami. Ważnym aspektem jest też zrozumienie że w praktyce biznesowej dokładność danych jest kluczowa a niepoprawne zrozumienie wzorców prowadzi do niepoprawnych wyników zapytań. Dlatego zawsze warto przetestować zapytanie na mniejszym zbiorze danych aby upewnić się że zwraca oczekiwane wyniki co jest dobrą praktyką w zarządzaniu bazami danych.

Pytanie 36

Jaką wartość zwróci ten algorytm?

Z = 0
N = 1
dopóki Z < 3:
    N = N * 2 + 1
    Z = Z + 1
wypisz N
A. 15
B. 3
C. 7
D. 5
Analizując pozostałe odpowiedzi, można zauważyć, że wszystkie one są wynikiem błędnego rozumienia działania algorytmu. Odpowiedź 3 wynika z mylnego założenia, że N po pierwszej iteracji to ostateczna wartość. Przy pierwszej iteracji N wynosi 3, ale w kolejnych iteracjach ulega dalszym modyfikacjom. Odpowiedź 5 może pochodzić z błędnego dodania 1 do wartości N po pierwszej iteracji, co prowadzi do niepełnego zrozumienia pętli. Wartość 7 jest wynikiem niepoprawnego obliczenia po drugiej iteracji, gdy Z wynosi 2, jednak nie uwzględnia trzeciej iteracji. Wszystkie te odpowiedzi ilustrują typowe błędy w logice algorytmicznej, gdzie użytkownicy nie śledzą zmian wartości zmiennych w kolejnych krokach pętli. Kluczowe jest zrozumienie, że każda iteracja pętli wpływa na wynik końcowy poprzez modyfikację zmiennych, co jest niezbędne w programowaniu. Często popełnianym błędem jest zatrzymywanie się na etapie, na którym zmienna wydaje się mieć odpowiednią wartość, co prowadzi do nieuwzględnienia kolejnych obliczeń. Efektywne programowanie wymaga pełnego zrozumienia logiki pętli, a także umiejętności przewidywania dalszych zmian w zmiennych.

Pytanie 37

Strona internetowa została stworzona w języku XHTML. Który z poniższych kodów reprezentuje realizację zaprezentowanego fragmentu strony, jeśli nie zdefiniowano żadnych stylów CSS?

Ilustracja do pytania
A. C
B. B
C. A
D. D
Odpowiedź B jest prawidłowa, ponieważ wykorzystuje znaczniki zgodne ze standardem XHTML do prawidłowego formatowania tekstu. W XHTML zaleca się używanie semantycznych znaczników takich jak <h1> dla nagłówków, co poprawia strukturę dokumentu i ułatwia jego interpretację przez przeglądarki oraz inne urządzenia czytające. Dodatkowo użycie znacznika <p> do oddzielenia akapitów jest zgodne z zaleceniami dotyczącymi dostępności i poprawności kodu. To również sprzyja lepszemu SEO, ponieważ wyszukiwarki lepiej rozumieją znaczenie semantycznych znaczników. Warto również wspomnieć o dobrych praktykach, takich jak zamykanie znaczników oraz stosowanie małych liter w nazwach znaczników, co zwiększa kompatybilność z przeglądarkami oraz zgodność ze standardami W3C. XHTML, jako język oparty na XML, wymaga bardziej restrykcyjnej składni, co jest spełnione w kodzie przedstawionym w odpowiedzi B. Dzięki temu zapewnia się lepszą walidację i niezawodność działania strony internetowej.

Pytanie 38

W dokumencie HTML umieszczono tekst sformatowany określonym stylem. Aby dodać do tego tekstu kilka słów sformatowanych innym stylem, należy użyć znacznika

A. <hr>
B. <section>
C. <table>
D. <span>
Znaczniki <hr>, <table> oraz <section> nie są odpowiednie do wtrącania fragmentów tekstu w innym stylu. <hr> to znacznik, który wprowadza poziomą linię, służący do wizualnego oddzielania elementów na stronie, a nie do formatowania tekstu. Stosowanie go w miejscu, gdzie chcemy zmienić styl fragmentu tekstu, byłoby nieefektywne i zmniejszałoby czytelność. Z kolei <table> jest używane do tworzenia tabel, co oznacza, że jego zastosowanie ogranicza się do strukturyzowania danych w formie wierszy i kolumn. Tego znacznika nie można użyć do lokalnego formatowania tekstu, ponieważ wprowadza on zupełnie inny kontekst i zmienia sposób, w jaki przeglądarka interpretuje i wyświetla zawartość. Ostatecznie <section> jest stosowane do grupowania powiązanych treści w sekcję dokumentu, co jest przydatne w kontekście organizacji treści, ale nie ma zastosowania w przypadku, gdy chcemy zmienić styl pojedynczych wyrazów lub fraz. Każdy z tych znaczników ma swoje specyficzne zastosowanie w HTML, które nie odpowiada potrzebie lokalnego formatowania tekstu, co czyni je niewłaściwymi wyborami w tym kontekście.

Pytanie 39

W CSS, aby ustawić różne stylizacje dla pierwszej litery w akapicie, należy wykorzystać selektor

A. atrybutu p [first-letter]
B. dziecka p + first-letter
C. pseudoelementu p::first-letter
D. klasy p.first-letter
W języku CSS do formatowania pierwszej litery akapitu używamy pseudoelementu '::first-letter'. Jest to specjalny selektor, który pozwala na zastosowanie stylów tylko do pierwszego znaku w danym elemencie, na przykład w akapicie <p>. Pseudoelement ten może być używany do nadawania unikalnych właściwości typograficznych, takich jak rozmiar czcionki, kolor, font-weight czy marginesy, co może znacząco wzbogacić stylizację tekstu. Przykładowo, używając stylu 'p::first-letter { font-size: 2em; color: red; }', pierwsza litera każdego akapitu stanie się większa i czerwona. To podejście jest zgodne z dobrymi praktykami w CSS, ponieważ umożliwia selektywne stylizowanie elementów bez wpływu na resztę treści. Aby uzyskać większą kontrolę nad układem i estetyką stron internetowych, warto zaznajomić się z innymi pseudoelementami, takimi jak '::first-line', które działają analogicznie. Prawidłowe używanie pseudoelementów jest kluczowe dla tworzenia bardziej zaawansowanych i atrakcyjnych wizualnie projektów.

Pytanie 40

W CSS zdefiniowano regułę

input:focus { background-color: LightGreen; }
Kiedy pole edycyjne będzie miało jasnozielone tło?
A. w każdej sytuacji
B. gdy zostanie najechane kursorem (bez kliknięcia)
C. jeśli to pierwsze wystąpienie tego elementu w dokumencie
D. po kliknięciu w nie, gdy jest aktywne do wpisywania tekstu
:focus nie odnosi się do pierwszego wystąpienia elementu ani nie działa „w każdej sytuacji”. Reakcja na samo najechanie kursorem (bez kliknięcia) to :hover, a nie :focus. Jasnozielone tło pojawi się, gdy pole stanie się aktywne do wpisywania tekstu.