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: 1 stycznia 2026 19:07
  • Data zakończenia: 1 stycznia 2026 19:29

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

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

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

A. Do pola $c.
B. Do pola $b.
C. Do pola $a.
D. Do wszystkich pól.
Wybór odpowiedzi nieprawidłowych wynika z nieporozumienia dotyczącego poziomów dostępu w programowaniu obiektowym. Pole $b jest zadeklarowane jako private, co oznacza, że dostęp do niego mają tylko metody tej samej klasy. Oznacza to, że nawet instancje klasy ani klasy dziedziczące nie mają dostępu do tego pola, co jest ważne dla encapsulacji i ochrony danych. Ochrona danych jest kluczowym aspektem programowania obiektowego, ponieważ pozwala na kontrolowanie, które części programu mogą modyfikować lub odczytywać dane. Z kolei pole $c, zadeklarowane jako protected, jest dostępne tylko dla klasy oraz klas dziedziczących, co również ogranicza jego dostępność do określonego kontekstu. Mylne jest także przekonanie, że dostęp do wszystkich pól jest możliwy; w rzeczywistości, stosując zasady programowania obiektowego, projektanci aplikacji muszą świadomie dobierać poziomy dostępu do danych, aby zapewnić ich integralność i bezpieczeństwo. Wniosek jest taki, że publiczne, private i protected to fundamentalne koncepcje, które kształtują sposób interakcji z danymi w obiektach, a ich właściwe zrozumienie jest kluczem do tworzenia dobrze zorganizowanego i bezpiecznego kodu.

Pytanie 2

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

function czytajImie(){
  var imie=null;
  do {
    imie=prompt("podaj imie: ");
    if (imie.length<3)
    alert("wprowadzony tekst jest niepoprawny");
  } while(imie.length<3);
}
A. Tekst będzie wczytywany do czasu podania liczby większej niż 3
B. Wczytanie tekstu zakończy się, gdy tekst będzie miał co najmniej 3 znaki
C. Funkcja zawiera pętlę, która powtarza się 3 razy
D. Pętla zostanie uruchomiona tylko raz
Błędne rozumienie działania pętli do-while może prowadzić do przekonania że pętla wykona się określoną ilość razy lub że zakończy się w momencie spełnienia innych warunków co jest typowym błędem wśród osób początkujących Pętla do-while w języku JavaScript wykonuje blok kodu przynajmniej raz a następnie sprawdza warunek kontynuacji co oznacza że nie jest ograniczona do stałej ilości iteracji jak mogłoby sugerować stwierdzenie o trzykrotnym powtórzeniu Warunek długości tekstu mniejszej niż 3 jest kluczowy dla jej działania i wymusza iterację aż do momentu gdy zostanie wprowadzony prawidłowy ciąg znaków co wyklucza możliwość że pętla wykona się tylko raz chyba że już za pierwszym razem zostanie wprowadzony tekst spełniający warunki Kolejnym nieporozumieniem może być błędne postrzeganie warunku jako związanego z wprowadzeniem liczby podczas gdy w rzeczywistości funkcja operuje na długości tekstu co jest częstym zagadnieniem przy walidacji danych tekstowych przy użyciu funkcji prompt Ważnym aspektem jest zrozumienie że pętle tego typu są używane tam gdzie wymagana jest walidacja danych wprowadzanego tekstu co jest praktyką szeroko akceptowaną w branży programistycznej z uwagi na konieczność zapewniania poprawności danych przed ich dalszym przetwarzaniem

Pytanie 3

Atrybut autor w tabeli ksiazka oznacza

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. kluczem obcym powiązanym z tabelą autorzy
B. kluczem podstawowym tabeli ksiazka
C. atrybut używany w relacji z tabelą dane
D. atrybut typu tekstowego zawierający informacje o autorze
Pole autor w tabeli ksiazka nie powinno być utożsamiane z kluczem głównym ponieważ klucz główny jest unikalnym identyfikatorem rekordu w tabeli a w tym przypadku tę rolę pełni pole id Klucz główny jest niezbędny do jednoznacznej identyfikacji każdego wiersza co jest fundamentalne dla operacji takich jak aktualizacja czy usuwanie danych Nie jest również polem typu napisowego chociaż jego nazwa mogłaby sugerować zawartość tekstową Pole autor jest zdefiniowane jako SMALLINT co oznacza że przechowuje liczby całkowite i jest używane do przechowywania identyfikatorów autorów w tabeli ksiazka Ponadto nie stanowi pola wykorzystywanego przy relacji z tabelą dane ponieważ to odniesienie było tylko przykładem nazwy constraint w definicji klucza obcego W projektowaniu baz danych istotne jest aby rozumieć różnice pomiędzy typami kluczy oraz ich rolą w strukturze bazy danych Klucze główne i obce pełnią kluczowe role w zarządzaniu relacjami oraz w zachowywaniu integralności danych co jest kluczowe dla utrzymania spójności i niezawodności aplikacji korzystających z tych danych

Pytanie 4

Jakie dane zostaną wyświetlone po wykonaniu poniższych poleceń? bool gotowe=true; cout<<gotowe;

A. tak
B. 0
C. 1
D. nie
W analizie odpowiedzi, które nie są poprawne, warto zwrócić uwagę na błędne rozumienie działania operatora cout oraz konwencji reprezentowania wartości logicznych w C++. W przypadku odpowiedzi, które sugerują, że wynik to "0" lub "tak", istnieje nieporozumienie dotyczące reprezentacji wartości boolean. W C++, wartość true nie jest wypisywana jako 'tak', lecz jako '1', co jest zgodne z konwencją używaną w wielu językach programowania, w tym C, C# i Java. Osoby, które odpowiedziały '0', mylnie sądzą, że 'true' może być reprezentowane w sposób, który nie jest zgodny z przyjętymi standardami. Również odpowiedź 'nie' wskazuje na podstawowe nieporozumienie dotyczące logicznych wartości zwrotnych w kontekście programu. Wartości logiczne w C++ są ściśle powiązane z typami danych, a ich interpretacja może prowadzić do błędnych konkluzji, jeśli nie jest zrozumiana. W codziennym programowaniu, kluczowe jest, aby programiści mieli świadomość, jak wartości boolean przekładają się na operacje arytmetyczne i logiczne, co pozwala na tworzenie bardziej efektywnego oraz bezpiecznego kodu. Niezrozumienie tych podstawowych zasad prowadzi do typowych błędów w logice programowania, co z kolei może skutkować nieefektywnym działaniem aplikacji oraz trudnościami w późniejszym debugowaniu kodu.

Pytanie 5

W SQL instrukcja INSERT INTO

A. wprowadza nową tabelę.
B. wprowadza dane do tabeli.
C. modyfikuje rekordy przypisaną wartością.
D. dodaje kolumny do istniejącej tabeli.
Odpowiedź 'wprowadza dane do tabeli' jest poprawna, ponieważ polecenie INSERT INTO w języku SQL służy dokładnie do tego celu - do dodawania nowych rekordów (wierszy) do istniejącej tabeli w bazie danych. W praktyce, polecenie to pozwala na wprowadzenie danych zgodnych z określoną strukturą tabeli, co oznacza, że musimy dostarczyć wartości dla odpowiednich pól. Przykład użycia polecenia INSERT INTO: 'INSERT INTO pracownicy (imie, nazwisko, wiek) VALUES ('Jan', 'Kowalski', 30);' W tym przypadku, dodawany jest nowy rekord do tabeli 'pracownicy', wskazując konkretne wartości dla kolumn 'imie', 'nazwisko' oraz 'wiek'. Zgodnie z dobrą praktyką, przed wprowadzeniem danych do tabeli warto upewnić się, że są one zgodne z definicją kolumn, aby uniknąć błędów w czasie wykonywania polecenia. Ponadto, często zaleca się stosowanie transakcji, aby mieć możliwość wycofania wprowadzonych zmian w przypadku wystąpienia błędów. INSERT INTO jest fundamentalną częścią operacji CRUD (Create, Read, Update, Delete), które są podstawą zarządzania danymi w bazach danych, a jego właściwe zrozumienie jest kluczowe dla każdego, kto pracuje z SQL.

