podstawy informatyk i

115
Podstawy Informatyki

Upload: tejano

Post on 15-Jan-2016

60 views

Category:

Documents


0 download

DESCRIPTION

Podstawy Informatyk i. Definicje. Informatyka - nazwa powstała w 1968 roku, stosowana w Europie =dział matematyki Computer science , czyli nauki komputerowe , USA =działy nauki stosujące wyrafinowane metody komputerowe (np. chemia czy ekonomia komputerowa). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Podstawy  Informatyk i

Podstawy Informatyki

Page 2: Podstawy  Informatyk i

Definicje

Informatyka - nazwa powstała w 1968 roku, stosowana w Europie

=dział matematyki

Computer science, czyli nauki komputerowe, USA

=działy nauki stosujące wyrafinowane metody komputerowe (np. chemia czy ekonomia komputerowa).

Computational science, nauki obliczeniowe, Kanada

Information science - nauki o informacji

= zastosowania komputerów do zarządzania informacją.

Page 3: Podstawy  Informatyk i

Definicje

Definicja encyklopedyczna:

„Informatyka zajmuje się całokształtem przechowywania, przesyłania, przetwarzania i interpretowania informacji. Wyróżnia się w niej dwa działy, dotyczące sprzętu i oprogramowania”.

Nowsza definicja, opracowana w 1989 roku przez Association for Computing Machinery (ACM), mówi:

„Informatyka to systematyczne badanie procesów algorytmicznych, które charakteryzują i przetwarzają informację, teoria, analiza, projektowanie, badanie efektywności, implementacja i zastosowania procesów algorytmicznych. Podstawowe pytanie informatyki to: co można (efektywnie) zalgorytmizować”.

Page 4: Podstawy  Informatyk i

Organizacje informatyków

ACM, Association for Computing Machinery. Największa i najstarsza (1947) organizacja skupiająca informatyków.

IEEE Computer Society – IEEE (The Institute of Electrical and Electronics Engineers) jest największym stowarzyszeniem zawodowym na świecie.

American Society for Information Science, stowarzyszenie nauk informacyjnych.

Polska Izba Informatyki i Telekomunikacji

Page 5: Podstawy  Informatyk i

Czym się zajmuje informatyka

Algorytmika - fundament informatyki, wiedza o sposobach rozwiązywania zagadnień, czyli konstruowaniu algorytmów.

Zadania algorytmiczne - czyli zadania, dla których znamy sposób rozwiązania.

Algorytmy efektywne - czyli takie, które dają rozwiązanie przed końcem świata.

Złożoność obliczeniowa algorytmów - ocena, ile trzeba będzie wykonać obliczeń.

Testowanie i dowodzenie poprawności algorytmów.

Algorytmy heurystyczne: metody bez gwarancji na znalezienie rozwiązania (sztuczna inteligencja).

Page 6: Podstawy  Informatyk i

Czym się zajmuje informatyka

Złożoność: N elementów: sortowanie listy T ~ N2 lub N log N Problemy NP-trudne, czas T > Nk dla dowolnego k. Problem wędrującego komiwojażera: jak znaleźć najkrótszą drogę, łączącą N miast odwiedzając każde tylko jeden raz?

T ~ N! = N(N-1)(N-2)... 3·2·1 rośnie bardzo szybko, np. 100! ~10158

Klasy złożoności problemów i problemy „NP-zupełne”: wszystkie można by rozwiązać w łatwy sposób, gdyby chociaż jeden dał się łatwo rozwiązać!

Page 7: Podstawy  Informatyk i

Czym się zajmuje informatyka

Rozmiar n 20 50 100 200

Czas działania (2n/ 106)

1,04 s

35,7 lat

4*1014

wieków 5*1044

wieków

Czas działania (2n/ 109)

0,001 s

13 dni

4*1011

wieków 5*1041

wieków

Porównanie czasów realizacji algorytmu wykładniczego na dwóch komputerach

Page 8: Podstawy  Informatyk i

Czym się zajmuje informatyka

Struktury danych: liczby, tablice, wektory, rekordy, listy, stosy, kolejki,

drzewa, węzły potomne, grafy, diagramy.

Teoria języków programowania: specyfikacja, procesory, automaty skończone (automaty Turinga).

Organizacja i architektury systemów komputerowych, systemów operacyjnych i sieci komputerowych, teoria baz danych.

Zastosowania komputerów - zwykle nie zajmują się nimi informatycy.

Page 9: Podstawy  Informatyk i

Nauki komputerowe

Murray Gell-Mann (Nobel 1969 za teorię kwarków), przemawiając w czasie „Complex Systems Summer School” w Santa Fe, powiedział:

Transformacja społeczeństwa przez rewolucję naukową XIX i XX wieku zostanie wkrótce przyćmiona przez jeszcze dalej idące zmiany, wyrastające z naszych rosnących możliwości zrozumienia złożonych mechanizmów, które leżą w centrum zainteresowania człowieka. Bazą technologiczną tej nowej rewolucji będą niewyobrażalnie potężne komputery razem z narzędziami matematycznymi i eksperymentalnymi oraz oprogramowaniem, które jest niezbędne by zrozumieć układy złożone... Przykładami adaptujących się, złożonych systemów jest ewolucja biologiczna, uczenie się i procesy neuronalne, inteligentne komputery, chemia białek, znaczna część patologii i medycyny, zachowanie się ludzi i ekonomia.

Page 10: Podstawy  Informatyk i

Nauki komputerowe

Nauki: teoretyczne i doświadczalne.

Prawidłowości, poszukiwane przez nauki przyrodnicze czy społeczne, są algorytmami określającymi zachowanie się systemów. Programy komputerowe pozwalają na zbadanie konsekwencji zakładanych praw, symulację rozwoju skomplikowanych systemów i określanie własności systemów.

Komputery pozwalają na robienie doświadczeń w sytuacjach zbyt skomplikowanych, by możliwa była uproszczona analiza teoretyczna.

Page 11: Podstawy  Informatyk i

Nauki komputerowe

CTI Centres Primary Contacts, czyli lista centrów kompetencji zastosowań komputerów w różnych gałęziach nauki w Wielkiej Brytanii

Page 12: Podstawy  Informatyk i

Matematyka komputerowa

K. Appel i W. Haken za pomocą intensywnych obliczeń komputerowych udowodnili twierdzenie o czterech barwach.

Dowody przeprowadzone przy pomocy komputera są często znacznie pewniejsze niż dowody klasyczne. Np. w tablicach całek programy do algebry symbolicznej znajdowały od

10 do 25% błędów lub przeoczeń.

Projekt QED (od ,,Quod Erant Demonstratum”) zmierza on do zbudowania komputerowego systemu, w którym zgromadzona zostanie cała wiedza ludzkości o matematyce

Teoria liczb naturalnych - poszukiwania największych liczb pierwszych na komputerach osobistych rozproszonych po całym świecie.

Page 14: Podstawy  Informatyk i

Fizyka komputerowa

Pisma naukowe z fizyki komputerowej od 30 lat: Computers in Physics, Computer Physics Communications, Computer Physics Reports, Journal of Computational Physics ...

We wrześniu 1990 na konferencji w Amsterdamie stwierdzono: „Fizyka komputerowa to fizyka teoretyczna studiowana metodami eksperymentalnymi”

Astrofizyka, Geofizyka, Meteorologia - to działy fizyki, w których symulacje pełnią podstawową rolę.

Page 15: Podstawy  Informatyk i

Fizyka komputerowa

Page 16: Podstawy  Informatyk i

Chemia komputerowa

Rozwój teorii i oprogramowania chemii kwantowej w latach 60. i 70.

W latach 80. coraz szerzej stosowana w chemii.

