Algorytmy schematy blokowe

background image

Algorytmy i schematy blokowe

Algorytm - dokładny przepis podający sposób rozwiązania określonego zadania w skończonej liczbie
kroków; zbiór poleceń odnoszących się do pewnych obiektów, ze wskazaniem porządku, w jakim mają
być realizowane.

Słowo algorytm pochodzi od łacińskiej formy (Algorismus, Algorithmus) nazwiska arabskiego
matematyka Muhammada ibn Musa al-Khwarazmi’ego (ok. 790 - ok. 840 r. ne.)

Algorytmy obliczeniowe powstawały już w czasach starożytnych, są to m.in.:

algorytm Euklidesa,

algorytm Eratostenesa (tzw. sito Eratostenesa).

Algorytmy i komputery

każdy komputer wykonuje jakiś program

każdy program jest zapisem jakiegoś algorytmu

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

Jeśli istnieje algorytm rozwiązujący jakiś problem, to można ten problem rozwiązać przy użyciu
komputera. Natomiast jeśli algorytm taki nie istnieje (lub nie jest jeszcze znany) to problemu tego nie
da się rozwiązać za pomocą komputera.

Algorytmy można przedstawiać w różny sposób. Jednym z bardziej popularnych jest schemat
blokowy
, inne to opis w postaci listy kroków, czy też opis przy użyciu pewnego umownego
pseudojęzyka.

Algorytm zapisany za pomocą języka programowania jest programem - jest to najbardziej ścisły (a
przy tym zrozumiały dla komputera) opis algorytmu.

Schemat blokowy (sieć działań) jest graficznym przedstawieniem algorytmu. Składa się z pewnej
liczby figur geometrycznych (prostokątów, rombów itp.) nazywanych blokami oraz łączących ich linii
z zaznaczonym kierunkiem. Pokazuje wszystkie operacje, które mają być wykonane i określa kolejność
ich wykonania

Blok - graficzna reprezentacja pewnej czynności (operacji)

Wewnątrz większości bloków występują nazwy zmiennych.

Zmienna to miejsce w pamięci w którym przechowywana jest jakaś wartość. Zmienna ma nazwę a
także skojarzony jest z nią typ wartości, jaką może przechowywać.

Rozróżnia się:

zmienne proste (pojedyncza komórka przechowująca jedną wartość)

zmienne złożone - np. tablice (zbiór identycznych komórek przechowujących wartość tego
samego typu, mają one wspólną nazwę i są rozróżniane za pomocą numeru nazywanego
indeksem)

A. Spyra – Elementy informatyki ... – materiały pomocnicze (sem. 2)

- 1-

background image

Symbole schematów blokowych

Blok operacyjny (obliczenia). Ma kształt prostokąta. Wewnątrz bloku umieszcza się zapis jednej lub
kilku operacji, w wyniku której ulega zmianie wartość, postać lub miejsce przechowywania danych.

Bloki wejścia/wyjścia (wprowadzanie i wyprowadzanie danych). Mają kształt równoległoboku.
Wewnątrz bloku umieszcza się nazwy zmiennych, którym mają być nadane wartości wprowadzone z
urządzenia wejścia lub nazwy zmiennych, których wartości mają być wypisane na urządzenie wyjścia

Blok warunkowy (decyzyjny). Wewnątrz bloku umieszcza się zapis operacji pozwalającej wybrać
jedną z alternatywnych dróg dalszego działania.

A. Spyra – Elementy informatyki ... – materiały pomocnicze (sem. 2)

- 2-

background image

Bloki graniczne (początek i koniec algorytmu). Każdy schemat musi zwierać jeden (i tylko jeden) blok
początku oraz co najmniej jeden blok końca (może ich być więcej, jeśli zwiększa to czytelność
schematu).

Blok procesu.
Proces zdefiniowany
poza algorytmem

Bloki łącznikowe
(międzystronicowe i stronicowe )

Komentarz

łączą fragmenty schematu znajdujące się
na tej samej (łącznik stronicowy) lub
różnych (łącznik międzystronicowy)
stronach.

miejsce na napisanie
komentarza

Specyfikacja – dokładny opis zadania, które ma być wykonane lub problemu, który ma być
rozwiązany. Musi zawierać opis trzech elementów:

pożądanych wyników działania algorytmu,

danych wejściowych,

sposobu otrzymania wyników na podstawie danych wejściowych.

A. Spyra – Elementy informatyki ... – materiały pomocnicze (sem. 2)

