W języku SQL używanym przez bazę danych MySQL atrybut UNIQUE w poleceniu CREATE TABLE
A. wymusza niepowtarzalne nazwy kolumn tabeli
B. uniemożliwia wprowadzenie wartości NULL
C. jest stosowany jedynie w przypadku kolumn liczbowych
D. jest używany, jeżeli wartości w danej kolumnie nie mogą się powtarzać
W pierwszej niepoprawnej odpowiedzi wspomniano o wymogu unikatowości nazw pól tabeli. To stwierdzenie jest błędne, ponieważ atrybut UNIQUE nie dotyczy nazw kolumn, lecz wartości przechowywanych w tych kolumnach. W SQL możemy mieć wiele kolumn w tabeli o tej samej nazwie, o ile są one częścią różnych tabel. Zatem, atrybut UNIQUE nie ma wpływu na nazywanie kolumn, a jego głównym celem jest zapewnienie unikalności danych. Kolejną nieprawidłową informacją jest stwierdzenie, że atrybut UNIQUE blokuje możliwość wpisania wartości NULL. W rzeczywistości, w MySQL atrybut UNIQUE pozwala na wprowadzenie wartości NULL, ponieważ wartość NULL jest traktowana jako brak danych, co oznacza, że różne rekordy mogą mieć NULL jako wartość w kolumnie oznaczonej przez UNIQUE. Wreszcie, twierdzenie, że atrybut UNIQUE jest stosowany tylko w przypadku pól liczbowych, jest również fałszywe. Atrybut UNIQUE można zastosować do dowolnego typu danych, w tym tekstowych, datowych czy liczbowych. W praktyce, atrybut ten może być używany w różnych kontekstach, aby zapewnić unikalność danych w każdej kolumnie, niezależnie od ich typów.
Pytanie 2
Podaj polecenie SQL, które pozwoli na dodanie kolumny miesiacSiewu do tabeli rośliny znajdującej się w bazie danych
A. ALTER TABLE rośliny ADD miesiacSiewu int;
B. CREATE TABLE rośliny {miesiacSiewu int};
C. UPDATE rośliny ADD miesiacSiewu int;
D. INSERT INTO rośliny VALUES (miesiacSiewu int);
Inne odpowiedzi nie są poprawne z paru powodów. Na przykład, 'CREATE TABLE rośliny {miesiacSiewu int};' jest błędne, bo komenda 'CREATE TABLE' służy do tworzenia nowych tabel, nie do zmieniania istniejących. To może wprowadzać w błąd co do podstaw SQL, bo 'CREATE' nie działa w kontekście dodawania kolumn do już istniejącej tabeli. Z kolei 'INSERT INTO rośliny VALUES (miesiacSiewu int);' dotyczy dodawania danych, a nie zmiany struktury. To częsty błąd, gdy ktoś myli dodawanie nowych danych z dodawaniem kolumn, co pokazuje, że nie do końca rozumie różnicę między DDL (Data Definition Language) a DML (Data Manipulation Language). A 'UPDATE rośliny ADD miesiacSiewu int;' też nie ma sensu, bo komenda UPDATE jest do aktualizacji danych, a nie do zmiany struktury tabeli. Takie pomyłki mogą wkurzać i sprawiać problemy z bazami danych, dlatego warto mieć dobrą wiedzę o poleceniach SQL i ich zastosowaniach.
Pytanie 3
Jakiego znacznika w HTML użyjemy, aby uzyskać tekst wyświetlany czcionką o stałej szerokości znaku, który również uwzględnia dodatkowe spacje, tabulacje oraz znaki końca linii?
A.
…
B. …
C. …
D.
…
Znaczniki , i
mają swoje unikalne zastosowania, ale nie nadają się do zachowania formatowania tekstu, jak to robi
. Znacznik jest przeznaczony do oznaczania fragmentów kodu, jednak nie utrzymuje przestrzeni i formatowania. Kiedy używasz , przeglądarka wyświetli tekst w inny sposób, ale nie uwzględni dodatkowych odstępów lub tabulacji, co może prowadzić do nieczytelności w przypadku dłuższych fragmentów kodu. Z kolei znacznik służy do wskazywania wstawionego tekstu, co ma znaczenie w kontekście edycji lub zmian, ale nie zmienia jego formatowania ani nie zachowuje układów, co ogranicza jego użyteczność w przypadku tekstów wymagających precyzyjnego formatowania. Wreszcie,
jest używane do cytowania dłuższych fragmentów tekstu z innego źródła, co również nie związane jest z zachowaniem konkretnego formatowania, a jego celem jest raczej stylistyczne wyróżnienie cytatu. W praktyce, mylenie tych znaczników może prowadzić do frustracji użytkowników, którzy oczekują zachowania konkretnych układów, zwłaszcza w kontekście programowania lub prezentacji danych. Ważne jest, aby zrozumieć, że każdy znacznik ma swoje specyficzne zastosowanie i powinien być używany zgodnie z jego przeznaczeniem, aby zapewnić spójność i czytelność prezentowanych treści.
Pytanie 4
Które wartości będą przechowywane w zmiennych po wykonaniu przedstawionej pętli języka PHP?
$i = 20; $a = 0;
while($i) {
$a += 2;
$i--;
}
A. a = 40, i = 0
B. a = 20, i = 20
C. a = 0, i = 20
D. a = 40, i = 20
Zrozumienie, jak działa pętla w języku PHP, jest kluczowe do efektywnej pracy z tym językiem. Błędne odpowiedzi sugerują niezrozumienie, jak zmienne są aktualizowane i przechowywane w pętli. Można pomylić, że wartość 'a' będzie wynosić 0 lub 20, jeżeli nie zauważymy, że wartość 'a' jest zwiększana o 2 w każdej iteracji pętli. Podobnie, można pomylić, że wartość 'i' pozostanie na 20, jeśli nie zrozumie się, że 'i' jest zmniejszane o 1 w każdej iteracji pętli, aż osiągnie wartość 0, co kończy pętlę. To jest typowy błąd, który można zrobić, jeżeli nie zwróci się uwagi na szczegóły operacji wykonywanych w pętli. Przypomnijmy, że zrozumienie, jak działa pętla, jest kluczowe do tworzenia efektywnych i wydajnych programów w PHP i w każdym języku programowania.
Pytanie 5
Dana jest tablica n-elementowa o nazwie t[n] Zadaniem algorytmu zapisanego w postaci kroków jest wypisanie 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. sumy tych elementów tablicy, których wartości są nieparzyste.
B. co drugiego elementu tablicy.
C. n-elementów tablicy.
D. sumy wszystkich elementów tablicy.
Super rozebrałeś na czynniki pierwsze ten algorytm! Twoja odpowiedź 'co drugiego elementu tablicy' jest jak najbardziej trafna. W pytaniu chodzi o to, że algorytm sumuje co drugi element tablicy, zaczynając od pierwszego, a ten indeks to 0. Zmienna 'i' służy do poruszania się po tablicy i w każdej iteracji zwiększa się o 2. Dzięki temu pętla przeskakuje co drugi element, a te nieparzyste ignoruje. To naprawdę przydatna technika w programowaniu, bo pozwala na określony dostęp do danych. Takie algorytmy wykorzystuje się np. przy analizie danych z czujników, gdzie ważne są tylko wartości zapisane w regularnych odstępach.
Pytanie 6
Zamieszczony fragment kodu PHP ma na celu wprowadzenie danych z zmiennych $a, $b, $c do bazy danych w tabeli dane. Tabela dane składa się z czterech pól, z których pierwsze jest autoinkrementowanym kluczem głównym. Które z poniższych poleceń powinno być przypisane do zmiennej $zapytanie?
A. INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');
B. INSERT INTO dane VALUES ('$a', '$b', '$c');
C. SELECT NULL, '$a', '$b', '$c' FROM dane;
D. SELECT '$a', '$b', '$c' FROM dane;
Wybór opcji 'SELECT '$a', '$b', '$c' FROM dane;' jest nieprawidłowy, ponieważ polecenie SELECT służy do pobierania danych z bazy danych, a nie do ich wstawiania. W tym kontekście celem jest dodanie nowych rekordów, co wymaga użycia polecenia INSERT. Podobnie, 'SELECT NULL, '$a', '$b', '$c' FROM dane;' również nie ma sensu w kontekście dodawania danych, ponieważ znowu wykorzystuje polecenie SELECT, a dodatkowo NULL nie ma zastosowania jako wartość w kontekście gromadzenia danych do wstawienia. Użycie 'INSERT INTO dane VALUES ('$a', '$b', '$c');' jest błędne, ponieważ nie uwzględnia klucza głównego, który jest autoinkrementowany. Zatem, bez podania NULL jako miejsca klucza głównego, próba wstawienia danych doprowadziłaby do błędu, gdyż klucz główny powinien być unikalny i autoinkrementowany. Częstym błędem jest nieuwzględnienie struktury tabeli oraz mechanizmu kluczy głównych i obcych przy konstruowaniu zapytań do bazy danych. Dlatego kluczowe jest, aby zrozumieć, jak poprawnie formułować zapytania, uwzględniając specyfikację tabeli i właściwe polecenia SQL, co jest kluczowe dla efektywnego i bezbłędnego gromadzenia danych.
Pytanie 7
Aby film wyglądał płynnie, liczba klatek (które nie nakładają się na siebie) na sekundę powinna wynosić przynajmniej w przedziale
A. 20-23 fps
B. 24-30 fps
C. 16-19 fps
D. 31-36 fps
Wybór wartości poniżej 24 fps, takich jak 20-23 fps czy 16-19 fps, na pewno nie zapewni płynności obrazu w filmie. Klatkaż 20-23 fps nie tylko nie osiąga standardów branżowych, ale również wprowadza widza w kłopotliwy stan, ponieważ takie niskie wartości skutkują widocznymi skokami między klatkami. Kiedy klatkaż spada poniżej 24 fps, efekt staje się zbliżony do stroboskopu, co może być bardzo nieprzyjemne dla widza. Na przykład, przy 16-19 fps widać wyraźnie, że ruchy są zbyt szarpane, co prowadzi do utraty immersji w filmie. Ponadto, niektóre produkcje telewizyjne mogą wykorzystywać wyższe klatkaże, aby uzyskać lepszą jakość obrazu, jednak wybór 24-30 fps pozostaje kluczowy w kontekście klasycznych filmów. W przemyśle filmowym kluczowe jest, aby zrozumieć, jak liczba klatek wpływa na postrzeganie obrazu przez widza i jak standardy ustalone przez organizacje takie jak SMPTE wpływają na techniki produkcji. Niewłaściwy klatkaż nie tylko wpłynie na estetykę filmu, ale również na jego odbiór przez publiczność, co czyni ten temat krytycznym dla każdego, kto chce zrozumieć sztukę filmową.
Pytanie 8
Aby zdefiniować stylizację tabeli w języku CSS w sposób, który umożliwi wyróżnienie wiersza, na który aktualnie najeżdża kursor myszy np. innym kolorem, należy użyć
A. nowego selektora klasy dla wiersza tabeli
B. pseudoklasy :hover
C. pseudoklasy :visited
D. pseudoelementu :first-line
Odpowiedzi, które nie dotyczą zastosowania pseudoklasy :hover, są nieadekwatne w kontekście wyróżnienia wiersza tabeli podczas najeżdżania na niego kursorem. Pseudoklasa :visited jest używana w przypadku linków, aby stylizować te, które zostały już odwiedzone przez użytkownika. Nie ma zastosowania w kontekście tabeli ani interakcji z wierszami, gdyż nie wpływa na elementy, które nie są linkami, a jej użycie w tym kontekście nie przyniesie oczekiwanych rezultatów. Pseudoelement :first-line odnosi się do pierwszej linii tekstu wewnątrz elementu blokowego, co również jest nieodpowiednie w przypadku tabeli, gdyż nie ma możliwości stosowania go do wierszy, a jego zastosowanie jest ograniczone do stylizacji tekstu, a nie całych wierszy. Nowy selektor klasy dla wiersza tabeli, choć może wydawać się przydatny, wymagałby dodatkowego przypisania klas do każdego wiersza w HTML, co czyniłoby proces bardziej skomplikowanym i mniej efektywnym w porównaniu do prostoty użycia pseudoklasy :hover. W rezultacie, żadna z powyższych odpowiedzi nie może prawidłowo spełnić wymagań dotyczących wyróżnienia wiersza tabeli w momencie najeżdżania na niego kursorem.
Pytanie 9
Do jakich celów wykorzystywany jest certyfikat SSL?
A. do eliminowania złośliwego oprogramowania na stronie
B. w celu identyfikacji właściciela domeny
C. do przechowywania informacji o sesjach tworzonych na stronie
D. do deszyfrowania przesyłanych danych
Wybór innych odpowiedzi może prowadzić do nieporozumień dotyczących roli certyfikatu SSL w zabezpieczaniu komunikacji internetowej. Zapisanie danych o sesjach tworzonych w witrynie nie jest funkcją certyfikatu SSL; te informacje zazwyczaj są przechowywane w plikach cookie lub bazach danych. Certyfikat SSL nie jest odpowiedzialny za deszyfrację transmitowanych danych, lecz za ich szyfrowanie. Szyfrowanie odbywa się na poziomie transportu, co oznacza, że dane są zabezpieczane w trakcie przesyłania między serwerem a klientem, ale nie są one 'deszyfrowywane' przez certyfikat jako taki. Kolejnym typowym błędem jest mylenie certyfikatów SSL z narzędziami do ochrony przed złośliwym oprogramowaniem. Chociaż certyfikaty SSL mogą zapewniać pewien poziom bezpieczeństwa, ich głównym celem nie jest blokowanie szkodliwego oprogramowania, lecz ochrona danych przesyłanych przez sieć. To pokazuje, jak istotne jest zrozumienie specyficznych funkcji technologii zabezpieczeń i ich zastosowań w kontekście cyberbezpieczeństwa.
Pytanie 10
W systemie baz danych sklepu znajdują się dwie tabele powiązane ze sobą relacją: produkty oraz oceny. Tabela oceny zawiera dowolną liczbę ocen wystawionych przez klientów dla konkretnego produktu, które są zdefiniowane przez pola: id, ocena (pole numeryczne), produktID (klucz obcy). Aby uzyskać maksymalną ocenę dla produktu o ID równym 10, należy użyć zapytania
A. COUNT MAX SELECT ocena FROM oceny WHERE produktID = 10;
B. SELECT MAX(ocena) FROM oceny WHERE produktID = 10;
C. MAX SELECT ocena FROM oceny WHERE produktID = 10;
D. SELECT MAX COUNT(ocena) FROM oceny WHERE produktID = 10;
W odpowiedziach błędnych występują różne nieporozumienia dotyczące składni SQL oraz sposobu korzystania z funkcji agregujących. Przykładowo, pierwsza propozycja "MAX SELECT ocena FROM oceny WHERE produktID = 10;" jest niepoprawna, ponieważ nie przestrzega właściwej składni SQL. Słowo kluczowe MAX() powinno być używane jako funkcja, a nie jako część polecenia SELECT. Z kolei trzecia odpowiedź "COUNT MAX SELECT ocena FROM oceny WHERE produktID = 10;" również nie ma sensu, ponieważ COUNT() jest inną funkcją agregującą, która zlicza rekordy, a nie znajduje maksymalnej wartości. Kolejna sugestia, "SELECT MAX COUNT(ocena) FROM oceny WHERE produktID = 10;", jest niepoprawna z tego samego powodu - nie można użyć MAX() i COUNT() razem w taki sposób. Często takie nieprawidłowe podejścia wynikają z nieporozumienia dotyczącego funkcji agregujących i ich zastosowania w kontekście SQL. Kluczowe jest, aby rozumieć, że funkcje takie jak MAX() i COUNT() służą do różnych celów: MAX() znajduje najwyższą wartość, podczas gdy COUNT() zlicza wystąpienia danej wartości. Dlatego niezbędne jest solidne zrozumienie działania tych funkcji oraz ich odpowiedniego użycia w zapytaniach SQL, co stanowi fundament dobrych praktyk w analizie danych w relacyjnych bazach danych.
Pytanie 11
Aby poprawnie skomentować linię kodu w języku JavaScript, należy po znakach // wprowadzić komentarz x = Math.max(a,b,c); //
A. wybór wartości maksymalnej spośród zmiennych a, b oraz c
B. w zmiennej x minimalna wartość ze zmiennych a, b, c
C. nieprawidłowe dane
D. w zmiennej x maksymalna wartość ze zmiennych a, b, c
W analizowanych odpowiedziach znajdują się stwierdzenia, które nie oddają rzeczywistego działania funkcji wykorzystywanej w tej linii kodu. Stwierdzenie dotyczące wyboru losowej wartości ze zmiennych a, b i c jest błędne, ponieważ funkcja Math.max nie dokonuje wyboru losowego, ale precyzyjnie analizuje wartości i zwraca największą z nich. Takie myślenie może prowadzić do poważnych nieporozumień w kontekście programowania, gdzie deterministyczne wyniki są kluczowe. Inne z kolei stwierdzenie, że w zmiennej x znajduje się minimalna wartość ze zmiennych a, b, c, jest całkowicie sprzeczne z logiką funkcji Math.max, która z definicji nakazuje jej zwracać maksymalną, a nie minimalną wartość. Użytkownik, bazując na tym błędnym rozumowaniu, mógłby wprowadzić niepoprawne dane do dalszego przetwarzania. Natomiast ostatnia błędna odpowiedź sugerująca, że zmienna x zawiera maksymalną wartość bez uwzględnienia kontekstu, jest niepoprawna w tym sensie, że nie precyzuje, iż funkcja Math.max porównuje konkretnie wartości a, b i c. Aby uniknąć takich nieporozumień, ważne jest zrozumienie mechanizmu działania wbudowanych funkcji w JavaScript oraz ich zastosowania w praktyce.
Pytanie 12
W języku PHP do zmiennej a wprowadzono tekst, w którym wielokrotnie występuje fraza Kowalski. Jakim poleceniem można jednocześnie zamienić wszystkie pojawienia się słowa Kowalski na słowo Nowak w zmiennej a?
A. $a = str_rep('Kowalski', 'Nowak', $a);
B. $a = str_replace('Nowak', 'Kowalski');
C. $a = str_replace('Nowak', 'Kowalski', $a);
D. $a = str_replace('Kowalski', 'Nowak', $a);
Wybór niepoprawnych odpowiedzi wskazuje na niezrozumienie funkcji str_replace w PHP oraz na błędne podejście do wymiany tekstu. Odpowiedź $a = str_replace('Nowak', 'Kowalski'); jest błędna, ponieważ próbuje zamienić 'Nowak' na 'Kowalski', co nie odpowiada zadaniu polegającemu na zamianie 'Kowalski' na 'Nowak'. To pokazuje brak zrozumienia kierunku działania funkcji. Kolejna odpowiedź $a = str_rep('Kowalski', 'Nowak', $a); jest niepoprawna, ponieważ str_rep nie jest właściwą funkcją w PHP. Powoduje to, że kod nie zadziała, co wskazuje na niezrozumienie dokumentacji PHP oraz dostępnych funkcji. Ostatnia niepoprawna odpowiedź $a = str_replace('Nowak', 'Kowalski', $a); zawiera tę samą pomyłkę co pierwsza, gdyż zamiana jest odwrotna do tego, co jest wymagane. Te wybory mogą wynikać z mylnego przekonania, że zamiana tekstu działa w obu kierunkach lub że funkcje mogą być używane z dowolnymi nazwami, co jest nieprawdziwe. W przypadku manipulacji tekstem w PHP, istotne jest zrozumienie dokładnej struktury oraz parametrów funkcji, a także ich funkcjonalności. Dlatego szczególnie ważne jest zapoznanie się z dokumentacją oraz zrozumienie, jak działają funkcje, zanim zostaną zastosowane w praktyce.
B. jest błędny, ponieważ indeksami tablicy mogą być wyłącznie liczby całkowite
C. definiuje tablicę z trzema wartościami
D. określa tablicę zawierającą sześć wartości
W tym przypadku mówimy o tablicach w PHP, które są podstawą zarządzania danymi w tym języku. Jednak stwierdzenie, że tablice asocjacyjne mogą mieć tylko klucze liczbowe, to nieprawda. W rzeczywistości klucze asocjacyjne mogą być wszelkimi wartościami skalarnymi, a najczęściej używa się ciągów znaków dla lepszej czytelności kodu. Operator '=>' w PHP jest powszechnie stosowany do przypisywania wartości do kluczy tablic asocjacyjnych, co jest totalnie normalne. Wydaje mi się, że błędne rozumienie tego operatora może pochodzić z braku praktyki z PHP albo z mieszania z innymi językami. Przykład zawiera trzy pary klucz-wartość, więc twierdzenie, że definiuje sześć wartości, jest grube nieporozumienie. Zrozumienie, jak PHP działa z tablicami, jest kluczowe, zwłaszcza w aplikacjach webowych, bo tablice są mega przydatne do przetwarzania danych. Dlatego warto przyłożyć się do analizowania struktury tych tablic, co pomoże unikać błędów w projektach.
Pytanie 14
$n = '[email protected]'; $dl = strlen($n); $i = 0; while ($i < $dl && $n[$i] != '@') { echo $n[$i]; $i++; } Fragment kodu w języku PHP wyświetli
Analizując niepoprawne odpowiedzi, warto zwrócić uwagę na kilka kluczowych aspektów. W przypadku odpowiedzi, która wskazuje na wypisanie nazwy konta ze znakiem '@', należy zauważyć, że kod w rzeczywistości nie wlicza znaku '@' do wypisywanej wartości. Działanie pętli opiera się na warunku przerywającym, który kończy iterację przed napotkaniem '@', co oznacza, że nie może on znaleźć się w rezultacie. Z kolei wskazanie, że kod wypisze cały adres e-mail jest błędne, ponieważ pętla jest zaprojektowana tak, aby zakończyć działanie przed osiągnięciem znaku '@', więc taki wynik nie jest możliwy. Ostatnia niepoprawna odpowiedź, sugerująca, że kod wypisze samą nazwę domeny, jest również myląca. W kodzie nie ma logiki, która pozwalałaby na wyodrębnienie części po znaku '@'; zamiast tego pętla przerywa działanie, gdy osiągnie ten znak. Jest to kluczowe, aby zrozumieć, że kod nie ma mechanizmu do analizy lub rozdzielania adresu e-mail po znaku '@'. Wszystkie te odpowiedzi pokazują niezrozumienie, jak działają operacje na ciągach w PHP oraz logikę pętli, która w kontekście tego fragmentu kodu jest fundamentalna dla uzyskania prawidłowego wyniku.
Pytanie 15
W języku HTML, atrybut shape w znaczniku area, który definiuje typ obszaru, może mieć wartość
A. rect, poły, circle
B. rect, sąuare, circle
C. style="margin-bottom: 0cm;">rect, triangle, circle
D. style="margin-bottom: 0cm;">poły, square, circle
W przypadku odpowiedzi, które nie są poprawne, należy zwrócić uwagę na kilka kluczowych aspektów. Po pierwsze, wartości 'triangle' oraz 'square' nie są uznawane w atrybucie shape znacznika area w HTML. Zamiast tego, 'triangle' nie ma odpowiedniego wsparcia w standardach, a więc nie może być używane do definiowania obszarów na mapach obrazów. Również 'square', chociaż może przypominać prostokąt, nie ma odrębnej definicji i nie jest akceptowany w specyfikacji. Mapa obrazów ogranicza się do określonych kształtów, takich jak 'rect', 'circle' oraz 'poly', co czyni te odpowiedzi niepoprawnymi. Dodatkowo, wspomnienie o 'sąuare' wskazuje na literówkę, co również podważa poprawność tej opcji. Termin 'poły' nie tylko nie istnieje w kontekście atrybutu shape, ale także nie odnosi się do żadnego znanego kształtu w HTML. Zrozumienie właściwych terminów oraz ich zastosowania w HTML jest kluczowe dla tworzenia funkcjonalnych stron internetowych, a każda niepoprawna odpowiedź może prowadzić do mylących implementacji.
Pytanie 16
Który z wymienionych formatów umożliwia zapisanie materiału wideo z towarzyszącą ścieżką dźwiękową?
A. AAC
B. WMA
C. WAV
D. MP4
Odpowiedź MP4 jest poprawna, ponieważ jest to jeden z najpopularniejszych formatów kontenerowych używanych do przechowywania wideo wraz z dźwiękiem. Format MP4 (MPEG-4 Part 14) pozwala na efektywne kodowanie wideo, przy jednoczesnym zachowaniu wysokiej jakości obrazu i dźwięku. Umożliwia on przechowywanie różnorodnych strumieni danych, w tym wideo, audio, a także tekstu, co czyni go bardzo wszechstronnym rozwiązaniem dla twórców multimediów. Przykładowo, format MP4 jest często używany w aplikacjach do strumieniowania wideo, takich jak YouTube, oraz w systemach zarządzania treścią (CMS) do publikacji materiałów wideo w Internecie. Dzięki kompresji zgodnej z kodekiem H.264 dla wideo i AAC dla audio, pliki MP4 są względnie małe, co ułatwia ich przesyłanie i przechowywanie. To czyni format MP4 standardem branżowym w produkcji filmowej, telewizyjnej oraz w aplikacjach mobilnych i webowych.
Pytanie 17
W formularzu dane z pola input o typie number zostały przypisane do zmiennej a, a następnie przetwarzane w skrypcie JavaScript w następujący sposób var x = parseFloat(a); Jaki typ będzie miała zmienna x?
A. liczbowego, całkowitego
B. zmiennoprzecinkowego
C. napisowego
D. NaN
Typowe błędy myślowe mogą prowadzić do mylnego rozumienia, że zmienna x mogłaby przyjąć postać NaN, czyli "Not-a-Number". NaN pojawia się, gdy operacje matematyczne są wykonywane na danych, które nie mogą być zinterpretowane jako liczby. Jednakże w kontekście użycia funkcji parseFloat(), jeśli a nie zawiera prawidłowej liczby, to wynikiem będzie NaN, ale nie oznacza to, że z definicji x zawsze będzie NaN. Istnieje również przekonanie, że parseFloat() może zwrócić typ napisowy. W rzeczywistości, funkcja ta zawsze stara się zwrócić typ liczbowy - w przypadku błędnych danych wynik będzie NaN, a nie typem string. Z kolei odpowiedź, że zmienna x będzie liczbą całkowitą jest myląca, ponieważ parseFloat() specjalizuje się w konwersji na liczby zmiennoprzecinkowe, a nie całkowite. W JavaScript, liczby całkowite także są traktowane jako liczby zmiennoprzecinkowe, co może wprowadzać w błąd. Aby zrozumieć, jak działa konwersja typów w JavaScript, warto zaznajomić się z zasadami typowania dynamicznego oraz metodami konwersji danych, takimi jak parseInt() dla liczb całkowitych. Przykłady poprawnych i niepoprawnych danych wejściowych mogą wyjaśnić, dlaczego zrozumienie typów danych i konwersji jest kluczowe w programowaniu.
Pytanie 18
Posiadając tabelę zawierającą zwierzeta z kolumnami nazwa, gatunek, gromada, cechy, dlugosc_zycia, aby uzyskać listę nazw zwierząt, które żyją co najmniej 20 lat oraz należą do ssaków, należy wykonać zapytanie:
A. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';
B. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 OR gromada = 'ssak';
C. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
D. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20;
Zapytanie SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 AND gromada = 'ssak'; jest prawidłowe, ponieważ łączy dwa kluczowe warunki, które muszą być spełnione, aby uzyskać pożądane wyniki. W tym przypadku chcemy wyświetlić nazwy zwierząt, które żyją co najmniej 20 lat oraz należą do gromady ssaków. Operator AND w SQL jest stosowany do łączenia warunków, co oznacza, że tylko te rekordy, które spełniają oba warunki, zostaną zwrócone. Przykładem zastosowania takiego zapytania może być analiza danych w zoologii lub biologii, gdzie istotne jest zrozumienie, które gatunki mają długowieczność i są ssakami. Takie zapytanie można również wykorzystać w praktyce, na przykład w aplikacjach ewidencjonujących zwierzęta w ogrodach zoologicznych czy rezerwatach, pomagając w podejmowaniu decyzji o ich ochronie lub hodowli. Zastosowanie dobrych praktyk w SQL polega na precyzyjnym definiowaniu kryteriów, co pozwala na efektywne przetwarzanie i analizowanie danych.
Pytanie 19
Aby przeanalizować rozkład ilościowy różnych kolorów na zdjęciu, należy skorzystać z
A. rozmycia Gaussa
B. balansu kolorów
C. histogramu
D. desaturacji
Desaturacja to taki proces, który sprawia, że kolory w obrazku są mniej intensywne, co czasem prowadzi do efektu czarno-białego albo po prostu bardziej stonowanej kolorystyki. Moim zdaniem, w niektórych sytuacjach może się to przydać, ale nie daje informacji o tym, jak kolory się rozkładają. Ludzie mogą pomyśleć, że desaturacja pomoże im w analizie kolorów, ale tak naprawdę to tylko zasłania różnice i nie ujawnia, co tak naprawdę jest w obrazie. Balans kolorów to sprawa dostosowywania intensywności poszczególnych kolorów, co zmienia wygląd zdjęcia, ale też nie mówi nic o ich ilościowym rozkładzie. A rozmycie Gaussa to sposób na wygładzanie obrazów, żeby zredukować szumy, a nie do analizy kolorów. Wybierając jedną z tych opcji, można łatwo pomylić się i sądzić, że zyskuje się jakieś dane o rozkładzie kolorów, podczas gdy tak naprawdę żadna z tych metod tego nie robi. Dlatego lepiej trzymać się histogramu, bo on naprawdę pokazuje, co się dzieje z kolorami w obrazach.
Pytanie 20
W PHP zmienna typu float może przyjmować wartości
A. zmiennoprzecinkowe.
B. nieliczbowe.
C. logiczne.
D. jedynie całkowite.
Wybór odpowiedzi związanych z typami danymi innymi niż zmiennoprzecinkowe wskazuje na zrozumienie, że zmienne w PHP mogą przyjmować różne formy, jednakże zatrzymuje się na nieprawidłowych założeniach. Zmienna logiczna, choć istotna, przyjmuje jedynie wartości prawda/fałsz, co nie ma związku z typem float. Z kolei nieliczbowe zmienne, takie jak stringi, również nie są odpowiednie, gdyż nie przechowują wartości liczbowych w formacie zmiennoprzecinkowym. Odpowiedź dotycząca tylko liczb całkowitych także jest nieprawidłowa, gdyż pomija kluczowy aspekt float, którym jest możliwość reprezentacji wartości dziesiętnych. Typowe błędy myślowe prowadzące do takich wniosków często wynikają z niepełnego zrozumienia specyfiki typów danych w PHP oraz ich zastosowań. Zrozumienie, że float to kategoria liczb obejmująca zarówno całkowite jak i dziesiętne, jest fundamentalne dla skutecznego programowania. Właściwe użycie typów danych, w tym float, jest kluczowe dla zapewnienia dokładności i efektywności w obliczeniach, zwłaszcza w kontekście aplikacji wymagających precyzyjnych wartości, takich jak rachunkowość czy nauka.
Pytanie 21
Fragment formularza zaprezentowany powyżej został przetworzony w skrypcie PHP. Wskaż poprawny sposób pobierania wartości z pola edycyjnego.
A. name = GET['imie']
B. $name = $POST['Imię']
C. $name = $_POST['imie']
D. name = $_GET[imie]
W przypadku niepoprawnych odpowiedzi kluczowym problemem jest niezrozumienie sposobu działania metod przesyłania danych w HTTP oraz odpowiedniego ich odczytywania w PHP. Odpowiedź z użyciem GET['imie'] pomija istotny element składniowy: znak dolara ($) przed GET, co jest konieczne w PHP dla wszystkich zmiennych. Ponadto, $_GET nie jest odpowiednia dla formularza, który został przesłany metodą POST jak w przedstawionym formularzu; użycie $_GET wskazuje na próbę pobrania danych z URL-a, co nie jest zgodne z metodą POST. Kolejna odpowiedź z użyciem $POST['Imię'] jest błędna z dwóch powodów: brak znaku dolara przy POST oraz niezachowanie poprawnej nazwy klucza który jest case-sensitive. Klucz 'Imię' różni się od 'imie' co prowadzi do błędu, gdy próbujemy odwołać się do nieistniejącego klucza. W PHP, nazwy kluczy w superglobalnych tablicach są case-sensitive, co oznacza, że każde odstępstwo od zadeklarowanej nazwy w formularzu będzie prowadziło do błędów. Te błędy często wynikają z pośpiechu lub niedokładności, co podkreśla wagę staranności i dokładności podczas pracy z kodem. Zarówno GET jak i POST mają swoje zastosowania, ale muszą być używane zgodnie z przeznaczeniem i w odpowiedni sposób, co jest kluczowe dla poprawnego działania aplikacji webowych. Zrozumienie tych różnic jest istotne dla programistów, aby unikać typowych pułapek związanych z bezpieczeństwem i funkcjonalnością aplikacji webowych. Poprawne użycie superglobalnych tablic PHP jest fundamentem tworzenia solidnych i bezpiecznych aplikacji internetowych.
Pytanie 22
Zachowanie integralności encji w bazie danych będzie miało miejsce, jeżeli między innymi
A. dla każdej tabeli zostanie ustanowiony klucz główny
B. klucz główny zawsze będzie liczbą całkowitą
C. każdej kolumnie przypisany zostanie typ danych
D. każdy klucz główny będzie miał odpowiadający mu klucz obcy w innej tabeli
Wszystkie zaproponowane odpowiedzi mogą wydawać się związane z tematyką integralności encji, jednak nie każda z nich rzeczywiście przyczynia się do jej zachowania w kontekście baz danych. Użycie klucza głównego jako liczby całkowitej nie jest kryterium zapewniającym integralność; klucz główny może być również tekstowy lub złożony, o ile spełnia warunki unikalności i braku wartości NULL. Przypisanie typu danych dla każdej kolumny jest ważne dla sprawności operacji na danych, ale samo w sobie nie zapewnia integralności encji, ponieważ nie kontroluje unikalności rekordów. Kolejnym błędnym podejściem jest twierdzenie, że każdy klucz główny musi mieć odpowiadający klucz obcy w innej tabeli. Klucz obcy jest używany do ustanowienia relacji między tabelami, ale nie jest wymagany do zapewnienia integralności encji w pojedynczej tabeli. Klucz główny w jednej tabeli działa niezależnie od kluczy obcych w innych tabelach; jego główną rolą jest zapewnienie, że każdy rekord w tabeli jest unikalny. W praktyce, brak zrozumienia tych koncepcji może prowadzić do projektowania baz danych, które są nieefektywne i trudne do zarządzania, co w dłuższej perspektywie wpływa na jakość danych i ich dostępność.
Pytanie 23
W programie Microsoft Access metodą zabezpieczającą dostęp do danych związanych z tabelą oraz kwerendą jest
A. użycie makr
B. przydzielenie uprawnień
C. nałożenie limitów przestrzeni dyskowej
D. ustalanie przestrzeni tabel
Stosowanie makr w Microsoft Access to funkcjonalność, która umożliwia automatyzację procesów, ale nie stanowi bezpośredniego mechanizmu zabezpieczeń dostępu do danych. Makra pozwalają na tworzenie sekwencji działań, które ułatwiają użytkownikom interakcję z bazą danych, lecz ich użycie nie ma na celu ograniczenia dostępu do określonych zasobów. Z kolei określanie przestrzeni tabel dotyczy zarządzania strukturą bazy danych, a nie zabezpieczeń. Przestrzeń tabel odnosi się do alokacji pamięci dla danych i nie wpływa na kontrolę dostępu, co czyni tę odpowiedź nieadekwatną w kontekście pytania. Wprowadzenie limitów przestrzeni dyskowej również nie jest metodą zabezpieczającą dostęp do danych, ale raczej sposobem na zarządzanie zasobami serwera bazy danych. Limity te mogą mieć znaczenie w kontekście zarządzania kosztami operacyjnymi, jednak nie mają zastosowania w ochronie danych przed nieautoryzowanym dostępem. Dlatego przypisanie uprawnień stanowi istotny element polityki bezpieczeństwa, podczas gdy pozostałe odpowiedzi są mniej związane z tematem zabezpieczenia dostępu do danych.
Pytanie 24
W bazie danych istnieje tabela ksiazki, która posiada pola: tytul, id_autora, data_wypoz, id_czytelnika. Codziennie tworzony jest raport dotyczący książek wypożyczonych w danym dniu, który wyświetla jedynie tytuły książek. Która kwerenda SQL jest odpowiednia do generowania tego raportu?
A. SELECT * FROM ksiazki
B. SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE()
C. SELECT tytul, data_wypoz FROM ksiazki WHERE data_wypoz = CURRDATENT_E()
D. SELECT tytul FROM ksiazki
Wybór innych kwerend związany jest z różnymi nieprawidłowymi założeniami. Kwerenda SELECT tytul FROM ksiazki; nie uwzględnia żadnego filtrowania daty wypożyczenia, przez co generowany raport zawierałby wszystkie tytuły książek, niezależnie od daty ich wypożyczenia. Takie podejście jest nieefektywne, ponieważ nie spełnia założonego celu raportu, jakim jest prezentacja książek wypożyczonych jedynie w danym dniu. Z kolei SELECT * FROM ksiazki; zwraca wszystkie kolumny z tabeli książek, co prowadzi do nadmiaru danych i utrudnia analizę wyników. Raport powinien być zwięzły i dostarczać tylko istotnych informacji. Kwerenda SELECT tytul, data_wypoz FROM ksiazki WHERE data_wypoz = CURRDATENT_E(); zawiera literówkę i jest niepoprawna syntaktycznie. Warto zwrócić uwagę na typowe błędy, takie jak błędne użycie funkcji i brak filtracji danych, które mogą prowadzić do nieefektywnych i nieczytelnych raportów. Dobrą praktyką jest zawsze dokładne zrozumienie celu zapytania oraz odpowiednie stosowanie klauzul WHERE, aby uniknąć zbędnych danych i skupić się na analizie konkretnych przypadków.
Pytanie 25
Które z poniższych twierdzeń najlepiej opisuje klasę Owoc zdefiniowaną w PHP i przedstawioną w kodzie?
class Owoc { public $nazwa; private $kolor; function set_nazwa($nazwa) { $this->nazwa = $nazwa; } }
A. Zawiera dwa pola oraz jedną metodę, pole nazwa ma widoczność ograniczoną tylko do metod klasy
B. Zawiera jedno pole oraz dwie metody, przy czym jedna z metod ma zakres prywatny
C. Zawiera dwa pola oraz jedną metodę, pole kolor ma widoczność ograniczoną jedynie do metod klasy
D. Zawiera dwa pola oraz jeden konstruktor, oba pola mają widoczność ograniczoną tylko do metod klasy
Błędne odpowiedzi wynikają z niezrozumienia zakresów widoczności oraz struktury klasy w PHP. Klasa Owoc ma dwa pola: $nazwa i $kolor. Pole $nazwa jest publiczne, co oznacza, że jest dostępne z dowolnego miejsca, które posiada instancję klasy. Natomiast $kolor jest prywatne, co ogranicza jego dostępność tylko do metod wewnątrz klasy. To kluczowy aspekt programowania obiektowego, gdzie stosowanie modyfikatora private zapewnia, że dane nie mogą być modyfikowane bezpośrednio z zewnątrz, chroniąc integralność obiektu. W konstrukcji tej klasy znajduje się również tylko jedna metoda: set_nazwa, która służy do ustawiania wartości pola $nazwa. Brak jest tutaj konstruktora, co wyklucza błędną odpowiedź sugerującą jego obecność. Konstruktor w PHP definiuje się jako funkcję __construct i służy do inicjalizacji obiektu przy jego tworzeniu. Każda z niepoprawnych odpowiedzi błędnie interpretuje strukturę i dostępność elementów klasy. Często popełnianym błędem jest mylenie zakresów widoczności pola publicznego i prywatnego, oraz brak rozpoznania i zastosowania dobrych praktyk, takich jak enkapsulacja, która jest jednym z filarów programowania obiektowego, mającym na celu ukrycie wewnętrznej implementacji oraz ochronę danych przed nieautoryzowanym dostępem.
Pytanie 26
Który fragment kodu stanowi zamiennik dla kodu umieszczonego w ramce?
A. C
B. B
C. A
D. D
Odpowiedzi B i D są nieprawidłowe ponieważ ignorują kluczową część logiki oryginalnego kodu mianowicie filtrację parzystych liczb. Odpowiedź B iteruje przez wszystkie liczby od 1 do 55 wypisując je wszystkie bez wyjątku co diametralnie odbiega od zamierzonego wyniku kodu źródłowego. Odpowiedź D jest identyczna z B z tym że format zapisu jest nieco odmienny nie ma to jednak wpływu na logikę działania co czyni ją również błędną. Odpowiedź C inicjuje pętlę od 2 i inkrementuje x o 2 co teoretycznie powinno zbliżyć się do rozwiązania jednak zakres iteracji kończy się na 56 co wykracza poza zadany limit 55 oraz wypisuje nieistniejącą w oryginalnej pętli dodatkową liczbę co jest błędne. Wybory te mogą wynikać z niewłaściwego zrozumienia zakresu pętli lub metody przeskakiwania wartości co jest częstym błędem przy interpretacji pętli iteracyjnych. Kluczowe jest zrozumienie jak zastosowana logika i zakres wpływają na wynik końcowy oraz jak można optymalnie odwzorować te zasady w alternatywnym kodzie.
Pytanie 27
Zapytanie MySQL przedstawione poniżej ma na celu ```ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL;```
A. dodać kolumnę tytul do tabeli ksiazki
B. zmienić typ kolumny tytul w tabeli ksiazki
C. zmienić nazwę kolumny w tabeli ksiazki
D. usunąć kolumnę tytul z tabeli ksiazki
Polecenie 'ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL;' służy do zmiany typu danych lub ograniczeń kolumny w istniejącej tabeli. W tym przypadku modyfikujemy kolumnę 'tytul' w tabeli 'ksiazki', zmieniając jej typ danych na VARCHAR(100) oraz ustawiając ograniczenie NOT NULL. Polecenie MODIFY jest używane w SQL do zmiany struktury kolumny, takiej jak typ danych, długość, czy też dodawanie ograniczeń. Praktyczne zastosowanie tego polecenia można znaleźć w sytuacjach, gdy oryginalna definicja kolumny jest niewystarczająca, np. zwiększenie długości pola tekstowego, aby pomieścić dłuższe wartości. Dobre praktyki przy modyfikacji kolumn obejmują dokładne zrozumienie zmian, które wprowadzasz, oraz testowanie ich w środowisku deweloperskim przed wdrożeniem na żywo. Ważne jest także rozważenie wpływu na istniejące dane oraz wydajność zapytań. Zmiana typu kolumny na VARCHAR z określoną długością jest szczególnie przydatna, gdy chcemy zminimalizować wykorzystanie pamięci w bazie danych.
Pytanie 28
W CSS określono styl dla pola do edycji, które będzie miało tło w kolorze jasnozielonym po aktywacji. ```input:focus { background-color: LightGreen; }```
A. w każdej sytuacji
B. po kliknięciu myszką w celu wprowadzenia tekstu
C. gdy jest to pierwsze użycie tego elementu w dokumencie
D. jeśli zostanie na nie najechane kursorem bez kliknięcia
Odpowiedź "po kliknięciu myszą w celu zapisania w nim tekstu" jest poprawna, ponieważ reguła CSS `input:focus { background-color: LightGreen; }` definiuje styl, który ma zastosowanie, gdy pole edycyjne (input) jest w stanie "focus". Stan ten jest aktywowany, gdy użytkownik klika na pole, co pozwala na wpisywanie tekstu. To podejście jest zgodne z zasadami dostępności i użyteczności interfejsów, ułatwiając użytkownikom interakcję z formularzami. Przykładowo, w formularzach online, takie wizualne wskazanie na aktywne pole poprawia doświadczenie użytkownika, zwiększa czytelność oraz umożliwia łatwiejsze wprowadzanie danych. Warto również pamiętać, że dobrym standardem jest stosowanie kolorów tła, które są kontrastowe w stosunku do kolorów tekstu, aby zapewnić ich czytelność. Ponadto, w praktyce developerskiej, często wykorzystuje się dodatkowe efekty, takie jak animacje, które mogą poprawić interaktywność i wyrazistość reakcji na działania użytkownika. Właściwe stosowanie stylów CSS w kontekście stanu focus jest więc kluczowe dla tworzenia przyjaznych dla użytkownika interfejsów.
Pytanie 29
Na podstawie przypisania wartości do zmiennych zapisanych w języku PHP można stwierdzić, że
Niestety, twoja odpowiedź była nieprawidłowa. Wydaje się, że mogła wynikać z niezrozumienia typów zmiennych w języku PHP. W tym pytaniu zmienna1 była typu int (liczba całkowita), zmienna2 była typu string (ciąg znaków), natomiast zmienna3 była wynikiem rzutowania zmiennej1 na typ string. Stąd wynika, że zmienna2 i zmienna3 są obie typu string. Natomiast zmienna1, pomimo że miała taką samą wartość jak zmienna2 i zmienna3 (15), nie była tego samego typu. W językach programowania typ danych jest ważny, szczególnie przy operacjach porównania czy połączenia różnych typów danych. PHP jest językiem o dynamicznych typach, co oznacza, że typ zmiennej może ulec zmianie w trakcie wykonania skryptu, ale mimo to warto zawsze świadomie operować na typach zmiennych.
Pytanie 30
Podano fragment kodu PHP, w którym znajduje się zadeklarowana zmienna typu tablica. Jakie imię zostanie wyświetlone po wykonaniu tego kodu?
A. Aleksandra
B. Tomasz
C. Krzysztof
D. Anna
W zadanym pytaniu istotne jest zrozumienie indeksowania tablic w PHP które jest językiem o indeksowaniu zerowym. Oznacza to że pierwszy element tablicy ma indeks 0 drugi ma indeks 1 i tak dalej. Częstym błędem jest intuicyjne przypisywanie pierwszemu elementowi indeksu 1 co prowadzi do niepoprawnych wyników. W przypadku omawianego kodu tablica zawiera elementy: 'Anna' 'Tomasz' 'Krzysztof' i 'Aleksandra'. Aby uzyskać dostęp do trzeciego elementu należy użyć indeksu 2 a nie 3. Element o indeksie 2 w tej tablicy to 'Krzysztof' co jest poprawną odpowiedzią. Pomyłki w indeksowaniu mogą prowadzić do trudnych do zdiagnozowania błędów w programach takich jak 'undefined offset' gdy próbujemy uzyskać dostęp do nieistniejącego indeksu. Dlatego ważne jest aby zawsze weryfikować zakres i poprawność używanych indeksów zwłaszcza w skomplikowanych strukturach danych. Dodatkowo warto zaznaczyć że w niektórych językach programowania takie jak Python indeksowanie również jest zerowe co pozwala na łatwiejsze przejście pomiędzy różnymi językami programowania bez zmiany mentalnego modelu działania tablic.
Pytanie 31
Do ilu pól edycyjnych zostanie przypisane tło Teal dla przedstawionego fragmentu dokumentu HTML i stylu CSS?
Wybór niepoprawnej odpowiedzi sugeruje pewne nieporozumienia dotyczące zasad działania CSS i tego, jak style są aplikowane do elementów HTML. Wszystkie niepoprawne odpowiedzi sugerują, że tło Teal zostanie przypisane do innej liczby pól edycyjnych niż faktycznie. W tym przypadku, tło Teal jest zdefiniowane w stylu CSS i ma być zastosowane tylko do pól typu 'number'. W HTML, możemy określić różne typy pól edycyjnych, takie jak 'text', 'number', 'email' i inne. Typy te są używane przez przeglądarki, aby dostarczyć odpowiednie interfejsy użytkownika dla różnych typów danych. Niezrozumienie tego może prowadzić do błędnych wniosków, jak na przykład ten, że wszystkie pola edycyjne otrzymają styl, czy że żadne pole nie otrzyma stylu. Ważne jest, aby zrozumieć, jak selektory atrybutów w CSS pozwalają na precyzyjne określenie, do jakich elementów powinien być zastosowany dany styl.
Pytanie 32
Aby uzyskać dane z tabeli pracownicy dotyczące jedynie osób, które ukończyły 26 lat, należy zastosować zapytanie
A. SELECT * FROM pracownicy AND wiek > 25
B. SELECT * FROM wiek WHERE pracownicy > 25
C. SELECT * FROM pracownicy WHERE wiek > 25
D. SELECT * FROM pracownicy OR wiek > 25
Pierwsza z niepoprawnych odpowiedzi wykorzystuje operator OR, co sprawia, że zapytanie nie działa zgodnie z zamierzonym celem. W SQL operator OR działa w taki sposób, że zwraca rekordy, które spełniają przynajmniej jeden z warunków. Zatem, zapis 'SELECT * FROM pracownicy OR wiek > 25;' zwróciłby wszystkie rekordy z tabeli, co jest sprzeczne z wymaganiem, aby wyświetlić tylko pracowników powyżej 26 roku życia. Druga odpowiedź stosuje operator AND, który również nie jest poprawnie użyty. Zapis 'SELECT * FROM pracownicy AND wiek > 25;' jest błędny, ponieważ operator AND musi być użyty w klauzuli WHERE, co czyni to zapytanie syntaktycznie niepoprawnym. Takie użycie nie zwróciłoby żadnych wyników, ponieważ warunki nie są w odpowiedniej składni. W trzeciej odpowiedzi pojawia się całkowicie błędna konstrukcja. Zapis 'SELECT * FROM wiek WHERE pracownicy > 25;' nie ma sensu, ponieważ 'wiek' nie jest tabelą, a 'pracownicy' nie jest kolumną, co sprawia, że każde zapytanie korzystające z tej konstrukcji byłoby niewłaściwe. W SQL musimy zawsze operować na tabelach i kolumnach, które są ze sobą logicznie powiązane, a powyższe zapytanie nie spełnia tego warunku.
Pytanie 33
Który program komputerowy zamienia kod źródłowy, stworzony w danym języku programowania, na język zrozumiały dla komputera?
A. Kompilator
B. Edytor kodu źródłowego
C. Debugger
D. Środowisko programistyczne
Debugger, edytor kodu źródłowego oraz środowisko programistyczne to narzędzia, które pełnią różne funkcje w procesie tworzenia oprogramowania, ale nie są odpowiedzialne za przekształcanie kodu źródłowego na język maszynowy. Debugger to narzędzie, które umożliwia programistom analizowanie i poprawianie błędów w kodzie, pozwalając na zatrzymywanie wykonania programu w określonych punktach, aby sprawdzić wartości zmiennych i stan aplikacji. Choć jest to istotny element procesu programowania, nie zajmuje się kompilacją kodu. Edytor kodu źródłowego służy do pisania i edytowania kodu, jednak nie dokonuje konwersji na język maszynowy; przykładem edytora może być Visual Studio Code czy Sublime Text, które umożliwiają programistom wygodne pisanie kodu, ale same w sobie nie kompilują ani nie interpretują kodu. Środowisko programistyczne (IDE) to zintegrowane środowisko, które łączy edytor kodu, debugger oraz kompilator w jednym narzędziu, co ułatwia proces tworzenia oprogramowania. Mimo że IDE może zawierać kompilator, to jako całość nie jest odpowiedzialne za sam proces kompilacji, lecz raczej za organizację całego procesu programistycznego. Dlatego wszystkie wymienione narzędzia są istotne, ale żadne z nich nie pełni roli kompilatora.
Pytanie 34
Z tabeli mieszkancy trzeba wydobyć unikalne nazwy miast, w tym celu należy użyć wyrażenia SQL zawierającego klauzulę
A. UNIQUE
B. CHECK
C. HAVING
D. DISTINCT
Odpowiedzi takie jak 'UNIQUE', 'CHECK' i 'HAVING' są błędne, ponieważ nie pełnią one funkcji eliminacji duplikatów w kontekście wyboru unikalnych wartości. 'UNIQUE' jest klauzulą, która służy do definiowania ograniczeń w tabelach, gwarantując, że wartości w danej kolumnie są unikalne w kontekście wierszy w tabeli. Jest to przydatne przy projektowaniu schematów baz danych, ale nie jest stosowane w zapytaniach do selekcji danych. 'CHECK' służy do walidacji danych wprowadzanych do tabeli, zapewniając, że spełniają one określone warunki, co jest istotne przy definiowaniu reguł dotyczących wartości, jakie mogą być wprowadzane. Z kolei 'HAVING' jest używane w kontekście grupowania danych, w połączeniu z klauzulą 'GROUP BY', aby filtrować grupy w oparciu o warunki, co jest zupełnie inną operacją niż eliminacja duplikatów. Typowym błędem jest mylenie koncepcji związanych z grupowaniem i selekcją unikalnych wartości. W praktyce, korzystając z 'HAVING', nie uzyskamy unikalnych wartości z kolumny bez wcześniejszego użycia 'GROUP BY', co sprawia, że jest to narzędzie bardziej skomplikowane i mniej efektywne w kontekście prostego wyciągania unikalnych danych. Aby właściwie zrozumieć zasady dotyczące zapytań SQL, ważne jest, aby rozróżniać te różne klauzule oraz ich zastosowania, co pozwoli na bardziej świadome i efektywne korzystanie z języka SQL.
Pytanie 35
Jakiej funkcji w języku PHP należy użyć, aby nawiązać połączenie z bazą danych pod nazwą zwierzaki?
A. $polacz = sql_connect('localhost', 'root', '', 'zwierzaki')
B. $polacz = mysqli_connect('localhost', 'root', '', 'zwierzaki')
C. $polacz = db_connect('localhost', 'root', '', 'zwierzaki')
D. $polacz = server_connect('localhost', 'root', '', 'zwierzaki')
Odpowiedź $polacz = mysqli_connect('localhost', 'root', '', 'zwierzaki'); jest poprawna, ponieważ wykorzystuje funkcję mysqli_connect, która jest dedykowana do nawiązywania połączeń z bazami danych MySQL w języku PHP. Funkcja ta przyjmuje cztery argumenty: adres serwera (w tym przypadku 'localhost'), nazwę użytkownika ('root'), hasło (które jest puste w tym przykładzie) oraz nazwę bazy danych ('zwierzaki'). Użycie mysqli jest zgodne z aktualnymi standardami i dobrą praktyką w programowaniu, ponieważ oferuje szereg usprawnień w porównaniu do starszych metod, takich jak mysql_connect, które zostały usunięte w nowszych wersjach PHP. Mysqli (MySQL Improved) wspiera zarówno programowanie obiektowe, jak i proceduralne, co czyni go bardziej elastycznym. W przypadku nawiązywania połączenia warto również pamiętać o obsłudze błędów, co można osiągnąć poprzez dodatkowe sprawdzenie, czy połączenie zostało nawiązane pomyślnie za pomocą funkcji mysqli_connect_error(). Przykład poprawnego użytkowania w kodzie mógłby wyglądać następująco: $polacz = mysqli_connect('localhost', 'root', '', 'zwierzaki'); if (!$polacz) { die('Connection failed: ' . mysqli_connect_error()); }
Pytanie 36
W tabeli dania, której wiersze przedstawione są poniżej, wykonano kwerendę ```SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;``` Ile wierszy zostanie wybranych przez tę kwerendę?
A. 5
B. 2
C. 8
D. 13
Trochę nie tak zrozumiałeś, jak działają klauzule 'WHERE' i 'LIMIT' w SQL. Klauzula 'WHERE' filtruje wiersze, a w tym przypadku miały być dwa warunki: 'typ' musi być mniejszy od 3 i 'cena' mniejsza od 30. Te warunki są połączone przez AND, więc wszystkie muszą być spełnione naraz. W tabeli tylko jeden wiersz to spełnia. Klauzula 'LIMIT' natomiast ustala maksymalną liczbę wierszy, które mogą się pojawić w wynikach, ale tu, nawet z limitem 5, wynik się nie zmienia, bo tylko jeden wiersz spełnia te kryteria. Zrozumienie, jak to wszystko współdziała, jest naprawdę ważne, żeby dobrze korzystać z SQL.
Pytanie 37
Która z metod wyświetlenia tekstu nie jest określona w języku JavaScript?
A. Właściwość innerHTML
B. Funkcja MessageBox()
C. Funkcja window.alert()
D. Metoda document.write()
Każda z podanych odpowiedzi, oprócz Funkcji MessageBox(), jest technicznie poprawna w kontekście języka JavaScript. Własność innerHTML pozwala na manipulację zawartością HTML elementów na stronie, co jest powszechnie stosowane w aplikacjach webowych do dynamicznego aktualizowania treści. Przykład użycia innerHTML: document.getElementById('elementId').innerHTML = '
Nowy tekst!
'; co zmienia zawartość elementu o określonym identyfikatorze na nowy tekst. Metoda window.alert() jest również powszechnie używana do informowania użytkowników o ważnych informacjach w prosty sposób, chociaż może być uważana za nieco przestarzałą w kontekście nowoczesnego UX. Dobrą praktyką jest unikanie nadmiernego korzystania z alertów, które mogą irytować użytkowników. Metoda document.write() z kolei, choć używana do dodawania treści do strony, jest zalecana do stosowania wyłącznie w kontekście ładowania strony, ponieważ użycie tej metody po załadowaniu strony może prowadzić do nadpisania całego dokumentu, co może być mylące i problematyczne. Dlatego ważne jest, aby zrozumieć kontekst użycia różnych metod JavaScript, aby uniknąć typowych pułapek i poprawić jakość interakcji użytkownika z aplikacjami webowymi.
Pytanie 38
W formularzu dokumentu PHP znajduje się pole <input name="im">. Gdy użytkownik wprowadzi tekst "Janek", aby dodać wartość tego pola do bazy danych, w tablicy $_POST będzie obecny element
A. Janek z następującym numerem indeksu
B. im o indeksie Janek
C. Janek o indeksie im
D. im z następującym numerem indeksu
Odpowiedzi wskazujące na istnienie dodatkowych numerów indeksów lub powiązań między wartością a nazwą pola są błędne, ponieważ nie odzwierciedlają rzeczywistego działania PHP w kontekście formularzy. W przypadku, gdy użytkownik wpisuje "Janek" w polu o nazwie 'im', PHP nie przypisuje tej wartości do jakiegoś indeksu numerowanego. Tablica $_POST operuje na zasadzie klucz-wartość, gdzie klucz jest nazwą pola w formularzu, a wartość to wprowadzone dane. Zatem klucz 'im' w tablicy $_POST zostałby skojarzony bezpośrednio z wartością 'Janek' jako jego wartość. Każda inna koncepcja, taka jak dodawanie numerów indeksów czy zamiana wartości z kluczem, jest myląca. Typowe błędy myślowe związane z tym zagadnieniem obejmują niezrozumienie, że PHP nie tworzy dynamicznych kluczy w tablicach na podstawie wartości, a jedynie przypisuje wartości do zdefiniowanych kluczy. Z tego powodu, żeby skutecznie operować na danych z formularzy, programiści muszą dokładnie rozumieć, jak działa tablica $_POST oraz jak poprawnie przetwarzać dane wejściowe w PHP, unikając przy tym błędnych interpretacji ich struktury.
Pytanie 39
char str1[30] = 'Ala ma kota'; printf("%s", str1); Wskaż, w czym tkwi błąd w kodzie napisanym w języku C++?
A. Tekst powinien mieć dokładnie 30 znaków
B. W funkcji printf nie można używać formatowania %s
C. Tekst powinien być zawarty w cudzysłowach
D. Do funkcji printf przekazano za mało argumentów
Podane odpowiedzi zawierają kilka powszechnych nieporozumień dotyczących języka C/C++. Użycie 30 znaków do definiowania napisu nie jest kluczowe, ponieważ długość napisu może być zmienna, a w przypadku napisu \"Ala ma kota\" jego długość wynosi 13 znaków, co jest znacznie mniej niż 30. Definiowanie napisu w taki sposób nie stwarza problemu, o ile tablica jest wystarczająco duża, aby pomieścić cały napis wraz z terminatorem '\0'. Koncepcja przekazywania argumentów do funkcji printf również jest źle zrozumiana, ponieważ funkcja ta przyjmuje jako argument wskaźnik do napisu, a nie liczbę argumentów. Wspomnienie o formacie %s w funkcji printf jest mylące, ponieważ format procentowy %s jest poprawny i stosowany w celu wyświetlenia łańcucha tekstowego. To są standardowe praktyki w C/C++, a ich nieznajomość może prowadzić do błędnych wniosków. Istotne jest rozumienie, że każdy z tych błędów wynika z niepełnego zrozumienia zasad działania języka, co może prowadzić do trudności w pisaniu poprawnego kodu. Właściwa interpretacja tych zasad jest niezbędna do skutecznego programowania.
Pytanie 40
Programista stworzył pętlę w języku C++, która miała za zadanie obliczyć wynik 5! (5! = 1 * 2 * 3 * 4 * 5). Niestety, popełnił błąd logiczny, gdyż ```int a = 1; for (int i=1; i < 5; i++) { a = a * i; } cout << a;```
A. zmienna a powinna być początkowo ustawiona na 0 zamiast 1
B. zmienna i pętli powinna być zmniejszana, a nie zwiększana
C. zmienna i w pętli powinna być rozpoczynana od 0, a nie od 1
D. w drugim parametrze pętli powinno być porównanie i < 6 zamiast i < 5
Zmienna a, odpowiedzialna za przechowywanie wyniku, nie powinna być inicjowana wartością 0, gdyż każdy wynik mnożenia przez 0 również daje 0, co zniweczyłoby cały proces obliczeniowy. Inicjalizacja zmiennej wartością 1 jest odpowiednia, ponieważ jest to element neutralny dla mnożenia. Pomysł inicjowania parametru i pętli wartością 0 zamiast 1 jest błędny, ponieważ obliczanie silni wymaga rozpoczęcia od wartości 1, nie 0. Rozpoczęcie od 0 jest odpowiednie dla iteracji związanych z indeksami tablic w wielu językach programowania, ale nie w przypadku obliczeń liczbowych, takich jak silnia. Dekrementacja parametru i zamiast inkrementacji w kontekście silni jest nieodpowiednia, ponieważ wymagałaby przebiegania pętli wstecz od większej wartości do 1, co komplikuje logikę i zwiększa ryzyko błędów logicznych. Takie podejście nie tylko odbiega od standardowych praktyk, ale również jest mniej czytelne i trudniejsze do zrozumienia oraz utrzymania. Dobre praktyki kodowania zalecają, aby pętla for była używana w sposób, który jest intuicyjnie zrozumiały i logiczny, co oznacza inkrementację w przypadku iteracji przez rosnące wartości. Ustalenie poprawnego warunku zakończenia pętli jest kluczowe dla otrzymania właściwego wyniku, a w przypadku obliczania silni, musi obejmować wszystkie liczby w zakresie od 1 do n. Zrozumienie tych podstawowych zasad jest niezbędne dla każdego programisty, aby unikać powszechnych błędów logicznych w algorytmach.
Strona wykorzystuje pliki cookies do poprawy doświadczenia użytkownika oraz analizy ruchu. Szczegóły
Polityka plików cookies
Czym są pliki cookies?
Cookies to małe pliki tekstowe, które są zapisywane na urządzeniu użytkownika podczas przeglądania stron internetowych. Służą one do zapamiętywania preferencji, śledzenia zachowań użytkowników oraz poprawy funkcjonalności serwisu.
Jakie cookies wykorzystujemy?
Niezbędne cookies - konieczne do prawidłowego działania strony
Funkcjonalne cookies - umożliwiające zapamiętanie wybranych ustawień (np. wybrany motyw)
Analityczne cookies - pozwalające zbierać informacje o sposobie korzystania ze strony
Jak długo przechowujemy cookies?
Pliki cookies wykorzystywane w naszym serwisie mogą być sesyjne (usuwane po zamknięciu przeglądarki) lub stałe (pozostają na urządzeniu przez określony czas).
Jak zarządzać cookies?
Możesz zarządzać ustawieniami plików cookies w swojej przeglądarce internetowej. Większość przeglądarek domyślnie dopuszcza przechowywanie plików cookies, ale możliwe jest również całkowite zablokowanie tych plików lub usunięcie wybranych z nich.