5 Algorytmy i schematy blokowe

background image

ALGORYTMY,

SCHEMATY BLOKOWE

background image

Definicja algorytmu

W matematyce oraz informatyce to skończony

uporządkowany zupełnie zbiór jasno

zdefiniowanych czynności koniecznych do

wykonania pewnego zadania w skończonej

liczbie kroków.

Ma on przeprowadzić system z pewnego stanu

początkowego do pożądanego stanu

końcowego.

background image

HISTORIA ALGORYTMU

Słowo

algorytm

pochodzi od nazwiska

arabskiego matematyka z

IX

wieku

Muhammeda ibn Musa Alchwarizmiego

.

Początkowo słowem

algorism

nazywano

czynności konieczne do wykonywania obliczeń

z użyciem dziesiętnego systemu liczbowego.

Obecne znaczenie słowa algorytm jako

zestawu ścisłych reguł powstało wraz z

rozwojem matematyki i techniki.

background image

HISTORIA ALGORYTMU

W

1842

roku

Charles Babbage

, który na

podstawie swoich doświadczeń
sformułował ideę maszyny analitycznej
zdolnej do realizacji złożonych
algorytmów matematycznych.

background image

ROZWÓJ MASZYN LICZĄCYCH

Wraz z wynalezieniem pod koniec

XIX wieku

kart perforowanych

elektro-mechaniczne

maszyny osiągnęły zdolność realizacji
algorytmów przetwarzających ogromne
zbiory danych.

Karty perforowane stały się wejściem, z
którego dane przetwarzały proste algorytmy
sumujące. Jako wyjście służyły odpowiednie
zegary.

background image

ROZWÓJ MASZYN LICZĄCYCH

W

XX wieku

postęp elektroniki pozwolił

na budowę

maszyn analogowych

potrafiących w swoim wnętrzu odtwarzać
pewne algorytmy matematyczne.

Mogły one dokonywać operacji
arytmetycznych oraz różniczkować i
całkować.

background image

KOMPUTERY

Badacze zdali sobie sprawę, że maszyny

najlepiej radzą sobie z szybkim

powtarzaniem bardzo prostych operacji.

Alan Turing

- Badacz ten podczas prac nad

algorytmami szyfrującymi, zdał sobie

sprawę, że każdy z nich da się sprowadzić

do zestawu instrukcji realizowanych przez

pewną teoretyczną maszynę. Miała ona

zdolność do czytania i pisania poleceń z

nieskończonej taśmy. Jej rozkazy mogły

zawierać polecenia przesunięcia się o ileś

kroków głowicy, zapisu/odczytu w jakimś

miejscu taśmy nowej instrukcji.

background image

KOMPUTERY

Według tej idei zbudowano pierwsze

komputery. Posługiwały się algebrą

Boole'a

oraz binarnym systemem liczbowym.

Tak proste maszyny były w stanie realizować

bardzo złożone algorytmy matematyczne,

jak np. obliczanie trajektorii pocisków czy

rakiet.

Dzisiaj komputery są powszechne oraz tanie

i przez to implementacja w nich właściwych

algorytmów stała się bardzo ważną gałęzią

gospodarki.

background image

ALGORYTMY KOMPUTEROWE

Komputery przetwarzają przekazywane im

informacje z wykorzystaniem pewnych

algorytmów. Program jest algorytmem zapisanym

w języku zrozumiałym dla maszyny.

Zwykle algorytmy pracują na pewnych danych

wejściowych i uzyskują z nich dane wyjściowe.

Każdy algorytm komputerowy musi być wyrażony

w bardzo rygorystycznie zdefiniowanym języku.

background image

ALGORYTMY KOMPUTEROWE

Komputery mogą reagować tylko na całkowicie
jednoznaczne instrukcje.

Jeżeli dany algorytm da się wykonać na
maszynie o dostępnej mocy obliczeniowej i
pamięci oraz akceptowalnym czasie, to mówi
się, że jest

