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: 9 grudnia 2025 11:55
  • Data zakończenia: 9 grudnia 2025 12:18

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Baza danych szkoły podstawowej dla dzieci w wieku 6 lat obejmuje tabelę szkoła, która zawiera kolumny: imie, nazwisko, klasa. Wszyscy uczniowie w klasach od 1 do 5 przeszli do wyższej klasy. W celu zwiększenia wartości w kolumnie klasa o 1, należy wykonać następujące polecenie

A. UPDATE szkoła SET klasa = klasa + 1 WHERE klasa >=1 AND klasa <= 5
B. SELECT szkoła FROM klasa = klasa + 1 WHERE klasa >=1 AND klasa <= 5
C. SELECT nazwisko, imie FROM klasa = klasa + 1 WHERE klasa>l OR klasa < 5
D. UPDATE nazwisko, imie SET klasa = klasa + 1 WHERE klasa>l OR klasa < 5
Poprawne polecenie to 'UPDATE szkoła SET klasa = klasa + 1 WHERE klasa >=1 AND klasa <= 5;'. To zapytanie aktualizuje wartość w kolumnie 'klasa' dla wszystkich uczniów w tabeli 'szkoła', których aktualny poziom klasy mieści się w zakresie od 1 do 5. Kluczowym elementem jest użycie polecenia UPDATE, które jest standardowym sposobem na modyfikowanie danych w bazach danych SQL. Oznaczenie 'SET klasa = klasa + 1' wskazuje, że chcemy zwiększyć obecną wartość w kolumnie 'klasa' o 1. Warto zwrócić uwagę na warunek WHERE, który filtruje rekordy tak, aby aktualizacja dotyczyła tylko tych uczniów, którzy są w klasach 1-5. Tego rodzaju operacje są powszechnie stosowane w zarządzaniu danymi w aplikacjach edukacyjnych i są zgodne z praktykami bezpieczeństwa i integralności danych, zapewniając, że tylko odpowiednie rekordy są aktualizowane. Przykładem praktycznego zastosowania może być coroczna aktualizacja klas uczniów po zakończeniu roku szkolnego.

Pytanie 2

Dla akapitu zdefiniowano styl CSS. Które właściwości stylu CSS poprawnie określają dla akapitu czcionkę: Arial; rozmiar czcionki: 16 pt; oraz styl czcionki: pochylenie?

A. p{font-family: Arial; font-size: 16pt; font-style: italic;}
B. p{font-style: Arial; font-size: 16pt; font-variant: normal;}
C. p{font-family: Arial; font-size: 16px; font-variant: normal;}
D. p{font-style: Arial; size: 16px; font-weight: normal;}
Jeśli chodzi o opisanie czcionki w CSS dla akapitu, to kluczowe są trzy właściwości. 'font-family' mówi nam, jaki krój czcionki wybieramy, w tym wypadku 'Arial', bo to popularna czcionka bezszeryfowa. Potem mamy 'font-size', czyli rozmiar czcionki, tutaj to '16pt'. To standardowy rozmiar, który dobrze wygląda w druku. Na końcu, 'font-style' ustawia styl czcionki, a użycie 'italic' sprawia, że tekst będzie w pochyłym stylu. Te trzy rzeczy są super ważne, żeby tekst na stronie wyglądał schludnie i czytelnie. W projektowaniu stron internetowych warto pamiętać, że dla druku lepsze są jednostki takie jak 'pt', a dla ekranów stosujemy 'px'. Spójność w stylizacji też jest kluczowa, bo dzięki temu tekst wygląda jednolicie na całej stronie. To naprawdę ważne, zwłaszcza gdy robimy coś w CSS, bo pozwala to na ładniejszy web design.

Pytanie 3

Deklarując var x="true"; w języku JavaScript, jakiego typu zmienną się tworzy?

A. logicznym
B. nieokreślonym (undefined)
C. liczbowym
D. string (ciąg znaków)
W kontekście deklaracji var x="true"; niepoprawne odpowiedzi opierają się na nieporozumieniu dotyczącym typów danych w JavaScript. Zmienna logiczna, która jest jednym z typów boolean, przyjmuje jedynie dwie wartości: true lub false. Wartość "true" nie jest interpretowana jako wartość logiczna, ale jako tekst, co sprawia, że uznawanie jej za zmienną logiczną jest błędne. W JavaScript nie możemy przypisać stringa do typu boolean i oczekiwać, że uzyskamy wynik logiczny; w tej sytuacji wynik będzie zawsze tekstem. Kolejną niepoprawną odpowiedzią jest uznanie zmiennej za liczbową. Typ liczbowy w JavaScript odnosi się do wartości numerycznych, zarówno całkowitych jak i zmiennoprzecinkowych. Wartość "true" nie może być interpretowana jako liczba, ponieważ jest to ciąg znaków. Typ liczbowy wymaga, aby wartość była zapisana w formacie numerycznym, co w przypadku "true" nie ma miejsca. Ostatnią niepoprawną odpowiedzią jest stwierdzenie, że zmienna ma typ nieokreślony (undefined). W JavaScript typ undefined oznacza, że zmienna została zadeklarowana, ale nie przypisano jej żadnej wartości. W przypadku var x="true"; zmienna została zadeklarowana i przypisano jej wartość, więc nie można jej uznać za undefined. Dlatego wszystkie trzy niepoprawne odpowiedzi są wynikiem nieprawidłowego rozumienia typów danych oraz ich interpretacji w JavaScript.

Pytanie 4

W języku JavaScript, element został uzyskany przy pomocy metody getElementById. Jaką właściwość należy zastosować, aby zmienić zawartość tego elementu?

A. Body
B. HTML
C. innerHTML
D. innerBody
W każdej z niepoprawnych odpowiedzi występują podstawowe nieporozumienia dotyczące właściwości i metod związanych z manipulacją elementami DOM w JavaScript. Odpowiedź 'Body' odnosi się do całego dokumentu HTML i nie jest to właściwość, która pozwala na bezpośrednią modyfikację zawartości konkretnego elementu. Z kolei 'HTML' nie jest właściwością, lecz odnosi się do formatu dokumentu, co nie ma związku z manipulacją wewnętrzną pojedynczych elementów. Odpowiedź 'innerBody' jest nieprawidłowa, ponieważ nie istnieje taka właściwość w standardowym zestawie właściwości DOM; być może była to próba odwołania się do właściwości innerHTML, jednak jest to błędny termin. W kontekście programowania, ważne jest, aby rozumieć, że właściwości i metody muszą być zgodne z aktualnym standardem ECMAScript oraz specyfikacją DOM. Przykładowo, używanie textContent zamiast innerHTML jest preferowane w przypadkach, gdy nie chcemy, aby wprowadzany HTML został zinterpretowany lub gdy unikamy ryzyk związanych z bezpieczeństwem. Dlatego kluczowe jest zrozumienie różnicy pomiędzy tymi właściwościami i ich zastosowaniami oraz trzymanie się najlepszych praktyk w programowaniu, aby unikać błędów i potencjalnych luk bezpieczeństwa.

Pytanie 5

W językach programowania o strukturze, aby przechować dane dotyczące 50 uczniów (ich imion, nazwisk i średniej ocen), należy zastosować