Wiele gotowych pakietów programów, dokładności obliczeń własności małych (kilkuatomowych) cząsteczek są na poziomie danych doświadczalnych a można je uzyskać znacznie łatwiej. Chemicy komputerowi znacznie lepiej znają się na programach i komputerach niż na robieniu doświadczeń czy rozwijaniu teorii.

Modelowanie molekularne, farmakologia kwantowa pozwalają na projektowanie nowych leków.

Page 17: Podstawy  Informatyk i

Biologia i biocybernetyka komputerowa

Symulacje na poziomie makroskopowym: ekologia, przepływ substancji i energii w przyrodzie, biologia populacyjna.

Symulacje na poziomie molekularnym, w genetyce i biologii molekularnej, w szczególności problemy powstania życia i kodu genetycznego.

Struktura przestrzenna białek decyduje o ich własnościach. Metody eksperymentalne określania struktury są bardzo kosztowne. Metody komputerowe określają strukturę na podstawie sekwencji aminokwasów.

Projekt mapowania ludzkiego genomu: 3 mld par, ogromne bazy danych, ich analiza może zająć kilkadziesiąt lat.

Próba rekonstrukcji drzewa ewolucji.

Page 18: Podstawy  Informatyk i

Biologia i biocybernetyka komputerowa

Symulacje działania komórek nerwowych i fragmentów układu nerwowego, funkcji mózgu.

Biologia komputerowa przechodzi w komputerową medycynę. Opracowuje się symulacje działania całych narządów! Symulacje cykli biochemicznych pozwalają śledzić na komputerowym modelu co dzieje się w organizmie z podawanym lekiem czy innymi substancjami.

Page 19: Podstawy  Informatyk i

Nauki o poznaniu, cognitive science

Od 1975 roku z połączenia psychologii, sztucznej inteligencji, badań nad mózgiem, lingwistyki, filozofii, powstała nowa gałąź nauki, określana jako „nauki o poznaniu”, „nauki kognitywne” lub „kognitywistyka”. Cel: zrozumienie, w jaki sposób człowiek postrzega i poznaje świat, w jaki sposób reprezentowana jest w naszym umyśle informacja kształtująca nasz obraz świata.

Lingwistyka komputerowa: analiza i synteza mowy, tłumaczenie maszynowe, modele problemów z mową.

Psychologia i symboliczne modele umysłu oraz modele koneksjonistyczne.

Psychiatria komputerowa - modele syndromów neuropsychologicznych i chorób psychicznych, zrozumienie reakcji organizmu na leki psychotropowe.

Neuronauki kognitywne (cognitive computational neuroscience), czyli jak komputerowe symulacje funkcji mózgu wyjaśniają zachowanie.

Page 20: Podstawy  Informatyk i

Ekonomia komputerowa

Nagrody Nobla z ekonomii przyznawane są często za modele matematyczne zagadnień ekonomicznych.

Realistyczne modele w makroskali lub w skali całego globu wymagają złożonych modeli komputerowych.

Modele ekonometryczne pozwalają na dość dokładne przewidywania sytuacji ekonomicznej w wybranych dziedzinach na rok z góry.

Page 21: Podstawy  Informatyk i

Nauki humanistyczne

Humanistic informatics, czyli informatyka humanistyczna, to coraz częściej używany termin.

Kliometria, nauka zajmująca się ilościowymi (statystycznymi) metodami w historii. Wkrótce wszystkie informacje historyczne będą natychmiast dostępne badaczom i zamiast szperać po starych dokumentach historycy będą spędzali całe dnie przed monitorem.

Rekonstrukcje znanych zabytków, np. kompleksu Borobodur na Jawie, wymaga dopasowania setek tysięcy fragmentów kamiennych. Graficzne bazy danych obiektów archeologicznych rozproszonych po wielu muzeach.

Page 22: Podstawy  Informatyk i

Nauki humanistyczne

Geografia komputerowa: migracje, geografia społeczna. Kartografia, mapy cyfrowe. Wizualizacja danych systemów informacji geograficznej (Geographic Information Systems).

Stylometria, czyli badanie stylu literackiego metodami ilościowymi. Możliwa dzięki wprowadzeniu komputerowych metod klasyfikacji i dostępności tekstów w formie elektronicznej. Pozwala rozstrzygnąć sporne kwestie dotyczące autorstwa dzieł

literackich, np. na początku lat 90. rozstrzygnięto kwestię autorstwa ostatniego z dzieł przypisywanych Szekspirowi (The two noble kinsmen), napisanego wspólnie z Johnem Fletcherem.

Page 23: Podstawy  Informatyk i

Nauki humanistyczne

Informatyka prawnicza, zajmująca się głównie bazami danych dla potrzeb prawa.

Wyszukiwanie sprzeczności wewnętrznych w zbiorach przepisów. Systemy ekspertowe przewidujące podziału majątku przez sędziego w procesach rozwodowych.

Na konferencji „Large scale analysis and modeling” sponsorowanej przez IBM, nagrodzono pracę o oddzielaniu informacji genetycznej od środowiskowej dla krów mlecznych.

Uwzględniono informację od wszystkich spokrewnionych krów - wymagało to nie tylko ogromnej bazy danych, ale rozwiązania układu równań o wymiarze 10 milionów!

Symulacje ekologiczne, np. dokładny model przepływu energii w społeczeństwie zbieracko-pasterskim.

Page 24: Podstawy  Informatyk i

Czyste nauki komputerowe

Część teorii systemów złożonych, symulacje układów dynamicznych, teoria automatów komórkowych

Do czego zaliczyć grafikę komputerową? Potrzebna jest wiedza o matematycznym modelowaniu rzeczywistości, psychologii percepcji, teksturach fraktalnych, technikach animacji + artystyczny talent.

Page 25: Podstawy  Informatyk i

Historia systemów przetwarzania informacji

Page 26: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

Komputer liczy a człowiek myśli? Poziom molekularny:

te same atomy, różne cząsteczki, ale jakościowo podobnie

Podstawowe elementy: bramki logiczne, komórki pamięci <-> neurony, synapsy

Neurony przetwarzają impulsy, obwody scalone przetwarzają impulsy.

Poziom symboliczny: mózgi i komputery przetwarzają informację.

Page 27: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

Informacja - pojęcie abstrakcyjne szybkość samochodu wynosi 160 km/h=100 mil/h=44.4 m/sek,

zapisana alfabetem arabskim, pismem Brailla itd.

Dane: konkretna reprezentacja informacji Wybór reprezentacji informacji jest bardzo ważny dla wygody

przetwarzania danych;np. dzielenie liczb zapisanych rzymskimi cyframi

Typy danych Dane typu logicznego: „tak” lub „nie”

Dane alfanumeryczne (tekstowe – litery, cyfry, znaki interpunkcyjne) Dane numeryczneDane typu data i czas Dane graficzne Dane muzyczne Dane złożone o ustalonej strukturze (rekordy),

Page 28: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

Bit = binary unit, czyli jednostka dwójkowa, tak/nie. Ciąg bitów wystarczy by przekazać dowolną wiadomość: np. za pomocą tam-tamów czy telegrafu. Alfabet polski ma 35 liter, uwzględniając małe i duże litery + znaki specjalne mamy prawie 100 znaków.

Bramki tranzystorowe przyjmują tylko dwa stany: przewodzą lub nie, są binarne.

1 bit: 0, 1, rozróżnia 2 znaki.2 bity: 00, 01, 10, 11, rozróżniają 4 znaki.3 bity: 000, 001, 010, 011, 100, 101, 110, 111, rozróżniają 8 znaków.4 bity: 0000 ... 1111, rozróżniają 16 znaków.8 bitów pozwala odróżnić 28 = 16 x 16 = 256 znaków.

Ciąg 8 bitów = 1 bajt, wygodna jednostka do pamiętania podstawowych symboli.

