Wyniki egzaminu

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

Egzamin zdany!

Wynik: 21/40 punktów (52,5%)

Wymagane minimum: 20 punktów (50%)

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

Która zasada NIE poprawi czytelności kodu?

A. komentarze w trudniejszych fragmentach kodu
B. jedna instrukcja w jednej linii
C. nazwy zmiennych odzwierciedlają ich przeznaczenie
D. pisanie kodu BEZ wcięć i zbędnych enterów
Pozostałe zasady REALNIE poprawiają czytelność, więc nie pasują do pytania. Opisowe nazwy zmiennych ułatwiają zrozumienie ich roli, komentarze tłumaczą trudniejsze fragmenty, a jedna instrukcja na linię porządkuje kod. Czytelności nie poprawia natomiast pisanie bez wcięć i podziału na linie.

Pytanie 2

GRANT CREATE, ALTER ON sklep.* TO adam; Zakładając, że użytkownik adam nie dysponował wcześniej żadnymi uprawnieniami, to polecenie SQL przyzna mu prawa jedynie do

A. tworzenia oraz modyfikacji struktury w tabeli sklep
B. wstawiania oraz modyfikacji danych w tabeli sklep
C. tworzenia oraz modyfikacji struktury wszystkich tabel w bazie sklep
D. wstawiania oraz modyfikacji danych we wszystkich tabelach bazy sklep
Polecenie SQL 'GRANT CREATE, ALTER ON sklep.* TO adam;' przyznaje użytkownikowi adam prawa do tworzenia i modyfikowania struktury wszystkich tabel w bazie danych o nazwie 'sklep'. W kontekście zarządzania bazami danych, przyznawanie takich uprawnień jest kluczowe dla realizacji zadań związanych z projektowaniem i rozbudową bazy. Przykładowo, gdyby adam potrzebował dodać nową kolumnę do istniejącej tabeli lub utworzyć nową tabelę, mógłby to zrobić dzięki tym prawom. Z perspektywy bezpieczeństwa, nadawanie takich uprawnień powinna być starannie przemyślane, aby uniknąć nieautoryzowanych zmian w strukturze bazy. W praktyce, w sytuacjach, gdy wiele osób współpracuje nad projektem, zaleca się przyznawanie minimalnych uprawnień, które są niezbędne do wykonania określonych zadań. W związku z tym, wykorzystanie polecenia GRANT w sposób odpowiadający wymaganiom projektu jest najlepszą praktyką w zakresie administracji bazami danych.

Pytanie 3

Po wykonaniu poniższego kodu PHP, w zmiennej $napis znajduje się tekst:

$napis = "Programowanie w PHP";
$napis = substr($napis, 3, 5);
A. gramo
B. og
C. ogram
D. gr
Odpowiedź 'gramo' jest poprawna, ponieważ funkcja substr() w PHP służy do wyodrębnienia podciągu z łańcucha znaków. W przedstawionym kodzie, oryginalna wartość zmiennej $napis to 'Programowanie w PHP'. Funkcja substr() przyjmuje trzy argumenty: pierwszy to łańcuch źródłowy, drugi to indeks początkowy (rozpoczynając od 0), a trzeci to długość podciągu, który ma zostać wyodrębniony. W naszym przykładzie, funkcja substr($napis, 3, 5) zaczyna od indeksu 3, co odpowiada literze 'g' w słowie 'Programowanie', a następnie pobiera kolejnych 5 znaków. Ostatecznie wyodrębniony podciąg to 'gramo', obejmujący znaki g, r, a, m, o. Przykład zastosowania: możemy użyć tej funkcji do wyodrębnienia konkretnej części tekstu, na przykład w przypadku przetwarzania danych lub generowania dynamicznej zawartości na stronach internetowych.

Pytanie 4

Komenda skierowana do serwera bazy danych, która polega na zbieraniu, wyszukiwaniu lub zmienianiu danych w bazie, nosi nazwę

A. kopii
B. kolumny
C. formularza
D. kwerendy
Kwerenda to termin używany w kontekście baz danych, który odnosi się do polecenia wysyłanego do serwera bazy danych w celu wykonywania operacji na danych. Główne funkcje kwerend to zbieranie, modyfikowanie lub wyszukiwanie danych w tabelach bazy danych. Kwerendy są kluczowym elementem języka SQL (Structured Query Language), który jest standardem w zarządzaniu relacyjnymi bazami danych. Na przykład, kwerenda SELECT umożliwia pobieranie danych z określonych kolumn w tabeli, a kwerenda UPDATE pozwala na modyfikację istniejących danych. Dobre praktyki w pisaniu kwerend obejmują optymalizację zapytań, używanie indeksów, a także dbanie o bezpieczeństwo (np. unikanie ataków typu SQL Injection). Zrozumienie, jak działają kwerendy, jest niezbędne dla każdego, kto pracuje z bazami danych, ponieważ pozwala to na efektywne zarządzanie danymi oraz ich analizę.

Pytanie 5

Które zapytanie policzy WSZYSTKIE wiersze tabeli Koty?

A.
SELECT COUNT(ROWNUM) FROM Koty;
B.
SELECT COUNT(*) FROM Koty;
C.
SELECT ROWNUM() FROM Koty;
D.
SELECT COUNT(Koty) AS ROWNUM;
Liczbę wszystkich wierszy tabeli zwraca funkcja COUNT(*). Zapis SELECT COUNT(*) FROM Koty; policzy każdy rekord tabeli Koty. Dlatego poprawne jest SELECT COUNT(*) FROM Koty;.

Pytanie 6

Dla którego akapitu zastosowano przedstawioną właściwość stylu CSS?

border-radius: 20%;

To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf

A

To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf

B

To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf

C

To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf

D
A. D.
B. C.
C. A.
D. B.
Niestety, tym razem nie trafiłeś. Właściwość CSS 'border-radius: 20%;' naprawdę służy do zaokrąglania rogów, a na obrazku tylko akapit B ma takie zaokrąglenia. Może pomyliłeś to z czymś innym? Ważne, żeby zrozumieć, jak działa 'border-radius' – robi on krawędzie ładniejsze. Jak widzisz, '20%;' to wartość procentowa i mówi, jak bardzo te rogi mają być zaokrąglone. Widziałeś inne odpowiedzi (A, C, D), ale one nie miały tych zaokrągleń. Najlepiej zwrócić uwagę na to, jak różne style CSS wpływają na wygląd naszych elementów. W przyszłości warto się tego nauczyć, bo to naprawdę przydatne.