A. tablicę 50 elementów o składowych strukturalnych
B. klasę 50 elementów typu tablicowego
C. strukturę 50 elementów o składowych typu tablicowego
D. tablicę 50 elementów o składowych typu łańcuchowego
Tablica 50 elementów o składowych łańcuchowych nie jest odpowiednim wyborem w tym kontekście, ponieważ łańcuchy znaków są jednowymiarowymi tablicami znaków, które nie są w stanie przechować złożonych informacji, takich jak imię, nazwisko i średnia ocen w jednej jednostce. W takiej strukturze musielibyśmy stworzyć oddzielne tablice dla każdego z tych pól, co prowadziłoby do problemów z zarządzaniem danymi oraz ich synchronizacją. Z kolei tablica 50 elementów o składowych tablicowych również nie jest rozwiązaniem optymalnym, ponieważ tablice tablicowe wprowadzają dodatkową złożoność i utrudniają dostęp do konkretnych informacji o uczniach. Zamiast tego, lepszym podejściem byłoby użycie tablicy struktur, jak wcześniej opisano, co pozwala na prostsze zarządzanie danymi. Klasa 50 elementów typu tablicowego, z drugiej strony, sugeruje użycie obiektowego podejścia, które, chociaż jest stosowane w językach obiektowych, może być nieodpowiednie w kontekście prostych danych uczniów. Klasy mogą wprowadzać dodatkowe złożoności, takie jak dziedziczenie czy polimorfizm, które w tym przypadku nie są konieczne. Dla prostego przechowywania danych o uczniach, użycie struktur jest znacznie bardziej efektywne.

Pytanie 6

Aby przeprowadzić walidację kontrolek formularza w momencie, gdy użytkownik wprowadza dane, można wykorzystać zdarzenie

A. onKeyDown
B. onFocusOut
C. onLoad
D. onClick
Odpowiedź 'onKeyDown' jest poprawna, ponieważ jest to zdarzenie, które jest wywoływane, gdy użytkownik naciśnie klawisz podczas interakcji z polem formularza. Użycie tego zdarzenia pozwala na walidację danych w czasie rzeczywistym, co oznacza, że programista może natychmiast reagować na wprowadzone znaki. Dzięki temu można na przykład sprawdzić, czy wprowadzone dane spełniają określone kryteria, takie jak format e-maila, długość hasła czy obecność cyfr. Praktyczne zastosowanie zdarzenia onKeyDown polega na tym, że można wprowadzić logikę walidacji bez konieczności czekania na zakończenie wprowadzania danych. Zamiast tego, możemy w realnym czasie informować użytkowników o ewentualnych błędach, co znacznie poprawia doświadczenia użytkowników. Ponadto, zgodnie z dobrymi praktykami, zaleca się używanie zdarzeń związanych z klawiaturą, takich jak onKeyDown czy onInput, które są bardziej odpowiednie dla dynamicznych interakcji niż na przykład onBlur, które może być mniej responsywne. Warto również zauważyć, że onKeyDown działa przed onKeyUp, co umożliwia szybsze reagowanie na wprowadzane dane, co jest kluczowe w kontekście walidacji w czasie rzeczywistym.

Pytanie 7

Polecenie MySQL przedstawione poniżej ma na celu

A. usunąć kolumnę tytul z tabeli ksiazki
B. dodać do tabeli ksiazki kolumnę tytul
C. zmienić typ kolumny tytul w tabeli ksiazki
D. zmienić nazwę kolumny w tabeli ksiazki
Polecenie ALTER TABLE w przedstawionym zapytaniu jest używane do modyfikacji struktury istniejącej tabeli w bazie danych MySQL. W szczególności, zapytanie zmienia typ kolumny 'tytul' w tabeli 'ksiazki' na VARCHAR(100) oraz ustawia ten typ jako NOT NULL, co oznacza, że ta kolumna nie może zawierać wartości NULL. Typ VARCHAR jest typem danych zmiennych o długości, co pozwala na przechowywanie ciągów znaków o zmiennej długości do 100 znaków. Zmiana typu kolumny może być przydatna w sytuacjach, gdy chcemy zmienić sposób przechowywania danych lub dostosować je do nowych wymagań aplikacji. Przykładem może być sytuacja, w której początkowo tytul był przechowywany jako tekst o stałej długości (np. CHAR), ale później zdecydowano, że lepszym rozwiązaniem będzie przechowywanie go jako VARCHAR dla oszczędności miejsca. W kontekście standardów SQL, modyfikacja kolumny zgodnie z definicją standardu SQL jest dopuszczalna, pod warunkiem, że nie narusza ona reguł dotyczących integralności danych i typów. Warto również pamiętać, że zmiana typu kolumny w bazie danych może wymagać migracji danych, co należy uwzględnić w planowaniu zmian.

Pytanie 8

W zaprezentowanym fragmencie algorytmu użyto

Ilustracja do pytania
A. jedną pętlę.
B. trzy bloki operacyjne (procesy).
C. dwie pętle.
D. jeden blok decyzyjny.
W przedstawionym fragmencie algorytmu zastosowano jedną pętlę co jest zgodne z poprawną odpowiedzią. Pętla to konstrukcja programistyczna pozwalająca wielokrotnie wykonywać fragment kodu dopóki spełniony jest określony warunek. W analizowanym schemacie widzimy jednokrotną pętlę oznaczoną powrotem do wcześniejszego punktu co jest charakterystyczne dla takich struktur. Najczęściej używane pętle to for while i do-while różniące się sposobem sprawdzania warunku początkowego. Pętle są fundamentalne w algorytmice i pozwalają na realizację złożonych operacji takich jak iteracja po tablicach czy przetwarzanie danych wejściowych. Ich zastosowanie zwiększa efektywność kodu i upraszcza jego strukturę. Dobrą praktyką jest dbanie o czytelność pętli i unikanie skomplikowanych zależności co poprawia zrozumienie kodu przez innych programistów. Warto również pamiętać o zasadach optymalizacji np. minimalizowanie liczby iteracji co przekłada się na lepszą wydajność.

Pytanie 9

Aby skutecznie zrealizować algorytm wyznaczający największą z trzech podanych liczb a, b oraz c, wystarczy użyć

A. pięciu zmiennych
B. jednej pętli
C. dwóch tablic
D. dwóch warunków
Wybór innej odpowiedzi na to pytanie może wynikać z nieporozumienia dotyczącego efektywności algorytmów i ich implementacji. Odpowiedź sugerująca jedną pętlę wydaje się atrakcyjna, ale w rzeczywistości, aby znaleźć największą liczbę spośród trzech, nie potrzebujemy iteracji, gdyż liczby można porównać bez konieczności przeszukiwania. Dwie tablice są również zbędne, ponieważ do przechowywania liczb nie potrzebujemy dodatkowych struktur, skoro możemy operować na trzech zmiennych. Sugerowanie pięciu zmiennych jest jeszcze bardziej nieefektywne, ponieważ nie wymaga to dodatkowych miejsc w pamięci, a wręcz komplikowałoby algorytm bez potrzeby. Kluczowym błędem jest założenie, że skomplikowanie algorytmu wiąże się z jego efektywnością. W praktyce, prostota algorytmów często przekłada się na ich wydajność w rzeczywistych zastosowaniach. Użycie zbyt wielu zmiennych lub pętli może prowadzić do zwiększenia złożoności kodu, co obniża jego czytelność i utrudnia przyszłe utrzymanie. W kontekście dobrych praktyk programistycznych, należy zawsze dążyć do jak najprostszych rozwiązań, które wykonują zdefiniowane zadanie efektywnie, co w tym przypadku osiągamy za pomocą dwóch warunków.

