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 07:10
  • Data zakończenia: 8 czerwca 2026 07:33

Egzamin zdany!

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

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

Walidator W3C zgłosił błąd o niezamkniętych elementach przy zamykającym <p>. Którego fragmentu dotyczy?

A.
<p>Ala ma <b>kota</p></b>
B.
<p>Ala ma <b>kota</b></p>
C.
<p>Ala ma kota
D.
<p>Ala ma kota</p>
Pozostałe fragmenty są poprawnie zagnieżdżone lub niezwiązane z błędem. <p>Ala ma <b>kota</b></p> zamyka <b> przed <p> - prawidłowo. <p>Ala ma kota</p> nie ma zagnieżdżeń. Brak zamknięcia </p> to inny błąd. Krzyżowanie tagów występuje w <p>Ala ma <b>kota</p></b>.

Pytanie 2

Którą właściwość CSS należy zastosować, aby ustawić grubość (pogrubienie) czcionki?

A.
font-style
B.
text-style
C.
text-weight
D.
font-weight
Grubość czcionki ustawia właściwość font-weight. Przyjmuje wartości słowne (normal, bold) lub liczbowe (100-900), np. font-weight: bold. Im wyższa liczba, tym grubsze znaki. Dlatego do pogrubienia tekstu służy font-weight.

Pytanie 3

Aby edytować nakładające się na siebie pojedyncze fragmenty grafiki, pozostawiając resztę bez zmian, należy zastosować:

A. kadrowanie
B. histogram
C. kanał alfa
D. warstwy
Warstwy to podstawowy mechanizm edytorów grafiki (np. GIMP, Photoshop): każdy element umieszcza się na osobnej warstwie, niczym na przezroczystej folii, a leżące wyżej zasłaniają niższe. Dzięki temu można edytować, przesuwać lub ukrywać pojedynczy fragment, nie naruszając pozostałych. To właśnie warstwy pozwalają pracować nad nakładającymi się elementami niezależnie - i dlatego są poprawną odpowiedzią.

Pytanie 4

W języku PHP funkcja trim służy do

A. porównywania dwóch tekstów i zwracania ich wspólnej części
B. usuwania białych znaków lub innych znaków wymienionych w parametrze z obu końców tekstu
C. redukcji tekstu o zdefiniowaną w parametrze liczbę znaków
D. określenia długości tekstu
Analizując inne odpowiedzi, można zauważyć, że każda z nich opiera się na mylnych założeniach dotyczących funkcji trim. Wyznaczanie długości napisu to funkcjonalność, którą realizuje funkcja strlen. Użytkownicy mogą mylić te dwie funkcje, jednak trim nie zwraca liczby znaków w łańcuchu, a jedynie przekształca jego zawartość poprzez usunięcie białych znaków. Porównywanie dwóch napisów i wypisywanie ich części wspólnej to z kolei funkcjonalność, którą można zrealizować przy pomocy funkcji takich jak strcmp lub strcasecmp, które są dedykowane do porównań łańcuchów i operacji na nich. Pomijając funkcjonalności porównawcze, zrozumienie, że trim nie zmniejsza napisu o wskazaną liczbę znaków, lecz usuwa tylko białe znaki z końców, jest kluczowe dla poprawnego korzystania z tej funkcji. Takie podejście może prowadzić do błędnych interpretacji, gdyż funkcja trim działa na zasadzie operacji na końcach łańcucha, a nie na konkretnych pozycjach. Dlatego istotne jest, aby użytkownicy PHP zdobyli wiedzę na temat specyfikacji poszczególnych funkcji, aby uniknąć takich nieporozumień, co w praktyce ułatwia rozwój i utrzymanie kodu.

Pytanie 5

Do podzbioru DML (ang. Data Manipulation Language) języka SQL należą polecenia:

A. CREATE, DROP, ALTER
B. BEGIN, COMMIT, ROLLBACK
C. GRANT, REVOKE, DENY
D. INSERT, UPDATE, DELETE
W SQL bardzo łatwo pomylić różne grupy poleceń, bo wszystkie wyglądają podobnie, a jednak należą do innych podzbiorów języka. Podzbiór DML (Data Manipulation Language) dotyczy wyłącznie operacji na danych w tabelach: wstawiania, modyfikowania, usuwania i odczytu rekordów. Dlatego do DML zaliczamy przede wszystkim INSERT, UPDATE, DELETE oraz w wielu opracowaniach także SELECT. Wszystko to, co zmienia zawartość tabel, a nie ich definicję czy uprawnienia. Częsty błąd polega na wrzucaniu do jednego worka wszystkich poleceń SQL, bo „to też jest praca na bazie danych”. Na przykład CREATE, DROP i ALTER należą do DDL (Data Definition Language). One definiują strukturę bazy: tworzą tabele, usuwają je, zmieniają kolumny. To są operacje na schemacie bazy, a nie na rekordach. W praktyce używasz ich przy projektowaniu lub migracjach, a nie przy codziennej pracy aplikacji na danych użytkowników. Z kolei GRANT, REVOKE i DENY to klasyka DCL (Data Control Language). Te polecenia sterują uprawnieniami: kto może wykonywać SELECT, INSERT czy DELETE na danej tabeli, kto może tworzyć obiekty, itd. To już bardziej klimat administracji i bezpieczeństwa niż typowej manipulacji rekordami. BEGIN, COMMIT i ROLLBACK też bywają mylące. Dotyczą transakcji i zalicza się je zwykle do TCL (Transaction Control Language). One nie dodają ani nie zmieniają pojedynczego rekordu, tylko kontrolują „pakiet” operacji DML: pozwalają zatwierdzić lub wycofać całą serię INSERT/UPDATE/DELETE. Typowy błąd myślowy jest taki: skoro coś ma związek z danymi lub ich bezpieczeństwem, to pewnie DML. A jednak standardy i dobra praktyka wyraźnie rozdzielają DDL, DML, DCL i TCL, bo to pomaga lepiej rozumieć odpowiedzialność poszczególnych instrukcji i projektować bezpieczniejsze aplikacje. W codziennej pracy programisty webowego DML to głównie to, co stoi „pod spodem” formularzy: zapisywanie, edycja i kasowanie rekordów, a nie zarządzanie strukturą czy uprawnieniami.

