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 grudnia 2025 09:58
  • Data zakończenia: 8 grudnia 2025 10:21

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

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

W którym z bloków powinien znaleźć się warunek pętli?

Ilustracja do pytania
A. A.
B. D.
C. C.
D. B.
Wybór innego bloku niż C jako miejsca na umieszczenie warunku pętli wprowadza błędne zrozumienie struktury diagramów przepływu. Blok A, reprezentujący proces lub działanie, jest używany do przedstawienia operacji lub kroków bez podejmowania decyzji. Umieszczenie w nim warunku pętli byłoby mylące, ponieważ nie oddaje istoty kontrolowania przepływu w programie. Blok B, w kształcie elipsy, jest powszechnie używany jako punkt startowy lub końcowy procesu, a nie do określania logiki decyzji. Użycie go do pętli nie jest zgodne z konwencjami diagramów przepływu i może prowadzić do błędnej interpretacji algorytmu. Blok D, reprezentujący magazyn danych, skupia się na przechowywaniu i zarządzaniu informacjami, a nie na logice sterowania przepływem. Typowe błędy, które mogą prowadzić do wyboru niewłaściwego bloku, to mylenie funkcji symboli w diagramach przepływu oraz niezrozumienie zasad ich użycia zgodnie z praktykami przemysłowymi. Zrozumienie, dlaczego każdy blok ma swoją specyficzną rolę, jest kluczowe dla tworzenia efektywnych i dokładnych modeli programistycznych, co z kolei ułatwia komunikację między programistami oraz innymi interesariuszami w projekcie.

Pytanie 2

Debugger to aplikacja przeznaczona do

A. identyfikacji błędów w kodzie aplikacji
B. optymalizacji pamięci używanej przez program
C. analizowania właściwości oprogramowania
D. weryfikacji wydajności programu
Wybór odpowiedzi dotyczących badania właściwości programu oraz sprawdzania szybkości programu wskazuje na pewne nieporozumienia dotyczące roli, jaką pełni debugger. Badanie właściwości programu może obejmować analizę jego wydajności, bezpieczeństwa czy zgodności z wymaganiami, co nie jest bezpośrednio związane z identyfikowaniem błędów w kodzie. Takie podejście sugeruje, że debugger pełni rolę narzędzia do monitorowania różnych aspektów działania aplikacji, a nie skupia się na problemach związanych z kodowaniem. Z kolei sprawdzanie szybkości programu to aspekt, który bardziej odnosi się do profilera – narzędzia służącego do analizy wydajności aplikacji, a nie do lokalizacji błędów w kodzie. Ostatnia koncepcja, związana z optymalizowaniem pamięci używanej przez aplikację, również nie ma bezpośredniego związku z główną funkcją debugggera. Optymalizacja pamięci to proces, który zazwyczaj wykonuje się po zakończeniu fazy debugowania, kiedy to programista dąży do poprawy efektywności działania aplikacji. Niewłaściwe zrozumienie, czym jest debugger i jakie ma zastosowanie, może prowadzić do nieefektywnego rozwiązywania problemów z kodem oraz wydłużenia czasu potrzebnego na dostarczenie gotowego oprogramowania. Warto pamiętać, że skuteczne debugowanie jest kluczowym etapem w cyklu życia oprogramowania i powinno być traktowane z należytą powagą oraz jako integralna część procesu developmentu.

Pytanie 3

W PHP operatorem odpowiedzialnym za sumę logiczną jest

A. &&
B. ||
C. +
D. !
Suma logiczna oznaczona jako ! to operator negacji, który zmienia wartość logiczną na przeciwną. Na przykład, jeśli warunek jest prawdziwy, użycie ! zwróci wartość fałszywą. Operator + w kontekście PHP nie jest przypisany do operacji logicznych, lecz do dodawania wartości liczbowych, co może prowadzić do nieporozumień. Operator && oznacza koniunkcję, co oznacza, że obie strony muszą być prawdziwe, aby wynik był prawdziwy. Często mylone jest znaczenie operatorów logicznych, co prowadzi do błędnych wniosków przy tworzeniu warunków. Kluczowe jest zrozumienie, że nie każdy operator logiczny działa w taki sam sposób - operator OR (||) zwraca prawdę, jeśli przynajmniej jedna z metod jest prawdziwa, podczas gdy operator AND (&&) wymaga, aby obydwie były prawdziwe. W praktyce, wykorzystanie złych operatorów w warunkach sterujących może prowadzić do błędnych decyzji w kodzie, co wpływa na stabilność aplikacji. Dlatego znajomość zastosowania operatorów logicznych w PHP jest niezbędna dla każdego programisty, aby unikać problemów w logice biznesowej aplikacji.

Pytanie 4

Aby uczynić stronę internetową bardziej dostępną dla osób niewidomych, należy przypisać obrazom wyświetlanym za pomocą znacznika img odpowiedni atrybut

A. src
B. alt
C. text
D. style
Wybór niewłaściwych atrybutów do oznaczania obrazów może prowadzić do dużych problemów w dostępności stron internetowych. Atrybut src, który jest używany do określenia źródła pliku graficznego, nie dostarcza żadnych informacji o treści obrazu, co czyni go nieodpowiednim do zastosowania w kontekście dostępności. Atrybut ten jest zasadniczo informacyjny dla przeglądarki, ale nie dla użytkowników z dysfunkcją wzroku. Z kolei atrybut text, który w ogóle nie istnieje w kontekście znaczników img, wskazuje na brak zrozumienia standardów HTML, co może prowadzić do poważnych błędów w kodzie. Atrybut style, służący do definiowania stylów CSS dla elementu, również nie ma zastosowania w kontekście dostępności treści graficznych. Właściwe zrozumienie roli atrybutów w HTML jest kluczowe dla tworzenia stron internetowych, które są zarówno estetyczne, jak i funkcjonalne dla wszystkich użytkowników. Ignorowanie odpowiednich praktyk i standardów w zakresie dostępności, jak zasady WCAG, prowadzi do wykluczenia wielu użytkowników, co jest nie tylko nieetyczne, ale także sprzeczne z coraz bardziej wprowadzanymi regulacjami prawnymi dotyczącymi dostępności w Internecie. Dlatego kluczowe jest, aby projektanci i deweloperzy stron internetowych posiadali solidną wiedzę na temat dostępności oraz stosowali się do najlepszych praktyk w tym zakresie.

Pytanie 5

Deklaracja CSS margin: auto; wskazuje, że marginesy są

A. obliczane przez przeglądarkę w taki sposób, aby element był wyśrodkowany poziomo
B. przechodzące z elementu nadrzędnego dla danego elementu
C. stałe dla danej przeglądarki, niezależnie od jej okna
D. zgodne z domyślnymi wartościami marginesów elementu, do którego zostały przypisane
Zastosowanie zapisu CSS 'margin: auto;' ma na celu automatyczne wycentrowanie elementu w poziomie w obrębie jego kontenera. Gdy zastosujemy tę właściwość, przeglądarka oblicza marginesy po lewej i prawej stronie elementu, aby zapewnić równą przestrzeń, co skutkuje wyśrodkowaniem elementu. Jest to szczególnie przydatne w przypadku kontenerów o ustalonej szerokości, takich jak divy czy bloki tekstowe. Na przykład, jeśli mamy element o szerokości 50% kontenera, to przy zastosowaniu 'margin: auto;' marginesy po obu stronach będą miały równą wartość, co skutkuje centrowanym wyglądem. Warto dodać, że 'margin: auto;' działa w kontekście blokowym, co oznacza, że najlepiej sprawdza się w przypadku elementów wyświetlanych jako bloki. Zgodnie z zaleceniami standardów CSS, jest to jedna z najprostszych i najskuteczniejszych metod na osiągnięcie efektu wyśrodkowania, który jest zalecany w wielu projektach webowych.

Pytanie 6

Jakiego znacznika w języku HTML nie można użyć do wstawienia grafiki dynamicznej na stronę?