Pytanie 10

W PHP użyto funkcji is_float(). Które z wymienionych wywołań tej funkcji zwróci wartość true?

A. is_float(334)
B. is_float('3,34')
C. is_float(3.34)
D. is_float(NULL)
Funkcja is_float() w języku PHP jest używana do sprawdzania, czy dany argument jest typu float. W przypadku wywołania is_float(3.34), wartość 3.34 jest literalnym zapisem liczby zmiennoprzecinkowej, co oznacza, że jest to poprawny typ danych. W praktycznych zastosowaniach, weryfikacja typu zmiennej jest istotna, szczególnie przy pracy z danymi, gdzie precyzyjne typowanie jest kluczowe, na przykład w obliczeniach finansowych. Gdy pracujemy z danymi z formularzy, często musimy upewnić się, że wartości są odpowiednich typów, aby uniknąć błędów w obliczeniach. Warto również zauważyć, że PHP automatycznie konwertuje typy danych, ale zawsze lepiej jest explicite kontrolować typy, zwłaszcza w bardziej złożonych aplikacjach. Standardem dobrych praktyk jest stosowanie is_float() w sytuacjach, gdzie ważne jest potwierdzenie, że zmienna jest typu float przed jej użyciem w kontekście wymagającym tego typu, co zwiększa czytelność i stabilność kodu.

Pytanie 11

Która operacja nie wpłynie na wielkość zajmowanej pamięci przez plik graficzny?

A. Modyfikacja rozdzielczości obrazu
B. Interpolacja
C. Kompresja
D. Zmiana rozmiaru obrazu z użyciem atrybutów HTML
Skalowanie obrazu za pomocą atrybutów HTML jest prawidłową odpowiedzią, ponieważ ta operacja nie modyfikuje samego pliku graficznego, a jedynie zmienia sposób, w jaki obraz jest wyświetlany na stronie internetowej. Przykładowo, użycie atrybutów 'width' i 'height' w tagu <img> pozwala na dostosowanie rozmiarów obrazu w kontekście przeglądarki, nie ingerując w jego zawartość ani nie zmieniając rozdzielczości. W praktyce oznacza to, że oryginalny plik graficzny pozostaje niezmieniony, co jest zgodne z dobrymi praktykami w zakresie optymalizacji wydajności stron. Zmiana rozmiaru na poziomie HTML jest często stosowana, aby zapewnić elastyczność w projektowaniu responsywnych stron internetowych, gdzie obrazy muszą dostosowywać się do różnych rozmiarów ekranów bez potrzeby ich fizycznej edycji. Warto jednak pamiętać, że nadmierne skalowanie może prowadzić do pogorszenia jakości widocznej na ekranie, ale nie wpływa na wagę pliku. Istotnym aspektem jest również, że takie podejście wspiera standardy dostępności, umożliwiając lepsze dostosowanie treści wizualnych dla osób z różnymi potrzebami.

Pytanie 12

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

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

Pytanie 13

Jak w języku PHP można przypisać wartość 4 do zmiennej sesyjnej o nazwie wyborID?

A. session.wyborID = 4;
B. $_SESSION[4] = wyborID;
C. $_SESSION["wyborID"] = 4;
D. session.wyborID = {4};
Wszystkie niepoprawne odpowiedzi wykazują fundamentalne błędy związane z zarządzaniem sesjami w PHP. W pierwszym przypadku, session.wyborID = {4}; użycie notacji z kropką jest nieodpowiednie, ponieważ w PHP nie istnieje coś takiego jak obiekt session. Zamiast tego, sesje są zarządzane przez superglobalną tablicę $_SESSION, co oznacza, że każda zmienna sesji musi być przypisana w kontekście tej tablicy. Kolejna odpowiedź, session.wyborID = 4;, ponownie nieodpowiednio korzysta z notacji obiektowej, co prowadzi do błędu wykonania, ponieważ PHP nie rozumie, że session to tablica. Ostatnia odpowiedź, $_SESSION[4] = wyborID;, wykorzystuje nieprawidłowy klucz, ponieważ klucz powinien być ciągiem znaków, a nie liczbą. Dodatkowo, nie zdefiniowano wcześniej zmiennej 'wyborID', co prowadzi do nieosiągalnego odniesienia. Takie błędy myślowe mogą wynikać z niepełnego zrozumienia struktury tablic w PHP oraz różnicy między zmiennymi lokalnymi a superglobalnymi. Zrozumienie, że sesje w PHP są przechowywane jako tablica asocjacyjna, jest kluczowe dla ich wykorzystania i unikania takich pomyłek.

Pytanie 14

Kwerenda

ALTER TABLE artykuly MODIFY cena float;
ma na celu dokonanie zmian w tabeli artykuly.
A. zmienić typ kolumny cena na float
B. zmienić nazwę kolumny cena na float
C. usunąć kolumnę o nazwie cena typu float
D. dodać kolumnę o nazwie cena z typem float, jeżeli jeszcze nie istnieje
Twoja odpowiedź na temat usunięcia lub zmiany kolumny nie jest najlepsza w tym kontekście. Jeśli usuniemy kolumnę cena, to stracimy wszystkie dane, które tam były – a to na pewno by zaszkodziło, zwłaszcza gdy mówimy o cenach. Takie operacje robi się tylko wtedy, gdy dany atrybut jest naprawdę niepotrzebny albo był źle wprowadzony. Dodanie kolumny cena, o ile nie istnieje, wydaje się zmieniać strukturę danych, ale jeżeli już jest, to nie ma sensu. Taki ruch mógłby prowadzić do zduplikowania danych, co stoi w sprzeczności z zasadami normalizacji. A zmiana nazwy kolumny z cena na float to już w ogóle nieporozumienie, bo float to typ danych, a nie nazwa, więc wprowadziłoby to zamieszanie. Wszystkie te błędy wynikają z braku zrozumienia, jak działa struktura tabel w bazach danych. Zrozumienie tego jest kluczowe, zanim podejmiesz jakiekolwiek kroki, żeby coś zmieniać.

Pytanie 15

W relacyjnych systemach baz danych, gdy dwie tabele są powiązane przez ich klucze główne, mamy do czynienia z relacją

A. 1..n
B. 1..1
C. n..n
D. n..1
W relacyjnych bazach danych, relacja 1..1 oznacza, że każdemu rekordowi w pierwszej tabeli odpowiada dokładnie jeden rekord w drugiej tabeli, a odwrotnie. Gdy tabele są połączone kluczem głównym, zapewnia to unikalność powiązań między nimi. Przykładami takich relacji mogą być tabele 'Pracownicy' i 'Konta', gdzie każdy pracownik ma jedno konto, a każde konto należy do jednego pracownika. Relacja 1..1 jest typowa w sytuacjach, gdy jedna tabela zawiera szczegółowe informacje o obiektach reprezentowanych w drugiej tabeli. Z perspektywy projektowania baz danych, stosowanie relacji 1..1 pomaga w minimalizowaniu redundancji danych oraz zwiększa spójność informacji. Praktyczne podejście do projektowania bazy danych sugeruje, aby relacje 1..1 były wykorzystywane tam, gdzie konieczne jest zapewnienie jednoznacznego powiązania danych, co wspiera integralność danych zgodnie z normami ACID (Atomicity, Consistency, Isolation, Durability).