Page 29: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

Wielkość danych

210=1024=1K, kilobajt, typowa strona tekstu to kilka KB;220=1024K=1M, megabajt, książka bez grafiki lub minuta muzyki;230=1024M=1G, gigabajt, film cyfrowy, sporo grafiki, ludzki genom;240=1024G=1T, terabajt, duża biblioteka, szerokoekranowy film w kinie;250=1024T=1P, petabajt, ludzka pamięć

Biblioteka Kongresu USA zawiera około 20 TB informacji tekstowej, ale filmy i informacja graficzna dużo więcej. Eksperymenty naukowe dostarczają terabajtów danych dziennie.

Rozróżnienie B i b:B=bajty, KB=kilobajty, MB=megabajty, GB=gigabajty b=bity, Kb=kilobity, Mb-megabity ....

Słowo: ilość bitów – np. 8, 16, 32, 48, 64, 128, 256, na których wykonywana jest jednocześnie operacja.

Page 30: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

Standardy reprezentowania (kodowania) znaków alfanumerycznych:

Kod alfanumeryczny - przypisuje kolejne liczby naturalne znakom z określonego zbioru

Kody alfanumeryczne stosowane w komputerach i internecie

ASCII

rozszerzony standard ASCII

ANSI

Code Page

Unicode

Page 31: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

ASCII - American Standard Code for Information Exchange, używa 7 bitów.

Zawiera 128 pozycji ze względu na kodowanie na 7-bitowej liczbie (27=128)

Jedynie 94 znaki to znaki posiadające reprezentację graficzną (litery łacińskie, cyfry, znaki przestankowe, znaki specjalne)

Pierwsze 32 znaki są znakami sterującymi (np. znak końca wiersza, końca linii, wysuw papieru do końca strony)

Page 32: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

Page 33: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

Page 34: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

Rozszerzony standard ASCII: 8 bitów, czyli 256 znaków.

Znaki między 128 a 255 służą do:

sterowania drukarek

stosowania w DOS narodowych znaków

do tworzenia na wydruku i ekranie prymitywnej grafik, w tym ramek tabel (tzw. semigrafika)

Fakt rozmieszczenia w jednym przedziale kodów do trzech różnych zastosowań owocuje „kolizjami”, np. stare drukarki traktowały niektóre z kodów z tego zakresu jako znaki sterujące krojem czcionki, przesuwem papieru itp.

ANSI odmiana kodów ASCII - brak znaków semigraficznych i sterujących

drukarką oraz innym umieszczeniem znaków narodowych

Page 35: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

Code Page - strona kodowa zestaw rozszerzonych znaków ASCII zawierający znaki

narodowe

informacja o narodowym sposobie zapisu waluty, daty i czasu oraz separatorów dziesiętnych i tysięcznych

klawiatura narodowa

Organizacja ISO stworzyła strony kodowe m.in. dla krajów Europu Wschodniej, Rosji, krajów Dalekiego Wschodu; ISO-8859-x (2 to numer strony kodowej Polski)

