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: 6 kwietnia 2026 20:19
  • Data zakończenia: 6 kwietnia 2026 20:36

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Wskaź, która instrukcja jest równoważna z instrukcją switch w języku PHP?

Ilustracja do pytania
A. Instrukcja 2
B. Instrukcja 3
C. Instrukcja 4
D. Instrukcja 1
Wybierając równoważną instrukcję dla switcha w PHP, kluczowe jest zrozumienie, jakie wartości są sprawdzane i jakie operacje są wykonywane dla każdej z nich. W przypadku podanego switcha, wartości 10 i 20 prowadzą do zwiększenia zmiennej $liczba o 1, a inne wartości do przypisania 0 do zmiennej. Instrukcja 1 nie uwzględnia warunku dla wartości 20, co sprawia, że nie jest równoważna dla switcha, ponieważ brakuje jednego z przypadków. Instrukcja 3 również jest niepoprawna, ponieważ nie obsługuje przypadku domyślnego z przypisaniem 0, co oznacza, że dla innych wartości nie zostanie podjęte żadne działanie. Instrukcja 4 stosuje operator and, co wymaga jednoczesnego spełnienia obu warunków ($liczba==10 i $liczba==20), co jest logicznie niemożliwe, ponieważ zmienna liczba nie może jednocześnie przyjmować dwóch różnych wartości, dlatego nie spełnia wymagań postawionych przez strukturę switch. Takie błędne rozumowanie często wynika z niepełnego zrozumienia operatorów logicznych i ich działania w kontekście warunków decyzyjnych. Dlatego istotne jest, aby dokładnie analizować każdy przypadek użycia i zrozumieć, jak różne struktury kontrolne mogą być wykorzystane do osiągnięcia zamierzonego efektu w kodzie PHP, dbając o poprawność logiczną i efektywność rozwiązania w kontekście różnych scenariuszy programistycznych. W kontekście nauki programowania, takie zrozumienie pozwala na tworzenie bardziej zrozumiałego i mniej podatnego na błędy kodu, co jest kluczowe dla rozwoju umiejętności programistycznych i utrzymania wysokiej jakości oprogramowania.

Pytanie 2

Jakie źródło danych może posłużyć do stworzenia raportu?

A. zapytanie ALTER
B. projekt raportu
C. etykieta
D. zapytanie SELECT
Etykieta jako źródło danych dla raportu nie jest najlepszym pomysłem, bo sama etykieta nie ma danych, które można by analizować. To jakby mieć tylko opakowanie bez zawartości. Projekt raportu także nie nadaje się jako źródło, bo mówi głównie o tym, jak coś powinno wyglądać, a nie jakie info powinno być w środku. Ważne jest, żeby źródłem danych były konkretne tabele czy zapytania, które dostarczają faktyczną wiedzę. Co do zapytania ALTER, to też jest pewne nieporozumienie, bo ono służy do zmiany struktury bazy, a nie do pobierania danych. Może zmieniać kolumny czy tabelę, ale nie da nam informacji do raportu. Zdarza się, że mylimy różne funkcje w SQL, co prowadzi do użycia niewłaściwych narzędzi do analizy. Dlatego warto wiedzieć, do czego dokładnie służą zapytania SQL, żeby dobrze zarządzać danymi i robić sensowne raporty.

Pytanie 3

Jaką czynność należy wykonać przed przystąpieniem do tworzenia kopii zapasowej danych w bazie MySQL?

A. przyznanie uprawnień do przeglądania bazy dla Administratora
B. określenie systemu kodowania znaków w bazie
C. sprawdzenie integralności bazy oraz ewentualna jej naprawa
D. weryfikacja, czy baza działa wystarczająco efektywnie
Zdefiniowanie systemu kodowania znaków w bazie, chociaż istotne dla prawidłowego przechowywania i przetwarzania danych, nie jest bezpośrednio związane z czynnością przygotowawczą przed wykonaniem kopii bezpieczeństwa. Właściwe kodowanie znaków jest kluczowe dla zapewnienia, że wszystkie znaki są poprawnie interpretowane przez bazę danych, jednakże nie ma wpływu na integralność samych danych w momencie tworzenia backupu. Nadanie uprawnień do przeglądania bazy dla Administratora, choć ważne z punktu widzenia bezpieczeństwa i zarządzania dostępem, również nie jest czynnością, która zapewnia prawidłowe działanie operacji backupowych. Uprawnienia powinny być zarządzane na etapie projektowania bazy danych, a nie bezpośrednio przed tworzeniem kopii zapasowej. Sprawdzenie wydajności bazy danych jest istotnym elementem zarządzania systemem, jednak nie ma bezpośredniego wpływu na integralność danych. Optymalizacja wydajności ma na celu poprawę czasu odpowiedzi i efektywności zapytań, ale nie gwarantuje, że dane są poprawne, co czyni to krokiem drugorzędnym w kontekście bezpieczeństwa danych. Wszystkie te czynności mogą być częścią ogólnej strategii zarządzania bazą danych, ale nie powinny zastępować kluczowego sprawdzenia integralności przed wykonaniem kopii bezpieczeństwa.

Pytanie 4

Jakim kodem określa się kolor czerwony?

A. #EE0000
B. #00EEEE
C. #00EE00
D. #0000EE
Poprawna odpowiedź to #EE0000, co jest kodem szesnastkowym reprezentującym kolor czerwony w systemie RGB. W tym kodzie, wartość R (czerwony) wynosi 238, co oznacza maksymalne nasycenie tego koloru. Wartości G (zielony) i B (niebieski) są ustawione na 0, co oznacza, że brak tych kolorów powoduje, że czerwony staje się dominujący. Kolory w formacie szesnastkowym są powszechnie stosowane w projektowaniu stron internetowych oraz w grafice komputerowej, ponieważ umożliwiają precyzyjne określenie kolorów. Na przykład, w CSS można użyć tego kodu, aby ustawić kolor tła przycisku: 'background-color: #EE0000;'. Taka praktyka pozwala na łatwe i konsekwentne utrzymanie estetyki wizualnej projektu. Warto również zaznaczyć, że w kontekście kolorów, czerwony często symbolizuje energię, pasję i akcję, co czyni go popularnym wyborem w marketingu i reklamie, gdzie przyciągnięcie uwagi jest kluczowe.

Pytanie 5

W trakcie weryfikacji stron internetowych nie analizuje się

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

Pytanie 6

W HTML 5 atrybut action jest wykorzystywany w znaczniku

A. <code>
B. <head>
C. <form>
D. <body>
Atrybut action w znaczniku <form> jest kluczowym elementem w kontekście przesyłania danych formularzy w HTML5. Określa on adres URL, do którego zostaną wysłane dane po złożeniu formularza przez użytkownika. Przykładowo, jeżeli mamy formularz do logowania, atrybut action mógłby mieć wartość 'login.php', co oznacza, że po kliknięciu przycisku 'Zaloguj', dane z formularza zostaną przesłane do skryptu PHP obsługującego logowanie. Podczas projektowania formularzy warto przestrzegać zasad bezpieczeństwa, takich jak walidacja danych zarówno po stronie klienta, jak i serwera. Dobrą praktyką jest także stosowanie metod przesyłania danych, takich jak POST, aby ukryć dane użytkownika w URL. Dodatkowo, w ramach HTML5 wprowadzono atrybuty, takie jak novalidate, które pozwalają na wyłączenie domyślnej walidacji w przeglądarkach, co może być przydatne w określonych sytuacjach. Używanie znaczników formularzy zgodnie z ich przeznaczeniem zwiększa dostępność i użyteczność stron internetowych, co jest kluczowe w nowoczesnym web designie.

Pytanie 7

Jakim sposobem w języku PHP można zapisać komentarz zajmujący kilka linii?

