background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Wstęp do informatyki 

Wykład 2

Technika analogowa a technika cyfrowa. 

Systemy liczenia i reprezentacje liczb.

Dariusz Mikołajewski

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Definicja informatyki - przypomnienie

Informatyka (ang. informatics, computer science, ale również 

information technology – IT, dosł. technologia informacyjna) 

zajmuje się pozyskiwaniem, przechowywaniem, 

przetwarzaniem, przesyłaniem i interpretacją informacji, 

zarówno w obszarze sprzętu, jak i oprogramowania.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Skrócona historia informatyki - przypomnienie

 

abakus 

układy 

kamieni 

nacięcia 

palce  

u rąk i nóg 

węzełki 

kipu 

liczydła 

Euklides  

IV w. p.n.e.  

Algorytmika – 

nauka o 

tworzeniu 

algorytmów  

 

Muhammad  

Al-Khwarizmi 

IX w. n.e.  

Opis systemu 

 dziesiętnego 

 

J. Napier 

Pałeczki 

Napiera 

oraz tablice 

logarytmów 

Kalkulatory 

mechaniczne: 

 

1642r. 

B. Pascal 

 

1671r. 

G. W. Leibniz 

 

1625r. 

W. Schickard 

C. Babbage 

Maszyna 

różnicowa 

1836-1871 

Maszyna 

analityczna 

 

1801r. 

Jacquard 

Karty 

perforowane 

od 1790r. 

Spisy powszechne 

w USA 

Początki 

przetwarzania 

danych 

 

1835r. 

A. A. Lovelace 

Koncepcja 

programowania 

 

1890r. 

H. Hollerith 

Maszyna 

tabulacyjna 

Początki firmy 

TMC  

przekształconej 

później w IBM 

1945r. 

Maszyna von 

Neumanna 

generacja 0 

komputery na 

przekaźnikach 

elektro- 

magnetycznych 

od 1932r. 

generacja I 

komputery na 

lampach  

elektronowych 

1904r. 
Lampa 

elektronowa 

 

 1933r.  

Kotielnikow 

1948r. 

Shannon 

Twierdzenie o 

próbkowaniu 

sygnałów mowy 

 

1937-1948 

Reeves, Oliver, 

Pierce, Shannon 

System PCM 

(ang.Pulse Code 

Modulation) 

 

1947r. 

Tranzystor 

 

1960r. 

Układ scalony 

 

1969r

Mikroprocesor 

 

od 1958r. 

generacja II 

komputery na 

tranzystorach 

 

od 1968r. 

generacja III 

komputery na 

układach 

scalonych 

 

1972r. 

kalkulator 

inżynierski 

od 1976r. 

generacja IV 

komputery na 

mikro-

procesorach 

 

1976r.  

Apple I 

 

1981r. 

IBM PC 

 

1982r. 

ZX Spektrum 

 

Obecnie: 
generacja  

V plus i VI 

1837r. 

S. Morse 
Telegraf. 

Dwuwartościowy 

sygnał telegraficzny 
podobny do sygnału 

binarnego  

 

1815-1864 

G. Boole 

Dwu-wartościowa 

algebra Boole’a, 

rachunek 

symboliczny 

funkcji zmiennych 

binarnych, 

logika Boole’a 

1945-50r. 

A. M. Turing 

Uniwersalna 

maszyna Turinga 

jako teoretyczny 

model działania 

komputera 

cyfrowego. 

Test Turinga na 

sztuczną 

inteligencję 

komputerów 

1620r. 

E. Gunter 

Skala  

logarytmiczna 

 

1624r. 

H. Briggs 
Dokładne 

tablice 

logarytmów 

 

1632r. 

W. Oughtred 

Suwak 

logarytmiczny 

(kolisty) 

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Sygnały analogowe i cyfrowe

Podział podstawowy:

Sygnał analogowy - jest sygnałem o charakterze ciągłym, zarówno w czasie 

jak i w wartości. 

Charakter ciągły ma większość występujących w naturze wielkości 

fizycznych, m. in. temperatura, ciśnienie, oświetlenie itp.

Sygnał cyfrowy - jest sygnałem dyskretnym ze względu na czas jak i swoją 

