Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Algorytmy i algorytmika Opracowanie: Maciej Karanowski.

Podobne prezentacje


Prezentacja na temat: "Algorytmy i algorytmika Opracowanie: Maciej Karanowski."— Zapis prezentacji:

1

2 Algorytmy i algorytmika Opracowanie: Maciej Karanowski

3 Algorytmy ALGORYTMY I ALGORYTMIKA Najważniejsze pojęcia Historia algorytmów Co należy koniecznie wiedzieć? Sposoby przedstawiania algorytmów Sprawdź się!

4 Algorytmy Poznajmy najważniejsze pojęcia... Mimo, że słowo algorytm brzmi trochę obco, to jednak okazuje się, że pod nim kryje się nasz dobry znajomy! Definicja mówi: Algorytm jest to precyzyjny opis sposobu rozwiązania określonego zadania lub osiągnięcia jakiegoś celu. Rozumiem!

5 Algorytmy Poznajmy najważniejsze pojęcia... A l g o r y t m i k a jest działem informatyki zajmującym się poszukiwaniem, konstruowaniem i badaniem własności algorytmów w kontekście ich przydatności do rozwiązywania problemów za pomocą komputerów. Trzeba to przemyśleć!

6 Algorytmy Kilka słów o historii algorytmów 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.

7 Algorytmy Kilka słów o historii algorytmów W historii informatyki można spotkać wiele śladów poszukiwania sposobów rozwiązywania problemów nazywanych algorytmami. To głównie matematycy dążyli do wynalezienia maszyny, która wykonywałaby czasochłonne i żmudne obliczenia. Najstarsze odnalezione przyrządy do liczenia tzw. abakusy pochodzą z X w. p.n.e. Później powstały liczydła, jedno z takich liczydeł, używanych do dziś w Japonii, to soroban widoczny obok na zdjęciu.

8 Algorytmy Kilka słów o historii algorytmów Jednym z najstarszych i najbardziej znanych algorytmów jest algorytm Euklidesa, który podanyalgorytm Euklidesa został już 2500 lat temu. Algorytm ten służy do obliczania największego dzielnika dwóch liczb (ale nie ma nic wspólnego z rozkładem liczb na czynniki pierwsze) i należy obecnie do kanonu wiedzy informatycznej. Wydaje się, że każdy informatyk powinien znać zasadę działania tego algorytmu.

9 Algorytmy Z algorytmami w szkole po raz pierwszy spotykasz się na lekcjach matematyki, kiedy stosujesz pewien sposób rozwiązania zadania np. algorytm pisemnego mnożenia dwóch dowolnych liczb. Czy potrafisz sformułować przepis na obliczenie iloczynu dwóch liczb sposobem pisemnym? Algorytm jest pojęciem ściśle związanym z informatyką, a każdy program komputerowy jest zapisem pewnego algorytmu (wyrażonym w określonym języku programowania). Co należy koniecznie wiedzieć?

10 Algorytmy Co należy koniecznie wiedzieć? Wykonawcą algorytmu może być komputer lub człowiek. Każdy problem, który ma być rozwiązany musi zostać najpierw poddany s p e c y f i k a c j i, która polega na dokładnym opisie zadania. W ramach specyfikacji problemu podaje się: d a n e dla rozwiązywanego problemu w a r u n k i, jakie te dane muszą spełniać w y n i k i z w a r u n k a m i, jakie muszą one spełniać z w i ą z e k w y n i k ó w z d a n y m i

11 Algorytmy Sposoby przedstawiania algorytmów Opis słownyLista kroków Zapis z wykorzystaniem jednego z języków programowania Schemat blokowy

12 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

13 Algorytmy 1. Podejdź do telefonu 2. Podnieś słuchawkę 3. Sprawdź, czy jest sygnał Zapewne domyślasz się – jest to początek algorytmu wykonania telefonu podany w postaci listy kroków Zobacz też algorytm Euklidesa algorytm Euklidesa Pamiętaj by w jednym punkcie (kroku) opisać t y l k o j e d n ą o p e r a c j ę Algorytm w postaci listy kroków