Pytanie 6

Z tabel Klienci oraz Uslugi należy wyodrębnić tylko imiona klientów oraz odpowiadające im nazwy usług, które kosztują więcej niż 10 zł. Kwerenda uzyskująca te informacje ma formę

Ilustracja do pytania
A. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena > 10
B. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id
C. SELECT imie, nazwa FROM klienci, uslugi WHERE cena < 10
D. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = klienci.id
Odpowiedź 4 jest prawidłowa, ponieważ prawidłowo wykorzystuje składnię SQL do połączenia dwóch tabel oraz filtrowania danych na podstawie podanego warunku. Kwerenda używa JOIN, aby połączyć tabele Klienci i Uslugi na podstawie wspólnej kolumny uslugi_id, co jest zgodne z zasadami relacyjnej bazy danych, gdzie klucz obcy w jednej tabeli odnosi się do klucza głównego w innej tabeli. Następnie, kwerenda stosuje filtrację WHERE cena > 10, co pozwala na wybór tylko tych rekordów, gdzie cena usługi przekracza 10 zł. Jest to zgodne z praktyką selektywnego pobierania danych, co jest kluczowe w optymalizacji zapytań i skutecznym zarządzaniu zasobami bazy danych. Zastosowanie takich technik jest standardem w branży, umożliwiając efektywne zarządzanie dużymi zbiorami danych oraz zwiększenie wydajności aplikacji poprzez ograniczenie liczby zwracanych wierszy do tych, które spełniają określone kryteria. Zrozumienie i umiejętność implementacji takich zapytań SQL to podstawowa umiejętność dla specjalistów IT pracujących z bazami danych.

Pytanie 7

Wymiary:4272x2848px
Rozdzielczość:72 dpi
Format:JPG

W ramce przedstawiono właściwości pliku graficznego. W celu optymalizacji czasu ładowania rysunku na stronę WWW należy
A. zmniejszyć rozmiary obrazu
B. zwiększyć rozdzielczość
C. dostosować proporcje szerokości do wysokości
D. zmienić format grafiki na CDR
Zmniejszenie wymiarów rysunku to kluczowy krok w optymalizacji czasu ładowania grafiki na stronę internetową. Wymiary rysunku 4272x2848px są znaczące, co oznacza, że obraz ma dużą ilość pikseli, co przekłada się na większy rozmiar pliku. Przy standardowej rozdzielczości 72 dpi, która jest odpowiednia do wyświetlania na ekranach, mniejsze wymiary skutkują zmniejszeniem liczby pikseli, co automatycznie obniża wagę pliku. Przykładem może być przeskalowanie obrazu do wymiarów 800x600px, co może znacznie przyspieszyć czas ładowania strony. W praktyce, witryny internetowe powinny dążyć do używania obrazów o wymiarach dostosowanych do wyświetlacza, a optymalne wymiary to te, które są zgodne z responsywnym designem. Ponadto, standardy dotyczące wydajności stron, takie jak Web Page Test czy Google PageSpeed Insights, zalecają minimalizację rozmiaru plików graficznych jako kluczowy element poprawy szybkości ładowania. Zmniejszenie wymiarów rysunku jest zatem jednym z najprostszych i najbardziej efektywnych rozwiązań, które mogą przynieść znaczące korzyści w zakresie wydajności stron internetowych.

Pytanie 8

Instrukcja SQL przedstawiona w formie graficznej

ALTER TABLE 'miasta'
ADD 'kod' text;
A. zmienia nazwę tabeli miasta na nazwę kod
B. wprowadza do tabeli dwie kolumny o nazwach: kod i text
C. w tabeli miasta zmienia nazwę kolumny kod na nazwę text
D. dodaje do tabeli kolumnę o nazwie kod typu text
Polecenie ALTER TABLE w SQL to naprawdę przydatne narzędzie, które pozwala na modyfikowanie struktury tabeli w bazie danych. W Twoim przypadku dodajesz nową kolumnę o nazwie 'kod' typu text do tabeli 'miasta'. To słowo kluczowe ADD oznacza, że chcemy coś dorzucić do tej tabeli. Typ text jest fajny, bo jest używany do przechowywania różnych dłuższych tekstów, co sprawia, że idealnie nadaje się do takich danych jak opisy czy kody pocztowe. Pamiętaj, że przed robieniem zmian w tabelach warto pomyśleć, jak to wpłynie na całe działanie aplikacji i procesów w firmie. Na przykład, jeśli musisz przechować dodatkowe info o miastach, jak właśnie kody pocztowe, to dodanie tego jest super pomysłem. Znajomość ALTER TABLE jest mega przydatna w zarządzaniu bazami danych, bo pozwala na elastyczne dostosowanie tabel do zmieniających się potrzeb. To naprawdę może zwiększyć efektywność systemu, jeśli dobrze to ogarniesz.

Pytanie 9

Kod       SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30) spowoduje wybranie

A. imion, numerów PESEL oraz wieku osób w przedziale 18 do 30 lat
B. imion, numerów PESEL i wieku osób, które mają 18 lub 30 lat
C. imion, numerów PESEL oraz wieku ludzi mających ponad 30 lat
D. imion, nazwisk i numerów PESEL osób młodszych niż 18 lat
Pierwsza odpowiedź, która wskazuje na osoby poniżej 18 lat, jest błędna. To zapytanie SQL nie ma na celu wybrania młodszych; przecież filtruje tych, którzy mają 18 lub 30 lat. Co do drugiej odpowiedzi, to sugeruje, jakoby zapytanie wybierało osoby w przedziale od 18 do 30, co też jest pomyłką. Operator IN wskazuje konkretne liczby, a nie przedzial, dlatego w tym przypadku wiek pośredni nie ma miejsca. Trzecia odpowiedź, dotycząca osób powyżej 30 lat, kompletnie nie pasuje, bo nie dotyczy tego, co jest w zapytaniu. Właściwie to nie ma związku między tą składnią SQL a osobami, które mają więcej niż 30 lat. Każda z tych odpowiedzi wynika z niepoprawnego zrozumienia, jakie jest intencja zapytania, które jasno wybiera osoby tylko w dwóch podanych przedziałach. Myślę, że ważne jest, żeby dobrze rozumieć, jak działają operatory w SQL, żeby unikać takich pomyłek i nieporozumień.

