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: 14 czerwca 2026 01:22
  • Data zakończenia: 14 czerwca 2026 01:39

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

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

Dana jest tablica n-elementowa o nazwie t[n] Zadaniem algorytmu zapisanego w postaci kroków jest wypisanie sumy

K1: i = 0; wynik = 0;
K2: Dopóki i < n wykonuj K3 .. K4
    K3: wynik ← wynik + t[i]
    K4: i ← i + 2
K5: wypisz wynik
A. n-elementów tablicy.
B. co drugiego elementu tablicy.
C. sumy tych elementów tablicy, których wartości są nieparzyste.
D. sumy wszystkich elementów tablicy.
Super rozebrałeś na czynniki pierwsze ten algorytm! Twoja odpowiedź 'co drugiego elementu tablicy' jest jak najbardziej trafna. W pytaniu chodzi o to, że algorytm sumuje co drugi element tablicy, zaczynając od pierwszego, a ten indeks to 0. Zmienna 'i' służy do poruszania się po tablicy i w każdej iteracji zwiększa się o 2. Dzięki temu pętla przeskakuje co drugi element, a te nieparzyste ignoruje. To naprawdę przydatna technika w programowaniu, bo pozwala na określony dostęp do danych. Takie algorytmy wykorzystuje się np. przy analizie danych z czujników, gdzie ważne są tylko wartości zapisane w regularnych odstępach.

Pytanie 2

Selektor CSS a:link {color:red} użyty w kaskadowych arkuszach stylów określa