Pytanie 6

Jakie zapytanie należy zastosować, aby pokazać tylko imię, nazwisko oraz ulicę wszystkich mieszkańców?

Ilustracja do pytania
A. SELECT * FROM Mieszkancy, Adresy ON Mieszkancy.id = Adresy.id
B. SELECT * FROM Mieszkancy JOIN Adresy ON Adresy.id = Mieszkancy.Adresy.id
C. SELECT imie, nazwisko, ulica FROM Mieszkancy, Adresy ON Mieszkancy.Adresy_id = Adresy.id
D. SELECT imie, nazwisko, ulica FROM Mieszkancy JOIN Adresy ON Mieszkancy.Adresy_id = Adresy.id
Prawidłowa odpowiedź wykorzystuje funkcję JOIN, aby połączyć tabele Mieszkancy i Adresy na podstawie wspólnego klucza, czyli Adresy_id z tabeli Mieszkancy i id z tabeli Adresy. Takie podejście jest zgodne z dobrymi praktykami baz danych, ponieważ zapewnia, że tylko powiązane wiersze są zwracane w wyniku. W zapytaniu SELECT imie, nazwisko, ulica FROM Mieszkancy JOIN Adresy ON Mieszkancy.Adresy_id = Adresy.id jasno określamy, że chcemy wyciągnąć tylko kolumny imie, nazwisko oraz ulica, co minimalizuje ilość przetwarzanych danych, a co za tym idzie, zwiększa wydajność. W rzeczywistych scenariuszach, takie zapytania są kluczowe w aplikacjach, gdzie konieczne jest uzyskanie pełnych danych dotyczących mieszkańców i ich adresów bez zbędnych informacji. Dobre praktyki SQL sugerują, aby zawsze wybierać tylko te kolumny, które są potrzebne, co pomaga w optymalizacji zasobów serwera i poprawie szybkości przetwarzania zapytań. JOIN jest preferowany nad starym stylem, jakim jest użycie przecinków i warunku w WHERE, z powodu lepszej czytelności i mniejszej podatności na błędy, co czyni kod bardziej zrozumiałym i łatwiejszym do utrzymania.

Pytanie 7

W trakcie weryfikacji stron internetowych nie analizuje się

A. funkcjonowania linków
B. źródeł pochodzenia narzędzi edytorskich
C. błędów składniowych w kodzie
D. zgodności z różnymi przeglądarkami
Walidacja stron internetowych jest procesem, który ma na celu zapewnienie, że strona internetowa jest poprawnie skonstruowana i zgodna z ustalonymi standardami, co z kolei wpływa na jej funkcjonalność oraz dostępność. W tym kontekście analiza błędów składni kodu jest kluczowa, ponieważ nieprawidłowa składnia może prowadzić do błędów renderingowych w przeglądarkach, co z kolei negatywnie wpływa na doświadczenia użytkowników. Podobnie, sprawdzanie działania linków jest istotne, ponieważ nieaktywe lub uszkodzone linki mogą prowadzić do frustracji użytkowników oraz wyniszczającego wpływu na SEO. Dodatkowo, zgodność z przeglądarkami jest fundamentalnym aspektem walidacji, gdyż różne przeglądarki mogą interpretować kod HTML i CSS w odmienny sposób. Zaniedbanie tych aspektów może skutkować problemami z wyświetlaniem strony czy jej funkcjonalnością. Typowym błędem myślowym, który prowadzi do niewłaściwych wniosków, jest przekonanie, że źródło narzędzi edytorskich - czy to komercyjne, czy open-source - ma bezpośredni wpływ na jakość kodu. Prawda jest taka, że to programista jest odpowiedzialny za jakość tworzonych rozwiązań, a nie samo narzędzie. Również, często myli się korzyści płynące z używania profesjonalnego edytora kodu z jego wpływem na proces walidacji, co prowadzi do niewłaściwego podejścia do oceny jakości strony internetowej.

Pytanie 8

Które z komend przyznaje najniższy poziom uprawnień dla użytkownika uczen w zakresie modyfikacji danych oraz struktury tabeli?

A. GRANT INSERT, DROP ON szkola.przedmioty TO uczen
B. GRANT ALTER, SELECT ON szkola.przedmioty TO uczen
C. GRANT SELECT ON szkola.przedmioty TO uczen
D. DRANT DROP ON szkola.przedmioty TO uczen
Wszystkie pozostałe polecenia przyznają użytkownikowi uczeń szerszy zakres uprawnień, co prowadzi do większego ryzyka nieautoryzowanej modyfikacji danych. Polecenie DRANT DROP ON szkola.przedmioty TO uczen jest nieprawidłowe, ponieważ DRANT nie jest poprawnym poleceniem SQL, co czyni jego interpretację niemożliwą. W kontekście administracji bazami danych, DROP oznacza usunięcie całej tabeli, co w przypadku użytkownika uczeń może prowadzić do katastrofalnych skutków, gdyż może on przypadkowo lub celowo usunąć istotne dane. Kolejne polecenie GRANT INSERT, DROP ON szkola.przedmioty TO uczen przyznaje prawo do wstawiania nowych danych oraz usuwania tabeli. Takie uprawnienia są zdecydowanie nieodpowiednie dla użytkownika uczeń. Umożliwiają one nie tylko dodawanie nieautoryzowanych rekordów, ale także ich usuwanie, co narusza zasady bezpieczeństwa i integralności danych. Podobnie, GRANT ALTER, SELECT ON szkola.przedmioty TO uczen przyznaje prawo do modyfikacji struktury tabeli, co oznacza, że uczeń mógłby zmieniać kolumny, dodawać nowe oraz wprowadzać zmiany, które mogą wpływać na funkcjonowanie całej bazy danych. Prawo do ALTER jest jednym z najszerszych uprawnień w SQL i nie powinno być przyznawane użytkownikom, którzy nie są administratorami, aby zapewnić pełną kontrolę nad bazą danych.

Pytanie 9

Wykonano następującą kwerendę na tabeli Pracownicy:

SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;

Na tabeli Pracownicy, której wiersze zostały pokazane na obrazie, wykonano przedstawioną kwerendę SELECT. Które dane zostaną wybrane?

idimienazwiskostanowisko
1AnnaKowalska1
2MonikaNowak2
3EwelinaNowakowska2
4AnnaPrzybylska3
5MariaKowal3
6EwaNowacka4
A. Anna, Maria, Ewa.
B. Tylko Maria.
C. Tylko Anna.
D. Monika, Ewelina, Maria.
Gratulacje, udzielona odpowiedź jest prawidłowa! Wykonana kwerenda SQL 'SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;' zwraca imiona pracowników, którzy albo mają nazwisko 'Kowal', albo zajmują stanowisko o numerze większym niż 2. W kontekście przedstawionej tabeli pracowników, taka kwerenda zwróci nam poprawną odpowiedź 'Anna, Maria, Ewa'. To dlatego, że Anna pracuje na stanowisku 3, co jest większe niż 2, Maria ma nazwisko 'Kowal', a Ewa pracuje na stanowisku 4, które jest również większe niż 2. SQL jako język zapytań pozwala na efektywne zarządzanie danymi, niezależnie od skomplikowania zapytania. W praktyce, gdy mamy do czynienia z dużym zbiorem danych, takie zapytania pomagają w szybkim filtrowaniu i dostępie do potrzebnych informacji. Dobrym standardem jest wymyślanie i testowanie zapytań SQL w celu zrozumienia, jakie dane zostaną zwrócone, zanim zapytanie zostanie użyte w prawdziwej aplikacji lub systemie.

