1 Algorytmy
2 Poznajmy najważniejsze pojęcia...Algorytm jest to precyzyjny opis sposobu rozwiązania określonego zadania lub osiągnięcia jakiegoś celu. Rozumiem! Algorytmy
3 Kilka słów o historii algorytmówPoję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”. Algorytmy
4 Kilka słów o historii algorytmówW 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. Algorytmy
5 Co należy koniecznie wiedzieć?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? Algorytmy
6 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 Algorytmy
7 Sposoby przedstawiania algorytmówOpis słowny Lista kroków Schemat blokowy Zapis z wykorzystaniem jednego z języków programowania Algorytmy
8 Opis słowny algorytmu Często w codziennym życiu masz do czynieniaz 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. Algorytmy
9 Opis słowny algorytmu Algorytmy
10 Algorytm w postaci listy kroków1. 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 Pamiętaj by w jednym punkcie (kroku) opisać t y l k o j e d n ą o p e r a c j ę Algorytmy
11 Algorytm telefonicznego zaproszenia koleżanki na ciasto, numer telefonu: 616-22-87Podnieś słuchawkę. Wybierz cyfrę 6. Wybierz cyfrę 1. Wybierz cyfrę 2. Wybierz cyfrę 8. Wybierz cyfrę 7. Czy połączyłeś się z koleżanką ? A. Jeśli TAK, to przejdź do kroku 10. B. Jeśli NIE, to przejdź do kroku 11. 10. Zaproś koleżankę. 11. Odłóż słuchawkę. Algorytmy
12 Algorytmy
13 Algorytm w postaci schematu blokowegoSchemat blokowy jest graficzną reprezentacją słownego zapisu algorytmu Elementy, z których buduje się schematy blokowe poznasz przeglądając kolejne slajdy. Algorytmy
14 Schemat blokowy Skrzynki graniczne START i STOP STARTmają kształt owalu - wskazują początek i koniec wykonywania schematu blokowego. START STOP Algorytmy
15 Schemat blokowy S:= a + bSkrzynka operacyjna (instrukcji) ma kształt prostokąta, w którym umieszcza się instrukcje. S:= a + b Algorytmy
16 Schemat blokowy S > 10 Skrzynka warunku Tak Nie(decyzyjna) jest rombem, w którym umieszcza się warunek decydujący o dalszej kolejności wykonywania operacji. Ze skrzynki wychodzą dwa połączenia: jedno oznaczone „Tak”, drugie oznaczone „Nie”. S > 10 Tak Nie Algorytmy
17 Schemat blokowy Skrzynka WE/WY (wejścia/wyjścia)jest równoległobokiem, w którym umieszcza się dane lub wyniki. Wprowadź (a) Algorytmy
18 Algorytmy
19 start wprowadź a p:=a*a wyprowadź p koniecAlgorytmy
20 Algorytm przedstawiony 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. Tyle tych języków... Który wybrać? Może Pascal, albo C++ lub Logo... Algorytmy
21 Sprawdź się! W zadaniach umieszczonych na kolejnychslajdach należy wskazywać elementy, które powinny być kolejno dołączane do schematu blokowego. Muszę się zastanowić! Algorytmy
22 Obliczanie sumy dwóch liczbSTART Pisz sumę Podaj (a) STOP Podaj (b) S=: a + b Algorytmy
23 Niestety źle! Algorytmy
24 Obliczanie sumy dwóch liczbSTART Podaj (a) STOP S=: a + b Pisz sumę Podaj (b) Algorytmy
25 Niestety źle! Algorytmy
26 Obliczanie sumy dwóch liczbSTART Podaj (a) Podaj (b) Pisz sumę S=: a + b STOP Algorytmy
27 Niestety źle! Algorytmy
28 Obliczanie sumy dwóch liczbSTART Podaj (a) Podaj (b) S=: a + b Pisz sumę STOP Algorytmy
29 Niestety źle! Algorytmy
30 Obliczanie sumy dwóch liczbSTART Podaj (a) Podaj (b) S=: a + b Pisz sumę STOP Algorytmy
31 Obliczanie sumy dwóch liczbSTART Podaj (a) Znakomicie! Podaj (b) S=: a + b Pisz sumę STOP Algorytmy