Pytanie 10

Kod programu wraz z komentarzami oraz opisem algorytmów i metod stanowi dokumentację

A. urzędową.
B. techniczną.
C. audiowizualną.
D. graficzną.
Poprawnie – mówimy tutaj o dokumentacji technicznej. Kod programu razem z komentarzami w kodzie, opisem algorytmów, struktur danych, interfejsów, sposobu działania poszczególnych modułów czy klas to właśnie klasyczny przykład dokumentacji technicznej. W branży IT przyjmuje się, że dokumentacja techniczna jest skierowana głównie do programistów, administratorów, czasem też architektów systemów, czyli osób, które będą rozwijać, utrzymywać lub integrować dany system. Nie jest to materiał marketingowy ani „urzędowy”, tylko coś, co ma pomóc zrozumieć jak system działa od środka.
W praktyce dokumentacja techniczna obejmuje na przykład: komentarze w kodzie źródłowym (zgodne z konwencją danego języka, np. PHPDoc, JSDoc), opisy algorytmów w plikach README, wiki projektowe, diagramy UML, schematy przepływu danych, opisy endpointów API, a nawet instrukcje uruchomienia środowiska developerskiego. Moim zdaniem im lepiej zrobiona taka dokumentacja, tym łatwiej jest później komuś „wejść” w projekt bez zadawania dziesiątek pytań.
Dobre praktyki mówią, żeby dokumentacja techniczna była aktualna, wersjonowana razem z kodem (np. w Git), a komentarze w kodzie nie powtarzały tego, co oczywiste, tylko wyjaśniały „dlaczego tak”, a nie „co robi ta linijka”. W projektach webowych dokumentacja techniczna opisuje na przykład, jak działa logika logowania użytkownika, jak są zrobione zapytania do bazy, jakie są ograniczenia wydajnościowe. To wszystko pozwala utrzymać spójność systemu i ułatwia debugowanie oraz rozwój nowych funkcji.
Dlatego odpowiedź „techniczną” jest jak najbardziej zgodna z tym, jak branża rozumie dokumentację w kontekście programowania i algorytmów.

Pytanie 11

W tabeli artykuly znajduje się pole o nazwie nowy. Aby pole to wypełnić wartościami TRUE dla każdego rekordu, należy zastosować kwerendę

A. UPDATE nowy FROM artykuly VALUE TRUE;
B. UPDATE artykuly SET nowy = TRUE;
C. INSERT INTO artykuly VALUE nowy = TRUE;
D. INSERT INTO nowy FROM artykuly SET TRUE;
Poprawna kwerenda UPDATE artykuly SET nowy = TRUE; jest klasycznym przykładem instrukcji aktualizacji danych w SQL. Słowo kluczowe UPDATE wskazuje, że modyfikujemy istniejące rekordy, a nie dodajemy nowe. Nazwa tabeli artykuly określa, w której tabeli wykonujemy operację. Następnie część SET nowy = TRUE ustawia dla kolumny nowy wartość logiczną TRUE we wszystkich wierszach, ponieważ w zapytaniu nie ma klauzuli WHERE. I to jest tu kluczowe: brak WHERE oznacza, że aktualizacja dotknie każdego rekordu w tabeli.
Moim zdaniem warto zapamiętać schemat: UPDATE nazwa_tabeli SET kolumna = wartość WHERE warunek;. W praktyce bardzo często dodaje się WHERE, np.: UPDATE artykuly SET nowy = TRUE WHERE data_dodania >= '2026-01-01'; – wtedy oznaczamy jako nowe tylko artykuły dodane od konkretnej daty. W zadaniu jednak wyraźnie jest mowa o każdym rekordzie, więc brak WHERE jest jak najbardziej zgodny z treścią.
W większości systemów bazodanowych (MySQL, PostgreSQL, SQL Server, MariaDB) ta składnia jest standardowa i zalecana. Dobra praktyka jest taka, żeby przed odpaleniem UPDATE bez WHERE najpierw zrobić SELECT * FROM artykuly; albo SELECT COUNT(*) FROM artykuly;, żeby mieć świadomość, ile rekordów zmienimy. W projektach produkcyjnych często dodaje się też transakcje, np. w PostgreSQL: BEGIN; UPDATE artykuly SET nowy = TRUE; COMMIT; dzięki temu w razie pomyłki można zrobić ROLLBACK.
Warto też wiedzieć, że kolumna typu logicznego może przyjmować wartości TRUE, FALSE, czasem 1/0 (np. w MySQL), ale forma z TRUE/FALSE jest czytelniejsza i bardziej zgodna z semantyką. W wielu aplikacjach webowych pole w stylu nowy służy np. do filtrowania artykułów w panelu administracyjnym albo na stronie głównej: SELECT * FROM artykuly WHERE nowy = TRUE;. To dokładnie ten sam atrybut, który przed chwilą masowo ustawiliśmy poleceniem UPDATE.

Pytanie 12

Dostępna jest tabela programisci, która zawiera pola: id, nick, ilosc_kodu, ocena. Pole ilosc_kodu wskazuje liczbę linii kodu stworzonych przez programistę w danym miesiącu. W celu obliczenia łącznej liczby linii kodu napisanych przez wszystkich programistów, należy zastosować poniższe polecenie

A. SELECT SUM(ocena) FROM ilosc_kodu;
B. SELECT COUNT(programisci) FROM ilosc_kodu;
C. SELECT MAX(ilosc_kodu) FROM programisci;
D. SELECT SUM(ilosc_kodu) FROM programisci;
Aby obliczyć sumę linii kodu napisanych przez wszystkich programistów w tabeli 'programisci', poprawne jest użycie zapytania SQL: SELECT SUM(ilosc_kodu) FROM programisci. Zapytanie to wykorzystuje funkcję agregującą SUM(), która sumuje wartości w określonej kolumnie, w tym przypadku 'ilosc_kodu'. Kolumna ta zawiera liczbę linii kodu napisanych przez każdego programistę w danym miesiącu. Przykładem zastosowania tego zapytania może być sytuacja, w której chcemy określić całkowitą produktywność zespołu programistycznego w danym okresie czasu. Możemy rozszerzyć to zapytanie, dodając klauzulę WHERE, aby zsumować tylko linie kodu z określonego miesiąca lub roku. Warto również pamiętać o standardach SQL oraz zasadach normalizacji baz danych, które zalecają unikanie redundancji danych i umożliwiają efektywne przetwarzanie zapytań. Dzięki poprawnym praktykom można zapewnić optymalizację wydajności bazy danych oraz ułatwić późniejsze analizy danych.

