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: 12 czerwca 2026 18:34
  • Data zakończenia: 12 czerwca 2026 18:55

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Do czego służy reguła float: left; zastosowana do elementu blokowego?

A. do wyrównania tekstu do lewej
B. do układania bloków jeden pod drugim
C. do ustawienia bloku po lewej, by inne elementy go oblewały
D. do wyrównania elementów tabeli do lewej
float steruje opływaniem, a nie wyrównaniem tekstu (od tego jest text-align) ani układaniem bloków jeden pod drugim (to domyślne zachowanie). Nie dotyczy też wyrównywania komórek tabeli. float: left; ustawia blok po lewej, by inne elementy go oblewały.

Pytanie 2

Elementarna animacja może być zapisana w formacie

A. TIFF
B. BMP
C. PSD
D. GIF
Format GIF (Graphics Interchange Format) jest powszechnie stosowany do tworzenia prostych animacji ze względu na swoją zdolność do kompresji obrazów i obsługi przez większość przeglądarek internetowych. GIF pozwala na zapisanie sekwencji obrazów w jednej pliku, co umożliwia ich wyświetlanie jako animacji. Standard GIF obsługuje maksymalnie 256 kolorów z palety, co czyni go idealnym do prostych grafik, takich jak ikony czy animacje internetowe. Dzięki metodzie kompresji Lempel-Ziv-Welch (LZW) możliwe jest zmniejszenie rozmiaru pliku bez utraty jakości, co jest kluczowe w kontekście transferu danych przez sieć. Przykłady zastosowania formatu GIF obejmują animowane banery reklamowe, emotikony oraz krótkie klipy wideo w formie GIF, które stały się popularne na platformach społecznościowych. Ponadto GIF wspiera przezroczystość i animacje w cyklu, co podnosi jego użyteczność w wielu aplikacjach multimedialnych. Z tego powodu GIF jest formatem, który oferuje zarówno funkcjonalność, jak i kompatybilność, co czyni go najlepszym wyborem dla prostych animacji.

Pytanie 3

W języku CSS wprowadzone zostało następujące formatowanie:

h1 i {color:red;}
Kolor czerwony będzie stosowany do
A. tylko tekstu pochylonego nagłówka pierwszego poziomu
B. wyłącznie pochylonego tekstu w każdym rodzaju nagłówka
C. całego tekstu nagłówka pierwszego stopnia oraz tekstu pochylonego w akapicie
D. całego tekstu nagłówka pierwszego stopnia oraz całego tekstu pochylonego, niezależnie od lokalizacji na stronie
Wszystkie odpowiedzi, które nie odpowiadają na pytanie, wynikają z niepoprawnego zrozumienia selektora CSS. Odpowiedzi, które sugerują, że kolor czerwony dotyczy całego tekstu nagłówka pierwszego stopnia, są błędne, ponieważ kolor czerwony jest przypisany jedynie do elementów 'i' znajdujących się w 'h1'. Nieprawidłowe jest także sugerowanie, że stylizacja dotyczy tekstu pochylonego we wszystkich poziomach nagłówków, ponieważ selektor odnosi się wyłącznie do 'h1', co wyklucza inne nagłówki. Dodatkowo, stwierdzenie, że styl obejmuje cały tekst nagłówka oraz wszelki tekst pochylony, nie jest zgodne z zasadami dziedziczenia stylów CSS. W rzeczywistości, selektor ogranicza się do określonego kontekstu, co oznacza, że tylko elementy 'i' w ramach 'h1' podlegają tym regułom. W związku z tym, jakiekolwiek inne elementy czy nagłówki nie są brane pod uwagę w tej regule stylizacji, co z kolei podkreśla precyzyjność i zastosowanie selektorów w CSS.

Pytanie 4

Dla tablicy n-elementowej o nazwie t[n], algorytm, zapisany w formie kroków, ma za zadanie obliczenie sumy

Ilustracja do pytania
A. n-elementów tablicy
B. co drugiego elementu tablicy
C. sumy wszystkich elementów tablicy
D. sumy tych elementów tablicy, których wartości są nieparzyste
Algorytm, który masz na zdjęciu, ma na celu sumowanie co drugiego elementu w tablicy. Na początku ustalamy zmienne i=0 oraz wynik=0. Używamy pętli while, żeby przejść przez tablicę, a zmienna i zwiększa się o 2 za każdym razem, więc idealnie nadaje się do zbierania co drugiego elementu. W kroku K3 dodajemy aktualny element tablicy do zmiennej wynik, co w praktyce oznacza, że sumujemy elementy, które są na parzystych indeksach (czyli te z miejsc 0, 2, 4 i tak dalej). Takie podejście jest dosyć popularne, kiedy musimy wyodrębniać fragmenty danych z większej tablicy. Można to wykorzystać w różnych sytuacjach, gdzie liczy się efektywność, jak na przykład przy przetwarzaniu dużych zbiorów danych. Dzięki temu zmniejszamy złożoność obliczeniową i lepiej zarządzamy pamięcią. W branży często doradza się unikanie niepotrzebnych iteracji i skupianie się na mądrym projektowaniu algorytmów, co zdecydowanie prowadzi do lepszego kodu.

Pytanie 5

W HTML, aby ustawić tytuł dokumentu na "Moja strona", który pojawi się na karcie przeglądarki internetowej, należy użyć zapisu

A. <title>Moja strona</title>
B. <head>Moja strona</head>
C. <meta title="Moja strona">
D. <meta name="title" content="Moja strona">
Element <title> w HTML jest naprawdę ważny, bo to właśnie on ustala, co zobaczysz na zakładce w przeglądarce. Powinien być umieszczony w sekcji <head>, co jest zgodne z tym, co mówi W3C. Poprawny zapis wygląda tak: <title>Moja strona</title>, co sprawia, że "Moja strona" będzie się pokazywać jako tytuł w przeglądarce. Tytuł strony ma spore znaczenie dla SEO, bo wpływa na to, jak strona jest pozycjonowana w wynikach wyszukiwania. Warto, żeby tytuł był krótki, ale jednocześnie zawierał istotne informacje, a najlepiej, żeby nie miał więcej niż 60 znaków, żeby się nie obcinał w wynikach. Fajnie też umieścić w tytule kluczowe słowa, które opisują, o czym jest strona, bo to może zwiększyć jej atrakcyjność i CTR. Dobrze skonstruowany tytuł to też lepsza dostępność, bo ułatwia użytkownikom poruszanie się i orientowanie w otwartych zakładkach.

Pytanie 6

Jakiego języka można użyć do obsługi połączenia z bazą danych MySQL podczas tworzenia aplikacji internetowej?

A. CSS
B. PHP
C. HTML
D. XHTML
Do obsługi bazy danych MySQL w aplikacji internetowej używa się języka działającego po stronie serwera - najczęściej PHP. To w nim nawiązuje się połączenie (np. funkcją mysqli_connect lub przez PDO), wysyła zapytania SQL i przetwarza wyniki, zanim gotowa strona trafi do przeglądarki. HTML, XHTML i CSS odpowiadają wyłącznie za wygląd i strukturę strony. Dlatego do współpracy z MySQL służy PHP.

