ALGORYTMY
description
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