A. pseudoelement
B. pseudoklasę
C. identyfikator
D. klasę
Zdecydowanie coś poszło nie tak w Twojej odpowiedzi, bo wygląda na to, że nie do końca rozumiesz podstawowe pojęcia związane z CSS. Klasy i identyfikatory, używane do grupowania elementów i nadawania im stylów, to zupełnie inna sprawa niż pseudoklasy. Klasy w CSS definiujesz przez kropkę, jak na przykład .nazwa-klasy, a pseudoklasy zawsze zaczynają się od dwukropka. Klasy są super do stylizacji większej grupy elementów, podczas gdy identyfikatory są unikalne i służą do stylizacji pojedynczych elementów, zaczynają się od hasha (#). Pseudoelementy, które mogą być mylone z pseudoklasami, pomagają stylizować tylko część elementów, jak na przykład ::before lub ::after, co pozwala na dodawanie treści przed lub po danym elemencie. Rozróżnienie tych pojęć jest naprawdę kluczowe, gdy chcesz dobrze zrozumieć CSS. Często zdarza się, że ludzie mylą te pojęcia, co prowadzi do chaosu przy stylizacji stron. Żeby uniknąć tych nieporozumień, warto przejrzeć dokumentację CSS i trochę poćwiczyć z różnymi selektorami. Z mojej perspektywy, jest to najlepszy sposób, by zrozumieć jak to wszystko działa i jakie są różnice między tymi pojęciami.

Pytanie 3

W języku CSS przedstawione w ramce stylizacje będą miały następujące zastosowanie. Kolorem czerwonym zostanie zapisany

h1 i {color: red;}
A. jedynie tekst pochylony w nagłówku pierwszego stopnia
B. kompletny tekst nagłówka pierwszego stopnia oraz pochylony tekst akapitu
C. wyłącznie tekst pochylony we wszystkich nagłówkach
D. pełny tekst nagłówka pierwszego stopnia oraz cały tekst pochylony, bez względu na jego lokalizację na stronie
W przypadku analizowania podejść do formatowania w CSS, ważne jest zrozumienie, jak działają selektory. W analizowanym kodzie CSS 'h1 i' oznacza selektor złożony, który odnosi się wyłącznie do elementu <i> zagnieżdżonego w <h1>. Nie jest prawdą, że selektor ten wpłynie na wszystkie poziomy nagłówków, ponieważ jest on ograniczony do <h1>. Błędne rozumienie struktury selektorów często prowadzi do niewłaściwego stosowania stylów, co jest powszechnym problemem wśród początkujących. Również stwierdzenie, że cały tekst nagłówka <h1> będzie czerwony jest błędne, ponieważ selektor 'h1 i' dotyczy tylko zagnieżdżonego tekstu pochylonego. Wreszcie, twierdzenie, że cały tekst pochylony na stronie zmieni kolor jest błędne, ponieważ selektor jest specyficzny dla kontekstu nagłówka <h1>. Takie błędy mogą prowadzić do nieprzewidywalnych wyników i trudności w utrzymaniu spójności stylistycznej na stronie, dlatego zrozumienie i odpowiednie stosowanie selektorów złożonych i zagnieżdżonych jest kluczowe w profesjonalnym projektowaniu stron internetowych.

Pytanie 4

SELECT count(*) FROM Uczniowie WHERE srednia = 5;
Wynikiem uruchomienia przedstawionego zapytania SQL jest:
A. Suma ocen uczniów, których średnia ocen wynosi 5.
B. Liczba wszystkich uczniów.
C. Liczba uczniów, których średnia ocen wynosi 5.
D. Średnia ocen wszystkich uczniów.
Poprawnie – to zapytanie zwraca liczbę uczniów, których kolumna „srednia” ma wartość równą dokładnie 5. Funkcja agregująca COUNT(*) w SQL nie liczy sumy ani średniej, tylko po prostu zlicza wiersze spełniające warunek w klauzuli WHERE. W tym przypadku tabela Uczniowie jest filtrowana warunkiem srednia = 5, więc do liczenia trafiają wyłącznie rekordy uczniów, którzy mają średnią ocen równą 5. Dopiero na takim przefiltrowanym zbiorze wykonywany jest COUNT(*), który zwraca jedną liczbę – ile takich rekordów istnieje. Moim zdaniem to jedno z najczęściej używanych połączeń: WHERE + COUNT(*), bo w praktyce non stop chcemy wiedzieć „ile jest elementów spełniających warunek”. W raportach, panelach administracyjnych, dashboardach – np. ile jest klientów z określonym statusem, ilu użytkowników ma aktywne konto, ilu pracowników ma premię powyżej jakiegoś progu itd. Warto też zauważyć, że COUNT(*) liczy wszystkie wiersze, niezależnie od tego, czy jakieś inne kolumny są NULL, a kluczowe jest tylko to, że warunek WHERE jest spełniony. Dobrą praktyką jest zawsze dokładne określanie warunku filtrowania, bo drobna zmiana, np. srednia >= 5 zamiast srednia = 5, całkowicie zmienia znaczenie zapytania. W projektowaniu baz danych i zapytań SQL takie precyzyjne myślenie o warunkach i funkcjach agregujących jest absolutną podstawą profesjonalnej pracy z danymi.

Pytanie 5

Jaki zapis szesnastkowy odpowiada kolorowi rgb(128, 16, 8)?

A.
#FF0F80
B.
#FF1008
C.
#801008
D.
#800F80
Każdą składową RGB (0-255) zapisuje się dwucyfrowo szesnastkowo: 128 = 80, 16 = 10, 8 = 08, co po sklejeniu daje #801008. Przelicznik: 128 to połowa z 256, czyli 0x80. Zapamiętaj metodę: licz każdą składową osobno i połącz w #RRGGBB.

Pytanie 6

Która zasada dotyczy programowania strukturalnego?

A. należy często stosować instrukcję skoku goto
B. nie wolno korzystać z instrukcji warunkowych if
C. tworzy się obiekty złożone z pól i metod
D. powtarzające się sekwencje instrukcji wydziela się do procedur i funkcji
Pozostałe odpowiedzi przeczą programowaniu strukturalnemu lub opisują inny paradygmat. Instrukcje warunkowe if są jak najbardziej dozwolone - stanowią jedną z trzech podstawowych konstrukcji sterujących. Tworzenie obiektów z pól i metod to cecha programowania obiektowego, a nie strukturalnego. Częste stosowanie goto jest dokładnie tym, czego podejście strukturalne każe unikać, bo prowadzi do „kodu spaghetti”. Zasadą strukturalną jest wydzielanie powtarzalnych sekwencji do procedur i funkcji, dlatego ta odpowiedź jest poprawna.

Pytanie 7

Którego słowa kluczowego w C++ użyć przed typem, aby ograniczyć zakres do liczb NIEUJEMNYCH?

A.
short
B.
const
C.
unsigned
D.
long
Pozostałe słowa nie ograniczają znaku liczby. short i long zmieniają ROZMIAR (zakres) typu, ale nadal dopuszczają wartości ujemne. const czyni zmienną stałą (niezmienną), a nie nieujemną. Liczby nieujemne wymusza unsigned.

Pytanie 8

Aby stworzyć stronę internetową, która będzie odpowiadać załączonej ilustracji, konieczne jest użycie semantycznych znaczników sekcji w języku HTML5. Jakim znacznikiem należy określić sekcję menu?

A. aside
B. nav
C. header
D. div
Znacznik <div> jest często używany do ogólnego grupowania elementów w HTML, ale nie niesie ze sobą semantycznego znaczenia, co oznacza, że nie informuje technologii wspomagających ani wyszukiwarek o roli, jaką pełni zawartość. W kontekście semantycznego HTML5, poleganie na znaczniku <div> nie wykorzystuje potencjału nowych standardów, które poprawiają dostępność i strukturę dokumentów. Znacznik <aside> jest zwykle używany do grupowania treści pobocznej, takiej jak reklamy czy linki powiązane, dlatego nie jest on odpowiedni do definiowania sekcji menu. <header> jest z kolei stosowany do elementów nagłówkowych, takich jak tytuły stron czy sekcje wstępne, co również nie pasuje do kontekstu sekcji nawigacyjnej. Właściwe wykorzystanie semantycznych znaczników pomaga nie tylko w lepszej organizacji kodu, ale także wspiera dostępność oraz optymalizację SEO, co jest kluczowe w nowoczesnym projektowaniu stron internetowych.

Pytanie 9

W języku SQL, w wyniku wykonania poniższego zapytania:

ALTER TABLE osoba DROP COLUMN grupa;
A. zostanie dodana kolumna grupa
B. zostanie zmieniona nazwa kolumny na grupa
C. zostanie zmieniona nazwa tabeli na grupa
D. zostanie usunięta kolumna grupa
Pierwsza odpowiedź sugeruje, że kolumna 'grupa' zostanie dodana do tabeli, co jest błędne, ponieważ użycie słowa 'DROP' sugeruje usunięcie, a nie dodanie. W SQL do dodawania kolumn używa się komendy 'ADD', a nie 'DROP'. Druga odpowiedź, która stwierdza, że kolumna zostanie usunięta, jest poprawna, ale nie są podane inne aspekty jej działania. Trzecia odpowiedź dotyczy zmiany nazwy tabeli na 'grupa', co również jest niepoprawne, ponieważ komenda 'ALTER TABLE' z 'DROP COLUMN' nie ma na celu zmiany nazwy tabeli, lecz jedynie modyfikację jej struktury poprzez usunięcie kolumny. Zmiana nazwy tabeli wymagałaby użycia komendy 'RENAME'. Ostatnia odpowiedź, która mówi, że zmienia nazwę kolumny na 'grupa', jest również fałszywa, ponieważ do zmiany nazwy kolumny w SQL używa się komendy 'ALTER COLUMN' z 'RENAME', a nie 'DROP'. Tak więc, wszystkie te odpowiedzi zawierają błędne interpretacje dotyczące funkcji komendy 'ALTER TABLE DROP COLUMN', a zrozumienie tej komendy jest kluczowe dla prawidłowego zarządzania strukturą bazy danych.

Pytanie 10

Jakie sformułowanie najlepiej opisuje metodę POST do przesyłania formularzy?

A. Jest zalecana, gdy przesyłane są dane poufne, na przykład hasło, numer telefonu lub numer karty kredytowej
B. Dane są przesyłane przez adres URL, co czyni je widocznymi dla użytkownika
C. Ma dodatkowe ograniczenia związane z długością adresu - maksimum 255 znaków
D. Może być zarejestrowana jako zakładka w przeglądarce internetowej
Wybór niepoprawnej odpowiedzi wskazuje na pewne nieporozumienia dotyczące metod przesyłania formularzy w protokole HTTP. Pierwsza z nieprawidłowych koncepcji sugeruje, że dane z formularza przesyłane metodą POST mogą być zapisane jako zakładka w przeglądarce. To podejście jest błędne, ponieważ metoda POST nie dodaje informacji do adresu URL, co uniemożliwia zapisanie tych danych jako zakładki. Zakładki w przeglądarkach internetowych są oparte na adresach URL, które nie zawierają danych przesyłanych metodą POST. Ponadto, druga z błędnych odpowiedzi wskazuje, że dane przesyłane metodą POST są widoczne w adresie URL. W rzeczywistości, dane te są przesyłane w ciele zapytania HTTP, co oznacza, że nie są one publicznie widoczne, co czyni metodę POST bardziej odpowiednią do przesyłania danych poufnych. Również stwierdzenie o ograniczeniach długości adresu, które wynosi maksymalnie 255 znaków, jest nieprecyzyjne, ponieważ nie dotyczy metody POST; to ograniczenie odnosi się do metody GET, gdzie długość URL może wpływać na przesyłane dane. Ostatecznie, niewłaściwe zrozumienie tych podstawowych różnic między metodami POST i GET może prowadzić do poważnych błędów w projektowaniu aplikacji internetowych oraz w implementacji zabezpieczeń danych, które są kluczowe w dzisiejszym świecie cyfrowym.

Pytanie 11

W tabeli mieszkancy znajdują się dane o osobach z całej Polski. Aby zliczyć, ile różnych miast jest zawartych w tej tabeli, należy wykonać kwerendę

A. SELECT COUNT(DISTINCT miasto) FROM mieszkancy;
B. SELECT COUNT(miasto) FROM mieszkancy;
C. SELECT COUNT(miasto) FROM mieszkancy DISTINCT;
D. SELECT DISTINCT miasto FROM mieszkancy;
Wybór niewłaściwych kwerend może prowadzić do błędnych wyników i nieefektywnego przetwarzania danych. Kwerenda SELECT COUNT(miasto) FROM mieszkancy; zlicza wszystkie rekordy w kolumnie miasto, ale nie eliminuje duplikatów. Zatem, jeśli w tabeli występuje wiele osób z tego samego miasta, wynik będzie zawyżony. Na przykład, przy danych o 100 mieszkańcach z Warszawy, kwerenda ta zwróci liczbę 100, co nie odpowiada liczbie unikalnych miast. Wykorzystywanie SELECT DISTINCT miasto FROM mieszkancy; również nie przyniesie pożądanych rezultatów, ponieważ nie dostarcza ich liczby, a jedynie listę unikalnych miast. To podejście może być przydatne, gdy chcemy zobaczyć wszystkie miasta, ale nie odpowiada na pytanie o ich liczbę. Wybór kwerendy SELECT COUNT(miasto) FROM mieszkancy DISTINCT; jest syntaktycznie niepoprawny, ponieważ DISTINCT nie może być użyty w ten sposób w kontekście COUNT. Typowe błędy myślowe prowadzące do takich wniosków to brak uwzględnienia roli DISTINCT w eliminacji duplikatów oraz nieznajomość właściwej składni SQL. Dlatego kluczowe jest zrozumienie funkcji agregujących oraz ich zastosowania w kontekście analizy danych, co jest niezbędne do skutecznego zarządzania bazami danych i wyciągania właściwych wniosków.

Pytanie 12

Jaką rozdzielczość określa jednostka ppi (ang. pixels per inch)?

A. Skanujących urządzeń.
B. Obrazów bitmapowych.
C. Obrazów generowanych przez drukarki i plotery
D. Cyfrowych przyrządów dokonujących pomiarów.
Skanery są urządzeniami, które przetwarzają obrazy z analogowych źródeł na format cyfrowy, ale nie są bezpośrednio związane z rozdzielczością wyrażaną w ppi. Często mylnie zakłada się, że skanery działają na podobnych zasadach jak drukarki, jednak ich rozdzielczość jest mierzone w dpi (dots per inch), co odnosi się do punktów na cal, a nie pikseli. Obrazy rastrowe, chociaż mają swoje zastosowanie w kontekście ppi, nie są jedynym kontekstem dla tej jednostki. Rozdzielczość obrazów rastrowych odnosi się do ich jakości i szczegółowości, jednak ppi jest najczęściej używane w kontekście druku, a nie w samym tworzeniu obrazów rastrowych. Cyfrowe urządzenia wykonujące pomiary mogą mieć różne zastosowania, ale również nie odnoszą się do ppi w kontekście ich działania czy wydajności. Rozumienie, jak różne urządzenia i techniki pomiarowe używają różnych jednostek miary do określania rozdzielczości, jest kluczowe dla prawidłowego zrozumienia tematu. W branży graficznej oraz drukarskiej ważne jest, aby właściwie interpretować te jednostki oraz ich zastosowania w praktyce.

Pytanie 13

Jakie oznaczenie w języku PHP wskazuje na komentarz wieloliniowy?

A. #
B. <!-- -->
C. /* */
D. //
Komentarze wieloliniowe w języku PHP definiuje zapis /* */. Umożliwia on umieszczanie dłuższych opisów lub wyjaśnień w kodzie, które są ignorowane przez interpreter PHP. Użycie tego typu komentarzy jest szczególnie przydatne w sytuacjach, kiedy chcemy opisać złożone fragmenty kodu lub zablokować dużą ilość kodu w czasie testowania. Przykładem może być zasłonięcie sekcji kodu, która nie jest aktualnie potrzebna: /* echo 'To jest test'; */. Warto pamiętać, że komentarze powinny być używane do poprawy czytelności kodu, co jest zgodne z dobrą praktyką programistyczną. Zaleca się również stosowanie komentarzy w sposób przemyślany, aby nie tworzyć nadmiernej ilości niepotrzebnych informacji, co mogłoby wprowadzać chaos w projekcie. W PHP można także łączyć różne typy komentarzy, co pozwala na elastyczne i czytelne dokumentowanie kodu.

Pytanie 14

Jaką metodę używa się w języku PHP do tworzenia komentarza obejmującego więcej niż jedną linijkę?

A. #
B. <!-- -->
C. //
D. /* */
W języku PHP, użycie bloków komentarzy za pomocą składni /* */ jest standardowym sposobem na zapisanie wielolinijnych komentarzy. Ta metoda pozwala na umieszczanie tekstu komentarza w wielu liniach, co jest szczególnie przydatne w przypadku dłuższych objaśnień kodu. Komentarze pozwalają programistom na dokumentowanie funkcji, metod lub fragmentów kodu, co znacznie zwiększa przejrzystość i zrozumiałość kodu dla innych deweloperów. Przykładowo, można ich używać w następujący sposób:

/*
To jest komentarz, który
może zajmować wiele linii.
Możesz go używać do
szczegółowego opisu
funkcji lub zmiennych.
*/

Praktyka korzystania z opisowych komentarzy jest zgodna z najlepszymi standardami programowania, ponieważ zwiększa czytelność i ułatwia pracę w zespołach. Komentarze są nieocenione w trakcie konserwacji kodu, ponieważ pozwalają na szybsze zrozumienie intencji autora, a także na łatwiejsze wprowadzenie zmian w przyszłości. Warto również pamiętać, że komentarze nie wpływają na wydajność aplikacji, ponieważ są ignorowane przez interpreter PHP w trakcie wykonywania skryptu.

Pytanie 15

W języku PHP symbol "//" oznacza

A. operator dzielenia całkowitego
B. operator alernatywy
C. początek skryptu
D. początek komentarza jednoliniowego
Wybór odpowiedzi, które sugerują, że "//" w PHP oznacza operator dzielenia całkowitego, operator alternatywy lub początek skryptu, opiera się na nieporozumieniu co do funkcji i zastosowania symboli w języku PHP. Operator dzielenia całkowitego w PHP to "intdiv()" lub użycie znaku dzielenia "/". Przykład niewłaściwego przypisania to, gdy programista myli operator dzielenia z komentarzem, co może prowadzić do błędów wykonania, gdyż interpreter PHP nie zrozumie zamiaru, a kod nie zadziała zgodnie z oczekiwaniami. Operator alternatywy w PHP nie jest reprezentowany przez "//"; zamiast tego, alternatywy są często wyrażane poprzez stosowanie warunków w instrukcjach kontrolnych, takich jak "if" lub "switch". Ponadto "//" nie oznacza początku skryptu, gdyż skrypt PHP zaczyna się od tagu otwierającego "<?php" lub "<?=" w przypadku krótkiego tagu. Niezrozumienie tych podstawowych aspektów języka PHP może prowadzić do znaczących błędów w kodzie oraz złożoności w jego dalszym rozwoju. Dlatego istotne jest, aby programiści dobrze zrozumieli różnice między operatorami, komentarzami i strukturą skryptu w PHP, co jest kluczowe dla pisania efektywnego i poprawnego kodu.

Pytanie 16

Tabela Pacjenci zawiera kolumny: imie, nazwisko, wiek oraz lekarz_id. W celu stworzenia raportu z imionami i nazwiskami pacjentów, którzy mają mniej niż 18 lat i są zapisani do lekarza o id wynoszącym 6, należy zastosować kwerendę SQL

A. SELECT imie, nazwisko WHERE wiek < 18 AND lekarz_id = 6
B. SELECT imie, nazwisko WHERE wiek < 18 OR lekarz_id = 6
C. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6
D. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 OR lekarz_id = 6
Odpowiedź 'SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6' jest poprawna, ponieważ precyzyjnie określa, jakie dane mają zostać zwrócone. Kwerenda ta wykorzystuje klauzulę 'FROM', aby wskazać, z której tabeli mają zostać pobrane dane, oraz 'WHERE', aby nałożyć odpowiednie warunki. W tym przypadku chcemy uzyskać imiona i nazwiska pacjentów, którzy są poniżej 18 roku życia oraz zapisani do lekarza o identyfikatorze 6. Używanie operatora 'AND' jest kluczowe w tym kontekście, ponieważ tylko pacjenci spełniający obydwa warunki będą uwzględniani w wynikach. W praktyce, taka kwerenda jest niezwykle użyteczna w systemach medycznych, gdzie konieczne jest operowanie na danych demograficznych pacjentów oraz ich przypisania do lekarzy. Dobre praktyki w SQL wymagają jasności w określaniu warunków filtracji, co ta kwerenda osiąga, unikając niejednoznaczności, które mogłyby wyniknąć z użycia operatora 'OR'.

Pytanie 17

Utworzono bazę danych z tabelą mieszkancy, która zawiera pola: nazwisko, imie, miasto. Następnie zrealizowano poniższe zapytanie do bazy:

SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Poznań" UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Kraków"
Wskaż zapytanie, które zwróci te same dane:
A. SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Poznań" OR miasto="Kraków"
B. SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN "Poznań" OR "Kraków"
C. SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING "Poznań" OR "Kraków"
D. SELECT nazwisko, imie FROM mieszkancy AS "Poznań" OR "Kraków"
Wybrana odpowiedź jest poprawna, ponieważ wykorzystuje operator logiczny OR do połączenia dwóch warunków w klauzuli WHERE. W wyniku tego zapytania zostaną zwrócone wszystkie rekordy z tabeli 'mieszkancy', gdzie miasto to 'Poznań' lub 'Kraków'. To podejście jest zgodne z zasadami SQL, gdzie operator OR umożliwia łączenie warunków, co jest powszechnie stosowane w praktyce. Warto zauważyć, że zapytanie z wykorzystaniem operatora UNION ALL, które było pierwotnie zdefiniowane, również łączy wyniki z dwóch zapytań, ale każdy SELECT działa osobno. Użycie OR w tym przypadku jest bardziej efektywne, ponieważ pozwala na jedno zapytanie, co może przyspieszyć wykonanie w porównaniu do kilku zapytań UNION. W praktycznych zastosowaniach, gdy mamy do czynienia z wieloma kryteriami, stosowanie operatorów logicznych jest kluczowe dla uzyskania precyzyjnych wyników.

Pytanie 18

W języku JavaScript należy sformułować warunek, który będzie prawdziwy, gdy zmienna a będzie jakąkolwiek liczbą naturalną dodatnią (również nie zerową) lub gdy zmienna b będzie liczbą mieszczącą się w przedziale od 10 do 100, włącznie. Wyrażenie logiczne zastosowane w tym warunku powinno mieć 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))
Odpowiedź (a>0) || ((b>=10) && (b<=100)) jest poprawna, ponieważ precyzyjnie odwzorowuje wymagane warunki. Warunek logiczny składa się z dwóch głównych części. Pierwsza część, (a>0), sprawdza, czy zmienna a jest liczbą naturalną dodatnią. Liczby naturalne dodatnie to liczby całkowite większe od zera, co oznacza, że a musi być większe od zera, aby warunek był spełniony. Druga część warunku, ((b>=10) && (b<=100)), wymaga, aby zmienna b znajdowała się w przedziale od 10 do 100, włącznie z tymi wartościami. Zastosowanie operatora && w tej części oznacza, że obie nierówności muszą być spełnione jednocześnie. Operator || łączy te dwie części, co oznacza, że wystarczy spełnić jeden z warunków, aby cały wyrażenie logiczne zwróciło prawdę. Jest to zgodne z zasadami programowania, które wskazują na konieczność precyzyjnego definiowania warunków w celu uniknięcia niejasności. W praktyce takie wyrażenie jest niezwykle przydatne w sytuacjach, gdy konieczne jest weryfikowanie wartości zmiennych przed ich dalszym przetwarzaniem, co pozwala na zwiększenie bezpieczeństwa i stabilności aplikacji.

