ALGORYTMY

35
ALGORYTMY Opracowała: ELŻBIETA SARKOWICZ studia podyplomowe w zakresie ICT, języka angielskiego oraz informatyki.

description

ALGORYTMY. Opracowała: ELŻBIETA SARKOWICZ studia podyplomowe w zakresie ICT, języka angielskiego oraz informatyki. - PowerPoint PPT Presentation

Transcript of ALGORYTMY

Page 1: ALGORYTMY

ALGORYTMY

Opracowała: ELŻBIETA SARKOWICZ

studia podyplomowe w zakresie ICT, języka angielskiego oraz informatyki.

Page 2: ALGORYTMY

Mówi się często, że człowiek dotąd nie zrozumie czegoś,zanim nie nauczy tego - kogoś innego.W rzeczywistości,człowiek nie zrozumie czegoś naprawdę,zanim nie zdoła nauczyć tego - komputera.

[Donald E. Knuth - informatyk amerykański]

Powyższe słowa, wypowiedziane przez jednego z najwybitniejszych informatyków naszych czasów, dobrze ujmują rolę algorytmów w dobie komputerów. Algorytm bowiem jest rozumiany dzisiaj najczęściej jako opis czynności, które mają być wykonane przez komputer.

Page 3: ALGORYTMY

Algorytmy• Co to jest algorytm?

• Historia algorytmu.

• Przykłady algorytmów.

• Sposoby przedstawiania algorytmów.

• Sprawdź się!

Page 4: ALGORYTMY

ALGORYTM jest to opis krok po kroku rozwiązania postawionego

problemu lub sposobu osiągnięcia

jakiegoś celu.

Page 5: ALGORYTMY

PRZYKŁADY ALGORYTMÓW

• przepis na zupę • obliczanie potęgi danej liczby• wyznaczenie maximum,

minimum        • opis drogi dotarcia do jakiegoś

miejsca• obliczanie sumy dwóch liczb         

Page 6: ALGORYTMY

HISTORIA ALGORYTMU

Pojęcie algorytm pochodzi od brzmienia fragmentu nazwiska arabskiego matematyka

Muhammada ibn Musa al.- Chorezmiego, uznawanego za prekursora obliczeniowych metodw matematyce. Żył na przełomie VIII i IX wieku i to on upowszechniłsystem dziesiętny i stosowanie zera jako symbolu oznaczającego „nic”.

Page 7: ALGORYTMY

Jednym z najstarszych i najbardziej znanych algorytmów jest

algorytm Euklidesa, który podany został już 2500 lat temu.

Algorytm ten służy do obliczania największego dzielnika dwóch liczb.

Page 8: ALGORYTMY

SPOSOBY PRZEDSTAWIANIA ALGORYTMU:

OPIS SŁOWNY SCHEMAT BLOKOWY

ZAPIS Z WYKORZYSTANIEMJEDNEGO Z JĘZYKÓW

PROGRAMOWANIALISTA KROKÓW

? ?

??

Page 9: ALGORYTMY

Często w codziennym życiu masz do czynienia z sytuacją, w której przekazujesz komuś przepis na wykonanie jakiegoś zadania czy dojścia do określonego celu. Jeżeli jest to przepis, który precyzyjnie określa kolejne czynności i w jednoznaczny sposób pozwala dojść do celu, to właśnie posługujesz się opisem słownym algorytmu.

OPIS SŁOWNY ALGORYTMU

Page 10: ALGORYTMY

ALGORYTM ZAPISANY W POSTACI

LISTY KROKÓW1. Podnosimy słuchawkę.2. Wykręcamy numer.3. ...

Jest to początek algorytmu wykonania telefonu podany w postaci listy kroków.

W jednym punkcie (kroku) opisujemy t y l k o j e d n ą o p e r a c j ęt y l k o j e d n ą o p e r a c j ę

Page 11: ALGORYTMY

Schemat blokowy Jest graficzną reprezentacją słownego zapisu algorytmu

Klocki schematu blokowego

ALGORYTM ZAPISANY W POSTACI SCHEMATU

BLOKOWEGO

Page 12: ALGORYTMY

Podstawowe klocki schematu blokowego:

Początek i koniec algorytmu

Dane wejściowe, dane wyjściowe

Sprawdzenie warunku

Wykonywanie działań

START

STOP

WE/WY

WE/WY

W?

W?

SKRZYNKA OPERACYJNA

Page 13: ALGORYTMY

ALGORYTM ZAPISANY W JĘZYKU

PROGRAMOWANIAAby przedstawić algorytm w postaci programu

(czyli zapisany w języku programowania)trzeba go zbudować z ciągu instrukcji określonego języka programowania.

Page 14: ALGORYTMY

Napisz algorytm szukania maximum dwóch liczb.

(w postaci schematu blokowego)

Wskazówka 1

Wskazówka 2

(wskaż klocki, które mogą być użyte jako następne)

?

?

Page 15: ALGORYTMY

Wskazówka 1Algorytm powinien zawierać:• skrzynkę oznaczającą początek algorytmu,• skrzynkę wejściową (wprowadzamy dane),• skrzynki warunkowe (porównujemy liczby),• skrzynki przedstawiające wynik (w zależności

od rezultatu porównania liczb),• skrzynkę oznaczającą koniec algorytmu.

Page 16: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

T N T N

c>bb=max

a>c

c=max

a=max

STOP

Page 17: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

T N T N

b=max

c=max

STOP

a=max

STOP

Page 18: ALGORYTMY

SPRÓBUJ JESZCZE RAZ

Page 19: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

T N T N

c>b

b=max

STOP

a>c

c=max a=max

Page 20: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

T N T Nc>b

b=max

a>c

c=maxa=max

STOP

Page 21: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

T N T Nc>b

b=max

a>c

c=maxa=max

Page 22: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

T N T Nc>b

b=max

a>cc=max

a=max

c=min

Page 23: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

T N T N

c>b

b=max

a>c

a=max

STOP

Page 24: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

T N T N

c>b

b=max

a>c

a=max

b<a

Page 25: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

T N T Nc>b

b=max

a>c

c=max

a=maxSTOP

Page 26: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

T N T Nc>b

b=max

a>c

c=max

a=max

b=min

a<b

Page 27: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

T N T Nc>b

b=max

a>c

c=max

a=max

c>a

c=min

Page 28: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

T N T Nc>b

b=max

a>c

c=max

a=maxc>a

Page 29: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

T N T Nc>b

b=max

a>c

c=max

a=max c=minc>a

Page 30: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

T N T Nc>b

b=max

a>c

c=maxa=max

a<c

b=min

Page 31: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

N T N Ta>c

b=max

c>b

c=maxa=maxSTOP

Page 32: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

N T N Ta>c

b=max

STOP

c>b

c=max

STOP

a=max

Page 33: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

N T N Ta>c

b=max

STOP

c>b

c=max

STOP

a=max

STOP

Page 34: ALGORYTMY

GRATULACJE !!!

Page 35: ALGORYTMY

START

a, b, c

a>b

Dane: a, b, c.Wynik: max.

TN

N T N Ta>c

b=max

STOP

c>b

c=max

STOP

a=max

STOP