Pytanie 10

Baza danych zawiera tabelę uczniowie z kolumnami: imie, nazwisko, klasa. Jakie polecenie SQL powinno być użyte, aby wyświetlić imiona i nazwiska uczniów, których nazwiska zaczynają się na literę M?

A. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN "M%"
B. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN "M%"
C. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE "M%"
D. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko = "M%"
Wybór innych opcji jest błędny z kilku powodów związanych z niewłaściwym zastosowaniem operatorów oraz składni SQL. W przypadku polecenia SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN "M%", pojawia się mylne rozumienie zastosowania klauzuli ORDER BY. Ta klauzula jest używana do sortowania wyników zapytania, a nie do filtrowania ich na podstawie warunków. Operator IN służy do sprawdzania, czy wartość znajduje się w określonym zbiorze danych, ale nie współdziała poprawnie z wzorcami, takimi jak "M%", które wymagają użycia LIKE. Podobnie, w odpowiedzi SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN "M%", użycie IN jest niewłaściwe, ponieważ nie można stosować wildcardów w tym kontekście. Ostatecznie, SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko = "M%" również nie jest trafnym podejściem, ponieważ operator = wymaga dokładnego dopasowania, a nie porównania na podstawie wzorca. Powszechnym błędem jest brak zrozumienia zasięgu operatorów w SQL oraz ich właściwej aplikacji w kontekście zapytań, co prowadzi do nieefektywnego uzyskiwania danych. Znalezienie właściwego rozwiązania wymaga zrozumienia, jak zastosować odpowiednie operatory w celu efektywnego przeszukiwania i filtrowania danych w bazach danych.

Pytanie 11

W języku CSS zdefiniowano styl. Sformatowana stylem sekcja będzie zawierała obramowanie o szerokości

div { border: solid 2px blue;
    margin: 20px;             }
A. 20 px oraz marginesy wewnątrz tego obramowania.
B. 2 px oraz marginesy na zewnątrz tego obramowania.
C. 2 px oraz marginesy wewnątrz tego obramowania.
D. 20 px oraz marginesy na zewnątrz tego obramowania.
Gratulacje, twoja odpowiedź jest poprawna! W CSS obramowanie (border) i margines (margin) są dwoma różnymi typami przestrzeni, które możemy zdefiniować wokół elementu. W tym pytaniu dokładnie określono styl obramowania jako linię ciągłą o szerokości 2 piksele. W praktyce jest to cienka linia otaczająca element na stronie. Z kolei margines zdefiniowany jako 20 pikseli to przestrzeń między obramowaniem a następnym elementem. Jest to zgodne ze standardami CSS, które mówią, że marginesy znajdują się zawsze na zewnątrz obramowania. To dlaczego '2 px oraz marginesy na zewnątrz tego obramowania' jest poprawną odpowiedzią. W praktyce, kontrolowanie obramowania i marginesów pozwala nam na precyzyjne ułożenie elementów na stronie, co jest kluczowym aspektem tworzenia responsywnych, atrakcyjnych stron internetowych.

Pytanie 12

W CSS, aby określić typ czcionki, powinno się zastosować właściwość

A. font-size
B. font-family
C. font-style
D. font-face
Właściwość 'font-family' w CSS jest kluczowa dla określenia kroju czcionki, który ma być używany na stronie internetowej. Dzięki tej właściwości możemy wskazać jedną lub więcej czcionek, które będą stosowane dla danego elementu. Wartością może być nazwa konkretnej czcionki, na przykład 'Arial', lub rodzina czcionek, jak 'sans-serif'. Przykład użycia to: 'font-family: Arial, sans-serif;'. W przypadku braku dostępności danej czcionki, przeglądarka wybierze następną z listy, co pozwala na zapewnienie spójności i czytelności tekstu na różnych urządzeniach. Zgodnie z najlepszymi praktykami, zaleca się użycie kilku opcji czcionek, aby zapewnić lepszą dostępność. Warto również pamiętać, aby unikać stosowania zbyt wielu różnych krojów czcionek, co mogłoby wpływać negatywnie na estetykę i czytelność strony. Użycie 'font-family' w połączeniu z innymi właściwościami, takimi jak 'font-size' czy 'font-weight', pozwala na pełne dostosowanie wyglądu tekstu zgodnie z wymaganiami projektu.

Pytanie 13

W znaczniku meta w miejsce kropek należy wpisać

Ilustracja do pytania
A. streszczenie treści strony
B. nazwa edytora
C. język dokumentu
D. informację o dostosowaniu do urządzeń mobilnych
W znaczniku meta nie umieszcza się nazwy edytora, ponieważ znaczniki meta służą do przekazywania informacji o stronie internetowej dla przeglądarek i wyszukiwarek, a nie o narzędziach użytych do jej edycji. Nazwa edytora jest niezwiązana z funkcjonowaniem strony lub jej indeksowaniem przez wyszukiwarki. Język dokumentu jest określany za pomocą atrybutu lang w znaczniku html, a nie w meta tagu. Atrybut lang wspomaga przeglądarki i narzędzia asystujące w określeniu języka treści, co jest niezbędne do poprawnego wyświetlania i przetwarzania tekstu. Informacja o dostosowaniu do urządzeń mobilnych również nie jest umieszczana w znaczniku meta description. Zamiast tego stosuje się znacznik viewport, który instruuje przeglądarki mobilne, jak skalować i wyświetlać stronę. Poprawne użycie znacznika viewport jest kluczowe dla responsywności strony i jej optymalnego wyświetlania na różnych urządzeniach. Niepoprawne zrozumienie tych zastosowań może prowadzić do błędnego konstruowania stron, co wpływa na ich widoczność i funkcjonalność w różnych środowiskach internetowych. Każdy znacznik HTML ma określone funkcje i zastosowania, które są często regulowane przez standardy W3C i najlepsze praktyki w branży web developmentu. Zrozumienie tych zasad pozwala na tworzenie efektywnych i zgodnych z normami stron internetowych.

Pytanie 14

Zgodnie z zasadami ACID, odnoszącymi się do przeprowadzania transakcji, wymóg trwałości (ang. durability) wskazuje, że

A. w sytuacji naruszenia spójności bazy danych transakcja eliminuje tabele z kluczami obcymi
B. transakcja może w pewnych okolicznościach być rozdzielona na dwa niezależne etapy
C. dane zatwierdzone przez transakcję powinny być dostępne niezależnie od tego, co się wydarzy po jej zakończeniu
D. w trakcie realizacji transakcji dane mogą być zmieniane przez inne transakcje
Wymóg trwałości (durability) w kontekście właściwości ACID oznacza, że po zatwierdzeniu transakcji, wszystkie zmiany dokonane na danych muszą być utrwalone w trwałym magazynie danych, a ich dostępność nie może być zagrożona przez awarie systemu, takie jak utrata zasilania czy awarie oprogramowania. Przykładem może być system bankowy, gdzie po wykonaniu operacji przelewu, saldo konta musi być natychmiastowo zaktualizowane i dostępne w systemie, niezależnie od tego, co wydarzy się później. W praktyce, wiele systemów zarządzania bazami danych, takich jak PostgreSQL czy MySQL, wykorzystuje mechanizmy logowania transakcji oraz techniki replikacji, aby zapewnić, że dane pozostaną spójne i dostępne nawet w obliczu kryzysów. Zgodność z zasadą trwałości jest kluczowa dla utrzymania zaufania użytkowników i stabilności operacyjnej systemów informacyjnych, co jest wspierane przez standardy takie jak ISO/IEC 27001 dotyczące zarządzania bezpieczeństwem informacji.