Pytanie 19

Program FileZilla może być użyty do

A. zmiany domyślnych ustawień hostingu dla strony internetowej
B. zarządzania bazami danych strony internetowej
C. publikacji strony internetowej na serwerze
D. walidacji strony internetowej
Wybór odpowiedzi, która nie odnosi się do publikacji strony internetowej na serwerze, jest typowym błędem związanym z myleniem różnych funkcji i zastosowań technologii internetowych. Walidacja strony internetowej, choć ważna, odnosi się do sprawdzania poprawności kodu HTML oraz zgodności z standardami W3C, co nie ma bezpośredniego związku z przesyłaniem plików na serwer. Użytkownicy często zakładają, że weryfikacja poprawności ich kodu jest wystarczająca do publikacji, co jest nieścisłe, ponieważ nawet poprawny kod nie będzie dostępny online bez przesłania na serwer. Zmiana domyślnych ustawień hostingu również nie ma związku z funkcjonalnością FileZilla, ponieważ takie zmiany zazwyczaj dokonuje się w panelu zarządzania hostingiem, a nie przez klienta FTP. Ponadto zarządzanie bazami danych, które jest inną kluczową częścią rozwoju aplikacji webowych, wymaga użycia narzędzi takich jak PHPMyAdmin czy konsola SQL, a nie narzędzi do przesyłania plików. Zrozumienie tych różnic jest niezbędne dla efektywnego korzystania z technologii webowych i unikania typowych pułapek, które mogą prowadzić do błędnych wniosków oraz problemów w procesie publikacji stron internetowych.

