Lista wyjaśnień
Kodowanie i modelowanie
Podtematy
Kodowanie informacji za pomocą obrazu

Informacje o świecie musimy w jakiś sposób zapisywać (czyli kodować). Typowym przykładem takiego zapisu jest pismo. Jeśli na przykład mamy wizytę u dentysty we wtorek o 9:00, kodujemy tę informację w kalendarzu za pomocą słowa „dentysta”. To jednak nie jest jedyna możliwość — zamiast pisać słowo, moglibyśmy w kalendarzu narysować obrazek dentysty.
Kodowanie informacji za pomocą obrazków było stosowane jako wczesne stadium pisma (tzw. pismo piktograficzne lub obrazkowe). Ale obrazki były potrzebne nie tylko ludziom pierwotnym, którzy ciosali w swoich kamiennych kalendarzach różne ważne informacje. Również dziś, mimo że bardzo często korzystamy z pisma, kodowanie informacji za pomocą obrazów ma sens – obrazy są często bardziej czytelne i zrozumiałe.
Typowymi przykładami kodowania informacji za pomocą obrazu są:
- znaki drogowe
- symbole na mapach turystycznych
- symbole używane w prognozie pogody
- piktogramy oznaczające dyscypliny na olimpiadzie
- ikonki w programach komputerowych
Kodowanie tekstu i szyfrowanie
Co wspólnego ma kodowanie i szyfrowanie? Zmieniają postać tekstu. Mają jednak inny cel. Celem szyfrowania jest zachowanie tajemnicy. Kodowanie zaś nie ma utajnić wiadomości, lecz zapisać ją w niezawodny sposób.
Podstawowe kodowanie tekstu było stosowane na długo przed pojawieniem się komputerów. Na przykład alfabet Morse’a służył do przesyłania wiadomości telegrafem. Z kolei pismo Braille’a koduje tekst w formie czytelnej dotykiem. Do kodowania tekstu w komputerach wykorzystuje się metody oparte na liczbach binarnych (zerach i jedynkach).
Kodowanie nie ukrywa wiadomości. Jeśli zapiszemy słowo NOS za pomocą alfabetu Morse’a (-. | — | …), to każdy, kto zna ten alfabet, odczyta je bez problemu. Do utajniania służy szyfrowanie. Ludzkość od zawsze lubiła coś ukrywać, w związku z czym szyfrowanie jest używane prawie tak długo jak samo pismo. Już w starożytności używano prostych szyfrów, na przykład szyfru Cezara. Szyfrowanie wielokrotnie odegrało ważną rolę w historii — kluczowym wydarzeniem było na przykład złamanie niemieckiej maszyny szyfrującej Enigma podczas II wojny światowej.
Szyfrowanie odgrywa ważną rolę także dziś. Bez dobrych szyfrów nie byłby możliwy choćby handel elektroniczny. Każdy użytkownik internetu regularnie korzysta z szyfrowania, często nawet o tym nie wiedząc, ponieważ szyfrowanie jest wykonywane automatycznie przez przeglądarkę internetową.
Szyfrowanie możesz poćwiczyć na kilka sposobów:
- Szyfry podstawowe – podstawowe zasady szyfrowania (transpozycja, substytucja) zilustrowane prostymi przykładami.
- Szyfry z pomysłem – tego typu szyfry nie są stosowane w praktyce, ale świetnie sprawdzają się jako trening logicznego myślenia i test podstawowych umiejętności kryptoanalitycznych.
- Szyfrowanie: pojęcia i zasady – bardziej zaawansowane ćwiczenia skupiające się na sposobach użycia szyfrowania oraz najważniejszych pojęciach.
Grafika rastrowa
W grafice bitmapowej (rastrowej) obrazy zapisywane są jako siatka pikseli. Piksele to punkty, które mają określone położenie w obrazie oraz kolor. Kolory w pikselach kodujemy w pewien z góry ustalony sposób – często używanym modelem jest np. model RGB. Im drobniejsza jest siatka (im więcej pikseli zawiera obraz), tym wyższa będzie jakość i większa szczegółowość obrazu. Ponieważ pikseli nie można dalej dzielić, przy powiększaniu obrazu bitmapowego powiększają się również piksele, co powoduje utratę jakości. Na poniższej ilustracji widzimy, jak można zapisać obraz kółka przy użyciu niewielkiej liczby pikseli.
![]()
Głębia kolorów to liczba barw, jakie może przyjmować jeden piksel. Im większa jest głębia kolorów, tym więcej kolorów mamy do dyspozycji, a obraz może być dzięki temu wyższej jakości. Na poniższej ilustracji widać różnicę między sytuacjami, gdy dostępne są 2 kolory, 4 kolory oraz 256 kolorów.