14 Algorytmy Schemat blokowy jest graficzną reprezentacją słownego zapisu algorytmu Elementy, z których buduje się schematy blokowe poznasz przeglądając kolejne slajdy Algorytm w postaci schematu blokowego Muszę je koniecznie obejrzeć

15 Algorytmy Podstawowe klocki schematu blokowego KLOCKI GRANICZNE Używany do zakończenia algorytmu (zwykle jeden, można używać kilku - algorytm ma wtedy mniej ścieżek i jest bardziej przejrzysty) Używany do rozpoczęcia algorytmu (tylko jeden) Stop Start

16 Algorytmy KLOCKI WEJŚCIA I WYJŚCIA Służy do wprowadzania danych (wartości) z zewnątrz Służy do wyprowadzania danych podaj wartość wyprowadź wartość

17 Algorytmy KLOCEK WYKONAWCZY W tym klocku można umieszczać jedną lub kilka instrukcji. Korzysta się z instrukcji przypisania(:=) i operatorów arytmetycznych(+; -; *; /; ^) instrukcje do wykonania

18 Algorytmy KLOCEK WARUNKOWY Klocek ten ma jedno wejście i dwa wyjścia. Pytamy np. czy lewa strona jest równa prawej(a=b). Otrzymujemy odpowiedź TAK lub NIE i wychodzimy jednym z wyjść. Nie ma znaczenia po której stronie jest znak Tak lub Nie. W klocku warunkowym umieszcza się tylko jedno wyrażenie logiczne. Wyrażenie logiczne budujemy za pomocą operatora logicznego, inaczej znaku relacji(=; ; =; <>) wyrażenie logiczne Tak Nie

19 Algorytmy Aby przedstawić algorytm w postaci programu (czyli zapisany w języku programowania) trzeba go zbudować z ciągu instrukcji określonego języka programowania. Algorytm przedstawiony w języku programowania Tyle tych języków... Który wybrać? Może Pascal, albo C++ lub Logo...

20 Algorytmy W zadaniach umieszczonych na kolejnych slajdach należy wskazywać elementy, które powinny być kolejno dołączane do schematu blokowego. Muszę się zastanowić!

21 Algorytmy Podaj (b) S=: a + b Pisz sumę STOP Obliczanie sumy dwóch liczb START Podaj (a)

22 Algorytmy Podaj (b) S=: a + b Pisz sumę STOP Obliczanie sumy dwóch liczb START Podaj (a)

23 Algorytmy Podaj (b) S=: a + b Pisz sumę STOP Obliczanie sumy dwóch liczb START Podaj (a)

24 Algorytmy Podaj (b) S=: a + b Pisz sumę STOP Obliczanie sumy dwóch liczb START Podaj (a)

25 Algorytmy Podaj (b) S=: a + b Pisz sumę Obliczanie sumy dwóch liczb START Podaj (a) STOP

26 Algorytmy Podaj (b) S=: a + b Pisz sumę STOP Obliczanie sumy dwóch liczb START Podaj (a)

27 Algorytmy Przykład schematu blokowego Przykład 1 BUDOWA ALGORYTMU: START - podaj liczbę a, - oblicz kwadrat liczby a, - oblicz sześcian liczby a, - podaj wartość kwadratu liczby a, - podaj sześcian liczby a. STOP Start a:= Podaj liczbę a 2 :=a*a a 3 :=a*a*a a 2 := a 3 := Stop

28 Algorytmy Przykład schematu blokowego Przykład 2 Start WYJRZYJ PRZEZ OKNO CZY PADA DESZCZ? WEŹ PARASOL TAK WYJDŹ Stop NIE

29 Algorytmy Pomysł Euklidesa na obliczanie NWD 1. Dane są dwie niezerowe liczby naturalne a i b. 2. Dopóki liczby nie są równe powtarzaj krok 3, w przeciwnym razie przejdź do kroku Od większej liczby odejmij mniejszą i tę większą zastąp otrzymaną różnicą. 4. Wyprowadź wynik: NWD (największy wspólny dzielnik) jest równy pierwszej liczbie. Wiem, że to jest lista kroków Powrót do listy kroków Powrót do historii


Pobierz ppt "Algorytmy i algorytmika Opracowanie: Maciej Karanowski."

Podobne prezentacje


Reklamy Google