background image

 

 

dr inż. Tadeusz BURAK

dr inż. Tadeusz BURAK

1

1

ALGORYTM

ALGORYTM

Algorytm

Algorytm

, dokładny przepis podający sposób 

, dokładny przepis podający sposób 

rozwiązania określonego zadania w skończonej liczbie 

rozwiązania określonego zadania w skończonej liczbie 

kroków; zbiór poleceń odnoszących się do pewnych 

kroków; zbiór poleceń odnoszących się do pewnych 

obiektów, ze wskazaniem porządku, w jakim mają być 

obiektów, ze wskazaniem porządku, w jakim mają być 

realizowane. Nabrał znaczenia z rozwojem informatyki, 

realizowane. Nabrał znaczenia z rozwojem informatyki, 

gdzie opisuje logiczny ciąg operacji, które ma wykonać 

gdzie opisuje logiczny ciąg operacji, które ma wykonać 

program.

program.

Algorytm sposób postępowania

Algorytm sposób postępowania

Algorytm zapisany przy pomocy języka 

Algorytm zapisany przy pomocy języka 

programowania jest programem.

programowania jest programem.

Wyróżnia się 

Wyróżnia się 

algorytmy numeryczne

algorytmy numeryczne

, operujące na 

, operujące na 

liczbach (np. algorytm Euklidesa), i 

liczbach (np. algorytm Euklidesa), i 

nienumeryczne

nienumeryczne

operujące na obiektach nieliczbowych (np. sortowanie 

operujące na obiektach nieliczbowych (np. sortowanie 

dokumentów). Istnieje również podział algorytmów na 

dokumentów). Istnieje również podział algorytmów na 

sekwencyjne

sekwencyjne

 (kolejność czynności jest określona 

 (kolejność czynności jest określona 

jednoznacznie) i 

jednoznacznie) i 

niesekwencyjne

niesekwencyjne

 (równoległe, 

 (równoległe, 

współbieżne - następstwo między pewnymi operacjami 

współbieżne - następstwo między pewnymi operacjami 

nie jest określone).

nie jest określone).

background image

 

 

dr inż. Tadeusz BURAK

dr inż. Tadeusz BURAK

2

2

Język programowania

Język programowania

Język programowania

Język programowania

, zbiór zasad składni, instrukcji, dzięki którym 

, zbiór zasad składni, instrukcji, dzięki którym 

powstaje  kod  źródłowy  programu.  Procesor  jest  w stanie  wykonywać 

powstaje  kod  źródłowy  programu.  Procesor  jest  w stanie  wykonywać 

program  w kodzie  maszynowym.  Jednakże  tworzenie  programów 

program  w kodzie  maszynowym.  Jednakże  tworzenie  programów 

w tym  języku  jest  praktycznie  niemożliwe.  Dlatego  programista 

w tym  języku  jest  praktycznie  niemożliwe.  Dlatego  programista 

używa  języka  zrozumiałego  dla  człowieka,  który  następnie  jest 

używa  języka  zrozumiałego  dla  człowieka,  który  następnie  jest 

kompilowany bądź interpretowany do postaci maszynowej.

kompilowany bądź interpretowany do postaci maszynowej.

Istnieje  wiele  rodzajów  języków  programowania.  Można  je  podzielić 

Istnieje  wiele  rodzajów  języków  programowania.  Można  je  podzielić 

na  języki  strukturalne  i obiektowe.  Innym  kryterium  podziału  jest 

na  języki  strukturalne  i obiektowe.  Innym  kryterium  podziału  jest 

zastosowanie  języków  (innych  używa  się  do  tworzenia  programów 

zastosowanie  języków  (innych  używa  się  do  tworzenia  programów 

multimedialnych,  a innych  do  obliczeń  numerycznych  czy  np. 

multimedialnych,  a innych  do  obliczeń  numerycznych  czy  np. 

aplikacji  sieciowych).  Niektóre  z języków  są  bardziej  uniwersalne  niż 

aplikacji  sieciowych).  Niektóre  z języków  są  bardziej  uniwersalne  niż 

