background image

PWrIIS

Edward Bieleninik

1

PWrIIS

Edward Bieleninik

2

Algorytm – sko czony system reguł okre laj cych kolejno

działa

wykonywanych na okre lonych obiektach (danych) w celu uzyskania rozwi zania 
problemu.

Algorytm – ci le okre lona procedura obliczeniowa, która dla wła ciwych 

danych wej ciowych

wyprodukuje  dane 

dane wyj ciowe

zwane wynikiem 

działania algorytmu.

Algorytm - definicje

Pochodzenie wyrazu: od nazwiska matematyka perskiego „Al-Khowarizmi” z IX w.
Na łacin  zostało przetłumaczone jako Algorismus.

Dane wej.

Dane wyj.

ALGORYTM

PWrIIS

Edward Bieleninik

3

Własno ci algorytmów:

1)

poprawno

– algorytm musi by  poprawny

2)

sko czono

– algorytm musi umo liwi  rozwi zanie problemu w

sko czonym czasie

3)

zło ono

– mierzy si   czasem wykonania i zaj to ci  pami ci odniesionych 

do wielko ci danych

4)

uniwersalno

PWrIIS

Edward Bieleninik

4

Przykłady problemów algorytmicznych

• Zbadanie czy dana liczba naturalna jest pierwsza

• Znalezienie najwi kszego wspólnego dzielnika dwóch liczb

• Rozkład liczby na czynniki pierwsze

• Uporz dkowanie (posortowanie) ci gu liczb od najmniejszej do najwi kszej

• Rozwi zanie równania kwadratowego

• Rozwi zanie układu równa  liniowych

background image

PWrIIS

Edward Bieleninik

5

A

D

E

B

G

H

C

F

Problemy grafowe

• problem komiwoja era

Znale  najkrótsz  drog  umo liwiaj c  jednokrotne odwiedzenie wszystkich w złów. 

• problem minimalnego pokrycia

Znale  najkrótsze poł czenie wszystkich w złów

PWrIIS

Edward Bieleninik

6

A

D

E

B

G

H

C

F

Problem komiwoja era

(przykładowe rozwi zanie)

PWrIIS

Edward Bieleninik

7

A

D

E

B

G

H

C

F

Problem minimalnego pokrycia

(przykładowe rozwi zanie)

PWrIIS

Edward Bieleninik

8

Algorytm – sposoby zapisu

1) opis słowny

Musi by  zrozumiały i jednoznaczny.

2) opis w postaci listy kroków

Poszczególne kroki zawieraj opis operacji, które maj by wykonane przez

algorytm. Mog równie wyst pi polecenia zmiany kolejno ci wykonywania

kroków.

3) schemat blokowy

4) program komputerowy

Jest najbardziej  cisłym zapisem algorytmu.

background image

PWrIIS

Edward Bieleninik

9

Algorytm - przykłady

Algorytm Euklidesa – znajdowanie najwi kszego wspólnego podzielnika 2 liczb.

Dane s  dwie liczby naturalne a, b (a > b).

NWD(a,b):

1.

Je eli b = 0 

2.

to Wynik = a

3.

w przeciwnym razie Wynik = NWD(b, a mod b)

NWD(30,21) =
NWD(21, 30 mod 21) = NWD(21,9) =
NWD(9, 21 mod 9) = NWD(9, 3) =
NWD(3, 9 mod 3) = NWD(3, 0) =
3

PWrIIS

Edward Bieleninik

10

Algorytm - przykłady

1.

Wprowad warto ci a, b;

2.

Je eli a<>0 to x=-b/a;  Wyprowad  x;

W przeciwnym razie Wyprowad „Złe dane”;

3.

Koniec;

1. Algorytm rozwi zania równania liniowego  ax + b = 0

a<>0

x= -b/a

Czytaj a, b

Wypisz: Złe dane

K

P

T

N

Wypisz x

PWrIIS

Edward Bieleninik

11

Algorytm - przykłady

2. Algorytm obliczania n!