A. /* */
B. <!-- -->
C. //
D. #
W języku PHP, sposób komentowania bloku komentarza w kilku liniach to użycie znaków /* i */. Taki sposób pozwala na umieszczenie dowolnej ilości tekstu w obrębie tych znaków, co jest niezwykle przydatne, gdy chcemy opisać bardziej złożoną funkcję lub fragment kodu. Na przykład, w czasie tworzenia dokumentacji kodu, często stosujemy bloki komentarzy do szczegółowego opisania działania funkcji, parametrów oraz zwracanych wartości. Dzięki temu każdy programista, który będzie pracował z naszym kodem w przyszłości, może szybko zrozumieć jego przeznaczenie. Dobrą praktyką jest również umieszczanie daty aktualizacji oraz informacji o autorze w takich blokach, co ułatwia zarządzanie projektem. Stosowanie bloków komentarzy jest zgodne z konwencjami programistycznymi, co zwiększa czytelność kodu i jego późniejszą konserwację.

Pytanie 8

Przedstawiony algorytm umożliwia wyliczenie

Ilustracja do pytania
A. średniej arytmetycznej n liczb a wprowadzonych przez użytkownika.
B. najmniejszego wspólnego dzielnika dla n kolejnych liczb a.
C. reszty z dzielenia kolejnych liczb a przez liczbę n.
D. średniej geometrycznej n liczb a wprowadzonych przez użytkownika.
Algorytm z diagramu realizuje dokładnie klasyczny wzór na średnią arytmetyczną. Najpierw wczytywana jest liczba n – ile wartości użytkownik poda. Potem zmienna „Wynik” jest zerowana, a zmienna sterująca pętlą i ustawiana na 0. Następnie działa pętla z warunkiem i < n: w każdej iteracji program wczytuje kolejną liczbę a, dodaje ją do zmiennej Wynik (czyli de facto sumuje wszystkie podane liczby), a licznik i zwiększa o 1. Gdy i przestaje być mniejsze od n, pętla się kończy i dopiero wtedy wykonywana jest operacja Wynik = Wynik / n. To jest dokładnie to, co robi wzór: średnia = (a1 + a2 + … + an) / n. Z praktycznego punktu widzenia taki algorytm to absolutna podstawa w programowaniu, szczególnie przy pracy z danymi wejściowymi: wynikami pomiarów, ocenami uczniów, czasami odpowiedzi serwera itp. W wielu językach programowania (C, Java, JavaScript, PHP) napisanie tego w kodzie sprowadza się do jednej pętli for lub while, sumowania zmiennej i jednego dzielenia na końcu. Dobrą praktyką jest, żeby dzielenie wykonywać dopiero po zsumowaniu wszystkich elementów, dokładnie tak jak na diagramie, a nie w każdej iteracji, bo to ogranicza błędy zaokrągleń i jest po prostu wydajniejsze obliczeniowo. W aplikacjach webowych ten schemat pojawia się np. przy liczeniu średniej oceny produktu z wielu głosów użytkowników, średniego czasu odpowiedzi API albo średniego czasu spędzonego na stronie. Moim zdaniem to jedno z kluczowych ćwiczeń na zrozumienie pętli i zmiennych pomocniczych, bo łączy matematykę z bardzo praktyczną logiką algorytmiczną.

Pytanie 9

Wskaż pole edycyjne sformatowane przedstawionym stylem CSS

input {
  border: none;
  border-bottom: 2px solid Blue;
  color: Gray;
  font-weight: 900;
}

Input 1. Podaj imię:

Input 2. Podaj imię:

Input 3. Podaj imię:

Input 4. Podaj imię: Agnieszka

A. Input 2.
B. Input 3.
C. Input 1.
D. Input 4.
Dobrze wybrałeś! Odpowiedź 'Input 2.' jest rzeczywiście poprawna. To, co oferuje ten element, to wszystko, co potrzebne do spełnienia wymagań stylu CSS, czyli ma niebieskie dolne obramowanie o grubości 2px, szary tekst oraz pogrubioną czcionkę. Wygląd elementów formularza jest mega ważny, bo to właśnie od niego zależy, jak użytkownicy będą się poruszać po stronie. Dzięki CSS możemy to wszystko kontrolować, co daje nam spójność i ładny wygląd. Różne właściwości CSS, takie jak 'border-bottom', 'color' czy 'font-weight', pozwalają na dokładne dostosowanie stylu każdego elementu strony. W sumie, jak już się bardziej wkręcisz w CSS, zauważysz, że można dodać też różne efekty, jak hover, focus czy active, co dodatkowo wzbogaca interakcję. Rozumienie, jak te różne właściwości działają, jest kluczowe, żeby tworzyć fajne i funkcjonalne interfejsy.

Pytanie 10

Jakie funkcje może pełnić program FileZilla?

A. debugowania skryptu na stronie
B. walidacji strony internetowej
C. publikacji strony internetowej
D. kompilacji skryptu na stronie
Pomimo że niektóre odpowiedzi mogą wydawać się logiczne na pierwszy rzut oka, nie są one związane z funkcjonalnościami, które oferuje FileZilla. Kompilacja skryptu na stronie to proces, w którym kod źródłowy jest przetwarzany, aby stworzyć gotową aplikację lub stronę. FileZilla nie oferuje narzędzi do kompilacji, ponieważ nie jest edytorem kodu ani środowiskiem programistycznym. Walidacja strony internetowej dotyczy natomiast sprawdzania poprawności kodu HTML czy CSS, co ma na celu zapewnienie zgodności z standardami internetowymi. To zadanie wykonuje się przy pomocy specjalistycznych narzędzi lub usług online, a FileZilla nie ma wbudowanej funkcji do walidacji. Debugowanie skryptu to proces znajdowania i usuwania błędów w kodzie, który również nie jest celem działania FileZilli. Do debugowania często wykorzystuje się narzędzia developerskie dostępne w przeglądarkach internetowych lub dedykowane oprogramowanie, które oferuje zaawansowane funkcje analityczne. Typowym błędem myślowym jest pomylenie narzędzi przeznaczonych do zarządzania plikami z tymi, które służą do programowania czy analizy kodu. FileZilla jest skoncentrowana na przesyłaniu i zarządzaniu plikami, a nie na edytowaniu czy analizie kodu źródłowego.

Pytanie 11

Jaki zapis w języku C++ definiuje komentarz jednoliniowy?