obliczalny

.

Poprawne działanie większości algorytmów
implementowanych w komputerach opiera się
na kolejnej realizacji pewnego zestawu
warunków. Jeżeli, któryś z nich nie zostanie
spełniony, to program kończy się komunikatem
błędu.

background image

Podstawowe paradygmaty

tworzenia algorytmów

komputerowych:

dziel i zdobywaj

– dzielimy problem na

kilka mniejszych i je znowu dzielimy, aż
ich rozwiązania nie staną się oczywiste
(rekurencja),

programowanie dynamiczne

– problem

dzielony jest na kilka, ważność każdego z
nich jest oceniana i po pewnym
wnioskowaniu wyniki analizy niektórych
prostszych zagadnień wykorzystuje się do
rozwiązania głównego problemu,

background image

Podstawowe paradygmaty

tworzenia algorytmów

komputerowych:

metoda zachłanna

– nie analizujemy

podproblemów dokładnie, tylko

wybieramy najbardziej obiecującą w tym

momencie drogę rozwiązania,

programowanie liniowe

– oceniamy

rozwiązanie problemu przez pewną

funkcję jakości i szukamy jej minimum,

poszukiwanie i wyliczanie

– kiedy

przeszukujemy zbiór danych aż do

odnalezienie rozwiązania,

background image

Podstawowe paradygmaty

tworzenia algorytmów

komputerowych:

probabilistyczne rozwiązanie

– algorytm

działa poprawnie z bardzo wysokim
prawdopodobieństwem, ale wynik nie jest
pewny,

heurystyka

– człowiek na podstawie swojego

doświadczenia tworzy algorytm, który działa
w najbardziej prawdopodobnych warunkach,
rozwiązanie zawsze jest przybliżone.

background image

Najważniejsze techniki

implementacji algorytmów

komputerowych:

proceduralność

– algorytm dzielimy na

szereg podstawowych procedur, wiele
algorytmów dzieli wspólne biblioteki
standardowych procedur, z których są one
wywoływane w razie potrzeby,

praca po kolei

– wykonywanie kolejnych

procedur algorytmu, według kolejności ich
wywołań, na raz pracuje tylko jedna
procedura,

background image

Najważniejsze techniki

implementacji algorytmów

komputerowych:

praca

równoległa

– wiele procedur

wykonywanych jest w tym samym czasie,

wymieniają się one danymi,

rekurencja

– procedura wywołuje sama siebie,

aż do uzyskania wyniku lub błędu,

obiektowość

– procedury i dane łączymy w

pewne obiekty reprezentujące najważniejsze

elementy algorytmu oraz stan wewnętrzny

wykonującego je urządzenia.

background image

SCHEMAT BLOKOWY

To sieć działań, czyli graficzna
reprezentacja procedury lub programu
sporządzana w celach poglądowych lub
jako przedstawienie algorytmu do
zapisania w języku programowania.

background image

KLOCKI SCHEMATU

BLOKOWEGO

KLOCKI GRANICZNE

KLOCKI WEJŚCIA I WYJŚCIA

KLOCEK WYKONAWCZY

KLOCEK WARUNKOWY

background image

KLOCKI GRANICZNE

Używany do zakończenia
algorytmu (zwykle jeden, można
używać kilku - algorytm ma
wtedy mniej ścieżek i jest
bardziej przejrzysty).

Używany do rozpoczęcia
algorytmu(tylko jeden).

background image

KLOCKI WEJŚCIA I WYJŚCIA

Służy do wprowadzania
danych(wartości) z zewnątrz.

Służy do wyprowadzania
danych.

background image

KLOCEK WYKONAWCZY

W tym klocku można umieszczać
jedną lub kilka instrukcji. Korzysta
się z instrukcji przypisania(:=) i
operatorów arytmetycznych(+; -;
*; /; ^).

background image

KLOCEK WARUNKOWY