- 3-

background image

Podstawowe rodzaje algorytmów

Algorytm liniowy (inaczej prosty lub sekwencyjny)

Jest to najprostsza forma realizacji procesu obliczeniowego. Ma ustaloną z góry kolejność realizacji
poszczególnych etapów, a wszystkie czynności wykonywane są jeden raz (żadna z nich nie może być
pominięta ani powtórzona). Nie ma w nim bloków decyzyjnych.

Przykład: obliczanie pola i obwodu koła

Dane: promień r

Wynik: pole p i obwód ob

Wzory do obliczeń

2

r

p

π

=

;

r

2

ob

π

=

Algorytm rozgałęziony (inaczej decyzyjny albo rozwidlony)

Rozwidla się na kilka gałęzi. Musi zawierać co najmniej jeden blok decyzyjny, pozwalający wybrać
jedną z możliwych dróg realizacji danego zadania. W zależności od danych, pewne czynności są
wykonane, inne nie.

Przykład: rozwiązywanie równania kwadratowego ax

2

+ bx + c = 0

Dane: współczynniki a, b, c

Wynik: pierwiastki x

1

i x

2

albo pierwiastek

x albo brak pierwiastków rzeczywistych.

Metoda rozwiązania: algorytm „delty” znany ze szkoły średniej.

A. Spyra – Elementy informatyki ... – materiały pomocnicze (sem. 2)

- 4-

background image

Algorytm cykliczny (inaczej iteracyjny albo z powtórzeniami)

Występują wielokrotne powtórzenia niektórych operacji różniących się jedynie wartością danych, na
których działają.

Przykład: sumowanie ciągu n liczb a

1

, a

2

, a

3

...... a

n

Dane: n oraz a

1

, a

2

, a

3

...... a

n

Wynik: suma a

i

(

i =1 ... n)

=

=

n

i

i

a

suma

1

Metoda rozwiązania: tak jak przy użyciu
kalkulatora z funkcją „dodaj do pamięci” (M+)

M

0

M

M + a

i

tę czynność powtarzamy n razy

Pętla obejmuje te bloki, które są powtarzane.

A. Spyra – Elementy informatyki ... – materiały pomocnicze (sem. 2)

- 5-

background image

Graficzny opis algorytmu można wykorzystać do symulacji jego działania (lub badania własności) bez
potrzeby pisania programu komputerowego. Na rysunku – symulacja działania algorytmu cyklicznego
dla przykładowych danych.

Przykład algorytmu gry w kółko i krzyżyk na planszy 3x3.
Gra człowiek (gracz) z komputerem (komp), przy czym grę rozpoczyna komputer i nie powinien
przegrać!

(Rysunek oparty na schemacie podanym w skrypcie: Ambroziak K., Kott R.K.: Programowanie

maszyn cyfrowych. Materiały do ćwiczeń. Wyd. Politechniki Warszawskiej, Warszawa, 1984).

A. Spyra – Elementy informatyki ... – materiały pomocnicze (sem. 2)

- 6-

background image

Pierwszy program do gry w „kółko i krzyżyk” opracował
A.S. Douglas w 1952 dla potrzeb swojej rozprawy
doktorskiej poświęconej możliwościom interakcji między
człowiekiem i maszyną, którą postanowił zilustrować
komputerową symulacją wspomnianej gry (na komputerze
EDSAC – pierwszym oddanym do użytku komputerze
zbudowanym zgodnie z koncepcją von Neumanna, tzn. z
programem umieszczonym w pamięci.).

Była to pierwsza gra komputerowa i jednocześnie pierwsza
gra działająca w trybie graficznym.

Darmowy symulator EDSAC'a (dla Windows) wraz z pakietem programów (w tym również oryginalną
grą Douglasa) można pobrać ze strony http://www.dcs.warwick.ac.uk/~edsac/

Gra „kółko i krzyżyk” w wersji opracowanej przez J. Walkenbach’a (arkusz Excela wraz z programem
w Visual Basicu dla Aplikacji). Adres pliku w Internecie:

http://j-walkblog.com/blog/docs/jwalk-tick-tac-toe.xls

A. Spyra – Elementy informatyki ... – materiały pomocnicze (sem. 2)

- 7-


Wyszukiwarka

Podobne podstrony:
5 Algorytmy i schematy blokowe
Algorytmy%20schematy%20blokowe
Algorytmy, schematy blokowe
Algorytmy, schematy blokowe
5 Algorytmy i 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