Pytanie 20

W tabeli klienci w bazie danych sklepu internetowego występują m.in. pola całkowite: punkty,
liczbaZakupow oraz pole ostatnieZakupy typu DATE. Klauzula WHERE do zapytania wybierającego klientów, którzy posiadają ponad 3000 punktów lub zrealizowali zakupy więcej niż 100 razy, a ich ostatnie zakupy miały miejsce przynajmniej w roku 2022 ma formę

A. WHERE punkty > 3000 OR liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
B. WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-01'
C. WHERE punkty > 3000 AND liczbaZakupow > 100 AND ostatnieZakupy >= '2022-01-01'
D. WHERE punkty > 3000 AND liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
Analizując odpowiedzi, można zauważyć, że wiele z nich opiera się na błędnych założeniach dotyczących logiki operatorów w SQL. W przypadku pierwszej opcji, użycie operatora AND pomiędzy dwoma warunkami punktów i liczby zakupów sugeruje, że klient musi spełniać oba te warunki jednocześnie, co jest niezgodne z wymaganiami pytania. Odpowiedź ta nie uwzględnia, że wystarczy spełnić jeden z warunków, aby być zakwalifikowanym. W drugiej opcji, podobnie, zastosowanie operatora OR dla punktów i liczby zakupów, a następnie operatora AND dla daty, wprowadza w błąd, ponieważ nie uwzględnia subtelności dotyczących logiki kwerendy. Ponadto, w tej odpowiedzi pojawia się nieprawidłowe sformułowanie daty, gdzie zastosowanie '2022-01' nie jest wystarczające do prawidłowego porównania daty. W przypadku trzeciej odpowiedzi, użycie operatora OR dla wszystkich trzech warunków sprawia, że każdy klient, który ma chociażby jeden z tych warunków spełnionych, zostanie wybrany, co jest dalekie od zamierzonego celu. Z kolei ostatnia odpowiedź, chociaż wprowadza poprawne warunki, to wymaga od klientów spełnienia wszystkich jednocześnie, co jest niezgodne z zamysłem. Takie niepoprawne interpretacje wynikają często z nieścisłości w zrozumieniu operatorów logicznych oraz ich wzajemnych powiązań w SQL, co jest kluczowe w tworzeniu efektywnych i działających zapytań.