Pytanie 7

W języku PHP zapisano fragment kodu działającego na bazie MySQL. Jego zadaniem jest wypisanie
$z=mysqli_query($db,"SELECT ulica, miasto, kod_pocztowy FROM adresy");
$a=mysqli_fetch_row($z);
echo "$a[1], $a[2]";

A. ulicy oraz miasta z pierwszego zwróconego wpisu
B. ulicy oraz miasta ze wszystkich zwróconych wpisów
C. miasta i kodu pocztowego z pierwszego zwróconego wpisu
D. miasta i kodu pocztowego ze wszystkich zwróconych wpisów
Fragment kodu PHP przedstawiony w pytaniu wykonuje zapytanie do bazy danych MySQL, a jego celem jest uzyskanie danych z tabeli 'adresy', w tym pola 'ulica', 'miasto' i 'kod_pocztowy'. Funkcja mysqli_query wykonuje zapytanie, a następnie mysqli_fetch_row pobiera pojedynczy wiersz wyników jako tablicę. Wartości z tablicy są dostępne za pomocą indeksów, gdzie $a[0] to 'ulica', $a[1] to 'miasto', a $a[2] to 'kod_pocztowy'. Kod wypisuje na ekranie wartości $a[1] i $a[2], co odpowiada miastu i kodowi pocztowemu z pierwszego zwróconego rekordu. W praktyce, aby uzyskać pełną funkcjonalność, należy również zadbać o obsługę błędów oraz o zabezpieczenia przed SQL Injection, stosując np. prepared statements. Kod ten jest zgodny ze standardami PHP i MySQL, które zalecają używanie obiektowej lub proceduralnej wersji funkcji mysqli, co przyczynia się do większej przejrzystości oraz bezpieczeństwa aplikacji.

Pytanie 8

Spośród wymienionych formatów, który charakteryzuje się najszerszą rozpiętością tonalną?

A. PNG
B. BMP
C. RAW
D. JPEG
Odpowiedzi, które nie są poprawne, można analizować w kontekście ich technicznych ograniczeń. Format PNG, mimo że obsługuje przezroczystość i jest bezstratnym formatem, ma ograniczoną rozpiętość tonalną, co oznacza, że nie przechowuje tak dużej ilości informacji tonalnych jak RAW. Ponadto, jego główną funkcją jest przechowywanie obrazów z dużą ilością detali w mniej skomplikowanych kolorach, co czyni go mniej odpowiednim do profesjonalnej obróbki zdjęć w trudnych warunkach oświetleniowych. Format BMP, choć prosty i łatwy w użyciu, również nie wspiera zaawansowanej obróbki kolorów, a jego duża objętość plików powoduje, że nie jest praktyczny dla profesjonalnych zastosowań. BMP nie korzysta z kompresji, co sprawia, że pliki są znacznie większe niż w przypadku innych formatów, ale nie oferuje dodatkowych korzyści w zakresie tonalności. JPEG, pomimo szerokiego zastosowania w fotografii i sieci, jest formatem stratnym, co oznacza, że podczas kompresji traci część danych, a tym samym rozpiętość tonalna jest ograniczona. JPEG jest bardziej odpowiedni do codziennego użytku ze względu na mniejszy rozmiar plików, ale nie daje takiej elastyczności w edycji jak RAW, co czyni go niewłaściwym wyborem dla profesjonalnych fotografów poszukujących najwyższej jakości obrazu.

Pytanie 9

Jaką relację w projekcie bazy danych należy zdefiniować pomiędzy tabelami przedstawionymi na rysunku, zakładając, że każdy klient sklepu internetowego składa przynajmniej dwa zamówienia?

Ilustracja do pytania
A. 1:1
B. 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia
C. 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta
D. n:n
Relacja 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia, jest prawidłowa, ponieważ odzwierciedla rzeczywiste założenie, że każdy klient może złożyć wiele zamówień. W praktyce baza danych musi odwzorowywać te zależności, co pozwala na efektywne zarządzanie danymi. Każdy klient posiada unikalny identyfikator, zwykle klucz podstawowy, który nie może się powtarzać w tabeli Klient. Tabela Zamówienie posiada natomiast klucz obcy, który odnosi się do klucza podstawowego w tabeli Klient, umożliwiając przechowywanie wielu zamówień przypisanych do jednego klienta. Dzięki temu możemy łatwo wykonywać operacje takie jak wyszukiwanie wszystkich zamówień danego klienta czy śledzenie historii zakupów. Dobre praktyki projektowania baz danych podkreślają znaczenie poprawnego zdefiniowania relacji między tabelami, co zwiększa spójność danych i ułatwia ich późniejsze przetwarzanie. W systemach e-commerce taka struktura bazy danych jest niezbędna do obsługi klientów i śledzenia ich zamówień, co jest podstawą do analizy sprzedaży i tworzenia strategii marketingowych.

Pytanie 10

W SQL, aby dodać nowy wiersz do bazy danych, należy użyć polecenia

A. INSERT INTO
B. SELECT ROW
C. CREATE ROW
D. CREATE INTO
Polecenie 'INSERT INTO' jest kluczowym elementem języka SQL, służącym do dodawania nowych wierszy danych do istniejącej tabeli w bazie danych. Użycie tego polecenia wymaga podania nazwy tabeli, do której chcemy wstawić dane, oraz listy wartości, które mają być dodane. Na przykład, polecenie 'INSERT INTO klienci (imie, nazwisko) VALUES ('Jan', 'Kowalski');' dodaje nowego klienta o imieniu Jan i nazwisku Kowalski do tabeli 'klienci'. Zgodnie z dobrymi praktykami, zawsze warto również uwzględnić obsługę błędów, aby upewnić się, że operacje na danych są bezpieczne i nie powodują naruszeń integralności bazy. Warto również pamiętać, że do jednego polecenia INSERT można dodać wiele wierszy równocześnie, na przykład: 'INSERT INTO klienci (imie, nazwisko) VALUES ('Ewa', 'Nowak'), ('Anna', 'Zielona');'. Użycie 'INSERT INTO' jest fundamentalne w pracy z bazami danych i stanowi podstawę dla bardziej zaawansowanych operacji, takich jak transakcje czy manipulacje danymi w relacyjnych bazach danych.

Pytanie 11

Jaką rolę pełni kwerenda krzyżowa w bazie MS Access?

A. modyfikuje istniejące dane w tabeli
B. usuwa rekordy według kryteriów
C. dołącza do tabeli rekordy z innej tabeli
D. prezentuje zliczone (podsumowane) wartości w układzie wierszy i kolumn
Pozostałe odpowiedzi opisują inne rodzaje kwerend funkcjonalnych. Modyfikowanie istniejących danych to zadanie kwerendy aktualizującej (odpowiednik UPDATE). Usuwanie rekordów według kryteriów realizuje kwerenda usuwająca (DELETE). Dołączanie do tabeli rekordów z innej tabeli to kwerenda dołączająca (INSERT ... SELECT). Kwerenda krzyżowa nie zmienia danych - tworzy podsumowanie w układzie wierszy i kolumn, dlatego ta odpowiedź jest poprawna.