A. style="margin-bottom: 0cm;"><img>
B. style="margin-bottom: 0cm;"><embed>
C. <object>
D. <strike>
Wybór odpowiedzi 1, 3 lub 4 może wydawać się zrozumiały, jednak każdy z tych znaczników ma swoje specyficzne zastosowanie i może być użyty do integrowania grafik dynamicznych. Element <img> jest jednym z najbardziej powszechnie używanych znaczników do wyświetlania obrazów, zarówno statycznych, jak i dynamicznych, takich jak animacje w formacie GIF. Odpowiedź 3, <embed>, umożliwia osadzenie multimediów, takich jak wideo czy animacje Flash, a odpowiedź 4, <object>, jest elastycznym elementem, który może wyświetlać różne typy mediów, w tym grafiki i aplikacje interaktywne. Wybierając te odpowiedzi, można dojść do błędnego wniosku, że są one nieodpowiednie, gdyż wszystkie one wspierają umieszczanie mediów na stronie. Typowym błędem myślowym jest mylenie stylizacji tekstu z funkcjonalnością mediów, co prowadzi do niewłaściwego korzystania z semantyki HTML. Zrozumienie różnic między tymi znacznikami i ich zastosowaniem jest kluczowe dla efektywnego tworzenia stron internetowych oraz ich dostępności dla użytkowników.

Pytanie 7

Który z poniższych zapisów w HTML określa kodowanie znaków stosowane w dokumencie?

A. <charset="UTF-8">
B. <meta charset="UTF-8">
C. <encoding="UTF-8">
D. <meta encoding="UTF-8">
Zapis <meta charset="UTF-8"> jest prawidłową deklaracją kodowania znaków w dokumencie HTML. Element <meta> jest używany w sekcji <head> dokumentu i pozwala na zdefiniowanie różnych metadanych, w tym kodowania znaków. Użycie "UTF-8" jako wartości dla atrybutu charset oznacza, że dokument będzie używał kodowania Unicode, które jest standardem preferowanym w sieci. Dzięki temu, dokumenty mogą poprawnie wyświetlać znaki z różnych języków, co jest kluczowe w zglobalizowanym świecie internetu. Przykładem zastosowania tego zapisu może być strona internetowa, która zawiera teksty w wielu językach, co wymaga wsparcia dla różnorodnych znaków diakrytycznych i symboli. Warto również podkreślić, że zgodnie z zasadami dobrych praktyk, zawsze powinno się definiować kodowanie znaków w dokumencie HTML, aby uniknąć problemów z wyświetlaniem treści, co może negatywnie wpłynąć na doświadczenia użytkowników oraz SEO strony.

Pytanie 8

Na obrazie przedstawiono projekt układu bloków witryny internetowej. Zakładając, że bloki są realizowane za pomocą znaczników sekcji, ich formatowanie w CSS, oprócz ustawionych szerokości, powinno zawierać właściwość

BLOK 1BLOK 2
BLOK 3BLOK 4
BLOK 5
A. float: left dla wszystkich bloków.
B. clear: both dla bloku 5 oraz float: left dla pozostałych bloków.
C. clear: both dla bloku 5 oraz float: left jedynie dla 1 i 2 bloku.
D. clear: both dla wszystkich bloków.
Hmm, tutaj coś poszło nie tak. Wybrałeś opcję z `clear: both`, ale to nie do końca pasuje do tego zadania. `clear: both` w CSS służy głównie do resetowania pływania bloków, więc jak masz blok z tym ustawieniem, to następny nie będzie obok niego, tylko przesunie się na dół. A w tym przypadku nie musisz resetować pływania, bo to nie jest potrzebne. Wiem, że wybór `float: left` dla niektórych bloków może wydawać się dobrym pomysłem, ale żeby wszystko się poprawnie ułożyło, musisz zastosować `float: left` dla wszystkich bloków. I pamiętaj, żeby im ustawić szerokość, bo inaczej bloków może się nie udać ułożyć w poziomie.

Pytanie 9

Wskaż wszystkie symbole, które pozwalają na komentowanie kodu w języku PHP.

A. tylko /* */
B. /* */ oraz <!-- -->
C. <?php ?> oraz //
D. /* */ oraz // oraz #
Wybór odpowiedzi wskazującej jedynie na znaki /* */ jako mechanizmy komentowania jest niekompletny i wprowadza w błąd. Komentarze są istotnym elementem każdego skryptu, ponieważ pozwalają na dodawanie uwag, które nie wpływają na wykonanie programu, ale znacząco przyczyniają się do jego zrozumienia. Ograniczanie się jedynie do komentarzy wieloliniowych oznaczonych przez /* */ pomija inne, równie istotne metody komentowania, które są dostępne w PHP. Innym błędem jest sugerowanie, że <?php ?> oraz // są metodami komentowania. Znak <?php ?> służy do otwierania bloku kodu PHP, a nie do tworzenia komentarzy, co jest fundamentalnym nieporozumieniem. Wprowadzenie znaku <!-- --> jako sposobu na komentowanie w PHP jest również mylące, ponieważ ten zapis jest używany w HTML, a nie w PHP, co prowadzi do nieporozumień dotyczących kontekstu użycia. Użycie nieodpowiednich znaków do komentowania może prowadzić do problemów w interpretacji kodu przez interpreter PHP oraz utrudniać jego konserwację. Właściwe rozumienie mechanizmów komentowania jest kluczowe dla każdej osoby programującej w PHP, ponieważ pozwala na tworzenie bardziej czytelnych, zrozumiałych i utrzymywalnych skryptów.

Pytanie 10

Podczas przygotowywania grafiki na stronę internetową konieczne jest wycięcie jedynie określonego fragmentu. Jak nazywa się ta operacja?

A. zmiana rozmiaru.
B. kadrowanie.
C. lustrzane odbicie obrazu.
D. łączenie warstw.
Skalowanie obrazu odnosi się do zmiany jego rozmiaru, co może prowadzić do utraty jakości, jeśli obraz jest powiększany bez zachowania odpowiednich proporcji. To działanie nie koncentruje się na wyborze konkretnego fragmentu obrazu, a na ogólnym dostosowaniu jego wymiarów do określonych potrzeb. Odbicie obrazu polega na lustrzanym odwzorowaniu zdjęcia, co zmienia jego perspektywę, ale nie wpływa na kompozycję w ramach oryginalnych krawędzi. Z kolei łączenie warstw to technika używana w programach graficznych do zestawiania różnych elementów wizualnych w jedną całość. Wymaga to umiejętności pracy z warstwami, ich maskowaniem i edytowaniem, co jest zupełnie innym procesem niż kadrowanie. Błędem myślowym jest utożsamianie tych operacji z kadrowaniem, co może wynikać z niepełnego zrozumienia pojęć związanych z obróbką grafiki. Kluczowe jest, aby w procesie tworzenia grafiki internetowej zrozumieć, że każda z tych operacji ma swoją specyfikę i zastosowanie, co wpływa na końcowy efekt wizualny. Użycie odpowiednich technik w odpowiednich sytuacjach jest niezbędne do osiągnięcia profesjonalnych rezultatów.

Pytanie 11