Pytanie 15

W zapytaniu SQL, umieszczonym w ramce, symbol gwiazdki wskazuje, że w wyniku tego zapytania

Ilustracja do pytania
A. zostaną wyświetlone wszystkie wpisy z tabeli mieszkańcy
B. zostaną wyświetlone wszystkie kolumny tabeli mieszkańcy
C. zostanie pokazane pole o nazwie "*" (gwiazdka)
D. zostanie pominięty warunek dotyczący imienia
W kontekście zapytań SQL często dochodzi do błędów interpretacyjnych związanych z użyciem znaku gwiazdki (*). Niektóre osoby mogą błędnie zakładać, że znak ten ma inne zastosowanie niż wyświetlanie wszystkich kolumn, co prowadzi do nieporozumień. Pierwszym błędnym założeniem jest myśl, że znak gwiazdki zignoruje warunek w klauzuli WHERE; SQL jest językiem deklaratywnym i każde zapytanie wykonuje się zgodnie z jego składnią, uwzględniając podane warunki filtracji danych. Zapytanie SELECT * FROM mieszkańcy WHERE imie='Anna'; zawsze będzie selekcjonować rekordy, gdzie imię jest równe 'Anna', niezależnie od tego, co jest umieszczone po SELECT. Innym błędnym rozumieniem jest przekonanie, że znak gwiazdki wyświetli kolumnę o nazwie '*'. W rzeczywistości SQL nie rozpoznaje '*' jako nazwy kolumny, lecz jako symbol zastępczy dla wszystkich kolumn w tabeli. Takie podejście byłoby przeciwne samej naturze języka SQL, który jest precyzyjny i zorientowany na strukturalne przetwarzanie danych. Dobre praktyki branżowe zalecają także stosowanie jawnego nazywania kolumn w zapytaniach produkcyjnych, co zwiększa czytelność i bezpieczeństwo zapytania, zwłaszcza gdy bazy danych są duże i złożone.

Pytanie 16

W HTML znacznik <i> wywołuje taki sam efekt wizualny jak znacznik

A. <u>
B. <pre>
C. <strong>
D. <em>
Zastosowanie znaczników <u>, <pre> oraz <strong> w kontekście odwzorowania efektu znacznika <i> jest mylące ze względu na różnice w semantyce i wizualizacji. Znacznik <u> (underline) stosowany jest do podkreślenia tekstu, ale nie wprowadza on żadnych aspektów znaczeniowych. Używanie <u> zazwyczaj jest odradzane w nowoczesnym HTML, ponieważ może zostać zinterpretowane przez użytkowników jako link, co wprowadza w błąd. Znacznik <strong> (strong emphasis) wskazuje na szczególne znaczenie tekstu, co również nie odpowiada efektowi kursywy, a wręcz przeciwnie – ma na celu przyciągnięcie uwagi odbiorcy do ważnych informacji. Warto zauważyć, że <pre> (preformatted text) służy do wyświetlania tekstu w stałym formacie, co nie ma związku z efektem kursywy. Wprowadzenie do dokumentu HTML takich znaczników, które nie odpowiadają zamierzonym funkcjom, wprowadza chaos w strukturę semantyczną i może prowadzić do problemów z dostępnością. Przykładowe błędy myślowe obejmują mylenie efektów wizualnych z ich semantycznym znaczeniem, co jest kluczowe dla prawidłowego używania HTML. Zrozumienie różnic między tymi znacznikami jest istotne dla twórców stron internetowych, aby zapewnić, że ich treść jest nie tylko estetycznie przyjemna, ale również funkcjonalna i dostępna.

Pytanie 17

Jaką wartość zwróci funkcja zao, która została zdefiniowana w języku C++, gdy zostanie wywołana z argumentem 3.55? int zaofloat x){returnx+0.5);}

A. 4
B. 3.5
C. 4.05
D. 3
Wartości zwracane przez funkcje w C++ mogą być mylące, gdy nie zrozumiemy, jak działa zaokrąglanie i operacje na liczbach zmiennoprzecinkowych. Rozważając odpowiedzi 3, 3.5 i 4.05, można zauważyć, że każda z tych odpowiedzi opiera się na błędnym zrozumieniu zastosowania funkcji zaofloat. Odpowiedź 3 wynika z błędu myślowego, który zakłada, że dodanie 0.5 do wartości 3.55 skutkuje zmniejszeniem wartości do najbliższej liczby całkowitej, co jest niezgodne z zasadami matematycznymi. Z kolei odpowiedź 3.5 może wydawać się logiczna dla kogoś, kto może pomyśleć, że dodanie 0.5 w jakimś sensie zmienia wartość do tej liczby, jednak w rzeczywistości, gdyby tak było, funkcja nie spełniałaby swojej podstawowej roli. Odpowiedź 4.05, mimo że jest poprawnym wynikiem dodania do 3.55 wartości 0.5, nie jest właściwą odpowiedzią w kontekście pytania, ponieważ nie uwzględnia zasady zaokrąglania do najbliższej liczby całkowitej. W praktyce programiści często napotykają podobne problemy i dlatego dobrym zwyczajem jest, aby jasno określać wymagania dotyczące wyników i stosować odpowiednie metody zaokrąglania, kiedy to konieczne, aby uniknąć nieporozumień.

Pytanie 18

Wyrażenie JavaScript:

document.write(5==='5');
Co zostanie wyświetlone?
A. false
B. true
C. 1
D. 0
Odpowiedzi, które wybrałeś, jak '0', 'true' i '1', pokazują, że mogło dojść do pewnych nieporozumień w zrozumieniu, jak działają operatory porównania w JavaScript. Na przykład '0' może sugerować, że sądzisz, że wynik jest liczbowy, a nie logiczny. Warto pamiętać, że w JavaScript liczby i wartości logiczne to różne typy danych. '0' oznacza fałsz, więc to nie jest właściwy wynik. Odpowiedź 'true' świadczy o błędnym przekonaniu, że porównywane wartości są takie same, co nie jest zgodne z tym, co robi '===' . Natomiast odpowiedź '1' sugeruje, że mogłeś pomylić wynik porównania z kodem prawdy w formie 1, co zdarza się w niektórych językach, ale w JavaScript to nie działa. Kluczowe jest to, że '===' porównuje zarówno wartości, jak i typy, więc porównując liczbę i ciąg znaków, dostajemy 'false'. W JavaScript mamy 'true' i 'false', a porównania powinny uwzględniać typy danych, żeby uniknąć zamieszania. Fajnie byłoby, gdybyś zgłębił temat typów danych w JavaScript i sam spróbował różnych porównań, żeby lepiej to ogarnąć.

Pytanie 19

Zapis CSS postaci:

 ul {
    list-style-image: url('rys.gif');
}

sprawi, że na stronie internetowej
A. każdy z punktów listy będzie miał osobne tło pobrane z grafiki rys.gif
B. rys.gif będzie stanowił ramkę dla listy nienumerowanej.
C. punktorem listy nienumerowanej będzie rys.gif
D. wyświetli się rysunek rys.gif jako tło listy nienumerowanej.
Gratulacje! Poprawnie zidentyfikowałeś, że w podanym kodzie CSS, obrazek 'rys.gif' będzie służył jako punktor listy nienumerowanej. Według standardów CSS, właściwość list-style-image jest używana do określenia obrazka, który będzie używany jako punktor w liście nienumerowanej. Zasada ta jest bardzo przydatna, kiedy chcemy stworzyć niestandardowe punktory listy, które lepiej pasują do designu naszej strony. Możemy użyć dowolnego obrazka, który jest dostępny online lub zasobu z naszej lokalnej przestrzeni roboczej. Pamiętaj jednak, że obrazek powinien być mały i czytelny. W tym konkretnym przypadku, obrazek 'rys.gif' zostanie ustawiony jako punktor dla każdego elementu listy <li> wewnątrz listy nienumerowanej <ul>. Używając tej techniki, możemy stworzyć atrakcyjniejsze i bardziej interaktywne listy na naszej stronie internetowej.