Pytanie 16

Jakie typy danych w C++ są używane do reprezentacji liczb rzeczywistych?

A. double oraz short
B. float oraz double
C. double oraz bool
D. float oraz long
Odpowiedź 'float i double' jest prawidłowa, ponieważ te dwa typy danych w języku C++ są przeznaczone do reprezentowania liczb rzeczywistych. Typ 'float' zajmuje 4 bajty pamięci i służy do przechowywania liczb zmiennoprzecinkowych o pojedynczej precyzji, co oznacza, że może reprezentować liczby z ograniczoną dokładnością. Typ 'double', z kolei, zajmuje 8 bajtów pamięci i pozwala na przechowywanie liczb zmiennoprzecinkowych o podwójnej precyzji. Dzięki temu 'double' umożliwia reprezentację znacznie większych i bardziej precyzyjnych wartości. W praktyce, typ 'float' jest często używany w sytuacjach, gdzie oszczędność pamięci jest kluczowa, na przykład w grafice komputerowej, natomiast 'double' jest preferowany w obliczeniach naukowych i inżynieryjnych, gdzie precyzja jest priorytetem. Dlatego zrozumienie różnicy między tymi typami danych oraz ich zastosowań jest niezbędne do efektywnego programowania w C++. Zgodnie z najlepszymi praktykami, programiści powinni dobierać typy danych odpowiednio do wymagań swojego projektu, zwracając uwagę na równowagę między precyzją a wydajnością.

Pytanie 17

Zamieszczono fragment kodu HTML, który nie przechodzi poprawnej walidacji. Błąd związany z walidacją tego fragmentu kodu dotyczy

A. powtórzenia nazwy pliku graficznego
B. niedomknięcia znacznika br
C. braku cudzysłowu
D. niedomknięcia znacznika img
Fragment kodu HTML zawiera istotny błąd, który polega na braku cudzysłowu w atrybucie 'src' znacznika 'img'. Poprawna składnia wymaga, aby wszystkie wartości atrybutów były otoczone cudzysłowami, zarówno pojedynczymi, jak i podwójnymi. W tym przypadku występuje problem w linii, gdzie atrybut 'src' ma przypisaną wartość '/obraz.gif', ale brakuje zamykającego cudzysłowu, co powoduje, że przeglądarka może niepoprawnie interpretować ten fragment kodu. Aby poprawić kod, należy dodać cudzysłów, co zapewni zgodność z normami HTML, takimi jak W3C. Przykładowo, poprawny zapis powinien wyglądać następująco: <img src="/obraz.gif" alt="Obrazek">. Walidacja kodu HTML jest kluczowa, ponieważ umożliwia uniknięcie problemów z wyświetlaniem strony oraz zapewnia lepszą dostępność treści dla użytkowników oraz robotów wyszukiwarek. Użycie odpowiednich znaczników oraz poprawna składnia sprzyja również lepszym wynikom SEO, co jest istotne w kontekście widoczności w Internecie.

Pytanie 18

Jakie ustawienia dotyczące czcionki będą miały zastosowanie w przypadku kodu CSS?

* {
    font-family: Tahoma;
    color: Teal;
}
A. znaczników z klasą przypisaną jako *.
B. znaczników o identyfikatorze równym *.
C. wszystkiego kodu HTML, niezależnie od kolejnych ustawień CSS.
D. wszystkiego kodu HTML, jako domyślne formatowanie dla wszystkich elementów strony.
Wybór opcji dotyczącej całego kodu HTML jako formatowania domyślnego dla wszystkich elementów strony jest poprawny, ponieważ użycie selektora uniwersalnego * w CSS oznacza, że wszystkie dostępne elementy na stronie będą dziedziczyć określone style. W tym przypadku, zarówno font-family ustawiony na Tahoma, jak i kolor tekstu zmieniony na Teal, będą dotyczyły każdego elementu HTML, bez względu na jego typ. To podejście jest zgodne z zasadami stosowania stylów kaskadowych, gdzie style są aplikowane do elementów w sposób hierarchiczny, a selektor uniwersalny jest najogólniejszym z dostępnych. Przykładem zastosowania może być sytuacja, gdy chcemy ustawić jednolite formatowanie dla całej strony, co upraszcza proces projektowania i zapewnia spójność wizualną. Dobrą praktyką jest jednak używanie selektora uniwersalnego z umiarem, aby uniknąć nadmiernego obciążenia wydajności, szczególnie w większych dokumentach, gdzie precyzyjniejsze selektory mogą przynieść lepsze rezultaty.

Pytanie 19

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

A. Przyznaje uprawnienia grupie klienci do tabeli pracownik
B. Odbiera wszystkie uprawnienia pracownikowi do tabeli klienci
C. Przyznaje wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik
D. Przenosi uprawnienia z grupy klienci na użytkownika pracownik
Odpowiedź jest poprawna, ponieważ polecenie GRANT ALL PRIVILEGES ON klienci TO pracownik w języku SQL rzeczywiście nadaje wszystkie dostępne uprawnienia do tabeli klienci użytkownikowi pracownik. To oznacza, że pracownik zyskuje możliwość wykonywania wszelkich operacji na tej tabeli, w tym SELECT, INSERT, UPDATE oraz DELETE. Przykład zastosowania tego polecenia jest istotny w kontekście zarządzania bazami danych, gdzie administratorzy muszą przyznawać różnorodne uprawnienia użytkownikom w zależności od ich roli. Przykładowo, jeśli pracownik jest odpowiedzialny za wprowadzanie i aktualizację danych klientów, to nadanie mu wszystkich uprawnień jest uzasadnione. Ważne jest, aby przyznawać uprawnienia zgodnie z zasadą najmniejszych uprawnień, co oznacza, że użytkownik powinien mieć tylko te uprawnienia, które są niezbędne do realizacji jego zadań. W praktyce, administrator baz danych powinien monitorować przyznane uprawnienia i regularnie je przeglądać, aby zapewnić bezpieczeństwo systemu. Koszty błędów w przyznawaniu uprawnień mogą być znaczne, w tym ryzyko nieautoryzowanego dostępu do danych, dlatego kluczowe jest stosowanie dobrych praktyk w zarządzaniu uprawnieniami.

Pytanie 20

W języku PHP symbol "//" oznacza

