background image

 

 

Algorytmy

Algorytmy

Schematy blokowe

Schematy blokowe

Dr inż. Dariusz Skibicki

II

II

background image

 

 

1. Potrzeba pisania algorytmów

background image

 

 

2. Algorytm

Algorytm zapisany przy pomocy języka programowania jest 

programem.

Algorytm - to przepis na wykonanie określonego zadania. 
Notacja algorytmu – sposób zapisu algorytmu.

• Tablice decyzyjne

• Zapis Boolowski

• Schematy operacyjne Janowa

• Zapis operatorowy Lapunowa 

• Sieci działań – schematy blokowe

Dane - obiekty podlegające 
przekształceniom podczas wykonywania 
algorytmu

Wynik – ostateczny rezultat wykonania 
algorytmu

background image

 

 

3. Tablice decyzyjne

W

1

: a<b

W

2

: a<c

W

3

: b<c

A

1

: minimalną liczbą jest a

A

2

: minimalną liczbą jest b

A

3

: minimalną liczbą jest c

Min

T
T
T

X

T
T

N

X

T

N

T

T

N
N

X

N

T
T

X

N

T

N

N
N

T

X

N
N
N

X

REGUŁY DECYZYJNE

Tablica decyzyjna - jest pewnym sposobem opisu zbioru związanych 
ze sobą reguł decyzyjnych, tj. wyrażeń opisujących układ 
warunków,  które muszą być spełnione dla wykonania określonych 
czynności.
 

A

1

A

2

....
....
A

J

Pole definicji

czynności

Pole specyfikacji

czynności

Nazwa Tablicy

W

1

W

2

....
....
W

J

Pole definicji

warunków

Reguły decyzyjne

Pole specyfikacji

warunków

d
e
c
y

z

j

a
1

r

e
g
u

ł

a

d
e
c
y

z

j

a
2

d
e
c
y

z

j

a
k

r

e
g
u

ł

a

Przykład: Znalezienie minimalnej 
liczby spośród trzech liczb: a,b,c

background image

 

 

4. Schematy operacyjne Janowa

Schemat operacyjne  Janowa jest grafem skierowanym o następujących 
własnościach: 

• Do pierwszego wierzchołka prowadzi jedna gałąź wejściowa, 

• Z każdego wierzchołka, z wyjątkiem ostatniego, mogą wychodzić co 
najwyżej dwie gałęzie. 

• Graf posiada jeden i tylko jeden wierzchołek nie posiadający wyjścia - 
wierzchołek końcowy. 

Przykład: Znalezienie 
minimalnej liczby 
spośród trzech liczb: 
a,b,c.
A – rozwiązanie.

a<b

b<c

a<c

A

1

A

3

A

2

STOP

background image

 

 

5. Schematy blokowe - sieci działań

Sieci działań (schematy blokowe) - to 
graficzny sposób zapisu algorytmów polegający 
na podzieleniu procesu rozwiązywania problemu 
na odrębne etapy – bloki. 

Blok – figura geometryczna posiadająca cechę znaczeniową.

Popularne języki programowania umożliwiają zapisanie 

schematu blokowego w postaci kodu.

Linia - Poszczególne bloki łączone są liniami które 
ukazują  ich powiązanie logiczne, a strzałki wskazują 
na kolejność  wykonywania poszczególnych bloków 
algorytmu.

Start

Blok 1

Blok 2

STOP

Schemat 
blokowy

background image

 

 

5.1. Symbolika schematów blokowych

Nr

Symbol

Nazwa

Opis

1.

Początek, koniec

Oznaczenie miejsca 

rozpoczęcia i zakończenia 

algorytmu

2.

Operator

Działanie (operacja) do 

wykonania

3.

Operator 

wejścia/wyjścia

Wprowadzenie danych do 

pamięci lub ich 

wyprowadzenie

4.

Element 

decyzyjny

Operacja wyboru jednej z 

alternatywnych dróg 

działania

5.

Łącznik

Symbol połączenie dwóch 

fragmentów sieci działania

6.

Komentarz

Oznaczenie miejsca na 

komentarz

7.

Linia

Połączenie poszczególnych 

symboli działania

background image

 

 

5.2. Logika warunkowa

Logika warunkowa – pozwala na określenie sekwencji zdarzeń, 
które mają nastąpić w przypadku spełnienia pewnych 
warunków:

wyrażenie

Start

Sekwencja

Instrukcji 1

prawda

Sekwencja

Instrukcji 1

fałsz

Stop

IF … THEN
IF (wyrażenie) THEN
    sekwencja_instrukcji1
ELSE
    sekwencja_instrukcji2
END IF

SELECT CASE
SELECT CASE wyrażenie
CASE wartość 1
    sekwencja_instrukcji1
CASE wartość 1
    sekwencja_instrukcji2 

CASE ELSE
    sekwencja_instrukcji3
END SELECT

Wyrażenie

=

wartość1

Start

Sekwencja

Instrukcji 1

prawda

fałsz

Stop

Wyrażenie

=

wartość2

prawda

Sekwencja

Instrukcji 2

Sekwencja

Instrukcji 2

fałsz

background image

 

 

5.3. Logika pętli

Logika pętli – pozwala na tworzenie kodu, który zostanie 
wykonany więcej razy bez konieczności jego powielania:

FOR … NEXT
FOR wart_początkowa TO wart_końcowa STEP 
skok
    sekwencja_instrukcji
NEXT

Czy 

wart_początkowa

=

wart_końcowa

?

Start

Sekwencja

Instrukcji

fałsz

prawda

Stop

Inkrementacja

Warunek

Start

Sekwencja

Instrukcji

fałsz

prawd
a

Stop

DO … LOOP UNTIL
DO 
    sekwencja_instrukcji
LOOP UNTIL warunek

Warunek

Start

Sekwencja

Instrukcji

fałsz

prawd
a

Stop

DO WHILE… LOOP
DO WHILE warunek
    
sekwencja_instrukcji
LOOP

background image

 

 

5.4. Logika rozgałęziania

Logika rozgałęziania – pozwala na porzucenie normalnego trybu 
wykonywania programu w celu realizacji nowej sekwencji 
czynności.

Warunek

Start

Podprogram 1

fałsz

prawda

Stop

Inkrementacja

Podprogram 2

Warunek

Start

Sekwencja

Instrukcji

fałsz

prawd
a

Stop

Start

Sekwencja

Instrukcji 1

Stop

Sekwencja

Instrukcji 2

Podprogram 1

Podprogram 2

Zaleta: możliwość stosowania 
wybranego fragmentu kodu 
(podprogramu) w różnych miejscach 
w kodzie; poprawa czytelności kodu; 
skrócenie kodu.  

background image

 

 

5.5. Schemat blokowy - przykład

X>b

Start

fałsz

prawd
a

Stop

Wprowadź 

a,b,c

X=a

X=a

X>c

fałsz

prawd
a

X=c

Drukuj X

Przykład: Znalezienie minimalnej liczby 

spośród trzech liczb: a,b,c.

X -  rozwiązanie.


Document Outline