Jeszcze inne standardy kodowania polskich liter: CP 852 (latin2), Mazovia, DHN, CSK, Cyfromat (http://www.agh.edu.pl/ogonki/)

Page 36: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

(A) (C) (E) (L) (N) (O) (S) (X) (Z) (a) (c) (e) (l) (n) (o) (s) (x) (z) ˇ Ć Ę Ł Ń Ó ¦ ¬ Ż ± ć ę ł ń ó ¶ Ľ ż ----------------------------------------------------------------------------------------------------------------------------------------------------------------- ISO-8859-2 161 198 202 163 209 211 166 172 175 177 230 234 179 241 243 182 188 191 Windows-EE 165 198 202 163 209 211 140 143 175 185 230 234 179 241 243 156 159 191 IBM (CP852) 164 143 168 157 227 224 151 141 189 165 134 169 136 228 162 152 171 190 Mazovia 143 149 144 156 165 163 152 160 161 134 141 145 146 164 162 158 166 167 CSK 128 129 130 131 132 133 134 136 135 160 161 162 163 164 165 166 168 167 Cyfromat 128 129 130 131 132 133 134 136 135 144 145 146 147 148 149 150 152 151 DHN 128 129 130 131 132 133 134 136 135 137 138 139 140 141 142 143 145 144 IINTE-ISIS 128 129 130 131 132 133 134 135 136 144 145 146 147 148 149 150 151 152 IEA-Swierk 143 128 144 156 165 153 235 157 146 160 155 130 159 164 162 135 168 145 Logic 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 Microvex 143 128 144 156 165 147 152 157 146 160 155 130 159 164 162 135 168 145 Ventura 151 153 165 166 146 143 142 144 128 150 148 164 167 145 162 132 130 135 ELWRO-Junior 193 195 197 204 206 207 211 218 217 225 227 229 236 238 239 243 250 249 Mac 132 140 162 252 193 238 229 143 251 136 141 171 184 196 151 230 144 253 AmigaPL 194 202 203 206 207 211 212 218 219 226 234 235 238 239 243 244 250 251 TeXPL 129 130 134 138 139 211 145 153 155 161 162 166 170 171 243 177 185 187 Atari-Calamus 193 194 195 196 197 198 199 200 201 209 210 211 212 213 214 215 216 217 CorelDraw! 197 242 201 163 209 211 255 225 237 229 236 230 198 241 243 165 170 186 ATM 196 199 203 208 209 211 214 218 220 228 231 235 240 241 243 246 250 252 Unicode 0x0104 0x0106 0x0118 0x0141 0x0143 0x00D3 0x015A 0x0179 0x017B 0x0105 0x0107 0x0119 0x0142

0x0144 0x00F3 0x015B 0x017A 0x017C

Page 37: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

Od 1992 roku standard Unicode, 2 bajty/znak.

W jednym pliku można zapisać 162=65536 znaków, w tym około 3000 znaków definiowalnych przez użytkownika.

Unicode jest używany w systemach operacyjnych Windows XP, NT, 98 Novell Netware, pakiecie Office. Widać to po wielkości plików.

Page 38: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

Kody liczbowe

Pozycyjne i niepozycyjne systemy liczenia

zapis niepozycyjny (liczby rzymskie) MCMXCIX

zapis pozycyjny 1999 - o znaczeniu cyfry w zapisie liczby świadczy jej pozycja

Pozycyjne systemy liczenia

system dziesiętny 17(10)=1*101+7*100

system dwójkowy 10001(2)= 1*24+0*23+0*22+0*21+1*20

system ósemkowy 21(8) = 2*81+1*80

system szesnastkowy 11(16) = 1*161+1*160

Page 39: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

Kody liczbowe

naturalny kod binarny - liczba całkowita bez znaku (dodatnia)

kod dwójkowo-dziesiętny (BCD) - liczba całkowita bez znaku (dodatnia)

kod uzupełnień do dwóch (U2) - liczba całkowita ze znakiem

liczba stałopozycyjna

liczba zmiennopozycyjna

Naturalny kod binarny 0111 1001 1000(2) = 1944(10)

Kod BCD 0111 1001 1000(BCD) = 798(10)

Page 40: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

Kod U2 - najbardziej znaczący bit określa znak liczby (0-dodatnia, 1-ujemna).

Jeżeli bit ten =0, to liczba jest dodatnia i zapis w kodzie U2 nie różni się od zapisu NKB.

Zmianę znaku liczby uzyskuje się przez zamianę wszystkich bitów na przeciwne i dodanie 1 do bitu najmniej znaczącego

Dodawanie liczb binarnych

0+0=0

0+1=1

1+0=1

1+1=0 przeniesienie 1

Page 41: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

Kod U2

A =00010111 = 23(10)

Aneg =11101000

Aneg+1 =11101001=-23(10)

Uwaga: odejmowanie liczb binarnych

A - B=A+Bneg+1

jeżeli przeniesienie=1 to A>=B

jeżeli przeniesienie=0 to A<B

Page 42: Podstawy  Informatyk i

Reprezentacja informacji w komputerze II

mnożenie liczby dziesiętnej przez 2 - przesunięcie odpowiadającej liczby binarnej o jedną pozycję w lewo i wpisanie 0 w bit najmniej znaczący

3(10) = 0011

6(10) = 0110

dzielenie liczby dziesiętnej parzystej przez 2 odpowiada przesunięcie binarnej liczby o jedną pozycję w prawo i wpisanie 0 w bit najbardziej znaczący

8(10) = 1000

4(10) = 0100

Page 43: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

przepełnienie arytmetyczne - przekroczenie przez wynik operacji dodawania lub odejmowania liczby bitów dla niego zarezerwowanych

7(10) = 0111(U2)

+ 5(10) = 0101(U2)

-------------------------

12(10) =? 1100(U2) = -4(10)

Page 44: Podstawy  Informatyk i

Reprezentacja informacji w komputerze

Podstawowe operacje na danych binarnych:

porównanie

przesunięcie

arytmetyczne

logiczne

Page 45: Podstawy  Informatyk i

Maszyna Turinga

Page 46: Podstawy  Informatyk i

Architektura komputera I

Maszyna Turinga

Page 47: Podstawy  Informatyk i

Architektura komputera

Maszyna von Neumanna

Koncepcja przechowywanego programu Pamięć główna przechowuje dane i programy Jednostka arytmetyczno-logiczna (ALU) działa na danych

binarnych Jednostka sterująca interpretuje oraz wykonuje rozkazy z

pamięci Urządzeniami we/wy steruje jednostka sterująca Princeton Institute for Advanced Studies (IAS komputer

ukończony w 1952)

Page 48: Podstawy  Informatyk i

Architektura komputera

Page 49: Podstawy  Informatyk i

Architektura komputera

Page 50: Podstawy  Informatyk i

Program maszynowy

(np. dodawanie dwóch liczb zapisanych w pamięci operacyjnej)

...

150 Instrukcja 1 (np. LDA - pobierz dane z pamięci i zapamiętaj w akumulatorze)

151 argument (np. 233 - adres danych do pobrania)

152 Instrukcja 2 (np. ADDA - pobierz dane z pamięci i dodaj do zawartości akumulatora)

153 argument (np. 234 - adres danych do pobrania)

154 Instrukcja 3 (np. STA pobierz dane z akumulatora i zapisz do pamięci)

155 argument (adres pod którym zapisane zostaną dane, np. 235)

Page 51: Podstawy  Informatyk i

Architektura komputera

Cykl instrukcji (instruction cycle): Pobierz instrukcję.

Pobierz dane z pamięci.

Wykonaj instrukcję.

Zapisz wynik w pamięci. Instrukcje

Pobieranie/składowanie danych

Operacje na danych

Skoku bezwarunkowego

Skoku warunkowego

Przerwania (IRQ): system przejmowania kontroli nad czynnościami mikroprocesora.

Page 52: Podstawy  Informatyk i

Architektura komputera

Procesor zawiera:

Arytmometr - wykonuje operacje logiczne i arytmetyczne na 4-64 bitach.

Układ sterowania - pobiera z pamięci kolejne rozkazy, oblicza adresy argumentów operacji

Rejestry - podręczne komórki pamięci: licznik rozkazów, rejestr rozkazów, akumulator, stos, rejestry pomocnicze.

- licznik rozkazów zawiera adres następnego rozkazu do wykonania, rejestr rozkazów zawierający kod wykonywanego aktualnie rozkazu, akumulator przechowujący dane,rejestry pomocnicze.

Interpretuje 20 do 200 instrukcji,

Architektury mikroprocesorów typu:

RISC (Reduced Instruction Set Computer), 1-5 instrukcji/cykl. CISC (Complex Instruction Set Computer), 2-10 cykli/instrukcję.

Page 53: Podstawy  Informatyk i

Architektura komputera

Zegar: wytwarza prostokątne impulsy synchronizując działanie układów logicznych i pamięci; częstości 1MHz -2000 MHz, czas cyklu od 0.5 nanosekundy do 1 mikrosekundy (neurony - 1-100 Hz).

CPU: Centralna Jednostka Przetwarzająca (Central Processing Unit). Mikroprocesor - procesor wykonany w technologii VLSI. FPU (Floating Point Unit), czyli jednostka zmiennoprzecinkowa, zwykle (od Pentium) wbudowana w FPU, dawniej osobna.

Pamięć stała ROM, Read Only Memory (pamięć pozwalająca tylko na odczyt) Pamięć zapisywalna RAM, „bufor pamięci” - obszar wydzielony pamięci.

Page 54: Podstawy  Informatyk i

Architektura komputera

Pamięć cache: L1, L2 cache, L1 - w procesorze, do 128 KB L2 - zwykle pamięć statyczna SDRAM o krótkim czasie dostępu, droga, zwykle 32-512 KB, niektóre mikroprocesory (np. Xenon) do 4 MB, czasami wbudowana w procesor (np. P4 ma 256 lub 512 KB).

Magistrale (szyny): przysyłanie danych do urządzeń zamontowanych wewnątrz komputera, dysków i kart rozszerzeń.

Szyna adresowa: wysyła informację z CPU do pamięci pozwalając odszukać adres komórki pamięci.

Szyna danych: przesyła dane, znajdujące się w pamięci pod wskazanym adresem do/z CPU.

Page 55: Podstawy  Informatyk i

Architektura komputera

Adresowanie pamięci = odnajdywanie miejsc, z których chcemy pobrać lub wpisać bajty. Szerokość = liczba równoległych połączeń w szynie. Szerokość 8 (szyna 8-bitowa) pozwala rozróżnić 28=256 komórek. Szerokość 16 (szyna 16-bitowa) daje 65536 czyli 64k możliwości. Szerokość 20, 1M adresów. Szerokość 32, 4G adresów. Szerokość 64, 16 mld adresów!

Układy I/O (Input/Output), wejścia/wyjścia: komunikacja procesora ze światem zewnętrznym. Kanały I/O: wyspecjalizowane procesory służące komunikacji. Kontrolery I/O, graficzne: obsługa komunikacji

Page 56: Podstawy  Informatyk i

Architektura komputera

Kanały bezpośredniego dostępu (DMA): omijanie mikroprocesora przy transmisji danych z urządzeń zewnętrznych.

Łącza (porty) zewnętrzne: dołączone do układów I/O porty, np. szeregowy (serial port), równoległy (parallel port), port USB.

Układy wspomagające mikroprocesor (chipset): decydują o integracji całości. Chipset obsługuje pamięć i złącza PCI, AGP, IDE do urządzeń zewnętrznych. Popularne: Intel Chipset 440BX, nowsze 815E lub 850 do płyt dla P4.

Zasilanie.

Page 57: Podstawy  Informatyk i

Architektura komputera

System komputerowy

mikroprocesor i płyta główna - różne procesory mają różne podstawki, uwaga przy planach rozbudowy;

chipset obsługujący płytę główną - decyduje o typie obsługiwanego RAM i szynie do grafiki;

liczba wolnych gniazd - zależy od typu obudowy i wielkości płyty;

porty, oprócz standardowych ile USB, czy jest i-link, port IrDa (podczerwony);

pamięć RAM i pamięć podręczna L1 i L2;

dyski twarde, kontrolery dysków;

dyskietki, CD-ROM/DVD i inne napędy wymiennych nośników;

Page 58: Podstawy  Informatyk i

Architektura komputera

podsystem graficzny;

monitor;

klawiatura;

wskaźniki: mysz, joystick, tabliczka graficzna;

peryferia: kamery, dodatki.

Page 59: Podstawy  Informatyk i

Architektura komputera

Wzrost możliwości procesorów

Pentium I - 60 MHz, technologia 0,8 mikrona, 3 mln tranzystorów

Pentium IV - 2 GHz, 0,18 mikrona, 42 mln tranzystorów

Superkomputer IBM ASCI White

12 bilionów operacji na sekundę

512 oddzielnych komputerów (powierzchnia 2 boisk do koszykówki)

8.192 mikroprocesory

6 TB pamięci operacyjnej, 160 TB pamięci masowej

Page 60: Podstawy  Informatyk i

Architektura komputera

Prawo Moore’a (rok 1965)

wydajność procesorów podwaja się co 1,5 roku

czyli...

ok. 2020 roku nastąpi koniec ery silikonowego chipa!

Gęstość upakowania informacji

Silikonowa pamięć kilkadziesiąt MB/cm2

Pamięć bazująca na białku 1 GB/cm2

struktura DNA/RNA osiąga 100 000 GB/cm2

Page 61: Podstawy  Informatyk i

Architektura komputera

DNA Komputer

informatyk Leonard Adleman w 1994 roku rozwiązuje przy pomocy DNA tzw. problem Hamiltona dla n=7

Problem Hamiltona czyli wędrującego komiwojażera: jak znaleźć najkrótszą drogę, łączącą N miast odwiedzając każde tylko jeden raz?

Page 62: Podstawy  Informatyk i

Oprogramowanie

Hardware - sprzęt, żelastwo Software - towar "miękki" Wetware - mózgownica Middleware - pośredniczące

Shareware - programy na próbę, rejestracja za opłatą jeśli się je dłużej używa. Freeware, PDS, public domain software, Free software foundation - programy darmowe

Bookware - programy dołączane do książek Addware - programy darmowe, ale pokazujące reklamy Crippleware - programy nie w pełni sprawne Firmware - programy wmontowane na stałe Vaporeware - programy zapowiedziane, które nie pojawiły się na czas.

Page 63: Podstawy  Informatyk i

Oprogramowanie

Rodzaje oprogramowania:

Oprogramowanie systemowe

systemy operacyjne - podstawowe, bez którego komputer nie będzie działał

systemy programowania - translatory języków programowania

oprogramowanie narzędziowe - usprawnia konfigurację lub naprawia system

oprogramowanie obsługi wielodostępu i sieci komputerowych

pomocnicze programy i pakiety usługowe

Oprogramowanie użytkowe, zwane też aplikacyjnym, aplikacje.

Czy przeglądarka internetowa jest częścią systemu operacyjnego?

Page 64: Podstawy  Informatyk i

Oprogramowanie

Developers - rozwijający aplikacje. Designers, projektanci oprogramowania. Providers - dostarczający usług lub elementów aplikacji.

Hackers - hakerzy, ich przeciwieństwo to Lamers - lamerzy Cracking - łamanie zabezpieczeń programów Patching - łatanie programów

Żargon informatyczny: prowajder apgrejdował softłer na sajcie ...

Page 65: Podstawy  Informatyk i

Oprogramowanie

Prawa własności programów komputerowych

Freeware

Shareware

Programy licencjonowane

Site license - licencja dla instytucji rozproszonej na większym obszarze, np. uniwersytetu.

Run-time licence - opłata za używanie fragmentu programu w programie sprzedawanym przez kogoś innego.

Free run-time licence - najczęściej spotykana, czyli bez dodatkowych opłat.

Programy własne

Page 66: Podstawy  Informatyk i

Oprogramowanie

Próbne wersje programu na CD-ROM, ograniczone czasowo. Zdalna instalacja programu przez sieć komputerową. Hasło do programu demonstracyjnego na CD-ROM.

Otwarte licencje Microsoft (MOLP). Upgrade - aktualizacja zakupionego programu, nowsza wersja.

Wersje testowe:

alfa - testowanie składników,

beta - testowanie całego systemu przez użytkowników; często "final beta" są darmowe, ale z błędami.

Dlaczego oprogramowanie źle działa?

Page 67: Podstawy  Informatyk i

Oprogramowanie

System operacyjny (SO): program zarządzający zasobami komputera (elektroniką, dostępem do dysków, portów, pamięci), decydujący o możliwościach wykorzystania sprzętu. Dzięki niemu programy działają na różnych konfiguracjach sprzętowych.

SO składa się z dwóch warstw:

wewnętrzna - odpowiedzialna za zarządzanie pracą systemu komputerowego oraz za sterowanie i koordynację realizacji zadań użytkowników;

podczas uruchamiania komputera część procedur systemowych przepisywana jest do pamięci komputera (tzw. jądro SO)

zewnętrzna - odpowiedzialna za komunikację z użytkownikiem i za wykonywanie poleceń systemowych

Page 68: Podstawy  Informatyk i

Oprogramowanie

CP/M. Control Program for Microprocessors, 8-bitowe systemy, od 1972

MS-DOS Digital Research z 16-bitową wersją CP/M 86, Microsoft i QDOS 0.10, 1981 rok

Główne idee, stosowane do tej pory:

hierarchiczna struktura danych, katalogów i podkatalogów,

zarządzanie dyskami stałymi

BIOS w ROM-ie lub EEPROM-ie.

Ponad 100 mln kopii DOS-u, nadal wiele programów działa pod DOS.

Page 69: Podstawy  Informatyk i

Oprogramowanie

Windows’y

Windows NT 3.1 (1993), Windows NT 3.5 (1994), Windows NT 4 (1996); serwispaki i hotfiksy. Windows 95 (listopad 1995), 4 wersje Windows 98 (1998), Windows 2000 (2000), Windows XP (2001)

Standaryzacja poleceń, np. Ctrl+F4, Alt+F4, Ctrl+C, CTRl+V, Ctr+Z;

Środowisko graficzne - moc komputerów wystarczyła do sprawnego działania

Wspólne fonty do wszystkich aplikacji.

DDE Dynamical Data Exchange, dynamiczna wymiana danych - automatyczna aktualizacja wyników w powiązanych aplikacjach.

OLE Object Linking and Embedding, łączenie i zagnieżdżanie obiektów,

np. całego arkusza kalkulacyjnego czy filmu w tekście.

Page 70: Podstawy  Informatyk i

Oprogramowanie

Praca wielozadaniowa (multitasking) - kilka rzeczy wykonuje się jednocześnie wykorzystując ten sam procesor.

Tryb rozszerzony (enhanced mode) procesorów i386 pozwalał na wykonywanie aplikacji 32-bitowych.

Pamięć wirtualna - RAM na dysku, swap file, swapowanie, czyli spisywanie danych na dysk i do RAMu; można uruchomić wiele aplikacji.

OS/2 Wrap IBM, rozwijany od 1987 roku, ponad 10 mln użytkowników, sprzedawany wiele lat z komputerami IBM

Macintosh

Page 71: Podstawy  Informatyk i

Oprogramowanie

NetWare firmy Novell Inc

Unix rozwijany od 1970 roku, laboratoria Bella firmy AT&T

Hierarchiczny system i ścieżki dostępu do plików. Ochrona dostępu do katalogów i plików. Wieloprogramowość i wielodostęp. Łatwe dostosowanie interpretera poleceń do użytkownika. Praca w sieci.

260 wersji Unixa!

Linux

Page 72: Podstawy  Informatyk i

Oprogramowanie

BeOS - coraz bardziej popularny darmowy system do użytku domowego; nacisk na multimedia.

VMS na komputery Vax (10 milionów użytkowników w 1995 roku)OpenVMS , 64-bitowa wersja Open VMS 7, integracja systemów OpenVMS i Windows NT

QNX, wielozadaniowy i wielodostępny system czasu rzeczywistego, używany np. na lotniskach; dostępne są

darmowe wersje.

Page 73: Podstawy  Informatyk i

Oprogramowanie

Programowanie - od przełączania kabli i pisania ciągów bitów do symbolicznych, algorytmicznych języków programowania. Języki maszynowe i symboliczne języki programowania: zbiór abstrakcyjnych definicji i reguł syntaktycznych, które potrafimy przełożyć na kod maszynowy.

Implementacja języka: konkretną realizacją danego języka dla maszyn określonego typu. Język i implementacja często mają tą samą nazwę.

Program = zbiór poleceń wybranych zgodnie z dopuszczalnymi przez dany język regułami. Programy tłumaczące języki symboliczne na języki maszynowe, czyli translatory: interpretery i kompilatory.

Page 74: Podstawy  Informatyk i

Oprogramowanie

Generacje języków programowania

generacja I - język maszynowy

lista instrukcji, z których każda jest serią binarnych liczb

np.

1010 0101 0000 0000 0000 1111

gdzie

1010 - rozkaz dodawania

0101 - zawartość rejestru 5

0000 0000 0000 1111 - adres miejsca w pamięci komputera

w notacji szesnastkowej A 5 000F

Page 75: Podstawy  Informatyk i

Oprogramowanie

generacja II - język asemblerowy

skojarzenie kolejnych komponentów instrukcji z symbolami i nazwami

np.

1010 0101 0000 0000 0000 1111

może być reprezentowana przez zapis

ADD TAX TOTAL

gdzie

ADD = 1010 - dodawanie

TAX=0101 - zawartość rejestru 5

TOTAL=0000 0000 0000 1111 - adres miejsca w pamięci komputera

wymaga tzw. asemblera - programu tłumaczącego kod symboliczny na maszynowy

Page 76: Podstawy  Informatyk i

Oprogramowanie

generacja III -

instrukcje podobne do fraz i zdań języka naturalnego (angielskiego)

np.

if ... else...then; begin...end; while;

wymaga tzw. kompilatora- programu tłumaczącego kod źródłowy na maszynowy

lub

interpretera - programu iteracyjnie pobierającego kolejne instrukcje, tłumaczącego na kod wykonywalny i natychmiast go wykonującego

rozwiązany problem przenaszalności programów (np. standard ANSI języka C)

Page 77: Podstawy  Informatyk i

Oprogramowanie

Konsolidacja, linkowanie ( link): scaleniu binarnych fragmentów programu w jedną całość i dołączeniu procedur systemowych, procedur wejścia/wyjścia, funkcji matematycznych z bibliotek systemowych i innych elementów koniecznych do działania programu.

Debuggery: programy, ułatwiające śledzenie wykonywania się danego programu, nazywane są debugerami, czyli „odpluskwiaczami”. Nazwa "debugging" powstała w 1945 roku, w elektromechanicznym komputerze Mark II były karaluchy w przekaźnikach.

Page 78: Podstawy  Informatyk i

Oprogramowanie

generacja IV -

systemy oprogramowania pozwalające na interaktywne tworzenie oprogramowania, systemy CASE

generacja V -

języki sztucznej inteligencji (LISP, PROLOG) z wbudowanymi mechanizmami wnioskowania

Page 79: Podstawy  Informatyk i

Oprogramowanie

Paradygmaty programowania: Programowanie liniowe - wszystko w jednym worku, go to ! Programowanie strukturalne - moduły operujące na lokalnych danych i zmiennych, komunikacja przez przekazywanie parametrów, każdy moduł testowany osobno. Wada: zmiana struktur danych wymaga zmiany wielu modułów. Programowanie zorientowane obiektowo - dane i programy tworzą jeden obiekt.Programowanie funkcyjne - odwołania do funkcji.

Ponad 2000 opublikowanych języków programowania!

Page 80: Podstawy  Informatyk i

Oprogramowanie

Algorytm

„abstrakcyjny przepis opisujący działanie, które może zostać wykonane przez człowieka, komputer lub w inny sposób” (wg Harel’a); jego ważną cechą jest możliwość wykorzystania tego samego algorytmu do rozwiązania całej grupy problemów należących do tej samej klasy

nazwa pochodzi od Araba Muhammeda Alchwarizmi

jednym z pierwszych algorytmów był opis sposobu znajdowania największego wspólnego dzielnika dwóch liczb, opracowany przez Euklidesa ok. 400 r. pne.

program komputerowy jest jedną z form zapisu algorytmu

Page 81: Podstawy  Informatyk i

Oprogramowanie

Schematy blokowe

graficzna prezentacja algorytmu

Funkcja silnia

0! = 1

1!= 1 = 0! * 1

2!= 1 * 2 = 1! * 2

3! = 1 * 2 * 3 = 2! * 3

n! = 1*2*..*n=(n-1)! * n

Page 82: Podstawy  Informatyk i

Oprogramowanie

Zapis algorytmu w języku Pascal

var n, licznik: Byte; silnia: Real;begin read(n); if (n >= 0) then begin licznik:=0; silnia:=1; while licznik<> n do begin licznik:=licznik+1; silnia:=silnia*licznik; end write(silnia) endend;

Page 83: Podstawy  Informatyk i

Oprogramowanie

Złożoność oprogramowania

Windows 2000 - fakty

październik1997 - I-sza beta wersja (NT 5.0)

kwiecień 1999 - 3 beta wersja

styczeń 2000 - wersja komercyjna

lipiec 2000 - I-szy zestaw poprawek

40-60 mln linii kodu

ok. 2000 programistów

Page 84: Podstawy  Informatyk i

Oprogramowanie

Wzrost złożoności oprogramowania -

NASA

Space

Station

ApolloGemini

Mercury0

10

20

30

40

50

60

70

1962 1965 1972 1978 1987

lata

LO

C (

mln

)

Page 85: Podstawy  Informatyk i

Oprogramowanie

Crisis Driven Development

w USA większość z 250 mld $ wydawanych rocznie na tworzenie oprogramowania jest tracona na opóźnione, niedokończone i przerwane projekty

27% projektów powstaje w założonym czasie, budżecie i funkcjonalności

33% projektów przekracza czas, budżet i ma mniejszą funkcjonalność

40% projektów jest przerywanych

53%projektów przekracza koszty o 51% i więcej

68% projektów przekracza czas o 51% i więcej

Page 86: Podstawy  Informatyk i

Oprogramowanie

Cykl życia” (life cycle) programu

Analiza wymagań

Specyfikacja

Projekt

Implementacja

Testowanie

Wdrożenie

Page 87: Podstawy  Informatyk i

Oprogramowanie

Procentowy rozkład kosztów w

cyklu życia oprogram.

3 3 57

15

67

Analiza wymagań

Specyfikac ja

Projekt

Implementac ja

Testowanie

Wdrożenie iutrzymanie

Page 88: Podstawy  Informatyk i

Oprogramowanie

Oprogramowanie użytkowe

Edytory tekstu - słownik i analiza gramatyczna, ebook, OCR, skład komputerowy DTP

Bazy danych

Obliczenia, arkusze kalkulacyjne, modelowanie ekonomiczne i finansowe, obliczenia statystyczne, numeryczne i symboliczne

Pakiety organizacji prac biurowych (np. Lotus)

Pakiety graficzne

i wiele, wiele innych...

Page 89: Podstawy  Informatyk i

Grafika

grafika rastrowa (grafika bitmapowa lub malarska), grafika wektorowa i jej specjalne rodzaje: komputerowy rysunek techniczny, CAD, Computer Aided Design; grafika prezentacyjna;

Cechy grafiki rastrowej

Programy malarskie: działają na mapach bitowych, złożonych z pikseli (pixel jest skrótem od angielskiego „picture element"), posiadających atrybuty.

Zdjęcie legitymacyjne 3x4 cm, 300 dpi, ok. 350×470 punktów = 165 K = 0.5 MB w wiernym kolorze. Pocztówka 10x15 cm, 300 dpi, ok. 1200×1800 pikseli =ok. 2.2 M punktów = 6.6 MB!

Page 90: Podstawy  Informatyk i

Grafika

Kolor: 1 bit - czarnobiały, 8 bitów - pseudokolor (256 kolorów), 16 bitów - kolor pełny (32768 kolorów) 24 bity - kolor wierny, prawdziwy (16.8 M barw) 32 i 48 bitów - spotyka się w zastosowaniach profesjonalnych.

Mieszanie barw - dithering (metody Bayera, Burkesa, Stuckiego ...),

Parametry koloru: barwa, nasycenie i jasność (Hue, Saturation, Brightness), czyl "model HSB". Podstawowe barwy RGB (czerwony, zielony, niebieski) dla monitorów lub CMYK dla drukarek (turkusowa czyli cyjan, karmazynowa czyli magenta i żółta oraz czarna), Standardy Pantone oraz Trumatch.

Page 91: Podstawy  Informatyk i

Grafika

Podstawowe formaty grafiki rastrowej: BMP - standard Windows, brak kompresji, używany np. do tła TIF - Tagged File Image Format, różne warianty, kompresja bez strat LZW, używany przez faksy GIF - Graphics Interchange Program, popularny, dobra kompresja dla koloru 1, 2, 4, 8-bitowego JPG - Joint Photographic Experts Group, prawie najlepsza kompresja (nieodwracalna) dla wiernego koloru

PCX - 256 kolorów, kompresja do 3 razy, stracił na popularności Zdjęcie w formacie XGA, 1024x768 piksele, ma:

BMP - 2304 kB, TIF bez kompresji - 2307 kB, z kompresją zip - 1133 kB, LZW - 1515 kB PCX - 1543 kB, PNG - 650 kB, GIF 256 kolorów - 291 kB, JPG - jakość 80% - 72 kB, jakość 60% - 57 kB (stopień kompresji zależy od rodzaju zdjęcia).

Page 92: Podstawy  Informatyk i

Grafika

Cechy grafiki wektorowej zorientowana obiektowo.Punkty kontrolne określające kształt krzywych, krzywe Beziera; odtworzenie krzywej wymaga rozwiązania układu równań i obliczenia położenia wszystkich jej punktów. Ścieżka: zbiór punktów wyznaczających linię na rysunku. Kontur figury - ścieżka zamknięta.Warstwy - połączone grupy obiektówObiekty zamknięte są w obwiedniach nazywanych kopertami. Nałożenie koperty na jakiś obiekt może go zdeformować dopasowując do kształtu koperty, np. do gumowej powierzchni nadmuchanego balonu. Wypełnienia: jednolite, gradientowe czyli tonalne (ciągłe przejście od jednej barwy do drugiej w sposób liniowy, radialnie lub stożkowo), sztafury (wypełnienia kreskowane lub powtarzającym się wzorem) oraz tekstury (podobne do naturalnych lub sztucznych materiałów takich jak włókna tkaniny, powierzchnia cegły czy chmury). Tryb konturowy (wireframe), bez wypełnień i tekstur.

Page 93: Podstawy  Informatyk i

Grafika

Formaty graficzne: EPS (Encapsulated Postscript, najczęstszy format, ale niezbyt dobrze realizowany przez większość programów, EPS dopuszcza nagłówki przechowujące obraz w formie rastrowej (zwykle w formacie TIF) przy niskiej rozdzielczości), WMF (Windows MetaFile), tworzony przez narzędzia do rysowania np. w MS-OfficeCDR (Corel Draw), CGM (Computer Graphics Metafile, czyli metaplik grafiki komputerowej), DRW (Micrografx Designer), PIC, PICT, DXF (głownie do CAD, rysunków technicznych), HPGL - do ploterów

Page 94: Podstawy  Informatyk i

Grafika

Grafika prezentacyjna uproszczona grafika wektorowa.

Page 95: Podstawy  Informatyk i

Grafika

Page 96: Podstawy  Informatyk i

Grafika

Page 97: Podstawy  Informatyk i

Grafika

Komputerowo wspomagane projektowanie

CAD, Computer Aided Design

CAE, Computer Aided Engineering, CAM, Computer Aided Machinery CIM, Computer Integrated Manufacturing

Wyspecjalizowane programy do wspomagania projektowania w różnych dziedzinach: SPICE, program do projektowania programowalnych układów logicznych; PADS, symulator analogowych układów elektronicznych; SUSIE, symulator działania złożonych układów logicznych; EAGLE, program do projektowania obwodów drukowanych, ma polską

instrukcję i pracuje nawet na PC-XT. Komputerowa animacja

Page 98: Podstawy  Informatyk i

Komunikacja

Szybkość przesyłania sygnałów

Page 99: Podstawy  Informatyk i

Komunikacja

Sieci pakietowe: informacja wędruje w porcjach po kilka kilobajtów, zaopatrzonych w adres docelowego urządzenia.

Komunikacja z drugim komputerem

Przesyłanie zbiorów i korzystanie z wspólnych urządzeń.

Komunikacja poprzez złącze szeregowe: do 15 m, do 115 Kb. Złącze równoległe (Centronics) 3 razy szybsze.

Komunikacja na większe odległości - wymaga linii telefonicznych lub łączy radiowych. Multipleksery - umożliwiają wykorzystanie tej samej linii do wielu połączeń.

Page 100: Podstawy  Informatyk i

Komunikacja

Protokół komunikacyjny - zbiór reguł, szczegółowo określający sposób nawiązywania łączności, sterowania komunikacją i

przygotowania danych do przesyłania TCP/IP ( Transmission Control Protocol over Internet Protocol)

TCP/IP to zestaw protokołów używany w Unixie i Windows, podstawa Internetu. Zawiera protokoły poczty elektronicznej (mail, SMTP), transferu plików (ftp), zdalnej pracy (telnet, rlogin).

IPX/SPX (Internet Packet Exchange/Sequenced Packet Exchange), dla sieci NetWare firmy Novell. NetBEUI (NetBIOS Extended User Interface) - protokół warstwy transportowej na PC, używany przez sieci Microsoft i IBM LAN Server.DECnet- dawniej jedna z bardziej rozbudowanych sieci. PPP (Point-to-Point Protocol), stosowany przy połączeniach modemowych.SLIP (Serial Line Internet Protocol)

SMTP, POP3, SNMP,

Page 101: Podstawy  Informatyk i

Komunikacja

Sieci komputerowe:

LAN (Local Area Network), lokalne

MAN (Municipal Area Network), municypalne (miejskie)

WAN (Wide Area Network), rozległe

Sieć globalna - Internet, sieć sieci.

Page 102: Podstawy  Informatyk i

Internet

Dostęp do Internetu oferuje wiele firm, łącznie z bezpłatną pocztą elektroniczną. Najprościej: modem + linia telefoniczna, do 56 Kb/sek ISDN - do 128 Kb/s, dość wysokie koszty. SDI (szybki dostęp do internetu), do 115 Kb/sek, wysoka opłata instalacyjna. W kilku miejscach w Polsce: stały dostęp przez telewizję kablową. PLC - przyłączanie przez sieć energetyczną; szybkości rzędu 2.5

Mbps, możliwe rozmowy telefoniczne używając technologii VoIP.

Page 103: Podstawy  Informatyk i

Internet

Adresy: budowa hierarchiczna, nazwy krajów, np. pl (Polska), de (Niemcy), fr (Francja), jp (Japonia), uk (Wielka Brytania). Stany Zjednoczone - nic.

Końcowa część adresu określa charakter danego węzła: edu oznacza naukę i edukację, com to węzeł komercyjny, org oznacza organizacje usługowe, net organizacje związane z zarządzaniem siecią, gov to podsieć rządowa a mil wojskowa.

Nowe domeny, od 2001 roku: .art, .biz, .casino, .firm, .info, .inc, .kids, .law, .news, .nom, .radio, .sex, .site, .shop, .store, .tel, .web, .xxx, NetNames Polska, zajmuje się rejestracją domen

Page 104: Podstawy  Informatyk i

Internet

Dobry adres wart jest miliony dolarów! Adresy www.firma.pl często są zajęte w nadziei, że dadzą się dobrze sprzedać.

IP numbers, 32 bity = 4 bajty, np: 158.75.5.35 nasz serwer www.phys.uni.torun.plNameserver (NIS, DNS, NDS) - zmienia nazwy na numery IP

Page 105: Podstawy  Informatyk i

Internet

Eksponencjalny rozwój sieci serwerów WWW: 2,74 tysięca w 6/1994; 23,5 tysięcy w 6/1995; 230 tysięcy w 6/1996 (dane: IEEE Spectrum 1/1997)

Koniec 1999 roku - około 1.7 mld stron WWW! Luty 1999 (ACM): Prawie 3 mln hostów, ok. 800 mln stron WWW, ok. 15 TB danych, 180 mln obrazków. 6% edukacja i nauka, 3% medycznych, 1.5% porno, 1% religijne, reszta głównie e-commerce. Bibliometria sieci - trudno ją zmierzyć

Konta Internetowe: styczeń 1998 - w USA 55 mln, w Japonii 8, W. Brytania 5.8, Kanada 4.3, Niemcy 4.1, Australia 3.4, Holandia 1.4 .... Szwajcaria 0.8, ... Polska 0.4 mln

Page 106: Podstawy  Informatyk i

Internet

Europa daleko w tyle, ale udział % USA spada. Przewidywana liczba użytkowników WWW w 2001 roku: 175 milionów. Trudności firm Internetowych w 2001 roku to wynik zbyt wysokich notowań na giełdzie w stosunku do rentowności firmy. Listopad 2000: internetowy handel detaliczny w USA to 6.4 mld USD (miesiąc wcześniej 4.4 mld USD).

2005: przewidywana liczba użytkowników WWW ok. 340 milionów. Inicjatywa Internet2, technologia GigaPoP - superszybkie przesyłanie informacji;

Page 107: Podstawy  Informatyk i

Multimedia

Multimedia; modalność, program multimedialny (wielomodalny). Klasyfikacja systemów wielomodalnych:

Systemy konwersacyjne: wideofonia, wideokonferencje, dźwięk, obraz, dane cyfrowe.

Systemy przesyłania wiadomości: elektroniczna poczta wideo.

Systemy udostępniania informacji: cyfrowa TV, satelitarna, kablowa i Internetowa, wideo na żądanie.

Interakcyjne systemy udostępniania informacji: ITV, Interakcyjna TV i interakcyjne strony WWW.

Systemy wyszukiwania informacji: wideotekst, serwery multimedialne WWW.

Page 108: Podstawy  Informatyk i

Multimedia

Zastosowania

Przestrzeń komunikacyjna (media space), eksperymenty firmy Xerox z pracą grupową na większe odległości.

Systemy wideokonferencji

Cyberspace czyli wirtualna rzeczywistość

Sprzęt: stereoskopowy obraz oglądać można przy pomocy hełmu (HMD, Head Mounted Display) lub urządzenia projekcyjnego określanego jako CAVE (jaskinia).

Page 109: Podstawy  Informatyk i

Multimedia

Zastosowania: Wirtualna rzeczywistość w medycynie: szkolenie, operacje i zabiegi chirurgiczne. Archeologia i historia: rekonstrukcje starożytnych zabytków; modele Stonehenge; starożytnego Rzymu, Aten, model benedyktyńskiej bazyliki Cluny; Technika: sterowanie robotem na księżycu lub we wnętrzu wulkanu.

Augumented reality - rozszerzona rzeczywistość, czyli elementy wirtualne dodane do naturalnych

Page 110: Podstawy  Informatyk i

Multimedia

Zapachy z komputera! iSmell firmy DigiScents, pierwsze testy w 2000 roku, zapachy tworzą się w ciągu 4-6 sekund, trwają też 4-6 sek. Ok. 128 podstawowych kompozycji, dane do mieszania rzędu 1 KB, można wytworzyć tysiące zapachów.

Dotyk: zdalne wyczucie różnych substancji dotykiem!

Page 111: Podstawy  Informatyk i

Sztuczna inteligencja

Inteligencja Obliczeniowa (Computational Intelligence, CI) Dziedzina nauki, zajmująca się rozwiązywaniem problemów, które nie są efektywnie algorytmizowalne, za pomocą obliczeń.

Częścią CI jest sztuczna inteligencja (Artificial Intelligence, AI), zajmująca się modelowaniem wiedzy, rozwiązywaniem problemów niealgorytmizowalnych w oparciu o symboliczną reprezentację wiedzy.

Inne dziedziny wchodzące w skład CI to sieci neuronowe, logika rozmyta, algorytmy genetyczne i programowanie ewolucyjne, określane często wspólną nazwą "soft computing". W skład CI wchodzą też metody uczenia maszynowego, rozpoznawania obiektów (pattern recognition), metody statystyki wielowymiarowej, metody optymalizacji, metody modelowania niepewności - probabilistyczne, posybilistyczne, zgrzebne (czyli zbiory i logika przybliżona), oraz teorii

kontroli i sterowania.

Page 112: Podstawy  Informatyk i

Sztuczna inteligencja

Tradycyjne zagadnienia należące AI

Rozwiązywanie problemów, procesy myślenia

Rozumowanie logiczne

Język naturalny

Autoprogramowanie

Uczenie się, systemy nabierające doświadczenia

Ekspertyza - systemy eksperckie.

Robotyka.

Komputerowe widzenia - analiza i rekonstrukcja obrazu.

Systemy operacyjne i języki programowania dla potrzeb AI

Page 113: Podstawy  Informatyk i

Sztuczna inteligencja

Zagadnienia filozoficzne - czy komputer może być świadomy?

Klasyfikacja struktur: rozpoznawanie obrazów, mowy, pisma, struktur chemicznych, zachowań człowieka lub maszyny, stanu zdrowia, sensu wyrazów i zdań.

Inteligentne wspomaganie decyzji: diagnozy medyczne, decyzje menadżerskie.

Kontrola: jakości produktów, ostrości obrazu,

Gry strategiczne: uczenie się na własnych i cudzych błędach

Sterowanie: samochodu, urządzeń technicznych, fabryk.

Planowanie: budowa autostrad, wieżowców, optymalizacja działań, tworzenie teorii.

Optymalne spełnianie ograniczeń, optymalizacja wielokryterialna.

Page 114: Podstawy  Informatyk i

Sztuczna inteligencja

Detekcja regularności, samoorganizacja, kompresja obrazów.

Separacja sygnałów z wielu źródeł: oczyszczanie obrazów z szumów, separacja sygnałów akustycznych.

Prognozowanie: wskaźników ekonomicznych, pogody, plam na Słońcu, upodobań, decyzji zakupu.

Askrypcja danych - łaczenie informacji z wielu baz danych.

Selekcja cech - na co warto zwrócić uwagę.

Redukcja wymiarowości problemu.

Szukanie wiedzy w bazach danych, inteligentne szukanie (semantyczne).

Zrozumienie umysłu: doświadczeń psychologicznych, sposobu rozumowania i kategoryzacji, poruszania się i planowania, procesów uczenia.

Page 115: Podstawy  Informatyk i

Sztuczna inteligencja