Pytanie 13

Zawarte polecenie SQL wykonuje

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. ustalić wartość pola Uczen na 1
B. powiększyć wartość pola Uczen o jeden
C. zwiększyć o jeden wartość w kolumnie id_klasy dla wszystkich rekordów tabeli Uczen
D. ustalić wartość kolumny id_klasy na 1 dla wszystkich rekordów w tabeli Uczen
Polecenie SQL, które analizujemy, to: `UPDATE Uczen SET id_klasy = id_klasy + 1;`. Jego celem jest zwiększenie wartości w kolumnie `id_klasy` o jeden dla wszystkich rekordów w tabeli `Uczen`. Wykorzystanie operacji `SET` w poleceniu `UPDATE` umożliwia modyfikację istniejących danych w bazie. W tym przypadku każda wartość w kolumnie `id_klasy` zostaje powiększona o jeden. To technika często stosowana przy aktualizacjach, gdzie potrzebujemy inkrementować wartości, np. w przypadku liczników, numeracji czy przesuwania pozycji. Stosowanie `UPDATE` zgodnie z dobrymi praktykami wymaga ostrożności, zwłaszcza przy operacjach masowych, aby unikać niezamierzonych zmian w danych. Ważne jest, aby przed wykonaniem takich operacji upewnić się, że kopia zapasowa danych jest dostępna, a operacja została przetestowana w środowisku testowym, aby uniknąć potencjalnych problemów w środowisku produkcyjnym.

Pytanie 14

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

A.
case
B.
continue
C.
switch
D.
while
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 15

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

A. pseudoelement
B. klasę
C. pseudoklasę
D. identyfikator
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 16

Przedstawiony styl generuje pojedyncze obramowanie, które posiada następujące właściwości:

border: solid 1px;
border-color: red blue green yellow;
A. krawędź górna jest koloru czerwonego, krawędź prawa koloru niebieskiego, krawędź dolna koloru zielonego, krawędź lewa koloru żółtego
B. krawędź górna ma kolor czerwony, krawędź lewa w kolorze niebieskim, krawędź dolna w odcieniu zielonym, krawędź prawa w kolorze żółtym
C. krawędź prawa ma kolor czerwony, krawędź dolna w kolorze niebieskim, krawędź lewa w odcieniu zielonym, krawędź górna w kolorze żółtym
D. krawędź lewa ma kolor czerwony, krawędź dolna w kolorze niebieskim, krawędź prawa w odcieniu zielonym, krawędź górna w kolorze żółtym
Niewłaściwe zrozumienie składni border-color prowadzi do błędnych odpowiedzi. Właściwość border-color pozwala przypisać do każdej krawędzi elementu osobne kolory według kolejności: góra prawa dół lewa. Przy czterech wartościach każda odpowiada innej krawędzi rozpoczynając od górnej w ruchu zgodnym z ruchem wskazówek zegara. Niektórzy mogą błędnie założyć że kolejność zaczyna się od lewej krawędzi co prowadzi do niepoprawnych wniosków. Podanie wyłącznie dwóch kolorów skutkuje ich przypisaniem do przeciwległych krawędzi ale w przypadku czterech wartości każda odpowiada innej krawędzi. Typowy błąd polega na myleniu kolejności przypisania kolorów co komplikuje interpretację i prowadzi do niepoprawnego zrozumienia jak właściwość border-color działa w praktyce. Dla poprawności i zgodności z standardami CSS niezbędne jest precyzyjne i dokładne analizowanie dokumentacji oraz przykładów co pozwala uniknąć typowych błędów i ułatwia poprawne wdrażanie stylów na stronach internetowych. Zrozumienie właściwości CSS i ich poprawne zastosowanie jest kluczowe w projektowaniu nowoczesnych stron internetowych co zapewnia zarówno estetyczny wygląd jak i funkcjonalność interfejsu użytkownika. Właściwe używanie border-color wspiera tworzenie atrakcyjnych i dostępnych projektów co jest nieocenione w pracy każdego specjalisty od front-endu.

Pytanie 17

Czym charakteryzuje się tablica asocjacyjna?

A. indeksem (kluczem) w postaci łańcucha znaków
B. przechowywaniem innej tablicy w każdej komórce
C. co najmniej dwoma wymiarami
D. indeksowaniem elementów zawsze od 0
Pozostałe cechy dotyczą innych struktur. Indeksowanie zawsze od 0 to cecha tablicy zwykłej (indeksowanej liczbami). Co najmniej dwa wymiary opisują tablicę wielowymiarową, a przechowywanie innej tablicy w każdej komórce to tablica tablic. Tablicę asocjacyjną definiuje tekstowy klucz.

Pytanie 18

W systemach bazodanowych, aby przedstawić dane, które spełniają określone kryteria, należy stworzyć

A. makropolecenie
B. raport
C. relację
D. formularz
Raport w kontekście baz danych to coś, co naprawdę pomaga w uporządkowanej prezentacji danych. Dzięki niemu możemy pokazać informacje w taki sposób, żeby było to zrozumiałe i zgodne z tym, czego potrzebujemy. Raporty to świetne narzędzie do zbierania danych, ich analizy i wizualizacji, co jest bardzo ważne w biznesie. Na przykład, można za ich pomocą stworzyć zestawienie sprzedaży za dany okres, porównać finanse różnych działów firmy albo sprawdzić, jak skuteczne były kampanie marketingowe. W praktyce często korzysta się z takich raportów w programach jak Microsoft Access, gdzie można wybrać źródło danych, odpowiednie pola i ustawić filtry. To wszystko po to, żeby stworzyć dokument, który jasno przedstawia wyniki analizy. Warto pamiętać, że tworzenie raportów powinno opierać się na dobrych zasadach, takich jak czytelność i estetyka, a także dostosowanie do potrzeb użytkownika, bo to naprawdę się liczy, jeśli chodzi o UX.