Zamieszczone zapytanie SQL przyznaje prawo SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. do wszystkich kolumn w tabeli hurtownia
B. do wszystkich tabel w bazie hurtownia
C. dla użytkownika root na serwerze localhost
D. dla użytkownika root na serwerze sprzedawca
Polecenie GRANT SELECT ON hurtownia.* TO sprzedawca@localhost; jest często źle interpretowane co prowadzi do błędnego przypisania uprawnień. Częstym problemem jest mylne przekonanie, że przyznanie uprawnień do wszystkich pól w tabeli oznacza to samo co do wszystkich tabel. Symbol * w poleceniu odnosi się do wszystkich tabel w bazie hurtownia a nie do wszystkich pól pojedynczej tabeli. To ważne rozróżnienie wpływa na sposób przyznawania i zarządzania uprawnieniami w kontekście bezpieczeństwa i dostępu do danych. Błędna interpretacja że uprawnienie dotyczy użytkownika root jest wynikiem niezrozumienia konwencji dotyczącej składni SQL gdzie specyficzna definicja użytkownika pojawia się po słowie TO w naszym przypadku jest to sprzedawca@localhost. To wyklucza użytkownika root z opcji możliwych odbiorców tego uprawnienia. Warto zwrócić uwagę że identyfikacja użytkownika sprzedawca@localhost jednoznacznie określa użytkownika działającego z lokalnego serwera a nie z dowolnego hosta co jest istotne z punktu widzenia bezpieczeństwa systemu. Zrozumienie tych niuansów jest kluczowe dla efektywnego zarządzania bazami danych i ochrony przed nieautoryzowanym dostępem. W praktyce przyznanie uprawnień powinno być starannie rozważone i dostosowane do potrzeb zgodnie z zasadą najmniejszych uprawnień co minimalizuje ryzyko błędów i nadużyć systemowych.

Pytanie 12

Wskaż poprawne zdanie dotyczące poniższego polecenia. ```CREATE TABLE IF NOT EXISTS ADRES (ulica VARCHAR(70)) CHARACTER SET utf8); ```

A. Rekord tabeli nie może mieć wartości 3 MAJA
B. Nie można dodawać do tabeli ulic, które zawierają polskie znaki w nazwie
C. Klauzula CHARACTER SET utf8 jest wymagana
D. IF NOT EXISTS używa się opcjonalnie, żeby potwierdzić, że taka tabela nie istnieje w bazie danych
Pierwsze stwierdzenie, że rekordem tabeli nie może być 3 MAJA, jest niepoprawne, ponieważ w SQL nie ma ograniczeń co do znaków w wartościach tekstowych poza ogólnymi zasadami dotyczącymi typów danych. Jeżeli kolumna była zdefiniowana jako VARCHAR, można wprowadzać dowolne ciągi znaków, w tym daty w formacie tekstowym, o ile są one zgodne z ograniczeniami zdefiniowanymi na poziomie bazy danych. Drugie stwierdzenie, że klauzula CHARACTER SET utf8 jest obowiązkowa, również jest błędne. Ustalanie zestawu znaków jest opcjonalne; jeśli nie zostanie określony, system domyślnie użyje zestawu znaków przypisanego do bazy danych. Zestaw znaków jest istotny dla poprawnego przechowywania i wyświetlania danych tekstowych, ale jego brak nie uniemożliwia stworzenia tabeli. Wreszcie, trzecie stwierdzenie, że do tabeli nie można wprowadzać ulic zawierających polskie znaki, jest nieprawdziwe. W przypadku użycia zestawu znaków utf8, baza danych jest w stanie poprawnie przechowywać i przetwarzać polskie znaki diakrytyczne, takie jak ą, ę, ó, czy ł. W związku z tym nie ma żadnych ograniczeń co do wprowadzania takich danych, co czyni wprowadzenie ulic z polskimi znakami jak najbardziej możliwym i prawidłowym.

Pytanie 13

Jakie skutki przynosi wielokrotne uruchomienie poniższego kodu PHP?