Pytanie 21

Którą instrukcją można zastąpić pętlę for?

A.
switch
B.
while
C.
continue
D.
case
Pętlę for można zastąpić pętlą while - obie powtarzają kod, dopóki warunek jest prawdziwy, tyle że licznik i krok w while zapisuje się osobno. Dlatego zamiennikiem for jest while.

Pytanie 22

W języku JavaScript zadeklarowano funkcję.
function absValue(f) {
    return Math.abs(f);
}

A. zwrócić wartość przeciwną do f
B. wypisać wartość bezwzględną z f
C. zwrócić wartość bezwzględną z f
D. wypisać wartość przeciwną do f
To niepoprawna odpowiedź. Funkcja absValue(f) w języku JavaScript została zapisana w taki sposób, że zwraca wartość bezwzględną przekazanego argumentu f, a nie jego wartość przeciwną ani nie wypisuje żadnego wyniku na ekran. Wewnątrz funkcji użyto polecenia return Math.abs(f);, które powoduje zwrócenie liczby zawsze nieujemnej. Metoda Math.abs() automatycznie sprawdza, czy podana liczba jest ujemna, i jeśli tak, zamienia ją na dodatnią, pozostawiając bez zmian liczby dodatnie. Opcja „wypisać wartość przeciwną do f” jest błędna, ponieważ funkcja nie używa instrukcji wypisującej (console.log()), a ponadto nie tworzy liczby przeciwnej (czyli o przeciwnym znaku). Podobnie niepoprawna jest opcja „zwrócić wartość przeciwną do f”, gdyż funkcja nie odwraca znaku liczby poprzez -f, tylko korzysta z wbudowanego mechanizmu obliczania wartości bezwzględnej. Również opcja „wypisać wartość bezwzględną z f” jest błędna, ponieważ działanie return nie powoduje wypisania wartości, lecz jej zwrócenie. Poprawna odpowiedź to „zwrócić wartość bezwzględną z f”. Właśnie to robi funkcja absValue(f) — zwraca wynik obliczeń, który może być dalej użyty w programie, np. do porównań, analiz danych lub obliczeń matematycznych. Rozumienie różnicy między „zwracaniem” a „wypisywaniem” jest bardzo istotne w programowaniu, ponieważ pozwala odróżnić operacje wewnętrzne w kodzie od tych, które mają wpływ na to, co użytkownik zobaczy na ekranie.

Pytanie 23

Jak ustawić w CSS, by link NIEodwiedzony był żółty, a odwiedzony - zielony?

A.
a:hover { color: yellow; } a:visited { color: green; }
B.
a:hover { color: green; } a.link { color: yellow; }
C.
a:link { color: yellow; } a:visited { color: green; }
D.
a:visited { color: yellow; } a:link { color: green; }
Liczą się dwie właściwe pseudoklasy i przypisanie im właściwych kolorów. a:hover opisuje wygląd linku pod kursorem, a nie stan odwiedzenia, więc warianty z a:hover nie spełniają warunku. Zapis a.link to selektor klasy o nazwie „link”, a nie pseudoklasa stanu. Wariant zamieniający kolory miejscami (odwiedzony żółty, nieodwiedzony zielony) odwraca wymaganie z pytania. Nieodwiedzony link ustawia a:link { color: yellow; }, a odwiedzony a:visited { color: green; }.

Pytanie 24

W bazie danych sklepu internetowego, w tabeli klienci znajdują się m.in. pola całkowite: punkty, liczbaZakupow oraz pole ostatnieZakupy o typie DATE. Klauzula WHERE dla zapytania wybierającego klientów, którzy mają ponad 3000 punktów lub dokonali zakupów więcej niż 100 razy, a ich ostatnie zakupy miały miejsce co najmniej w roku 2022, przyjmuje postać

A. WHERE punkty > 3000 AND liczbaZakupow > 100 AND ostatnieZakupy >= '2022-01-01'
B. WHERE punkty > 3000 OR liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
C. WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-01'
D. WHERE punkty > 3000 AND liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
W przypadku pozostałych odpowiedzi pojawiają się istotne błędy związane z logiką stosowania operatorów w klauzuli WHERE. W pierwszej z niepoprawnych opcji zastosowano operator OR w połączeniu z operatorami AND, co prowadzi do niejednoznaczności w logice kwerendy. Taki zapis sugeruje, że każdy klient, który spełnia tylko jeden z podanych warunków, zostanie wybrany, co nie jest zgodne z wymaganiami zadania. W drugim przypadku, zastosowanie operatora AND dla wszystkich warunków implikuje, że klient musi jednocześnie spełniać wszystkie trzy warunki, co znacząco zawęża grupę wyników i może prowadzić do pominięcia klientów, którzy są wartościowi z punktu widzenia transakcji, ale nie spełniają wszystkich kryteriów jednocześnie. W ostatniej opcji również zastosowano operator AND we wszystkich warunkach, co jest niezgodne z zamysłem zapytania. Ważne jest, aby w takich sytuacjach dobrze rozumieć logikę operacji logicznych oraz ich konsekwencje w praktyce. Kluczowym błędem jest nieodpowiednie zrozumienie relacji między warunkami oraz ich wzajemnego wpływu na ostateczny wynik zapytania. W SQL istotne jest precyzyjne formułowanie zapytań, aby uniknąć niezamierzonych wyników, dlatego warto na etapie pisania schematów myśleć o logice, która będzie spełniać założone cele analizy danych.

Pytanie 25

W katalogu www znajdują się podkatalogi html oraz styles, w których umieszczone są pliki o rozszerzeniu html oraz pliki z rozszerzeniem css. Aby dołączyć styl.css do pliku HTML, należy zastosować