Pytanie 19

Pętla while ma działać, dopóki zmienna x należy do przedziału otwartego (-2, 5). Który warunek to zapisuje (PHP)?

A.
($x > -2) || ($x > 5)
B.
($x == -2) && ($x < 5)
C.
($x > -2) && ($x < 5)
D.
($x < -2) || ($x > 5)
Przedział otwarty (-2, 5) to liczby WIĘKSZE od -2 i jednocześnie MNIEJSZE od 5, więc warunek to ($x > -2) && ($x < 5) - oba muszą być spełnione naraz, stąd iloczyn logiczny &&. Pętla while działa, dopóki ten warunek jest prawdziwy. Zapamiętaj: przedział otwarty = ostre nierówności (>, <) połączone &&.

Pytanie 20

W przypadku przedstawionego fragmentu kodu walidator HTML zgłosi błąd, ponieważ

<img src="kwiat.jpg alt="kwiat">
A. nie zamknięto cudzysłowu
B. użyto niewłaściwego znacznika do wyświetlenia obrazu
C. wprowadzono nieznany atrybut alt
D. nie odnaleziono pliku kwiat.jpg
Poprawna odpowiedź to nie domknięto cudzysłowu ponieważ w kodzie HTML atrybuty muszą być poprawnie zamknięte aby poprawnie interpretować ich wartości. W przedstawionym fragmencie kodu dla znacznika img brakuje końcowego cudzysłowu po wartości src co stanowi błąd składniowy. Tego typu błędy mogą prowadzić do nieprawidłowego działania strony ponieważ przeglądarka nie jest w stanie jednoznacznie określić końca wartości atrybutu co może skutkować nieprawidłowym renderowaniem danych. Zgodnie z najlepszymi praktykami każde otwarte cudzysłowie powinno być zamknięte aby zapewnić poprawną interpretację kodu. Ponadto stosowanie poprawnego zamykania cudzysłowów zwiększa czytelność kodu co jest istotne przy współpracy zespołowej i ułatwia jego utrzymanie. Warto także korzystać z walidatorów HTML które automatycznie wykrywają takie błędy pomagając w ich szybkim usunięciu. Tego rodzaju narzędzia są kluczowe w procesie tworzenia stron internetowych ponieważ umożliwiają weryfikację zgodności kodu z obowiązującymi standardami co ma bezpośredni wpływ na jego wydajność i kompatybilność z różnymi przeglądarkami.

Pytanie 21

Podany fragment kodu PHP ma na celu wstawienie wartości z zmiennych $a, $b, $c do bazy danych, w tabeli dane. Tabela ta składa się z czterech kolumn, z których pierwsza to autoinkrementowany klucz podstawowy. Które z zapytań powinno być przypisane do zmiennej $zapytanie?

<?php
...
$zapytanie = "...";
mysqli_query($db, $zapytanie);
...
?>
A. ```SELECT '$a', '$b', '$c' FROM dane;```
B. ```INSERT INTO dane VALUES ('$a', '$b', '$c');```
C. ```INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');```
D. ```SELECT NULL, '$a', '$b', '$c' FROM dane;```
Prawidłowa odpowiedź to "INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');" ponieważ wstawia dane do bazy danych w sposób zgodny z jej strukturą. W tabeli dane pierwsze pole jest kluczem głównym, który jest autoinkrementowany, co oznacza, że nie musimy go podawać ręcznie. Wartość NULL w tym przypadku pozwala bazie danych na automatyczne wygenerowanie nowego identyfikatora. Pozostałe zmienne, $a, $b i $c, zawierają dane, które chcemy wstawić do odpowiednich kolumn. Stosowanie przygotowanych zapytań (prepared statements) w PHP z wykorzystaniem mysqli jest najlepszą praktyką, ponieważ zapewnia ochronę przed atakami SQL injection oraz poprawia wydajność. Przykład zastosowania tego typu zapytania może obejmować dodawanie użytkowników do systemu, gdzie każdy użytkownik ma unikalny identyfikator generowany przez bazę danych. Warto również pamiętać o walidacji i sanitizacji danych przed ich wprowadzeniem do bazy.

Pytanie 22

Po uruchomieniu zamieszczonego w ramce skryptu w języku JavaScript, w przeglądarce zostanie wyświetlona wartość:

var a = 5;
var b = a--;
a *= 3;
document.write(a + "," + b);
A. 12,4
B. 15,4
C. 12,5
D. 15,5
W tym skrypcie JavaScript mamy operator dekrementacji a--, gdzie najpierw wartość zmiennej a jest przypisana do zmiennej b, a dekrementacja następuje później. Jeśli tego nie rozumiesz, może to prowadzić do różnych nieporozumień co do wynikowych wartości. Czyli po a-- b przyjmuje pierwotną wartość a, która wynosi 5. Warto zrozumieć kolejność operacji, bo przy operatorze postfix zmiana wartości następuje po przypisaniu. Później, po dekrementacji, a staje się 4, co czasem jest źle interpretowane, bo ludzie myślą, że b też by się zmieniło. Potem jest a *= 3, gdzie 4 mnożymy przez 3 i dostajemy 12. Często ludzie popełniają błąd, zakładając, że operatory działają równocześnie w jednym wierszu kodu. Ważne jest, żeby znać te subtelności, bo pomaga to w lepszym programowaniu i kontrolowaniu, jak zmienne się zmieniają.

Pytanie 23

Styl ten generuje pojedyncze obramowanie, które charakteryzuje się następującymi właściwościami:

border: solid 1px;
border-color: red blue green yellow;
A. krawędź lewa ma kolor czerwony, krawędź dolna jest w kolorze niebieskim, krawędź prawa jest koloru zielonego, krawędź górna ma kolor żółty
B. krawędź górna jest czerwonego koloru, krawędź lewa jest w kolorze niebieskim, krawędź dolna ma kolor zielony, krawędź prawa ma kolor żółty
C. krawędź górna ma kolor czerwony, krawędź prawa jest w kolorze niebieskim, krawędź dolna ma kolor zielony, krawędź lewa jest koloru żółtego
D. krawędź prawa jest koloru czerwonego, krawędź dolna ma kolor niebieski, krawędź lewa ma kolor zielony, krawędź górna ma kolor żółty
Błędne zrozumienie przypisania kolorów do krawędzi obramowania w CSS wynika z niewłaściwego interpretowania kolejności, w jakiej te kolory są przypisywane. W standardach CSS, kiedy używamy składni takiej jak border-color: red blue green yellow; kolory są przypisywane zaczynając od krawędzi górnej, a następnie zgodnie z kierunkiem wskazówek zegara. Stąd czerwona krawędź to górna, niebieska to prawa, zielona to dolna, a żółta to lewa. Błędne odpowiedzi wynikają z niepoprawnego przypisania kolorów do krawędzi w innej kolejności. Typowym błędem jest myślenie, że kolory są przypisane w porządku lewa-prawa-dół-góra, co jest sprzeczne z domyślną kolejnością CSS. Bez poprawnego zrozumienia tej logiki, projektanci mogą doświadczyć trudności w przewidywaniu jakich efektów wizualnych oczekiwać od swojej pracy, co może prowadzić do błędów w projektach. Aby uniknąć takich problemów, kluczowe jest zapoznanie się i zrozumienie zasad określających jak style CSS są interpretowane przez przeglądarki, co pozwala na pełne wykorzystanie możliwości jakie oferują style kaskadowe. Poprawne stosowanie tych zasad jest niezbędne do tworzenia profesjonalnych i spójnych projektów internetowych, które są zgodne z najlepszymi praktykami w branży.

Pytanie 24

Od jakiego znaku rozpoczyna się nazwa zmiennej w języku PHP?

A.
#
B.
&
C.
@
D.
$
W PHP każda zmienna zaczyna się od znaku dolara $, po którym następuje nazwa, np. $liczba czy $_POST. Pozwala to interpreterowi odróżnić zmienne od słów kluczowych i funkcji. Dlatego nazwa zmiennej w PHP rozpoczyna się od $.

Pytanie 25

W tabeli artykuły wykonano następujące instrukcje dotyczące uprawnień użytkownika jan:

GRANT ALL PRIVILEGES ON artykuly TO jan
REVOKE SELECT, UPDATE ON artykuly FROM jan
Po zrealizowaniu tych instrukcji pracownik jan będzie uprawniony do
A. tworzenia tabeli i wypełniania jej danymi
B. edycji danych oraz przeglądania tabeli
C. wyświetlania zawartości tabeli
D. tworzenia tabeli oraz edytowania danych w niej
Wybrane odpowiedzi, które nie są poprawne, nie uwzględniają szczególnych ograniczeń, które zostały nałożone na użytkownika Jana po wykonaniu polecenia REVOKE. W przypadku odpowiedzi sugerujących, że Jan mógłby aktualizować dane i przeglądać tabelę, brakuje zrozumienia znaczenia polecenia REVOKE, które jednoznacznie odmawia tych uprawnień. Aktualizowanie danych w tabeli wymaga posiadania uprawnienia UPDATE, które Jan utracił. Z kolei odpowiedzi sugerujące tworzenie tabeli i aktualizowanie w niej danych oraz przeglądanie tabeli są również mylące, ponieważ wykluczają kluczowy aspekt ograniczeń narzuconych przez polecenie REVOKE. Użytkownik Jan nie może przeglądać danych w tabeli, ponieważ nie ma aktualnie uprawnienia SELECT. Ponadto, w kontekście SQL, każdy użytkownik musi mieć przyznane konkretne uprawnienia do realizacji określonych operacji na danych, co w przypadku Jana oznacza, że jego uprawnienia do SELECT i UPDATE są nieodwracalnie usunięte, co czyni wszystkie te odpowiedzi nieaktualnymi.

Pytanie 26

Aby uruchomić skrypt JavaScript, potrzebne jest oprogramowanie

A. przeglądarki internetowej
B. serwera WWW
C. debuggera JavaScript
D. serwera MySQL
Aby uruchomić skrypt JavaScript, niezbędne jest posiadanie przeglądarki internetowej, która obsługuje JavaScript. Przeglądarki takie jak Chrome, Firefox, Safari czy Edge zawierają silniki JavaScript, które interpretują i wykonują skrypty na stronach internetowych. Przykładowo, gdy użytkownik wchodzi na stronę internetową, która wykorzystuje JavaScript do dynamicznego ładowania treści lub interakcji z użytkownikiem, przeglądarka przetwarza skrypty w czasie rzeczywistym, co wpływa na doświadczenie użytkownika. Przeglądarki regularnie aktualizują swoje silniki, co przyczynia się do poprawy wydajności i bezpieczeństwa. Dodatkowo, korzystanie z narzędzi deweloperskich w przeglądarkach, takich jak konsola JavaScript, umożliwia programistom testowanie i debugowanie skryptów w łatwy sposób. W kontekście standardów webowych, JavaScript jest kluczowym elementem technologii front-end, współpracując z HTML i CSS, aby zapewnić interaktywność i responsywność stron internetowych. Warto również zauważyć, że niektóre frameworki, takie jak React czy Angular, również opierają się na JavaScript, co podkreśla jego znaczenie w nowoczesnym web developmencie.

Pytanie 27

Którego atrybutu HTML5 użyć, aby w polu edycyjnym wyświetlić podpowiedź (tekst zastępczy)?

A.
placeholder
B.
autofocus
C.
required
D.
pattern
Pozostałe atrybuty pól robią co innego. pattern zadaje wzorzec (wyrażenie regularne) do walidacji wpisanej wartości. required wymusza wypełnienie pola przed wysłaniem. autofocus automatycznie ustawia kursor w polu po załadowaniu strony. Podpowiedź w polu pokazuje placeholder.

Pytanie 28

Które wyrażenie należy wstawić w miejsce ??? w pętli zapisanej w języku C++, aby zostały wyświetlone jedynie elementy tablicy tab