A. operator alernatywy
B. operator dzielenia całkowitego
C. początek skryptu
D. początek komentarza jednoliniowego
W PHP znak "//" oznacza początek komentarza jednoliniowego. Komentarze są niezwykle ważnym elementem kodu, ponieważ pozwalają programistom na dodawanie objaśnień i notatek, które nie są wykonywane przez interpreter. Dzięki temu kod staje się bardziej czytelny i łatwiejszy w utrzymaniu, zwłaszcza w projektach zespołowych czy przy dłuższych skryptach. Na przykład, można użyć komentarza, aby wyjaśnić, jak działa dana funkcjonalność lub dlaczego podjęto określoną decyzję projektową. Ponadto, stosowanie komentarzy zgodnie z dobrymi praktykami zwiększa jakość dokumentacji projektu oraz ułatwia przyszłym programistom (lub samemu autorowi) zrozumienie logiki kodu. Warto również zauważyć, że w PHP istnieją inne sposoby komentowania, takie jak "#" dla komentarzy jednoliniowych oraz "/* ... */" dla komentarzy wieloliniowych. Użycie komentarzy w kodzie źródłowym jest istotnym aspektem programowania, promującym najlepsze praktyki związane z czytelnością i zarządzaniem projektami.

Pytanie 21

Podczas tworzenia tabeli, do pola, które ma automatycznie przyjmować następne liczby całkowite, należy wprowadzić atrybut

A. PRIMARY KEY
B. NULL
C. AUTO_INCREMENT
D. NOT NULL
Właściwość AUTO_INCREMENT w bazach danych, takich jak MySQL, jest kluczowym elementem, który umożliwia automatyczne zwiększanie wartości liczbowej w polu, co jest szczególnie przydatne przy tworzeniu identyfikatorów dla rekordów. Gdy pole jest oznaczone jako AUTO_INCREMENT, każda nowa wartość wstawiana do tego pola jest automatycznie zwiększana o jeden w porównaniu do ostatniej wprowadzonej wartości. Na przykład, jeśli ostatni rekord miał identyfikator 5, to nowy rekord otrzyma identyfikator 6. Umożliwia to uniknięcie ręcznego zarządzania numeracją identyfikatorów i minimalizuje ryzyko ich powtórzenia, co jest kluczowe dla zachowania integralności danych. Praktycznie, stosowanie AUTO_INCREMENT w tabelach, które przechowują dane o użytkownikach, zamówieniach czy transakcjach, zapewnia wydajność oraz spójność w zarządzaniu unikalnymi identyfikatorami. Dobrą praktyką jest również łączenie AUTO_INCREMENT z PRIMARY KEY, aby zapewnić, że każdy rekord w tabeli jest unikalny i łatwy do identyfikacji.

Pytanie 22

Fragment kodu w języku HTML zawarty w ramce ilustruje zestawienie

Ilustracja do pytania
A. wypunktowaną.
B. odnośników.
C. skrótów.
D. numerowaną.
Kod HTML zawierający znaczniki <ol> oraz <li> tworzy listę numerowaną ponieważ <ol> oznacza ordered list czyli listę uporządkowaną co skutkuje automatycznym numerowaniem każdego elementu w przeglądarkach internetowych. Znaczniki <li> reprezentują pojedyncze elementy listy zapewniając organizację danych w czytelnej formie. Taki sposób przedstawiania informacji jest powszechnie stosowany w tworzeniu dokumentów HTML i stron internetowych gdzie hierarchia i kolejność elementów ma kluczowe znaczenie. Za pomocą CSS można dodatkowo dostosować styl numerowania oraz wizualne aspekty listy co pozwala na większą elastyczność w projektowaniu interfejsu użytkownika. Standardy internetowe takie jak te rekomendowane przez W3C zachęcają do stosowania semantycznych znaczników co poprawia dostępność i SEO strony. Ponadto listy numerowane są użyteczne w sytuacjach gdy wymagana jest jasna kolejność wykonywania zadań lub prezentacja kroków w procesie co czyni je idealnym narzędziem zarówno w dokumentacji technicznej jak i w interaktywnych przewodnikach online.

Pytanie 23

Aby zrealizować opisane czynności w JavaScript, konieczne jest umieszczenie poniższego kodu w znaczniku <script>

Ilustracja do pytania
A. A = alert("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 << prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: "+A)
Rozważając podane odpowiedzi warto zauważyć kilka typowych błędów koncepcyjnych związanych z używaniem funkcji w JavaScript. Po pierwsze, w jednej odpowiedzi użyto kropki zamiast operatora konkatenacji przy próbie łączenia łańcuchów znaków, co jest błędne w JavaScript. W tym języku operator + jest standardowym sposobem na łączenie tekstu z wartościami zmiennych. Użycie kropki w tym kontekście jest błędne, ponieważ odnosi się do operacji obiektowych, nie do konkatenacji łańcuchów. Innym błędem jest wykorzystanie operatora <<, który w rzeczywistości służy do przesunięć bitowych, a nie do przypisywania wartości czy wywoływania funkcji. Takie pomyłki mogą wynikać z niezrozumienia różnic między operacjami bitowymi a przypisaniem wartości. Kolejna opcja sugerowała użycie alert() zamiast prompt(), co oznaczałoby wyświetlenie jedynie komunikatu bez możliwości wprowadzenia danych przez użytkownika, co nie spełnia założeń zadania polegających na pobraniu wartości od użytkownika. Wszystkie te błędne odpowiedzi wynikają z nieznajomości lub niepoprawnego użycia podstawowych funkcji i operatorów języka JavaScript co podkreśla znaczenie dokładnego zrozumienia podstaw języka oraz ich praktycznego zastosowania. Poprawne użycie prompt() i document.write() jest kluczowe w implementacji interaktywnych elementów na stronach internetowych, co pozwala na dynamiczne przetwarzanie danych użytkowników w aplikacjach webowych. Dobrze jest stosować się do standardów i dobrych praktyk, aby unikać podobnych błędów w przyszłości oraz by tworzyć aplikacje, które są zarówno funkcjonalne, jak i bezpieczne.

Pytanie 24

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

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

Pytanie 25

W języku PHP zapis // służy do

A. zastosowania operatora dzielenia bez reszty
B. dodawania komentarza jednoliniowego
C. dodawania komentarza wieloliniowego
D. używania tablicy superglobalnej
Znak // w języku PHP jest używany do wstawiania komentarzy jednoliniowych. Oznacza to, że wszystko, co znajduje się po tym znaku na danej linii, zostanie zignorowane przez interpreter PHP. Komentarze są istotnym elementem programowania, ponieważ umożliwiają programistom dodawanie wyjaśnień i notatek do kodu, co znacznie ułatwia jego późniejsze zrozumienie i konserwację. Przykładowo, możesz użyć komentarza jednoliniowego, aby wyjaśnić określoną funkcjonalność w kodzie: // To jest funkcja obliczająca sumę. Warto również pamiętać, że stosowanie komentarzy jest standardową praktyką w branży, która zwiększa czytelność i jakość kodu. Dobrą praktyką jest stosowanie komentarzy, aby wyjaśniać bardziej złożone fragmenty kodu, co wpływa na łatwiejsze współdzielenie pracy w zespołach programistycznych, a także na przyszłe modyfikacje kodu przez innych programistów. Warto zaznaczyć, że PHP obsługuje także komentarze wieloliniowe, które zaczynają się od /* i kończą na */. Jednak dla prostych, jednozdaniowych notatek znak // jest najbardziej odpowiedni.

Pytanie 26

Zaprezentowano tabelę stworzoną przy użyciu kodu HTML, bez zastosowania stylów CSS. Która część kodu HTML odnosi się do pierwszego wiersza tabeli?