A. <link rel="Stylesheet" type="text/css" href="styl.css" />
B. <link rel="Stylesheet" type="text/css" href="../style/styl.css" />
C. <link rel="Stylesheet" type="text/css" href="/style/styl.css" />
D. <link rel=" Stylesheet" type="text/css" href="www/style/styl. css" />
Poprawna odpowiedź to <link rel="Stylesheet" type="text/css" href="../style/styl.css" />. Użycie tej ścieżki względnej jest kluczowe, ponieważ wskazuje na lokalizację pliku styl.css w stosunku do pliku HTML, w którym jest osadzony. Folder 'www' zawiera podfoldery 'html' oraz 'style', a aby poprawnie zaadresować plik styl.css, który jest w folderze 'style', musimy wyjść z folderu 'html' (stąd '../') i następnie wejść do folderu 'style', gdzie znajduje się plik styl.css. W praktyce jest to zgodne z dobrą praktyką organizacji plików w projektach webowych, ponieważ ułatwia zarządzanie i lokalizowanie zasobów. Warto również zauważyć, że poprawne wskazanie ścieżki do plików CSS jest niezbędne dla prawidłowego renderowania stylów na stronie, co wpływa na jej wygląd i użytkowalność. Wszyscy deweloperzy front-end powinni być świadomi znaczenia dokładnego wskazywania ścieżek oraz stosować się do konwencji dotyczących organizacji struktur plików w projekcie.

Pytanie 26

Komunikat ma pojawiać się tylko przy PIERWSZEJ wizycie użytkownika. Którą funkcję PHP wykorzystać?

A.
setcookie
B.
mysqli_change_user
C.
define
D.
session_destroy
Pozostałe funkcje nie zapamiętają faktu wizyty. define() tworzy stałą istniejącą tylko podczas jednego wykonania skryptu. session_destroy() niszczy sesję, a mysqli_change_user() zmienia użytkownika połączenia z bazą. Trwały ślad między wizytami zostawia setcookie().

Pytanie 27

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.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów.
Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna.
Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 28

Kod umieszczony w ramce spowoduje wyświetlenie liczb

Ilustracja do pytania
A. 1 3 5 7 9
B. 1 2 3 4 5 6 7 8 9 10
C. 2 4 6 8 10
D. 2 4 6 8
Analizując błędne odpowiedzi można zauważyć że nie uwzględniają one poprawnego działania instrukcji continue w kodzie PHP. Ta instrukcja pomija pozostałe kroki bieżącej iteracji pętli jeśli warunek jest spełniony. Pierwsza odpowiedź 2 4 6 8 nie uwzględnia liczby 10 która także spełnia warunek parzystości i powinna być wypisana co jest błędne w kontekście działania pętli do wartości 10 włącznie. Druga propozycja 1 3 5 7 9 jest wynikiem niepoprawnego zrozumienia działania operatora modułu i instrukcji continue które eliminują liczby nieparzyste z wyjścia. Wyświetlenie tylko nieparzystych liczb oznaczałoby brak zastosowania instrukcji continue lub jej odwrotność co jest sprzeczne z kodem. Ostatnia propozycja 1 2 3 4 5 6 7 8 9 10 zakłada że wszystkie liczby od 1 do 10 są wypisywane co ignoruje kluczowy wpływ instrukcji continue na przebieg pętli. Taki wynik mógłby wskazywać na brak warunku eliminującego liczby nieparzyste co jest błędne w kontekście kodu. Typowym błędem jest tu niepoprawne rozumienie działania instrukcji sterujących jak continue które pełnią kluczową rolę w przepływie sterowania w pętlach programistycznych i powinny być zawsze dokładnie analizowane aby uniknąć błędnych wniosków i nieoczekiwanych wyników w programach. Operator modulo to również istotny element w zrozumieniu działania kodu służący do łatwego sprawdzania podzielności i warunków logicznych co jest powszechnie stosowane w wielu językach programowania do optymalizacji i filtrowania danych. Kod ilustruje również jak za pomocą prostych warunków można efektywnie zarządzać dużymi zbiorami danych w aplikacjach co jest kluczowe w optymalizacji algorytmów i poprawie wydajności systemów informatycznych.

Pytanie 29

W tabeli podzespoly należy zaktualizować wartość pola URL na "toshiba.pl" dla wszystkich rekordów, w których pole producent jest równe TOSHIBA. Jak będzie wyglądała ta zmiana w języku SQL?

A. UPDATE podzespoly.producent='TOSHIBA' SET URL = 'toshiba.pl';
B. UPDATE producent='TOSHIBA' SET URL = 'toshiba.pl';
C. UPDATE podzespoly SET URL='toshiba.pl' WHERE producent='TOSHIBA';
D. UPDATE podzespoly SET URL = 'toshiba.pl';
Wszystkie odpowiedzi, które nie zawierają poprawnej składni SQL, prowadzą do błędów w wykonywaniu aktualizacji. Przykładowo, pierwsze podejście do aktualizacji polega na usunięciu klauzuli WHERE, co skutkuje zaktualizowaniem wartości URL dla wszystkich rekordów w tabeli, a nie tylko dla tych, które dotyczą producenta 'TOSHIBA'. Taki błąd może prowadzić do masowej utraty danych, co jest niedopuszczalne w zarządzaniu bazami danych. W drugiej niepoprawnej odpowiedzi następuje zmiana w logicznym układzie zapytania, co prowadzi do błędu składniowego. Nie możemy zacząć od przypisania wartości do pola producent, a następnie ustawić URL; składnia aktualizacji wymaga innego porządku. Trzecia odpowiedź również jest niepoprawna, ponieważ sugeruje użycie kropki w odniesieniu do pola producent, co jest sprzeczne z konwencjami SQL. W SQL nie stosuje się kropki do oddzielania pól i tabeli w kontekście aktualizacji. Takie błędy składniowe mogą prowadzić do tego, że zapytanie nie zostanie wykonane, a użytkownik nie osiągnie zamierzonego efektu aktualizacji. Użycie niepoprawnej składni w SQL nie tylko ogranicza funkcjonalność, ale może również generować poważne problemy w zarządzaniu danymi.

Pytanie 30

Aby zobaczyć wyniki działania skryptu PHP będącego elementem strony WWW, musi on zostać:

A. zinterpretowany po stronie serwera
B. skompilowany po stronie klienta
C. skompilowany po stronie serwera
D. zinterpretowany po stronie klienta
Pozostałe odpowiedzi błędnie opisują sposób wykonania PHP. Dwie z nich mówią o kompilacji, tymczasem PHP nie jest językiem kompilowanym - jego kod jest interpretowany na bieżąco, więc nie powstaje osobny plik wykonywalny. Wariant „zinterpretowany po stronie klienta” również jest błędny, bo przeglądarka nie zna PHP i go nie wykonuje - po stronie klienta działają HTML, CSS i JavaScript. Skrypt PHP wykonuje interpreter na serwerze, który odsyła gotowy wynik, dlatego poprawne jest „zinterpretowany po stronie serwera”.

Pytanie 31

Którego polecenia SQL użyć, aby usunąć CAŁĄ tabelę (wraz ze strukturą)?

A.
TRUNCATE TABLE
B.
DROP TABLE
C.
UNIQUE
D.
DELETE
DELETE i TRUNCATE TABLE usuwają tylko WIERSZE, zostawiając pustą tabelę (jej struktura zostaje). UNIQUE to ograniczenie kolumny, a nie polecenie usuwające. Całą tabelę ze strukturą usuwa DROP TABLE.