1.     Czytaj n;

2.

silnia =1;

3.

Dla i = 2 do wykonaj

silnia = silnia*i;

4.     Wyprowad silnia;

5.

Koniec;

n! = 1*2*3* ... *n

3! = 1*2*3 = 6  4! = 1*2*3*4 =  3!*4 = 
24

n! = (n-1)!*n

silnia=1

i<=n

i=2

silnia=silnia*i

i = i+1

P

T

N

Czytaj n

K

Wy wietl silnia

PWrIIS

Edward Bieleninik

12

Algorytm - przykłady

Obliczy  sum  ci gu n liczb:

a

1

, a

2

, a

3

, ..., a

n

Czytaj dane

Suma = 0;

Dla i = 1 Do Wykonaj

Suma = Suma +a

i

Drukuj Suma;

Koniec

Suma=0

i<=n

i=1

Suma=Suma+a

i

P

i=i+1

Drukuj:

Suma, Iloczyn

N

T

Czytaj dane

K

background image

PWrIIS

Edward Bieleninik

13

Algorytm - przykłady

Obliczy  sum   liczb czytanych z klawiatury.
Czytanie ko czy liczba 0.

Suma = 0;

Czytaj a:

Dopóki a<>0 Wykonaj

Suma = Suma + a;

Czytaj a;

Drukuj Suma;

Suma=0

Czytaj a

a<>0

Suma=Suma+a

Czytaj a

Drukuj Suma

T

N

K

P

PWrIIS

Edward Bieleninik

14

Wprowad

a,b,c

b= 0

x=-c/b

T

N

T

N

N

T

P

K

a=0

delta=b

2

-4ac

Złe dane

Wyprowad  x

Wyprowad

x

1

, x

2

a

delta

b

x

2

1

=

delta>=0

Brak

pierwiastków

a

delta

b

x

2

2

+

=

ax

2  

+ bx +c = 0

Równanie kwadratowe

PWrIIS

Edward Bieleninik

15

Algorytm – rozwi zanie równania kwadratowego

ax

2  

+ bx +c = 0

1.

Czytaj a, b, c

2.

Je eli a = 0  to

Je eli b = 0 to Wyprowad „Złe dane”

W przeciwnym razie x = -c/b;  Wyprowad  x

W przeciwnym razie

delta = b

2

– 4ac

Je eli delta >= 0 to

Wyprowad

x

1

, x

2

W przeciwnym razie Wyprowad „Brak pierwiastków”

3. Koniec

a

delta

b

x

2

2

+

=

a

delta

b

x

2

1

=

PWrIIS

Edward Bieleninik

16

Algorytm – schemat blokowy

Konwencje dotycz ce schematów blokowych

pocz tek/koniec

operacja we/wy

blok wykonawczy

blok warunkowy

blok zło ony

background image

PWrIIS

Edward Bieleninik

17

Algorytm – sekwencja czynno ci

Czynno  1

Czynno  2

Czynno  3

PWrIIS

Edward Bieleninik

18

Algorytm – warunek „je eli”

Warunek

Czynno 1

Czynno 2

T

N

Warunek

Czynno

T

N

Je eli <warunek> To

Czynno

Je eli <warunek> To

Czynno 1

W przeciwnym razie

Czynno 2

PWrIIS

Edward Bieleninik

19

Algorytm – wybór czynno ci

Czynno 2

Czynno 1

Przeł cznik

Czynno 3

Czynno 4

Wej

Wyj

PWrIIS

Edward Bieleninik

20

Algorytm – iteracje „dopóki” i „powtarzaj”

Warunek

Czynno

T

N

Warunek

Czynno

T

Dopóki <warunek> Wykonaj

Czynno

Powtarzaj

Czynno

A   <warunek>

N

background image

PWrIIS

Edward Bieleninik

21

Algorytm – iteracje „dla”

i<=n

Czynno

T

N

i=1

i=i+1

Dla i=1 Do Wykonaj

Czynno