wartość

Oznacza to, że sygnał cyfrowy nie może przyjmować dowolnych wartości, a 

jedynie określone poziomy wartości i może to robić jedynie w 

określonych chwilach czasowych. Najczęściej wykorzystywany sygnał 

binarny, jak wskazuje jego nazwa (dwójkowy), może przyjmować tylko 

dwa poziomy wartości, oznaczane umownie jako poziom wysoki i poziom 

niski (np. „1” i ‘0”, w zależności od przyjętej logiki).

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Sygnały analogowe i cyfrowe [2]

Bardziej złożone podziały uwzględniają m. in. podział ze 

względu na wartość (ciąą lub dyskretną) i czas (ciągły lub 

dyskretny), co daje cztery kombinacje:

• sygnał z ciąą wartością i czasem ciągłym,
• sygnał z ciąą wartością i dyskretnym czasem,
• sygnał z dyskretną wartością i czasem ciągłym,
• sygnał z dyskretną wartością i czasem dyskretnym.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Sygnały analogowe i cyfrowe [3]

 

SYGNAŁ ANALOGOWY 

SYGNAŁ CYFROWY 

 momenty charakterystyczne 

 t 

umowny 

poziom wysoki 

umowny  

poziom niski 

 t 

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Sygnały analogowe i cyfrowe - przetwarzanie

Sygnał analogowy może być reprezentowany przez sygnał 

cyfrowy - po poddaniu procesowi przetwarzania analogowo-

cyfrowego. Przetworzenie to jest (z pewnym błędem) odwracalne 

– jako przetwarzanie cyfrowo-analogowe.

Uwaga:

Przetworzenie to nie zawsze zachowuje wszystkie cechy sygnału 
analogowego, ale jest uznawane za wystarczaj
ące, zwłaszcza ż

z reguły wykorzystuje ograniczenia zmysłów człowieka.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Sygnał cyfrowy z punktu widzenia niniejszego wykładu

W technice cyfrowej mamy do czynienia z dwustanowymi 

sygnałami cyfrowymi, tzw. sygnałami binarnymi. 

Sygnały te w ustalonych chwilach czasowych t1,t2,...,tn  mogą 

przyjmować umowne wartości amplitudy 0[V] (tzw. stan niski –

nazwa zależna od przyjętej konwencji, tj. logiki dodatniej lub 

ujemnej) lub +U[V] (tzw. stan wysoki).

W omawianych zastosowaniach wymiennie stosuje się pojęcie: 

sygnał cyfrowy sygnał binarny, gdyż w omawianych obszarach 

jest to równoznaczne

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Dlaczego sygnały cyfrowe?

• odporność na zakłócenia
• możliwość zamiany praktycznie każdego sygnału analogowego 

na cyfrowy bez znacznego (zauważalnego – jeśli to istotne) 
pogorszenia jako
ści transmisji - umożliwia to wykorzystanie 
techniki cyfrowej we wszystkich dziedzinach, równie
ż tam, 
gdzie sygnały docieraj
ące do użytkownika muszą być 
analogowe, aby były odebrane i zrozumiane, jak np. sygnał 
mowy,

• bardzo duża trwałość danych zapisanych na nośnikach 

(ograniczona trwałością samego nośnika) oraz możliwość 
bezstratnego powielania,

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Dlaczego sygnały cyfrowe?

możliwa jest integracja usług i technik – ta sama sieć 
transmisyjna mo
że być wykorzystywana zarówno do 
przesyłania sygnałów telefonicznych, transmisji danych 
tekstowych czy obrazów ruchomych i nieruchomych,

projektowanie urządzeń cyfrowych jest uproszczone dzięki 

unifikacji układów cyfrowych,

możliwość ujęcia organizacji pozyskiwania, przetwarzania, 
przesyłania i udost
ępniania danych w formie systemu 
informacyjnego.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Wady sygnałów cyfrowych

znaczne poszerzenie pasma częstotliwości niezbędnego do 

transmisji informacji w porównaniu z widmem oryginalnego 
sygnału analogowego
,

występowanie błędów podczas przetwarzania A/C - m.in. 
ędu kwantyzacji,

