Dr Alina Prątnicka (materiały dydaktyczne do przedmiotu INFORMATYKA)
Instytut Geodezji
Wydział Geodezji i GP
PODSTAWOWE WIADOMOŚCI O KOMPUTERACH
Istota informatyki
INFORMATYKA jest to zespół dyscyplin naukowych i technicznych zajmujących się przetwarzaniem informacji przy użyciu środków automatycznych .Tymi automatycznymi środkami są maszyny cyfrowe zwane ogólnie komputerami.
Definicja INFORMATYKI opracowana w 1989 roku przez Association for Computing Machinery:
„Informatyka to systematyczne badanie procesów algorytmicznych, które charakteryzują i
przetwarzają informację, teoria,analiza, projektowanie,badanie efektywności ,implementacja i zastosowanie procesów algorytmicznych.
Podstawowe pytanie informatyki to: co można(efektywnie) zalgorytmizować”.
Z czego wynika pojęcie maszyna cyfrowa?
Przy przekazywaniu informacji maszynie następuje zamiana informacji z postaci zewnętrznej na wewnętrzną.
Typowe postacie informacji zewnętrznej to liczby , znaki tekstowe , obrazy i dźwięki.
Natomiast język wewnętrzny jest językiem kodów liczbowych przedstawionych za pomocą cyfr ,najczęściej systemu dwójkowego (binarnego) .Tymi cyframi są 0 i 1 .Każda z tych cyfr jest bitem .
Liczbę w systemie dwójkowym ( (L)2 ) możemy zapisać w postaci :
(L)2 = a n 2 n +a n-12 n-1 + ... + a 020 (część całkowita )
lub
(L)2 = a -12 -1 +a -22 -2 + ...+ a -n 2 -n (część ułamkowa )
gdzie a i to 0 lub 1.
Jak widać liczby w systemie dwójkowym zapisujemy podobnie jak liczby w systemie
dziesiętnym , tylko podstawą systemu dwójkowego jest liczba 2 ,
np.
(L)2 =100.01 = 1*22 + 0*21 + 0*20 + 0*2-1 +1*2-2 = 4 +0.25 = (4.25)10
gdzie (L)10 jest liczbą w systemie dziesiętnym.
System dwójkowy stosowany jest w komputerach najczęściej dlatego , że każdy układ czy przyrząd pobudzony sygnałem przechodzi z jednego z dwóch możliwych stanów do drugiego. Wiele układów i przyrządów elektronicznych z natury swej są dwustanowe .
Na przykład lampa elektroniczna czy tranzystor mogą się znajdować w dwóch stanach:
przewodzenia i nie przewodzenia , stanie braku prądu i stanie przepływu prądu .
Realizacja techniczna procedur dwustanowych przy układach elektronicznych jest znacznie
łatwiejsza .
JEDNOSTKI POJEMNOŚCI PAMIĘCI
Bit - 0 lub 1
Bajt (B) - ciąg 8 Bitów
Kilobajt (KB) - 1024 B (210 B)
Megabajt (MB) - 1024 KB (210 KB)
Gigabajt (GB) - 1024 MB (210 MB ).
1.2 Historia rozwoju komputeryzacji
Generacje komputerów:
Generacja 0- przekaźnikowa (1936 - 1945 ).
Komputery z tego okresu można uważać jako szybkie kalkulatory do obliczeń arytmetycznych (np. ZUSE , MARK ).
Generacja 1 - lampowa ( 1946 - 1958 ).
Jest to okres specjalizacji w zastosowaniach maszyn cyfrowych.. Komputery stosowane są do obliczeń numerycznych i przetwarzania danych ekonomicznych . (np. ENIAK ,
UNIVAC,XYZ , IBM -701 , IBM - 650 ,UMC -10).
Generacja 2 - tranzystorowa ( 1959 -1964 ).
Generację tę charakteryzuje pojawienie się komputerów uniwersalnych , realizujących
dowolne zadania obliczeniowe naukowo - techniczne i przetwarzania ekonomiczne .
( np. IBM - 7090 , CDC - 6600 , MIŃSK - 32 , ODRA - 1304 ) .
Generacja 3- układy scalone ( 1965-1969 )
- układy scalone małej skali integracji ( np. IBM 360 ,ODRA 1305 ).
Generacja 4-układy scalone (1969-1981…)
1969 - 1975 - układy scalone średniej skali integracji ( np. AADC ),
1976 - 1980 - układy scalone dużej skali integracji (np. IBM 370 ),
od 1981 - układy scalone bardzo dużej skali integracji .Generację tę cechuje pojawienie
się sieci komputerowych ,mini - i mikro komputerów oraz podprogramów wbudowanych
w sprzęt. Zaczęto również stosować technologię baz danych oraz następuje rozwój oprogramowania ułatwiającego wykorzystanie sprzętu komputerowego. Sprzęt zaczyna
być coraz tańszy i bardziej dostępny dla człowieka .
Analiza rozwoju sprzętu komputerowego pozwala na stwierdzenie , że nowe rozwiązania techniczne pojawiały się co 7 lat. Przynosiły one wzrost pojemności pamięci
oraz blisko 10 - krotne potanienie zestawu komputerowego .
Generacja 5 - to obecny okres .
Przewiduje i w zasadzie już umożliwia realizacje obrazów fonicznych i tekstowych
oraz kontakt człowieka z komputerem za pomocą języka naturalnego , sztuczna
inteligencja,nowe architektury,neurokomputery,biokomputery,obliczenia przy pomocy
DNA,komputery kwantowe.
1.3 Ogólne zasady działania komputerów
Komputer składa się z urządzeń do czytania danych , ich przetwarzania i zapisu wyników .
Jego budowa jest modułowa , co oznacza , że konfigurację i związane z tym możliwości można zmieniać i uzupełniać w zależności od potrzeb użytkownika .
Pomimo dużej różnorodności produkowanych komputerów ich schemat funkcjonalny wygląda podobnie .
KOMPUTER = jednostka centralna + urządzenia zewnętrzne ,
JEDNOSTKA CENTRALNA = procesor + pamięć operacyjna + kanały ,
PROCESOR = arytmometr + jednostka sterująca ,
URZĄDZENIA ZEWNĘTRZNE = pamięci zewnętrzne + urządzenia wejścia + urządzenia
wyjścia ,
PAMIĘĆ ZEWNĘTRZNA :
- pamięć dyskowa ( dysk twardy , dysk elastyczny , dysk optyczny : np. CD ROM,WORM )
- pamięć taśmowa (streamer )
URZĄDZENIA WEJŚCIA
klawiatura
kaseta
mysz
manipulator kulowy
pióro świetlne
czytnik optyczny
dysk elastyczny
dysk optyczny
mikrofon
digitizer
skaner
kamera
aparat cyfrowy
modem
URZĄDZENIA WYJŚCIA
monitor
drukarka
dysk elastyczny
dysk optyczny
ploter
głośnik
PROCESOR - urządzenie sterujące pracą komputera i kontrolujące poprawność
wykonywania operacji .
ARYTMOMETR - urządzenie realizujące wszystkie operacje arytmetyczne i logiczne .
JEDNOSTKA STERUJĄCA - zespół układów logicznych kierujących wymianą informacji
pomiędzy poszczególnymi blokami komputera i
kontrolujących ich działanie .
PAMIĘC OPERACYJNA - ( pamięć wewnętrzna ) służy do przechowywania oraz pobierania
danych ( informacji ) .Pamięć ta przechowuje informacje
sterujące ( programy ) oraz dane podlegające przetwarzaniu .
Istnieją dwa typy pamięci operacyjnej :
ROM - pamięć stała (ang. read only memory ) ,martwa .Magazynowane są w niej
programy podstawowe uruchamiające komputer i sterujące urządzeniami
wejścia / wyjścia , które mogą być odczytywane wielokrotnie , natomiast nie
mogą być modyfikowane . Informacja jest zapisywana trwale .
RAM - pamięć zmienna (ang.random acces memory ), żywa .Zawartość tej pamięci może
być modyfikowana na życzenie , może być używana dowolną ilość razy.
Pamięć RAM dzieli się na :
pamięć konwencjonalna - pierwsze 640 KB pamięci RAM .System DOS (system
operacyjny ) używa jej do załadowania uruchamianych przez siebie programów i
niektórych swoich plików .
pamięć górna - pomiędzy 640 KB i 1 MB .Obsługiwana wyłącznie przez DOS ,
ale w DOS 5.0 6.0 można tam umieścić sterowniki urządzeń i niektóre małe programy ,
szczególnie programy rezydentne .
pamięć wysoka rozszerzona - powyżej 1MB , możliwa do użycia od chwili pojawienia się
na rynku wersji DOS 5.0 .Pierwsze 64 KB to tzw. pamięć wysoka .
Zaleca się stosowanie pamięci górnej i rozszerzonej . Używając ich uwalnia się pamięć
konwencjonalną , która dzięki temu może obsługiwać programy szybciej i efektywniej .
Obecnie stosowane pamięci RAM mają najczęściej wielkości 16 MB i więcej .
Popularne środowisko Windows wymaga do dobrego działania co najmniej 4 MB.
KANAŁ - urządzenie przeznaczone do przesyłania danych zwykle między urządzeniami
zewnętrznymi komputera a jego pamięcią operacyjną , niezależnie od działania
innych układów .
URZĄDZENIA WEJŚCIA - WYJŚCIA - służą do wprowadzania danych podlegających
przetwarzaniu oraz programu pracy komputera i wyprowadzaniu informacji.
Co oznaczają pojęcia komputer , minikomputer , mikrokomputer ?
Komputer - pojęcie ogólne .
Minikomputer - pojawił się w momencie miniaturyzacji gdy pojawiły się małe komputery ,
które mieściły się na biurku .
Mikrokomputer - komputer ,którego jednostką centralną jest mikroprocesor.
MIKROPROCESOR - jednostka centralna uniwersalnego komputera wykonana jako układ o
dużym stopniu scalenia .W jednym układzie scalonym umieszczono
większość skomplikowanych układów elektronicznych składających
się na procesor .
Najpopularniejszym komputerem stosowanym w Polsce jest mikrokomputer typu
IBM PC .Przykłady znanych klas tego komputera to : XT (1983 r. ) , AT ( od 1984 r .)
oparty na procesorze INTEL 80286 , AT/386 - procesor INTEL 80386 , AT/486 (od 1989 r .) procesor INTEL 80486 ,Pentium - procesor 80586 ...
1.4 Oprogramowanie komputera
System komputerowy to nie tylko sprzęt komputerowy (ang. Hardware ) ,lecz zestaw różnorodnego sprzętu komputerowego wraz z oprogramowaniem (ang. Software) .
Sprzęt komputerowy sam z siebie nie może wykonywać żadnych funkcji .Potrzebne jest
oprogramowanie , które ożywi martwy sprzęt komputerowy ,zmuszając go do wypełnienia najrozmaitszych czynności wynikających z potrzeb użytkownika .
Oprogramowanie komputera dzieli się na :
1.Oprogramowanie systemowe- podstawowe,bez którego komputer nie będzie działał.
2.Oprogramowanie narzędziowe ,usprawnia konfigurację ,zabezpiecza lub naprawia
system.
3.Oprogramowanie użytkowe,zwane też aplikacyjnym,aplikacjami.
Przykłady oprogramowania podstawowego :
systemy operacyjne zarządzające pracą całego komputera - np.:
MS DOS ,
UNIX ,
LINUX,
WINDOWS NT-(od 1993r.ang.Windows New Technology)- sieciowy system
operacyjny,
WINDOWS 98,
WINDOWS 2000-(od końca 1999r. ),
WINDOWS CE(przeznaczony dla Palmtopów, czyli małych komputerów),
WINDOWS XP(czyli eXPerience)-od 2001r
Przykłady oprogramowania narzędziowego:
programy diagnostyczne służące do testowania sprzętu komputerowego i
ułatwiające lokalizację uszkodzeń - np.: PC Tools , Norton Utilities ,Everest,
programy antywirusowe -np.: MKS_VIR , SCAN ,Antywirus, Fire Wall',
ArcaVir 2005-ochrona w sieci
programy do archiwizacji danych-np.; 7zip'a ,WinRar,
programy do odzyskiwania danych np.:EasyRecovery
Przykłady oprogramowania Użytkowego:
Office Macrostation,
Open Office.org-konkurent Office M.,
ZPK. Soft Tłumacz-darmowy słownik języków obcych,
programy muzyczne np.: Winami,MP3Compressor,
Oprogramowanie graficzne -do tworzenia grafiki(również wektorowej i animacji)np.:Corel,PhotoShop,Gimp,Paint,
Oprogramowanie do obróbki filmów (do tworzenia i przetwarzania)np.:RealPlayer,Vplayer,PowerDVD,
Translatory języków programowania - np.: Turbo Pascal , C++ , Basic ,
Programy wspomagające projektowanie - np.: AutoCad , Harward Graphic,
systemy informacji geograficznej - np.: pakiety GIS (Geografical Information Systems )- np.: INFOCAD , ARC/INFO , GEO INFO , SICAD.
Programy do obliczeń z zakresu geodezji np.: C-geo,Winkalk.
PROGRAMOWANIE
2.1 Program
Poza oprogramowaniem standardowym dostępnym na rynku możemy pisać własne
programy potrzebne do realizacji różnych zadań z którymi spotykamy się w czasie nauki
jak również w pracach badawczych i zawodowych.. To nie jest wcale takie trudne .Poczytaj i
przeanalizuj cytowane programy .Napisanie własnych programów na pewno nie sprawi
kłopotu.
Program jest to algorytm rozwiązania zadania czy problemu ,napisany w języku zewnętrznym zrozumiałym dla komputera .
Język zewnętrzny , w którym programista opracowuje program zależy od możliwości komputera , rodzaju problemu i dostępu do odpowiedniego translatora języka .
2.2 Etapy programowania
sformułowanie problemu i analiza zadania ,
wybór właściwej metody numerycznej i opracowanie algorytmu w postaci opisowej,
napisanie programu w wybranym języku,
uruchomienie i testowanie programu ,
przygotowanie programu do eksploatacji - sporządzenie dokumentacji programu .
2.3 Języki programowania
Powyższy schemat przedstawia jedną z propozycji podziału języków programowania :
Ze względu na sposób kodowania wyróżniamy:
język wewnętrzny
język zewnętrzny
2. Ze względu na stopień szczegółowości i podobieństwo do języka naturalnego języki
zewnętrzne dzielą się na:
język niskiego poziomu (zorientowane maszynowo np. Assembler)
język wysokiego poziomu (niezależne od maszyny )
3. Ze względu na zastosowania języki wysokiego poziomu dzielą się na:
język zorientowany problemowo (np. dBase )
język uniwersalny (np. Fortran , Basic , Turbo Pascal , C++)
2.4 Algorytm
Algorytm jest to ścisły przepis postępowania prowadzący do rozwiązania określonego
zadania .
Algorytm można przedstawić w trzech postaciach .
opis słowny
schemat blokowy (sieć działań ) -postać graficzna
program (napisany w określonym języku )
2.5 Sieci działań ( schematy blokowe )
Symbole
SYMBOL
|
NAZWA OPERACJI |
OPIS-przykład instrukcji |
|
Przetwarzanie |
Operacja lub grupa operacji , w wyniku których ulega zmianie wartość, postać lub miejsce zapisu danych (instrukcja podstawiania) . |
|
Wprowadzenie informacji |
Instrukcja wejścia Np. .READLn READ |
|
Wyprowadzenie informacji |
Instrukcja wyjścia
Np. WRITELn |
|
Początek |
Oznaczenie miejsca rozpoczęcia programu .
|
|
Koniec lub przerwa
|
Oznaczenie miejsca zakończenia lub przerwania programu .
|
|
Decyzja |
Operacja określająca wybór jednej z alternatywnych dróg działania . Instrukcja warunkowa np. IF |
|
Proces iteracyjny |
Modyfikacja rozkazu lub grupy rozkazów . Instrukcja cyklu Np. FOR ,WHILE
|
|
Łącznik stronicowy |
|
|
Droga przepływu danych o wskazanym kierunku przepływu
|
|
Rodzaje schematów blokowych
1. prosty (liniowy)
2. z rozgałęzieniem
3. z pętlą
4. złożony
Przykłady :
ad1. Schemat liniowy (wyznaczenie długości odcinka ze współrzędnych prostokątnych )
ad2 . Schemat z rozgałęzieniami (wyznaczenie wartości funkcji F w zależności od wartości
argumentu )
ad3 . a) Schemat z pętlą (wyznaczenie sumy wielu liczb )
ad3. b) Schemat z pętla ( wyznaczenie sumy i średniej arytmetycznej z N liczb)
ad.4 Schemat złożony (wyznaczenie sumy liczb<0 i sumy liczb
0 z ciągu N liczb
wczytanych z klawiatury ).
2.6 Translacja i translatory
Program napisany w języku zewnętrznym (np. w Pascal - u lub w Basic - u ) nie może być wykonywany bezpośrednio przez komputer .Musi być przetłumaczony na język wewnętrzny komputera . Proces tłumaczenia - translacja realizowany jest przez specjalny
program tłumaczący zwany translatorem .
Metody translacji
1.kompilacja
2.interpretacja
2.6.1 Rodzaje translatorów i różnice w ich działaniu
1.kompilator
2.interpreter
Podczas kompilacji program źródłowy napisany w języku zewnętrznym jest całkowicie
tłumaczony na język wewnętrzny .Powstaje program wynikowy ,który może być wykonywany bez środowiska kompilatora.
Proces kompilacji i wykonania skompilowanego programu przedstawia poniższy schemat :
Proces interpretacji przebiega inaczej. Tłumaczone są kolejne linie programowe i wykonywane .Przetłumaczone linie programowe ( instrukcje ) nie są pamiętane .Każde wykonanie programu wymaga ponownego tłumaczenia programu linia po linii.
Nie powstaje program wynikowy , który może działać bez interpretera .Jak widać na
schemacie nie można oddzielić procesu interpretacji od procesu wykonania programu .
1
JEDNOSTKA CENTRALNA
PAMIĘĆ OPERACYJNA
RAM ROM
PROCESOR
JEDNOSTKA ST.
ARYTMOMETR
K
A
N
A
Ł
K
A
N
A
Ł
URZADZENIAWYJŚCIA
URZĄDZENIA
WEJŚCIA
KANAŁ
PAMIĘCI
ZEWNĘTRZNE
START
STOP
START
X1 ,Y1
X2 , Y2
Dx =X2 -X1
Dy =Y2 - Y1
L =
L
STOP
START
X
X < 0
F = sin(1+X2 )
F = 1+X2
F
STOP
START
S = 0
Liczba
S = S + Liczba
S
START
STOP
S ,S / N
S = S + Liczba
Liczba
K = 1 ( 1 ) N
S = 0
N
START
Liczba
K = 1 ( 1 ) N
S1 = 0 , S2=0
N
S1 ,S2
nie
tak
STOP
Liczba< 0
S2=S2+liczba
S1=S1+liczba
KOMPILATOR
PROGRAM
WYNIKOWY
PROGRAM
ŹRÓDŁOWY
KOMPUTER
PROGRAM
WYNIKOWY
DANE
KOMPUTER
WYNIKI
INTERPRETER
KOMPUTER
DANE
WYNIKI
PROGRAM ŹRÓDŁOWY
Klasyfikacja języków programowania
JĘZYKI PROGRAMOWANIA
JĘZYK WEWNĘTRZNY
JĘZYK ZEWNĘTRZNY
JĘZYK WYSOKIEGO POZIOMU
JĘZYK NISKIEGO POZIOMU
JEZYK UNIWERSALNY
JEZYK PROBLEMOWY