A. <
B. #
C. //
D. /*
Komentarz jednoliniowy w języku C++ jest definiowany przez zapis //. Używanie tej składni pozwala programiście na dodanie uwag w kodzie, które są ignorowane przez kompilator. Komentarze są niezwykle przydatne, gdyż umożliwiają dokumentowanie kodu, co ułatwia jego zrozumienie i utrzymanie w przyszłości. Na przykład, jeśli mamy fragment kodu, który oblicza sumę dwóch liczb, możemy dodać komentarz jednoliniowy, aby wyjaśnić, co dany fragment robi: // Oblicza sumę dwóch liczb. Warto dodać, że w standardzie C++ zaleca się użycie komentarzy w miejscach, gdzie kod może być trudny do zrozumienia lub wymaga dodatkowego wyjaśnienia. Dobre praktyki programistyczne podkreślają znaczenie dokumentowania kodu, co ułatwia współpracę w zespole oraz przyszłe modyfikacje. Warto również wspomnieć, że komentarze nie powinny być nadmierne, aby nie wprowadzać w błąd lub nie zniechęcać do czytania samego kodu.

Pytanie 12

W języku CSS zapis

h2 {background-color: green;}
spowoduje, że kolor zielony będzie dotyczył:
A. tła tekstu nagłówka drugiego stopnia
B. czcionki każdego nagłówka na stronie
C. czcionki nagłówka drugiego stopnia
D. tła całej strony
Odpowiedź, że kolor zielony będzie dotyczył tła tekstu nagłówka drugiego stopnia, jest poprawna. W kodzie CSS, zapis <b>h2 {background-color: green;}</b> oznacza, że wszystkie elementy <h2> na stronie będą miały tło w kolorze zielonym. W praktyce oznacza to, że każdy nagłówek drugiego stopnia będzie miał zielone tło, co może być użyteczne do wyróżnienia sekcji na stronie. Warto zauważyć, że stylowanie tła nagłówków może poprawić czytelność i estetykę dokumentu, zwłaszcza w sytuacjach, gdy chcemy podkreślić różne sekcje treści. Dobrą praktyką w CSS jest także używanie klas i identyfikatorów do bardziej precyzyjnego stylowania, co pozwala na unikanie konfliktów z innymi stylami na stronie. Dodatkowo, można eksperymentować z różnymi kolorami i przezroczystościami, aby uzyskać unikalne efekty wizualne, co jest szczególnie ważne w nowoczesnym projektowaniu stron internetowych.

Pytanie 13

Które kolory tła zostały przypisane odpowiednio do akapitów o identyfikatorach 1, 2, 3, 4?

<p id="1" style="background-color:rgb(128,128,128);"> Akapit 1</p>
<p id="2" style="background-color:rgb(255,255,0);"> Akapit 2</p>
<p id="3" style="background-color:rgb(0,128,0);"> Akapit 3</p>
<p id="4" style="background-color:rgb(0,0,255);"> Akapit 4</p>
A. Żółty, zielony, czerwony, szary.
B. Szary, żółty, zielony, niebieski.
C. Szary, niebieski, czerwony, żółty.
D. Żółty, czerwony, zielony, szary.
Poprawnie powiązałeś zapis w notacji RGB z nazwami kolorów. W kodzie CSS zapis rgb(128,128,128) oznacza kolor, w którym wartości składowych czerwonej, zielonej i niebieskiej są równe, a dość niskie, co daje odcień szarości – stąd tło akapitu o id="1" jest szare. W rgb(255,255,0) maksymalna jest czerwień i zieleń, a niebieski ma wartość 0, co w modelu barw RGB daje kolor żółty – taki kolor ma akapit o id="2". Z kolei rgb(0,128,0) to tylko składowa zielona o średniej intensywności, więc wychodzi ciemniejsza zieleń i to jest tło akapitu o id="3". Ostatni zapis rgb(0,0,255) to maksymalna składowa niebieska, więc mamy wyraźny niebieski kolor tła dla akapitu o id="4". W praktyce webowej takie bezpośrednie użycie rgb() w atrybucie style jest poprawne, ale z mojego doświadczenia lepiej jest przenosić te style do arkusza CSS i używać klas, np. .bg-gray, .bg-yellow itp. Ułatwia to późniejszą modyfikację wyglądu strony i trzymanie się zasady rozdzielenia struktury (HTML) od prezentacji (CSS), co jest zgodne z dobrymi praktykami i rekomendacjami W3C. Warto też kojarzyć liczby z odpowiadającymi im nazwami kolorów: 255 to maksimum, 0 to brak danej składowej, a wartości pośrednie (np. 128) dają ciemniejsze odcienie. W projektach komercyjnych często używa się też zapisu heksadecymalnego (#808080 dla szarego, #FFFF00 dla żółtego, #008000 dla zielonego, #0000FF dla niebieskiego), ale mechanizm jest dokładnie ten sam – opisujemy intensywność kanałów R, G i B.

Pytanie 14

Aby uzyskać przezroczyste tło w obrazie formatu JPG, należy wykonać

A. korekcję nasycenia kolorów
B. właściwe przycięcie
C. użycie filtru Gaussa
D. dodanie kanału alfa
Dodanie kanału alfa do obrazu JPG jest kluczowym krokiem, aby uzyskać przezroczystość tła. Format JPG, z definicji, nie obsługuje przezroczystości, dlatego konieczne jest przekształcenie obrazu do formatu, który to umożliwia, takiego jak PNG. Kanał alfa to dodatkowa warstwa, która przechowuje informacje o przezroczystości dla każdego piksela obrazu, pozwalając na uzyskanie efektu przezroczystości. Aby dodać kanał alfa, można skorzystać z programów graficznych takich jak Adobe Photoshop, GIMP czy Affinity Photo. Przykładowo, w Photoshopie można użyć funkcji 'Zaznaczenie i maska', aby wyodrębnić obiekt z tła, a następnie zapisać go z kanałem alfa jako PNG. Użycie kanału alfa jest standardową praktyką w edytowaniu grafiki, szczególnie w kontekście tworzenia logo, grafik do stron internetowych i zasobów do gier wideo, gdzie przezroczystość odgrywa kluczową rolę w integracji elementów wizualnych.

Pytanie 15

Która wartość tekstowa nie pasuje do podanego w ramce wzorca wyrażenia regularnego?

(([A-ZŁŻ][a-ząęóżźćńłś]{2,})(-[A-ZŁŻ][a-ząęóżźćńłś]{2,})?)
A. Kasprowicza
B. Nowakowska-Kowalska
C. Jelenia Góra
D. Kowalski
Wyrażenie regularne, które zostało podane w pytaniu, to [A-ZŁŻ][a-ząęóżźćńłś]{2,}-[A-ZŁŻ][a-ząęóżźćńłś]{2,}. Wyrażenie to jest używane do walidacji polskich nazwisk, gdzie pierwsza litera musi być dużą literą z zakresu A-Z oraz polskimi znakami diakrytycznymi, następnie muszą występować co najmniej dwa znaki małe, również z zestawu polskich liter. Po pierwszej części, która odpowiada za pierwsze nazwisko, mamy opcjonalny fragment, który zaczyna się od znaku '-', co oznacza, że można podać drugie nazwisko, które także musi spełniać te same warunki. Przykład poprawnych wartości to Kowalski oraz Nowakowska-Kowalska. Wartość 'Jelenia Góra' nie pasuje do tego wzorca, ponieważ zawiera spację, która nie jest dozwolona w tym kontekście. Dodatkowo, spację można interpretować jako rozdzielenie dwóch słów, co wykracza poza przyjęty format. W związku z tym, prawidłowa odpowiedź to 'Jelenia Góra'.

Pytanie 16

Skrypt PHP wyświetla aktualny czas w formacie godzina:minuta:sekunda, na przykład 15:38:20. Czas w tym formacie zostanie uzyskany dzięki funkcji

A. time("H:i:s");
B. date("H:i:s");
C. time("G:m:s");
D. date("G:m:s");
Wybór time("H:i:s") jako metody zwracającej aktualny czas w pożądanym formacie jest błędny, ponieważ funkcja time() nie formatuje daty ani czasu. Zamiast tego, time() zwraca czas w postaci znacznika czasu (timestamp) – liczby sekund, które upłynęły od 1 stycznia 1970 roku, co jest znane jako Unix Epoch. Dlatego wywołanie time("H:i:s") nie zadziała, ponieważ ta funkcja nie akceptuje parametrów formatujących. Kolejną nieprawidłową odpowiedzią jest date("G:m:s"). Chociaż funkcja date() jest stosowana do formatowania czasu, pole 'G' zwraca godziny w 24-godzinnym formacie, ale bez wiodących zer (tak jak 'H'), co może prowadzić do niepoprawnego wyświetlania godzin mniejszych niż 10. Dodatkowo, 'm' odnosi się do miesięcy, a nie minut, co czyni to podejście błędnym we wszystkich aspektach. Wreszcie, w odpowiedzi time("G:m:s") ponownie pojawia się problem ze zrozumieniem funkcji time(), która nie jest używana do formatowania czasu, a zamiast tego służy tylko do uzyskania znacznika czasu. Typowe błędy myślowe związane z tymi odpowiedziami obejmują mylenie funkcji do pozyskiwania danych z funkcjami do ich formatowania oraz niepełne zrozumienie składni i możliwości dostępnych funkcji PHP. Rekomenduje się zawsze dokładne zapoznanie się z dokumentacją PHP oraz praktyczne testowanie funkcji w różnych scenariuszach, aby lepiej zrozumieć ich zastosowanie i ograniczenia.

Pytanie 17

Jaki styl CSS umożliwia ustawienie wyrównania tekstu do prawej strony?

A. <p style="positon: right"> tekst </p>
B. <p style="text-align: right"> tekst </p>
C. <p style="font: right"> tekst </p>
D. <p style="align: right"> tekst </p>
Odpowiedź <p style="text-align: right"> tekst </p> jest poprawna, ponieważ właściwość CSS 'text-align' jest standardowym sposobem definiowania wyrównania tekstu w elemencie blokowym, takim jak <p>. Używając 'text-align: right', tekst wewnątrz elementu <p> zostanie wyrównany do prawej strony, co jest szczególnie przydatne w przypadku projektów webowych, gdzie estetyka i układ treści mają kluczowe znaczenie. Dzięki CSS można z łatwością zmieniać wyrównanie tekstu w zależności od wymagań projektu, co pozwala na elastyczne dostosowywanie stylów do różnych urządzeń i rozmiarów ekranów. Warto również wspomnieć, że stosowanie CSS do stylizacji dokumentów HTML jest zgodne z zasadami kaskadowych arkuszy stylów, co zapewnia separację treści od prezentacji i ułatwia zarządzanie stylami w większych projektach. Dobrą praktyką jest stosowanie zewnętrznych lub wewnętrznych arkuszy stylów zamiast inline stylingu, co zwiększa czytelność kodu i ułatwia jego utrzymanie.

Pytanie 18

W bazie danych znajdują się dwie tabele, które są ze sobą połączone relacją 1..n. Jakiej klauzuli SQL należy użyć, aby uzyskać odpowiadające sobie dane z obu tabel?

A. JOIN
B. OUTER LINK
C. AND
D. INNER LINK
Klauzula JOIN w SQL służy do łączenia tabel w bazie danych, pozwalając na pobranie powiązanych danych z różnych tabel. W przypadku relacji 1..n, przy której jedna tabela (nazwa tabeli `A`) może mieć wiele powiązanych rekordów w drugiej tabeli (nazwa tabeli `B`), klauzula JOIN jest idealna do uzyskania korespondujących wartości z obu tabel. Przykład zastosowania to: SELECT A.*, B.* FROM A JOIN B ON A.id = B.a_id; W powyższym zapytaniu `A.id` to klucz główny tabeli `A`, a `B.a_id` to klucz obcy w tabeli `B`, który odnosi się do `A`. Klauzula JOIN może przyjmować różne formy, takie jak INNER JOIN, LEFT JOIN, RIGHT JOIN, i FULL JOIN, które różnią się sposobem łączenia danych i wynikami. JOIN jest standardem SQL, co oznacza, że jest wspierany przez większość systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL, Oracle, czy Microsoft SQL Server. Użycie klauzuli JOIN jest kluczowe w relacyjnych bazach danych, gdzie dane są rozdzielone w różnych tabelach, ale muszą być analizowane łącznie.

Pytanie 19

Aby udostępnić aplikację PHP w sieci, konieczne jest przesłanie jej plików źródłowych na serwer z wykorzystaniem protokołu

A. SMTP
B. FTP
C. HTTP
D. NNTP
HTTP, czyli Hypertext Transfer Protocol, jest protokołem stosowanym głównie do przesyłania danych w sieci WWW, ale nie jest przeznaczony do transferu plików na serwer w kontekście przesyłania aplikacji PHP. HTTP umożliwia wymianę dokumentów HTML oraz zasobów takich jak obrazy czy style CSS, ale nie posiada funkcji zarządzania plikami w sposób, w jaki robi to FTP. SMTP, czyli Simple Mail Transfer Protocol, jest protokołem stworzonym do przesyłania wiadomości e-mail, a jego funkcjonalność nie ma zastosowania w kontekście przesyłania plików na serwer. SMTP zajmuje się jedynie przesyłaniem e-maili pomiędzy serwerami pocztowymi i nie obsługuje transferu plików, co czyni go zupełnie nieadekwatnym w tym przypadku. NNTP, czyli Network News Transfer Protocol, jest protokołem przeznaczonym do przesyłania wiadomości na grupy dyskusyjne w sieci Usenet. Choć pozwala na dystrybucję wiadomości, nie jest używany do transferu plików do serwerów internetowych. W związku z tym, ani HTTP, ani SMTP, ani NNTP nie mogą być skutecznymi narzędziami do zamieszczania aplikacji PHP w Internecie, co czyni FTP jedynym odpowiednim wyborem w tym kontekście.

Pytanie 20

Która z podanych funkcji w języku PHP zwraca sumę połowy wartości a oraz połowy wartości b?

A. function licz($a,$b){return 2/$a+2/$b; }
B. function licz($a,$b){return $a/2+$b/2; }
C. function licz($a,$b){return $a/2+$b; }
D. function licz($a,$b){return ($a/2+$b)/2; }
W sytuacjach, gdy programista stara się obliczyć sumę połowy a i połowy b, mogą wystąpić różne nieporozumienia dotyczące logiki matematycznej oraz syntaktyki języka PHP. Niepoprawne odpowiedzi zawierają różne koncepcje, które nie realizują założonego celu. Przykładowo, jedna z funkcji zwraca wartość 2/$a + 2/$b. To podejście nie tylko nie oblicza połowy wartości a i b, ale również prowadzi do obliczeń odwrotnych, co może dawać zaskakujące wyniki w przypadku zmiany wartości zmiennych. W praktyce, stosowanie takich wzorów może prowadzić do poważnych błędów, szczególnie gdy wartości a i b są bliskie zeru, co może skutkować dzieleniem przez zero. Inna funkcja, która oblicza ($a/2 + $b)/2, również jest niepoprawna, ponieważ oblicza średnią z sumy połowy a oraz wartości b, co nie spełnia postawionego zadania. Takie błędne podejście do formułowania równań może wynikać z braku zrozumienia podstaw arytmetyki oraz struktury funkcji w PHP. Programiści powinni być świadomi, że każdy błąd w definicji funkcji może prowadzić do nieprzewidywalnych wyników, dlatego tak istotne jest, aby przed implementacją skonsultować logikę obliczeń i dokładnie zaplanować, co funkcja ma osiągnąć.

Pytanie 21

Aby obraz umieszczony za pomocą kodu HTML mógł być rozpoznawany przez programy wspierające osoby niewidome, konieczne jest określenie atrybutu

A. src
B. border
C. alt
D. sizes
Atrybut 'alt' (alternatywny tekst) jest kluczowym elementem w kontekście dostępności stron internetowych, szczególnie dla osób niewidzących. Jego głównym celem jest dostarczenie opisowej informacji o obrazie, który nie może być bezpośrednio widziany. W przypadku obrazów, które nie są widoczne z różnych powodów (np. uszkodzenie pliku, brak połączenia internetowego lub korzystanie z czytników ekranu), tekst alternatywny pomaga zrozumieć kontekst i znaczenie danego obrazu. Przykład zastosowania: dla obrazka przedstawiającego logo firmy, można użyć atrybutu alt w następujący sposób: <img src='logo.png' alt='Logo firmy XYZ'>. W ten sposób, jeśli obrazek nie załadowałby się, użytkownik korzystający z czytnika ekranu otrzyma informację o tym, co ten obraz przedstawia. Definiowanie atrybutu 'alt' jest zgodne z wytycznymi WCAG (Web Content Accessibility Guidelines), które zalecają, aby wszystkie obrazki, które pełnią funkcję informacyjną, były opisane w taki sposób, aby zapewnić pełny dostęp do treści wszystkim użytkownikom. W praktyce takie podejście nie tylko poprawia dostępność, ale również pozytywnie wpływa na SEO, ponieważ wyszukiwarki również analizują ten atrybut.

Pytanie 22

Kwerenda ma za zadanie w tabeli artykuly ALTER TABLE artykuly MODIFY cena float;

A. usunąć kolumnę cena typu float
B. dodać kolumnę cena o typie float, jeśli nie istnieje
C. zmienić typ na float dla kolumny cena
D. zmienić nazwę kolumny z cena na float
Odpowiedź, która zmienia typ kolumny 'cena' na 'float' jest prawidłowa, gdyż użycie kwerendy ALTER TABLE z poleceniem MODIFY pozwala na modyfikację istniejącej kolumny w już utworzonej tabeli. W praktyce, jeśli w tabeli 'artykuły' kolumna 'cena' była wcześniej zdefiniowana jako typ inny niż float, zastosowanie polecenia ALTER TABLE jest właściwą metodą, by dostosować ten typ do wymagań aplikacji, które mogą wymagać precyzyjnych wartości liczbowych, na przykład w kontekście obliczeń finansowych. W SQL, typ float jest używany do przechowywania liczb zmiennoprzecinkowych, co jest szczególnie istotne w przypadku cen, które mogą mieć wartości dziesiętne. Dobre praktyki sugerują, aby zmiana typu danych dokonywana była w sposób przemyślany i po uprzednim sprawdzeniu, czy zmiana nie wpłynie negatywnie na istniejące dane. Warto pamiętać, że przed modyfikacją schematu bazy danych, dobrze jest wykonać kopię zapasową, aby zminimalizować ryzyko utraty danych.

Pytanie 23

W PHP konstrukcja foreach stanowi rodzaj

A. wyboru, dla elementów tablicy
B. pętli, wyłącznie dla elementów tablicy
C. warunkową, niezależnie od typu zmiennej
D. pętli, niezależnie od typu zmiennej
Pętla foreach w PHP to taki fajny sposób, żeby przejść przez wszystkie elementy tablicy. Została stworzona, żeby programiści mogli łatwiej ogarnąć przetwarzanie danych w tablicach, które są super ważnym typem danych w tym języku. Dzięki foreach można w prosty sposób dostać się do każdego elementu tablicy, bez zabawy w indeksy, co sprawia, że kod jest bardziej przejrzysty. Działa to tak: dla każdego elementu w tablicy robimy coś tam, co czyni ją świetnym narzędziem do pracy z większą ilością danych. Na przykład, można stworzyć tablicę z imionami i potem za pomocą foreach wypisać je na ekran. Fajnie jest też wiedzieć, że foreach nie zadziała z innymi typami danych, więc to ograniczenie, o którym trzeba pamiętać. W PHP używa się tej instrukcji na co dzień, co pokazuje, jak bardzo jest przydatna i jak bardzo ułatwia życie programistom.

Pytanie 24

W języku HTML, aby uzyskać następujący efekt formatowania
pogrubiony pochylony lub w górnym indeksie
należy zapisać kod:

A. <b>pogrubiony <i>pochylony</i></b> lub w <sup>górnym indeksie</sup>
B. <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>
C. <i>pogrubiony <b>pochylony lub w </i><sup>górnym indeksie</sup>
D. <i>pogrubiony </i><b>pochylony </b>lub w <sub>górnym indeksie</sub>
Odpowiedź, w której użyłeś znaczników <b> i <i> w odpowiednich miejscach, jest całkiem dobra. Znak <b> jest świetny do pogrubiania tekstu, co przydaje się, gdy chcesz podkreślić coś ważnego. Natomiast <i> pozwala na pochylanie tekstu, co dodaje mu charakteru i może sugerować cytaty czy tytuły. Co ciekawe, znacznik <sup> stosujemy, gdy chcemy pokazać górny indeks, np. przy potęgach czy jednostkach miar. Przykład takiego użycia byłby taki: <b>Waga</b> <i>w kilogramach</i> wynosi <sup>2</sup> dla dwóch jednostek. Jak widać, stosowanie HTML w odpowiedni sposób pozwala robić czytelne i estetyczne prezentacje, co jest zgodne z dobrymi praktykami w web designie oraz standardami W3C. Warto też pamiętać, że dobrze dobrane znaczniki mają znaczenie nie tylko wizualne, ale także pomagają w indeksowaniu treści przez wyszukiwarki, co z kolei wpływa na SEO.

Pytanie 25

Wynikiem działania poniższej pętli for w przedstawionym kodzie PHP jest wyświetlenie liczb:

<?php
   for($i=5;$i>1;$i-=2)
       echo ($i%2)." ";
?>
A. 1 0 1 0
B. 1 0 1
C. 1 1
D. 1 0
Wybór błędnych odpowiedzi wynika z niepełnej analizy działania pętli oraz błędnych założeń dotyczących wartości zwracanych przez operację modulo. Odpowiedzi 1 0, 1 0 1 oraz 1 0 1 0 wskazują na zrozumienie, że liczby mogą mieć różne wartości modulo 2, ale z niewłaściwym przypisaniem ich do konkretnego kontekstu pętli. Wartość 0 w odpowiedzi 1 0 sugeruje, że użytkownik myśli, że $i może kiedykolwiek przyjąć wartość parzystą i wpłynąć na wynik, co jest błędne w kontekście analizowanego kodu. Liczba 5 jest liczbą nieparzystą, więc operacja modulo skutkuje 1, a 3 również jest liczbą nieparzystą, co również daje 1. Odpowiedź 1 0 1 sugeruje, że po osiągnięciu wartości $i = 1, wynik zmienia się na zero, co jest niezgodne z zasadami przetwarzania w tej pętli. Podobnie, odpowiedź 1 0 1 0 sugeruje, że w pętli mogłyby pojawić się inne wartości, podczas gdy w rzeczywistości, jak pokazuje analiza, pętla kończy się po dwóch iteracjach. Kluczowe jest zrozumienie, jak działają struktury kontrolne w programowaniu oraz jakie wyniki można otrzymać na podstawie operacji arytmetycznych. Taka analiza jest niezbędna, aby uniknąć typowych błędów związanych z operacjami na liczbach oraz wyciąganiem wniosków na temat ich właściwości.

Pytanie 26

Instrukcja w języku SQL GRANT ALL PRIVILEGES ON klienci TO pracownik

A. przeniesie uprawnienia z grupy klienci do użytkownika pracownik
B. cofa wszystkie uprawnienia pracownikowi do tabeli klienci
C. przyznaje wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik
D. przyznaje uprawnienie grupie klienci dla tabeli pracownik
Polecenie SQL "GRANT ALL PRIVILEGES ON klienci TO pracownik" jest używane do nadawania pełnych uprawnień do określonej tabeli, w tym przypadku do tabeli "klienci", użytkownikowi o nazwie "pracownik". To polecenie jest kluczowe w zarządzaniu dostępem w bazach danych, ponieważ pozwala administratorom na precyzyjne kontrolowanie, kto i w jakim zakresie może modyfikować dane. W praktyce, nadawanie uprawnień za pomocą komendy GRANT jest standardową praktyką w zarządzaniu bazami danych, pozwalającą na delegowanie odpowiedzialności oraz przydzielanie ról, co zwiększa bezpieczeństwo danych. Warto również zauważyć, że standardową praktyką jest ograniczanie uprawnień do niezbędnego minimum, stosując zasady najmniejszych uprawnień (principle of least privilege). Przykładowo, zamiast nadawania pełnych uprawnień, można przyznać użytkownikowi jedynie prawo do odczytu, co ogranicza ryzyko nieautoryzowanych zmian w danych.

Pytanie 27

Jakie zadania programistyczne mogą być realizowane wyłącznie po stronie klienta w przeglądarce?

A. Bezpieczne wyświetlenie spersonalizowanej treści strony na podstawie uprawnień użytkownika aplikacji
B. Weryfikacja hasła użytkownika w bazie danych powiązanej z aplikacją internetową
C. Weryfikacja danych wprowadzanych do pola tekstowego w czasie rzeczywistym
D. Zapis danych z formularza w bazie danych związanej z aplikacją internetową
Wszystkie pozostałe zadania wymagają interakcji z serwerem, co czyni je niewykonalnymi po stronie klienta. Bezpieczne wyświetlenie personalizowanej zawartości strony zgodnie z prawami użytkownika aplikacji wiąże się z koniecznością weryfikacji danych na serwerze. Ta operacja wymaga zrozumienia roli serwera w kontekście bezpieczeństwa i autoryzacji, ponieważ każdy użytkownik może mieć różne uprawnienia do przeglądania zawartości. Zapisanie danych pobranych z formularza w bazie danych również odbywa się po stronie serwera, gdzie następuje walidacja i przetwarzanie danych. Bazy danych są złożonymi systemami, które zapewniają integralność i bezpieczeństwo, a ich użycie wymaga odpowiednich zapytań SQL, które są wykonywane na serwerze. Podobnie, sprawdzenie hasła użytkownika w bazie danych wymaga komunikacji z serwerem, gdzie hasło jest porównywane z zapisanym hasłem w sposób bezpieczny, zazwyczaj poprzez haszowanie. To podejście jest zgodne z najlepszymi praktykami w zakresie bezpieczeństwa aplikacji webowych, a wszelkie operacje dotyczące integralności danych powinny być wykonywane w środowisku serwerowym, aby zapobiec potencjalnym atakom, takim jak SQL Injection. Właściwe zrozumienie rozróżnienia między operacjami po stronie klienta i serwera jest kluczowe dla tworzenia wydajnych, bezpiecznych aplikacji internetowych.

Pytanie 28

W języku PHP chcąc wyświetlić ciąg n znaków @, należy użyć funkcji

A. function znaki($znak, $n){
   for($i = 0; $i < $n; $i++)
     print($znak);
}
znaki(@, $n);

B. function znaki($i){
   for($i = 0; $i < $n; $i++)
     print("@");
}
znaki($i);

C. function znaki($znak, $n){
   for($i = 0; $i < $n; $i++)
     print($znak);
}
znaki($n);

D. function znaki($znak, $n){
   for($i = 0; $i < $n; $i++)
     print($znak);
}
znaki("@", $n);
A. B.
B. A.
C. D.
D. C.
Wybór odpowiedzi A, B lub C sugeruje pewne nieporozumienia dotyczące działania funkcji w PHP. W PHP, aby wyświetlić ciąg n znaków, musimy użyć funkcji, która przyjmuje dwa argumenty: znak do wyświetlenia i liczbę n określającą, ile razy znak powinien zostać wyświetlony. Żadne z podejść zaproponowanych w odpowiedziach A, B lub C nie spełniają tych kryteriów. Wszystkie one wydają się pomijać istotne aspekty tworzenia funkcji, takie jak użycie odpowiednich argumentów lub prawidłowe użycie pętli. Zrozumienie, jak działa ta konkretna funkcja w PHP, może pomóc Ci zrozumieć, jak działa ten język programowania i jak używać jego funkcji do tworzenia skutecznych programów. Warto poświęcić więcej czasu na naukę tych podstaw, ponieważ są one kluczowe dla pisanie skutecznego kodu w PHP.

Pytanie 29

Który z linków ma poprawną formę?

A. <a href='http://:adres'>tekst</a>
B. <a href="mailto:adres">tekst</a>
C. <a href="http://adres">tekst</a>
D. <a href='mailto:adres'>tekst</a>
Pierwsza z niepoprawnych odpowiedzi wykorzystuje pojedyncze cudzysłowy w atrybucie 'href' oraz niepoprawny format adresu e-mail. Chociaż pojedyncze cudzysłowy są dozwolone, w kontekście standardów HTML zaleca się stosowanie podwójnych cudzysłowów. Druga odpowiedź przedstawia nieprawidłowy format adresu URL z dodatkowym dwukropkiem po 'http://', co czyni go niekompletnym i niezgodnym z zasadami tworzenia linków w HTML. Taki błąd uniemożliwia prawidłowe załadowanie strony internetowej oraz może prowadzić do niepoprawnego działania linków. Trzecia odpowiedź używa nietypowych cudzysłowów (\"\" zamiast standardowych podwójnych cudzysłowów), co nie jest zgodne z konwencjami kodowania w HTML i może prowadzić do problemów z interpretacją przez przeglądarki. Użycie odpowiednich cudzysłowów jest kluczowe dla prawidłowego działania kodu HTML i zapobiega potencjalnym błędom w renderowaniu strony. Wszelkie niezgodności z przyjętymi standardami mogą negatywnie wpłynąć na jakość i funkcjonalność strony internetowej, co ma znaczenie również z perspektywy SEO.

Pytanie 30

W edytorze grafiki rastrowej funkcja „dodaj kanał alfa” umożliwia

A. ustawienie prawidłowego balansu bieli
B. powiększenie głębi ostrości obrazu
C. wprowadzenie warstwy z przezroczystością
D. wyostrzenie krawędzi obrazu
Dodanie kanału alfa w edytorze grafiki rastrowej to w zasadzie otworzenie drzwi do pracy z przezroczystością w obrazie. Kanał alfa jest dodatkową składową pikseli, która oprócz wartości RGB określa też poziom przejrzystości danego fragmentu grafiki. Moim zdaniem, to jeden z kluczowych elementów, jeśli chcesz przygotować grafikę do profesjonalnych zastosowań, np. do webdesignu, gier czy produkcji materiałów do druku z efektem nakładania. Standardowym przykładem jest sytuacja, gdy przygotowujesz logo i zależy Ci, żeby tło było przezroczyste – wtedy bez kanału alfa ani rusz. W praktyce, po dodaniu kanału alfa możesz wymazywać fragmenty lub stosować selektywne przezroczystości, co daje mnóstwo kreatywnych możliwości. To taka podstawa, bez której ciężko wyobrazić sobie pracę z warstwami, maskami czy efektami blendingu. Z mojego doświadczenia, osoby zaczynające pracę z grafiką często nie zdają sobie sprawy, jak ważne jest świadome zarządzanie przezroczystością – a kanał alfa właśnie to umożliwia. Nawet w najpopularniejszych formatach plików, jak PNG, obsługa kanału alfa jest już praktycznie standardem branżowym. Warto też wiedzieć, że w formatach takich jak JPEG tego nie uzyskasz, bo nie obsługują przezroczystości. Tak więc, jeśli planujesz pracę z grafiką wielowarstwową, przygotowywanie sprite’ów czy nowoczesnych UI, kanał alfa to absolutna podstawa, nie tylko bajer.

Pytanie 31

Jaką wartość w formacie heksadecymalnym będzie miała barwa określona kodem rgb(255, 10, 22)?

A. #2551022
B. #FF1016
C. #FF0A16
D. #251022
Wybór błędnych odpowiedzi wynika najczęściej z niezrozumienia zasad konwersji kolorów z formatu RGB do formatu heksadecymalnego. Odpowiedzi takie jak #2551022 czy #251022 sugerują, że użytkownik nie zrozumiał, jak działa system szesnastkowy, w którym każda para cyfr reprezentuje jeden z trzech kanałów koloru. Na przykład, w odpowiedzi #2551022 widzimy zbyt wiele cyfr, co jest niezgodne z formatem heksadecymalnym, który wymaga dokładnie sześciu znaków. Dodatkowo, odpowiedzi te mogą prowadzić do błędnych wyników w projektach graficznych i programistycznych, gdzie precyzyjne określenie kolorów jest kluczowe. W przypadku #FF1016, choć niektóre cyfry są poprawne, znowu pojawia się problem z wartościami kanału zielonego, gdzie odpowiednia wartość powinna być 0A, a nie 10. Przykłady te pokazują, jak ważne jest zrozumienie, że kanały kolorów w RGB są reprezentowane w skali szesnastkowej jako dwucyfrowe liczby szesnastkowe, a ich nadmiar lub zmiana kolejności może prowadzić do nieprawidłowych kolorów. Dobra praktyka w projektowaniu to upewnienie się, że konwersje są wykonywane poprawnie, aby uniknąć niepożądanych wyników.

Pytanie 32

ALTER TABLE transport MODIFY COLUMN rok_produkcji INT;
Wykonanie powyższej kwerendy SQL w bazie MySQL spowoduje:
A. usunięcie kolumny rok_produkcji w tabeli transport.
B. utworzenie tabeli transport zawierającej kolumnę rok_produkcji.
C. zmianę typu danych w kolumnie rok_produkcji na INT.
D. dodanie kolumny rok_produkcji typu INT w tabeli transport.
Poprawnie – polecenie ALTER TABLE ... MODIFY COLUMN w MySQL służy do modyfikowania istniejącej kolumny, a nie do jej tworzenia czy usuwania. W podanym przykładzie baza danych szuka tabeli o nazwie `transport`, a następnie zmienia definicję kolumny `rok_produkcji` tak, aby jej typ danych był `INT`. Jeśli kolumna już istnieje (a musi istnieć, żeby MODIFY zadziałało), to po wykonaniu polecenia dalej będzie miała tę samą nazwę, ale jej typ i właściwości zostaną nadpisane nową definicją. W MySQL warto pamiętać, że przy MODIFY COLUMN trzeba podać pełną definicję kolumny, nie tylko sam typ. Czyli jeśli wcześniej była np. NOT NULL albo miała domyślną wartość, to dobra praktyka jest napisać coś w stylu: `ALTER TABLE transport MODIFY COLUMN rok_produkcji INT NOT NULL DEFAULT 2000;` – inaczej można przypadkiem zgubić część ustawień. W praktyce takie polecenia stosuje się przy zmianach w projekcie bazy: np. najpierw kolumna jest typu VARCHAR, bo ktoś przechowuje tam rok jako tekst, a potem, zgodnie z lepszymi zasadami projektowania, zmienia się to na typ liczbowy INT, żeby można było łatwo filtrować, sortować, robić warunki typu `WHERE rok_produkcji > 2015`. Z mojego doświadczenia dobrze jest przed taką zmianą sprawdzić, czy wszystkie dane da się bezpiecznie skonwertować na liczbę, bo jeśli w kolumnie są jakieś śmieciowe wartości tekstowe, to MySQL może je obciąć albo zamienić na 0, co później robi bałagan w raportach. W środowiskach produkcyjnych takie ALTER TABLE najlepiej wykonywać po zrobieniu kopii zapasowej i często w oknie serwisowym, bo przy dużych tabelach operacja może chwilowo blokować dostęp do danych.

Pytanie 33

W CSS zastosowano regułę: float:left; dla bloku. Jakie będzie jej zastosowanie?

A. ustawienie bloku na lewo względem innych
B. wyrównanie tekstu do lewej strony
C. dopasowanie elementów tabeli do lewej krawędzi
D. umieszczanie bloków jeden pod drugim
Reguła CSS 'float: left;' jest kluczowym narzędziem do zarządzania układem elementów na stronach internetowych. Gdy zastosujemy tę regułę do bloku, powoduje to, że blok zostaje przesunięty do lewej strony swojego kontenera, co pozwala na przyleganie innych elementów po prawej stronie. Przykładowo, jeżeli mamy obrazek jako blok z regułą 'float: left;', tekst umieszczony obok tego obrazka będzie 'przeplatał' się z nim, co jest często wykorzystywane w projektowaniu stron dla uzyskania efektu estetycznego i funkcjonalnego. Stosowanie floata jest zgodne z dobrymi praktykami CSS, ale należy pamiętać, że może prowadzić do problemów z układem, szczególnie w przypadku elementów o różnej wysokości. Aby zniwelować efekty uboczne, często stosuje się regułę 'clear', aby kontrolować przepływ elementów. Warto również zwrócić uwagę, że w nowoczesnym CSS często zyskują na znaczeniu flexbox i grid, które oferują bardziej elastyczne i wydajne metody układania elementów, jednak 'float' nadal pozostaje istotnym narzędziem w arsenale front-end developera.

Pytanie 34

Które z poniższych twierdzeń na temat języków programowania jest FAŁSZYWE?

A. JavaScript jest językiem skryptowym
B. C++ jest językiem obiektowym
C. PHP jest językiem do tworzenia stron w czasie rzeczywistym
D. SQL jest językiem programowania strukturalnego
SQL (Structured Query Language) to język zapytań, który służy do zarządzania danymi w relacyjnych bazach danych. Pomimo swojej nazwy, SQL nie jest językiem programowania strukturalnego w tradycyjnym sensie, ponieważ nie obsługuje pełnych konstrukcji programistycznych, takich jak pętle czy warunki, które są charakterystyczne dla języków takich jak C czy Pascal. SQL jest językiem deklaratywnym, co oznacza, że użytkownicy formułują zapytania, które definiują, jakie dane chcą uzyskać, a nie jak je uzyskać. Dzięki temu SQL jest niezwykle efektywny w pracy z dużymi zbiorami danych i umożliwia szybkie wykonywanie operacji na bazach danych. Przykładowe zastosowanie SQL to tworzenie zapytań do wyszukiwania określonych informacji w bazie danych klientów lub przy używaniu funkcji agregujących do analizy danych. Zrozumienie roli SQL w architekturze baz danych oraz umiejętność jego stosowania jest kluczowe w dziedzinie analizy danych i rozwijania aplikacji webowych.

Pytanie 35

Jakie zapytanie umożliwi Administratorowi odebranie uprawnień do przeglądania oraz edytowania danych w bazie gazeta, dla użytkownika redaktor?

A. GRANT SELECT, UPDATE ON gazeta.* TO 'redaktor'@'localhost';
B. REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost';
C. REVOKE SELECT, ALTER ON gazeta.* FROM 'redaktor'@'localhost';
D. GRANT SELECT, ALTER ON gazeta.* TO 'redaktor'@'localhost';
Wszystkie pozostałe odpowiedzi są niepoprawne, ponieważ mylą pojęcie przyznawania i odbierania uprawnień. Na przykład, odpowiedź z użyciem GRANT SELECT, UPDATE ON gazeta.* TO 'redaktor'@'localhost'; jest błędna, ponieważ GRANT służy do przyznawania uprawnień, a nie ich odbierania. Użytkownik, który rozważa tę opcję, może mieć fałszywe przekonanie, że jest możliwe przypisanie uprawnień w sytuacji, gdy celem jest ich cofnięcie. Podobnie, odpowiedzi zawierające ALTER, jak REVOKE SELECT, ALTER ON gazeta.* FROM 'redaktor'@'localhost'; wprowadzają dodatkowy zamęt, ponieważ ALTER nie jest związane z przeglądaniem lub aktualizowaniem danych, ale odnosi się do modyfikacji struktury bazy danych. Błędne rozumienie różnic między SELECT, UPDATE i ALTER może prowadzić do poważnych problemów w zarządzaniu bazą danych, na przykład do nieautoryzowanych zmian w strukturze danych. Użytkownicy mogą także popełniać błąd w zakresie lokalizacji użytkownika, co w przypadku odpowiedzi jest określone jako 'redaktor'@'localhost';, co może być mylące w sytuacji, gdy użytkownik jest przypisany do innego hosta. Właściwe zrozumienie i stosowanie uprawnień w bazach danych jest fundamentalne dla ochrony danych, a także dla zapewnienia, że tylko uprawnieni użytkownicy mają dostęp do krytycznych informacji.

Pytanie 36

Który efekt został zaprezentowany na filmie?

A. Zwiększenie ostrości zdjęcia.
B. Przenikanie zdjęć.
C. Zmniejszenie kontrastu zdjęcia.
D. Zmiana jasności zdjęć.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 37

Celem testów wydajnościowych jest ocena

A. stopnia, w jakim system lub moduł spełnia wymagania dotyczące wydajności
B. ciągu zdarzeń, w którym prawdopodobieństwo danego zdarzenia zależy tylko od wyniku zdarzenia wcześniejszego
C. zdolności programu do funkcjonowania w sytuacjach, gdy sprzęt działa niepoprawnie
D. zdolności programu do funkcjonowania w sytuacjach, gdy system działa niepoprawnie
Analizując pozostałe odpowiedzi, można zauważyć, że żadna z nich nie odnosi się bezpośrednio do istoty testów wydajnościowych. Pierwsza z nich sugeruje, że testy te mają na celu sprawdzenie zdolności oprogramowania do działania w warunkach wadliwej pracy sprzętu. Chociaż testowanie pod kątem awarii sprzętowych jest istotnym elementem inżynierii oprogramowania, to nie jest to kluczowy aspekt testów wydajnościowych. Testy wydajnościowe koncentrują się na ocenie wydajności, a nie na sprawdzaniu reakcji systemu na uszkodzenia sprzętu. Druga odpowiedź dotyczy zdolności oprogramowania do działania w warunkach wadliwej pracy systemu, co także jest ważnym zagadnieniem w kontekście testowania, lecz nie jest to celem testów wydajnościowych. Testowanie odporności i niezawodności systemu jest częścią testowania funkcjonalnego, a nie wydajnościowego. Z kolei ostatnia z propozycji odnosi się do analizy ciągu zdarzeń, w którym prawdopodobieństwo każdego zdarzenia zależy jedynie od wyniku poprzedniego. To zagadnienie dotyczy bardziej teorii prawdopodobieństwa i statystyki, a nie bezpośrednio wydajności oprogramowania. Testy wydajnościowe skupiają się na mierzeniu i optymalizacji parametrów, a nie na analizie statystycznej zdarzeń w kontekście ich prawdopodobieństwa.

Pytanie 38

Wynikiem działania algorytmu dla c = 3 jest liczba

Ilustracja do pytania
A. 12
B. 6
C. 60
D. 24
Poprawna odpowiedź 24 wynika z dokładnego prześledzenia działania algorytmu krok po kroku. Algorytm najpierw wczytuje wartość c, potem ustawia zmienne: a = 1 oraz b = 2. Następnie sprawdza warunek b <= c + 1. Dla c = 3 mamy c + 1 = 4, więc pętla działa tak długo, jak b <= 4. Teraz iteracje: 1) b = 2, 2 <= 4 – warunek spełniony, więc wykonujemy a = a * b, czyli a = 1 * 2 = 2, potem zwiększamy b: b = 3. 2) b = 3, 3 <= 4 – znowu TAK, więc a = 2 * 3 = 6, b zwiększa się do 4. 3) b = 4, 4 <= 4 – nadal TAK, więc a = 6 * 4 = 24, b rośnie do 5. 4) b = 5, 5 <= 4 – warunek już fałszywy, wychodzimy z pętli i wypisujemy a, czyli 24. W praktyce ten algorytm oblicza iloczyn kolejnych liczb naturalnych od 2 do c+1, czyli w tym przypadku 2 * 3 * 4. To jest po prostu część silni: 4! = 1 * 2 * 3 * 4, tylko bez początkowego 1, więc wynik jest taki sam. Warto tu zauważyć dobry nawyk: inicjacja zmiennej a wartością 1 jest klasycznym wzorcem przy obliczaniu iloczynów (neutralny element mnożenia). Tego typu konstrukcje pętli z warunkiem porównującym do c+1 pojawiają się bardzo często w programowaniu – zarówno w algorytmach obliczających silnię, jak i przy różnego rodzaju iteracjach po zakresach, np. w JavaScript czy PHP. Z mojego doświadczenia dobrze jest zawsze rozpisać sobie kolejne kroki na kartce, szczególnie gdy warunek zawiera dodawanie lub odejmowanie, bo to właśnie tam najłatwiej o pomyłkę o jeden krok (tzw. błąd off-by-one).

Pytanie 39

Jaką kwerendę w bazie MariaDB należy zastosować, aby wybrać artykuły z cenami mieszczącymi się w zakresie obustronnie domkniętym <10, 20>?

A. SELECT * FROM Artykuly WHERE Cena BETWEEN 10 AND 20
B. SELECT * FROM Artykuly WHERE Cena IN (10, 20)
C. SELECT * FROM Artykuly WHERE Cena LIKE 1%, 2%
D. SELECT * FROM Artykuly WHERE Cena > 10 AND Cena < 20
W przypadku pierwszej odpowiedzi, użycie operatora IN do wybrania artykułów o cenach 10 i 20 nie jest trafne, ponieważ IN służy do sprawdzania równości z konkretnymi wartościami, a nie do definiowania przedziałów. Wartości 10 i 20 są tylko skrajne, a nie wszystkie wartości pomiędzy nimi. Druga odpowiedź posługuje się operatorami porównawczymi > i <, co wyklucza wartości graniczne – 10 i 20 nie zostaną uwzględnione, co jest sprzeczne z intencją pytania o przedział domknięty. W codziennej pracy z SQL istotne jest, aby zrozumieć różnicę pomiędzy operatorami porównawczymi a operatorami definiującymi przedziały wartości. Ostatnia odpowiedź z użyciem LIKE jest całkowicie nieadekwatna w kontekście zapytania o ceny, ponieważ LIKE jest przeznaczony do porównywania wzorców w typach danych tekstowych, a nie numerycznych. Typowe błędy myślowe, które prowadzą do takich niepoprawnych wniosków, to brak zrozumienia różnicy między operatorami, co skutkuje błędnym doborem metod w procesie analizy danych. Aby uniknąć tych pułapek, warto zapoznać się ze standardowymi praktykami SQL oraz ciągle doskonalić swoje umiejętności w zakresie kwerend.

Pytanie 40

Aby dodać nowy rekord do tabeli Pracownicy, konieczne jest zastosowanie polecenia SQL

A. INSERT VALUES Pracownicy INTO (Jan, Kowalski)
B. INSERT (Jan, Kowalski) INTO Pracownicy
C. INSERT VALUES (Jan, Kowalski) INTO Pracownicy
D. INSERT INTO Pracownicy VALUES ('Jan',' Kowalski')
Aby dodać nowy rekord do tabeli Pracownicy w bazie danych, należy skorzystać z polecenia SQL INSERT INTO, które jest standardowym sposobem na wprowadzenie nowych danych do tabeli. Poprawna składnia polecenia to 'INSERT INTO <nazwa_tabeli> VALUES (<wartości>)'. W przypadku podanego przykładu, używamy 'INSERT INTO Pracownicy VALUES ('Jan', 'Kowalski');', co jest zgodne z wymaganiami SQL. Polecenie to wprowadza dwa nowe atrybuty: imię 'Jan' oraz nazwisko 'Kowalski' do tabeli Pracownicy. Ważne jest, aby wartości były poprawnie otoczone apostrofami w przypadku typów danych tekstowych. Zgodnie z normami SQL, zapis ten pozwala na dodanie rekordu, pod warunkiem, że kolumny tabeli są zgodne z wprowadzanymi danymi, a tabela Pracownicy została wcześniej zdefiniowana w bazie danych. Przykładem może być sytuacja, w której tabela Pracownicy ma kolumny 'Imie' i 'Nazwisko', a wprowadzenie wartości bezpośrednio do tych kolumn jest zgodne z ich definicją.