Ilustracja do pytania
A. Rys. D
B. Rys. A
C. Rys. C
D. Rys. B
Znaczniki HTML używane w konstrukcji tabel muszą być wybierane z uwzględnieniem ich przeznaczenia i semantycznego znaczenia. W przypadku budowy pierwszego wiersza tabeli, który pełni rolę nagłówka, kluczowe jest wykorzystanie odpowiednich znaczników, takich jak <th>. Wybór znaczników <td> w pierwszym wierszu, nawet jeśli zawierają one tekst pasujący do nagłówków, jest błędny, ponieważ <td> oznacza komórki danych, a nie nagłówki. Tego typu błędy mogą prowadzić do niejednoznacznej interpretacji struktury tabeli przez technologie wspomagające, jak czytniki ekranowe, co jest sprzeczne z wytycznymi dotyczącymi dostępności. Dodatkowo, korzystanie z tagów niewłaściwie zamieniających semantykę (np. <i> lub <center> wewnątrz <td>) nie tylko nie spełnia standardów estetycznych i funkcjonalnych, ale także zwiększa techniczne zadłużenie projektu. Brak poprawnego stosowania znaczników nagłówka (<th>) może utrudniać zrozumienie danych przez użytkowników oraz wpływać negatywnie na użyteczność strony. Poprawne zrozumienie i stosowanie semantycznych możliwości HTML jest fundamentem tworzenia dostępnych i efektywnych stron internetowych co ma kluczowe znaczenie w kontekście profesjonalnego podejścia do projektowania interfejsów użytkownika i architektury informacji na stronach internetowych.

Pytanie 27

Aby uruchomić skrypt JavaScript, potrzebne jest oprogramowanie

A. przeglądarki internetowej
B. serwera WWW
C. serwera MySQL
D. debuggera JavaScript
W kontekście uruchamiania skryptów JavaScript, odpowiedzi sugerujące potrzeby związane z debugerem JavaScript, serwerem WWW czy bazą danych MySQL są wynikiem nieporozumienia dotyczącego roli, jaką pełnią te technologie w ekosystemie webowym. Debuger JavaScript to narzędzie, które wspomaga programistów w identyfikowaniu błędów w kodzie, ale sam w sobie nie jest wymagany do uruchomienia skryptu. Można pisać i testować skrypty JavaScript bezpośrednio w przeglądarkach, które mają wbudowane funkcjonalności debugujące, co czyni ten element zbędnym na etapie uruchamiania. Serwer WWW jest potrzebny do hostowania stron internetowych i dostarczania ich do przeglądarek, ale nie jest konieczny, jeśli użytkownik testuje skrypty lokalnie. Na przykład, wiele deweloperów korzysta z lokalnych środowisk, aby uruchamiać skrypty JavaScript bez potrzeby wdrażania ich na serwerze. Z kolei serwer MySQL jest bazą danych, która nie ma żadnego związku z uruchamianiem kodu JavaScript; jej rola sprowadza się do przechowywania danych, które mogą być pobierane przez aplikacje webowe. To typowe pomylenie funkcji różnych komponentów technologicznych, które może prowadzić do mylnego przekonania o konieczności posiadania ich dla podstawowego działania skryptów JavaScript.

Pytanie 28

Jaką wiadomość należy umieścić w przedstawionym fragmencie kodu PHP zamiast znaków zapytania? $a=mysql_connect('localhost','adam','mojeHasło'); if(!$a) echo "?????????????????????????";

A. Rekord został pomyślnie dodany do bazy
B. Wybrana baza danych nie istnieje
C. Błąd połączenia z serwerem SQL
D. Błąd w przetwarzaniu zapytania SQL
Wybranie innej opcji niż 'Błąd połączenia z serwerem SQL' jest mylne, ponieważ każda z tych odpowiedzi nie odnosi się do kontekstu błędu połączenia z bazą danych. Stwierdzenie 'Wybrana baza nie istnieje' sugeruje, że połączenie z serwerem SQL zostało nawiązane, ale nie udało się znaleźć konkretnej bazy danych. W rzeczywistości jednak błąd przy próbie połączenia z serwerem SQL jest czymś innym, ponieważ w momencie, gdy połączenie się nie udaje, nie można jeszcze mówić o istnieniu czy nieistnieniu bazy. Kolejna opcja, 'Pomyślnie dodano rekord do bazy', jest oczywiście błędna, ponieważ w przypadku braku połączenia nie ma możliwości dodania jakiegokolwiek rekordu. Ta odpowiedź myli koncepcję pomyślnego wykonania operacji z brakiem połączenia z bazą danych. Ostatecznie, 'Błąd przetwarzania zapytania SQL' również jest niepoprawny w tym kontekście, ponieważ odnosi się do sytuacji, w której połączenie z bazą danych zostało nawiązane, ale zapytanie SQL nie mogło zostać przetworzone z powodu błędów składniowych, braku uprawnień lub innych problemów. Jednak w przypadku problemu z połączeniem nie dochodzi nawet do etapu przetwarzania zapytania, co czyni tę odpowiedź nieadekwatną.

Pytanie 29

Aby osiągnąć pokazany rezultat w programie graficznym wykorzystano

Ilustracja do pytania
A. kanał alpha
B. gradient liniowy
C. zmianę intensywności kolorów
D. gradient okrągły
Gradient liniowy to narzędzie stosowane w edytorach grafiki rastrowej do tworzenia płynnych przejść pomiędzy dwoma lub więcej kolorami w zadanym kierunku najczęściej poziomym lub pionowym. W praktyce gradient liniowy jest kluczowy w projektowaniu graficznym ponieważ pozwala na subtelne cieniowanie i nadawanie głębi elementom wizualnym. Przykładowo stosuje się go w tworzeniu tła logotypów czy też przycisków interfejsów użytkownika. Proces tworzenia gradientu liniowego opiera się na ustawieniu punktów początkowych i końcowych oraz przypisaniu im odpowiednich wartości kolorystycznych co podkreśla jego wszechstronność. Standardowym podejściem jest użycie gradientu liniowego w celu uzyskania efektu trójwymiarowości co jest zgodne z dobrymi praktykami projektowania UX i UI. W kontekście branżowym gradienty liniowe są nieodłącznym elementem narzędzi takich jak Adobe Photoshop czy GIMP gdzie umożliwiają manipulację barwą i luminancją co jest kluczowe w profesjonalnym edytowaniu obrazów.

Pytanie 30

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

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

Pytanie 31

W sekcji nagłówka dokumentu HTML umieszczono ```Strona miłośników psów``` Zawarty tekst będzie widoczny