inne. Do najpopularniejszych obecnie języków programowania należą 

inne. Do najpopularniejszych obecnie języków programowania należą 

C/C++, Java, Fortran czy Pascal.

C/C++, Java, Fortran czy Pascal.

background image

 

 

dr inż. Tadeusz BURAK

dr inż. Tadeusz BURAK

3

3

Kod źródłowy, Kod 

Kod źródłowy, Kod 

maszynowy

maszynowy

Kod 

źródłowy, 

program 

komputerowy 

napisany 

w języku 

Kod 

źródłowy, 

program 

komputerowy 

napisany 

w języku 

programowania.  Jest  to  postać  programu,  która  jest  zrozumiała  dla 

programowania.  Jest  to  postać  programu,  która  jest  zrozumiała  dla 

programisty (bez konieczności jego uruchamiania). Kod źródłowy jest 

programisty (bez konieczności jego uruchamiania). Kod źródłowy jest 

przekształcany na kod maszynowy w procesie kompilacji programu.

przekształcany na kod maszynowy w procesie kompilacji programu.

Kod  maszynowy,  język  rozumiany  przez  procesor.  Program  w kodzie 

Kod  maszynowy,  język  rozumiany  przez  procesor.  Program  w kodzie 

maszynowym składa się z ciągu wartości binarnych, które oznaczają 

maszynowym składa się z ciągu wartości binarnych, które oznaczają 

zarówno  instrukcje  jak  i dane.  Program,  który  jest  napisany 

zarówno  instrukcje  jak  i dane.  Program,  który  jest  napisany 

w pewnym  języku  programowania,  musi  zostać  skompilowany,  aby 

w pewnym  języku  programowania,  musi  zostać  skompilowany,  aby 

mógł  być  wykonywany  przez  komputer.  Postać  kodu  maszynowego 

mógł  być  wykonywany  przez  komputer.  Postać  kodu  maszynowego 

zależy  od  architektury  procesora,  na  który  dany  program  jest 

zależy  od  architektury  procesora,  na  który  dany  program  jest 

przeznaczony.  Dlatego  program  musi  zostać  skompilowany  na 

przeznaczony.  Dlatego  program  musi  zostać  skompilowany  na 

konkretnej  maszynie,  ewentualnie  na  systemie  kompatybilnym 

konkretnej  maszynie,  ewentualnie  na  systemie  kompatybilnym 

z systemem docelowym.

z systemem docelowym.

background image

 

 

dr inż. Tadeusz BURAK

dr inż. Tadeusz BURAK

4

4

TRANSLATOR

TRANSLATOR

Kompilator

Kompilator

,  translator  języka  wysokiego  poziomu,  którego 

,  translator  języka  wysokiego  poziomu,  którego 

programy wynikowe mogą być wprowadzone do pamięci i wykonane 

programy wynikowe mogą być wprowadzone do pamięci i wykonane 

dopiero 

po 

zakończeniu  tłumaczenia  (w 

odróżnieniu  od 

dopiero 

po 

zakończeniu  tłumaczenia  (w 

odróżnieniu  od 

interpretatora).

interpretatora).

 

 

Programy wynikowe kompilatora mogą być przechowywane, łączone 

Programy wynikowe kompilatora mogą być przechowywane, łączone 

z innymi  programami  i wielokrotnie  wykonywane  znacznie  szybciej 

z innymi  programami  i wielokrotnie  wykonywane  znacznie  szybciej 

niż programy interpretowane.

niż programy interpretowane.

Interpreter,  interpretator

Interpreter,  interpretator

  (angielskie 

  (angielskie 

interpreter

interpreter

),  translator 

),  translator 

przekładający instrukcje programu na kod pośredni, który następnie 

przekładający instrukcje programu na kod pośredni, który następnie 

interpretuje  przy  każdym  ich  wykonaniu.  Ponieważ  interpreter  nie 

interpretuje  przy  każdym  ich  wykonaniu.  Ponieważ  interpreter  nie 