Pytanie 32

Aby w tabeli praca, tworzonej w SQL, dodać warunek w kolumnie stawka, który nakazuje przyjmowanie dodatnich wartości rzeczywistych mniejszych niż 50, należy zastosować zapis

A. ... stawka float CHECK(stawka IN (0, 50.00))
B. ... stawka float CHECK(stawka>0 OR stawka<50.00)
C. ... stawka float CHECK(stawka BETWEEN 0 AND 50.00)
D. ... stawka float CHECK(stawka>0 AND stawka<50.00)
Pierwsza z niepoprawnych odpowiedzi wykorzystuje operator IN, który nie jest odpowiedni dla tego przypadku. Operator IN służy do sprawdzania, czy wartość znajduje się w zbiorze dozwolonych wartości. W kontekście stawki, nie ma sensu ograniczać się tylko do wartości 0 i 50.00, ponieważ chcemy, by 'stawka' mogła przyjmować wiele wartości w przedziale od 0 do 50, a nie tylko te dwa. Kolejna odpowiedź stosuje operator OR, co prowadzi do błędnej interpretacji wymagań. Użycie OR oznacza, że 'stawka' mogłaby być większa od 0 lub mniejsza od 50, co w efekcie pozwalałoby na wprowadzenie wartości, które nie spełniają założonego kryterium, takich jak liczby ujemne. Ostatnia z odpowiedzi używa operatora BETWEEN, który również nie jest odpowiedni, ponieważ tworzy zakres od 0 do 50, co nie spełnia warunku, że stawka musi być większa od 0. Zatem, wszystkie trzy odpowiedzi nie zapewniają poprawnej weryfikacji danych w kolumnie 'stawka' w tabeli SQL, co jest kluczowe dla utrzymania jakości i integralności danych.

Pytanie 33

Aby obraz w filmie zmieniał się płynnie, liczba klatek na sekundę powinna wynosić co najmniej:

A. 16 - 19 fps
B. 24 - 30 fps
C. 20 - 23 fps
D. 31 - 36 fps
Płynność ruchu na ekranie zależy od liczby wyświetlanych klatek na sekundę (fps). Ludzkie oko odbiera ruch jako ciągły mniej więcej od 24 klatek na sekundę - to klasyczny standard filmowy (telewizja używa 25 lub 30). Poniżej tej wartości ruch wydaje się szarpany. Dlatego minimalny zakres dający płynny obraz to 24 - 30 fps.

Pytanie 34

Jak wykonanie zapytania SQL przedstawionego poniżej wpłynie na tabelę pracownicy?

ALTER TABLE pracownicy MODIFY plec char(9);
A. Utworzy kolumnę plec o typie znakowym o stałej długości 9.
B. Zmieni typ danych kolumny plec na znakowy o stałej długości 9.
C. Zmieni typ danych kolumny plec na znakowy o zmiennej długości 9.
D. Utworzy kolumnę plec o typie znakowym o zmiennej długości 9.
Odpowiedź jest poprawna, ponieważ polecenie ALTER TABLE zmienia istniejącą kolumnę w tabeli pracownicy. W szczególności, polecenie MODIFY plec char(9) modyfikuje typ danych kolumny plec na znakowy o stałej długości 9. Oznacza to, że każda wartość przechowywana w tej kolumnie będzie miała dokładnie 9 znaków (wypełnionych np. spacjami, jeśli wartość będzie krótsza). W praktyce zapewnia to jednolitą długość dla przechowywanych danych, co może być korzystne w przypadku, gdy wymagane jest zachowanie spójności długości, na przykład przy przechowywaniu kodów pocztowych lub identyfikatorów. Standardy projektowania baz danych zalecają używanie odpowiednich typów danych, aby zminimalizować przestrzeń dyskową oraz przyspieszyć operacje na danych. Warto zauważyć, że w przypadku kolumny char(9) nie można wprowadzić wartości dłuższej niż 9 znaków, co zapobiega niezgodnościom danych.

Pytanie 35

Jaki jest efekt wielokrotnego wykonywania kodu PHP?

if (!isset($_COOKIE["ciastko"]))
    $zm = 1;
  else
    $zm = intval($_COOKIE["ciastko"]) + 1;
setcookie("ciastko", $zm);
A. dodanie danych do ciasteczka tylko przy pierwszym wejściu na stronę
B. pokazanie ciasteczka z zapisanym parametrem
C. zapisanie do ciasteczka wartości 1 przy każdym odświeżeniu witryny
D. zliczanie liczby wizyt na stronie
W pytaniu zawarto kilka opcji związanych z działaniem ciasteczek w PHP. Pierwsza z nich mówi o wyświetleniu ciasteczka z zapisaną zmienną co nie jest zgodne z kodem, który nie zawiera żadnej funkcji wyświetlającej jak echo. Ciasteczka służą do przechowywania danych po stronie klienta i mogą być wykorzystywane do wielu celów, ale ich wyświetlenie nie jest bezpośrednim efektem działania kodu. Druga opcja wspomina o zapisaniu danych do ciasteczka tylko przy pierwszym uruchomieniu strony. Jest to częściowa prawda, ponieważ pierwsze uruchomienie inicjuje ciasteczko, ale przy każdej kolejnej wizycie liczba odwiedzin jest aktualizowana a nie pozostaje stała. Ostatnia z niepoprawnych odpowiedzi sugeruje, że za każdym odświeżeniem zapisuje się wartość 1, co jest błędne ponieważ kod zwiększa wartość o 1 przy każdym odświeżeniu strony. Typowym błędem myślowym jest założenie, że ciasteczka są statyczne lub że ich funkcjonalność jest ograniczona do prostego przechowywania danych bez logiki związanej z ich aktualizacją czy modyfikacją w ramach sesji użytkownika. Ciasteczka są elastycznym narzędziem, które może być używane w wielu zaawansowanych scenariuszach, jednak ich manipulacja musi być dobrze zrozumiana by uniknąć nieprawidłowych wniosków czy implementacji.

Pytanie 36

Do jakich zadań można wykorzystać program FileZilla?

A. analizowania skryptu na stronie
B. publikacji strony internetowej
C. kompilowania skryptu na stronie
D. sprawdzania poprawności strony internetowej
Walidacja strony internetowej polega na sprawdzaniu poprawności kodu HTML lub CSS, co zapewnia, że witryna jest zgodna z określonymi standardami, takimi jak W3C. Narzędzia do walidacji, takie jak W3C Validator, służą do analizy kodu źródłowego, wskazując błędy, które mogą wpłynąć na wyświetlanie strony w różnych przeglądarkach. W kontekście FileZilla, to oprogramowanie nie jest zaprojektowane do tego celu, a jego użycie w tej roli byłoby mylnym podejściem. Debugowanie skryptu na stronie, na przykład w językach JavaScript czy PHP, wymaga zastosowania narzędzi takich jak debugger w przeglądarkach internetowych lub IDE. FileZilla nie oferuje żadnych funkcji debugowania, co sprawia, że jest to nieodpowiedni wybór dla programistów zajmujących się rozwiązywaniem problemów w kodzie. Podobnie, kompilacja skryptu, jak w przypadku języków programowania, takich jak C++ czy Java, wymaga narzędzi kompilacyjnych, a nie klienta FTP. FileZilla nie przetwarza ani nie kompiluje kodu, więc nie może być użyta w tym kontekście. Typowym błędem myślowym jest mylenie narzędzi używanych do transferu plików z tymi, które są używane do programowania i rozwoju aplikacji webowych. Właściwe zrozumienie ról poszczególnych narzędzi w ekosystemie tworzenia stron internetowych jest kluczowe dla efektywnej pracy i unikania nieporozumień.

