Wstęp do Informatyki - dr Paweł Pełczyński

advertisement
Wstęp
do Informatyki
dr inż. Paweł Pełczyński
[email protected]
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ą
6
realizacją uniwersalnej Maszyny Turinga jest komputer"
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
Magistrala adresowa
Mikroprocesor
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:
Skandynawia
(średniowiecze)
Majowie
Ź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*103+6*102+2*101+5*100
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*23+0*22+1*21+1*20
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
23
Źródło: http://pl.wikipedia.org/
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) = 210 bajtów
1 megabajt (1MB) = 210 kB
1 gigabajt (1GB) = 210 MB
…
24
Reprezentacja liczb w komputerze
Dla ułatwienia czytania
liczb binarnych stosuje
się notację
heksadecymalną
(szesnastkową).
Jedna cyfra
szesnastkowa
odpowiada czterem
cyfrom binarnym
(bitom)
Dec
Bin (NBC)
Hex
0
0000
0
1
0001
1
2
0010
2
3
0011
3
4
0100
4
…
…
…
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
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)
x(t),y( n )
2
1
-1 0
-1
-2
1
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
Download