pomimo możliwości przesyłania różnych sygnałów tymi 
samymi torami cyfrowymi poszczególne sygnały posiadaj
ą 
własne wymagania na szybko
ść transmisji,

niektóre sygnały, jak np. sygnał mowy, są wrażliwe na 
opó
źnienia, pogarszające ich zrozumiałość (stą
ograniczenia np. transmisji pakietowej),

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Bilans wad i zalet sygnałów cyfrowych

Ludzie nauczyli się poprawiać lub omijać omówione wady 

sygnałów cyfrowych wady, stąd bilans wad i zalet wypada na ich 

korzyść.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Przyporządkowanie wiadomości ciągu sygnałów binarnych

Informację źródłową na wejściu (wynikową na wyjściu) 

urządzenia cyfrowego mogą stanowić przede wszystkim :

- sygnały analogowe;
- liczby;
- znaki alfanumeryczne;
- wielko
ści nienumeryczne.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Przyporządkowanie wiadomości ciągu sygnałów binarnych [2]

 

Mowa 

(sygnał telefoniczny) 

 

Muzyka 

 

Sygnał np. PCM 

 

Plik dźwiękowy 

 

Rysunek 

 

Zdjęcie 

Plik z grafiką 

wektorową 

Plik z grafiką rastrową 

(bitmapa) 

 

 

Film 

 

Tekst 

Plik wideo 

(ciąg bitmap) 

 

Plik tekstowy 

 

Zawartość bazy 

danych 

 

Arkusz kalkulacyjny 

Plik bazodanowy 

(rekordy) 

Plik arkusza 

(komórki) 

 

Rodzaj sygnału 

Postać cyfrowa 

Ciągi bitów 

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Przyporządkowanie wiadomości ciągu sygnałów binarnych [3]

Technika cyfrowa umożliwia przesyłanie różnych rodzajów 

informacji w tej samej postaci: 

ciągu bitów 

(ang. bit = 

bi

nary digi

t

– cyfra dwójkowa, czyli jednostka 

systemu dwójkowego).

Wszystkie przetwarzane wielkości trzeba zakodować, czyli 

przedstawić w postaci binarnej - zrozumiałej dla komputera lub 

innego urządzenia cyfrowego. Postać ta oznacza najczęściej 

liczby – tzw. słowa binarne sygnałów długości 8, 16, 32 czy 64 

bitów.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Przyporządkowanie wiadomości ciągu sygnałów binarnych [4]

Kodowanie sygnałów analogowych jest zależne od rodzaju 

sygnału źródłowego. 

Sygnały źródłowe mogą stanowić w szczególności:

- wartości logiczne (prawda/fałsz),
- liczby (całkowite: nieujemne i ze znakiem, niecałkowite: 

stałopozycyjne i zmiennoprzecinkowe),

- znaki pisarskie (tekst),
- d
źwięki,
- obrazy ruchome i nieruchome,
przebiegi analogowe (mowa, muzyka, ale również EEG 

itp.),

inne.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Kodowanie liczb. Reprezentacja liczb.

Ciekawe systemy liczenia:

• dziesiętny,