Pytanie 7

Ile razy powtórzy się pętla w JavaScript?

var x=1, i=0;
do{
    x*=3;
    i++;
}
while(x!=27);
A. 3 razy
B. 26 razy
C. 27 razy
D. 2 razy
W przedstawionym kodzie JavaScript, pętla do-while wykonuje się do momentu, gdy zmienna x nie jest równa 27. Zaczynając od wartości x równej 1, przy każdym przejściu przez pętlę zmienna x jest mnożona przez 3. Kolejno, x przyjmuje wartości: 3, 9, 27. Zatem pętla wykonuje się trzy razy, ponieważ dopiero po trzecim cyklu x osiąga wartość 27, co powoduje zakończenie pętli. Do-while zawsze wykonuje przynajmniej jedno przejście, niezależnie od warunku końcowego, dzięki czemu jest przydatna w sytuacjach, gdy operacja musi być przeprowadzona co najmniej raz. Dobrym przykładem wykorzystania tego mechanizmu jest oczekiwanie na spełnienie określonego warunku, np. uzyskanie poprawnej odpowiedzi od użytkownika. Warto zwrócić uwagę, że w przypadku operacji matematycznych wymagających określonej liczby iteracji, pętla do-while zapewnia prostotę i przejrzystość implementacji, zgodnie z dobrymi praktykami zapewniającymi łatwość w czytaniu i utrzymaniu kodu.

Pytanie 8

W SQL klauzula DISTINCT w poleceniu SELECT zapewnia, że zwrócone wyniki

A. będą zgrupowane według wskazanego pola.
B. będą uporządkowane.
C. będą spełniały dany warunek.
D. nie zawiera będą duplikatów.
Niepoprawność pierwszej odpowiedzi wynika z nieporozumienia dotyczącego funkcji DISTINCT. Klauzula ta nie ma na celu sortowania danych, a jedynie eliminację powtórzeń. Wyniki zapytania mogą być posortowane, ale jest to realizowane za pomocą osobnej klauzuli ORDER BY, a nie DISTINCT. Drugą odpowiedzią, która jest błędna, jest twierdzenie, że DISTINCT wymusza spełnienie określonego warunku. Klauzula DISTINCT nie jest używana do filtrowania danych na podstawie warunków; aby to osiągnąć, zwykle stosuje się klauzulę WHERE, która określa konkretne kryteria, jakie muszą być spełnione przez zwracane rekordy. Ostatnia błędna odpowiedź sugeruje, że wyniki będą pogrupowane według określonego pola, co jest mylące, ponieważ grupowanie osiąga się za pomocą klauzuli GROUP BY. Ta klauzula agreguje wiersze w grupy opierając się na wartościach w określonych kolumnach, a następnie umożliwia wykonywanie operacji agregujących, takich jak COUNT, SUM czy AVG, co jest zupełnie inną funkcjonalnością niż ta oferowana przez DISTINCT. W skrócie, klauzula DISTINCT koncentruje się na eliminacji duplikatów, podczas gdy sortowanie, warunki i grupowanie to odrębne aspekty zapytań SQL.

Pytanie 9

Aby usunąć wszystkie rekordy z tabeli (zachowując samą tabelę), można użyć kwerendy:

A.
INSERT INTO
B.
CREATE COLUMN
C.
ALTER COLUMN
D.
TRUNCATE TABLE
TRUNCATE TABLE usuwa z tabeli wszystkie wiersze naraz, pozostawiając jej strukturę (kolumny, definicję) nienaruszoną. Działa szybciej niż DELETE bez warunku, bo nie rejestruje pojedynczych usunięć i zwykle zeruje licznik AUTO_INCREMENT. Dlatego do wyczyszczenia całej zawartości tabeli służy TRUNCATE TABLE.

Pytanie 10

Którą kwerendę należy wykonać, aby zaktualizować wszystkim rekordom z tabeli pracownicy wartość w kolumnie plec na K, przyjmując na potrzeby zadania, że każde imię żeńskie kończy się literą a?

A. UPDATE pracownicy SET plec='K' WHERE imie='%a';
B. ALTER TABLE pracownicy SET plec='K' WHERE imie='%a';
C. UPDATE pracownicy SET plec='K' WHERE imie LIKE '%a';
D. ALTER TABLE pracownicy SET plec='K' WHERE imie LIKE '%a';
W tym zadaniu łatwo się potknąć na dwóch rzeczach: pomyleniu operacji na strukturze tabeli z operacjami na danych oraz na nieprawidłowym użyciu wzorca tekstowego. W SQL istnieje dość wyraźny podział na instrukcje służące do definiowania struktury bazy (DDL) oraz te, które manipulują rekordami (DML). ALTER TABLE należy do tej pierwszej grupy. Używa się go do dodawania kolumn, zmiany typu danych, ustawiania kluczy obcych, czasem indeksów. Nie ma on mechanizmu typu SET kolumna='wartość' z warunkiem WHERE, który modyfikuje poszczególne wiersze. Próba napisania ALTER TABLE ... SET plec='K' WHERE imie LIKE '%a' po prostu nie jest zgodna ze składnią SQL i nie zadziała w żadnym normalnym systemie bazodanowym.
Drugi typ błędu dotyczy użycia WHERE imie='%a'. W wielu językach programowania znak % kojarzy się z operacjami na łańcuchach albo z formatowaniem, ale w czystym SQL porównanie z operatorem = oznacza ścisłą równość, bez żadnych wildcardów. Wyrażenie imie = '%a' oznacza: imie ma być dokładnie dwuznakowym ciągiem składającym się z procenta i litery „a”. Żadne „dowolne znaki przed a” się tu nie pojawiają. Do dopasowywania wzorców tekstowych służy operator LIKE, a dopiero przy LIKE znaczek % ma specjalne znaczenie – „dowolny ciąg znaków”. To jest bardzo typowe nieporozumienie: ktoś pamięta, że w LIKE używa się % i _ jako wildcardów, i odruchowo wrzuca % także przy zwykłym =.
Z mojego doświadczenia wynika, że dobrym nawykiem jest rozdzielenie w głowie: UPDATE + SET + WHERE – do zmiany danych; ALTER TABLE – tylko do zmian struktury. A przy wyszukiwaniu tekstów: jeśli chcę sztywne porównanie, używam =, jeśli szukam po fragmencie, używam LIKE z % (wieloznak) lub _ (pojedynczy znak). W praktyce webowej błędne użycie tych konstrukcji może prowadzić do sytuacji, że kwerenda nic nie zwraca albo nie aktualizuje żadnego rekordu, a programista długo szuka błędu np. po stronie PHP czy JavaScript, zamiast zacząć od samego SQL-a. Warto też pamiętać, że aktualizacje bez poprawnego WHERE są niebezpieczne, bo mogą zmienić wszystkie rekordy w tabeli, więc warunek oparty na właściwie użytym LIKE jest kluczowy zarówno dla poprawności, jak i bezpieczeństwa danych.