Pytanie 20

W przedstawionym kodzie HTML zastosowany styl CSS jest stylem ```

To jest przykładowy akapit.

```
A. dynamicznym
B. nagłówkowym
C. zewnętrznym
D. lokalnym
W kontekście analizy odpowiedzi, nagłówkowy styl CSS odnosi się do stylów aplikowanych do elementów nagłówkowych, takich jak <h1>, <h2>, itp. Nagłówki są często wykorzystywane do strukturalizacji treści na stronie, jednak w tym przypadku, ponieważ styl dotyczy konkretnego akapitu, a nie nagłówka, ta odpowiedź jest błędna. Dynamiczne style natomiast są związane z interaktywnymi efektami, które mogą być wprowadzane za pomocą JavaScript czy CSS3, takie jak animacje czy zmiany stylów w odpowiedzi na zdarzenia. W podanym przykładzie nie ma mowy o dynamice, ponieważ styl jest statyczny i przypisany na stałe do elementu. Zewnętrzne style są definiowane w oddzielnych plikach CSS, które są dołączane do dokumentu HTML. To podejście pozwala na większą elastyczność i łatwiejsze zarządzanie stylem w projektach z większą ilością stron. W przeciwieństwie do tego podejścia, lokalne style są przypisane bezpośrednio do elementu, co czyni je mniej odpowiednimi w kontekście organizacji stylów w większych projektach. W skrócie, każda z niepoprawnych odpowiedzi odnosi się do różnych aspektów stylizacji CSS, które nie mają zastosowania w analizowanym przykładzie, a zrozumienie tych różnic jest kluczowe dla efektywnego korzystania z CSS w praktyce.

Pytanie 21

W języku JavaScript, funkcja Math.pow() wykorzystuje się do obliczenia

A. wartości przybliżonej liczby
B. wartości bezwzględnej liczby
C. pierwiastka kwadratowego liczby
D. potęgi liczby
Wybierając odpowiedzi, które nie są zgodne z funkcją Math.pow(), można popełnić pewne typowe błędy myślowe. Odpowiedź dotycząca wartości bezwzględnej liczby nie ma związku z działania funkcji Math.pow(). Funkcja ta nie jest zaprojektowana do obliczania wartości bezwzględnej, co jest zadaniem funkcji Math.abs(). Wartość bezwzględna to odległość liczby od zera na osi liczbowej, a obliczenia potęgowania nie mają tutaj zastosowania. Z kolei pierwiastek kwadratowy liczy się zupełnie inaczej. Aby obliczyć pierwiastek kwadratowy z liczby, należy użyć funkcji Math.sqrt(), która zwraca liczbę, która podniesiona do kwadratu daje oryginalną liczbę. Zastosowanie Math.pow() do wyznaczenia pierwiastka kwadratowego, na przykład Math.pow(9, 0.5), daje prawidłowy wynik, ale jest mniej klarowne i mniej wydajne niż użycie dedykowanej funkcji. Ostatnia opcja, dotycząca wartości przybliżonej liczby, również jest błędna, ponieważ Math.pow() nie służy do przybliżania wartości, a jedynie do podnoszenia jej do odpowiedniej potęgi. Ważne jest, aby zrozumieć, jakie funkcje są dostępne w JavaScript i jak mają być stosowane w odpowiednich kontekstach, aby uniknąć nieporozumień oraz poprawić czytelność i efektywność kodu w projektach programistycznych.

Pytanie 22

Edytor, który spełnia kryteria WYSIWYG, powinien umożliwiać

A. publikację strony na serwerze za pomocą wbudowanego klienta FTP
B. tworzenie podstawowych grafik wektorowych
C. osiągnięcie zbliżonego rezultatu tworzonej strony do jej wyglądu w przeglądarce internetowej
D. przygotowanie plików dźwiękowych przed ich umieszczeniem na stronie internetowej
Odpowiedzi dotyczące obróbki plików dźwiękowych, publikacji na serwerze FTP oraz tworzenia podstawowej grafiki wektorowej nie są zgodne z podstawowymi funkcjonalnościami edytorów WYSIWYG. Edytory te koncentrują się na treści wizualnej i układzie strony, a nie na specyficznych zadaniach związanych z multimediami czy publikacją. Obróbka plików dźwiękowych wymaga zaawansowanych narzędzi audio, które są poza zakresem WYSIWYG. Takie programy są projektowane do edycji treści tekstowych i graficznych w kontekście układu, a nie jako kompleksowe środowiska do pracy z dźwiękiem. Publikacja stron internetowych na serwerze FTP jest aspektem bardziej związanym z hostingiem i zarządzaniem plikami, a nie z samym tworzeniem treści. Ponadto, tworzenie grafiki wektorowej wymaga wyspecjalizowanych narzędzi graficznych, takich jak Adobe Illustrator, które są dedykowane do grafiki wektorowej, a nie funkcji edytorów WYSIWYG. Błędne wnioski wynikają często z mylnego postrzegania roli edytora WYSIWYG, który nie powinien być traktowany jako uniwersalne narzędzie do wszelkich aspektów tworzenia stron internetowych. Właściwe zrozumienie jego funkcji pozwala na efektywne wykorzystanie edytorów do projektowania stron, a nie do zadań, do których nie zostały zaprojektowane.

Pytanie 23

Aby strona WWW mogła być przesyłana do przeglądarki w formie zaszyfrowanej, należy zastosować protokół

A. HTTP
B. HTTPS
C. SFTP
D. SSH
HTTPS (Hypertext Transfer Protocol Secure) to protokół komunikacyjny, który umożliwia bezpieczne przesyłanie danych pomiędzy przeglądarką internetową a serwerem. Jego podstawowym zadaniem jest zapewnienie poufności i integralności informacji, co osiąga dzięki zastosowaniu szyfrowania. HTTPS korzysta z protokołu SSL/TLS do szyfrowania połączenia, co oznacza, że dane przesyłane pomiędzy użytkownikiem a serwerem są chronione przed podsłuchiwaniem i modyfikacją. Na przykład, w przypadku logowania się do bankowości internetowej, użycie HTTPS zapewnia, że nasze dane logowania są bezpieczne przed potencjalnymi atakami. Zastosowanie HTTPS stało się standardem w branży webowej, zwłaszcza po wprowadzeniu przez Google polityki priorytetowego traktowania stron zabezpieczonych tym protokołem w wynikach wyszukiwania. To nie tylko wzmacnia bezpieczeństwo, ale także zwiększa zaufanie użytkowników do witryn. Standardy dotyczące bezpieczeństwa w sieci zalecają użycie HTTPS jako domyślnego protokołu dla wszystkich stron internetowych, co jest zgodne z najlepszymi praktykami w zakresie ochrony danych.

Pytanie 24

Aby utworzyć tabelę w systemie baz danych, trzeba użyć komendy SQL