int tab[6];
for (int i = 0; ???; i++)
cout << tab[i];
A. i > 6
B. i >= 6
C. i < 6
D. i <= 6
Odpowiedź 'i < 6' jest super, bo w kontekście pętli for w C++ oznacza, że ta pętla będzie działać tak długo, jak zmienna i jest mniejsza od 6. Dzięki temu uda się wyświetlić wszystkie elementy tablicy tab, które są od 0 do 5, czyli w sumie mamy sześć elementów. W praktyce pętle for są bardzo przydatne do przetwarzania tablic, bo ułatwiają przechodzenie przez wszystkie ich elementy. Jak używamy tej konstrukcji, to programista ma pewność, że nie przekroczy granic tablicy, co jest mega ważne dla stabilności apki. Dobrze jest stosować warunki, które jasno określają, do jakiego miejsca pętla ma działać, żeby kod był bardziej czytelny i bezpieczny. W bardziej rozbudowanych programach można pomyśleć o użyciu kontenerów STL, jak std::vector, które same ogarniają rozmiar i iterację.

Pytanie 29

Po uruchomieniu poniższego fragmentu kodu PHP:

echo date("Y");
na ekranie pojawi się bieżąca data zawierająca tylko:
A. dzień
B. dzień i miesiąc
C. miesiąc i rok
D. rok
W odpowiedzi na pytanie, kod PHP echo date("Y"); zwraca aktualny rok, co jest zgodne z jego konstrukcją. Funkcja date() w PHP jest standardowym sposobem na formatowanie daty i czasu. Przekazany argument "Y" oznacza, że chcemy otrzymać rok w czterocyfrowym formacie. Na przykład, jeśli aktualny rok to 2023, wynik będzie wynosił 2023. Tego rodzaju operacje są niezwykle przydatne w różnych aplikacjach, od prostych stron internetowych po bardziej złożone systemy zarządzania treścią, gdzie dane o roku mogą być wykorzystywane do generowania dynamicznych treści, takich jak stopki z roku lub nagłówki z aktualnym rokiem. Użycie funkcji date() w odpowiedni sposób jest zgodne z najlepszymi praktykami programowania w PHP, które zalecają używanie wbudowanych funkcji do zarządzania datami i czasem, co zapewnia większą niezawodność i prostotę w kodzie.

Pytanie 30

Obraz przedstawia formatowanie CSS paragrafu. Aby otrzymać czerwony kolor poza obramowaniem, tak jak przedstawiono na obrazie, należy zdefiniować własność

Oto przykład paragrafu który poza ramką ma kolor grubości 10 px

A. background
B. outline
C. padding
D. border
Dobrze, wybrałeś właściwą odpowiedź! W tym pytaniu, żeby uzyskać czerwony kolor obok obramowania paragrafu, trzeba użyć właściwości 'outline'. Ta właściwość daje Ci możliwość dodania konturu do elementu, ale nie zmienia jego rozmiarów na stronie, więc wszystko zostaje na swoim miejscu. Fajnie jest to wykorzystać, gdy chcemy, żeby coś się wyróżniało, ale nie chcemy wprowadzać chaosu w układzie. To naprawdę dobra praktyka w web designie. Spróbuj zastosować to w swoich projektach!

Pytanie 31

Kiedy stosuje się kwerendę SELECT DISTINCT?

A. gdy rekordy występują w bazie tylko raz
B. gdy w wybranej kolumnie wartości nie mają się powtarzać
C. gdy chcemy pogrupować rekordy
D. gdy chcemy posortować rekordy
SELECT DISTINCT stosuje się wtedy, gdy w wybranej kolumnie wartości nie mają się powtarzać w wyniku - baza zwróci wówczas tylko unikalne pozycje, np. SELECT DISTINCT miasto FROM klienci da listę różnych miast bez duplikatów. To typowy sposób na utworzenie zestawienia „każda wartość raz”. Dlatego używa się go dla niepowtarzających się wartości kolumny.

Pytanie 32

Jakie są wyniki wykonania zapytania SQL?

SELECT count(*) FROM Uczniowie WHERE srednia=5;
A. ilość uczniów, których średnia ocen wynosi 5
B. suma ocen uczniów z średnią 5
C. średnia wszystkich ocen uczniów
D. łączna liczba uczniów
Zapytanie SQL używa funkcji COUNT aby policzyć liczbę rekordów w tabeli Uczniowie spełniających warunek srednia=5 Klauzula WHERE ogranicza zestaw zliczanych rekordów do tych gdzie średnia ocen ucznia wynosi dokładnie 5 W efekcie wynik zapytania odpowiada liczbie uczniów mających średnią ocen równą 5 Takie podejście jest powszechnie stosowane w analizie danych gdzie wymagane jest określenie liczby jednostek spełniających konkretne kryteria Zastosowanie COUNT w połączeniu z WHERE umożliwia precyzyjną kontrolę nad analizowanym zbiorem danych co jest standardem w wielu systemach bazodanowych Praktyczne zastosowanie tej techniki można spotkać w raportowaniu wyników nauczania generowaniu statystyk czy w analizach biznesowych gdzie kluczowe jest zrozumienie struktury i charakterystyki danych Zapytanie to ilustruje dobrą praktykę pracy z bazami danych polegającą na efektywnym i precyzyjnym formułowaniu zapytań w celu uzyskania wartościowych i precyzyjnych informacji

Pytanie 33

Który z przedstawionych ciągów znaków nie pasuje do wzorca wyrażenia regularnego określonego poniżej?

(([A-ZŁŻ][a-ząęóźżćńś]{2,})(-[A-ZŁŻ][a-ząęóźżćńś]{2,})?)
A. Kowalski
B. Nowakowska-Kowalska
C. Kasprowicza
D. Jelenia Góra
Wzorce wyrażeń regularnych stosowane są do dokładnego dopasowywania lub przekształcania tekstu. Podany wzorzec wymaga, by ciąg tekstu zaczynał się dużą literą, po której następuje co najmniej dwie małe litery, opcjonalnie kontynuowane przez myślnik i kolejną sekwencję dużej i co najmniej dwóch małych liter. Błędem jest uznanie za poprawne ciągów zawierających odstęp, jak Jelenia Góra, który nie spełnia tego wymogu, gdyż spacja nie jest dozwolona w środku wzorca. Typowym błędnym przekonaniem jest myślenie, że każda sekwencja zaczynająca się dużą literą będzie pasować, co nie jest prawdą, ponieważ struktura musi być jednorodna bez przerw, takich jak spacje. Wyrażenia regularne są użyteczne w programowaniu przy walidacji danych wejściowych, gdzie musimy sprawdzić, czy dane spełniają określone kryteria. Często stosuje się je do filtrowania danych lub wyszukiwania specyficznych informacji w ciągach tekstowych. Zrozumienie ich logiki pomaga unikać błędów i skutecznie analizować tekst, co jest kluczowe w pracy z danymi w IT. Praktyka z wyrażeniami regularnymi pozwala lepiej kontrolować i przetwarzać skomplikowane struktury tekstowe, co jest nieocenioną umiejętnością w zawodach związanych z programowaniem i analizą danych.