Pytanie 11

Która zasada dotycząca sekcji <head> w HTML jest POPRAWNA?

A. w sekcji <head> nie wolno umieszczać kodu CSS, tylko odwołanie do pliku
B. w sekcji <head> buduje się szablon strony znacznikami <div>
C. w sekcji <head> mogą wystąpić <meta>, <title>, <link>
D. w sekcji <head> zawiera się sekcja <body>
Sekcja <head> zawiera metadane i powiązania dokumentu - typowo <meta> (kodowanie, opis), <title> (tytuł karty) i <link> (np. arkusz CSS). Dlatego poprawne jest stwierdzenie o <meta>, <title> i <link>.

Pytanie 12

Wywoływanie funkcji przez samą siebie to

A. iteracja
B. dziedziczenie
C. hermetyzacja
D. rekurencja
Dziedziczenie, hermetyzacja i iteracja to koncepcje programistyczne, które choć są istotne, nie są związane z odwoływaniem funkcji do samej siebie. Dziedziczenie to mechanizm, który pozwala na tworzenie nowych klas na podstawie istniejących, co umożliwia ponowne wykorzystanie kodu oraz rozszerzanie funkcjonalności bez konieczności jej powielania. W kontekście programowania obiektowego, dziedziczenie pozwala na hierarchiczne organizowanie klas, co jest zgodne z zasadą pojedynczej odpowiedzialności i otwartości-zamkniętości z SOLID. Hermetyzacja, z kolei, to technika, która polega na ukrywaniu wewnętrznych stanów obiektu i udostępnianiu jedynie niezbędnych interfejsów do manipulacji tym stanem, co zwiększa bezpieczeństwo i ułatwia zarządzanie złożonością kodu. W praktyce hermetyzacja jest kluczowa dla tworzenia czytelnych i łatwych w utrzymaniu aplikacji. Iteracja natomiast odnosi się do procesów, w których wykonuje się wielokrotne powtarzanie bloków kodu, na przykład w pętlach. To podejście jest często preferowane w sytuacjach, gdy liczba powtórzeń jest znana, a wydajność jest kluczowa. Błędne myślenie, które prowadzi do pomylenia tych koncepcji z rekurencją, może wynikać z niejasności w rozumieniu różnic między podejściem funkcyjnym a obiektowym, a także z braku zrozumienia, kiedy należy stosować które z tych narzędzi dla efektywnego rozwiązywania problemów programistycznych.

Pytanie 13

W HTML formularzu użyto elementu <input>. Pole, które się pojawi, ma pozwalać na wprowadzenie maksymalnie

<input type="password" size="30" maxlength="20">
A. 30 znaków, które będą widoczne podczas wpisywania
B. 20 znaków, które nie będą widoczne w polu tekstowym
C. 30 znaków, które nie będą widoczne w polu tekstowym
D. 20 znaków, które będą widoczne w trakcie wprowadzania
Znacznik <input type="password"> w HTML jest rzeczywiście super ważny. Umożliwia on użytkownikom wpisywanie haseł, a to, co najfajniejsze, to że znaki są ukryte, więc nikt nie zobaczy, co piszesz. Atrybut maxlength="20" jest tutaj pomocny, bo ogranicza liczbę znaków do 20, co jest praktyczne - zbyt długie hasła ciężko zapamiętać, a krótkie mogą być niebezpieczne. Natomiast size="30" to tylko kwestia szerokości pola, więc nie wpływa na ilość znaków, które można wpisać. Generalnie, dobrze jest trzymać się tych ograniczeń, bo to pomaga w projektowaniu formularzy i utrzymywaniu porządku w interfejsie. Z mojej perspektywy, znajomość tych atrybutów jest naprawdę przydatna przy tworzeniu stron, bo można lepiej zrozumieć, jak to wszystko działa.

Pytanie 14

W poniższym kodzie CSS zdefiniowano cztery klasy formatowania, które następnie zostały użyte do formatowania paragrafów. Efekt widoczny na rysunku powstał po zastosowaniu klasy o nazwie:

.format1 {    text-decoration: overline;     }
.format2 {    text-decoration: line-through; }
.format3 {    text-decoration: underline;    }
.format4 {    text-decoration: none;         }
formatowanie
A. format3
B. format1
C. format4
D. format2
Odpowiedź z klasy format2 jest trafna, bo definiuje styl text-decoration line-through, który służy do przekreślenia tekstu. W CSS ta właściwość jest mega przydatna, bo pozwala zmieniać wygląd tekstu, dodając różne linie, takie jak podkreślenie czy nadkreślenie. Przekreślenie stosuje się często, żeby pokazać, że coś zostało usunięte lub jest już nieaktualne. Na przykład w sklepach online, gdzie można oznaczyć przecenione ceny. Według standardów CSS, warto stawiać na prostotę i czytelność definicji stylów, bo to ułatwia później zrozumienie kodu dla innych programistów. Takie podejście jest zgodne z dobrymi praktykami kodowania, które mówią, że kod powinien być łatwy do zrozumienia. A co ważne, jeśli chodzi o dostępność, to przekreślony tekst jest znany narzędziom wspierającym, jak czytniki ekranowe, co zwiększa dostępność treści dla osób z niepełnosprawnościami.

Pytanie 15

W bazie danych znajduje się tabela uczniowie z kolumnami: imie, nazwisko, klasa. Jakie polecenie SQL należy wykorzystać, aby znaleźć imiona oraz nazwiska uczniów, których nazwiska zaczynają się na literę M?

A. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko = 'M%';
B. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE 'M%';
C. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN 'M%';
D. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN 'M%';
Wybrana odpowiedź jest poprawna, ponieważ używa operatora LIKE, który jest standardowym rozwiązaniem w SQL do wyszukiwania wzorców w danych. W tym przypadku 'M%' oznacza, że chcemy znaleźć wszystkie nazwiska, które zaczynają się na literę M. Operator LIKE jest szczególnie przydatny w sytuacjach, gdy potrzebujemy elastycznego wyszukiwania, umożliwiającego zastosowanie symboli wieloznacznych, takich jak '%' oznaczający dowolną liczbę znaków. Przykład zastosowania tego zapytania może obejmować generowanie listy uczniów dla nauczycieli, którzy chcą szybko zobaczyć wszystkich uczniów z nazwiskiem zaczynającym się na M, co może być przydatne przy organizowaniu wydarzeń czy klas. Dobrą praktyką jest także używanie odpowiednich indeksów w bazie danych, co może znacznie przyspieszyć wykonanie zapytań, zwłaszcza w dużych zbiorach danych. Znajomość operatorów SQL i ich zastosowań, jak również umiejętność formułowania zapytań, jest kluczowa w pracy z relacyjnymi bazami danych.

Pytanie 16

W kodzie HTML stworzono formularz, który wysyła informacje do pliku formularz.php. Po naciśnięciu przycisku typu submit, przeglądarka zostaje przekierowana na wskazany adres. Na podstawie podanego adresu /formularz.php?imie=Anna&nazwisko=Kowalska można stwierdzić, że dane do pliku formularz.php zostały wysłane za pomocą metody:

A. COOKIE
B. SESSION
C. POST
D. GET
Niepoprawne odpowiedzi sugerują użycie metod POST, SESSION i COOKIE do przesyłania danych do pliku formularz.php. Metoda POST, podobnie jak GET, jest podstawową metodą przesyłania danych w protokole HTTP, jednak różni się od GET tym, że dane są przesyłane w ciele żądania, a nie w adresie URL. Dlatego, jeżeli widzimy dane w adresie URL, to nie mogą one pochodzić z metody POST. Z kolei metody SESSION i COOKIE nie są w ogóle metodami przesyłania danych. SESSION to mechanizm, który pozwala na przechowywanie danych między różnymi żądaniami w sesji użytkownika, a COOKIE to małe pliki tekstowe przechowywane na komputerze użytkownika, które mogą być używane do przechowywania danych między żądaniami. Żadna z tych metod nie przesyła jednak danych poprzez adres URL, co jest kluczowe dla odpowiedzi na to pytanie. Błędne odpowiedzi mogą wynikać z niezrozumienia różnic między tymi metodami i jak są one używane do przesyłania danych w aplikacjach internetowych.

Pytanie 17

Wartość atrybutu w tabeli, który pełni rolę klucza głównego

A. jest używana do szyfrowania zawartości tabeli
B. musi być unikalna
C. może przyjmować wartość null (NULL)
D. nigdy nie jest innego typu niż numeryczny
Rozumienie, co to jest klucz podstawowy, jest mega istotne, zwłaszcza gdy projektujesz bazy danych. Klucz podstawowy nie ma nic wspólnego z tym, jak szyfrujesz dane w tabeli. Szyfrowanie dotyczy bardziej bezpieczeństwa informacji, a klucz podstawowy to sposób na identyfikację rekordów. Warto też wiedzieć, że klucz podstawowy nie musi być zawsze numeryczny. Może być tekstowy czy alfanumeryczny, w zależności od tego, jak go użyjesz. Na przykład, w niektórych systemach identyfikatory mogą być ciągami znaków, co jest ważne, kiedy integrujesz różne systemy. Tak czy siak, klucz podstawowy nigdy nie może mieć wartości pustej (NULL), bo to by wszystko zrujnowało. Jeśli ktoś myśli, że klucz podstawowy może być pusty, to może się narazić na spore kłopoty. Klucz podstawowy to nie tylko identyfikacja, ale też ważny element, który pomaga w normalizacji danych, co z kolei wpływa na ich spójność. Dlatego warto znać te zasady, bo mają duży wpływ na to, jak działają bazy danych.

Pytanie 18

Które z poniższych poleceń pozwala na dodanie kolumny zadanie_kompletne do tabeli zadania?

A. ALTER TABLE zadania ADD COLUMN zadanie_kompletne int
B. INSERT INTO zadania VALUES zadanie_kompletne
C. ADD COLUMN zadanie_kompletne WITH zadania
D. CREATE INDEX zadania ADD COLUMN zadanie_kompletne int
Dodanie kolumny do istniejącej tabeli w relacyjnej bazie danych może być realizowane za pomocą polecenia ALTER TABLE. To polecenie jest standardem SQL i jest wspierane przez większość systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL, Oracle czy Microsoft SQL Server. W przypadku zapytania 'ALTER TABLE zadania ADD COLUMN zadanie_kompletne int', polecenie to modyfikuje strukturę tabeli 'zadania', dodając nową kolumnę o nazwie 'zadanie_kompletne', która będzie przechowywać dane typu całkowitego (int). Praktycznym przykładem zastosowania tego polecenia może być system zarządzania projektami, w którym chcemy śledzić status zadań. Po dodaniu tej kolumny, możemy wprowadzać wartości 0 lub 1, które mogą reprezentować, czy zadanie zostało ukończone, czy nie. Użycie ALTER TABLE jest niezbędne, gdyż inne polecenia, takie jak CREATE INDEX czy INSERT INTO, służą do innych celów, takich jak tworzenie indeksów lub wstawianie danych, a nie do modyfikacji struktury tabeli. W praktyce, aby upewnić się, że zmiany są zgodne z wymaganiami systemu, zaleca się zawsze wykonanie kopii zapasowej bazy danych przed przeprowadzeniem operacji na strukturze tabeli.

Pytanie 19

W ramce przedstawiono właściwości pliku graficznego:

Wymiary:4272 x 2848px
Rozdzielczość:72 dpi
Format:JPG
W celu optymalizacji czasu ładowania rysunku na stronę WWW należy:
A. zmienić proporcje szerokości do wysokości.
B. zwiększyć rozdzielczość.
C. zmienić format grafiki na CDR.
D. zmniejszyć wymiary rysunku.
Odpowiedź jest poprawna. Czas ładowania obrazu na stronę WWW jest w dużej mierze zależny od jego rozmiaru. Zasada jest prosta: im mniejszy rozmiar pliku, tym szybciej zostanie załadowany. Zmniejszenie wymiarów rysunku prowadzi do zmniejszenia rozmiaru pliku, co optymalizuje czas ładowania. W praktyce, oznacza to, że jeżeli masz obraz o wymiarach 2000x2000 pikseli, a na stronie prezentowany jest w wymiarach 500x500 pikseli, to wartość ta jest zdecydowanie za duża i może spowalniać ładowanie strony. Dobrą praktyką jest dostosowanie rozmiaru obrazu do rozmiaru, w jakim ma być wyświetlany na stronie. Warto jednak pamiętać, że zmniejszanie rozmiaru obrazu może wpływać na jego jakość, dlatego ważne jest znalezienie odpowiedniego balansu pomiędzy czasem ładowania a jakością prezentowanego rysunku.

Pytanie 20

Czynność polegająca na przetworzeniu grafiki rastrowej na wektorową to:

A. rasteryzacja
B. kadrowanie
C. wektoryzacja
D. skalowanie
Wektoryzacja (trasowanie) to proces zamiany grafiki rastrowej, złożonej z pikseli, na grafikę wektorową opisaną krzywymi i kształtami. Efekt można potem dowolnie skalować bez utraty jakości - przydatne np. przy przygotowaniu logo z pikselowego szkicu. Operacją odwrotną jest rasteryzacja. Dlatego zamiana rastra na wektor to wektoryzacja.

Pytanie 21

Kod źródłowy przedstawiony poniżej ma na celu wyświetlenie

Ilustracja do pytania
A. liczb wprowadzonych z klawiatury, aż do momentu wprowadzenia wartości 0
B. ciągu liczb od 1 do 100
C. wylosowanych liczb z zakresu od 1 do 99
D. losowych liczb od 0 do 100, aż do wylosowania wartości 0
Kod źródłowy przedstawiony w pytaniu inicjuje losowanie liczb w przedziale od 0 do 100 i wyświetla je na ekranie aż do momentu wylosowania liczby 0. Taki sposób działania jest możliwy dzięki zastosowaniu pętli while która wykonuje się dopóki warunek w niej zawarty jest spełniony. W tym przypadku warunek ten to różność zmiennej liczba od zera. Funkcja rand(0 100) generuje losowe liczby całkowite z zadanego przedziału. W momencie wylosowania wartości 0 pętla przestaje się wykonywać co skutkuje zakończeniem procesu wyświetlania liczb na ekranie. Tego typu pętle są często używane w programowaniu do tworzenia losowych zdarzeń np. w grach komputerowych gdzie potrzebne jest dynamiczne generowanie wartości. Warto zwrócić uwagę na to że funkcja rand jest standardową funkcją w wielu językach programowania pozwalającą na generowanie losowych liczb co jest przydatne w testowaniu algorytmów w różnych warunkach. Praktyka ta wspomaga proces nauki i doskonalenia umiejętności programistycznych dzięki możliwości symulacji losowych scenariuszy.

Pytanie 22

Który zapis to poprawny SKŁADNIOWO warunek PHP sprawdzający błąd połączenia z bazą?