if (!isset($_COOKIE["ciastko"]) 
 $zm = 1; 
 else 
 $zm = intval($_COOKIE["ciastko"]) + 1; 
setcookie("ciastko", $zm);
A. Zapisywanie wartości 1 w ciasteczku przy każdym odświeżeniu strony.
B. Pokazanie ciasteczka z wartością zmiennej.
C. Przechowywanie informacji w ciasteczku tylko przy pierwszym otwarciu strony.
D. Liczenie liczby wejść na stronę.
Poprawna odpowiedź to zliczanie liczby odwiedzin strony, ponieważ przedstawiony kod PHP wykorzystuje ciasteczka do przechowywania liczby wizyt. Kiedy użytkownik wchodzi na stronę, skrypt sprawdza, czy ciasteczko o nazwie 'ciastko' już istnieje. Jeśli nie, oznacza to, że jest to pierwsza wizyta użytkownika, więc zmienna '$zm' jest inicjowana na wartość 1. W przeciwnym razie, wartość ciasteczka jest odczytywana, konwertowana na liczbę całkowitą i zwiększana o jeden. Następnie nowa wartość jest zapisywana w ciasteczku. Takie podejście jest zgodne z praktykami związanymi z analizą ruchu na stronie, gdzie zliczanie odwiedzin jest kluczowe dla zrozumienia interakcji użytkowników z witryną. Może to być użyteczne w kontekście analizy statystyk odwiedzin, co jest istotne dla marketerów i administratorów stron internetowych. Ponadto, umiejętność zarządzania ciasteczkami jest niezbędna w kontekście bezpieczeństwa i prywatności użytkowników, co powinno być brane pod uwagę przy implementacji takich rozwiązań.

Pytanie 14

Sprawdzenie poprawności pól formularza polega na weryfikacji

A. czy użytkownik jest zalogowany
B. czy istnieje plik PHP, który przetworzy dane
C. który użytkownik wprowadził informacje
D. czy wprowadzone dane spełniają określone reguły
Walidacja pól formularza jest kluczowym elementem w procesie zbierania danych od użytkowników. Jej głównym celem jest upewnienie się, że dane, które użytkownik wprowadza, są zgodne z określonymi regułami i standardami. Na przykład, jeśli pole formularza wymaga adresu e-mail, walidacja może sprawdzić, czy wprowadzone dane mają odpowiedni format (np. zawierają '@' i końcówkę domeny). Ważne jest, aby walidację przeprowadzać zarówno po stronie klienta, jak i serwera. Walidacja po stronie klienta (np. za pomocą JavaScript) może szybko informować użytkownika o błędach, ale nie powinna być jedyną metodą, gdyż można ją łatwo obejść. Walidacja po stronie serwera, przeprowadzana w językach takich jak PHP lub Python, zapewnia, że dane są na pewno zgodne z wymaganiami systemu przed ich przetworzeniem. Przykładami reguł walidacji mogą być wymagania dotyczące długości tekstu, formatów numerów telefonów czy też wymagalności pewnych pól, co jest zgodne z dobrymi praktykami UX oraz standardami bezpieczeństwa danych.

Pytanie 15

W skrypcie PHP konieczne jest stworzenie cookie o nazwie owoce, które przyjmie wartość jabłko. Cookie powinno być dostępne przez jedną godzinę od momentu jego utworzenia. W tym celu w skrypcie PHP należy wykorzystać funkcję:

A. setcookie("owoce","jabłko",time()+3600);
B. cookie("jabłko","owoce",3600);
C. setcookie("jabłko","owoce",time()+3600);
D. cookie("owoce","jabłko",3600);
Wybór niewłaściwej funkcji do ustawiania ciasteczka w PHP może prowadzić do nieprawidłowego działania aplikacji. Przykładowo, odpowiedzi, które używają funkcji cookie zamiast setcookie, są błędne, ponieważ w standardzie PHP nie istnieje funkcja o nazwie cookie. Dodatkowo, każda z odpowiedzi, która nieprawidłowo ustawia argumenty funkcji setcookie, wprowadza w błąd co do właściwego wykorzystania tego narzędzia. Warto zauważyć, że w odpowiedzi setcookie("jabłko","owoce",time()+3600) nie tylko zamieniono nazwy i wartości, ale także ich kolejność, co skutkuje błędnym ustawieniem ciasteczka. W PHP, pierwszy argument powinien być nazwą ciasteczka, a drugi - jego wartością. Niepoprawne podejście do tematu ciasteczek może prowadzić do problemów z przechowywaniem danych użytkowników, co jest kluczowe w kontekście UX i bezpieczeństwa aplikacji. W praktyce, przy każdym użyciu funkcji setcookie należy zwracać uwagę na to, aby przestrzegać konwencji i standardów PHP, co zapewnia nie tylko poprawność działania kodu, ale także jego czytelność oraz ułatwia późniejsze jego utrzymanie. Typowe błędy, takie jak pomylenie argumentów, mogą skutkować błędną logiką w aplikacji lub nawet brakiem możliwości zapisywania ważnych informacji w ciasteczkach. Dlatego kluczowe jest zrozumienie działania funkcji setcookie oraz przestrzeganie dobrych praktyk programistycznych.

Pytanie 16

Które z poniższych twierdzeń najlepiej opisuje klasę Owoc zdefiniowaną w PHP i przedstawioną w kodzie?

class Owoc {
  public $nazwa;
  private $kolor;
  function set_nazwa($nazwa) {
    $this->nazwa = $nazwa;
  }
}
A. Zawiera dwa pola oraz jedną metodę, pole kolor ma widoczność ograniczoną jedynie do metod klasy
B. Zawiera dwa pola oraz jeden konstruktor, oba pola mają widoczność ograniczoną tylko do metod klasy
C. Zawiera dwa pola oraz jedną metodę, pole nazwa ma widoczność ograniczoną tylko do metod klasy
D. Zawiera jedno pole oraz dwie metody, przy czym jedna z metod ma zakres prywatny
Błędne odpowiedzi wynikają z niezrozumienia zakresów widoczności oraz struktury klasy w PHP. Klasa Owoc ma dwa pola: $nazwa i $kolor. Pole $nazwa jest publiczne, co oznacza, że jest dostępne z dowolnego miejsca, które posiada instancję klasy. Natomiast $kolor jest prywatne, co ogranicza jego dostępność tylko do metod wewnątrz klasy. To kluczowy aspekt programowania obiektowego, gdzie stosowanie modyfikatora private zapewnia, że dane nie mogą być modyfikowane bezpośrednio z zewnątrz, chroniąc integralność obiektu. W konstrukcji tej klasy znajduje się również tylko jedna metoda: set_nazwa, która służy do ustawiania wartości pola $nazwa. Brak jest tutaj konstruktora, co wyklucza błędną odpowiedź sugerującą jego obecność. Konstruktor w PHP definiuje się jako funkcję __construct i służy do inicjalizacji obiektu przy jego tworzeniu. Każda z niepoprawnych odpowiedzi błędnie interpretuje strukturę i dostępność elementów klasy. Często popełnianym błędem jest mylenie zakresów widoczności pola publicznego i prywatnego, oraz brak rozpoznania i zastosowania dobrych praktyk, takich jak enkapsulacja, która jest jednym z filarów programowania obiektowego, mającym na celu ukrycie wewnętrznej implementacji oraz ochronę danych przed nieautoryzowanym dostępem.

Pytanie 17

Która z funkcji agregujących dostępnych w SQL służy do obliczania średniej z wartości znajdujących się w określonej kolumnie?

A. AVG
B. MIN
C. COUNT
D. SUM
Wybór opcji MIN, SUM lub COUNT zamiast AVG pokazuje pewne nieporozumienie dotyczące roli funkcji agregujących w SQL. Funkcja MIN służy do znajdowania najmniejszej wartości w kolumnie, co jest użyteczne, gdy potrzebujemy zidentyfikować najniższą wartość w zbiorze danych, ale nie dostarcza informacji o średniej. Z kolei SUM dodaje wszystkie wartości w określonej kolumnie, co może być przydatne, gdy chcemy uzyskać całkowitą sumę, ale nie pozwala nam na obliczenie średniej. Funkcja COUNT zlicza liczbę wierszy, które spełniają określone kryteria, co również nie ma związku z obliczaniem średniej. Te funkcje mają różne zastosowania, ale ich wybór w kontekście obliczania średniej wartości jest błędny. Często użytkownicy mogą mylić te funkcje, nie rozumiejąc, że każda z nich spełnia inną rolę w analizie danych. W praktyce, aby uzyskać średnią, należy zawsze korzystać z AVG, a nie z innych funkcji, które mogą dostarczyć informacji o różnych aspektach danych, ale nie odpowiadają na pytanie o średnią wartość.

Pytanie 18

Jakim słowem kluczowym można zestawić wyniki dwóch zapytań SELECT, które operują na różnych tabelach, aby utworzyć jeden zbiór danych?

A. AS
B. DISTINCT
C. UNION
D. JOIN
Odpowiedzi takie jak JOIN, DISTINCT i AS są niepoprawne w kontekście łączenia wyników kwerend SELECT z różnych tabel w jeden zbiór. JOIN jest używane do łączenia rekordów z dwóch tabel na podstawie powiązania między nimi, co oznacza, że wymaga istnienia relacji między danymi, co nie jest przypadkiem w każdym scenariuszu, w którym chcemy połączyć wyniki. INCLUDES, które może być naturalnym skojarzeniem z łączeniem danych, nie pasuje do sytuacji, gdy kwerendy SELECT są niezależne od siebie. DISTINCT natomiast jest używane do eliminowania duplikatów z wyników jednej kwerendy, ale nie służy do łączenia wyników z różnych źródeł. Wreszcie, AS jest używane głównie do nadawania aliasów kolumnom lub tabelom, co nie ma zastosowania w kontekście łączenia wyników kwerend. Typowym błędem myślowym jest zakładanie, że każde słowo kluczowe związane z SELECT może być użyte do łączenia wyników, podczas gdy każde z nich ma swoje specyficzne zastosowanie i ograniczenia. Zrozumienie tych różnic jest kluczowe dla prawidłowego stosowania SQL w praktyce i tworzenia efektywnych zapytań, które zwracają oczekiwane wyniki.

Pytanie 19

Zgodnie z zasadami ACID dotyczącymi transakcji, wymóg izolacji (ang. isolation) wskazuje, że

A. pod określonymi warunkami dane modyfikowane przez transakcję mogą zostać anulowane
B. jeśli dwie transakcje są wykonywane równolegle, to zazwyczaj nie zauważają wprowadzanych przez siebie zmian
C. gdy wystąpi konflikt z inną transakcją, obie mogą modyfikować te same dane równocześnie
D. po zrealizowaniu transakcji system baz danych będzie w stanie spójności
Po pierwsze, odpowiedź, która sugeruje, że po wykonaniu transakcji system bazy danych będzie spójny, nie odnosi się bezpośrednio do aspektu izolacji. Spójność to w rzeczywistości inne z wymaganych stanów ACID, które koncentruje się na tym, że wszystkie transakcje muszą zapewnić, że system przechodzi z jednego stanu spójnego do innego. Izolacja działa w zupełnie innym kontekście. Kolejna odpowiedź wskazująca na konflikt modyfikacji danych przez różne transakcje sugeruje sytuację, która w rzeczywistości powinna być unika, a nie opisana jako cecha izolacji. Izolacja ma na celu zapobieganie takim konfliktom, a nie ich akceptację. Dodatkowo, odpowiedź mówiąca o wycofywaniu danych pod pewnymi warunkami odnosi się do działania mechanizmu rollback, który jest związany z innym aspektem transakcji – atomowością. Atomowość dotyczy tego, czy cała transakcja zostanie pomyślnie zakończona, czy też w razie problemów zostanie wycofana, ale nie bezpośrednio do izolacji. Powszechny błąd myślowy polega na myleniu tych pojęć i ich wzajemnych interakcji. Właściwe zrozumienie izolacji jako ochrony przed widocznością zmian między transakcjami współbieżnymi jest kluczowe dla projektowania poprawnych i odpornych na błędy systemów baz danych.

Pytanie 20

Jakiego polecenia SQL należy użyć, aby usunąć z tabeli artykuly wiersze, które zawierają słowo "sto" w dowolnej lokalizacji pola tresc?

A. DELETE FROM artykuly WHERE tresc = "%sto%";
B. DELETE FROM artykuly WHERE tresc LIKE "%sto%";
C. DELETE * FROM artykuly WHERE tresc = "%sto%";
D. DELETE * FROM artykuly WHERE tresc LIKE "%sto%";
Poprawna odpowiedź to 'DELETE FROM artykuly WHERE tresc LIKE "%sto%";'. To polecenie SQL używa operatora LIKE, który pozwala na wyszukiwanie wzorców w danych tekstowych. Użycie znaków procentowych '%' jako symboli wieloznacznych umożliwia odnalezienie ciągów, w których słowo 'sto' występuje w dowolnym miejscu w kolumnie 'tresc'. W praktyce, tego rodzaju zapytanie jest niezwykle przydatne podczas zarządzania dużymi bazami danych, gdzie często zachodzi potrzeba filtrowania danych na podstawie ich zawartości. Zastosowanie tego polecenia jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi, ponieważ precyzyjnie określa, które wpisy mają zostać usunięte, minimalizując ryzyko przypadkowego usunięcia niewłaściwych danych. Warto znać i rozumieć różnice pomiędzy operatorami '=' a 'LIKE', ponieważ operator '=' wymaga dokładnego dopasowania, co w wielu przypadkach nie jest wystarczające do uzyskania pożądanych wyników. Przykładem może być sytuacja, gdy w kolumnie 'tresc' znajdują się artykuły zawierające słowo 'sto' w kontekście 'stołek', a operator '=' nie byłby w stanie ich zidentyfikować.

Pytanie 21

Debugger to narzędzie wykorzystywane do

A. oceny szybkości działania programu
B. analizy właściwości programu
C. identyfikacji błędów w kodzie programu
D. optymalizacji pamięci zajmowanej przez aplikację
Wybór odpowiedzi dotyczącej sprawdzania szybkości programu sugeruje, że rola debuggera ogranicza się do oceny wydajności, co jest mylnym założeniem. Debugger nie jest narzędziem do mierzenia czasów wykonania funkcji ani do analizy efektywności algorytmów; odpowiednie do tego są profilery, które specjalizują się w monitorowaniu zużycia zasobów oraz analizy wydajności kodu. Z kolei stwierdzenie, że debugger służy do optymalizacji pamięci używanej przez aplikację, również jest nieprecyzyjne. Optymalizacja pamięci to złożony proces, który wymaga analizy struktury danych i zarządzania pamięcią, a nie tylko wykrywania błędów. Badania właściwości programu to z kolei szersze podejście, które obejmuje różne aspekty, takie jak testowanie, specyfikacja oraz formalne metody weryfikacji, co również wykracza poza funkcjonalność debuggera. To prowadzi do powszechnego błędu, gdzie użytkownicy mylą narzędzia i ich funkcje, co może prowadzić do nieefektywnego korzystania z zasobów i czasu w procesie tworzenia oprogramowania. W rzeczywistości, aby efektywnie wykrywać, analizować i naprawiać błędy w kodzie, kluczowe jest zrozumienie, jak działa debugger i jakie ma możliwości, co wyróżnia go spośród innych narzędzi w zestawie programisty.

Pytanie 22

W zaprezentowanym fragmencie algorytmu użyto

Ilustracja do pytania
A. jedną pętlę.
B. trzy bloki operacyjne (procesy).
C. jeden blok decyzyjny.
D. dwie pętle.
Niepoprawne odpowiedzi wynikają z błędnego zrozumienia struktury algorytmu. Opcja dotycząca dwóch pętli zakłada istnienie dwóch niezależnych cykli co nie znajduje potwierdzenia w przedstawionym schemacie. Taki błąd może wynikać z nieumiejętności rozróżniania złożonych konstrukcji czy mylenia pętli z blokami decyzyjnymi. Jedna pętla oznacza jedną sekwencję powtarzającą się co jest wyraźnie zilustrowane przez powrót strzałki w schemacie. Odpowiedź sugerująca jeden blok decyzyjny nie uwzględnia faktu że blok decyzyjny jest częścią struktury warunkowej a nie pętli. Decyzje wpływają na przepływ sterowania ale nie tworzą same w sobie powtarzającej się sekwencji. Trzy bloki operacyjne odnoszą się do liczby operacji w algorytmie lecz nie implikują pętli. Bloki operacyjne wykonują konkretne zadania jak obliczenia czy przypisania ale nie zmieniają struktury iteracyjnej. Zrozumienie roli każdego z tych elementów jest kluczowe w analizie algorytmów i projektowaniu efektywnego kodu.

Pytanie 23

Jakie polecenie należy wykorzystać, aby przypisać użytkownikowi uprawnienia do tabel w bazie danych?

A. SELECT
B. CREATE
C. REVOKE
D. GRANT
Odpowiedzi SELECT, CREATE i REVOKE mogą wydawać się związane z zarządzaniem dostępem do bazy danych, ale żadna z nich nie jest prawidłowym sposobem na nadanie uprawnień. SELECT to polecenie wykorzystywane do odczytywania danych z tabeli, a nie do nadawania uprawnień. Użytkownik, który nie ma odpowiednich uprawnień, nie będzie w stanie wykonać SELECT, ale to polecenie nie przyznaje tych uprawnień. CREATE z kolei służy do tworzenia nowych obiektów w bazie danych, takich jak tabele czy bazy danych, i również nie ma związku z zarządzaniem uprawnieniami. REVOKE to polecenie, które służy do odbierania wcześniej nadanych uprawnień, co oznacza, że jego funkcjonalność jest odwrotnością GRANT. Niezrozumienie tych podstawowych różnic może prowadzić do błędów w zarządzaniu dostępem do zasobów bazy danych. Kluczowe jest, aby użytkownicy mieli świadomość, jak te polecenia działają i jakie mają zastosowanie, by unikać sytuacji, w których nieodpowiednie uprawnienia są przyznawane lub odbierane, co może wpłynąć na bezpieczeństwo oraz integralność danych.

Pytanie 24

W systemie MySQL trzeba użyć polecenia REVOKE, aby użytkownikowi anna cofnąć możliwość wprowadzania zmian jedynie w definicji struktury bazy danych. Odpowiednia komenda do odebrania tych uprawnień ma postać

A. REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'
B. REVOKE ALL ON tabela1 FROM 'anna'@'locaihost'
C. REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'
D. REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'
Polecenie REVOKE w MySQL jest używane do odbierania przydzielonych wcześniej uprawnień użytkownikom. W kontekście pytania, właściwa odpowiedź to 'REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost''. To polecenie wskazuje na odebranie użytkownikowi 'anna' możliwości tworzenia nowych obiektów w bazie danych (CREATE), zmiany struktury istniejących obiektów (ALTER) oraz usuwania obiektów (DROP) w tabeli 'tabela1'. Odbieranie tych praw jest kluczowe w zarządzaniu bezpieczeństwem bazy danych, ponieważ pozwala na precyzyjne kontrolowanie, kto ma dostęp do modyfikacji struktury bazy danych. W praktyce, administratorzy baz danych często muszą ograniczać uprawnienia użytkowników, aby zapobiec nieautoryzowanym zmianom, które mogą wpłynąć na integralność danych. Dobrą praktyką jest regularne przeglądanie i aktualizowanie uprawnień użytkowników, aby dostosować je do zmieniających się potrzeb organizacji oraz zwiększyć poziom bezpieczeństwa systemu.

Pytanie 25

Wynikiem działania poniższej pętli for w przedstawionym kodzie PHP jest wyświetlenie liczb:

<?php
   for($i=5;$i>1;$i-=2)
       echo ($i%2)." ";
?>
A. 1 0 1 0
B. 1 0 1
C. 1 0
D. 1 1
Wybór błędnych odpowiedzi wynika z niepełnej analizy działania pętli oraz błędnych założeń dotyczących wartości zwracanych przez operację modulo. Odpowiedzi 1 0, 1 0 1 oraz 1 0 1 0 wskazują na zrozumienie, że liczby mogą mieć różne wartości modulo 2, ale z niewłaściwym przypisaniem ich do konkretnego kontekstu pętli. Wartość 0 w odpowiedzi 1 0 sugeruje, że użytkownik myśli, że $i może kiedykolwiek przyjąć wartość parzystą i wpłynąć na wynik, co jest błędne w kontekście analizowanego kodu. Liczba 5 jest liczbą nieparzystą, więc operacja modulo skutkuje 1, a 3 również jest liczbą nieparzystą, co również daje 1. Odpowiedź 1 0 1 sugeruje, że po osiągnięciu wartości $i = 1, wynik zmienia się na zero, co jest niezgodne z zasadami przetwarzania w tej pętli. Podobnie, odpowiedź 1 0 1 0 sugeruje, że w pętli mogłyby pojawić się inne wartości, podczas gdy w rzeczywistości, jak pokazuje analiza, pętla kończy się po dwóch iteracjach. Kluczowe jest zrozumienie, jak działają struktury kontrolne w programowaniu oraz jakie wyniki można otrzymać na podstawie operacji arytmetycznych. Taka analiza jest niezbędna, aby uniknąć typowych błędów związanych z operacjami na liczbach oraz wyciąganiem wniosków na temat ich właściwości.

Pytanie 26

Zgodnie z zasadami walidacji HTML5, prawidłowy zapis tagu hr to

A. </ hr>
B. </ hr />
C. </hr?>
D. <hr>
Znak <hr> jest poprawnym zapisem znacznika poziomej linii w HTML5. Zgodnie z definicją, <hr> jest elementem samodzielnym, co oznacza, że nie wymaga znacznika zamykającego. Jest to zgodne z zasadami HTML5, które wprowadziły uproszczoną składnię dla wielu elementów. W praktyce <hr> jest używany do wizualnego oddzielania sekcji w dokumencie HTML, co poprawia czytelność i estetykę strony. Na przykład, w artykule internetowym można zastosować <hr> między różnymi sekcjami, aby wskazać zmianę tematu lub podział pomiędzy wprowadzeniem a treścią główną. Zgodność z tym standardem nie tylko ułatwia pracę z kodem, ale również zapewnia lepszą kompatybilność z przeglądarkami i narzędziami dostępu. Warto także zwrócić uwagę, że dobrym zwyczajem jest dodawanie atrybutów klasy lub identyfikatora do tego znacznika w celu dalszej personalizacji stylów CSS, co zwiększa elastyczność w projektowaniu graficznym strony.

Pytanie 27

W HTML atrybut alt elementu img służy do określenia

A. lokalizacji i nazwy pliku źródłowego grafiki
B. treści, która zostanie pokazana, gdy grafika nie może być załadowana
C. parametrów grafiki, takich jak wymiary, ramka, wyrównanie
D. opisu, który pojawi się pod grafiką
Istnieje wiele nieporozumień dotyczących roli atrybutu <b>alt</b> w znaczeniu <b>img</b>. Niektórzy mogą błędnie sądzić, że atrybut ten służy do definiowania parametrów grafiki, takich jak rozmiar czy obramowanie. Warto jednak zauważyć, że rozmiar i obramowanie obrazów są regulowane przez inne atrybuty HTML oraz style CSS, a nie przez atrybut <b>alt</b>. Atrybut ten nie ma również nic wspólnego z podpisami pod grafiką, które można osiągnąć za pomocą elementów takich jak <b>figure</b> i <b>figcaption</b>. Kolejnym błędnym podejściem jest mylenie atrybutu <b>alt</b> ze ścieżką do pliku źródłowego grafiki, co jest regulowane przez atrybut <b>src</b>. Atrybut <b>alt</b> nie dostarcza informacji o lokalizacji pliku, ale raczej o jego zawartości w przypadku, gdy nie jest on dostępny. Takie błędne interpretacje mogą prowadzić do nieprawidłowego zrozumienia zagadnień dostępności i optymalizacji treści w sieci, co jest kluczowe w nowoczesnym projektowaniu stron internetowych. Dlatego istotne jest, aby dokładnie poznawać funkcje każdego z atrybutów HTML oraz stosować je zgodnie z ich przeznaczeniem, co przyczyni się do lepszej dostępności i jakości tworzonych treści.

Pytanie 28

Jak nazywa się platforma wspierająca rozwój oprogramowania w technologii .NET?

A. framework
B. middleware
C. db2
D. eclipse
Wybór db2, eclipse oraz middleware jako odpowiedzi na pytanie o platformę wspierającą programowanie w technologii .NET jest niepoprawny z kilku powodów. Db2 to system zarządzania bazami danych, który jest używany do przechowywania i zarządzania danymi w aplikacjach, ale sam w sobie nie dostarcza środowiska ani narzędzi do programowania. Jest to technologia związana z bazami danych, a nie z frameworkami do tworzenia aplikacji. Eclipse to środowisko zintegrowane (IDE), które obsługuje różne języki programowania, ale jego głównym celem jest umożliwienie programistom pisania kodu, a nie dostarczanie specyficznych bibliotek czy narzędzi dla platformy .NET. Chociaż Eclipse może być używane do pracy z technologią .NET poprzez odpowiednie wtyczki, to nie jest to platforma natywna dla .NET, jakim jest .NET Framework. Middleware to termin odnoszący się do oprogramowania, które działa pomiędzy różnymi aplikacjami lub systemami, umożliwiając komunikację i zarządzanie danymi. Nie jest to jednak framework do programowania, a raczej kategoria oprogramowania, która wspiera interakcje między aplikacjami. Dlatego wszystkie te odpowiedzi są błędne w kontekście pytania o platformę wspierającą programowanie w technologii .NET.

Pytanie 29

Aby uzyskać dane z formularza HTML bez ich widoczności w adresie URL, powinno się użyć

A. wyłącznie funkcji z biblioteki PDO
B. metody GET
C. metody POST
D. samych kontrolek bez zastosowania formularza
Zastosowanie metody GET do przesyłania danych z formularza HTML wiąże się z istotnymi ograniczeniami, które mogą prowadzić do niepożądanych konsekwencji, zwłaszcza w kontekście bezpieczeństwa. Metoda GET przesyła dane jako część adresu URL, co oznacza, że wszystkie informacje są widoczne dla użytkowników oraz mogą być łatwo zapisane w historii przeglądarki. W rezultacie, w przypadku przesyłania wrażliwych danych, takich jak numery kart kredytowych, hasła czy dane osobowe, narażamy się na ryzyko ich wycieku i wykorzystania przez osoby trzecie. Ponadto, metoda GET ogranicza ilość danych, które mogą być przesyłane, co w praktyce może uniemożliwić przesłanie większych formularzy. Może to prowadzić do błędów w aplikacji lub konieczności wprowadzenia dodatkowych sztuczek, takich jak dzielenie danych na mniejsze części. Użycie samych kontrolek bez formularza również nie jest odpowiednie, ponieważ nie pozwala na strukturalne przesyłanie danych, a tym samym utrudnia zarządzanie danymi, które powinny być zorganizowane w sposób logiczny. Na koniec, ograniczenie się do korzystania z funkcji z biblioteki PDO nie ma związku z metodą przesyłania danych z formularzy HTML – PDO jest narzędziem do pracy z bazą danych, a nie do przesyłania danych z formularzy. Właściwe metody przesyłania danych powinny być zgodne z najlepszymi praktykami branżowymi, które podkreślają znaczenie bezpieczeństwa i integralności danych.

Pytanie 30

Które z wymienionych rozszerzeń NIE JEST związane z plikiem wideo?

A. MP4
B. MOV
C. AVI
D. GIF
Wybierając inne odpowiedzi, można popełnić kilka typowych błędów myślowych. AVI, MP4 oraz MOV to uznawane standardy dla plików wideo, co może prowadzić do mylnego wrażenia, że wszystkie wymienione rozszerzenia dotyczą wideo. AVI (Audio Video Interleave) to format opracowany przez Microsoft, który integruje dźwięk i obraz w jeden plik. Jest to format bezstratny, co oznacza, że jakość wideo pozostaje wysoka, ale pliki te mogą być znacznie większe. MP4 (MPEG-4 Part 14) to bardziej nowoczesny format, który łączy wysoką jakość z efektywnym kompresowaniem, co czyni go bardzo popularnym w transmisji strumieniowej i przechowywaniu wideo na różnych urządzeniach. MOV to natomiast format związany z ekosystemem Apple, znany z wysokiej jakości wideo, który jest idealny do edycji w oprogramowaniu takim jak Final Cut Pro. Wybierając odpowiedzi, które są faktycznie formatami wideo, można nie docenić unikalnych właściwości GIF-a, co prowadzi do pomyłki oraz niezrozumienia różnicy między tymi formatami. Ważne jest zrozumienie, że wybór formatu pliku powinien opierać się na specyficznych potrzebach projektu, a także na wymaganiach dotyczących jakości, rozmiaru pliku i wsparcia dla dźwięku, co substancjalnie różni różne formaty plików.

Pytanie 31

W języku PHP, po wykonaniu poniższego fragmentu kodu, w zmiennej o nazwie Nowy_Napis zostanie zapisany:

$Napis = "ZaWszE SpRaWdZ swoj KoD";
$Nowy_Napis = strtolower($Napis);
A. zawsze sprawdz swoj kod
B. zAwSZe sPrAwDz SWOJ kOd
C. ZAWSZE SPRAWDZ SWOJ KOD
D. ZaWszE
Odpowiedź 'zawsze sprawdz swoj kod' jest poprawna, ponieważ funkcja strtolower() w PHP konwertuje wszystkie znaki w łańcuchu na małe litery. W przypadku podanego kodu, zmienna $Napis zawiera tekst 'ZaWszE SpRaWdZ swoj KoD', który po zastosowaniu funkcji strtolower() przekształca się na 'zawsze sprawdz swoj kod'. Praktyczne zastosowanie tej funkcji jest bardzo istotne w kontekście normalizacji danych wejściowych, szczególnie w aplikacjach internetowych, gdzie wielkość liter może wpływać na sposób przechowywania, wyszukiwania lub porównywania tekstów. Warto również podkreślić, że w przypadku korzystania z baz danych, stosowanie jednolitej konwencji zapisu (np. zawsze małe litery) może zminimalizować ryzyko błędów i niejednoznaczności. Dobrymi praktykami jest także walidacja danych użytkowników oraz przygotowywanie ich do dalszego przetwarzania, co sprzyja lepszej organizacji kodu i efektywności aplikacji.

Pytanie 32

W HTML, aby utworzyć hiperłącze, które otworzy się w nowej karcie przeglądarki, należy użyć atrybutu

A. rel = "external"
B. target = "_new"
C. rel = "prev"
D. target = "_blank"
Użycie atrybutu target="_new" nie jest ok w HTML, bo większość przeglądarek go po prostu nie rozumie. Może czasem zadziała, ale nie masz pewności, że zawsze tak będzie, co może być mylące dla użytkownika. Ludzie spodziewają się, że linki będą otwierane tak, jak to jest na ogół ustalone, a błędne atrybuty mogą sprawić, że wszystko będzie się zachowywać w dziwny sposób. Poza tym, rel="prev" to też jest zła droga, bo ten atrybut mówi o relacji między dokumentami, a "prev" wskazuje na wcześniejszą stronę w nawigacji, co nie ma nic wspólnego z linkami. I jeszcze rel="external" - to też nie jest to, bo nie jest to standard w HTML, który decyduje o tym, jak linki mają się otwierać. Użytkownicy mogą myśleć, że te atrybuty są ok, ale w rzeczywistości to prowadzi do nieporozumień, bo nie robią tego, co powinny. Lepiej zrozumieć, jak te atrybuty działają i kiedy ich używać, bo to naprawdę poprawia doświadczenia użytkowników w sieci.

Pytanie 33

Co można powiedzieć o stylu hiperłącza na podstawie opisu CSS, zakładając, że żadne inne style nie zostały zdefiniowane?

a:link {
  color: green;
  text-decoration: none;
}

a:hover {
  color: red;
  text-decoration: underline;
}
A. Hiperłącze jest zawsze podkreślone.
B. Gdy hiperłącze jest nieodwiedzone, jego tekst jest koloru niebieskiego z podkreśleniem.
C. Tekst odwiedzonego hiperłącza jest koloru czerwonego.
D. Gdy kursor znajdzie się na obszarze hiperłącza, pojawia się podkreślenie i tekst przyjmuje kolor czerwony.
Twoja odpowiedź jest poprawna. W przypadku hiperłącza, w momencie, gdy kursor znajduje się na obszarze hiperłącza, pojawia się podkreślenie i tekst przyjmuje kolor czerwony. Jest to efekt zastosowania stylu CSS w stanie 'hover'. Styl ten umożliwia dynamiczną zmianę wyglądu elementu, kiedy kursor myszy znajduje się nad nim. Jest to praktyka powszechnie stosowana w celu zwiększenia użyteczności i interaktywności stron internetowych. Dobrą praktyką jest również zapewnienie kontrastu między kolorem tła a tekstem dla lepszej czytelności. W tym przypadku, kolor tekstu zmienia się na czerwony, co zapewnia wyraźny kontrast i zwraca uwagę użytkownika. Równocześnie dodanie podkreślenia jest dodatkowym wizualnym wskaźnikiem, że dany element jest hiperłączem. Zastosowanie takiego stylu pozwala na intuicyjne i efektywne poruszanie się po stronie internetowej.

Pytanie 34

Aby w JavaScript wykonać wymienione kroki:

1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikację: ",
   następnie po zatwierdzeniu
2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się
   wartość pobrana z okna "Kwalifikacja: ..."
należy w znaczniku <script> umieścić kod
A. A = prompt("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " + A);

B. A = prompt("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " .A);

C. A = alert("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " + A);

D. A << prompt("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " + A);
A. B.
B. D.
C. A.
D. C.
Wygląda na to, że nie do końca trafiłeś. Niektóre odpowiedzi sugerowały użycie funkcji, które nie nadają się do tego zadania. Na przykład, `alert` pokazuje tylko jakiś komunikat, ale nie pozwala na wpisanie czegoś przez użytkownika. Inną możliwością mogły być też metody manipulacji DOM, ale to już trochę bardziej skomplikowane i nie było w tym przypadku konieczne. Ważne jest, żeby wiedzieć, które funkcje w JavaScript są do czego, żeby móc je dobrze wykorzystać.

Pytanie 35

Jaką wartość zwróci funkcja zoo zdefiniowana w języku C++, wywołana z aktualnym parametrem 3.55

int zao(float x){
    return (x + 0.5);
}
A. 3.5
B. 4.05
C. 4
D. 3
Niestety, wybrana odpowiedź jest niepoprawna. Możliwe, że zapomniano o specyficznych zasadach konwersji typów danych w języku C++. W języku tym, jeśli mamy do czynienia z wartościami zmiennoprzecinkowymi (float) i konwertujemy je do wartości całkowitych (int), część ułamkowa jest zawsze odrzucana. Nie ma tutaj zaokrąglenia do najbliższej liczby całkowitej. Dlatego, nawet jeśli wynik działania wewnątrz funkcji wynosi 4.05, po konwersji do typu int, zostaje z tego tylko 4. To jest typowy błąd, który może prowadzić do nieoczekiwanych wyników, szczególnie w programach, gdzie precyzja obliczeń jest kluczowa. Pamiętaj zawsze o tej specyfice języka C++ i dokładnie określaj typy danych, z którymi pracujesz.

Pytanie 36

Który z poniższych kodów stanowi alternatywę dla kodu umieszczonego w ramce?

Ilustracja do pytania
A. <?php for($x=1;$x<=55;$x+=1){echo $x." ";} ?>
B. <?php for($x=2;$x<=56;$x+=2){echo $x." ";} ?>
C. <?php for($x=2;$x<=54;$x+=2){echo $x." ";} ?>
D. <?php for($x=1;$x<=55;$x++){echo $x." ";} ?>
W odpowiedzi zaprezentowałeś kod, który generuje liczby parzyste od 2 do 54, co jest zgodne z tym, co było w zadaniu. W ramce masz pętlę for, która zaczyna się od x=1, ale trzeba wiedzieć, że w takiej konfiguracji będziesz też generować liczby nieparzyste. W Twoim kodzie lepiej było zacząć od x=2 i zwiększać x o 2, bo wtedy automatycznie pomijasz liczby, które nie są parzyste. To sprawia, że kod działa sprawniej, bo nie trzeba co chwilę sprawdzać, czy liczba jest parzysta, tylko po prostu się ją generuje. Jak dla mnie, jak chcesz tylko parzyste, to taki styl jest o niebo lepszy – klarowny i łatwy do ogarnięcia. W programowaniu istotne jest, żeby pisać kod, który nie tylko działa, ale też jest prosty do zrozumienia dla innych. Dzięki temu unikniesz problemów w przyszłości, gdy trzeba będzie coś poprawiać w kodzie.

Pytanie 37

Która operacja nie wpłynie na wielkość zajmowanej pamięci przez plik graficzny?

A. Interpolacja
B. Zmiana rozmiaru obrazu z użyciem atrybutów HTML
C. Kompresja
D. Modyfikacja rozdzielczości obrazu
Skalowanie obrazu za pomocą atrybutów HTML jest prawidłową odpowiedzią, ponieważ ta operacja nie modyfikuje samego pliku graficznego, a jedynie zmienia sposób, w jaki obraz jest wyświetlany na stronie internetowej. Przykładowo, użycie atrybutów 'width' i 'height' w tagu <img> pozwala na dostosowanie rozmiarów obrazu w kontekście przeglądarki, nie ingerując w jego zawartość ani nie zmieniając rozdzielczości. W praktyce oznacza to, że oryginalny plik graficzny pozostaje niezmieniony, co jest zgodne z dobrymi praktykami w zakresie optymalizacji wydajności stron. Zmiana rozmiaru na poziomie HTML jest często stosowana, aby zapewnić elastyczność w projektowaniu responsywnych stron internetowych, gdzie obrazy muszą dostosowywać się do różnych rozmiarów ekranów bez potrzeby ich fizycznej edycji. Warto jednak pamiętać, że nadmierne skalowanie może prowadzić do pogorszenia jakości widocznej na ekranie, ale nie wpływa na wagę pliku. Istotnym aspektem jest również, że takie podejście wspiera standardy dostępności, umożliwiając lepsze dostosowanie treści wizualnych dla osób z różnymi potrzebami.

Pytanie 38

Która z podanych funkcji w języku PHP zwraca sumę połowy wartości a oraz połowy wartości b?

A. function licz($a,$b){return $a/2+$b; }
B. function licz($a,$b){return 2/$a+2/$b; }
C. function licz($a,$b){return ($a/2+$b)/2; }
D. function licz($a,$b){return $a/2+$b/2; }
W sytuacjach, gdy programista stara się obliczyć sumę połowy a i połowy b, mogą wystąpić różne nieporozumienia dotyczące logiki matematycznej oraz syntaktyki języka PHP. Niepoprawne odpowiedzi zawierają różne koncepcje, które nie realizują założonego celu. Przykładowo, jedna z funkcji zwraca wartość 2/$a + 2/$b. To podejście nie tylko nie oblicza połowy wartości a i b, ale również prowadzi do obliczeń odwrotnych, co może dawać zaskakujące wyniki w przypadku zmiany wartości zmiennych. W praktyce, stosowanie takich wzorów może prowadzić do poważnych błędów, szczególnie gdy wartości a i b są bliskie zeru, co może skutkować dzieleniem przez zero. Inna funkcja, która oblicza ($a/2 + $b)/2, również jest niepoprawna, ponieważ oblicza średnią z sumy połowy a oraz wartości b, co nie spełnia postawionego zadania. Takie błędne podejście do formułowania równań może wynikać z braku zrozumienia podstaw arytmetyki oraz struktury funkcji w PHP. Programiści powinni być świadomi, że każdy błąd w definicji funkcji może prowadzić do nieprzewidywalnych wyników, dlatego tak istotne jest, aby przed implementacją skonsultować logikę obliczeń i dokładnie zaplanować, co funkcja ma osiągnąć.

Pytanie 39

Które z poniższych stwierdzeń najlepiej charakteryzuje klasę Owoc zdefiniowaną w języku PHP, która jest pokazana w kodzie?

A. Zawiera dwa pola oraz jeden konstruktor, obie pola mają zasięg widzialności ograniczony wyłącznie do metod klasy
B. Zawiera dwa pola i jedną metodę, a pole nazwa ma zasięg widzialności ograniczony wyłącznie do metod klasy
C. Zawiera dwa pola i jedną metodę, a pole kolor ma zasięg widzialności ograniczony wyłącznie do metod klasy
D. Zawiera jedno pole i dwie metody, z których jedna ma ograniczony zasięg prywatny
Wiele z błędnych odpowiedzi opiera się na niewłaściwej interpretacji widoczności pól oraz liczby metod w klasie. Klasa Owoc ma jedno publiczne pole o nazwie nazwa oraz jedno prywatne pole kolor, co oznacza, że tylko metody wewnątrz klasy mogą uzyskiwać dostęp do pola kolor. Pierwsza odpowiedź sugeruje, że klasa ma jedno pole i dwie metody, co jest niezgodne z rzeczywistością, ponieważ nie zdefiniowano drugiej metody. Z kolei odpowiedzi wskazujące na istnienie konstruktora są również błędne, ponieważ klasa Owoc nie definiuje żadnego konstruktora, co oznacza, że PHP automatycznie generuje domyślny konstruktor, ale nie jest on jawnie widoczny w kodzie. Istotnym błędem jest również założenie, że pole nazwa ma ograniczoną widoczność, co nie jest prawdziwe, gdyż jest ono publiczne i dostępne z zewnątrz klasy. Takie nieprawidłowe wnioski mogą wynikać z braku zrozumienia podstawowych zasad programowania obiektowego oraz widoczności w PHP, co jest kluczowe dla poprawnego projektowania aplikacji. W szczególności, umiejętność rozróżnienia między różnymi poziomami widoczności (publiczne, prywatne, chronione) jest niezbędna dla efektywnego korzystania z obiektów i klas w tym języku.

Pytanie 40

W PHP użyto funkcji is_float(). Które z wymienionych wywołań tej funkcji zwróci wartość true?

A. is_float('3,34')
B. is_float(334)
C. is_float(3.34)
D. is_float(NULL)
Funkcja is_float() w języku PHP jest używana do sprawdzania, czy dany argument jest typu float. W przypadku wywołania is_float(3.34), wartość 3.34 jest literalnym zapisem liczby zmiennoprzecinkowej, co oznacza, że jest to poprawny typ danych. W praktycznych zastosowaniach, weryfikacja typu zmiennej jest istotna, szczególnie przy pracy z danymi, gdzie precyzyjne typowanie jest kluczowe, na przykład w obliczeniach finansowych. Gdy pracujemy z danymi z formularzy, często musimy upewnić się, że wartości są odpowiednich typów, aby uniknąć błędów w obliczeniach. Warto również zauważyć, że PHP automatycznie konwertuje typy danych, ale zawsze lepiej jest explicite kontrolować typy, zwłaszcza w bardziej złożonych aplikacjach. Standardem dobrych praktyk jest stosowanie is_float() w sytuacjach, gdzie ważne jest potwierdzenie, że zmienna jest typu float przed jej użyciem w kontekście wymagającym tego typu, co zwiększa czytelność i stabilność kodu.