Pytanie 34

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:active { background-color: Pink; }
B. tr { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. td, th { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek.

W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony.

Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 35

Którego atrybutu użyć, aby scalić w PIONIE dwie sąsiednie komórki tabeli?

A.
cellspacing
B.
colspan
C.
rowspan
D.
cellpadding
colspan też scala komórki, ale w POZIOMIE (łączy kolumny w jednym wierszu), więc nie nadaje się do pionu. cellpadding i cellspacing w ogóle nie scalają - to atrybuty całej tabeli ustawiające odstęp wewnątrz komórek oraz między nimi. Pionowe łączenie sąsiednich komórek daje wyłącznie rowspan.

Pytanie 36

DOM udostępnia metody i właściwości, które w języku JavaScript umożliwiają:

A. manipulowanie łańcuchami znaków zadeklarowanymi w kodzie
B. wykonywanie operacji na zmiennych liczbowych
C. pobieranie i modyfikowanie elementów wyświetlonej strony
D. wysłanie danych formularza bezpośrednio do bazy danych
Pozostałe odpowiedzi dotyczą rzeczy niezwiązanych z DOM. Manipulowanie łańcuchami znaków zapewniają wbudowane metody typu string (np. length, slice()), a nie DOM. Wysłanie danych formularza do bazy danych realizuje kod po stronie serwera (np. PHP) - przeglądarkowy DOM nie ma bezpośredniego dostępu do bazy. Operacje na zmiennych liczbowych to podstawowe działania języka, dostępne niezależnie od dokumentu. DOM służy do odczytywania i zmieniania elementów wyświetlonej strony, dlatego to ta odpowiedź jest poprawna.

Pytanie 37

Za pomocą którego protokołu można bezpiecznie (z szyfrowaniem) przesłać pliki strony internetowej na serwer WWW?

A. Telnet
B. SFTP
C. IMAP
D. POP3
SFTP (SSH File Transfer Protocol) przesyła pliki w ramach sesji SSH, dlatego cała komunikacja - zarówno dane plików, jak i login oraz hasło - jest szyfrowana. To właśnie czyni go bezpiecznym sposobem na wgranie plików witryny (HTML, CSS, JavaScript, grafik) na serwer WWW: nawet w sieci publicznej nikt postronny nie odczyta przesyłanej zawartości ani danych logowania. SFTP działa na jednym połączeniu (domyślnie port 22) i pozwala nie tylko kopiować pliki, ale też tworzyć katalogi, zmieniać nazwy czy usuwać pliki na serwerze. Dlatego przy publikacji strony, gdy zależy nam na poufności transferu, wybieramy SFTP zamiast klasycznego, nieszyfrowanego FTP.

Pytanie 38

W formularzu dokumentu PHP znajduje się pole <input name="im">. Gdy użytkownik wprowadzi tekst "Janek", aby dodać wartość tego pola do bazy danych, w tablicy $_POST będzie obecny element

A. Janek z następującym numerem indeksu
B. im o indeksie Janek
C. im z następującym numerem indeksu
D. Janek o indeksie im
Odpowiedzi wskazujące na istnienie dodatkowych numerów indeksów lub powiązań między wartością a nazwą pola są błędne, ponieważ nie odzwierciedlają rzeczywistego działania PHP w kontekście formularzy. W przypadku, gdy użytkownik wpisuje "Janek" w polu o nazwie 'im', PHP nie przypisuje tej wartości do jakiegoś indeksu numerowanego. Tablica $_POST operuje na zasadzie klucz-wartość, gdzie klucz jest nazwą pola w formularzu, a wartość to wprowadzone dane. Zatem klucz 'im' w tablicy $_POST zostałby skojarzony bezpośrednio z wartością 'Janek' jako jego wartość. Każda inna koncepcja, taka jak dodawanie numerów indeksów czy zamiana wartości z kluczem, jest myląca. Typowe błędy myślowe związane z tym zagadnieniem obejmują niezrozumienie, że PHP nie tworzy dynamicznych kluczy w tablicach na podstawie wartości, a jedynie przypisuje wartości do zdefiniowanych kluczy. Z tego powodu, żeby skutecznie operować na danych z formularzy, programiści muszą dokładnie rozumieć, jak działa tablica $_POST oraz jak poprawnie przetwarzać dane wejściowe w PHP, unikając przy tym błędnych interpretacji ich struktury.

Pytanie 39

Które stwierdzenie o językach jest FAŁSZYWE?

A. PHP służy do tworzenia stron w czasie rzeczywistym
B. JavaScript jest językiem skryptowym
C. C++ jest językiem obiektowym
D. SQL jest językiem programowania strukturalnego
Pozostałe zdania są PRAWDZIWE, więc nie pasują do pytania o fałsz. C++ rzeczywiście jest obiektowy, JavaScript skryptowy, a PHP faktycznie generuje strony dynamicznie. Nieprawdą jest jedynie nazwanie SQL językiem programowania strukturalnego - to deklaratywny język zapytań.

Pytanie 40

Implementując przedstawiony fragment algorytmu należy posłużyć się instrukcją

Ilustracja do pytania
A. for
B. while
C. if
D. break
Dobra robota! Trafiłeś z odpowiedzią - to 'if'. To, co analizowałeś, to struktura warunkowa. Używamy jej, żeby sprawdzić, czy coś się zgadza. W tym przypadku algorytm sprawdza, czy 'a' jest większe niż 'b'. Jeśli tak, to robi jedną rzecz, a jeśli nie, to robi coś innego. To klasyczne wykorzystanie 'if'. Takie instrukcje warunkowe są naprawdę ważne w programowaniu, bo umożliwiają tworzenie elastycznych algorytmów, które reagują na różne sytuacje. Dzięki nim nasze programy stają się bardziej dynamiczne i inteligentne.