tworzy  przekładu  w kodzie  maszynowym,  lecz  wykonuje  instrukcje, 

tworzy  przekładu  w kodzie  maszynowym,  lecz  wykonuje  instrukcje, 

tłumacząc  je  na  bieżąco  za  każdym  razem,  wykonanie  programu 

tłumacząc  je  na  bieżąco  za  każdym  razem,  wykonanie  programu 

znacznie się wydłuża. Interpreter nie zmusza z kolei do oczekiwania 

znacznie się wydłuża. Interpreter nie zmusza z kolei do oczekiwania 

na  wykonanie  kompilacji  po  każdej  zmianie  programu.  Typowymi 

na  wykonanie  kompilacji  po  każdej  zmianie  programu.  Typowymi 

interpreterami są systemy programowania Basic, Java, Perl; 

interpreterami są systemy programowania Basic, Java, Perl; 

background image

 

 

dr inż. Tadeusz BURAK

dr inż. Tadeusz BURAK

5

5

Oprogramowanie - software

Oprogramowanie - software

Oprogramowanie

Oprogramowanie

  (angielskie 

  (angielskie 

software

software

),  program  lub  zbiór 

),  program  lub  zbiór 

programów, 

umożliwiający 

korzystanie 

z komputera 

oraz 

programów, 

umożliwiający 

korzystanie 

z komputera 

oraz 

ewentualnie  ze  sprzętu  peryferyjnego  (modemu,  skanera,  itp.) 

ewentualnie  ze  sprzętu  peryferyjnego  (modemu,  skanera,  itp.) 

bądź pozwalający rozwiązywać konkretne problemy użytkownika.

bądź pozwalający rozwiązywać konkretne problemy użytkownika.

Ogół  programów  przyjęto  dzielić  na  oprogramowanie 

Ogół  programów  przyjęto  dzielić  na  oprogramowanie 

systemowe

systemowe

 

 

i oprogramowanie 

i oprogramowanie 

użytkowe

użytkowe

.  Oprogramowanie  jest  niezbywalną 

.  Oprogramowanie  jest  niezbywalną 

częścią systemu komputerowego, dzięki swojej wymienności może 

częścią systemu komputerowego, dzięki swojej wymienności może 

zmieniać  jego  przeznaczenie.  Ten  sam  komputer  osobisty  może 

zmieniać  jego  przeznaczenie.  Ten  sam  komputer  osobisty  może 

być  używany  jako  elektroniczny  sekretariat,  a w chwilę  potem, 

być  używany  jako  elektroniczny  sekretariat,  a w chwilę  potem, 

dzięki  użyciu  innego  oprogramowania  przeistacza  się  w salon  gier 

dzięki  użyciu  innego  oprogramowania  przeistacza  się  w salon  gier 

lub  internetową  pocztę,  telefon  i radio,  przy  czym  dzięki 

lub  internetową  pocztę,  telefon  i radio,  przy  czym  dzięki 

wieloprogramowości  i środowisku  okienkowemu  może  pełnić 

wieloprogramowości  i środowisku  okienkowemu  może  pełnić 

wszystkie te funkcje jednocześnie.

wszystkie te funkcje jednocześnie.

background image

 

 

dr inż. Tadeusz BURAK

dr inż. Tadeusz BURAK

6

6

Programowanie  strukturalne

Programowanie  strukturalne

,  rodzaj  programowania  w którym 

,  rodzaj  programowania  w którym 

program  podzielony  jest  na  niewielkie  moduły  -  procedury,  bądź 

program  podzielony  jest  na  niewielkie  moduły  -  procedury,  bądź 

funkcje. 

Programowanie 

strukturalne 

ułatwia 

projektowanie, 

funkcje. 

Programowanie 

strukturalne 

ułatwia 

projektowanie, 

testowanie 

a także 

utrzymanie 

kodu 

programu. 

Do 

testowanie 

a także 

utrzymanie 

kodu 

programu. 

Do 

najpopularniejszych  języków  strukturalnych  zalicza  się  Pascal,  C, 

