330 likes | 573 Views
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].
E N D
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 algorytmEuklidesa, 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 ZAPISZ WYKORZYSTANIEM JEDNEGO Z JĘZYKÓW PROGRAMOWANIA DRZEWO ALGORYTMU 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 postacilisty 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: START WE/WY W? SKRZYNKA OPERACYJNA W? WE/WY STOP
ALGORYTM ZAPISANY W JĘZYKU PROGRAMOWANIA Abyprzedstawić 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 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 T N START Dane: a, b, c.Wynik: max. a, b, c a=max a>b a>c c>b b=max c=max STOP
T N T N T N START Dane: a, b, c.Wynik: max. a, b, c a=max c=max STOP STOP b=max a>b
T N T N T N START Dane: a, b, c.Wynik: max. a, b, c a>c c>b a>b c=max a=max STOP b=max
T N T N T N START Dane: a, b, c.Wynik: max. a>c a, b, c STOP a>b c=max c>b a=max b=max
T N T N T N START Dane: a, b, c.Wynik: max. a>c a, b, c a>b c=max c>b a=max b=max
T N T N T N START Dane: a, b, c.Wynik: max. a, b, c a>b c=max a>c c>b a=max b=max c=min
T N T N T N START Dane: a, b, c.Wynik: max. a, b, c c>b STOP a>b a=max a>c b=max
T N T N T N START Dane: a, b, c.Wynik: max. a, b, c c>b a>b b<a a>c a=max b=max
T N T N T N START Dane: a, b, c.Wynik: max. a, b, c STOP a=max a>b c=max a>c c>b b=max
T N T N T N START Dane: a, b, c.Wynik: max. a, b, c a>b a=max a<b a>c c>b b=max c=max b=min
T N T N T N START Dane: a, b, c.Wynik: max. a, b, c a>b c=min a=max a>c c>b c>a c=max b=max
T N T N T N START Dane: a, b, c.Wynik: max. a, b, c a>b c=max a>c c>b c>a a=max b=max
T N T N T N START Dane: a, b, c.Wynik: max. a, b, c a>b c=max a>c c>b c=min a=max b=max c>a
T N T N T N START Dane: a, b, c.Wynik: max. a, b, c a<c a>b b=min a>c c>b b=max a=max c=max
T N N T N T START Dane: a, b, c.Wynik: max. a, b, c a>b a>c c>b STOP a=max c=max b=max
T N N T N T START Dane: a, b, c.Wynik: max. a, b, c a>b a>c c>b STOP a=max c=max b=max STOP
T N N T N T START Dane: a, b, c.Wynik: max. a, b, c a>b a>c c>b STOP a=max c=max b=max STOP STOP
T N N T N T START Dane: a, b, c.Wynik: max. a, b, c a>b a>c c>b a=max c=max b=max STOP STOP STOP