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 metod w 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 WYKORZYSTANIEM JEDNEGO Z JĘZYKÓW PROGRAMOWANIA LISTA KROKÓW ? ?
OPIS SŁOWNY ALGORYTMU 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.
ALGORYTM ZAPISANY W POSTACI LISTY KROKÓW 1. 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 ę
ALGORYTM ZAPISANY W POSTACI SCHEMATU BLOKOWEGO Schemat blokowy Jest graficzną reprezentacją słownego zapisu algorytmu Klocki schematu blokowego
Podstawowe klocki schematu blokowego: Początek i koniec algorytmu Dane wejściowe, dane wyjściowe Sprawdzenie warunku Wykonywanie działań START WE/WY W? SKRZYNKA OPERACYJNA W? WE/WY STOP
ALGORYTM ZAPISANY W JĘZYKU PROGRAMOWANIA Aby przedstawić algorytm w postaci programu (czyli zapisany w języku programowania) trzeba go zbudować z ciągu instrukcji określonego języka programowania.
(wskaż klocki, które mogą być użyte 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 1 Algorytm 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.
T N T N Dane: a, b, c. Wynik: max. a>b a>c c>b a=max T N START Dane: a, b, c. Wynik: max. a, b, c a=max T N T N T N a>b a>c c>b b=max c=max STOP
T N T N Dane: a, b, c. Wynik: max. a>b a=max T N c=max b=max START STOP STOP b=max a>b
SPRÓBUJ JESZCZE RAZ SPRÓBUJ JESZCZE RAZ
T N T N Dane: a, b, c. Wynik: max. a>c c>b a>b T N c=max START Dane: a, b, c. Wynik: max. a, b, c a>c T N c>b T N T N a>b c=max a=max A>B STOP b=max
T N T N Dane: a, b, c. Wynik: max. a>c a>b c>b T N c=max START Dane: a, b, c. Wynik: max. a>c a, b, c STOP T N T N T N a>b c=max c>b a=max b=max
T N T N Dane: a, b, c. Wynik: max. a>c a>b c>b T N c=max START Dane: a, b, c. Wynik: max. a>c a, b, c T N T N T N a>b c=max c>b a=max b=max
T N T N Dane: a, b, c. Wynik: max. a>b a>c c>b c=min T N START Dane: a, b, c. Wynik: max. a, b, c T N T N T N a>b c=max a>c c>b a=max b=max c=min
T N T N Dane: a, b, c. Wynik: max. c>b a>b a>c T N a=max START Dane: a, b, c. Wynik: max. a, b, c c>b T N STOP T N T N a>b a=max a>c b=max
T N T N Dane: a, b, c. Wynik: max. c>b a>b b<a a>c T N START Dane: a, b, c. Wynik: max. a, b, c T N c>b T N T N a>b b<a a>c a=max b=max
T N T N Dane: a, b, c. Wynik: max. a>b a>c c>b T N a=max START Dane: a, b, c. Wynik: max. a, b, c STOP T N T N T N a=max a>b c=max a>c c>b b=max
T N T N Dane: a, b, c. Wynik: max. a>b a<b a>c c>b b=min START Dane: a, b, c. Wynik: max. a, b, c T N T N T N a>b a=max a<b a>c c>b b=max c=max b=min
T N T N Dane: a, b, c. Wynik: max. a>b c=min a>c c>b c>a START Dane: a, b, c. Wynik: max. a, b, c T N T N T N a>b c=min a=max a>c c>b c>a c=max b=max
T N T N Dane: a, b, c. Wynik: max. a>b a>c c>b c>a T N START Dane: a, b, c. Wynik: max. a, b, c T N T N T N a>b c=max a>c c>b c>a a=max b=max
T N T N Dane: a, b, c. Wynik: max. a>b a>c c>b c=min c>a START Dane: a, b, c. Wynik: max. a, b, c T N T N T N a>b c=max a>c c>b c=min a=max b=max c>a
T N T N Dane: a, b, c. Wynik: max. a<c a>b b=min a>c c>b START Dane: a, b, c. Wynik: max. a, b, c T N a<c T N T N a>b b=min a>c c>b b=max a=max c=max
N T N T Dane: a, b, c. Wynik: max. a>b a>c c>b T N a=max START Dane: a, b, c. Wynik: max. a, b, c T N N T N T a>b a>c c>b STOP a=max c=max b=max
N T N T Dane: a, b, c. Wynik: max. a>b a>c c>b T N a=max START Dane: a, b, c. Wynik: max. a, b, c T N N T N T a>b a>c c>b STOP a=max c=max b=max STOP
N T N T Dane: a, b, c. Wynik: max. a>b a>c c>b T N a=max START Dane: a, b, c. Wynik: max. a, b, c T N N T N T a>b a>c c>b STOP a=max c=max b=max STOP STOP
GRATULACJE !!!
N T N T Dane: a, b, c. Wynik: max. a>b a>c c>b T N a=max START Dane: a, b, c. Wynik: max. a, b, c T N N T N T a>b a>c c>b a=max c=max b=max STOP STOP STOP