najpopularniejszych  języków  strukturalnych  zalicza  się  Pascal,  C, 

Modula-2.

Modula-2.

Programowanie obiektowe

Programowanie obiektowe

, rodzaj programowania, w którym dane 

, rodzaj programowania, w którym dane 

i wykonywane  na  nich  operacje  są  połączone.  Ten  formalny  zabieg 

i wykonywane  na  nich  operacje  są  połączone.  Ten  formalny  zabieg 

umożliwia  szybsze  pisanie  większych  programów,  przez  "składanie 

umożliwia  szybsze  pisanie  większych  programów,  przez  "składanie 

ich" ze wzajemnie powiązanych obiektów, które odpowiadają za daną 

ich" ze wzajemnie powiązanych obiektów, które odpowiadają za daną 

funkcję  programu  (np.  przygotowanie  danych,  wykonanie  obliczeń, 

funkcję  programu  (np.  przygotowanie  danych,  wykonanie  obliczeń, 

zaprezentowanie wyników).

zaprezentowanie wyników).

Projektowanie obiektowe

Projektowanie obiektowe

 (angielskie 

 (angielskie 

object-oriented design

object-oriented design

), ogół 

), ogół 

metod  i sposobów  rozwiązywania  problemów  programowania 

metod  i sposobów  rozwiązywania  problemów  programowania 

z zastosowaniem  metodologii  obiektowej,  tj.  uwzględnianiem  takich 

z zastosowaniem  metodologii  obiektowej,  tj.  uwzględnianiem  takich 

aspektów,  jak  ukrywanie  informacji,  abstrakcja,  dziedziczenie 

aspektów,  jak  ukrywanie  informacji,  abstrakcja,  dziedziczenie 

i hierarchizowanie, elastyczność i wykorzystanie wtórne oraz środków 

i hierarchizowanie, elastyczność i wykorzystanie wtórne oraz środków 

takich, jak typy definiowane przez użytkownika, hierarchie klas, klasy 

takich, jak typy definiowane przez użytkownika, hierarchie klas, klasy 

abstrakcyjne, 

wielopostaciowość. 

Diagramy 

klas 

zastąpiły 

abstrakcyjne, 

wielopostaciowość. 

Diagramy 

klas 

zastąpiły 

w projektowaniu obiektowym dawniejsze schematy blokowe. 

w projektowaniu obiektowym dawniejsze schematy blokowe. 

background image

 

 

dr inż. Tadeusz BURAK

dr inż. Tadeusz BURAK

7

7

Sprzęt - hardware

Sprzęt - hardware

background image

 

 

dr inż. Tadeusz BURAK

dr inż. Tadeusz BURAK

8

8

Hardware

Hardware

Hardware

Hardware

  -  materialna  część  komputera.  Ogólnie 

  -  materialna  część  komputera.  Ogólnie 

hardwarem  nazywa  się  sprzęt  komputerowy  jako  taki  i 

hardwarem  nazywa  się  sprzęt  komputerowy  jako  taki  i 

odróżnia się go od software'u - czyli oprogramowania.

odróżnia się go od software'u - czyli oprogramowania.

Podział  ten  jest  nieostry,  gdyż  współcześnie  wiele 

Podział  ten  jest  nieostry,  gdyż  współcześnie  wiele 

elementów  sprzętu  komputerowego  posiada  "wszyte" 

elementów  sprzętu  komputerowego  posiada  "wszyte" 

weń  na  stałe  oprogramowanie,  stanowiące  jego 

weń  na  stałe  oprogramowanie,  stanowiące  jego 

integralną  część,  bez  którego  elementy  te  nie  mogłyby 

integralną  część,  bez  którego  elementy  te  nie  mogłyby 

funkcjonować.

funkcjonować.

Np: większość drukarek komputerowych posiada w swojej 

Np: większość drukarek komputerowych posiada w swojej 

pamięci  zestaw  komend,  przy  pomocy  których  realizuje 

pamięci  zestaw  komend,  przy  pomocy  których  realizuje 

proces  drukowania  i  których  odpowiednik  znajduje  się 

