1
1
Podstawy informatyki
2
Literatura
1. Małecki R., Arendt D., Bryszewski A.,
Krasiukianis R.: Wstęp do Informatyki.
Skrypt P.Ł. Łódź, 1997.
2. Kisielewicz A.: Wprowadzenie do
informatyki. Helion, Gliwice 2002
3. Grębosz J.: Symfonia C++ Standard,
Oficyna Kallimach, Kraków, 2005
3
Podstawowe pojęcia
•
Komputer
• Komputer jest urządzeniem elektronicznym.
Przetwarza sygnały cyfrowe (reprezentujące
ciągi cyfr) na inne sygnały cyfrowe zgodnie
z dowolnie ustalonym sposobem, zwanym
programem.
4
Podstawowe pojęcia
•
Komputer
• Sygnały takie komputer otrzymuje z urządzeń
wejściowych (takich jak klawiatura, mysz, stacja
dyskietek), a także, zgodnie z programem, może je
pobierać
z danych zapisanych wewnątrz
komputera, na dysku twardym. Przetworzone
sygnały sterują
urządzeniami wyjściowymi
(takimi jak monitor, głośniki, drukarka), tworząc
przewidziane przez program efekty. Sygnały
wyjściowe mogą być również skierowane do
zapisania na dysku twardym lub dyskietce.
2
5
Podstawowe pojęcia
•
Procesor i pamięć
• Najważniejsze wewnętrzne części komputera to
procesor (zwany też krótko CPU; ang. Central
Processor Unit), pamięć (wewnętrzna) i dysk
twardy (zwany czasami pamięcią zewnętrzną).
Komputer skonstruowany jest tak, że po
włączeniu, procesor zaczyna pobierać ciągi cyfr z
odpowiednich komórek pamięci wewnętrznej,
interpretuje je jako polecenia i wykonuje
odpowiednie czynności.
6
Podstawowe pojęcia
•
Procesor i pamięć.
• Najpierw pobiera polecenia z części pamięci
wewnętrznej zwanej pamięcią stałą ROM (od ang.
Read Only Memory); są to stałe polecenia
związane z inicjalizacją pracy komputera.
Następnie, stosownie do sygnałów
otrzymywanych z klawiatury i innych urządzeń
wejściowych, pobiera polecenia z różnych
komórek części pamięci zwanej pamięcią
operacyjną RAM (od ang. Random Access
Memory). W zależności od tego, jakie sygnały
otrzyma, wykonuje stosowny program.
7
Podstawowe pojęcia
• Pamięć to układ elektroniczny zdolny do
przechowywania danych w postaci cyfr (a
ściślej, pewnych stanów fizycznych
reprezentujących cyfry). Logicznie pamięć
podzielona jest na komórki, z których każda
oznaczona jest pewną liczbą zwaną jej
adresem.
8
Podstawowe pojęcia
• Pamięć Typowymi czynnościami procesora są:
pobranie zawartości komórki o określonym
adresie, a więc ciągu cyfr, wykonanie na nich
pewnej operacji arytmetyczno-logicznej, i
przesłanie wyniku pod wskazany adres. Zawartość
pamięci ROM jest stała, i służy, jak już
wspomnieliśmy do zainicjowania pracy
komputera. Natomiast zawartość pamięci
operacyjnej może być zmieniana w trakcie pracy
komputera. Schemat ideowy komputera
przedstawiony jest na rysunku 1.1.
3
9
Podstawowe pojęcia
Schemat ideowy komputera
10
Podstawowe pojęcia
•
Nośniki informacji
• Pamięć operacyjna jest w pewnym sensie
pamięcią „roboczą" dla procesora i służy do
tymczasowego przechowywania programów i
danych, do których niezbędny jest szybki dostęp.
Po wyłączeniu komputera dane w tej pamięci
ulegają skasowaniu. Pamięcią do długotrwałego
przechowywania programów i danych jest dysk
twardy.
11
Podstawowe pojęcia
•
Nośniki informacji. Dysk twardy bazuje
na zapisie magnetycznym. Dzięki temu
dane zapisane na nim mogą być
modyfikowane, ale są niezależne od
zasilania. Ma on znacznie większą
pojemność niż pamięć operacyjna, lecz
dostęp do danych jest znacznie wolniejszy.
12
Podstawowe pojęcia
• Dlatego typowa sesja pracy komputera
polega na załadowaniu (skopiowaniu)
wybranego programu i danych z dysku
twardego do pamięci operacyjnej, pracy z
programem stosownie do jego
przeznaczenia, i zapisaniu ewentualnych
wyników pracy na dysk twardy.
4
13
Podstawowe pojęcia
•
Nośniki informacji
• Na określenie czynności utrwalenia danych na
dysku używa się w języku polskim słowa zapisać
(niektórzy używają
słowa „zachować" lub
„zasejwować" od ang. save). Niezwykle ważnym
osiągnięciem jest wielka łatwość i szybkość
kopiowania danych. Dane z dysku twardego
można wielokrotnie kopiować
do pamięci
operacyjnej lub na inne nośniki informacji i
odwrotnie.
14
Podstawowe pojęcia
• Inne zewnętrzne nośniki informacji
• dyskietki,
• płyty CD-ROM i DVD,
• pamięci USB ( PenDrive, USB Flash Drive,
Flash Disk, FlashDrive, Finger Disk,
Massive Storage Device, Flash Memory
Stick Pen Drive)
15
Podstawowe pojęcia
• Nośniki informacji. Płyty CD-ROM i
DVD zdolne są pomieścić znacznie większe
ilości informacji, niż dyskietki
• Odczytu i zapisu dokonuje się
w
specjalnych kieszeniach komputera
zwanych
napędami
lub
stacjami
(odpowiednio: dyskietek, CD-ROM lub
DVD).
16
Podstawowe pojęcia
• Nośniki informacji
• Kieszenie na dyski twarde
• Dysk twardy może być również używany
jako przenośny nośnik informacji,
konkurując w ten sposób, w pewnych
zakresie, z technologią CD i DVD.
5
17
Podstawowe pojęcia
• Program to zestaw instrukcji dla
komputera
• Instrukcje powodują wykonanie przez
komputer określonego zadania.
• Instrukcje decydują, co uczynić z
otrzymanymi sygnałami w danej sytuacji,
jak je przetworzyć i do jakich urządzeń
skierować sygnały wyjściowe..
18
Podstawowe pojęcia
• Współczesne programy są bardzo
skomplikowane
• Wykorzystanie wcześniej napisanych
podprogramów
19
Podstawowe pojęcia
• Ilość operacji na sekundę
• Ilość komórek operacyjnych
• Komputer może sprawiać wrażenie
inteligentnej maszyny
20
Podstawowe pojęcia
• Reakcja komputera jest mechanicznym
wykonaniem ciągu instrukcji,
przewidzianych przez program
• Należy przewidzieć wszystkie możliwe
sytuacje
6
21
Podstawowe pojęcia
•
Terminologia
• Informacja jest zakodowana w sygnałach
cyfrowych
• Informacje (dane) wejściowe, informacje
(dane) wyjściowe
• Przetwarzanie informacji (przetwarzanie
danych).
22
Podstawowe pojęcia
• Urządzenia I/O (Input i Output)
• Podwójna rola urządzeń
23
Podstawowe pojęcia
• Zadanie komputera – przetwarzanie sygnałów
cyfrowych skąd nazwa urządzenia cyfrowe
• Istota działania komputera - wykonywanie na
informacji cyfrowej operacji logiczno-
matematycznych
• Pochodzenie nazwy komputera - elektroniczna
maszyna licząca,
• Dane wyjściowe - wyniki obliczeń
• Nazwa „komputer" od słowa compute — obliczać.
24
Podstawowe pojęcia
• Wiele programów ma charakter bardziej
logiczny niż obliczeniowy.
• Komplikacja wynika z przetwarzania
złożonych struktur rozgałęziających się
możliwości oraz wykorzystaniu cyfrowo
kodowanej grafiki i olbrzymich zasobów
informacji.
7
25
Podstawowe pojęcia
• Ze względu na to, że współcześnie
większość programów ma taki właśnie
charakter, nazwa „komputer" wydaje się
nietrafna i przestarzała
• Francuska nazwa komputera ordinnateur,
wywodzącą się od słowa ordinner —
porządkować).
26
Podstawowe pojęcia
•
Uniwersalność
• Wczesne komputery – maszyny liczące,
przeznaczone do wykonywania żmudnych i
czasochłonnych obliczeń matematycznych
• Programiści zmieniali fizyczne połączenia
dostosowane do konkretnych obliczeń
27
Podstawowe pojęcia
•
Uniwersalność
• Przełomowa rola idei Johna von Neumanna
• Program obliczeń, podobnie jak dane,
można było wprowadzać do elektronicznej
pamięci
• Łatwość i szybkość zmiany danych i
sposobu obliczeń
28
Podstawowe pojęcia
•
Uniwersalność
• Komputer urządzenie uniwersalne,
wielofunkcyjne
• Czynności zależą od wprowadzanego do
pamięci operacyjnej programu i danych.
8
29
Podstawowe pojęcia
•
Uniwersalność
• W zależności od programu
• Maszyna do pisania
• Gra komputerowa
• Kasa fiskalna
• Rejestr danych, automatyczny pilot, robota
sterującego produkcją itd.
30
Podstawowe pojęcia
•
Uniwersalność
• Podział na
• hardware (fizyczny osprzęt) i
• software (oprogramowanie)
31
Podstawowe pojęcia
•
Sieci i komunikacja
• Wymiana danych między komputerami
• Zapis dane na nośniku zewnętrznym
• Odczyt z nośnika zewnętrznego
• Transmisja danych kablem podłączonym
odpowiednio do obu komputerów.
32
Podstawowe pojęcia
• Możliwość łączenia komputerów w sieci
• Najprostszy pomysł to podłączenie wielu
komputerów do jednego większego „komputera-
matki”
• Odpowiedniego oprogramowanie tak, aby
wszystkie komputery mogły korzystać z
programów i danych komputera głównego, a także
wspólnie korzystać z drukarek i innych urządzeń.
9
33
Podstawowe pojęcia
• Sieci oparte na tej idei nazywają się
sieciami lokalnymi i znajdują zastosowanie
w pracowniach komputerowych, biurach i
zakładach pracy
34
Podstawowe pojęcia
• Schemat sieci lokalnej
35
Podstawowe pojęcia
• Zalety sieci lokalnych
• Oszczędności w sprzęcie i oprogramowaniu
• Nowe możliwości komunikacji i wymiany
informacji.
• Sieć lokalna może łączyć również komputery
znajdujące się w różnych miejscowościach. Taka
sieć wykorzystuje zwykle istniejące już połączenia
telekomunikacyjne.
36
Podstawowe pojęcia
• Zastosowanie modemu w sieci
• Urządzenie I/O przetwarza sygnały cyfrowe
na analogowe i odwrotnie
• Połączenie z innym komputerem poprzez
linie telefoniczne.
10
37
Podstawowe pojęcia
• Sieci rozległe
• Wynik łączenia różnych sieci lokalnych. W
ten sposób zaczęły powstawać
• Decentralizacja i rozproszenie.
38
Podstawowe pojęcia
• Elementy sieci rozległej
• Stanowiska robocze (terminale)
• Rutery (pomosty) — komputery łączące
różne sieci lokalne
• Serwery — komputery, których zadaniem
jest obsługa innych jednostek sieciowych.
39
Podstawowe pojęcia
• Protokół
• Zasady kodowania i przesyłania pakietów
informacji
40
Podstawowe pojęcia
• Większość sieci i podłączonych do nich
komputerów może się dziś ze sobą kontaktować.
• Standardowy sposób przesyłania informacji, tzw.
protokół TCP/IP (Transmission Control
Protocol/Internetwork Protocol, „międzysieciowy
protokół")
• Zbiór wszystkich połączonych sieci - Internet.
11
41
Podstawowe pojęcia
• Internet globalna sieć komputerowa.
• Sposoby
wymiany informacji (usług
internetowych)
• Poczta elektroniczna,
• WWW (World Wide Web)
• Listy dyskusyjne, czaty, telnet, FTP, sklepy
internetowe, gry sieciowe..
42
Podstawowe pojęcia
• Dominujący sposób wymiany informacji
poprzez strony WWW (Web Sites),
• Poczta elektroniczna poprzez strony www
43
Podstawowe pojęcia
• Rozwój technologii
• Możliwość korzystania z zasobów
rozrzuconych po sieci
• Zatarcie podziału komputerów na klasy:
mikrokomputery (osobiste, pecety)
• minikomputery (mainframe)
• superkomputery.
44
Podstawowe pojęcia
• Dzisiaj praktycznie każdy komputer
osobisty może pracować w sieci i jest
maszyną wielokrotnie przewyższającą
mocami obliczeniowymi niedawne
superkomputery, a przenośne notebooki
(laptopy) dorównują „pecetom".
12
45
Podstawowe pojęcia
•
Informatyka i technologia informacyjna
• Informatyka - dziedzina nauki, zajmująca się
teorią
komputerów i ich praktycznym
zastosowaniem
• Informatyka teoretyczna ma bardzo silne związki
z matematyką (z takimi dziedzinami jak logika,
algebra, kombinatoryka);
46
Podstawowe pojęcia
• Informatyka teoretyczna w niektórych
klasyfikacjach traktowana jest wręcz jako
gałąź matematyki.
• Działy informatyki stosowanej
• programowanie,
• administracja systemami komputerowymi,
• technologia komputerowa.
47
Podstawowe pojęcia
• Twórcy komputerów i informatyki
• Alan Turing
• John von Neumann
• Alan Turing - współtwórcą idei komputera i
teorii obliczeń,
• Maszyna Turinga - podstawowy
teoretyczny model komputera
48
Podstawowe pojęcia
• John von Neumann zaproponował między
innymi nowy sposób budowy komputera,
eliminujący liczne wady poprzednich
konstrukcji. Ten standardowy dziś sposób
budowy komputera nazywa się
architekturą von neumannowską.
13
49
Podstawowe pojęcia
• Niewątpliwym przełomem w użytkowaniu
komputerów stało się wprowadzenie (do
komunikacji z komputerem) systemów
okienkowych z myszką.
• Idea ta pochodzi od Douglasa Engelbarta,
który już w 1968 roku zaprezentował swój
system NLS, używający „dziwacznego
urządzenia wskazującego".
50
Podstawowe pojęcia
• Rozwój systemów okienkowych (lata 80)
• Windows dla systemów operacyjnych
Microsoftu
• X Window System w przypadku systemów
uniksowych.
51
Podstawowe pojęcia
• Rewolucja internetowa (lata 90)
• Okienkowe przeglądarki
• Powszechnie stosowane narzędzie
zdobywania informacji, rozrywki i
załatwiania interesów.
52
Podstawowe pojęcia
• Tendencja do połączenia różnych sposobów
wymiany informacji i komunikacji —
telefonii, telewizji i Internetu
• W związku z tym mówi się dziś ogólnie o
technologii informacyjnej, o
społeczeństwie informacyjnym i o
informacyjnej rewolucji.
14
53
Podstawowe pojęcia
• Konieczność poznania informatyki
• Umiejętność korzystania informatyki
54
Cyfrowa reprezentacja danych
• Informacja przetwarzana w komputerze
zakodowana jest w cyfrach.
• Wybór systemu binarnego (dwójkowego) ze
względów technicznych
55
Cyfrowa reprezentacja danych
• Przewaga z technologicznego punktu
widzenia systemu binarnego nad
dziesiętnym
• Łatwa realizacja układów dwustanowych
• Niezawodność układów dwustanowych
56
Cyfrowa reprezentacja danych
•
System binarny.
• System dziesiętny: liczby naturalne zapisuje
się jako ciągi cyfr 0,l,...9.
• W systemie binarnym (dwójkowym) są
tylko dwie cyfry, 0 i 1;
• System dziesiętny
0
1
1
1
0
1
1
10
10
10
a
a
a
a
a
a
a
a
n
n
n
n
n
n
+
+
+
+
=
=
−
−
−
K
K
15
57
Cyfrowa reprezentacja danych
• W systemie binarnym, podstawą
reprezentacji są potęgi liczby 2.
• Ciąg
0
1
1
1
0
1
1
2
2
2
b
b
b
b
b
b
b
b
n
n
n
n
n
n
+
+
+
+
=
=
−
−
−
K
K
• Zapis 11011 w systemie binarnym oznacza liczbę
• N = 2
4
+ 2
3
+ 2' + 2° = 16 + 8 + 2 + l = 27.
58
Cyfrowa reprezentacja danych
• Każdą liczbę zapisaną w systemie dziesiętnym
można zapisać w systemie binarnym i odwrotnie.
Ostatni przykład pokazuje w istocie rzeczy metodę
przechodzenia od zapisu binarnego do zapisu
dziesiętnego. Przejście od zapisu dziesiętnego do
binarnego jest nieco trudniejsze, bo wymaga
dzielenia z resztą. Działania arytmetyczne,
dodawania, mnożenia i dzielenia, na liczbach
zapisanych w systemie binarnym przeprowadza
się podobnie jak na liczbach zapisanych w
systemie dziesiętnym.
59
Cyfrowa reprezentacja danych
• Istotną rolę w zapisie binarnym odgrywają pewne
dodatkowe działania zwane logicznymi
• Ciąg zer i jedynek mało czytelny dla człowieka
• Powód stosowania zapisu dziesiętnego lub
• Szesnastkowego (w przypadku, gdy istotna jest
zawartość kolejnych bitów)
• W zapisie szesnastkowym (heksadecymalnym)
każda porcja czterech bitów oznaczona jest
osobnym znakiem
60
Cyfrowa reprezentacja danych
144
53
91
=
+
binarnych
liczb
Dodawanie
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
−
−
−
−
−
−
−
−
+
16
61
Cyfrowa reprezentacja danych
• Bitowy operator logiczny OR
1
1
1
1
1
1
1
1
0
1
0
1
1
1
|
1
1
0
1
1
0
1
−
−
−
−
−
−
−
62
Cyfrowa reprezentacja danych
• Bitowy operator logiczny AND
1
0
0
0
1
0
1
1
0
1
0
1
1
1
&
1
1
0
1
1
0
1
−
−
−
−
−
−
−
63
Cyfrowa reprezentacja danych
• Bitowy operator logiczny EX-OR
0
1
1
1
0
1
0
1
0
1
0
1
1
1
^
1
1
0
1
1
0
1
−
−
−
−
−
−
−
64
Cyfrowa reprezentacja danych
• Negacja bitowa
1
0
1
1
0
0
0
1
0
0
1
1
~
−
−
−
−
−
−
17
65
Cyfrowa reprezentacja danych
• System heksadecymalny
F
E
D
C
B
A
9
8
7
6
5
4
3
2
1
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
66
Cyfrowa reprezentacja danych
•
Jednostki informacji
• Informacja cyfrowa zapisywana jest jako
ciąg zer i jedynek
67
Cyfrowa reprezentacja danych
• Najmniejsza jednostka informacji
• pojedyncza cyfra binarna (ang. binary
digit), w skrócie: bit
• Osiem bitów, czyli ośmiocyfrową liczbę w
zapisie binarnym, przyjęto nazywać bajtem
(ang. by t e)
• Miara ilości informacji
68
Cyfrowa reprezentacja danych
•
1 kB = 1024 B (kB - kilobajt)
•
1 MB = 1024 kB (MB - megabajt)
•
1 GB = 1024 MB (GB - gigabajt)
•
1 TB = 1024 GB (TB - terabajt)
•
1 PB = 1024 TB (PB - petabajt)
18
69
Cyfrowa reprezentacja danych
•
1 EB = 1024 PB (EB - eksabajt)
•
1 ZB = 1024 EB (ZB - zettabajt)
•
1 YB = 1024 ZB (YB - jottabajt)
•
1 BB = więcej niż 1024 YB (jednostka
hipotetyczna o nieustalonej wielkości, BB -
brontobajt)
70
Cyfrowa reprezentacja danych
Prefiks Nazwa Znaczenie SI Znaczenie dwójkowe Różnica
k
kilo
10
3
= 1000
1
2
10
= 1024
1
2.40%
M
mega 10
6
= 1000
2
2
20
= 1024
2
4.86%
G
giga
10
9
= 1000
3
2
30
= 1024
3
7.37%
T
tera
10
12
= 1000
4
2
40
= 1024
4
9.95%
P
peta
10
15
= 1000
5
2
50
= 1024
5
12.59%
E
eksa
10
18
= 1000
6
2
60
= 1024
6
15.29%
71
Cyfrowa reprezentacja danych
•
Kod ASCII
• Reprezentacja cyfrowa tekstu (kodowanie
tekstu za pomocą cyfr)
• (American Standard Code for Information
Interchange),
72
Cyfrowa reprezentacja danych
• Zasadniczo kod ma 7 bitów - 127 znaków
• Litery, cyfry i inne znaki drukowane tworzą
zbiór 95 znaków ASCII o kodach 32-126
• 33 kody (0-31 i 127) to tzw. kody sterujące
• Komputery operują na bajtach (8 bitów)
• Liczba znaków - 256 = 2
8
• Modyfikacja kodów ASCII dla znaków
niestandardowych np. polskich
19
73
Cyfrowa reprezentacja danych
• ISO/IEC 8859 to zestaw standardów
służących do kodowania znaków za pomocą
8 bitów.
• Wszystkie zestawy ISO 8859 mają znaki 0-
127 (hex 00-7F) takie same jak ASCII, zaś
pozycjom 128-159 (hex 80-9F) przypisane
są dodatkowe kody sterujące, tzw. C1
(faktycznie są nieużywane).
74
• ISO 8859-1 (Latin-1) - alfabet łaciński dla
Europy zachodniej
• ISO 8859-2 (Latin-2) - łaciński dla Europy
środkowej i wschodniej,
• ISO 8859-3 (Latin-3) - łaciński dla Europy
południowej
• ISO 8859-4 (Latin-4) - łaciński dla Europy
północnej
75
• ISO 8859-5 (Cyrillic) - dla cyrylicy
• ISO 8859-6 (Arabic) - dla alfabetu arabskiego
• ISO 8859-7 (Greek) - dla alfabetu greckiego
• ISO 8859-8 (Hebrew) - dla alfabetu hebrajskiego
• ISO 8859-9 (Latin-5)
• ISO 8859-10 (Latin-6)
• ISO 8859-11 (Thai) - dla alfabetu tajskiego
76
• ISO 8859-12 - brak
• ISO 8859-13 (Latin-7)
• ISO 8859-14 (Latin-8)
• ISO 8859-15 (Latin-9) - z ISO 8859-1 usunięto
kilka rzadko używanych znaków i wprowadzono
znak euro oraz litery Š, š, Ž, ž, Œ, œ oraz Ÿ
• ISO 8859-16 (Latin-10) - łaciński dla Europy
środkowej - zmodyfikowany ISO 8859-2 ze
znakiem euro i dodatkowymi literami dla kilku
języków
20
77
• Polskie litery są obecne w ISO-8859-2, ISO-8859-
13 i ISO-8859-16.
• ISO-8859-13 i ISO-8859-16 zawierają
prawidłowe cudzysłowy stosowane w języku
polskim zgodnie z normą PN-83/P-55366 („ i ”),
których brak jest w ISO-8859-2. Litery Ą, ą, Ę, i ę
istnieją również w ISO-8859-4 i ISO-8859-10 (w
tym ostatnim obecne są również Ó i ó).
78
• Kody polskich liter ISO 8859-2
• Ą -161 Ć- 198 Ę- 202 Ł- 163 Ń- 209 Ó- 211
• Ś-166 Ź- 172 Ż- 175
• ą- 177 ć- 230 ę- 234 ł- 179 ń- 241 ó- 243
• ś- 182 ź- 188 ż- 191
79
Cyfrowa reprezentacja danych
• Każdy tekst można zapisać jako ciąg bitów i
każdy ciąg bitów można zinterpretować
jako tekst, traktując kolejne bajty (porcje
ośmiu bitów) jako kody ASCII
odpowiednich znaków.
80
Cyfrowa reprezentacja danych
•
Kodowanie obrazu i dźwięku
• Kodowanie obrazu na ekranie oparte jest na
fakcie, że technologicznie ekran składa się z
punktów
świetlnych, tzw. pikseli,
układających się w określoną ilość linii
poziomych i pionowych. Ilość tych linii
nazywa się rozdzielczością ekranu.
21
81
Cyfrowa reprezentacja danych
• Od rozdzielczości i wielkości ekranu zależy jakość
obrazu.
• Przykładowo każdy punkt może być wyświetlony,
w 256 różnych kolorach, to dla zapisania stanu
tego punktu wystarcza jeden bajt.
• Dla zapisania wszystkich możliwych stanów
ekranu wystarcza zatem tyle bajtów, ile jest pikseli
na ekranie.
82
Cyfrowa reprezentacja danych
• Duża objętość plików wymaga specjalnego
kodowania
• Kodowanie sąsiadujących punktów o takich
samych cechach w skrócony sposób
83
Cyfrowa reprezentacja danych
• Formaty - standardy kodowania grafiki
• GIF, JPEG, BMP
• Grafikę komputerową dzieli się na grafikę
wektorową i bitmapową (rastrową)
• Różnice
84
Cyfrowa reprezentacja danych
• Kodowanie dźwięku
• MP3 - rodzaj kompresji stratnej sekwencji
dźwiękowych do plików o stosunkowo
niewielkich rozmiarach. Średni stopień
kompresji takiego pliku wynosi 1:11 przy
zachowaniu dość dobrej jakości
zapisywanego dźwięku
22
85
Cyfrowa reprezentacja danych
• Pojemność nośników informacji
• Dyskietka 1.44 MB (np. książka 500 stron)
• Płyta CD 650 MB
86
Cyfrowa reprezentacja danych
Standard
DVD5
DVD9 DVD10
DVD18
Średnica płyty 12 cm
12 cm 12 cm
12 cm
Ilość stron
1
1
2
2
Ilość warstw 1
2
1
2
Pojemność
4,7 GB 8,5 GB 9,4 GB 17,08 GB
Czas trwania filmu video MPEG-2
2 h
4 h
4 h
7 h 15 min
87
• Znaczenie kompresji i kodowania przy
przesyłaniu danych
88
Programowanie
• Ocena realnych możliwości i ograniczeń
komputera
• Działanie komputera (opartego na idei von
Neumanna)
• Zasady programowania
23
89
Programowanie
• Procesor komputera wykonuje podstawowe
operacje na ciągach bitów ustalonej długości,
zwanych słowami komputerowymi
• Operacje te mają określone kody liczbowe
• Pojedyncza instrukcja składa się z kodu operacji i
odpowiedniej dla tej operacji ilości parametrów
liczbowych.
• Program jest ciągiem kodów operacji i
parametrów zapisanych w komórkach pamięci
90
Programowanie
• Procesor pobiera kod kolejnej instrukcji oraz
odpowiednią ilość parametrów (przypisaną danej
instrukcji)
• Dokonuje odpowiadającej temu kodowi operacji
• Kody i parametry pobiera z kolejnych komórek
lub wskazanych przez instrukcję
• Rejestry procesora – przyjmują pobierane liczby
• Komórka przechowująca adres kolejnej instrukcji
(wskaźnik instrukcji).
91
Programowanie
• Praca procesora odbywa się w cyklach
• Pobierz — Dekoduj — Wykonaj
• Podawana wraz z nazwą procesora częstotliwość
wyrażana w MHz (lub GHz) określa, ile milionów
takich cykli na sekundę wykonuje dany procesor
• Zegar - część procesora kontrolującą pracę w
cyklach, której głównym parametrem jest
częstotliwość
92
Programowanie
•
Podstawowe operacje
• Pobieranie informacji liczb z określonego
urządzenia wejściowego lub ze wskazanych
komórek pamięci wewnętrznej komputera
• Wykonania na liczbach znajdujących się w
rejestrach operacji arytmetyczno-logicznych
• Przesłanie wyników do wskazanych komórek
pamięci lub urządzeń wyjściowych
• Jednostka arytmetyczno-logiczną (ALU)
(Arithmetic Logic Unit) - część procesora
wykonującą operacje arytmetyczno-logiczne
24
93
Programowanie
• Ograniczona liczba operacji
• Wykonanie złożonych operacji na liczbach
za pomocą podstawowych operacji (takich
jak dodawanie, suma logiczna, przesunięcie
cyfr, negacja) oraz instrukcji warunkowej
(„jeśli zawartość danej komórki jest różna
od zera, to wykonaj daną instrukcję")
94
Programowanie
• Istotą działania komputera i programowania
jest redukcja
• Złożone i skomplikowane czynności można
zredukować do wielokrotnego
wykonywania niewielkiej liczby czynności
podstawowych w odpowiedniej kolejności
95
Programowanie
• Programowanie - wieloetapowa redukcja
stosowaną w praktyce
• Programu zapisuje się w ogólnym, ale
możliwie ścisłym schemacie
• Kolejne punkty schematu realizuje się za
pomocą określonego (ograniczonego)
zbioru instrukcji języka programowania
wysokiego poziomu
96
Programowanie
• Każda instrukcja jest przekładana jest na
ciąg bezpośrednich instrukcji dla procesora
• Czynność zautomatyzowana, wykonywana
przez program zwany kompilatorem
25
97
Programowanie
•
Języki programowania i kompilatory
• Cyfrowe kody podstawowych operacji składają się
na język symboliczny język maszynowy
• Ciąg instrukcji do bezpośredniego wykonania
przez procesor pisze się w języku programowania
najniższego poziomu – asemblerze
• Kody instrukcji dla procesora i adresy komórek
pamięci mają literowe symbole, będące zwykle
skrótami nazw odpowiednich czynności
• Kompilator przekłada je na konkretne adresy
liczbowe
98
Programowanie
• Przykład instrukcji asemblera
• MOV AX,DANE
• Nakazuje ona przeniesienie zawartości komórki
pamięci oznaczonej (za pomocą wprowadzonej
przez programistę etykiety DANE) do komórki
oznaczonej AX. AX jest tutaj ustaloną nazwą
jednego z reje-strów procesora. MOV (move –
przesuń)
99
• Użycie języka symbolicznego (zamiast
liczbowego) znacznie ułatwia pracę programisty i
zapobiega prostym pomyłkom.
• Asemblery są ściśle związane z konkretnymi
procesorami
• Oprócz podstawowych instrukcji dla procesora
zawierają instrukcje złożone zastępowane przez
kompilator na ciąg instrukcji podstawowych
100
Programowanie
• Języki programowania wyższego poziomu, takie
jak C lub Pascal, zawierają instrukcje i biblioteki
podprogramów.
• Programy w językach wyższego poziomu pisane
są w zwykłym trybie tekstowym, wiersz po
wierszu. Poszczególne instrukcje składają się ze
słowa kluczowego (identyfikatora) oraz z
przewidzianych dla danej instrukcji parametrów.
26
101
Programowanie
•
Algorytmy
• Algorytm należy do kluczowych pojęć
informatyki..
• Najkrótsza definicja algorytmu brzmi: jest
to ogólna metoda rozwiązywania określonej
klasy zadań.
102
Programowanie
• W ściślejszym ujęciu przez „klasę zadań"
rozumiemy zadanie z parametrami,
niekoniecznie matematyczne, byle
precyzyjnie określoną.
• Precyzyjne określenie powinno wskazywać,
jakie parametry dopuszcza się w zadaniu i
jakie warunki ma spełniać rozwiązanie,
jakie mają być wyniki.
103
Programowanie
• Parametry noszą nazwę danych
wejściowych (input), a rozwiązanie —
danych wyjściowych (output). Takie
zadanie nazywa się problemem
obliczeniowym, a algorytm procedurą
rozwiązywania problemu obliczeniowego
•
104
Programowanie
• Schemat
blokowy
programu
D a n e a , b , c
S T A R T
O b l i c z
d = b
2
- 4 a c
d = 0 ?
B r a k
p i e r w i a s t k ó w
r z e c z y w i s t y c h
d < 0 ?
T A K
N I E
T A K
N I E
x 1 = ( - b - s q r t ( d ) ) / 2 a
x 2 = ( - b + s q r t ( d ) ) / 2 a
x 1 = x 2 = - b / 2 a
K O N I E C