A. w treści witryny, na banerze witryny
B. w polu adresowym, za wprowadzonym adresem URL
C. na pasku tytułu w przeglądarce
D. w treści witryny, w pierwszym ukazanym nagłówku
Odpowiedź jest poprawna, ponieważ zawartość tagu <title> w kodzie HTML określa tytuł dokumentu, który jest wyświetlany na pasku tytułu przeglądarki. Tytuł ten jest kluczowym elementem SEO, ponieważ wpływa na sposób, w jaki użytkownicy postrzegają stronę w wynikach wyszukiwania. W praktyce, dobrze dobrany tytuł zwiększa szansę na kliknięcia i poprawia widoczność strony w internecie. Warto pamiętać, że tytuł powinien być krótki, zwięzły i zawierać najważniejsze słowa kluczowe, aby skutecznie komunikować, o czym jest strona. Dobre praktyki zalecają, aby długość tytułu nie przekraczała 60 znaków, aby uniknąć jego obcięcia w wynikach wyszukiwania. Dodatkowo, tytuł powinien być unikalny dla każdej podstrony, co ułatwia użytkownikom i wyszukiwarkom zrozumienie zawartości witryny.

Pytanie 32

Jakie są właściwe etapy tworzenia bazy danych?

A. Zdefiniowanie celu, utworzenie relacji, stworzenie tabel, normalizacja
B. Zdefiniowanie celu, stworzenie tabel, utworzenie relacji, normalizacja
C. Zdefiniowanie celu, normalizacja, utworzenie relacji, stworzenie tabel
D. Zdefiniowanie celu, normalizacja, stworzenie tabel, utworzenie relacji
Wybór nieprawidłowej kolejności procesów w tworzeniu bazy danych może prowadzić do poważnych problemów z integralnością oraz wydajnością systemu. W pierwszym przypadku, w którym normalizację wprowadzono przed utworzeniem relacji, brak byłby zrozumienia, jakie dane w ogóle należy normalizować, co mogłoby skutkować nieefektywnym modelowaniem danych. Proces normalizacji powinien odbywać się po zdefiniowaniu tabel oraz relacji, ponieważ to one stanowią bazę do analizy nadmiarowości. W innym scenariuszu, gdzie tabele zostałyby stworzone przed ustaleniem relacji, mogłoby to prowadzić do niezgodności danych, ponieważ relacje definiują, jak poszczególne tabele współdziałają. Bez zrozumienia tych zależności, konstrukcja tabel może być chaotyczna i trudna do zarządzania. Ostatni przypadek, w który normalizacja poprzedza tworzenie tabel, jest również błędny, ponieważ nie można normalizować danych, które nie zostały jeszcze zdefiniowane. Normalizacja wymaga pełnej wiedzy na temat struktury danych, co czyni ten krok niemożliwym do wykonania bez wcześniejszego określenia tabel. Te błędy w kolejności działań mogą prowadzić do wielu problemów w przyszłości, takich jak trudności w zapytaniach do bazy danych, nieefektywności w przechowywaniu danych oraz trudności z zachowaniem integralności referencyjnej.

Pytanie 33

Jaki jest cel funkcji napisanej w PHP?

function fun1($liczba)
{
  if($liczba % 2 == 0)
    return 1;

  return 0;
}
A. Wypisanie liczby nieparzystej
B. Wypisanie liczby parzystej
C. Zwrócenie wartości 1, gdy liczba jest parzysta
D. Zwrócenie wartości 0, gdy liczba jest parzysta
Analizując błędne odpowiedzi, należy skupić się na różnicy między funkcją zwracającą wartość a funkcją wypisującą wynik. Wypisanie liczby parzystej sugerowałoby użycie funkcji echo lub print, co w kodzie nie występuje. Funkcja zwraca wartość za pomocą instrukcji return, co jest istotnym rozróżnieniem w kontekście projektowania funkcji. Wypisanie liczby nieparzystej również nie jest zgodne z treścią funkcji, ponieważ nie ma instrukcji ani warunku, który wskazywałby na takie działanie. Funkcja została zaprojektowana do zwracania wartości logicznej (w tym przypadku liczbowej 1 lub 0), które w dalszej części programu mogą być używane do podejmowania decyzji. Typowym błędem jest niezrozumienie różnicy między wypisywaniem a zwracaniem wartości oraz błędna interpretacja operatora modulo, który w tym przypadku jest kluczowy do zrozumienia działania funkcji. Brakującym elementem w niepoprawnych odpowiedziach jest również właściwe odczytanie instrukcji return i jej wpływu na przepływ sterowania w programie, co często prowadzi do nieporozumień w analizie kodu.

Pytanie 34

Dany jest fragment kodu PHP z zadeklarowaną zmienną typu tablicowego W wyniku wykonania kodu zostanie wypisane imię

$imiona = array('Anna', 'Tomasz', 'Krzysztof', 'Aleksandra');
echo $imiona[2];
A. Aleksandra
B. Tomasz
C. Anna
D. Krzysztof
Brawo! Twoja odpowiedź jest poprawna. Zrozumienie jak funkcje w języku PHP przetwarzają i manipulują danymi, szczególnie w kontekście tablic, jest absolutnie kluczowe. W podanym fragmencie kodu PHP, funkcja 'echo' jest użyta do wypisania elementu tablicy '$imiona' o indeksie [2]. Elementem tym jest 'Krzysztof', co jest poprawnym rozwiązaniem. PHP, jako język programowania obsługujący tablice indeksowane i asocjacyjne, pozwala na wybieranie konkretnych elementów tablicy poprzez podanie indeksu w kwadratowych nawiasach po nazwie tablicy. Jest to standardowa i często wykorzystywana praktyka w programowaniu, która umożliwia efektywne zarządzanie danymi. Dzięki temu, możemy manipulować danymi z różnych segmentów kodu, co daje nam większą elastyczność i kontrolę nad programem.

Pytanie 35

Ile razy zostanie wykonana poniższa pętla w PHP?

for($i = 0; $i < 25; $i += 5) { ... }
A. 0
B. 25
C. 26
D. 5
Pętla for w PHP jest jednym z fundamentalnych narzędzi kontrolnych używanych do wykonywania powtarzających się zadań. W przedstawionym przykładzie pętli mamy następującą składnię: for($i = 0; $i < 25; $i += 5). Pętla rozpoczyna się od wartości początkowej zmiennej $i równej 0, a warunek kontynuacji pętli określa, że $i musi być mniejsze niż 25. W każdym przebiegu pętli zmienna $i zwiększa się o 5. Dzięki tej konstrukcji pętla wykona się dla wartości $i wynoszących kolejno 0, 5, 10, 15 i 20, co oznacza, że pętla zostanie wykonana dokładnie 5 razy. Takie konstrukcje są powszechnie stosowane w programowaniu do iteracyjnego przetwarzania danych, takich jak iterowanie przez tablice lub generowanie ciągów. Warto zwrócić uwagę na dobre praktyki programistyczne, które nakazują klarowność i czytelność kodu, dzięki czemu inni programiści mogą go łatwo zrozumieć i utrzymywać. Projektowanie pętli z precyzyjnie zdefiniowanymi warunkami początkowymi i końcowymi jest kluczowe dla unikania błędów logicznych, takich jak nieskończone pętle lub błędne iteracje. Użycie odpowiednich inkrementacji, jak w tym przypadku $i += 5, pozwala na kontrolowanie tempa i liczby iteracji zgodnie z zamierzonymi celami algorytmu.

Pytanie 36

Wartość kolumny w tabeli, która działa jako klucz podstawowy