proces  drukowania  i  których  odpowiednik  znajduje  się 

w  pamięci  komputera  stanowąc  programowy  sterownik 

w  pamięci  komputera  stanowąc  programowy  sterownik 

tego urządzenia

tego urządzenia

background image

 

 

dr inż. Tadeusz BURAK

dr inż. Tadeusz BURAK

9

9

Hardwarem jest np:

Hardwarem jest np:

procesor 

procesor 

pamięć komputerowa 

pamięć komputerowa 

twardy dysk 

twardy dysk 

monitor 

monitor 

klawiatura 

klawiatura 

mysz 

mysz 

dołączony do komputera sprzęt audio-wizualny 

dołączony do komputera sprzęt audio-wizualny 

drukarka 

drukarka 

skaner 

skaner 

modem 

modem 

itp.

itp.

Źródło: "http://pl.wikipedia.org/wiki/Hardware"

Źródło: "http://pl.wikipedia.org/wiki/Hardware"

background image

 

 

dr inż. Tadeusz BURAK

dr inż. Tadeusz BURAK

10

10

Schemat ideowy PC

Schemat ideowy PC

Procesor

Pamięć

Urządzenia zewn.

Urządzenia zewn.

Urządzenia zewn.

Szyny

Magistra

le

background image

 

 

dr inż. Tadeusz BURAK

dr inż. Tadeusz BURAK

11

11

PROCESOR

PROCESOR

Procesor

Procesor

  (

  (

ang.

ang.

 

 

processor

processor

)  -  urządzenie 

)  -  urządzenie 

cyfrowe

cyfrowe

 

 

sekwencyjne

sekwencyjne

  potrafiące  pobierać  dane  z 

  potrafiące  pobierać  dane  z 

pamięci

pamięci

interpretować  je  i  wykonywać  jako 

interpretować  je  i  wykonywać  jako 

rozkazy

rozkazy

. 

Wykonuje  on  bardzo  szybko  ciąg  prostych  operacji 

Wykonuje  on  bardzo  szybko  ciąg  prostych  operacji 

(rozkazów) 

wybranych 

ze 

zbioru 

operacji 

(rozkazów) 

wybranych 

ze 

zbioru 

operacji 

podstawowych 

określonych 

zazwyczaj 

przez 

podstawowych 

określonych 

zazwyczaj 

przez 

producenta procesora jako 

producenta procesora jako 

lista rozkazów procesora

lista rozkazów procesora

.

.

background image

 

 

dr inż. Tadeusz BURAK

dr inż. Tadeusz BURAK

12

12

Procesor  wykonywany  jest  zwykle  jako 

Procesor  wykonywany  jest  zwykle  jako 

układ scalony

układ scalony

  zamknięty  w 

  zamknięty  w 

hermetycznej  obudowie  posiadającej 

hermetycznej  obudowie  posiadającej 

złocone

złocone

  wyprowadzenia.  Złoto  jest 

  wyprowadzenia.  Złoto  jest 

konieczne,  aby  zmniejszyć 

konieczne,  aby  zmniejszyć 

pojemności

pojemności

  pasożytnicze  połączeń.  Jego 

  pasożytnicze  połączeń.  Jego 

sercem  jest 

sercem  jest 

monokryształ

monokryształ

 

 

krzemu

krzemu

,  na  który  naniesiono  techniką 

,  na  który  naniesiono  techniką 

fotolitografii

fotolitografii

  szereg  warstw 

  szereg  warstw 

półprzewodnikowych

półprzewodnikowych

.  Tworzą  one  sieć  od 

.  Tworzą  one  sieć  od 

kilku do kilkudziesięciu milionów 

kilku do kilkudziesięciu milionów 

tranzystorów

tranzystorów

. Połączenia wykonane są z 

. Połączenia wykonane są z 

metalu

metalu

 (

 (

aluminium

aluminium

miedź

miedź

). Ważnym parametrem procesora jest rozmiar 

). Ważnym parametrem procesora jest rozmiar 

