Wstęp do Informatyki dr inż. Paweł Pełczyński ppelczynski@swspiz.pl
Literatura 1. Brookshear, J. G. (2003). Informatyka w ogólnym zarysie. WNT, Warszawa. 3. Małecki, R. Arendt D. Bryszewski A. Krasiukianis R (1997). Wstęp do informatyki. Skrypt PŁ, Łódź. Prezentacje wykładowe dostępne na stronie: http://ppelczynski.swspiz.pl/ 2
Definicja pojęcia Informatyka Wikipedia: Informatyka (łac. informatio - "wyobrażenie", "wizerunek", "pomysł ) dziedzina nauki i techniki zajmująca się przetwarzaniem informacji w tym technologiami przetwarzania informacji oraz technologiami wytwarzania systemów przetwarzających informacje. 3
Informacja i dane Informacja - właściwość pewnych obiektów, relacja między elementami zbiorów pewnych obiektów, której istotą jest zmniejszanie niepewności (nieokreśloności). W informatyce nośnikiem informacji są dane. Przetwarzanie informacji sprowadza się do przetwarzania danych. 4
Budowa komputera Wejście Procesor Wyjście Pamięć (program, dane) 5
Zasada działania komputera Każdy problem obliczeniowy można rozwiązać za pomocą sekwencji skończonego zbioru operacji Komputer wykonuje zadanie (rozwiązuje problem) poprzez wykonywanie ciągu prostych operacji Zbiór wszystkich operacji wykonywanych przez komputer jest nazywany listą instrukcji lub listą rozkazów Kolejność operacji jest zakodowana ciągiem instrukcji, nazywanym programem Wikipedia: "Maszyna posiadająca zdolność wykonywania dowolnego programu jest nazywana uniwersalną maszyna Turinga. Praktyczną realizacją uniwersalnej Maszyny Turinga jest komputer" 6
Cechy komputera Zdolność przetwarzania danych (wykonywania obliczeń) Programowalność rodzaj wykonywanego zadania wyznacza program, a nie budowa komputera Uniwersalność przeznaczenie komputera nie musi być znane podczas projektowania jego architektury, a jest definiowane przez wykonywany program Sekwencyjny (szeregowy) sposób pracy w danym momencie jest wykonywana tylko jedna instrukcja (Ta zasada jest prawdziwa jedynie dla prostych komputerów, zbudowanych zgodnie z tzw. architekturą Von Neumanna) 7
Struktura prostego systemu mikroprocesorowego Magistrala danych Mikroprocesor Magistrala adresowa Magistrala sterująca Pamięć Układy wejścia, wyjścia (I/O) 8
Przykładowe zastosowania komputera Obliczenia Wspomaganie projektowania (CAD) Sterowanie procesami i urządzeniami Wspomaganie zarządzania Banki (bazy) danych, wyszukiwanie informacji... Grafika Przetwarzanie sygnałów i obrazów Rozrywka: gry, muzyka, filmy itd... 9
Historia rozwoju komputerów Wraz z powstaniem pasterstwa i rozwojem form wymiany towarów pojawiła się potrzeba liczenia. Dla ułatwienia prowadzenia obliczeń i pamiętania ich wyniku zaczęto stosować różnorodne pomoce, np. kamyki, liczenie na palcach, symbole reprezentujące liczby. Kości z Ishango, ok. 25 000 lat p.n.e. 10
Historia rozwoju komputerów 300 p.n.e. Liczydło (Abakus) ok. 1500 Projekt kalkulatora Leonarda Da Vinci 1623 Wilhelm Schickard buduje pierwszy mechaniczny kalkulator 11
Historia rozwoju komputerów 1804 Programowalne krosno Jacquarda 1820-40 Charles Babbage konstruuje szereg programowalnych, mechanicznych maszyn liczących 12
Historia rozwoju komputerów 1854 George Boole opracowuje algebrę stanowiącą formalizację praw logiki 1936 Alan Turing definiuje maszynę zdolną do realizacji dowolnego algorytmu 1945 John von Neumann opracowuje szeregową architekturę komputera Źródło fotografii: http://pl.wikipedia.org 13
Historia rozwoju komputerów 1948 ENIAC pierwszy komputer elektroniczny (18tys. Lamp elektronowych, 30 ton) Lata 50-te XXw. zastosowanie tranzystorów do budowy komputerów Lata 60-te XXw. zastosowanie układów scalonych 14
Historia rozwoju komputerów 1971 Pierwszy mikroprocesor: Intel4004 (4-bitowy) 1978 Pierwszy mikroprocesor 16-bitowy: Intel8086 (Zastosowany w pierwszych komputerach IMB PC XT) 1995 ENIAC-on-a-chip, 7,4x5,3mm 2000 PENTIUM IV 15
Prawo Moore a Prawo Moore'a - optymalna liczba tranzystorów w układzie scalonym w kolejnych latach posiada trend wykładniczy (podwaja się w niemal równych odcinkach czasu, co ok. 24miesiące). Źródło: http://pl.wikipedia.org/ 16
Typowe rodzaje danych Liczby (dane liczbowe) Teksty (dane tekstowe) Dane dźwiękowe Sygnały i dane pomiarowe Dane obrazowe Obrazy ruchome - filmy Wiele innych Z punktu widzenia sposobu przechowywania w komputerze programy komputerowe są rodzajem danych. 17
Sposoby reprezentacji liczb Początkowo wystarczało liczenie na palcach, kamyczki, itd. W celu pamiętania dużych liczb zaczęto wymyślać ich symboliczną reprezentację. Wyróżnia się dwa główne systemy liczbowe: - addytywne (np. rzymski) - pozycyjne (np. dziesiętny) 18
Sposoby reprezentacji liczb Przykłady systemów liczbowych: Majowie Skandynawia (średniowiecze) Źródło: http://pl.wikipedia.org/ 19
Sposoby reprezentacji liczb Dziesiętny system liczbowy, zwany też systemem decymalnym lub arabskim, to system pozycyjny. Podstawą pozycji są kolejne potęgi liczby 10. Do zapisu liczb używa się 10 cyfr (symboli): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Przykład: 7625=7*10 3 +6*10 2 +2*10 1 +5*10 0 20
Reprezentacja liczb w komputerze Liczby i inne dane w technice cyfrowej (w komputerach) najłatwiej jest reprezentować za pomocą ciągów symboli zero-jedynkowych. Ograniczenie zbioru symboli do dwóch wynika z łatwości realizacji dwóch wartości napięcia na wyjściu układów cyfrowych: - 0 napięcie bliskie potencjałowi masy - 1 napięcie bliskie napięciu zasilania 21
Reprezentacja liczb w komputerze Pozycyjny system dwójkowy (binarny) dwie cyfry 0 i 1, zasada zapisu jak dla systemu dziesiętnego: 1011=1*2 3 +0*2 2 +1*2 1 +1*2 0 Wadą tego podejścia jest konieczność konwersji liczb dziesiętnych na dwójkowe podczas wprowadzania danych i odwrotnie podczas ich prezentacji. 22
Reprezentacja liczb w komputerze Zalety: Łatwość realizacji operacji arytmetycznych Łatwość pamiętania danych binarnych Sumator jednopozycyjny Pamięć jednej cyfry - przerzutnik typu D Źródło: http://pl.wikipedia.org/ 23
Reprezentacja liczb w komputerze Podstawowa objętość danych, pozwalająca na zapisanie jednej cyfry binarnej to jeden: bit Jednostki pochodne: 1 bajt = 8 bitów 1 kilobajt (1kB) = 2 10 bajtów 1 megabajt (1MB) = 2 10 kb 1 gigabajt (1GB) = 2 10 MB 24
Reprezentacja liczb w komputerze Dla ułatwienia czytania liczb binarnych stosuje się notację heksadecymalną (szesnastkową). Dec 0 1 2 3 4 Bin (NBC) 0000 0001 0010 0011 0100 Hex 0 1 2 3 4 Jedna cyfra szesnastkowa odpowiada czterem cyfrom binarnym (bitom) 10 11 12 13 14 1010 1011 1100 1101 1110 A B C D E 15 1111 F 25
Reprezentacja danych tekstowych w komputerze Tekst jest ciągiem znaków skończonego alfabetu, np. alfabetu łacińskiego. Każdemu znakowi można przypisać wartość liczbową Powstaje kod, pozwalający na pamiętanie tekstów w postaci ciągów liczb, np. kod ASCII Fragment kodu ASCII Przykład: liczba = {108, 105, 99, 122, 98, 97} 26
Reprezentacja dźwięków i innych sygnałów w komputerze Sygnał jest próbkowany i przetwarzany na postać cyfrową (ciąg liczb) 2 1 x(t),y( n ) -1 0 1-1 -2 2 t,n 27
Reprezentacja obrazów w komputerze Obraz cyfrowy jest mozaiką pikseli o jasności reprezentowanej liczbami w tablicy dwuwymiarowej. Każdy piksel obrazu barwnego jest opisany trzema liczbami, określającymi intensywność poszczególnych składowych koloru. 28
Reprezentacja programów w komputerze Program jest ciągiem prostych instrukcji dla mikroprocesora, które można kodować liczbami. 29