• dwójkowy (naturalny binarny, BCD, kod Graya, 

kody pierścieniowe „1 z n”,

• szesnastkowy.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Stąd: typy danych

(będzie to rozwijane w jednym z kolejnych wykładów)

Liczbowe:

bit (b) - ang. binary unit, przechowuje wartość 0 lub 1

bajt (B) = 8 bitów; 

kilobajt: 1 kB = 1024 B

megabajt: 1 MB = 1 048 576 B

gigabajt: 1 GB = 1 073 741 824 B

terabajt: 1 TB = 1 099 511 627 776 B

1 Mb = 128 kB (= 1024/8 kB)

1 MB = 8 Mb

Logiczny {prawda, fałsz}

Wyliczeniowy

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Kodowanie znaków alfanumerycznych

Prekursor: 5-bitowy kod telegraficzny Baudota, znany obecnie pod nazwą 
kodu telegraficznego CCITT nr 2
.

Najczęściej stosowany: siedmiobitowy kod ASCII (ang. American
Standard Code for Information - Intercharge) - ka
żdej siedmiobitowej 
kombinacji „0” i „1” przyporz
ądkowany jest znak alfanumeryczny. Za 
pomoc
ą siedmiu bitów możemy zakodować 128 różnych znaków:  w 
alfabecie angielskim 26 małych liter, 26 wielkich liter, 10 cyfr, ok. 26 
znaków specjalnych (np. #,&) oraz ok. 40 znaków wykorzystywanych do 
sterowania prac
ą urządzeń cyfrowych służących do przetwarzania lub 
transmisji kody ASCII (informacje typu pocz
ątek tekstu, koniec transmisji 
itp.) oraz zakodowania znaków regionalnych (np. w j
ęzyku polskim
ą

,ę,ć,ń). Jeśli słowa 8-bitowe – to np. z bitem parzystości.

Inne rozwiązanie: kod ISO-IRV, podobny do kodu ASCII.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Kodowanie mowy

Polega na zapisywaniu jako liczb wartości próbek zgodnie poniższym 
algorytmem przetwarzania (przykład dla modulacji kodowo-impulsowej –
ang. Pulse Code Modulationa - PCM, u
żywanej w telefonii cyfrowej): 

Na sygnale wejściowym (tu: sygnale telefonicznym w paśmie 
cz
ęstotliwości 0,3-3,4 kHz) dokonywane są trzy kolejne operacje:

próbkowanie,
kwantowanie,
kodowanie.

Założenia wstępne:
graniczne wartości amplitudy sygnału muszą mieścić się w założonym 
zakresie,
dokładność kodowania (zrozumiałość i jakość dźwięku) zależy od ilości i 
szeroko
ści przedziałów.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Kodowanie mowy [2]

 

 
 

generator  

impulsów 

 

 
 

 kodowanie 

 

 
 

 

kwantowanie 

 

 
 

 próbkowanie 

 

 

próbka nr 1: przedział 1 

  kod 001 

próbka nr 2: przedział 1 

 kod 001 

próbka nr 3: przedział 2 

 kod 010 

itd. 

  

b(nT

p

 

b(t) 

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Kodowanie mowy – błąd kwantyzacji

Próbki sygnału analogowego są pobierane co 125 

µ

s. Między tymi 

momentami układ przyjmuje, że sygnał nadal przyjmuje wartość ostatnio 

pobranej próbki – stad błąd kwantyzacji.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Kodowanie mowy – próbkowanie

Próbkowanie polega na okresowym sprawdzaniu amplitudy sygnału 

próbkowanego i zapamiętywaniu wartości amplitudy tych próbek. 

Trzeba pamiętaćże wartość amplitudy tych próbek ma charakter 

analogowy, tzn. może ona przyjąć dowolną wartość

Częstotliwość próbkowania wynosi 8000 Hz, czyli próbki są pobierane 

8000 razy w ciągu każdej sekundy, tj. że próbka jest pobierana z sygnału 

co 125 

µ

s (gdyż 1/8000=125*10 do potęgi -6).

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Kodowanie mowy – próbkowanie [2]

 

=

 

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Kodowanie mowy – kwantowanie

Kwantowanie polega na podzieleniu zakresu dopuszczalnych wartości 

amplitudy sygnału (a więc automatycznie zakresu dopuszczalnych 

wartości amplitudy próbek) na pewną ilość przedziałów. 

Ww. przedziałów ma być tyle, ile można zakodować

Przy kodowaniu określa się więc, czy wartość amplitudy danej próbki leż

np. w czwartym przedziale kwantowania, czy w piątym, czyli - najogólniej 

rzecz biorąc - zaokrągla. 

Wartości próbek leżące w zakresie wartości amplitud próbek należących 

do danego przedziału kwantowania są zaokrąglane do pewnej średniej 

(którą wykorzystujemy do odtwarzania sygnału z próbek). Oczywiście 

liczba przedziałów nie może być zbyt mała, gdyż dokładność odtworzenia 

amplitudy sygnału na podstawie próbek musi mieć jakąś sensowną 

wartość - zbyt mała ilość przedziałów kwantowania powodowałaby 

zbytnie „uśrednianie” sygnału, czyli jego zniekształcanie.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Kodowanie mowy – kodowanie

Kodowanie polega na przyporządkowaniu danemu przedziałowi 

kwantowania jego „numeru” w kodzie binarnym. 

W omawianym systemie PCM 30/32 do zakodowania wartości amplitudy

próbki wykorzystuje się 8 bitów, za pomocą których można utworzyć 256 

żnych kombinacji (tj. można maksymalnie „ponumerować” 256 

przedziałów kodowania).

Nie jest istotne, że np. pierwszy przedział kwantowania będzie miał 

przyporządkowaną liczbę binarna 00000000, a drugi - 00000001 itd. 

Ważne jest jedynie, aby jeśli w nadajniku przy kodowaniu pierwszemu 

przedziałowi kwantowania przyporządkuje się ciąg binarny 01010101, a 

drugiemu z kolei - 10101010, to w odbiornik musi realizować identyczne 

przyporządkowanie.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Dekodowanie mowy – czyli proces odwrotny

Odtworzenie na podstawie kodu sygnału nadanego przebiega w sposób 

następujący:

1.określany  jest  odpowiadający  przy  odtwarzaniu  sygnału  przedział 
kwantowania,  w  którym  znajdowała  si
ę  wartość  amplitudy  próbki  na
podstawie ci
ągów kodowych przenoszących tę informację,

2.wierzchołek  odtworzonej  próbki  umieszczany  jest  w  połowie  przedziału 
odpowiadaj
ącemu  przy  odtwarzaniu  przedziałowi  kwantowania  -
poniewa
ż  jest  to  najbardziej  prawdopodobne,  a  możliwy  błąd  jest  wtedy 
najmniejszy
.

Założenie: szerokość i sposób kodowania przedziałów odpowiadających w 

dekoderze przedziałom kwantowania jest taki sam jak przedziałów 

kwantowania w koderze.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Dekodowanie mowy – czyli proces odwrotny [2]

 

  t 

 

 Przedział określony na 

podstawie kodu 

 7 

 6 

 5 

 4 

 3 

 2 

  
sygnał odtworzony 

  
sygnał zapisany 

 1 

 0 

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Kodowanie obrazu rastrowego i inne rozwiązania

Zapisywany jest w postaci prostokątnej macierzy punktów (tzw. pikseli), z 

których każdemu odpowiada jeden kolor reprezentowany w postaci liczb 

określających udział w nim każdej z trzech barw podstawowych 

W faksach: zmodyfikowany kod Huffmana. 

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Kody kontrolne

Ważne: Chcąc mieć pewność co do wierności otrzymanej wiadomości 

musimy tę wierność kontrolować, gdyż należy liczyć się z wystąpieniem w 

nich przekłamań (np. na skutek chwilowych zaników sygnału).

Metoda: kody kontrolne

kody detekcyjne, które pozwalają wyłącznie wykrywać błędy,

kody korekcyjne, które pozwalają na wykrywane i korygowanie błędów.

Przykłady: kod z kontrolą parzystości, kod z kontrolą nieparzystości, kod z 

CRC (ang. Cyclic Redundancy Check), kody parzystości blokowej, kod 

Hamminga.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Pojęcia podstawowe: podsumowanie

bit (ang. binary digit, skrót ‘b’) – cyfra binarna, najmniejsza ilość 
informacji w systemie binarnym, i jego wielokrotno
ści: kb (kilobit) = 1024 
bity, Mb (megabit) itd.

bajt (ang. byte, skrót „B”) – 8 bitów, i jego wielokrotności: kB (kilobajt), 
MB (megabajt) itd.

słowo (ang. word) – jednostka informacji, na której operuje komputer: 1, 
2 4, 8, 16 bajtów,

b/s (bit na sekundę, ang. bps) – jednostka szybkości transmisji, i jej 
wielokrotno
ści: kb/s, Mb/s itd.

background image

Wstęp do informatyki – Dariusz Mikołajewski

Uniwersytet Mikołaja Kopernika w Toruniu

Katedra Informatyki Stosowanej

Dziękuję za uwagę