Pytanie 12

Którego słowa kluczowego w językach z rodziny C używa się, aby nadać istniejącemu typowi danych alternatywną nazwę?

A.
enum
B.
union
C.
switch
D.
typedef
Pozostałe słowa kluczowe robią co innego. enum definiuje typ wyliczeniowy - zbiór nazwanych stałych całkowitych. union tworzy unię, czyli strukturę, której pola dzielą ten sam obszar pamięci. switch to instrukcja sterująca wybierająca gałąź wykonania w zależności od wartości - nie ma związku z definiowaniem typów. Nadanie istniejącemu typowi nowej nazwy umożliwia typedef, dlatego ta odpowiedź jest poprawna.

Pytanie 13

W aplikacjach webowych tablice asocjacyjne to takie tablice, w jakich

A. indeks jest ciągiem znaków
B. elementy tablicy są zawsze indeksowane od 0
C. w każdej komórce tablicy znajduje się inna tablica
D. istnieją przynajmniej dwa wymiary
Indeksowanie elementów tablicy od zera jest charakterystyczne dla tradycyjnych tablic, w których liczby naturalne służą jako indeksy do dostępu do poszczególnych elementów. Koncepcja ta jest powszechnie stosowana w wielu językach programowania, jednak nie odnosi się do tablic asocjacyjnych. W przypadku tablic asocjacyjnych klucze mogą być dowolnymi łańcuchami znaków, co oznacza, że nie ograniczają się do prostego indeksowania numerycznego. Wartość, jaka znajduje się w każdej komórce takiej tablicy, nie musi być inną tablicą, ponieważ tablice asocjacyjne mogą przechowywać różne typy danych, od prostych wartości po złożone obiekty. W dodatku, tablice asocjacyjne nie wymagają istnienia przynajmniej dwóch wymiarów; mogą być jednowymiarowe, co oznacza, że nie wszystkie tablice muszą być wielowymiarowe, aby działały prawidłowo. Typowe błędy myślowe, które prowadzą do takich niepoprawnych wniosków, obejmują nieporozumienie dotyczące definicji i właściwości różnych struktur danych oraz ich zastosowania w programowaniu. Ważne jest, aby zrozumieć, że różne typy tablic mają różne zastosowania i właściwości, co wpływa na sposób, w jaki mogą być używane w praktycznych scenariuszach programowania.

Pytanie 14

Dostępna jest tabela z danymi o mieszkaniach, zawierająca kolumny: adres, metraż, liczba_pokoi, standard, status, cena. Wykonanie poniższej kwerendy SQL SELECT spowoduje wyświetlenie

SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3;
A. Wszystkie informacje o tych mieszkaniach, które mają minimum 3 pokoje
B. Metraż oraz koszt tych mieszkań, które mają przynajmniej 3 pokoje
C. Wszystkie informacje poza adresem tych mieszkań, które mają więcej niż 3 pokoje
D. Metraż oraz koszt tych mieszkań, które mają więcej niż 3 pokoje
W tym zapytaniu SQL chodzi o to, żeby ściągnąć konkretne dane z tabeli mieszkania. Używamy klauzuli SELECT, dlatego wybieramy tylko te kolumny, które nas interesują, czyli metraż i cena. I to wszystko bierzemy z tabeli mieszkania, co mamy w klauzuli FROM. Jeszcze dodajemy filtr WHERE, który mówi, że bierzemy tylko te mieszkania, które mają więcej niż trzy pokoje. To naprawdę dobra strategia, bo dzięki temu dokładnie widzimy, co nas interesuje. Takie zapytanie przydaje się w analizach rynku nieruchomości, bo można porównywać ceny mieszkań z większą ilością pokoi. Ogólnie mówiąc, SQL jest super narzędziem do pracy z danymi, bo pozwala nam szybko i efektywnie wyciągać to, co jest dla nas ważne. Wiedza na temat takich zapytań to podstawa, zwłaszcza w pracy z dużymi bazami danych i generowaniu różnych raportów.

Pytanie 15

Który parametr obrazu zmieni się po zmianie wartości NASYCENIA (saturacji)?

A. ostrość krawędzi
B. przezroczystość
C. kolejność wyświetlania pikseli
D. intensywność (żywość) barw
Nasycenie (saturacja) określa INTENSYWNOŚĆ i czystość barw. Przy nasyceniu bliskim zera kolory bledną aż do skali szarości, a przy wysokim stają się soczyste i żywe - to typowy suwak w GIMP-ie czy Photoshopie, gdy zdjęcie ma wyglądać „mocniej” lub „spokojniej”. Sama jasność i barwa (odcień) pozostają, zmienia się tylko siła kolorów. Zapamiętaj: saturacja steruje żywością barw.

Pytanie 16

Aby utworzyć różnicową kopię zapasową bazy danych na serwerze MS SQL, w poleceniu BACKUP należy użyć klauzuli:

A.
DIFFERENTIAL
B.
WITH FORMAT
C.
FULL
D.
RESTORE
Pozostałe klauzule dotyczą czego innego. WITH FORMAT inicjuje (formatuje) zbiór nośnika kopii, nadpisując jego zawartość - to opcja zapisu, nie rodzaj kopii. FULL odnosi się do kopii pełnej, która zapisuje całą bazę, czyli przeciwieństwo różnicowej. RESTORE w ogóle nie tworzy kopii - służy do odtworzenia bazy z już istniejącej. Kopię różnicową w MS SQL daje klauzula DIFFERENTIAL, dlatego to ona jest poprawna.

Pytanie 17

Gdzie należy umieścić znacznik meta w języku HTML?

A. w sekcji nagłówkowej strony internetowej
B. w stopce strony internetowej
C. między znacznikami paragrafu
D. między znacznikami body
Znacznik meta w języku HTML jest kluczowym elementem, który powinien być umieszczony w części nagłówkowej (head) dokumentu. Znaczniki meta służą do definiowania różnych informacji o stronie, takich jak zestaw znaków, opis, słowa kluczowe, autor oraz inne istotne dane, które nie są bezpośrednio wyświetlane na stronie. Przykładowo, znacznik meta z atrybutem 'charset' informuje przeglądarki, w jaki sposób interpretować znaki na stronie, co jest szczególnie ważne dla prawidłowego wyświetlania treści w różnych językach. Standardy HTML5 zalecają umieszczanie znaczników meta w nagłówku, aby umożliwić optymalizację SEO, co zwiększa widoczność strony w wynikach wyszukiwania. Dobrą praktyką jest również dodanie opisu strony przy pomocy znacznika meta 'description', co pozwala wyszukiwarkom na lepsze zrozumienie tematyki strony oraz zwiększa klikalność w wynikach wyszukiwania.