Klocek ten ma jedno wejście i dwa wyjścia. Pytamy
np. czy lewa strona jest równa prawej(a=b).
Otrzymujemy odpowiedź TAK lub NIE i wychodzimy
jednym z wyjść. W klocku warunkowym umieszcza
się tylko jedno wyrażenie logiczne. Wyrażenie
logiczne budujemy za pomocą operatora logicznego,
inaczej znaku relacji(=; <; >; <=; >=; <>).

background image

Przykład prostego algorytmu w

postaci schematu blokowego na sumę

trzech liczb:

background image

Zasady rysowania schematów

blokowych:

Podstawową zasadą obowiązującą przy

budowę schematów blokowych, jest łączenie

strzałek wychodzących ze strzałkami

wchodzącymi.

Po zbudowaniu schematu blokowego nie

powinno być takich strzałek, które z nikąd nie

wychodzą, lub do nikąd nie dochodzą.

Każdy schemat blokowy musi mieć tylko jeden

element startowy oraz co najmniej jeden

element końca algorytmu.

background image

SORTOWANIE BĄBELKOWE

Sortowanie bąbelkowe opiera się na bardzo
prostej metodzie, a mianowicie po kolei
porównywane są dwa sąsiednie elementy
tablicy. Gdy element o mniejszym indeksie
jest mniejszy od elementu o większym
indeksie, (gdy sortujemy tablicę rosnąco)
to zamieniane są one miejscami.
Porównywane są w ten sposób wszystkie
elementy tablicy. Algorytm kończy się, gdy
cała tablica jest uporządkowana.

background image

SORTOWANIE BĄBELKOWE

2

4

-3

5

0

2

4

2

-3

5

0

2

2

-3

4

5

0

2

background image

ALGORYTM EUKLIDESA

START

Dane: a, b

a>b

a:= b
b:= (a mod b)

(a
mod
b)=0

TAK

NI
E

Pisz: NWD(a, b)=

b

STOP

background image

PODSUMOWANIE

WIADOMOŚCI

1. Algorytm to...

2. W którym wieku wynaleziono karty

perforowane:

a) W XVIII

b)W XIX

c) W XX

background image

PODSUMOWANIE

WIADOMOŚCI

3. Na czym polega zasada tworzenia

algorytmów komputerowych „Dziel

i zdobywaj”?

3. Podaj cechy schematu blokowego.

4. Czy klocki graniczne są elementami

schematu blokowego?

TAK/NIE

background image

PODSUMOWANIE

WIADOMOŚCI

6. Podaj nazwę poniższego klocka

schematu blokowego:

7. Co umieszczamy w klocku

wykonawczym?

8. Przedstaw w postaci schematu

blokowego algorytm włączenia
telewizora.

background image

PODSUMOWANIE

WIADOMOŚCI

9. Jaki problem porusza algorytm

Euklidesa?

10. Przy pomocy sortowania

bąbelkowego ustaw w kolejności od
najmniejszej do największej
następujące liczby:

16

-8

4

10

0

2


Document Outline


Wyszukiwarka

Podobne podstrony:
Algorytmy%20schematy%20blokowe
Algorytmy, schematy blokowe
Algorytmy, schematy blokowe
Algorytmy schematy blokowe
Artykuł schematy blokowe algorytmów
Schemat blokowy to graficzny zapis algorytmu rozwiązania zadania
Wymień podstawowe bloki potrzebne do konstruowania schematów blokowych (algorytmów), i opisz ich
Algorytmy krokowe, blokowe i pseudokod
3 Projektowanie układów automatyki (schematy blokowe, charakterystyki)
10 schematy blokowe i grafy (jako zobrazowanie modeli matematycznych)
Schemat blokowy For 1
Schemat blokowy Do While 2
SCHEMAT BLOKOWY
SCHEMAT BLOKOWY RADARU
Algebra schematów blokowych c d
Schemat blokowy If 1
Schemat blokowy For 3

więcej podobnych podstron