A. NEW TABLE
B. ADD TABLE
C. CREATE TABLE
D. PLUS TABLE
Żeby stworzyć tabelę w bazie danych, musisz użyć polecenia CREATE TABLE. To jest taki standard w SQL, który jest mega popularny w zarządzaniu bazami danych. Jak używasz tego polecenia, to definiujesz, jak ma wyglądać twoja tabela – nazwę, kolumny i jakie dane będą w tych kolumnach. Na przykład, jeśli chcesz mieć tabelę z informacjami o użytkownikach, będziesz mógł napisać coś takiego: `CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100));`. Fajnie jest również ustawić klucz główny (PRIMARY KEY), bo to zabezpiecza unikalność danych w tabeli. To wszystko jest zgodne z zasadami normalizacji danych, co pomaga uniknąć dublowania informacji i poprawia integralność bazy. Tak więc, znajomość CREATE TABLE to podstawa, gdy pracujesz z bazami danych, bo to klucz do dalszego działania z danymi, ich modyfikowania i zarządzania nimi.

Pytanie 25

Jakiego języka należy użyć, aby stworzyć skrypt realizowany po stronie klienta w przeglądarki internetowej?

A. Perl
B. JavaScript
C. Python
D. PHP
No, wybór języka programowania do pisania skryptów po stronie klienta powinien być dobrze przemyślany. Python, pomimo że bardzo popularny i wszechstronny, to najczęściej jest używany po stronie serwera, na przykład w aplikacjach backendowych albo w analizie danych. W web development nie za bardzo się to sprawdza, chyba że mówimy o frameworkach jak Django czy Flask, które w przeglądarkach nie działają. A co do Perla, to kiedyś był na topie w programowaniu webowym, ale teraz jego użycie w tym kontekście jest niemal zerowe. Perl skupia się głównie na przetwarzaniu tekstu i skryptach serwerowych. PHP, chociaż powszechnie używane do tworzenia aplikacji webowych, również działa po stronie serwera, generując HTML, który potem idzie do przeglądarki. Więc, jak wybierzesz niewłaściwy język, to może być trudność przy wdrażaniu funkcji interaktywnych i w efekcie frustracja przy tworzeniu aplikacji. Dlatego ważne jest, żeby wiedzieć, że JavaScript to jedyny język, który ma pełne wsparcie dla dynamicznych interakcji w przeglądarkach, a ignorowanie go przy tworzeniu skryptów po stronie klienta skończy się kiepskimi rozwiązaniami.

Pytanie 26

Jakie są odpowiednie kroki w odpowiedniej kolejności, które należy podjąć, aby nawiązać współpracę pomiędzy aplikacją internetową po stronie serwera a bazą danych SQL?

A. wybór bazy danych, nawiązanie połączenia z serwerem baz danych, zapytanie do bazy - wyświetlane na stronie WWW, zamknięcie połączenia
B. nawiązanie połączenia z serwerem baz danych, wybór bazy, zapytanie do bazy - wyświetlane na stronie WWW, zamknięcie połączenia
C. zapytanie do bazy, wybór bazy, wyświetlenie na stronie WWW, zamknięcie połączenia
D. wybór bazy, zapytanie do bazy, nawiązanie połączenia z serwerem baz danych, wyświetlenie na stronie WWW, zamknięcie połączenia
Analizując niepoprawne odpowiedzi, można zauważyć, że każda z nich zawiera fundamentalne błędy w kolejności operacji. W przypadku pierwszej odpowiedzi, zaczynanie od zapytania do bazy danych bez wcześniejszego nawiązania połączenia z serwerem jest nie tylko niepraktyczne, ale wręcz niemożliwe. System nie jest w stanie wykonać jakiegokolwiek zapytania, jeśli nie istnieje aktywne połączenie, co prowadzi do błędów wykonania. W drugiej odpowiedzi również występuje błąd, polegający na wysyłaniu zapytania przed wybraniem bazy danych. W rzeczywistości, aby system mógł poprawnie zrealizować zapytanie, musi najpierw wiedzieć, z jaką bazą ma do czynienia. Ostatnia z niepoprawnych odpowiedzi, która sugeruje wybór bazy danych przed nawiązaniem połączenia, również jest błędna, ponieważ nie można wybrać bazy bez aktywnego połączenia z serwerem. W praktyce, każda z tych odpowiedzi nie uwzględnia kluczowych zasad dotyczących zarządzania połączeniami z bazami danych, takich jak zasady dotyczące transakcji oraz efektywnego zarządzania zasobami, co jest niezbędne w kontekście wydajnych aplikacji internetowych.

Pytanie 27

W systemach baz danych, aby przedstawić dane spełniające określone kryteria, należy stworzyć

A. relację
B. formularz
C. raport
D. makropolecenie
Raport w bazach danych jest narzędziem, które pozwala na prezentację danych w formacie dostosowanym do konkretnych potrzeb użytkownika. Jego głównym celem jest przedstawienie informacji, które spełniają określone kryteria, co jest niezwykle istotne w kontekście analizy danych. Raporty mogą być generowane na podstawie różnych źródeł danych, a ich struktura może obejmować tabele, wykresy i podsumowania. W praktyce, raporty są często używane w procesach decyzyjnych, na przykład w raportowaniu wyników finansowych, analizie sprzedaży czy monitorowaniu wydajności operacyjnej. Wiele systemów zarządzania bazami danych (DBMS) oferuje funkcje do tworzenia raportów, co jest zgodne z najlepszymi praktykami w dziedzinie analizy i wizualizacji danych. Dobrze zbudowany raport nie tylko dostarcza kluczowych informacji, ale także umożliwia efektywniejsze podejmowanie decyzji poprzez dostarczenie kontekstu i analizy danych.

Pytanie 28

Podaj zapytanie SQL, które tworzy użytkownika sekretarka na localhost z hasłem zaq123

CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"; 
A. CREATE USER `sekretarka`@`localhost` IDENTIFY BY `zaq123`
B. CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"
C. CREATE USER 'sekretarka'@'localhost' IDENTIFIED `zaq123`
D. CREATE USER `sekretarka`@`localhost` IDENTIFIED BY 'zaq123'
Użycie nieprawidłowych składni w zapytaniach SQL może prowadzić do nieporozumień i błędów w konfiguracji użytkowników. W przypadku podanych błędnych odpowiedzi, brak użycia frazy 'IDENTIFIED BY' z odpowiednio umieszczonym hasłem w pojedynczych cudzysłowach jest kluczowym błędem. Na przykład, w jednym z przypadków zastosowano słowo 'IDENTIFY', które jest niepoprawne i nie jest częścią składni SQL dla tworzenia użytkowników. Różnice w użyciu pojedynczych cudzysłowów i backticks również mają znaczenie; backticks są używane do oznaczania nazw obiektów w SQL, podczas gdy hasła powinny być otoczone pojedynczymi cudzysłowami. Ponadto, znaki takie jak ` zaq123` w niektórych odpowiedziach sugerują mylne zrozumienie zasad definiowania danych tekstowych w SQL. Niepoprawne podejście do tworzenia użytkowników może skutkować problemami w zakresie bezpieczeństwa, ponieważ niewłaściwie skonfigurowani użytkownicy mogą uzyskiwać nieautoryzowany dostęp do systemów. Właściwe zrozumienie składni SQL oraz terminologii jest kluczowe do skutecznego zarządzania bazami danych i zapewnienia odpowiedniego poziomu ochrony informacji.

Pytanie 29

Po wykonaniu kodu PHP zostanie wyświetlona obecna data, zawierająca jedynie