Rozmiar obrazu bitmapowego jest określony liczbą pikseli. Obraz o wymiarach 1024 × 1024 zawiera 1024 \cdot 1024 (około miliona) pikseli, a jego rozmiar wynosi 1 Mpx (megapiksel). Rozdzielczość to wartość określająca, jak szczegółowy jest obraz. Podaje się ją w jednostkach DPI (dots per inch).
Do góryReprodukcja kolorów
Odwzorcowanie kolorów jest kluczowym aspektem w wielu dziedzinach, np. web designie, fotografii cyfrowej, drukarstwie czy branży filmowej. Istnieje kilka różnych modeli barw, z których najczęściej spotykane to RGB, CMYK i HSL.
RGB (Red-Green-Blue) model powszechnie używany w ekranach i monitorach cyfrowych. Kolory powstają poprzez mieszanie trzech barw podstawowych – czerwonej, zielonej i niebieskiej. Każdy kolor ma przypisaną wartość liczbową w zakresie 0–255. Kody RGB są często zapisywane w systemie szesnastkowym. System ten wykorzystywany jest w programach graficznych, w związku z tym warto orientować się, jakim kolorom odpowiadają poszczególne kody RGB.
CMYK (Cyan-Magenta-Yellow-Key) model stosowany w drukarstwie. Kolory powstają poprzez mieszanie trzech barw podstawowych – cyjanu, magnety i żółci – z czernią.
HSL (Hue-Saturation-Lightness) model najbardziej intuicyjny, opisujący kolory za pomocą trzech parametrów – odcienia, nasycenia i jasności. Odcień zmienia się w zakresie 0–360 stopni, nasycenie określa intensywność koloru, a jasność jego jasność lub ciemność. Model ten umożliwia proste modyfikacje kolorów, takie jak zmiana jasności lub nasycenia.
Do góryInformacje, rozmiar danych
Jednym z głównych zastosowań komputerów jest praca z informacjami i danymi. Informacje możemy zapisywać, przesyłać między komputerami oraz przetwarzać. Aby komputery mogły z nimi pracować, musimy je zakodować, czyli zapisać w ustalony sposób, który będzie dla nich zrozumiały. W komputerze wszystkie dane są kodowane za pomocą zer i jedynek.
Bit jest podstawową i najmniejszą jednostką informacji. Może przyjmować dwie wartości: 0 lub 1. Bity łączą się w bajty (ang. byte), przy czym jeden bajt składa się z 8 bitów. Komputery zazwyczaj operują całymi bajtami, dlatego to właśnie bajt jest najczęściej najmniejszą jednostką, którą komputer potrafi przetwarzać. Z tego powodu pojemność pamięci komputera oraz rozmiar zapisanych w niej plików podaje się w bajtach. Bit oznaczamy małą literą b, a bajt wielką B.
Wszystkie dane w komputerach są zapisywane i przetwarzane jako ciągi bajtów. Ponieważ pliki często składają się z wielu milionów bajtów, do wygodniejszego zapisu ich rozmiaru używa się jednostek wielokrotnych. Dla uproszczenia przeliczania między jednostkami najczęściej przyjmuje się zależność: 1 kB = 1000 B, jednak można również spotkać się z zapisem: 1 kB = 1024 B = 2^{10} B. Analogicznie bywa w przypadku kolejnych jednostek – czasem stosuje się zależności: 1 MB = 1024 kB, 1 GB = 1024 MB itd.
| oznaczenie | nazwa | rozmiar |
|---|---|---|
| kB | kilobajt | 1000 B |
| MB | megabajt | 1000 kB |
| GB | gigabajt | 1000 MB |
| TB | terabajt | 1000 GB |
| PB | petabajt | 1000 TB |
Przeliczenia te obowiązują również wtedy, gdy jednostki te występują w połączeniu z innymi, na przykład jako bit/s albo bajt/s.
Przykłady jednostek złożonych:
| oznaczenie | nazwa | rozmiar |
|---|---|---|
| b/s, bit/s, bps | bit na sekundę | 0,125 B/s |
| kb/s, kbit/s | bit na sekundę | 1000 b/s |
| Mb/s, kbit/s | bit na sekundę | 1000 kb/s |
| Gb/s, kbit/s | bit na sekundę | 1000 Mb/s |
| B/s | bajt na sekundę | 8 b/s |
| kB/s | kilobajt na sekundę | 1000 B/s |
| MB/s | megabajt na sekundę | 1000 kB/s |
| GB/s | gigabajt na sekundę | 1000 MB/s |
| TB/s | terabajt na sekundę | 1000 GB/s |
Przykłady wielkości obiektów w komputerze
| rozmiar | obiekt |
|---|---|
| kilka B | 1 litera angielskiego alfabetu |
| kilka kB | krótki e-mail bez załączników |
| kilkadziesiąt kB | kilkustronnicowy dokument tekstowy bez obrazów |
| kilkaset kB | obraz niskiej jakości |
| kilka MB | książka w pdf, prezentacja z kilkoma zdjęciami |
| kilka GB | film |
| kilka TB | dysk twardy |
| kilka PB | centrum danych |
Grafy izomorficzne
Grafy są izomorficzne, jeśli mają taką samą liczbę wierzchołków i „takie same połączenia”. Nie będziemy tu przytaczać dokładnej definicji matematycznej (można ją znaleźć np. tutaj), ale skupimy się na intuicyjnym zrozumieniu izomorfizmu grafów. Wyobraźmy sobie wierzchołki grafu jako zapałki, a krawędzie jako gumki rozciągnięte między nimi. Zapałki możemy przesuwać, ale graf będzie wciąż taki sam, ponieważ relacje pomiędzy połączeniami pozostają niezmienione. Izomorfizm grafów oznacza właśnie tego rodzaju „niezmienność”. Czy można tak długo przekształcać jeden graf, aż w końcu otrzymamy z niego inny?
Ćwiczenia dotyczące grafów izomorficznych są przydatne nie tyle ze względu na zrozumienie samego zagadnienia, ile jako trening abstrakcyjnego myślenia. Szukając grafów izomorficznych, musimy abstrahować od szczegółów (takich jak dokładny sposób narysowania krawędzi) i skupić się wyłącznie na istotnych relacjach (kto jest z kim połączony).
Do góryModele a rzeczywistość
Model jest uproszczoną reprezentacją rzeczywistości. Skupia się na wybranych cechach lub elementach, ale nawet te upraszcza, dzięki czemu możemy łatwiej wyobrazić sobie pewne rzeczy lub zjawiska. Może to brzmieć trochę abstrakcyjnie, ale z modeli korzystamy w życiu codziennym, choć nie zawsze uświadamiamy sobie, że są to modele.
Typowym przykładem modelu jest mapa. Mapa jest modelem przestrzeni. Przykładowo, mapa turystyczna przedstawia położenie miejsc, odległości, wysokości nad poziomem morza. Pokazuje także przebieg dróg, ale w uproszczonej formie. Wiele elementów rzeczywistości w ogóle nie jest uwzględnionych na mapie. Zwykła mapa nie pokaże nam na przykład aktualnej pogody, koloru budynków ani położenia saren w lesie.
Inne przykłady modeli:
- globus jako model Ziemi,
- modele pogody używane do prognozowania pogody,
- małe samochodziki lub pociągi jako modele prawdziwych samochodów i pociągów,
- model 3D postaci w programie komputerowym,
- schemat łańcucha pokarmowego jako model zależności między zwierzętami w przyrodzie.