elementów  budujących  jego  strukturę.  Im  są  one  mniejsze  tym  niższe 

elementów  budujących  jego  strukturę.  Im  są  one  mniejsze  tym  niższe 

jest  zużycie 

jest  zużycie 

energii

energii

napięcie

napięcie

  pracy  oraz  wyższa 

  pracy  oraz  wyższa 

częstotliwość

częstotliwość

  pracy. 

  pracy. 

Współczesne  procesory  wykonywane  są  w  technologii  pozwalającej  na 

Współczesne  procesory  wykonywane  są  w  technologii  pozwalającej  na 

uzyskanie elementów o rozmiarach mniejszych niż 90 

uzyskanie elementów o rozmiarach mniejszych niż 90 

nm

nm

 pracujących z 

 pracujących z 

częstotliwością 

częstotliwością 2 

GHz

GHz

. 

. 

W funkcjonalnej strukturze procesora można wyróżnić:

W funkcjonalnej strukturze procesora można wyróżnić:

zespoł 

zespoł 

rejestrów

rejestrów

 do przechowywania danych i wyników, rejestry mogą 

 do przechowywania danych i wyników, rejestry mogą 

być ogólnego przeznaczenia, lub mają specjalne przeznaczenie, 

być ogólnego przeznaczenia, lub mają specjalne przeznaczenie, 

jednostkę arytmetyczną (

jednostkę arytmetyczną (

arytmometr

arytmometr

) do wykonywania operacji 

) do wykonywania operacji 

obliczeniowych na danych, 

obliczeniowych na danych, 

układ sterujący przebiegiem wykonywania programu. 

układ sterujący przebiegiem wykonywania programu. 

Jedną z podstawowych cech procesora jest długość (liczba bitów) słowa, 

Jedną z podstawowych cech procesora jest długość (liczba bitów) słowa, 

na  którym  wykonywane  są  podstawowe  operacje  obliczeniowe.  Jeśli 

na  którym  wykonywane  są  podstawowe  operacje  obliczeniowe.  Jeśli 

słowo ma np. 32 bity, mówimy że procesor jest 32-bitowy. Innym ważnym 

słowo ma np. 32 bity, mówimy że procesor jest 32-bitowy. Innym ważnym 

parametrem  określającym  procesor  jest  szybkość  z  jaką  wykonuje  on 

parametrem  określającym  procesor  jest  szybkość  z  jaką  wykonuje  on 

program.  Szybkość  ta  w  znacznym  stopniu  zależy  od  czasu  trwania 

program.  Szybkość  ta  w  znacznym  stopniu  zależy  od  czasu  trwania 

pojedynczego  taktu  procesora,  jest  on  odwrotnością  częstotliwości 

pojedynczego  taktu  procesora,  jest  on  odwrotnością  częstotliwości 

procesora.

procesora.

background image

 

 

dr inż. Tadeusz BURAK

dr inż. Tadeusz BURAK

13

13

Pamięć

Pamięć

Pamięć komputerowa

Pamięć komputerowa

 to te części komputera, które 

 to te części komputera, które 

przechowują dane i programy.

przechowują dane i programy.

Pamięci dzieli się ze względu na:

Pamięci dzieli się ze względu na:

możliwości zapisu i odczytu: 

możliwości zapisu i odczytu: 

ROM read only memory

ROM read only memory

tylko do odczytu (zapis odbywa się w fazie produkcji), 

tylko do odczytu (zapis odbywa się w fazie produkcji), 

jednokrotnego zapisu, 

jednokrotnego zapisu, 

RAM random acces memory

RAM random acces memory

wielokrotnego zapisu i odczytu. 

wielokrotnego zapisu i odczytu. 

ulotność: 

ulotność: 

pamięci ulotne przechowują dane tak długo, jak długo są 

pamięci ulotne przechowują dane tak długo, jak długo są 

zasilane, 

zasilane, 

pamięci nieulotne zachowują informację po odłączeniu 

pamięci nieulotne zachowują informację po odłączeniu 

zasilania. 

zasilania. 


Document Outline