ALGORYTMY

Post on 17-Mar-2016

56 views 0 download

description

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

Transcript of ALGORYTMY

ALGORYTMY

Opracowała: ELŻBIETA SARKOWICZ

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

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.

Algorytmy• Co to jest algorytm?

• Historia algorytmu.

• Przykłady algorytmów.

• Sposoby przedstawiania algorytmów.

• Sprawdź się!

ALGORYTM jest to opis krok po kroku rozwiązania postawionego

problemu lub sposobu osiągnięcia

jakiegoś celu.

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         

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”.

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.

SPOSOBY PRZEDSTAWIANIA ALGORYTMU:

OPIS SŁOWNY SCHEMAT BLOKOWY

ZAPIS Z WYKORZYSTANIEMJEDNEGO Z JĘZYKÓW

PROGRAMOWANIALISTA KROKÓW

? ?

??

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

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 ę

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

Klocki schematu blokowego

ALGORYTM ZAPISANY W POSTACI SCHEMATU

BLOKOWEGO

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

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.

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)

?

?

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.

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

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

SPRÓBUJ JESZCZE RAZ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

GRATULACJE !!!

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