echo date("Y");
A. rok
B. dzień
C. miesiąc i rok
D. dzień oraz miesiąc
Funkcja date w PHP jest super przydatna, bo pozwala na ładne formatowanie daty i godziny. Jak podasz argument Y, to dostaniesz czterocyfrowy rok, co jest zgodne z ISO 8601. To ważne, bo w różnych systemach, jak bazy danych czy księgowość, musisz mieć jasność, który rok jest właściwy. W PHP sporo osób korzysta z tej funkcji, żeby dynamicznie wyciągać datę – to świetne, zwłaszcza gdy tworzysz raporty czy logujesz różne zdarzenia w aplikacjach webowych. Warto też pamiętać, że date Y to tylko jedna z wielu opcji, jakie masz w PHP. Programiści mają dużą swobodę w dobieraniu formatu daty, co daje im możliwość dostosowania wszystkiego do potrzeb projektu. A dobrze sformatowane daty są nie tylko zgodne ze standardami, ale też ułatwiają życie użytkownikom końcowym, bo są jasne i jednoznaczne.

Pytanie 30

Funkcję o nazwie policz, napisaną w PHP, wywołano z argumentem $Z = 1. Jaki wynik zostanie zwrócony? ```function policz($Z) { while($Z < 5) { $Z += 2 * $Z + 1; } return $Z; }```

A. 1
B. 7
C. 13
D. 4
Wybór nieprawidłowych odpowiedzi często wynika z niepełnego zrozumienia działania pętli oraz sposobu aktualizacji zmiennych w programie. Odpowiedzi takie jak 7 czy 4 mogą sugerować, że osoba odpowiadająca mogła mylnie obliczyć pierwszą iterację pętli, myśląc, że $Z wzrasta tylko o 1, a nie o wartość wynikającą z równania 2 * $Z + 1. Z kolei odpowiedź 1 jest efektem nieznajomości zasady działania pętli while, ponieważ opiera się na niezaktualizowanej wartości $Z, co prowadzi do błędnych wniosków o braku zmian w wartościach zmiennej. Takie błędne rozumienie może prowadzić do sytuacji, w których programista podejmuje niewłaściwe decyzje przy implementacji algorytmów, co w dłuższej perspektywie wpływa na efektywność oraz prawidłowość działania aplikacji. Ważne jest, aby podczas korzystania z pętli zrozumieć, jak wartości zmiennych są aktualizowane w każdej iteracji oraz jakie są warunki przerywające działanie pętli. Odpowiednie zrozumienie tych mechanizmów jest kluczowe dla skutecznego programowania w PHP oraz w innych językach programowania, gdzie podobne struktury kontrolne są wykorzystywane.

Pytanie 31

W HTML wprowadzono tag a. Co oznacza wartość nofollow w atrybucie rel?

<a href="http://website.com" rel="nofollow">link</a>
A. jest komunikatem dla robota wyszukiwarki Google, by nie śledził tego linku
B. jest wskazówką dla przeglądarki internetowej, aby nie interpretowała słowa 'link' jako hiperłącza
C. oznacza, że kliknięcie na link nie przekieruje do strony website.com
D. oznacza, że naciśnięcie na link spowoduje jego otwarcie w nowej karcie przeglądarki
Atrybut nofollow w linkach jest bardzo ważny dla tego, jak wyszukiwarki podchodzą do linków na stronach. Wprowadzenie go miało na celu ograniczenie spamu w komentarzach i w miejscach, gdzie autorzy stron nie chcieli, żeby te linki były traktowane jako polecenia. Gdy Google napotyka link z nofollow, to nie przekaże PageRank do strony, do której prowadzi. W praktyce oznacza to, że taki link nie pomoże w pozycjonowaniu tej docelowej strony. To jest super przydatne dla adminów, szczególnie przy linkach w komentarzach czy reklamach, gdzie nie zawsze można sprawdzić jakość tych linków. Dobrze jest stosować nofollow, kiedy link pojawia się automatycznie lub gdy nie jesteśmy pewni jego wartości merytorycznej.

Pytanie 32

W poniższym kodzie PHP wykonano operację na bazie danych. Której funkcji należy użyć, aby pobrać liczbę zmienionych w tabeli wierszy?

$zapytanie="UPDATE kadra SET stanowisko='Programista' WHERE id < 10";
mysqli_query($db, $zapytanie);
A. mysqli_field_count()
B. mysqli_use_result()
C. mysqli_num_rows()
D. mysqli_affected_rows()
Gratulacje! Wybrałeś poprawną odpowiedź, która jest funkcją mysqli_affected_rows(). Ta funkcja jest specyficzna dla języka PHP i jest używana do zwracania liczby wierszy, które zostały zmienione, dodane lub usunięte przez ostatnie wywołanie funkcji mysqli_query() na serwerze MySQL. W kontekście operacji takich jak INSERT, UPDATE, REPLACE lub DELETE, mysqli_affected_rows() jest nieocenionym narzędziem do śledzenia ilości wykonanych zmian w bazie danych. Dlatego właśnie w przypadku przedstawionego pytania, gdzie w kodzie PHP wykonano operację UPDATE na bazie danych, idealnym rozwiązaniem jest użycie funkcji mysqli_affected_rows() do pobrania liczby zmienionych wierszy. Jest to kluczowe zrozumienie, aby efektywnie manipulować danymi w bazach danych MySQL za pomocą języka PHP.

Pytanie 33

Zaprezentowany kod źródłowy w języku C++ ma na celu wypisanie dla wprowadzanych całkowitych liczb różniących się od zera.

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

Pytanie 34

W języku PHP zapis

// 
pozwala na:
A. dodanie komentarza wieloliniowego
B. użycie tablicy superglobalnej
C. użycie operatora dzielenia bez reszty
D. dodanie komentarza jednoliniowego
W języku PHP zapis <pre>//</pre> służy do wstawiania komentarzy jednoliniowych. Komentarze są istotnym elementem kodu, ponieważ pozwalają programistom na dokumentowanie i wyjaśnianie fragmentów kodu, co ułatwia jego zrozumienie i utrzymanie. W PHP, komentarze jednoliniowe zaczynają się od dwóch ukośników i rozciągają się do końca danej linii. Przykładowo, zapis <pre>// To jest komentarz jednoliniowy</pre> informuje innych programistów, że dany tekst jest komentarzem, który nie zostanie wykonany przez interpreter PHP. Stosowanie komentarzy jest zgodne z najlepszymi praktykami programowania, ponieważ poprawia czytelność kodu oraz pozwala na szybszą analizę struktury i logiki aplikacji. Dobrą praktyką jest dokumentowanie nie tylko skomplikowanych fragmentów, ale również takich, które mogą wydawać się oczywiste, aby zminimalizować ryzyko nieporozumień w przyszłości. Komentarze pomagają także w pracy zespołowej, gdzie wiele osób może pracować nad tym samym projektem.

Pytanie 35

Jakiego typu w języku PHP można użyć do przechowywania wielu wartości z opcją ich indeksowania?

A. double
B. float
C. array
D. boolean
Typy float, double i boolean nie pasują do pytania o to, jak w PHP przechowywać wiele wartości z możliwością ich indeksowania. Float w PHP to liczby zmiennoprzecinkowe, dobre dla wartości z miejscami dziesiętnymi, ale nie nadają się do przechowywania wielu wartości w uporządkowany sposób. Z kolei double to termin używany w innych językach dla liczb zmiennoprzecinkowych o podwójnej precyzji, ale w PHP jest to po prostu float. Tak więc double nie wnosi nic nowego w porównaniu do float. Jeśli chodzi o boolean, to on tylko reprezentuje dwa stany: prawda (true) i fałsz (false). Oczywiście, boolean jest ważny w logice programowania, ale nie pozwala na przechowywanie wielu wartości. Dlatego ani float, ani double, ani boolean nie są odpowiednie, gdy mówimy o przechowywaniu i indeksowaniu wielu wartości w PHP.

Pytanie 36

Dla dowolnego a z przedziału (0, 99) zadaniem funkcji zapisanej w języku JavaScript jest

