Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Rozpoczęcie: 19 sierpnia 2026 12:36
Zakończenie: 19 sierpnia 2026 13:00
Egzamin zdany!
Wynik: 21/40 punktów (52,5%)
Wymagane minimum: 20 punktów (50%)
Twój wynik na tle innych
Twój wynik jest lepszy niż 31% podejść do kwalifikacji INF.03.
Porównanie z 39512 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).
Poprzednio 62,5%, teraz 52,5% (-10,0 p.p.).
Zachowaj ten wynik na koncie
Załóż darmowe konto albo zaloguj się - ten egzamin przypiszemy do Twojego konta, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.
Jak w języku strukturalnym przechować dane 50 uczniów (imię, nazwisko, średnia)?
A. struktury 50 elementów o składowych tablicowych
B. tablicy 50 elementów o składowych łańcuchowych
C. klasy 50 elementów typu tablicowego
D. tablicy 50 elementów o składowych strukturalnych
Pozostałe odpowiedzi nie pasują. Tablica o składowych łańcuchowych pomieściłaby jedną wartość tekstową na ucznia, a nie trzy różne pola. „Struktura 50 elementów o składowych tablicowych” odwraca role struktury i tablicy. Klasa należy do programowania OBIEKTOWEGO, a pytanie dotyczy strukturalnego. Właściwa jest tablica 50 struktur.
Pytanie 2
Przedstawione zapytanie MySQL ma za zadanie
ALTER TABLEksiazkiMODIFYtytulVARCHAR(100)NOT NULL;
A. zmienić typ kolumny tytul w tabeli ksiazki.
B. dodać do tabeli ksiazki kolumnę tytul.
C. zmienić nazwę kolumny w tabeli ksiazki.
D. usunąć kolumnę tytul z tabeli ksiazki.
Twoja odpowiedź dobrze odczytuje składnię polecenia ALTER TABLE w MySQL. Instrukcja: ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL; służy do zmiany definicji już istniejącej kolumny tytul w tabeli ksiazki. Słowo kluczowe MODIFY w MySQL oznacza właśnie modyfikację typu danych i atrybutów kolumny, bez zmiany jej nazwy. W tym przykładzie kolumna tytul zostaje ustawiona jako typ VARCHAR o długości 100 znaków oraz z ograniczeniem NOT NULL, czyli pole nie może przyjmować wartości pustej. Moim zdaniem to jedno z częstszych poleceń przy rozwijaniu aplikacji, bo schemat bazy prawie nigdy nie jest idealny od początku. W praktyce takie polecenie stosuje się np. gdy początkowo założyliśmy zbyt krótki tytuł, np. VARCHAR(50), i po czasie okazuje się, że część danych się nie mieści. Zamiast tworzyć nową kolumnę, zmieniamy typ i parametry istniejącej. Dobra praktyka przy pracy z ALTER TABLE to zawsze sprawdzić, czy modyfikacja nie spowoduje utraty danych, np. przy skracaniu długości VARCHAR. W środowiskach produkcyjnych często robi się to najpierw na kopii bazy lub w środowisku testowym, bo zmiany w strukturze tabel potrafią blokować tabelę i wpływać na wydajność. Warto też wiedzieć, że w MySQL do zmiany nazwy kolumny używa się ALTER TABLE ... CHANGE stara_nazwa nowa_nazwa typ, a do dodania nowej kolumny słowa kluczowego ADD. Dzięki rozróżnieniu MODIFY/CHANGE/ADD/ DROP łatwiej czyta się skrypty migracyjne i utrzymuje spójny model danych. Dobrą praktyką jest też trzymanie wszystkich takich zmian w repozytorium razem z kodem aplikacji, żeby zawsze było wiadomo, jaka wersja schematu jest aktualna.
Pytanie 3
Wykonano następującą kwerendę na tabeli Pracownicy:
Na tabeli Pracownicy, której wiersze zostały pokazane na obrazie, wykonano przedstawioną kwerendę SELECT. Które dane zostaną wybrane?
id
imie
nazwisko
stanowisko
1
Anna
Kowalska
1
2
Monika
Nowak
2
3
Ewelina
Nowakowska
2
4
Anna
Przybylska
3
5
Maria
Kowal
3
6
Ewa
Nowacka
4
A. Anna, Maria, Ewa.
B. Monika, Ewelina, Maria.
C. Tylko Anna.
D. Tylko Maria.
Niestety, wybrane odpowiedzi są nieprawidłowe. Wydaje się, że mogło dojść do nieporozumienia odnośnie działania kwerendy SQL. Kwerenda 'SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;' zwraca imiona pracowników, którzy mają nazwisko 'Kowal' lub zajmują stanowisko o numerze większym niż 2. W kontekście przedstawionej tabeli, zwróciłaby imiona 'Anna, Maria, Ewa'. Błędne odpowiedzi sugerują, że nie zostało to w pełni zrozumiane. Na przykład, odpowiedź 'Tylko Maria' sugeruje, że nie zrozumiano, że warunek 'stanowisko > 2' również ma wpływ na wynik zapytania. Podobnie, odpowiedzi zawierające imiona pracowników, którzy nie spełniają żadnego z warunków, są nieprawidłowe. Pamiętaj, że SQL to potężne narzędzie do manipulowania danymi i zrozumienie, jak formułować skomplikowane zapytania, jest kluczem do efektywnego zarządzania bazami danych. Zachęcam do dalszej praktyki i eksperymentowania z różnymi zapytaniami, aby lepiej zrozumieć, jakie dane zostaną zwrócone.
Pytanie 4
Aby zmienić strukturę tabeli w bazie danych MySQL, należy użyć komendy
A. ALTER TABLE
B. GRANT
C. INSERT INTO
D. UPDATE
Odpowiedź 'ALTER TABLE' jest poprawna, gdyż to polecenie w MySQL służy do modyfikacji struktury istniejącej tabeli. Dzięki niemu możemy dodawać nowe kolumny, zmieniać typy danych kolumn, usuwać kolumny, a także zmieniać właściwości tabeli, takie jak klucze główne czy unikalne. Przykład zastosowania polecenia ALTER TABLE to dodanie kolumny do tabeli: 'ALTER TABLE pracownicy ADD COLUMN wiek INT;' co skutkuje dodaniem kolumny 'wiek' o typie INT do tabeli 'pracownicy'. Zgodnie z najlepszymi praktykami, przed wykonaniem takich operacji warto wykonać kopię zapasową bazy danych, aby uniknąć utraty danych w przypadku nieprawidłowego wykonania polecenia. Używanie ALTER TABLE jest kluczowe podczas rozwoju aplikacji, gdyż często zachodzi potrzeba dostosowania struktury bazy danych do zmieniających się wymagań biznesowych.
Pytanie 5
W tabeli artykuly (kolumna cena) chcemy wybrać artykuły, których cena NIE mieści się w przedziale od 1000 do 1500 zł. Którego warunku WHERE należy użyć?
A.
cenaBETWEEN1000AND1500
B.
cena<1000ANDcena>1500
C.
cenaNOTBETWEEN1000AND1500
D.
cenaNOTIN(1000,1500)
Pozostałe warunki nie zwrócą wartości spoza przedziału. BETWEEN1000AND1500 robi dokładnie odwrotność - wybiera ceny W zakresie. Zapis cena<1000ANDcena>1500 jest sprzeczny: użyto AND, a żadna liczba nie jest naraz mniejsza od 1000 i większa od 1500 (poprawny byłby OR). NOTIN(1000,1500) wyklucza jedynie dwie konkretne wartości, a nie cały przedział pomiędzy nimi. Wartości spoza zakresu daje NOTBETWEEN1000AND1500, dlatego to ono jest poprawne.
Pytanie 6
Po wykonaniu poniższego fragmentu kodu w języku C/C++, zmiennej o nazwie zmienna2 przypisany zostanie
intzmienna1=158;int*zmienna2= &zmienna1;
A. wartość przechowywana w zmienna1 zostanie przypisana jako zamieniona na łańcuch
B. ta sama wartość, którą zawiera zmienna1, zostanie przypisana
C. adres zmiennej o nazwie zmienna1 zostanie przypisany
D. liczba w kodzie binarnym, która odpowiada wartości przechowywanej w zmienna1, zostanie przypisana
Odpowiedzi sugerujące przypisanie wartości lub konwersję na łańcuch są błędne, ponieważ mylą podstawowe pojęcia dotyczące wskaźników i zmiennych w C/C++. Przypisanie wartości do zmiennej wskaźnikowej nie odbywa się poprzez kopiowanie samej wartości przechowywanej w zmiennej, lecz przez odniesienie do jej adresu. Odpowiedź wskazująca na przypisanie tej samej wartości, co w zmienna1, nie uwzględnia faktu, że zmienna2 jest wskaźnikiem, a nie zmienną o tej samej wartości. W przypadku konwersji na łańcuch, proces ten również jest nieprawidłowy, ponieważ wskaźniki nie są interpretowane jako łańcuchy znaków, a ich użycie wymaga znajomości typów danych i konwersji w kontekście wskaźników. Ostatnia odpowiedź, mówiąca o przypisaniu liczby w kodzie binarnym, jest myląca, gdyż wskaźniki operują na adresach w pamięci, które nie są reprezentowane w sposób binarny w kontekście zmiennych. Wartości mogą być reprezentowane binarnie w pamięci, ale wskaźniki przechowują adresy, które z perspektywy programisty nie są bezpośrednio związane z wartościami binarnymi zmiennych. Prawidłowe zrozumienie wskaźników jest kluczowe dla unikania błędów w zarządzaniu pamięcią oraz w poprawnym stosowaniu struktur danych w języku C/C++.
Pytanie 7
charstr1[30]='Ala ma kota';printf("%s",str1);
Jakie jest źródło błędu w prezentowanym kodzie napisanym w języku C++?
A. W funkcji printf nie można używać formatowania %s.
B. Napis powinien być umieszczony w cudzysłowie.
C. Napis powinien mieć dokładnie 30 znaków.
D. Do funkcji printf przekazano za mało argumentów.
Stwierdzenie, że do funkcji printf przekazano zbyt mało argumentów, jest błędne, ponieważ printf w tym przypadku otrzymuje jeden argument, który jest zgodny z jego prototypem. Funkcja printf przyjmuje łańcuch formatowania jako pierwszy argument, a pozostałe argumenty, które mogą być przekazane, są opcjonalne. Ponadto, pomijanie argumentów nie skutkuje błędem w kontekście tej konkretnej funkcji. Kolejne twierdzenie, że napis powinien mieć dokładnie 30 znaków, jest również mylące. W praktyce, długość napisu nie musi odpowiadać rozmiarowi tablicy, pod warunkiem, że na końcu napisu znajduje się znak null, co jest automatycznie dołączane przez kompilator przy użyciu cudzysłowów. Wreszcie, stwierdzenie, że w funkcji printf nie można stosować formatowania %s, jest fałszywe, ponieważ %s jest standardowym formatem używanym do wyświetlania łańcuchów znaków. Właściwe użycie formatów jest kluczowe w programowaniu w C/C++, a ich znajomość jest niezbędna do prawidłowego wyświetlania danych. Typowe błędy myślowe prowadzące do tych niepoprawnych wniosków obejmują nieznajomość podstaw języków C/C++ oraz niewłaściwe rozumienie zasad dotyczących łańcuchów i formatów w funkcjach wyjściowych.
Pytanie 8
W języku JavaScript zapisano fragment kodu. Po wykonaniu skryptu zmienna x
<script> var x = 10; x++; console.log(x); </script>
A. będzie równa 10 i zostanie wypisana w dokumencie HTML.
B. będzie równa 10 i zostanie wypisana w głównym oknie przeglądarki internetowej.
C. będzie równa 11 i zostanie wypisana w oknie popup.
D. będzie równa 11 i zostanie wypisana w konsoli przeglądarki internetowej.
Gratulacje, twoja odpowiedź jest poprawna! Odpowiedź 'będzie równa 11 i zostanie wypisana w konsoli przeglądarki internetowej' jest prawidłowa, ponieważ po zainicjalizowaniu zmiennej x wartością 10 następuje inkrementacja, która zwiększa wartość zmiennej o 1, dając w wyniku 11. Następnie wartość zmiennej x jest wypisywana w konsoli przeglądarki internetowej za pomocą metody console.log(). Jest to standardowa metoda w języku JavaScript do debugowania i śledzenia wartości zmiennych podczas wykonywania kodu. W praktyce, zrozumienie pracy z konsolą przeglądarki jest kluczowe dla efektywnego programowania JavaScript. To umiejętność, która pozwala na szybkie zlokalizowanie i rozwiązanie problemów z kodem. Dobrą praktyką jest również umiejętne korzystanie z operacji inkrementacji, które są podstawą sterowania przepływem i manipulowania danymi w JavaScript.
Pytanie 9
Jaką formę ma kolor przedstawiony w systemie szesnastkowym jako #11FE07 w formacie RGB?
A. rgb(17,254,7)
B. rgb(17,FE,7)
C. rgb(11,127,7)
D. rgb(17,255,7)
Kolor zapisany w postaci szesnastkowej #11FE07 odnosi się do systemu kolorów RGB, który jest powszechnie wykorzystywany w grafice komputerowej oraz w sieci. Wartości szesnastkowe składają się z trzech par cyfr: pierwsza para (11) reprezentuje wartość czerwonego (R), druga para (FE) wartość zielonego (G), a trzecia para (07) wartość niebieskiego (B). Aby przekształcić wartości szesnastkowe na dziesiętne, stosujemy konwersję, gdzie '11' w systemie szesnastkowym to 17 w systemie dziesiętnym, 'FE' to 254, a '07' to 7. Zatem wartość RGB dla koloru #11FE07 wynosi rgb(17, 254, 7). Wartości te są kluczowe w tworzeniu kolorów w różnych aplikacjach, od stron internetowych po projektowanie graficzne. Zrozumienie konwersji kolorów oraz ich reprezentacji w różnych formatach jest niezbędne dla każdego projektanta, który pracuje z kolorami. Przykładem zastosowania może być projektowanie logo, gdzie precyzyjne odwzorowanie koloru w różnych formatach jest istotne dla spójności wizualnej marki.
Pytanie 10
Mamy tablicę o n elementach o nazwie t[n]. Zadaniem algorytmu, zapisanego w krokach, jest wyliczenie sumy
K1: i = 0; wynik = 0; K2: Dopóki i < n wykonuj K3 .. K4 K3: wynik ← wynik + t[i] K4: i ← i + 2 K5: wypisz wynik
A. co drugiego elementu tablicy
B. n-elementów tej tablicy
C. wszystkich elementów tablicy
D. sumy tych elementów tablicy, które mają wartości nieparzyste
Pierwsza niepoprawna koncepcja sugeruje zsumowanie wszystkich elementów tablicy, co wymagałoby iteracji przez każdy element bez przeskakiwania indeksów. Taki algorytm miałby strukturę z pętlą stabilnie zwiększającą indeks o 1, co nie jest zgodne z przedstawionym kodem. Druga opcja zakłada sumowanie n-elementów tablicy, co jest mało precyzyjne i może sugerować błędne rozumienie, że n samo w sobie jest wartością sumowaną, a nie indeksem granicznym. Algorytm musiałby dodawać wszystkie elementy od zera do n-1, a w rzeczywistości operuje na co drugim indeksie. Ostatnia propozycja dotycząca sumowania elementów o wartościach nieparzystych wymagałaby dodatkowego warunku sprawdzającego parzystość wartości t[i], czego brak w przedstawionym kodzie. Typowym błędem jest niezrozumienie różnicy między iterowaniem po indeksach a wartościami oraz między warunkiem logicznym a przekształceniem pętli. Wszystkie te błędne odpowiedzi wynikają z nieprecyzyjnego przeanalizowania warunków i struktury pętli, co jest kluczowe w projektowaniu efektywnych algorytmów, zgodnie z zasadami inżynierii oprogramowania.
Pytanie 11
Co daje użytkownikowi nadanie w MySQL roli DBManager?
A. możliwość monitorowania serwera
B. wszystkie operacje na bazach i na użytkownikach serwera
C. tworzenie kont użytkowników i ustawianie haseł
D. wszystkie operacje na bazach danych
Pozostałe opisy są zbyt wąskie lub zbyt szerokie. Samo monitorowanie serwera to znacznie mniej niż pełne zarządzanie bazami. Tworzenie kont i ustawianie haseł oraz „operacje na użytkownikach serwera” to uprawnienia administracyjne wykraczające poza DBManager (bliższe roli administratora kont). DBManager daje wszystkie operacje na bazach danych.
Pytanie 12
W języku PHP tablice asocjacyjne to tablice, w których
A. istnieją przynajmniej dwa wymiary.
B. w każdej komórce tablicy przechowywana jest inna tablica.
C. elementy tablicy są zawsze indeksowane od liczby równej 0.
D. indeks jest dowolnym napisem.
W PHP pojęcie tablicy asocjacyjnej bywa mylone z kilkoma innymi konstrukcjami, dlatego łatwo wpaść w pułapkę skojarzeń. Tablica asocjacyjna nie ma nic wspólnego z liczbą wymiarów – fakt, że jakaś tablica jest wielowymiarowa (np. tablica tablic), wcale nie oznacza, że jest asocjacyjna. Możesz mieć tablicę dwuwymiarową z indeksami czysto numerycznymi i będzie to po prostu zwykła tablica indeksowana liczbami, tylko zagnieżdżona. Sam „wymiar” dotyczy struktury zagnieżdżenia, a nie sposobu adresowania elementów. Podobnie nie jest prawdą, że w tablicy asocjacyjnej w każdej komórce musi być inna tablica. To jest raczej opis tablicy zagnieżdżonej (np. do reprezentowania wierszy i kolumn), a nie definicja tablicy asocjacyjnej. Elementem tablicy asocjacyjnej może być cokolwiek: liczba, string, obiekt, null, inna tablica – ale to, co ją wyróżnia, to klucze tekstowe, a nie typ przechowywanych wartości. Kolejne typowe nieporozumienie to przekonanie, że elementy w tablicy zawsze są indeksowane od zera. W wielu językach (np. w C, Javie) rzeczywiście tablice „klasyczne” startują od indeksu 0, więc łatwo to nawykowo przenieść do PHP. Natomiast PHP jest pod tym względem bardziej elastyczny: możesz mieć tablicę z kluczami 0, 1, 2, ale możesz też mieć klucze 'imie', 'email' albo nawet mieszane – częściowo numeryczne, częściowo tekstowe. W tablicy asocjacyjnej klucz jest wartością logicznie opisującą dany element, a nie tylko kolejnym numerem pozycji. Z mojego doświadczenia wynika, że wiele błędów w kodzie bierze się z tego, że ktoś traktuje tablicę asocjacyjną jak „zwykłą tablicę od zera”, a potem odwołuje się do nieistniejących indeksów numerycznych. Dobra praktyka to świadome korzystanie z kluczy, nadawanie im sensownych nazw i pamiętanie, że w PHP tablica asocjacyjna to po prostu struktura klucz → wartość, gdzie kluczem bardzo często jest właśnie napis, a nie liczba.
Pytanie 13
W celu wykonania kopii bazy danych biblioteka w systemie MySQL należy w konsoli użyć polecenia
A. backupmysql -u root biblioteka kopia.sql
B. mysqlduplicate –u root biblioteka > kopia.sql
C. mysqldump -u root biblioteka > kopia.sql
D. copymysql –u root biblioteka kopia.sql
Poprawne polecenie do wykonania kopii bazy danych MySQL to „mysqldump -u root biblioteka > kopia.sql”. Narzędzie mysqldump jest oficjalnym, standardowym programem dostarczanym razem z serwerem MySQL i właśnie ono służy do tworzenia logicznych kopii zapasowych baz danych. Działa tak, że łączy się z serwerem MySQL, odczytuje strukturę tabel oraz dane, a następnie generuje plik tekstowy zawierający instrukcje SQL typu CREATE TABLE i INSERT. Taki plik można potem w prosty sposób wgrać z powrotem, np. poleceniem „mysql -u root biblioteka < kopia.sql”. To jest bardzo wygodne w praktyce, bo backup jest przenośny między serwerami, wersjami MySQL, a nawet można go edytować ręcznie w razie potrzeby. W tym poleceniu „-u root” oznacza użytkownika bazy danych, czyli logujemy się jako użytkownik root. W realnym środowisku produkcyjnym zwykle używa się konta z mniejszymi uprawnieniami i dodatkowo opcji „-p”, żeby podać hasło (np. „mysqldump -u backup_user -p biblioteka > kopia.sql”). Nazwa „biblioteka” to nazwa bazy, którą archiwizujemy. Znak „>” to przekierowanie powłoki systemowej (bash, cmd itp.), które zapisuje wynik działania programu mysqldump do pliku „kopia.sql” zamiast wypisywać go na ekran. To przekierowanie nie jest częścią MySQL, tylko mechanizmem systemu operacyjnego, co czasem bywa mylące dla początkujących. Moim zdaniem warto od razu wyrabiać sobie dobre nawyki: używać mysqldump regularnie, najlepiej w skryptach cron (Linux) lub Harmonogramie zadań (Windows), trzymać kopie na innym serwerze i testować odtwarzanie. W praktyce administracji serwerami i bezpieczeństwa danych takie kopie logiczne są podstawą procedur disaster recovery. W dokumentacji MySQL mysqldump jest wymieniony jako jedno z głównych narzędzi do backupu i migracji baz danych, więc znajomość dokładnie tego polecenia to absolutna podstawa pracy z MySQL w środowiskach webowych i nie tylko.
Pytanie 14
Jaki typ danych w MySQL należy zastosować, aby w jednym polu zapisać zarówno datę, jak i czas?
A. YEAR
B. BOOLEAN
C. TIMESTAMP
D. DATE
Typ danych TIMESTAMP w MySQL jest przeznaczony do przechowywania zarówno daty, jak i czasu w jednym polu. Jest szczególnie przydatny w sytuacjach, gdy potrzebne jest śledzenie zdarzeń w czasie, takich jak rejestracja daty i godziny utworzenia lub modyfikacji rekordów w bazie danych. TIMESTAMP przechowuje dane w formacie 'YYYY-MM-DD HH:MM:SS', co pozwala na precyzyjne określenie momentu w czasie. Wartością dodaną tego typu danych jest automatyczne aktualizowanie znacznika czasu przy każdej zmianie rekordu (jeśli ustawimy odpowiednie opcje), co jest zgodne z najlepszymi praktykami w zakresie audytu danych. Przykładem zastosowania może być rejestracja logów aktywności użytkowników w aplikacji internetowej lub monitorowanie transakcji w systemach finansowych, gdzie dokładny czas zdarzenia jest kluczowy. Dodatkowo, TIMESTAMP obsługuje różnice stref czasowych, co czyni go idealnym wyborem w aplikacjach działających w różnych lokalizacjach geograficznych.
Pytanie 15
Jak nazywa się metoda-konstruktor (wywoływana przy tworzeniu obiektu) w PHP?
A.
__construct
B.
__open
C.
__create
D.
__new
W PHP konstruktor - metoda wywoływana automatycznie przy tworzeniu obiektu (new) - nazywa się __construct. Służy zwykle do inicjalizacji pól obiektu. Dlatego konstruktorem w PHP jest __construct.
Pytanie 16
Jaką treść komunikatu należy umieścić w kodzie PHP zamiast znaków zapytania?
Niepoprawne odpowiedzi wynikają z niezrozumienia działania funkcji mysql_connect(). Na przykład twierdzenie, że błąd dotyczy 'Wybrana baza nie istnieje' jest błędne, ponieważ mysql_connect() jedynie łączy z serwerem, a nie wybiera bazy. Do tego służy funkcja mysql_select_db(). Jest to częsty błąd, gdyż początkujący użytkownicy mogą mylić różne etapy interakcji z bazą danych. Kolejnym błędnym podejściem jest zakładanie, że problem dotyczy 'Błędu przetwarzania zapytania SQL'. Funkcja mysql_connect() nie przetwarza zapytań SQL, a jedynie ustanawia połączenie. Odpowiedzialność za przetwarzanie zapytań leży po stronie innych funkcji takich jak mysql_query(). Założenie, że komunikat powinien brzmieć 'Pomyślnie dodano rekord do bazy' również jest nieprawidłowe, ponieważ zawiera informację o sukcesie, gdy w rzeczywistości mamy do czynienia z sytuacją błędną, gdy połączenie nie mogło zostać nawiązane. Zrozumienie tych koncepcji jest kluczowe w budowaniu aplikacji korzystających z baz danych, ponieważ właściwe zarządzanie błędami i komunikacja z użytkownikiem wpływają na stabilność i użyteczność aplikacji.
Pytanie 17
Jakim systemem do zarządzania wersjami oprogramowania jest
A. TotalCommander
B. FileZilla
C. GIT
D. Eclipse
TotalCommander, Eclipse i FileZilla to popularne narzędzia, które służą do innych celów w procesie tworzenia oprogramowania, ale nie są systemami kontroli wersji. TotalCommander jest menedżerem plików, który ułatwia nawigację i zarządzanie plikami na komputerze, jednak nie oferuje funkcji śledzenia zmian w kodzie czy współpracy zespołowej. Eclipse to zintegrowane środowisko programistyczne (IDE), które wspiera rozwój aplikacji, ale nie pełni roli systemu kontroli wersji, chociaż może korzystać z różnych systemów kontroli wersji za pomocą odpowiednich wtyczek. FileZilla to klient FTP, który umożliwia przesyłanie plików na serwery, co również nie ma związku z kontrolą wersji. Często mylnie przyjmuje się, że narzędzia związane z zarządzaniem plikami czy programowaniem mogą zastępować systemy kontroli wersji, co jest błędnym podejściem. Systemy kontroli wersji, takie jak GIT, są zaprojektowane z myślą o zarządzaniu zmianami w kodzie źródłowym, co jest kluczowe w nowoczesnym procesie wytwarzania oprogramowania. Ignorowanie tej specyfikacji i nieodróżnianie narzędzi do zarządzania plikami od systemów kontroli wersji może prowadzić do problemów w organizacji pracy zespołu oraz utraty wydajności w projektach.
Pytanie 18
W języku JavaScript stworzono fragment kodu. Po uruchomieniu skryptu zmienna x
<script> var x = 10; x++; console.log(x); </script>
A. Będzie równa 11 i zostanie wypisana w konsoli przeglądarki internetowej
B. Będzie równa 11 i zostanie wypisana w oknie popup
C. Będzie równa 10 i zostanie wypisana w dokumencie HTML
D. Będzie równa 10 i zostanie wypisana w głównym oknie przeglądarki internetowej
W zaprezentowanym fragmencie kodu JavaScript zmienna x jest najpierw inicjalizowana wartością 10. Następnie operator inkrementacji x++ zwiększa tę wartość o 1, co skutkuje przypisaniem zmiennej wartości 11. Operator postinkrementacji w JavaScript działa w ten sposób że najpierw zwraca aktualną wartość zmiennej a następnie ją zwiększa. W tym przypadku operacja x++ skutkuje zwiększeniem wartości x do 11. W konsoli przeglądarki wywołanie console.log(x) powoduje wyświetlenie obecnej wartości zmiennej x która wynosi 11. Użycie console.log jest standardową praktyką debugowania w JavaScript i jedną z głównych metod wyświetlania informacji w środowisku przeglądarki. Konsole przeglądarek internetowych są potężnym narzędziem dla deweloperów front-endowych umożliwiającym interaktywną pracę z kodem monitorowanie błędów oraz wydajności aplikacji. Jako najlepsza praktyka zaleca się stosowanie console.log do tymczasowego debugowania i unikanie pozostawiania tych wywołań w produkcyjnych wersjach kodu co może prowadzić do zbędnego obciążenia aplikacji i ujawnienia niepotrzebnych informacji użytkownikom końcowym. Warto również wspomnieć że zmienne deklarowane za pomocą var mają zasięg funkcyjny co oznacza że są dostępne w całej funkcji w której zostały zadeklarowane.
Pytanie 19
Jakie będzie wynik działania programu napisanego w JavaScript, umieszczonego w ramce, kiedy wprowadzisz wartość 5?
var n, i; var a = 1;
n = prompt("Podaj n:", "");
for (i=n; i>=2; i--) a*=i;
document.write("Wynik ",a);
A. 125
B. 625
C. 60
D. 120
Niepoprawne odpowiedzi wynikają z niezrozumienia działania pętli i operatora *= w języku JavaScript. Program implementuje algorytm obliczający silnię, co oznacza wielokrotne mnożenie kolejnych liczb całkowitych malejących aż do wartości 2. Niezrozumienie, że silnia n to iloczyn n*(n-1)*(n-2)*...*2, prowadzi do błędnych odpowiedzi. Początkowa wartość zmiennej a ustawiona na 1 jest kluczowa, ponieważ działa jako neutralny element mnożenia. Każda iteracja pętli zmniejsza wartość i, a *= i oznacza, że a jest mnożone przez bieżącą wartość i, co jest często źle interpretowane jako dodawanie lub niedokładne mnożenie. To typowy błąd przy próbie szybkiego zrozumienia kodu bez analizy krok po kroku. Kolejnym częstym błędem jest złe zrozumienie zakresu działania pętli for, która w tym przypadku działa od wartości n aż do 2 włącznie, co jest istotne, bo mnożenie przez 1 nie zmienia wyniku, ale jest częścią klasycznej definicji silni. Dla danych wejściowych 5, poprawnym wynikiem jest 5*4*3*2*1, co daje 120, a inne wartości jak 125, 60 czy 625 wskazują na błędne założenia lub niepełne zrozumienie mechanizmu działania pętli i mnożenia w kontekście silni.
Pytanie 20
Który format stosuje BEZSTRATNĄ kompresję dźwięku?
A. FLAC
B. MP3
C. AAC
D. WWA
Pozostałe formaty kompresują dźwięk STRATNIE - usuwają część informacji, by mocniej zmniejszyć plik (MP3, AAC). „WWA” nie jest standardowym formatem (mylone z WMA). Bezstratną kompresję zapewnia FLAC.
Pytanie 21
Który fragment definicji dwukolumnowej tabeli odpowiada efektowi scalenia komórki 1 i 3, przedstawionemu na ilustracji?
A. <td colspan="3">komórka1+3</td>
B. <td rowspan="2">komórka1+3</td>
C. <td colspan="2">komórka1+3</td>
D. <td rowspan="3">komórka1+3</td>
W tym zadaniu kluczowe jest rozróżnienie dwóch atrybutów HTML: colspan i rowspan. Oba służą do scalania komórek w tabeli, ale działają w zupełnie różnych kierunkach. Colspan łączy komórki w poziomie, czyli wzdłuż kolumn, natomiast rowspan scala komórki w pionie, wzdłuż wierszy. Na ilustracji widać, że „komórka1+3” zajmuje całą pierwszą kolumnę w dwóch pierwszych wierszach. To oznacza, że jedna komórka rozciąga się na dwa wiersze, a nie na dwie kolumny. Stąd logicznie wynika, że użycie colspan w ogóle nie pasuje do tej sytuacji. Gdybyśmy wpisali <td colspan="2">, przeglądarka potraktowałaby tę komórkę jako rozciągającą się na dwie kolumny w jednym wierszu. Efekt byłby taki, że komórki z drugiej kolumny zostałyby przesunięte, a układ z obrazka zupełnie by się rozjechał. Z kolei wartość colspan="3" w dwukolumnowej tabeli jest po prostu nielogiczna: próbujemy zająć trzy kolumny, gdy istnieją tylko dwie. W praktyce takie nadmiarowe wartości często kończą się chaotycznym renderowaniem tabeli, bo przeglądarka stara się „naprawić” błędny kod. Zostaje jeszcze rowspan z wartością 3. To też nie pasuje do przykładu, bo nasza scalona komórka obejmuje tylko dwa wiersze, nie trzy. Ustawienie rowspan="3" spowodowałoby, że komórka próbowałaby zająć miejsce również w trzecim wierszu, co zaburzyłoby pozycję „komórki5”. Typowym błędem myślowym jest mylenie liczby kolumn z liczbą wierszy: wiele osób patrzy na liczbę pól, które wizualnie wydają się połączone, i automatycznie wybiera colspan, bo kojarzy im się to z „większą szerokością”. Tymczasem trzeba zawsze zadać sobie jedno proste pytanie: czy komórka ma być szersza (więcej kolumn – colspan), czy wyższa (więcej wierszy – rowspan). W tym zadaniu odpowiedź jest jednoznaczna: chodzi o połączenie komórek pionowo w dół, więc poprawne może być tylko rowspan z wartością równą liczbie wierszy, które faktycznie zajmuje scalona komórka, czyli 2.
Pytanie 22
Który element blokowy HTML5 jest przeznaczony na nawigację witryny?
A.
aside
B.
main
C.
nav
D.
header
Element semantyczny <nav> wydziela blok NAWIGACJI witryny - zwykle menu główne lub zestaw linków do najważniejszych podstron, np. <nav><ahref="/">Start</a><ahref="/kontakt">Kontakt</a></nav>. Semantyka jest ważna nie tylko porządkowo: czytniki ekranu i wyszukiwarki rozpoznają po <nav>, że to nawigacja. Zapamiętaj: „nav” jak nawigacja.
Pytanie 23
Od jakiego znaku rozpoczyna się nazwa zmiennej w języku PHP?
A.
#
B.
@
C.
$
D.
&
W PHP każda zmienna zaczyna się od znaku dolara $, po którym następuje nazwa, np. $liczba czy $_POST. Pozwala to interpreterowi odróżnić zmienne od słów kluczowych i funkcji. Dlatego nazwa zmiennej w PHP rozpoczyna się od $.
Pytanie 24
Które zachowanie w środowisku pracy jest zachowaniem moralnym (etycznym)?
A. udostępnianie znajomym danych osobowych pracowników
B. przestrzeganie poufności zawodowej
C. przekazywanie rodzinie służbowych materiałów eksploatacyjnych
D. używanie sprzętu biurowego do celów prywatnych
Zachowaniem moralnym (etycznym) w pracy jest przestrzeganie POUFNOŚCI zawodowej - nieujawnianie informacji, do których ma się dostęp dzięki wykonywanym obowiązkom. Buduje to zaufanie i chroni dane. Dlatego etyczne jest przestrzeganie poufności zawodowej.
Pytanie 25
W języku JavaScript potrzebne jest odwołanie się do elementu znajdującego się w pierwszym paragrafie danego fragmentu kodu HTML. Można to osiągnąć przy użyciu funkcji
Odpowiedź getElementsByTagName("p")[0]; jest poprawna, ponieważ metoda getElementsByTagName zwraca kolekcję wszystkich elementów o danym tagu, w tym przypadku "p". Wywołując tę metodę, otrzymujemy tablicę wszystkich paragrafów na stronie, co pozwala na łatwy dostęp do pierwszego z nich, korzystając z indeksu [0]. Jest to standardowy sposób uzyskiwania dostępu do elementów w DOM w JavaScript. Zastosowanie tej metody jest zgodne z dobrą praktyką, umożliwiającą selekcję elementów w sposób dynamiczny i elastyczny. Przykładowo, jeśli chcemy zmienić tekst pierwszego paragrafu, możemy wykorzystać: document.getElementsByTagName("p")[0].innerText = 'Nowy tekst';. Dzięki temu możemy skutecznie manipulować zawartością stron internetowych, co jest kluczowe w rozwoju front-endu. Dodatkowo, metody takie jak getElementsByTagName są dobrze wspierane przez wszystkie nowoczesne przeglądarki, co zapewnia ich niezawodność w codziennej pracy programisty.
Pytanie 26
Czym autoryzuje się załatwianie spraw urzędowych przez internet?
A. numerem NIP
B. serią i numerem dowodu osobistego
C. imieniem i nazwiskiem
D. profilem zaufanym
Sprawy urzędowe przez internet (np. na platformie ePUAP, mObywatel) autoryzuje się PROFILEM ZAUFANYM - bezpłatnym, potwierdzonym narzędziem tożsamości, które pełni rolę „podpisu” online. Dzięki niemu urząd ma pewność, kto składa wniosek. Zapamiętaj: profil zaufany = elektroniczne potwierdzenie tożsamości w e-administracji.
Pytanie 27
Podczas zapisywania hasła użytkownika w serwisie internetowym (np. w bankowości online), w celu zabezpieczenia go przed ujawnieniem, zazwyczaj stosuje się funkcję
A. klucza
B. mieszających
C. cyklometrycznych
D. abstrakcyjnych
Zastosowanie klucza do zabezpieczenia haseł użytkowników jest kluczowym elementem w praktykach zarządzania bezpieczeństwem informacji. Klucz, często w połączeniu z techniką haszowania, umożliwia stworzenie bezpiecznego mechanizmu przechowywania haseł. Gdy użytkownik tworzy hasło, używa się funkcji haszującej, która przyjmuje hasło oraz unikalny klucz i generuje z nich wynikowy hash. Taki hash jest następnie przechowywany w bazie danych zamiast samego hasła. Aby zweryfikować, czy hasło podane przez użytkownika jest poprawne, system ponownie haszuje wprowadzone hasło z tym samym kluczem i porównuje wynik z tym przechowywanym w bazie. Dzięki temu, nawet w przypadku wycieku danych, napastnik nie uzyskuje dostępu do rzeczywistych haseł. Dobre praktyki branżowe, takie jak stosowanie soli (random salt) oraz iteracyjnych algorytmów haszujących (np. PBKDF2, bcrypt), dodatkowo wzmacniają proces bezpieczeństwa haseł, czyniąc je bardziej odpornymi na ataki typu brute-force.
Pytanie 28
Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?
A. Inwersja.
B. Krzywe.
C. Barwienie.
D. Progowanie.
Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.
Pytanie 29
Pętla w kodzie JavaScript zostanie uruchomiona
A. 27 razy
B. 2 razy
C. 3 razy
D. 26 razy
Pętla do-while w JavaScript wykonuje się co najmniej raz ze względu na swoją konstrukcję. W tym przypadku pętla zaczyna się od wartości x równej 1 i w każdej iteracji mnoży x przez 3. Zmienna i jest inkrementowana przy każdej iteracji, co zlicza liczbę wykonanych iteracji. Pętla kontynuuje aż do momentu, gdy x osiągnie wartość 27. Przebieg pętli wygląda następująco: początkowo x=1, po pierwszej iteracji x=3, po drugiej x=9, a po trzeciej x=27. Gdy x osiąga wartość 27, warunek pętli x!=27 przestaje być spełniony i pętla się kończy. Dlatego pętla wykonuje dokładnie 3 iteracje. Zrozumienie działania pętli do-while jest kluczowe, zwłaszcza w kontekście sytuacji, gdzie musimy zagwarantować, że blok kodu wykona się przynajmniej raz niezależnie od warunku na końcu. Tego typu pętle są często używane w aplikacjach wymagających walidacji danych wejściowych, gdzie przynajmniej jedna próba przetworzenia danych musi być wykonana.
Pytanie 30
Który znacznik lub zestaw znaczników nie jest używany do określenia struktury dokumentu HTML?
A. <header>, <footer>
B. <div>
C. <i>, <b>, <u>
D. <section>
Te znaczniki, czyli <i>, <b> i <u>, nie są jakby do tworzenia struktury dokumentu HTML, ale bardziej do formatowania tekstu. Zgodnie z nowymi standardami HTML5, są to elementy semantyczne, które wpływają na to, jak coś wygląda, a nie na to, jak jest zorganizowane. Znacznik <i> używamy, jak chcemy coś napisać kursywą, <b>, żeby coś podkreślić, a <u>, żeby coś podkreślić. Często korzysta się z nich w stylach CSS, ale nie nadają one hierarchii ani kontekstu dokumentu. Jak chcesz wyróżnić jakiś tekst w kontekście kodu czy tytułu rozdziału, lepiej skorzystać z bardziej semantycznych znaczników, jak <em> dla podkreślenia znaczenia albo <strong> dla podkreślenia wagi. W czasach, kiedy dostępność i SEO są coraz ważniejsze, używanie semantycznych elementów to klucz do tworzenia lepszych i bardziej przejrzystych stron.
Pytanie 31
Kolor zaprezentowany na ilustracji, zapisany w modelu RGB, w formacie szesnastkowym będzie określony w następujący sposób
A. 77A0C1
B. 77A1C1
C. 71A0B2
D. 76A3C1
Błędne odpowiedzi wynikają z niepoprawnej konwersji wartości RGB na zapis szesnastkowy. Przy konwersji kolorów z modelu RGB na system szesnastkowy kluczowe jest poprawne przeliczenie każdej z trzech składowych: czerwonego zielonego i niebieskiego. Wartości te w modelu RGB wahają się od 0 do 255 co w systemie szesnastkowym odpowiada wartościom od 00 do FF. Niewłaściwe zrozumienie tego procesu prowadzi do błędnych wyników. W przykładzie wartość 119 dla czerwonego należy przeliczyć na 77 w systemie szesnastkowym. Podobnie 160 dla zielonego konwertuje się na A0 a 193 dla niebieskiego na C1. Powszechny błąd polega na pomyleniu wartości dziesiętnych z ich odpowiednikami szesnastkowymi bądź na niepoprawnym zaokrąglaniu podczas konwersji. Innym częstym błędem jest niepoprawne zrozumienie znaczenia kolejności zapisu gdzie każda para znaków odpowiada jednej składowej RGB. Aby uniknąć takich błędów warto korzystać z kalkulatorów konwersji lub narzędzi graficznych które automatycznie dokonują prawidłowej zamiany co jest zgodne z dobrymi praktykami projektowymi. Znajomość tych zasad jest kluczowa w pracy z grafiką komputerową i web designem gdzie precyzja w odwzorowaniu kolorów ma ogromne znaczenie dla ostatecznego wyglądu projektu.
Pytanie 32
Aby stworzyć warunek w zapytaniu wybierającym nazwiska wszystkich uczniów z klas początkowych (od pierwszej do trzeciej), można zastosować klauzulę
A. WHERE klasa < 3
B. WHERE klasa >= 1 OR klasa <= 3
C. WHERE klasa IN (1, 3)
D. WHERE klasa BETWEEN 1 AND 3
Odpowiedź "WHERE klasa BETWEEN 1 AND 3" jest poprawna, ponieważ klauzula BETWEEN umożliwia precyzyjne określenie zakresu wartości w bazie danych. W tym przypadku, chcemy wybrać uczniów z klas 1, 2 i 3, co idealnie pasuje do zastosowania klauzuli BETWEEN. Oznacza to, że zapytanie zwróci wszystkie rekordy, gdzie wartość w kolumnie 'klasa' mieści się w przedziale od 1 do 3, włącznie. Przykładowe zapytanie SQL mogłoby wyglądać tak: SELECT nazwisko FROM uczniowie WHERE klasa BETWEEN 1 AND 3; To podejście jest zgodne z dobrymi praktykami, ponieważ jest czytelne, zrozumiałe i łatwe do modyfikacji. Dodatkowo, stosowanie klauzuli BETWEEN jest bardziej efektywne niż inne metody, takie jak użycie operatorów porównania, co może prowadzić do błędów, jeśli na przykład nie uwzględni się wartości granicznych. W standardach SQL klauzula BETWEEN jest powszechnie uznawana za najlepszy sposób na określenie zakresu wartości, co czyni ją kluczowym narzędziem w pracy z danymi w bazach danych.
Pytanie 33
W HTML-u znacznik tekst będzie prezentowany przez przeglądarkę w sposób identyczny do znacznika
A. <sub>tekst</sub>
B. <big>tekst</big>
C. <b>tekst</b>
D. <h1>tekst</h1>
Znacznik <strong> w HTML jest używany do oznaczania tekstu, który ma być wyróżniony jako ważny. Jego domyślne stylizowanie w przeglądarkach polega na pogrubieniu tekstu, co jest również funkcją znacznika <b>. Oba znaczniki mają podobne zastosowanie, ale <strong> niesie dodatkowe znaczenie semantyczne, co oznacza, że informuje przeglądarki i maszyny o tym, że dany tekst jest istotny. Przykładem może być użycie <strong> w nagłówkach lub w miejscach, gdzie chcemy zwrócić uwagę na kluczowe informacje, jak np. 'Zamówienie <strong>pilne</strong> musi być dostarczone do jutra.' W kontekście dobrych praktyk zaleca się używanie znaku <strong> zamiast <b>, gdyż wspiera to dostępność i SEO - wyszukiwarki lepiej interpretują semantykę treści, co może wpłynąć na pozycjonowanie strony. Warto również pamiętać, że zgodnie z W3C, semantyka HTML ma kluczowe znaczenie dla strukturyzacji dokumentów oraz ich dostępności.
Pytanie 34
Ile razy zostanie wykonana pętla przedstawiona w kodzie PHP?
for($i=0;$i<25;$i+=5) { ...... }
A. 0
B. 5
C. 26
D. 25
Pętla for w PHP, zdefiniowana jako for($i = 0; $i < 25; $i += 5), będzie wykonywana do momentu, gdy warunek $i < 25 będzie spełniony. Początkowa wartość $i to 0, a w każdej iteracji zwiększamy $i o 5. Wartości $i w kolejnych iteracjach będą wynosiły: 0, 5, 10, 15, 20. Po piątej iteracji, gdy $i osiągnie wartość 25, warunek $i < 25 przestanie być spełniony, co zakończy działanie pętli. W sumie, pętla wykona się dokładnie pięć razy. Zrozumienie działania pętli for jest kluczowe w programowaniu, ponieważ pozwala na automatyzację wielu zadań, co jest niezbędne w tworzeniu efektywnych i zoptymalizowanych aplikacji. Przykłady zastosowania to iteracja przez elementy tablic, generowanie numerów identyfikacyjnych czy przetwarzanie danych w bazach.
Pytanie 35
Parametr face znacznika <font> jest używany do wskazania
A. efektów czcionki
B. nazwa czcionki
C. rozmiaru czcionki
D. koloru czcionki
Pierwsza z niepoprawnych odpowiedzi sugeruje, że parametr face służy do określenia barwy czcionki. Jest to błędne, ponieważ kolor tekstu w HTML ustala się za pomocą innego parametru – 'color'. Możemy na przykład użyć znacznika <font color='red'>tekst</font>, aby ustawić kolor tekstu na czerwony. Parametr face nie ma związku z kolorystyką, a jego jedynym celem jest określenie konkretnej czcionki, co jest kluczowe dla typografii na stronach internetowych. Kolejna niepoprawna odpowiedź wskazuje na efekty czcionki, co również jest mylące. Efekty takie jak pogrubienie, kursywa czy podkreślenie są osiągane dzięki zastosowaniu odpowiednich stylów CSS lub atrybutów w tagach HTML, takich jak <b>, <i>, czy <u>. Parametr face nie wprowadza żadnych efektów, a jedynie wskazuje, jaką czcionkę należy zastosować. Ostatnia niepoprawna odpowiedź odnosi się do wielkości czcionki, co również jest nieprawidłowe. W HTML rozmiar czcionki ustala się za pomocą atrybutu 'size' w tagu <font>, co jest znacznie bardziej ograniczone i mniej elastyczne niż nowoczesne podejścia z CSS. W CSS możemy zdefiniować rozmiar czcionki za pomocą właściwości 'font-size', co umożliwia precyzyjne dostosowanie wielkości tekstu, a także łatwą zmianę przez wykorzystanie jednostek względnych. Podsumowując, niepoprawne odpowiedzi mylą się co do funkcji parametru face, który nie ma związku z kolorem, efektami czy wielkością czcionki.
Pytanie 36
Zidentyfikuj poprawnie zbudowany warunek w języku PHP, który sprawdza brak połączenia z bazą MySQL.
A. if {mysql_connect_errno()}{}
B. if (mysql_connect_error())()
C. if {mysqli_connect_error()}{}
D. if (mysqli_connect_errno()){}
No, odpowiedzi, które wybrałeś, mają sporo błędów. Na przykład, 'if (mysql_connect_error())()' jest źle napisane, bo masz tu podwójne nawiasy, a powinny być pojedyncze. 'if {mysql_connect_errno(){}}' i 'if {mysqli_connect_error()}' używają klamr, gdzie powinny być nawiasy okrągłe, bo w PHP warunki muszą być w nawiasach. Te stare funkcje, takie jak 'mysql_connect_error()' czy 'mysql_connect_errno()', to już przeżytek, zostały usunięte w PHP 7.0. Teraz, wybierając 'mysqli', zapewniasz sobie lepsze bezpieczeństwo i działanie aplikacji. To jest kluczowe, żeby zrozumieć, jak poprawnie pisać kod, bo bez tego ciężko osiągniesz sukces w programowaniu w PHP.
Pytanie 37
Co robi w SQL polecenie INSERTINTO?
A. wprowadza dane (nowy wiersz) do tabeli
B. modyfikuje istniejące rekordy
C. dodaje kolumny do tabeli
D. tworzy tabelę
Polecenie INSERTINTO wprowadza do tabeli nowy wiersz z danymi, np. INSERTINTOosoby(imie)VALUES("Ala"). Dlatego INSERTINTO wprowadza nowy wiersz do tabeli.
Pytanie 38
W ramce przedstawiono właściwości pliku graficznego:
Wymiary:
4272 x 2848px
Rozdzielczość:
72 dpi
Format:
JPG
W celu optymalizacji czasu ładowania rysunku na stronę WWW należy:
A. zmienić proporcje szerokości do wysokości.
B. zmienić format grafiki na CDR.
C. zmniejszyć wymiary rysunku.
D. zwiększyć rozdzielczość.
Wybór niepoprawnej odpowiedzi wskazuje na nieporozumienie dotyczące optymalizacji czasu ładowania obrazów na stronie WWW. Zmiana formatu grafiki na CDR, zwiększenie rozdzielczości oraz zmiana proporcji szerokości do wysokości nie prowadzą do optymalizacji czasu ładowania. Format CDR jest specyficznym formatem firmy Corel i nie jest standardowo używany do obrazów internetowych. Zwiększenie rozdzielczości zwiększyłoby rozmiar pliku i tym samym spowolniłoby ładowanie strony, co jest przeciwne do zamierzonego celu. Zmiana proporcji obrazu może zmienić jego wygląd, ale nie wpłynie znacząco na rozmiar pliku. Optymalizacja czasu ładowania obrazów na stronę WWW jest najczęściej osiągana przez zmniejszenie ich wymiarów, co skutkuje zmniejszeniem rozmiaru pliku.
Pytanie 39
W języku CSS określono formatowanie znacznika h1 według poniższego wzoru. Zakładając, że do znacznika h1 nie dodano żadnego innego formatowania, wskaż sposób formatowania tego znacznika.
Gratulacje, Twoja odpowiedź jest prawidłowa. W CSS określono, że znacznik h1 ma być wyświetlany z pochyłą czcionką, co jest osiągane za pomocą właściwości 'font-style: oblique'. Dodatkowo, małe wielkie litery są realizowane przez 'font-variant: small-caps', które zmieniają wszystkie małe litery na wielkie litery, ale z zachowaniem mniejszego rozmiaru. Wreszcie, do wyrównania tekstu do prawej strony służy 'text-align: right'. Wszystko to razem składa się na formatowanie znacznika h1, które zostało zdefiniowane w CSS. To jest dobra praktyka, aby zrozumieć i zapamiętać różne właściwości CSS, ponieważ pozwalają one na bardzo szczegółowe kontrolowanie wyglądu i układu elementów na stronie. Pamiętaj, że CSS jest niezwykle potężnym narzędziem w rękach doświadczonego programisty front-end i pozwala na tworzenie estetycznych, responsywnych i przyjaznych dla użytkownika interfejsów.
Pytanie 40
Spośród wymienionych formatów, który charakteryzuje się najszerszą rozpiętością tonalną?
A. PNG
B. BMP
C. RAW
D. JPEG
Odpowiedzi, które nie są poprawne, można analizować w kontekście ich technicznych ograniczeń. Format PNG, mimo że obsługuje przezroczystość i jest bezstratnym formatem, ma ograniczoną rozpiętość tonalną, co oznacza, że nie przechowuje tak dużej ilości informacji tonalnych jak RAW. Ponadto, jego główną funkcją jest przechowywanie obrazów z dużą ilością detali w mniej skomplikowanych kolorach, co czyni go mniej odpowiednim do profesjonalnej obróbki zdjęć w trudnych warunkach oświetleniowych. Format BMP, choć prosty i łatwy w użyciu, również nie wspiera zaawansowanej obróbki kolorów, a jego duża objętość plików powoduje, że nie jest praktyczny dla profesjonalnych zastosowań. BMP nie korzysta z kompresji, co sprawia, że pliki są znacznie większe niż w przypadku innych formatów, ale nie oferuje dodatkowych korzyści w zakresie tonalności. JPEG, pomimo szerokiego zastosowania w fotografii i sieci, jest formatem stratnym, co oznacza, że podczas kompresji traci część danych, a tym samym rozpiętość tonalna jest ograniczona. JPEG jest bardziej odpowiedni do codziennego użytku ze względu na mniejszy rozmiar plików, ale nie daje takiej elastyczności w edycji jak RAW, co czyni go niewłaściwym wyborem dla profesjonalnych fotografów poszukujących najwyższej jakości obrazu.