A. jest wykorzystywana do szyfrowania treści tabeli
B. jest zawsze w formacie numerycznym
C. musi być unikalna
D. może mieć wartość pustą (NULL)
Wartość pola tabeli pełniącego rolę klucza podstawowego musi być unikalna, ponieważ klucz podstawowy identyfikuje jednoznacznie każdy rekord w tabeli bazy danych. To oznacza, że żadna z wartości w tym polu nie może się powtarzać, co zapewnia integralność danych. Przykładem zastosowania klucza podstawowego jest identyfikator użytkownika (UserID) w tabeli z danymi użytkowników; każdy użytkownik ma przypisany unikalny identyfikator, co umożliwia jednoznaczną identyfikację jego danych. Standardy relacyjnych baz danych, takie jak SQL, nakładają te wymagania na klucze podstawowe, co jest kluczowe dla prawidłowego działania relacji między tabelami. Dobre praktyki w projektowaniu baz danych sugerują, aby klucze podstawowe były nie tylko unikalne, ale także stabilne (czyli nie zmieniały się w czasie), co ułatwia zarządzanie danymi i ich integrację w systemie. W przypadku naruszenia zasady unikalności klucza podstawowego mogą wystąpić problemy z integralnością referencyjną, co sprawia, że niemożliwe staje się prawidłowe powiązanie rekordów w różnych tabelach.

Pytanie 37

DOM oferuje metody oraz właściwości, które w języku JavaScript umożliwiają

A. pobieranie i zmianę elementów strony, która jest wyświetlana przez przeglądarkę
B. przesyłanie danych formularzy bezpośrednio do bazy danych
C. manipulację łańcuchami zdefiniowanymi w kodzie
D. przeprowadzanie operacji na zmiennych zawierających liczby
Dobra robota! Odpowiedź jest poprawna, bo to właśnie DOM, czyli Document Object Model, pozwala programistom na zmianę struktury i stylu dokumentów HTML i XML. Dzięki DOM w JavaScript można na bieżąco zmieniać treść i układ strony bez konieczności jej przeładowania. Weźmy na przykład taki przypadek: chcemy zmienić tekst w elemencie <h1>. Robimy to, wybierając ten element metodą `document.getElementById()` i przypisując nową wartość do `innerHTML`. Standardy W3C mówią, jak to wszystko ma działać, dzięki czemu DOM jest uznawany w branży. Umiejętność manipulacji DOM jest mega ważna przy tworzeniu interaktywnych aplikacji webowych, jak różne formularze, które pozwalają użytkownikom dodawać i edytować dane. Dobrze wykorzystany DOM sprawia, że aplikacje są szybsze i bardziej responsywne, co jest kluczowe w nowoczesnym programowaniu front-end.

Pytanie 38

Jakim sposobem można w języku PHP dokumentować blok komentarza składający się z wielu linii?

A. /* */
B. #
C. <!-- -->
D. //
Komentarze w języku PHP mogą być tworzone na kilka sposobów, jednak jedynie sposób wykorzystujący /* */ pozwala na zapis bloku komentarza rozciągającego się na wiele linii. Jest to szczególnie użyteczne w sytuacjach, gdy programista chce umieścić obszerniejsze wyjaśnienia dotyczące kodu, które nie ograniczają się do jednej linii. Przykładem zastosowania może być opis skomplikowanej funkcji lub sekcji kodu, gdzie istotne jest podanie kontekstu lub dodatkowych informacji. Na przykład: /* * Funkcja obliczająca sumę dwóch liczb. * Przyjmuje dwa argumenty: a oraz b. */ function suma($a, $b) { return $a + $b; } Stosowanie bloku komentarza zgodnie z tym stylem jest zgodne z najlepszymi praktykami programowania, gdyż poprawia czytelność kodu oraz ułatwia jego późniejsze utrzymanie. Z punktu widzenia standardów kodowania, szczególnie w większych projektach, dobrze opisane fragmenty kodu mogą zminimalizować ryzyko błędów oraz ułatwić pracę zespołową.

Pytanie 39

W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. W nadchodzącym roku postanowiono zwiększyć wynagrodzenie wszystkim pracownikom o 100 zł. Zmiana ta w bazie danych będzie miała formę

A. UPDATE pensja SET +100;
B. UPDATE pensja SET 100;
C. UPDATE pracownicy SET pensja = pensja +100;
D. UPDATE pracownicy SET pensja = 100;
Pierwsza z niepoprawnych odpowiedzi nie jest właściwa, ponieważ instrukcja 'UPDATE pracownicy SET pensja = 100;' całkowicie nadpisuje dotychczasowe wartości pensji wszystkich pracowników, ustawiając je na stałą kwotę 100 zł. Takie podejście prowadziłoby do utraty dotychczasowych danych o wynagrodzeniach, co jest niezgodne z zamierzonym celem podwyżki. Kolejna błędna odpowiedź, 'UPDATE pensja SET +100;', jest syntaktycznie niepoprawna. W SQL nie możemy aktualizować wartości bez określenia, która tabela ma zostać zmodyfikowana. 'pensja' nie jest nazwą tabeli, więc system baz danych zgłosi błąd. Dodatkowo, brak odniesienia do bieżącej wartości pensji sprawia, że instrukcja nie wykonuje zamierzonej operacji. Ostatnia z nieprawidłowych odpowiedzi, 'UPDATE pensja SET 100;', również jest błędna, ponieważ nie definiuje, jaką wartość ma przyjąć pensja. Brakuje operatora i konkretnej kolumny, co skutkuje błędną składnią. W SQL każda aktualizacja musi być precyzyjna i jasno określać, które kolumny i tabele są modyfikowane, aby uniknąć błędów i osiągnąć zamierzony rezultat.

Pytanie 40

W języku PHP, aby nawiązać połączenie z bazą danych MySQL za pomocą biblioteki mysqli, wykorzystując podany kod, w miejscu parametru 'c' powinno się wpisać

$a = new mysqli('b', 'c', 'd', 'e')
A. hasło użytkownika
B. lokalizację serwera bazy danych
C. nazwę bazy danych
D. nazwę użytkownika
W języku PHP funkcja mysqli_connec lub konstruktor klasy mysqli służy do tworzenia połączeń z bazą danych MySQL. Ta funkcja wymaga podania kilku parametrów w określonej kolejności. Pierwszym parametrem jest lokalizacja serwera bazy danych zazwyczaj 'localhost' dla lokalnych serwerów. Drugim parametrem jest nazwa użytkownika. Jest to kluczowy element ponieważ pozwala na autoryzację i określa jakie operacje użytkownik może wykonywać na danej bazie danych. Zazwyczaj nazwa użytkownika to 'root' dla serwerów lokalnych ale na serwerach produkcyjnych często stosuje się inne konto użytkownika ze względów bezpieczeństwa. Trzecim parametrem jest hasło odpowiadające podanemu użytkownikowi zapewniające dodatkowy poziom bezpieczeństwa. Czwartym parametrem jest nazwa bazy danych do której użytkownik chce się połączyć. Dobrą praktyką jest korzystanie z plików konfiguracyjnych do przechowywania tych danych aby łatwo można było zarządzać różnymi środowiskami np. deweloperskim testowym i produkcyjnym bez konieczności modyfikacji kodu źródłowego. Prawidłowe zrozumienie tego mechanizmu jest kluczowe dla tworzenia bezpiecznych i stabilnych aplikacji webowych.