Pytanie 18

Zaprezentowano kod dla tabeli 3x2. Jaką modyfikację należy wprowadzić w drugim wierszu, aby tabela przypominała tę z obrazka, gdzie wiersz jest niewidoczny?

<table>
    <tr>
        <td style="border: solid 1px;">Komórka 1</td>
        <td style="border: solid 1px;">Komórka 2</td>
    </tr>
    <tr>
        <td style="border: solid 1px;">Komórka 3</td>
        <td style="border: solid 1px;">Komórka 4</td>
    </tr>
    <tr>
        <td style="border: solid 1px;">Komórka 5</td>
        <td style="border: solid 1px;">Komórka 6</td>
    </tr>
</table>
/efekt jest na obrazie - nie dołączam - nie analizuj/
Ilustracja do pytania
A. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"display: none"</span>&gt;</pre>
B. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"visibility: hidden"</span>&gt;</pre>
C. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"clear: none"</span>&gt;</pre>
D. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"display: table-cell"</span>&gt;</pre>
Zastosowanie niewłaściwych właściwości CSS w tabelach może prowadzić do niezamierzonych efektów wizualnych i funkcjonalnych. 'Display: none' usunąłby wiersz z układu dokumentu, co skutkowałoby przesunięciem w górę wierszy poniżej. To podejście jest użyteczne, gdy element powinien być całkowicie usunięty z przestrzeni wizualnej i układu, ale nie spełniałoby celu przedstawionego w pytaniu, gdzie układ ma pozostać niezmieniony. Z kolei 'clear: none' jest właściwością CSS dotyczącą floatów, a nie widoczności, co oznacza, że nie miałoby żadnego wpływu na wyświetlanie wiersza tabeli. Jest to typowy błąd polegający na myleniu właściwości CSS w kontekście ukrywania elementów. Właściwość 'display: table-cell' jest stosowana dla elementów traktowanych jako komórki tabeli, co nie jest odpowiednie dla wierszy tabeli. Wybierając tę właściwość, użytkownik mógłby mylnie sądzić, że ma to wpływ na widoczność, podczas gdy w rzeczywistości zmienia jedynie sposób renderowania elementu. Prawidłowe rozumienie różnic między 'visibility' a 'display' jest kluczowe w tworzeniu przewidywalnych i stabilnych interfejsów użytkownika, co jest jednym z fundamentów dobrego projektowania front-endu. Wybór niewłaściwego podejścia do ukrywania elementów może prowadzić do niepożądanych zmian w interfejsie, co wpływa na użyteczność i estetykę strony.

Pytanie 19

Jakie są prawidłowe kroki w kolejności, które należy podjąć, aby nawiązać współpracę między aplikacją internetową działającą na serwerze a bazą SQL?

A. wybór bazy, zapytanie do bazy, nawiązanie połączenia z serwerem baz danych, wyświetlenie na stronie WWW, zamknięcie połączenia
B. nawiązanie połączenia z serwerem baz danych, wybór bazy, zapytanie do bazy - wyświetlane na stronie WWW, zamknięcie połączenia
C. zapytanie do bazy, wybór bazy, wyświetlenie na stronie WWW, zamknięcie połączenia
D. wybór bazy danych, nawiązanie połączenia z serwerem baz danych, zapytanie do bazy, wyświetlenie na stronie WWW, zamknięcie połączenia
Wybór odpowiedzi numer 2 jest prawidłowy, ponieważ idealnie odzwierciedla właściwą kolejność działań niezbędnych do nawiązania współpracy między aplikacją webową a bazą danych SQL. Proces zaczyna się od nawiązania połączenia z serwerem baz danych. To kluczowy krok, ponieważ bez aktywnego połączenia z serwerem nie można wykonać żadnych operacji na bazie danych. Następnie następuje wybór bazy, co umożliwia aplikacji określenie, na której bazie danych będzie pracować. Po wybraniu odpowiedniej bazy, można formułować zapytania SQL w celu pobrania lub modyfikacji danych. Ostatnim krokiem jest wyświetlenie wyników na stronie WWW, co pozwala użytkownikowi na interakcję z danymi. Po zakończeniu wszystkich operacji, należy zamknąć połączenie z serwerem bazy danych, co jest standardową praktyką, zapewniającą zwolnienie zasobów i zwiększenie bezpieczeństwa aplikacji. Stosowanie się do tej sekwencji działań jest zgodne z najlepszymi praktykami w programowaniu aplikacji webowych oraz zarządzaniu bazami danych.

Pytanie 20

Jaką metodę przesyłania należy wykorzystać, by zapewnić największe bezpieczeństwo danych zaszyfrowanych w formularzu, które są wysyłane do kodu PHP?

A. Metoda POST, za pomocą protokołu HTTPS
B. Metoda GET, za pomocą protokołu HTTP
C. Metoda GET, za pomocą protokołu HTTPS
D. Metoda POST, za pomocą protokołu HTTP
Jak wiemy, wybieranie metody POST przy użyciu HTTPS to naprawdę najlepszy sposób na przesyłanie wrażliwych danych. Dlaczego? Bo metoda POST przesyła dane w ciele żądania, więc są one mniej widoczne dla niepowołanych osób. W przeciwieństwie do metody GET, która wrzuca wszystko do adresu URL. A protokół HTTPS to już zupełnie inna bajka, bo szyfruje cały ruch między użytkownikiem a serwerem. W praktyce to znaczy, że nasze dane, przykładowo hasła w formularzach logowania, są lepiej chronione przed podsłuchiwaniem. Oprócz tego warto pamiętać o standardach OWASP, które mocno podkreślają, jak ważne jest stosowanie HTTPS i POST tam, gdzie przesyłamy wrażliwe informacje. To naprawdę mogłoby uratować nas przed różnymi atakami, jak Man-in-the-Middle, więc nie ma co ryzykować i warto stosować te metody.

Pytanie 21

W sekcji nagłówkowej kodu HTML znajduje się tekst przedstawiony na ilustracji. Tekst ten zostanie wyświetlony

<title>Strona miłośników psów</title>
A. na pasku tytułowym przeglądarki
B. w zawartości strony, w pierwszym widocznym nagłówku
C. w polu adresu, obok wpisanego adresu URL
D. w zawartości strony, na banerze
Tag <title> w HTML jest częścią sekcji nagłówkowej dokumentu i służy do określenia tytułu strony wyświetlanego na pasku tytułu przeglądarki. Jest to kluczowy element z punktu widzenia SEO, ponieważ wyszukiwarki internetowe używają informacji z tagu <title> do indeksowania stron i określania ich treści. Tytuł strony powinien być krótki, ale jednocześnie bogaty w słowa kluczowe, dzięki czemu zwiększa szanse na wysoką pozycję w wynikach wyszukiwania. W praktyce dobrze zaprojektowany tytuł wpływa na widoczność strony w sieci i przyciąga uwagę użytkowników. Ważne jest, aby tytuł był unikalny dla każdej strony w witrynie, co pomaga w lepszym zrozumieniu struktury strony przez odwiedzających oraz roboty indeksujące. Zgodnie z dobrymi praktykami, tytuł powinien zawierać od 50 do 60 znaków, aby był w pełni widoczny w wynikach wyszukiwania i nie został przycięty. Tytuł to pierwsze, co użytkownik widzi w zakładkach przeglądarki oraz w wynikach wyszukiwania, dlatego jego odpowiednia konstrukcja jest niezmiernie ważna.