A.
if (mysqli_connect_errno()){}
B.
if (mysqli_connect_error()}{
C.
if (mysqli_connect_error())()
D.
if (mysqli_connect_errno()}{
Pozostałe zapisy mają błędnie pozamykane nawiasy. if (...)() dokłada zbędne okrągłe nawiasy zamiast bloku {}. if (...}{ i if (...}{ mieszają i odwracają nawiasy okrągłe z klamrowymi. Poprawna struktura to if (mysqli_connect_errno()){}.

Pytanie 23

Aby utworzyć nową bazę danych, należy użyć polecenia SQL:

A.
ALTER DATABASE
B.
CREATE DATABASE
C.
CREATE TABLE
D.
NEW DATABASE
Nową bazę danych zakłada polecenie CREATE DATABASE, po którym podaje się jej nazwę, np. CREATE DATABASE sklep. Dopiero w utworzonej bazie tworzy się tabele poleceniem CREATE TABLE. Oba należą do języka DDL. Dlatego do utworzenia bazy służy CREATE DATABASE.

Pytanie 24

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

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

Pytanie 25

W języku PHP, aby nawiązać połączenie z bazą danych MySQL przy użyciu biblioteki mysqli, w poniższym zapisie w miejsce litery 'c' należy wpisać:

$a = new mysqli('b', 'c', 'd', 'e');
A. nazwa użytkownika
B. adres serwera bazy danych
C. nazwa bazy danych
D. hasło dla użytkownika
Wybór odpowiedzi dotyczącej 'nazwa bazy danych', 'hasło użytkownika' i 'lokalizacja serwera bazy danych' nie jest poprawny, bo żaden z tych elementów nie odnosi się do drugiego argumentu w konstruktorze mysqli. Zrozumienie połączeń z bazą danych jest kluczowe przy programowaniu w PHP. 'Nazwa bazy danych' to czwarty argument, więc dotyczy tego, do której bazy chcemy się podłączyć. 'Hasło użytkownika' to trzeci argument, który jest potrzebny, żeby się autoryzować. A 'lokalizacja serwera bazy danych' to pierwszy argument, który mówi, gdzie znajduje się serwer, najczęściej będzie to 'localhost', na którym działa nasza aplikacja. Błędne wnioski mogą się brać z niepełnego zrozumienia struktury połączeń w PHP.

Pytanie 26

W języku JavaScript trzeba zapisać warunek, który będzie prawdziwy, gdy zmienna a będzie jakąkolwiek liczbą naturalną dodatnią (bez 0) lub zmienna b przyjmie wartość z zamkniętego przedziału od 10 do 100. Wyrażenie logiczne w tym warunku ma formę

A. (a>0) && ((b>=10) || (b<=100))
B. (a>0) && ((b>=10) && (b<=100))
C. (a>0) || ((b>=10) || (b<=100))
D. (a>0) || ((b>=10) && (b<=100))
Pierwsza odpowiedź (a>0) || ((b>=10) || (b<=100)) jest niepoprawna, ponieważ używa operatora || w kontekście sprawdzania wartości zmiennej b w sposób, który nie ogranicza jej do przedziału od 10 do 100. Wyrażenie (b>=10) || (b<=100) oznacza, że b może być mniejsze niż 10, co jest sprzeczne z wymaganiami dotyczącymi przedziału. W związku z tym, ta konstrukcja może dopuścić do sytuacji, w której b ma wartość poniżej 10, co nie jest akceptowalne. Kolejna niepoprawna odpowiedź (a>0) && ((b>=10) || (b<=100)) wymaga, aby obydwa warunki były prawdziwe, co również prowadzi do błędnego sprawdzenia. Operator && wymusza spełnienie obu warunków, a zatem jeśli a jest większe od 0, ale b jest mniejsze niż 10, cała konstrukcja zwróci false, co czyni ją nieodpowiednią dla zadanych wymagań. Ostatnia niepoprawna opcja (a>0) && ((b>=10) && (b<=100)) również jest niewłaściwa, ponieważ zamiast umożliwić elastyczność w spełnianiu warunku, wymaga, aby obydwa warunki były prawdziwe jednocześnie. W kontekście zadania, nie możemy narzucić, aby a i b musiały być prawdziwe w tym samym czasie, co uniemożliwia skuteczne sprawdzenie jednej z opcji, przez co odpowiedź nie spełnia wymagań zadania. W związku z tym, wszystkie te odpowiedzi są niepoprawne w kontekście zadania, które wymaga dwóch odrębnych warunków do spełnienia.

Pytanie 27

Jak nazywa się paradygmat, w którym program buduje się z OBIEKTÓW łączących dane i operujące na nich metody?

A. logiczne
B. obiektowe
C. funkcyjne
D. strukturalne
Paradygmat, w którym program buduje się z OBIEKTÓW łączących dane (pola) i operujące na nich metody, to programowanie OBIEKTOWE (OOP). Filary to hermetyzacja, dziedziczenie i polimorfizm, a przykłady języków: Java, C++, PHP. Zapamiętaj: obiektowe = dane i ich zachowania zamknięte w jednym obiekcie.

Pytanie 28

W CSS wartości: underline, overline, blink są powiązane z atrybutem

A. font-weight
B. text-style
C. text-decoration
D. font-style
Atrybut text-decoration w CSS jest tym, co pozwala na dodawanie różnych efektów do tekstu. Możemy dzięki niemu użyć takich rzeczy jak underline, overline czy nawet blink, chociaż to ostatnie nie jest już zbyt popularne, bo wiele przeglądarek to ignoruje ze względu na dostępność. Dzięki tym efektom tekst może wyglądać bardziej estetycznie, a czytelność też się poprawia. Na przykład, jeśli użyjesz 'p { text-decoration: underline; }', to cały tekst w tym paragrafie będzie podkreślony. W CSS3 dodano też nowe możliwości, jak text-decoration-color czy text-decoration-style, co daje jeszcze większą kontrolę nad tym, jak nasz tekst będzie wyglądał. Dlatego myślę, że umiejętność korzystania z text-decoration jest naprawdę ważna dla każdego, kto zajmuje się tworzeniem stron internetowych.

Pytanie 29

Program debugger służy do

A. analizy wykonywanego programu w celu lokalizacji błędów.
B. interpretacji kodu w wirtualnej maszynie Java.
C. tłumaczenia kodu zapisanego językiem wyższego poziomu na język maszynowy.
D. analizy kodu źródłowego w celu odnalezienia błędów składniowych.
W tym pytaniu łatwo się pomylić, bo kilka pojęć brzmi podobnie, ale dotyczy zupełnie innych narzędzi. Debugger nie służy ani do interpretacji kodu, ani do kompilacji, ani do sprawdzania samej składni. To narzędzie do analizy programu w trakcie jego działania. Czyli nie patrzymy tylko na kod źródłowy, ale na to, jak program faktycznie się wykonuje krok po kroku. Interpretacja kodu w wirtualnej maszynie Java to zadanie interpretera/JVM. Maszyna wirtualna Javy pobiera bajtkod (plik .class) i go wykonuje, optymalizuje, czasem kompiluje JIT-em do kodu maszynowego. To zupełnie inna warstwa niż debugowanie. Debugger może się podłączyć do JVM, ale sam z siebie nie interpretuje kodu. To typowe pomylenie roli środowiska uruchomieniowego z narzędziem diagnostycznym. Analiza kodu źródłowego w celu znalezienia błędów składniowych też nie jest zadaniem debuggera. Błędy składniowe wychwytuje kompilator albo linter, ewentualnie statyczna analiza kodu. Debugger działa dopiero, gdy program się kompiluje i da się go uruchomić. Jeśli są błędy składni, program w ogóle nie wystartuje, więc nie ma co debugować. Częsty błąd myślowy jest taki, że „narzędzie do błędów” musi ogarniać wszystkie rodzaje błędów. W praktyce dzieli się to na: składniowe (kompilator), logiczne i wykonania (debugger), a także problemy jakościowe (analiza statyczna, testy). Tłumaczenie kodu z języka wysokiego poziomu na maszynowy to z kolei klasyczna rola kompilatora. Kompilator generuje kod wynikowy (np. plik .exe czy .class), a debugger ten gotowy program tylko obserwuje i steruje jego wykonaniem. Moim zdaniem warto jasno rozdzielić te pojęcia: kompilator kompiluje, interpreter wykonuje, a debugger pomaga nam zrozumieć i naprawić działający program, śledząc jego zachowanie, zmienne i przepływ sterowania. To pomaga unikać mieszania narzędzi, co później bardzo ułatwia naukę bardziej zaawansowanych technologii.

Pytanie 30

W języku PHP zapisano fragment kodu działającego na bazie MySQL. Jego zadaniem jest wypisanie

$z = mysqli_query($db, "SELECT ulica, miasto, kod_pocztowy FROM adresy");
$a = mysqli_fetch_row($z);
echo "$a[1], $a[2]";
A. miasta i kodu pocztowego z pierwszego zwróconego rekordu.
B. ulicy i miasta z pierwszego zwróconego rekordu.
C. miasta i kodu pocztowego ze wszystkich zwróconych rekordów.
D. ulicy i miasta ze wszystkich zwróconych rekordów.
Niestety, wybrałeś niepoprawną odpowiedź. W twoim fragmencie kodu PHP, wykonujesz zapytanie SQL, które wybiera kolumny 'ulica', 'miasto', 'kod pocztowy' z tabeli 'adresy'. Następnie używasz funkcji mysqli_fetch_row(), która pobiera pierwszy zwrócony rekord jako indeksowaną tablicę. Funkcja echo wyświetla drugi i trzeci element tej tablicy (indeksy 1 i 2), które odpowiadają kolumnom 'miasto' i 'kod pocztowy'. Niepoprawne odpowiedzi sugerują, że twój kod wypisze 'ulicę i miasto' lub 'miasto i kod pocztowy' ze wszystkich zwróconych rekordów, co jest nieprawdą. Niezrozumienie, jak funkcje PHP działają z MySQL i jaki jest ich wynik, może prowadzić do poważnych błędów w kodzie. Wskazane jest dokładne zrozumienie, jakie dane są zwracane przez SQL i jak je przetwarzać w PHP.

Pytanie 31

Jakiego wyniku można się spodziewać po wykonaniu zapytania na przedstawionej tabeli?

SELECTCOUNT(DISTINCT wykonawca)
FROM`muzyka`;
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzesław Niemen2005Przyjdź W Taka Noc itp.
2IkonaStan Borys2014
3AerolitCzesław Niemen2017Winylowa reedycja płyty "Aerolit"
4JourneyMikołaj Czechowski2013
A. 1
B. 0
C. 4
D. 3
Zapytanie SELECT COUNT(DISTINCT wykonawca) FROM muzyka; ma na celu zliczenie unikalnych wykonawców w tabeli muzyka. Kluczowym błędem jest brak zrozumienia działania funkcji DISTINCT która eliminuje duplikaty i pozwala na zliczenie jedynie różniących się wartości. Należy zatem odrzucić wszelkie odpowiedzi sugerujące liczbę większą niż 3 ponieważ w tabeli są obecne tylko trzy unikalne wartości w kolumnie wykonawca: Czesław Niemen Stan Borys oraz Mikołaj Czechowski. Często popełnianym błędem jest mylne założenie że każda unikalna wartość w konkretnej kolumnie powinna być liczona wielokrotnie co odbiega od celu analizy unikalności danych. W kontekście administracji bazami danych i analizy SQL zrozumienie funkcji DISTINCT jest kluczowe dla dokładności raportowania i optymalizacji wydajności zapytań. Wiedza o tym jak działa COUNT w połączeniu z DISTINCT pomaga w skutecznym projektowaniu zapytań w celu uzyskania dokładnych wyników. Zastosowanie tej wiedzy jest niezbędne w analizie danych biznesowych i przy tworzeniu precyzyjnych raportów dla różnych interesariuszy. Poprawne zrozumienie i implementacja tego mechanizmu wspiera efektywne zarządzanie danymi i podejmowanie decyzji opartych na faktach. Przygotowanie do egzaminu powinno obejmować praktyczne zastosowanie tych koncepcji co ułatwi ich intuicyjne wykorzystanie w sytuacjach zawodowych.

Pytanie 32

W programie do edycji grafiki rastrowej, aby skoncentrować się na wybranej części obrazu, nie wpływając na pozostałe jego fragmenty, można zastosować

A. odwrócenie
B. zmianę rozmiaru
C. przycinanie
D. warstwy
Warstwy w edytorach grafiki rastrowej to fundamentalne narzędzie umożliwiające pracę na poszczególnych elementach obrazu bez wpływu na całość. Dzięki zastosowaniu warstw można oddzielić różne elementy graficzne, co pozwala na edytowanie, przekształcanie i manipulowanie nimi niezależnie. Na przykład, można umieścić tekst na oddzielnej warstwie, a następnie dowolnie zmieniać jego położenie, rozmiar czy kolor, nie wpływając na tło. Dodatkowo, warstwy umożliwiają łatwe tworzenie efektów przezroczystości oraz cieni, co zwiększa możliwości artystyczne i techniczne podczas projektowania. W praktyce, standardy dotyczące pracy z warstwami są powszechnie stosowane w branży, co podkreśla ich znaczenie w profesjonalnych edytorach takich jak Adobe Photoshop czy GIMP. Warto również dodać, że organizacja pracy z warstwami, poprzez odpowiednie ich nazywanie i grupowanie, znacznie ułatwia zarządzanie złożonymi projektami graficznymi.

Pytanie 33

Określ rezultat wykonania skryptu stworzonego w języku PHP

Ilustracja do pytania
A. D
B. A
C. C
D. B
Odpowiedzi B, C i D są niepoprawne z kilku powodów związanych z błędnym zrozumieniem działania funkcji asort() w PHP. Po pierwsze, funkcja ta sortuje tablicę według wartości w porządku rosnącym, ale co ważne, zachowuje oryginalne klucze. Odpowiedź B ukazuje tablicę z kluczami zresetowanymi do wartości całkowitych, co wskazuje na zastosowanie innej funkcji sortującej jak sort() zamiast asort(). Taki wynik wskazuje brak zrozumienia kluczowej cechy asort(), która jest istotna w pracy z tablicami asocjacyjnymi, gdzie zachowanie kluczy jest konieczne do prawidłowego odwzorowania danych. W odpowiedzi C klucze są także zresetowane, a wartości są w niewłaściwej kolejności, co mogłoby sugerować użycie sort() na tablicy o zmienionym indeksowaniu. Odpowiedź D pokazuje tablicę posortowaną poprawnie, ale w niewłaściwej kolejności, co sugeruje błędne użycie funkcji sortującej, być może zakładające odwrotną kolejność lub błędne przypisanie wartości. Kluczowe jest zrozumienie, jak różne funkcje sortujące w PHP wpływają na klucze i wartości tablic, aby unikać takich błędów i poprawnie wykorzystywać funkcje jak asort() do manipulacji danymi w kontekście ich praktycznego zastosowania, jak konfigurowanie ustawień czy analiza danych, gdzie zachowanie oryginalnych kluczy jest kluczowe. Niewłaściwe zastosowanie może prowadzić do błędnych interpretacji danych i problemów z zachowaniem integralności aplikacji.

Pytanie 34

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

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

Pytanie 35

Wskaż styl CSS za pomocą, którego uzyskano przedstawiony efekt

Styl 1.
img {
  width: 100px;
  border-radius: 10%;
}
Styl 2.
img {
  width: 100px;
  border-radius: 50px;
}
Styl 3.
img {
  width: 100px;
  border: 50% green;
}
Styl 4.
img {
  width: 100px;
  shape: circle;
}
Ilustracja do pytania
A. Styl 4.
B. Styl 2.
C. Styl 3.
D. Styl 1.
Niestety, wybrałeś niepoprawną odpowiedź. Poprawną odpowiedzią jest 'Styl 2.', który wykorzystuje właściwość CSS border-radius z wartością 50px do zaokrąglania rogów obrazka. Zobaczmy, dlaczego pozostałe style są niepoprawne. 'Styl 1.' ma za małą wartość zaokrąglenia, co nie daje oczekiwanego efektu. Właściwość border-radius musi mieć odpowiednią wartość, aby uzyskać pożądane zaokrąglenie. 'Styl 3.' zawiera niepoprawną wartość, a mianowicie kolor. Kolor nie jest właściwą wartością dla border-radius, co pokazuje, jak ważne jest zrozumienie, jakie wartości są akceptowane dla różnych właściwości CSS. 'Styl 4.' używa właściwości shape, która nie istnieje w CSS. To jest błąd typowy dla osób, które nie są jeszcze pewne, które właściwości są dostępne w CSS. Jest to jasnym przykładem, dlaczego nauka i praktyka CSS są tak ważne do tworzenia atrakcyjnych i funkcjonalnych stron internetowych.

Pytanie 36

Celem testów wydajnościowych jest ocena

A. poziomu spełnienia wymagań dotyczących wydajności przez system bądź moduł
B. sekwencji zdarzeń, w której prawdopodobieństwo wystąpienia każdego zdarzenia zależy wyłącznie od wyniku zdarzenia poprzedniego
C. możliwości oprogramowania do funkcjonowania w warunkach błędnej pracy sprzętu
D. możliwości oprogramowania do funkcjonowania w warunkach niewłaściwej pracy systemu
Odpowiedzi sugerujące, że testy wydajnościowe mają na celu sprawdzenie ciągu zdarzeń, w którym prawdopodobieństwo każdego zdarzenia zależy jedynie od wyniku poprzedniego, dotyczą zupełnie innej dziedziny – statystyki i teorii prawdopodobieństwa. W kontekście testów wydajnościowych mówimy o analizie zachowania systemu w odpowiedzi na obciążenie, a nie o modelowaniu zdarzeń losowych. Kolejne koncepcje, takie jak zdolność oprogramowania do działania w warunkach wadliwej pracy systemu lub sprzętu, odnoszą się do testów odpornościowych i awaryjnych, a nie do testów wydajnościowych. Testy te mają na celu zbadanie, jak system reaguje na sytuacje awaryjne, jednak nie są one bezpośrednio związane z oceną jego wydajności. Te nieporozumienia mogą wynikać z mylnego założenia, że testy wydajnościowe obejmują wszystkie aspekty funkcjonalności systemu, podczas gdy w rzeczywistości koncentrują się one na specyficznych wymaganiach dotyczących szybkości i efektywności działania. Właściwe rozumienie testów wydajnościowych jako narzędzia do pomiaru i optymalizacji wydajności systemu jest kluczowe dla zapewnienia jego sukcesu na rynku. Każda z tych nieprawidłowych odpowiedzi prowadzi do niedosłownego zrozumienia celów i metodologii stosowanych w testach wydajnościowych, co może skutkować poważnymi błędami w procesie wytwarzania oprogramowania.

Pytanie 37

Która metoda obiektu location zastępuje bieżący dokument dokumentem spod podanego adresu?

A.
replace();
B.
reload();
C.
open();
D.
close();
Pozostałe metody robią co innego. reload() odświeża bieżącą stronę, a open() i close() dotyczą okien (obiektu window), nie zastępowania dokumentu. Zastąpienie strony daje location.replace().

Pytanie 38

Które z instrukcji algorytmu odpowiada graficznemu przedstawieniu bloku pokazanego na ilustracji?

Ilustracja do pytania
A. Wyświetl w konsoli wartość zmiennej n
B. n > 70
C. Zrealizuj podprogram do sortowania tablicy t
D. n ← n – 3
Odpowiedź n ← n – 3 to typowa operacja matematyczna, którą naprawdę często używamy w programowaniu. W skrócie, chodzi o to, że zmieniamy wartość zmiennej. Można to przedstawić przy użyciu prostokątnego bloku w diagramie, co jest standardem w notacjach algorytmicznych. To jest ważne, zwłaszcza w strukturach kontrolnych, jak pętle, bo musimy modyfikować zmienną, żeby pętla mogła się zakończyć po pewnej liczbie powtórzeń. Na przykład, w pętli for możemy zmieniać wartość zmiennej, żeby przechodzić przez elementy tablicy w odwrotnym kierunku. Dobrze jest dokumentować takie operacje w kodzie, żeby potem łatwiej było do niego wrócić. Te przypisania są również kluczowe w algorytmach, bo nawet małe zmiany w zmiennych mogą znacząco wpłynąć na wydajność. Zrozumienie tego wszystkiego to podstawa dla każdego programisty, który chce pisać dobry kod.

Pytanie 39

Z bazy danych trzeba uzyskać zapytaniem SQL nazwiska pracowników, którzy sprawują funkcję kierownika, a ich wynagrodzenie mieści się w jednostronnie domkniętym przedziale (3000, 4000>. Która klauzula weryfikuje ten warunek?

A. WHERE kierownik = true AND pensja => 3000 AND pensja <= 4000
B. WHERE kierownik = true OR pensja > 3000 OR pensja <= 4000
C. WHERE kierownik = true AND pensja => 3000 OR pensja < 4000
D. WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000
Poprawna odpowiedź to 'WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000;'. Ta klauzula w SQL jest zgodna z wymaganiami, ponieważ precyzyjnie określa, że zwracane będą tylko te rekordy, gdzie pracownik jest kierownikiem oraz jego pensja jest większa niż 3000 i jednocześnie mniejsza lub równa 4000. Zastosowanie operatorów logicznych AND w tym kontekście jest kluczowe, ponieważ pozwala na jednoczesne spełnienie obu warunków. W praktyce, aby uzyskać wyniki zgodne z tymi kryteriami, ważne jest, aby zrozumieć różnicę między operatorami porównawczymi, a także ich zastosowanie w kontekście warunków. Przykładowo, jeśli dla dużej bazy danych chcemy filtrować pracowników w oparciu o ich pozycje oraz wynagrodzenie, stosowanie precyzyjnych klauzul WHERE pozwala na optymalizację zapytań i lepsze zarządzanie danymi. Dobre praktyki w SQL podkreślają znaczenie klarowności i dokładności w definiowaniu warunków, co bezpośrednio przekłada się na efektywność operacji na bazach danych.

Pytanie 40

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

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