function fun1(a)
{
    for (n = a; n <= 100; n++)
        document.write(n);
    return n;
}
A. wypisanie wartości zmiennej a oraz zwrócenie wartości zmiennej n
B. wypisanie liczb z przedziału a .. 99 i zwrócenie wartości 100
C. zwrócenie liczb z przedziału a .. 99
D. wypisanie liczb z przedziału a .. 100 i zwrócenie wartości zmiennej n
Wybrane przez Ciebie odpowiedzi są niepoprawne, gdyż nie odzwierciedlają w pełni działania pętli for w JavaScript. Pętla for jest używana do iterowania tyle razy, ile wynosi różnica między 100 a wartością argumentu a, wypisując każdą iterację. Następnie funkcja zwraca wartość o 1 większą niż warunek kończący pętlę (100), co wynosi 101. Błędem było zakładanie, że funkcja zwraca wartości w inny sposób. Przykładowo, jedna z nieprawidłowych odpowiedzi sugerowała, że funkcja zwraca liczby z przedziału a do 99 - jednakże zwracana jest liczba 101. Inna błędna odpowiedź sugerowała, że funkcja wypisuje wartość zmiennej a i zwraca wartość zmiennej n - jednakże wypisywane są liczby od a do 100, a zwracana jest wartość 101. Kolejnym błędem było zakładanie, że funkcja zwraca wartość 100 - co jest nieprawdą, gdyż funkcja zwraca wartość 101. Zrozumienie działania pętli for i funkcji zwracających wartości jest kluczowe dla programowania w JavaScript, dlatego warto poświęcić więcej czasu na praktykę i naukę tych konceptów.

Pytanie 37

char str1[30] = 'Ala ma kota';
printf("%s", str1);
Wskaż, gdzie tkwi błąd w powyższym kodzie napisanym w języku C++?
A. W funkcji printf nie można używać formatowania %s.
B. Do funkcji printf przekazano za mało argumentów.
C. Tekst powinien mieć dokładnie 30 znaków.
D. Tekst powinien być zawarty w cudzysłowie.
Podane odpowiedzi zawierają kilka powszechnych nieporozumień dotyczących języka C/C++. Użycie 30 znaków do definiowania napisu nie jest kluczowe, ponieważ długość napisu może być zmienna, a w przypadku napisu \"Ala ma kota\" jego długość wynosi 13 znaków, co jest znacznie mniej niż 30. Definiowanie napisu w taki sposób nie stwarza problemu, o ile tablica jest wystarczająco duża, aby pomieścić cały napis wraz z terminatorem '\0'. Koncepcja przekazywania argumentów do funkcji printf również jest źle zrozumiana, ponieważ funkcja ta przyjmuje jako argument wskaźnik do napisu, a nie liczbę argumentów. Wspomnienie o formacie %s w funkcji printf jest mylące, ponieważ format procentowy %s jest poprawny i stosowany w celu wyświetlenia łańcucha tekstowego. To są standardowe praktyki w C/C++, a ich nieznajomość może prowadzić do błędnych wniosków. Istotne jest rozumienie, że każdy z tych błędów wynika z niepełnego zrozumienia zasad działania języka, co może prowadzić do trudności w pisaniu poprawnego kodu. Właściwa interpretacja tych zasad jest niezbędna do skutecznego programowania.

Pytanie 38

W języku PHP, dla zmiennych a = 5 oraz b = 3, jakie wyrażenie zwróci wartość zmiennoprzecinkową?

A. a / b
B. a && b
C. a + b
D. a * b
W języku PHP operacje na zmiennych numerycznych mogą prowadzić do różnych typów wyników w zależności od zastosowanego operatora. W przypadku zmiennych a = 5 i b = 3, jeśli wykonamy operację a / b, uzyskamy wynik 1.6666666666667, co jest wartością zmiennoprzecinkową. Operacja dzielenia w PHP zawsze zwraca wynik typu float, gdy jest wykonywana na liczbach całkowitych, o ile nie jest to dzielenie całkowite przez zero. Wartość ta można wykorzystać w różnych kontekstach, np. w obliczeniach finansowych, gdzie precyzyjne wartości dziesiętne są kluczowe. Warto również zauważyć, że PHP automatycznie konwertuje typy, co oznacza, że operacje na mieszanych typach (np. integer i float) również będą skutkować wynikiem o typie float. Przykładem może być sytuacja, w której wynik dzielenia jest dalej używany w operacjach matematycznych, co może znacząco wpłynąć na końcowy rezultat. Z punktu widzenia standardów PHP, operacje arytmetyczne są ściśle określone w dokumentacji i warto zaznajomić się z funkcjami związanymi z operacjami na liczbach, aby w pełni wykorzystać możliwości języka.

Pytanie 39

Funkcja CONCAT() w SQL służy do

A. uzyskiwania podłańcucha ze wskazanego tekstu
B. przycinania tekstu do wyświetlenia
C. usuwania określonego tekstu
D. łączenia tekstów do wyświetlenia
Funkcja CONCAT() w SQL nie ma nic wspólnego z usuwaniem tekstu, przycinaniem go ani wyznaczaniem podłańcuchów. Usunięcie wskazanego tekstu to inaczej operacja związana z funkcją REPLACE lub DELETE, które służą do usuwania fragmentów danych z tabel, a nie ich łączenia. Przycinanie tekstu, z kolei, może być realizowane za pomocą funkcji CHARINDEX lub LEN, które są używane do określenia długości tekstu lub jego pozycji, ale nie mają one zastosowania w kontekście łączenia różnych elementów. Odpowiedź sugerująca, że CONCAT() wyznacza podłańcuchy znaków, również jest mylna, ponieważ do tego celu służą funkcje takie jak SUBSTRING czy LEFT, które pozwalają na wyodrębnianie określonych części tekstu na podstawie pozycji. Typowym błędem myślowym jest mylenie różnych funkcji SQL, które pełnią odrębne role. Należy pamiętać, że każda z tych operacji ma swoje unikalne zastosowanie i są one wykorzystywane w różnych kontekstach. Dlatego przed przystąpieniem do użycia konkretnej funkcji, warto dokładnie zrozumieć jej przeznaczenie i działanie, aby uniknąć nieporozumień i błędów w zapytaniach SQL.

Pytanie 40

Aby uruchomić kod JavaScript w przeglądarce, konieczne jest

A. debugowanie
B. zamiana na kod maszynowy
C. interpretowanie
D. kompilowanie
Wybór odpowiedzi związanej z debugowaniem jest błędny, ponieważ debugowanie to proces identyfikacji i naprawy błędów w kodzie, a nie jego wykonanie. Debugowanie zwykle polega na użyciu narzędzi takich jak przeglądarkowe konsolki developerskie, które pozwalają programistom na analizowanie i poprawianie kodu, ale nie jest to proces, w którym kod jest wykonywany. Z kolei kompilowanie to proces, w którym kod źródłowy jest przetwarzany na kod maszynowy przed jego wykonaniem, co ma miejsce w językach kompilowanych, a nie interpretowanych jak JavaScript. W kontekście JavaScript, nie zachodzi potrzeba kompilacji, ponieważ silnik przeglądarki interpretuje kod w czasie rzeczywistym. Ostatnia niepoprawna odpowiedź dotycząca zamiany na kod maszynowy może wprowadzać w błąd, ponieważ JavaScript nie jest konwertowany na kod maszynowy przed wykonaniem. Chociaż niektóre nowoczesne silniki JavaScript mogą stosować techniki optymalizacji, takie jak JIT (Just-In-Time Compilation), to wciąż jest to proces interpretacji, a nie pełna zamiana na kod maszynowy przed rozpoczęciem działania skryptu. Dlatego odpowiedzi związane z debugowaniem, kompilowaniem i zamianą na kod maszynowy są niepoprawne w kontekście wykonywania kodu JavaScript w przeglądarkach.