Pytanie 37

Jakie stwierdzenie dotyczące zaprezentowanego kodu jest prawdziwe?

Ilustracja do pytania
A. Znak kropki "." jest operatorem konkatenacji
B. W zmiennej $a wartość "Ala" zostanie zmieniona na "Ola"
C. Zostanie wyświetlony komunikat "OlaA"
D. Znak "=" pełni rolę operatora porównania dwóch zmiennych
W analizowanym kodzie występuje kilka nieporozumień dotyczących działania operatorów Znak równości w PHP pełni rolę operatora przypisania a nie porównania Działa on poprzez przypisywanie wartości znajdującej się po prawej stronie do zmiennej po lewej stronie Operator porównania w PHP to podwójny znak równości == który sprawdza czy dwie wartości są sobie równe lub potrójny === który dodatkowo sprawdza typy danych Z kolei operator kropki w PHP jest używany do łączenia ciągów znaków a nie do przypisywania wartości lub porównywania W przedstawionym kodzie $a Ola używa operatora kropek z przypisaniem aby dołączyć Ola do zmiennej $a która zawierała wcześniej Ala Co więcej twierdzenie że zmienna zostanie zmieniona z Ala na Ola jest błędne ponieważ operacja konkatenacji powoduje dodanie drugiej wartości do pierwszej a nie jej zastąpienie Każda z tych błędnych interpretacji może wynikać z mylnego zrozumienia podstawowych operatorów PHP i ich funkcji w manipulatorze ciągów znaków oraz przypisywaniu wartości Operator konkatenacji jest fundamentalnym narzędziem w programowaniu PHP pozwalającym na dynamiczne zarządzanie i modyfikację tekstu w aplikacjach co czyni jego znajomość kluczową dla każdego programisty Aby uniknąć takich błędów warto dobrze poznać podstawy składni i semantyki języka PHP oraz regularnie ćwiczyć ich zastosowanie w praktycznych scenariuszach projektowych

Pytanie 38

Która z wartości tekstowych nie odpowiada podanemu wzorcowi wyrażenia regularnego?

(([A-ZŁŻ][a-ząęóżźćńłś]{2,})(-[A-ZŁŻ][a-ząęóżźćńłś]{2,}))?
A. Nowakowska-Kowalska
B. Kowalski
C. Kasprowicza
D. Jelenia Góra
Odpowiedzi takie jak 'Kasprowicza', 'Nowakowska-Kowalska' i 'Kowalski' są w porządku, bo pasują do wzoru wyrażenia regularnego. Wzór mówi, że tekst musi zaczynać się od wielkiej litery i mieć przynajmniej dwie małe litery zaraz po. 'Kasprowicza' to nazwisko, które zaczyna się od wielkiej litery, więc jest ok. 'Nowakowska-Kowalska' też jest good, bo ma segment po myślniku z kolejną wielką literą. Z 'Kowalskim' sprawa wygląda podobnie, bo również spełnia wymogi. Często ludzie mylą, co dokładnie oznacza wzór i co przynależne do niego. Wydaje się, że każde słowo z wielką literą pasuje, ale nie do końca tak to działa. Kluczowe jest, żeby zrozumieć dokładne zasady, bo wyrażenia regularne są bardzo precyzyjne i wymagają zwrócenia uwagi na detale. Dobrze jest też testować swoje wzory, by sprawdzić, czy działają w różnych sytuacjach.

Pytanie 39

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

A. klucza obcego
B. klucza podstawowego
C. numeryczne
D. relacji
Numeryczne identyfikatory, choć mogą być stosowane jako klucze podstawowe, nie są wystarczające, aby określić jednoznacznie rekord w bazie danych. Wiele rekordów może mieć ten sam identyfikator numeryczny, zwłaszcza w przypadku, gdy nie jest on unikalny. Klucze relacji odnoszą się do powiązań między tabelami, ale nie są bezpośrednio związane z jednoznacznym identyfikowaniem rekordu. Klucz obcy to atrybut w tabeli, który odnosi się do klucza podstawowego innej tabeli, co jest ważne dla zapewnienia spójności danych, ale nie identyfikuje bezpośrednio rekordu w tabeli, w której się znajduje. Ostatecznie klucz podstawowy jest jedynym elementem, który może jednoznacznie zidentyfikować rekordu w bazie danych, podczas gdy inne wymienione odpowiedzi mogą jedynie wspierać strukturę lub powiązania danych, ale nie spełniają fundamentalnej roli identyfikacyjnej. Mylne jest również myślenie, że klucz podstawowy może być dowolnym typem pól; klucz powinien być odpowiednio dobrany, by zapewnić unikalność i stabilność, co jest kluczowe dla integralności bazy danych.

Pytanie 40

Polecenie SQL:

GRANT SELECT, INSERT, UPDATE, DELETE ON klienci TO adam@localhost
Przedstawione polecenie SQL nadaje użytkownikowi adam@localhost prawa:
A. do manipulowania danymi bazy danych klienci
B. do zarządzania strukturą tabeli klienci
C. do manipulowania danymi w tabeli klienci
D. do zarządzania strukturą bazy danych klienci
W kontekście analizy niepoprawnych odpowiedzi, odpowiedzi dotyczące zarządzania strukturą tabeli klienci oraz zarządzania strukturą bazy danych klienci są niepoprawne, ponieważ polecenie GRANT nie odnosi się do tych aspektów. Zarządzanie strukturą tabeli zazwyczaj obejmuje takie operacje jak tworzenie lub modyfikowanie tabel, co jest realizowane przez polecenia takie jak CREATE TABLE czy ALTER TABLE. W przypadku polecenia GRANT, nie ma mowy o wprowadzaniu zmian w strukturze tabeli, a jedynie o nadawaniu uprawnień do manipulacji danymi. Podobnie, zarządzanie strukturą bazy danych dotyczy bardziej operacji administracyjnych, takich jak tworzenie bazy danych, co również nie jest tożsame z uprawnieniami do operacji na danych. Ostatnia z niepoprawnych odpowiedzi, dotycząca manipulowania danymi bazy danych klienci, jest również myląca, ponieważ odnosi się do całej bazy danych jako całości, podczas gdy polecenie dotyczy wyłącznie konkretnej tabeli. W praktyce, zarządzanie danymi w kontekście bazy danych oznacza operacje na zbiorze danych, a nie na pojedynczych rekordach w tabelach. Dlatego kluczowe jest zrozumienie, że GRANT pozwala na nadawanie uprawnień do działania na konkretnej tabeli, a nie na całej bazie danych czy jej strukturze.