Pytanie 22

Jakie polecenie HTML powinno być zastosowane, aby sformatować akapit tekstu?

Tekst może być zaznaczony albo istotny dla autora
A. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny dla autora</p>
B. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny</em> dla autora</p>
C. <p>Tekst może być <mark>zaznaczony albo <em>istotny</em> dla autora</mark></p>
D. <p>Tekst może być <mark>zaznaczony albo <i>istotny</i> dla autora</mark></p>
Odpowiedź druga jest prawidłowa, ponieważ stosuje poprawną składnię HTML do oznaczenia fragmentów tekstu z różnym formatowaniem. Element <p> służy do definiowania paragrafu, w którym tekst jest umieszczony. Element <mark> używany jest do oznaczania tekstu, który powinien być zwrócony uwagę czytelnika, poprzez podkreślenie go kolorem tła. Z kolei <em> jest przeznaczony do oznaczenia tekstu, który ma zostać wyróżniony jako istotny, zazwyczaj poprzez użycie kursywy. Użycie tych elementów w połączeniu z zamykającymi tagami, jak w odpowiedzi drugiej, jest zgodne z zaleceniami standardów HTML5, które kładą nacisk na semantyczne znaczenie znaczników. To podejście wspiera dostępność oraz SEO, ponieważ pomaga czytnikom ekranowym i wyszukiwarkom lepiej zrozumieć strukturę i znaczenie treści. Praktyczne zastosowanie tych znaczników można zobaczyć na stronach internetowych, gdzie kluczowe informacje muszą być odpowiednio wyróżnione, aby poprawić doświadczenie użytkownika i przekazać istotne dane w czytelny sposób.

Pytanie 23

Co wykonuje poniższy fragment kodu w JavaScript?

n = "Napis1";
s = n.length;
A. Przypisze zmiennej s fragment tekstu ze zmiennej n, o długości określonej przez zmienną length
B. Przypisze zmiennej s wartość, która odpowiada długości tekstu ze zmiennej n
C. Przypisze zmienną n do zmiennej s
D. Wyświetli długość tekstu ze zmiennej n
W języku JavaScript właściwość length dla obiektów typu String zwraca liczbę znaków w danym napisie. W przedstawionym fragmencie skryptu zmiennej n przypisano wartość stringa 'Napis1'. Kiedy używamy n.length uzyskujemy długość tego stringa czyli liczbę 6 ponieważ są w nim dokładnie sześć znaków. Następnie tę wartość przypisujemy zmiennej s co oznacza że s przechowuje liczbę 6. Jest to użyteczne w wielu sytuacjach takich jak walidacja danych wejściowych w formularzach sprawdzanie czy dany tekst mieści się w określonych limitach lub po prostu kontrola poprawności danych w procesach biznesowych. Wartość length jest często stosowana w pętlach do iteracji przez każdy znak w stringu lub w operacjach takich jak odcinanie fragmentów tekstu. Praktyka korzystania z length jest standardem w programowaniu webowym i zaliczana jest do dobrych praktyk ponieważ umożliwia łatwą manipulację tekstowymi danymi i kontrolę ich wymiaru co bywa krytyczne zwłaszcza w aplikacjach o dużej skali gdzie efektywność i klarowność kodu mają znaczenie kluczowe.

Pytanie 24

W tabeli uczniowie (kolumny: imie, nazwisko, klasa) chcemy wypisać uczniów, których nazwisko zaczyna się na literę M. Które zapytanie jest poprawne?

A.
SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN "M%"
B.
SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE "M%"
C.
SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN "M%"
D.
SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko = "M%"
Do wyszukiwania według wzorca tekstowego służy operator LIKE w klauzuli WHERE. Znak % zastępuje dowolny ciąg znaków, więc nazwisko LIKE "M%" dopasuje wszystkie nazwiska zaczynające się na M. Poprawne zapytanie to SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE "M%". Dlatego ta odpowiedź jest właściwa.

Pytanie 25

Jakie wyrażenie należy umieścić w miejsce ??? w pętli napisanej w języku C++, aby na ekranie zostały wyświetlone wyłącznie 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
Niepoprawne wybory wyrażenia warunkowego w pętli for mogą prowadzić do różnych problemów, z których głównym jest przekroczenie zakresu tablicy, co jest powszechnym błędem w programowaniu w językach takich jak C++. Błędne zastosowanie warunku i >= 6 spowodowałoby, że pętla nie wykonałaby się ani razu, ponieważ początkowa wartość i wynosi 0, co nie spełnia tego warunku. Warunek i <= 6 może wydawać się poprawny, ponieważ uwzględnia indeks 6, jednak indeks ten wykracza poza zakres tablicy posiadającej 6 elementów (z indeksami od 0 do 5), co prowadziłoby do błędu out-of-bounds. Warunek i > 6 również jest błędny, ponieważ nigdy nie zostanie spełniony przy początkowej wartości i równej 0, a pętla tym samym się nie wykona. Typowe błędy myślowe prowadzące do takich wyborów wynikają z nieprawidłowego rozumienia indeksowania tablic oraz zakresu pętli. Ważne jest, aby dokładnie przeanalizować, jak indeksy są przypisywane w tablicach i dostosować warunki pętli, aby zawsze mieściły się w poprawnym zakresie. Aby uniknąć takich błędów, zaleca się stosowanie podejścia, które uwzględnia długość tablicy i iteruje do mniejszej wartości niż jej rozmiar. Tego typu prewencja nie tylko zwiększa stabilność programu, ale również jego bezpieczeństwo, eliminując ryzyko naruszenia pamięci programu i potencjalnych podatności bezpieczeństwa.

Pytanie 26

Aby zrealizować podane czynności w JavaScript, należy w znaczniku <script> umieścić poniższy kod

  1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikacje: ", następnie po zatwierdzeniu
  2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się wartość pobrana z okna "Kwalifikacja: ..."
A. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A)
B. A << prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A)
C. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: ".A)
D. A = alert("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A)
Odpowiedź 1 jest prawidłowa, ponieważ w JavaScript funkcja prompt() służy do wyświetlenia okna dialogowego z poleceniem dla użytkownika, aby wprowadził tekst. Po wpisaniu wartości przez użytkownika i zatwierdzeniu, tekst jest przypisywany do zmiennej A. Następnie funkcja document.write() umożliwia dynamiczne dodanie tego tekstu do dokumentu HTML. Poprawne użycie obu tych funkcji spełnia wymagania zadania – najpierw otwieramy okno dialogowe, a potem umieszczamy wprowadzone dane na stronie. Stosowanie prompt() i document.write() jest często wykorzystywane w aplikacjach webowych do interakcji z użytkownikiem w sposób bezpośredni. Mimo że bardziej nowoczesne metody, takie jak manipulacja DOM za pomocą innerHTML czy użycie frameworków JavaScript, oferują większe możliwości, prompt() i document.write() pozostają prostymi narzędziami do szybkiej prezentacji wyników na stronie. Warto jednak pamiętać, że nadmierne użycie document.write() może prowadzić do nadpisania istniejących treści w dokumencie, co nie jest optymalną praktyką w złożonych aplikacjach webowych.

Pytanie 27

Jakie są nazwy standardowych instrukcji w języku SQL, które dotyczą wykonywania operacji na danych w SQL DML (np.: dodawanie danych do bazy, usuwanie, wprowadzanie zmian w danych)?

A. DELETE, INSERT, UPDATE
B. ALTER, CREATE, DROP
C. SELECT, SELECT INTO
D. DENY, GRANT, REVOKE
Odpowiedź DELETE, INSERT, UPDATE jest całkiem trafna, bo te polecenia są częścią DML, czyli Data Manipulation Language, w SQL-u. DML to zestaw komend do zarządzania danymi w bazach danych. Moim zdaniem, DELETE jest kluczowe, bo pozwala na usuwanie zbędnych rekordów, co pomaga utrzymać bazę w dobrym stanie. Z kolei INSERT to coś, co używamy do dodawania nowych wpisów do tabeli, co jest mega ważne, jeśli chodzi o zbieranie danych potrzebnych aplikacji. A UPDATE? No to już absolutnie istotna sprawa, bo z jego pomocą zmieniamy dane, które już są w bazie, co przydaje się na przykład przy aktualizacji informacji o użytkownikach czy produktach. Przykłady? Można użyć INSERT, żeby dodać nowego użytkownika do tabeli 'Users', DELETE, żeby pozbyć się nieaktywnych kont, a UPDATE, żeby zmienić e-mail jakiegoś użytkownika. Dobrym pomysłem jest też korzystanie z transakcji, bo zapewnia to lepszą integralność danych podczas operacji DML.

Pytanie 28

Parametr face w znaczniku <font> jest używany do określenia

A. koloru czcionki
B. typy czcionki
C. stylów czcionki
D. rozmiaru czcionki
Zrozumienie parametrów stylizacji tekstu jest kluczowe w pracy z HTML i często napotyka na nieporozumienia. Wiele osób błędnie interpretuje funkcję parametru <b>face</b> w znaczniku <b>&lt;font&gt;</b>, co prowadzi do niepoprawnych odpowiedzi. Na przykład, nie jest on używany do określenia barwy czcionki, co jest zadaniem innego parametru, jak 'color'. Barwa czcionki dotyczy estetyki i może być ustawiana niezależnie od samej czcionki. Kolejnym błędnym założeniem jest możliwość korzystania z parametru <b>face</b> do definiowania efektów czcionki, takich jak pogrubienie czy kursywa; te efekty są zwykle osiągane przy użyciu osobnych znaczników lub stylów CSS, takich jak 'font-weight' czy 'font-style'. Wreszcie, pomylenie parametru <b>face</b> z określeniem wielkości czcionki również jest częstym błędem myślowym, ponieważ do tego celu używa się atrybutu 'size', który skoncentrowany jest na rozmiarze tekstu, a nie na jego typie. Warto pamiętać, że precyzyjne zrozumienie tych różnic nie tylko wpływa na jakość tworzonego kodu, ale również na dostępność i estetykę stron internetowych.

Pytanie 29

W podanym kodzie JavaScript ponumerowano linie dla ułatwienia. W programie występuje błąd, ponieważ po wykonaniu żadna wiadomość nie jest wyświetlana. Aby usunąć ten błąd, należy

1. if (a < b)
2. document.write(a);
3. document.write(" jest mniejsze");
4. else
5. document.write(b);
6. document.write(" jest mniejsze");
A. dodać nawiasy klamrowe w sekcjach if oraz else
B. umieścić znaki $ przed nazwami zmiennych
C. w liniach 3 i 6 zamienić znaki cudzysłowu na apostrof, np. ' jest mniejsze'
D. w liniach 2 i 5 zmienne a i b umieścić w cudzysłowach
Wstawienie nawiasów klamrowych do sekcji 'if' oraz 'else' jest kluczowe dla prawidłowego działania kodu w JavaScript. Kiedy nie używamy nawiasów klamrowych, język domyślnie interpretuje tylko jedną linię jako część bloku 'if' lub 'else'. W sytuacji, gdy mamy więcej niż jedną operację do wykonania w ramach tego samego warunku, brak nawiasów prowadzi do błędów wykonania. Przykład: jeśli chcemy wyświetlić komunikat oraz wartość zmiennej 'a', musimy objąć te operacje nawiasami klamrowymi. Warto również pamiętać, że korzystanie z nawiasów klamrowych zwiększa czytelność kodu, co jest zgodne z najlepszymi praktykami programistycznymi. Stosowanie tej zasady pozwala unikać niejednoznaczności i potencjalnych błędów w logicznych blokach kodu. Dodatkowo, pomocne jest testowanie kodu w środowiskach, które wyłapują błędy syntaktyczne, co ułatwia wczesne wykrywanie problemów.

Pytanie 30

W języku PHP zapisano fragment kodu. Plik cookie stworzony tym poleceniem

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. będzie przechowywany na serwerze przez jedną godzinę.
B. będzie przechowywany na serwerze przez jeden dzień.
C. zostanie usunięty po jednej godzinie od jego utworzenia.
D. zostanie usunięty po jednym dniu od jego utworzenia.
Widzę, że pomyślałeś, że plik cookie będzie trzymany na serwerze. To nie tak, bo wszystkie pliki cookie są przechowywane na komputerze użytkownika, a nie na serwerze. Serwer tylko korzysta z tych cookies, żeby wiedzieć, kto jest użytkownikiem i jak zarządzać sesjami. Kolejna sprawa – niektórzy myślą, że cookie wygasa po godzinie. Ale to nieprawda, bo w PHP argument wygaszenia to 3600 * 24, czyli 86400 sekund, co daje jeden dzień, a nie tylko godzinę. Te nieporozumienia mogą wynikać z braku zrozumienia funkcji setcookie() i tego, jak działają pliki cookie w webowych aplikacjach. Dobrze jest to wiedzieć, by tworzyć lepsze i bezpieczniejsze aplikacje.

Pytanie 31

W dokumencie XHTML znajduje się fragment kodu, który posiada błąd w walidacji. Na czym ten błąd polega?

<h6>tekst</h6>
<p>pierwsza <b>linia</b> <br>
Druga linia</p>
A. Znacznik <b> nie może być umieszczany wewnątrz znacznika <p>
B. Nie ma nagłówka szóstego stopnia
C. Znaczniki powinny być zapisywane dużymi literami
D. Znacznik <br> musi być zamknięty
W odpowiedzi wskazano, że znacznik <br> powinien być zamknięty, co jest zgodne z zasadami XHTML. W przeciwieństwie do HTML, w XHTML każdy znacznik musi być poprawnie zamknięty, aby kod był zgodny ze standardami. W przypadku znacznika <br>, który służy do wstawienia łamania linii, powinien być zapisany jako <br /> w XHTML. Taki sposób zapisu zapewnia, że dokument jest poprawnie zinterpretowany przez przeglądarki i inne narzędzia przetwarzające. Warto również zaznaczyć, że poprawne zamykanie znaczników jest kluczowe dla utrzymania struktury dokumentu i jego walidacji, co wpływa na dostępność i SEO. Praktyczne przykłady obejmują tworzenie dokumentów XHTML, w których konsekwentnie stosuje się poprawną składnię, co ułatwia ich przyszłą edycję i utrzymanie. Zastosowanie poprawnych standardów, takich jak XHTML, jest również dobre dla interoperacyjności między różnymi platformami i aplikacjami.

Pytanie 32

W programie INKSCAPE / COREL aby uzyskać przedstawiony efekt napisu, należy

Ilustracja do pytania
A. zastosować funkcję sumy z kołem.
B. skorzystać z funkcji wstaw / dopasuj tekst do ścieżki.
C. zastosować funkcję wykluczenia z kołem.
D. skorzystać z funkcji gradientu.
Niestety, twoja odpowiedź nie była prawidłowa. Wybrane przez Ciebie odpowiedzi odwoływały się do operacji na obiektach (sumowanie, wykluczanie) lub do efektów wizualnych (gradient), które nie mają bezpośredniego związku z manipulacją tekstem wzdłuż ścieżki. W programach graficznych takich jak Inkscape czy CorelDRAW, aby uzyskać efekt tekstu dopasowanego do ścieżki, stosuje się funkcję dopasowania tekstu do ścieżki. Funkcje sumowania czy wykluczania obiektów służą do tworzenia nowych kształtów z istniejących obiektów, a nie do manipulacji tekstem. Podobnie, gradient to efekt wizualny, który pozwala na płynne przejście między dwoma lub więcej kolorami, ale nie wpływa on na kształt czy orientację tekstu. Ważne jest aby nie mylić tych różnych funkcji i umieć prawidłowo je zastosować w praktyce.

Pytanie 33

Tabela filmy dysponuje kluczem głównym id oraz kluczem obcym rezyserlD. Tabela rezyserzy posiada klucz główny id. Obie tabele są połączone relacją jeden do wielu, gdzie rezyserzy są po stronie jeden, a filmy po stronie wiele. Jak należy zapisać kwerendę SELECT, aby połączyć tabele filmy i rezyserzy?

A. ... filmy JOIN rezyserzy ON filmy.rezyserlD = rezyserzy.filmylD ...
B. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.filmylD ...
C. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.id ...
D. ... filmy JOIN rezyserzy ON filmy.rezyserlD = rezyserzy.id ...
Poprawna odpowiedź: '... filmy JOIN rezyserzy ON filmy.rezyserlD = rezyserzy.id ...' jest zgodna z zasadami łączenia tabel w relacyjnych bazach danych. W tym przypadku 'rezyserlD' jest kluczem obcym w tabeli 'filmy', który odnosi się do 'id' w tabeli 'rezyserzy', co oznacza, że jeden reżyser może być przypisany do wielu filmów. Dzięki temu połączeniu możemy uzyskać informacje o filmach razem z danymi reżyserów. W praktyce, aby uzyskać szczegółowe informacje o filmach oraz ich reżyserach, takie zapytanie umożliwia efektywne łączenie danych, co jest kluczowe w aplikacjach bazodanowych, które wymagają integracji danych z różnych źródeł. Zastosowanie kluczy obcych w relacyjnych bazach danych jest standardem i pozwala na zapewnienie integralności danych, a także optymalizację zapytań. Dobrą praktyką jest również dbałość o odpowiednie nazewnictwo kolumn, aby jasno wskazywały one na ich przeznaczenie oraz relacje między tabelami, co znacząco ułatwia późniejszą pracę z bazą.

Pytanie 34

Na podstawie tabeli Towar wykonano następujące zapytanie SQL. Jaki będzie wynik tej operacji?

 SELECT nazwa_towaru FROM `Towar` WHERE cena_katalogowa < 65 ORDER BY waga DESC;
IDnazwa_towarucena_katalogowawagakolor
1Papier ksero A4112.3biel
2Zeszyt A54.20.13wielokolorowy
3Zeszyt A5 w linie3.50.12niebieski
4Kredki 24 kolory90.3wielokolorowy
5Plecak szkolny65.51.3zielony
A. Papier ksero A4, Kredki 24 kolory, Zeszyt A5 w linie, Zeszyt A5
B. Zeszyt A5, Zeszyt A5 w linie, Kredki 24 kolory, Papier ksero A4
C. Zeszyt A5 w linie, Zeszyt A5, Kredki 24 kolory, Papier ksero A4
D. Papier ksero A4, Kredki 24 kolory, Zeszyt A5, Zeszyt A5 w linie
Twoja odpowiedź jest poprawna. Wykonane zapytanie SQL zwracałoby nazwy towarów, które spełniają warunek ceny katalogowej mniejszej niż 65. Listę tych towarów następnie sortuje od najcięższego do najlżejszego. W przypadku podanej tabeli towary, które spełniają te warunki to: Papier ksero A4 (waga 2.3), Kredki 24 kolory (waga 0.3), Zeszyt A5 (waga 0.13) i Zeszyt A5 w linie (waga 0.12). To jest kluczowy aspekt zrozumienia zapytań SQL, które obejmują selekcję i sortowanie danych. W praktyce, umiejętność filtrowania i organizowania danych jest niezbędna do analizy danych i tworzenia raportów w systemach baz danych. Zrozumienie jak zapytania SQL działa na poziomie podstawowym, umożliwi Ci przewidywanie wyników zapytań, co jest kluczowe dla dobrze zaprojektowanych systemów baz danych.

Pytanie 35

Ile razy wykona się poniższa pętla napisana w języku PHP, przy założeniu, że zmienna kontrolna nie jest zmieniana w jej wnętrzu?

for ($i = 0; $i <= 10; $i+=2) { ... }
A. 10
B. 5
C. 0
D. 6
W przypadku błędnych odpowiedzi, takich jak 10, 5, 0 czy 6, można zauważyć, że wynikają one z nieprawidłowego zrozumienia działania pętli for w PHP. Odpowiedź 10 sugeruje, że użytkownik zakłada, iż pętla wykonuje się do 10, co jest błędne, ponieważ na każdym kroku zmienna $i zwiększa się o 2. Użycie 5 jako odpowiedzi może wskazywać na niepoprawne obliczenie liczby iteracji przy założeniu, że pętla mogłaby wykonać się z tylko pięcioma incrementami, co jest również mylące. Wybór 0 jako odpowiedzi jest konsekwencją mylnego założenia, że pętla mogłaby w ogóle nie działać, co jest sprzeczne z logiką, ponieważ pętla rozpoczyna się od $i = 0 i spełnia warunek kontynuacji. Ważne jest, aby podczas analizy pętli skupić się na warunkach początkowych, zmiennej sterującej oraz modyfikacji tej zmiennej w każdym cyklu. Prawidłowe obliczenie liczby iteracji pętli jest kluczowe w programowaniu, ponieważ ma to bezpośredni wpływ na wydajność i efektywność działania algorytmów.

Pytanie 36

Program napisany w PHP ma na celu obliczenie średniej pozytywnych ocen ucznia w zakresie od 2 do 6.
Warunek selekcji ocen w pętli liczącej średnią powinien zawierać wyrażenie logiczne

A. $ocena > 2 or $ocena < 6
B. $ocena > 2 and $ocena < 6
C. $ocena >= 2 or $ocena <= 6
D. $ocena >= 2 and $ocena <= 6
Wybór odpowiedzi $ocena >= 2 and $ocena <= 6 jest poprawny, ponieważ precyzyjnie określa zakres, w jakim dopuszczalne są oceny ucznia. Operator logiczny 'and' zapewnia, że obie części warunku muszą być spełnione jednocześnie: ocena musi być większa lub równa 2 oraz mniejsza lub równa 6. Taki sposób definiowania zakresu jest zgodny z dobrymi praktykami programowania, gdzie ważne jest, aby warunki logiki były jednoznaczne i precyzyjne. Dla przykładu, w kontekście obliczania średniej, wykorzystanie tego warunku pozwala na uwzględnienie wszystkich ocen, które są zgodne z regulaminem szkoły, co jest kluczowe dla uzyskania dokładnego wyniku. W praktyce, przy implementacji tego typu logiki w PHP, możemy spotkać się z używaniem podobnych zapytań w kontekście przetwarzania danych uczniów, co podkreśla znaczenie poprawnego definiowania warunków w programach. Dodatkowo, stosowanie takich wyrażeń pozwala na łatwe rozbudowywanie kodu, gdyż łatwo można dodawać nowe warunki lub modyfikować istniejące, co wpisuje się w założenia elastyczności i czytelności kodu.

Pytanie 37

Wskaż, jak wygląda komentarz wieloliniowy w języku PHP?

A. /* */
B. //
C. <!-- -->
D. #
Komentarz wieloliniowy w języku PHP jest oznaczany przez symbole '/*' na początku oraz '*/' na końcu. Tego typu komentarze pozwalają na umieszczanie dłuższych opisów lub wyjaśnień w kodzie, co jest szczególnie przydatne w przypadku bardziej złożonych fragmentów. Przykładowo, jeśli mamy funkcję, która wykonuje skomplikowane obliczenia, można użyć komentarza wieloliniowego, aby szczegółowo opisać, co ta funkcja robi oraz jakie są jej wejścia i wyjścia. W dobie pracy zespołowej i dbałości o dokumentację kodu, stosowanie komentarzy do wyjaśnienia celów, metod i ograniczeń kodu jest dobrą praktyką. Dzięki temu, programiści, którzy będą pracować z danym fragmentem kodu w przyszłości, będą mieli pełniejsze zrozumienie jego działania. Używanie komentarzy wieloliniowych w PHP jest zgodne z najlepszymi praktykami programistycznymi, sprzyja utrzymaniu porządku w kodzie oraz ułatwia jego późniejsze modyfikacje.

Pytanie 38

Która funkcja PHP zamieni wyraz „kota” na „mysz” w napisie „ala ma kota”?

A.
replace("ala ma kota", "kota", "mysz");
B.
replace("kota", "mysz", "ala ma kota");
C.
str_replace("ala ma kota", "kota", "mysz");
D.
str_replace("kota", "mysz", "ala ma kota");
Pozostałe wywołania są błędne. Funkcja replace() (bez str_) w PHP NIE istnieje, więc dwa pierwsze warianty od razu odpadają. Wariant str_replace("ala ma kota", "kota", "mysz") używa właściwej funkcji, ale w złej kolejności - jako pierwszy podaje cały tekst zamiast szukanego fragmentu. Poprawne jest str_replace("kota", "mysz", "ala ma kota").

Pytanie 39

Który znacznik daje TAKI SAM efekt wizualny co <i> (kursywa)?

A.
<u>
B.
<em>
C.
<pre>
D.
<strong>
Znacznik <em> domyślnie wyświetla tekst KURSYWĄ, tak samo jak <i>, więc bez stylów CSS wyglądają identycznie. Różnią się znaczeniem: <em> niesie nacisk znaczeniowy (emphasis), a <i> to czysto wizualne pochylenie. Dlatego ten sam efekt co <i> daje <em>.

Pytanie 40

Który fragment definicji dwukolumnowej tabeli odpowiada efektowi scalenia komórki 1 i 3, przedstawionemu na ilustracji?

Ilustracja do pytania
A. <td colspan="2">komórka1+3</td>
B. <td colspan="3">komórka1+3</td>
C. <td rowspan="2">komórka1+3</td>
D. <td rowspan="3">komórka1+3</td>
Poprawnie wskazałeś fragment z atrybutem rowspan, czyli: <td rowspan="2">komórka1+3</td>. W HTML atrybut rowspan służy do scalania komórek tabeli w pionie, czyli wzdłuż wierszy. W tym przykładzie tabela ma dwie kolumny, a komórka „komórka1+3” zajmuje miejsce pierwszej komórki w pierwszym wierszu oraz pierwszej komórki w drugim wierszu. Dlatego właśnie wartość rowspan musi być równa 2 – ta jedna komórka rozciąga się na dwa wiersze. Gdy przeglądarka widzi taki zapis, rezerwuje dla tej komórki obszar dwóch komórek pod sobą, a w kodzie HTML w kolejnym wierszu pomijamy już odpowiednią liczbę komórek w tej kolumnie. Z mojego doświadczenia wynika, że przy projektowaniu tabel dobrze jest sobie najpierw „narysować” układ na kartce: ile wierszy, ile kolumn, które komórki się łączą. Potem łatwo dobrać czy potrzebujemy colspan (łączenie w poziomie – kolumny), czy rowspan (łączenie w pionie – wiersze). W specyfikacji HTML Living Standard dokładnie tak to jest opisane: rowspan określa, na ile wierszy rozciąga się dana komórka. W praktyce scalanie komórek przydaje się np. przy tworzeniu nagłówków tabel z opisami grup kolumn, przy harmonogramach, planach lekcji, cennikach, gdzie jedna pozycja obowiązuje przez kilka wierszy. Warto też pamiętać o semantyce: tam gdzie to możliwe, dla nagłówków stosujemy <th> z rowspan lub colspan, a dla zwykłych danych <td>. Taki porządek w kodzie ułatwia późniejsze stylowanie CSS i poprawia dostępność, bo czytniki ekranu lepiej rozumieją strukturę tabeli.