POJCIE ALGORYTMU Wstp do informatyki Pojcie algorytmu Etapy

  • Slides: 28
Download presentation
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu Etapy rozwiązywania zadań Sposoby reprezentowania algorytmów Lista

POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu Etapy rozwiązywania zadań Sposoby reprezentowania algorytmów Lista kroków Schemat blokowy Drzewo algorytmu Program w języku programowania (C++) Algorytmy liniowe Algorytmy warunkowe

Tytułem wstępu n n Na początek kilka słów wyjaśnień. Oznaczenia w informatyce, szczególnie w

Tytułem wstępu n n Na początek kilka słów wyjaśnień. Oznaczenia w informatyce, szczególnie w programowaniu, różnią się od tych używanych na co dzień w matematyce. Operator przypisania „: =” należy traktować jak w matematyce znak równości „=”. Przykład: x=10, x: =10 zapisy oznaczają przypisanie zmiennej x wartości 10.

Tytułem wstępu

Tytułem wstępu

Tytułem wstępu

Tytułem wstępu

Tytułem wstępu

Tytułem wstępu

POJĘCIE ALGORYTMU Algorytm jest to precyzyjny opis sposobu rozwiązania określonego zadania lub osiągnięcia jakiegoś

POJĘCIE ALGORYTMU Algorytm jest to precyzyjny opis sposobu rozwiązania określonego zadania lub osiągnięcia jakiegoś celu. Algorytm - w matematyce oraz informatyce skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego rodzaju zadań. Algorytm ma przeprowadzić system z pewnego stanu początkowego do pożądanego stanu końcowego.

POJĘCIE ALGORYTMU Algorytm jest dokładnym przepisem na rozwiązanie problemu lub osiągnięcie jakiegoś celu, realizowanym

POJĘCIE ALGORYTMU Algorytm jest dokładnym przepisem na rozwiązanie problemu lub osiągnięcie jakiegoś celu, realizowanym w skończonej liczbie kroków. Istnieje wiele sposobów rozwiązania danego zadania, stąd każdemu problemowi odpowiada wiele metod prowadzących do prawidłowych wyników.

POJĘCIE ALGORYTMU Pojęcie algorytm pochodzi od brzmienia fragmentu nazwiska arabskiego matematyka i astronoma Muhammada

POJĘCIE ALGORYTMU Pojęcie algorytm pochodzi od brzmienia fragmentu nazwiska arabskiego matematyka i astronoma Muhammada ibn Musa Al-Chorezmi’ego, 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”.

ETAPY ROZWIĄZYWANIA ZADAŃ Realizację zadań za pomocą komputera wykonujemy etapami: 1. Określenie specyfikacji zadania

ETAPY ROZWIĄZYWANIA ZADAŃ Realizację zadań za pomocą komputera wykonujemy etapami: 1. Określenie specyfikacji zadania 2. Zbadanie, czy analizowany problem ma rozwiązanie 3. Zapisanie algorytmu w wybranej postaci (notacji) 4. Analiza poprawności 5. Wykonanie obliczeń na komputerze (testowanie programu) 6. Analiza własności wybranego algorytmu

ETAPY ROZWIĄZYWANIA ZADAŃ 1. Określenie specyfikacji zadania: Dane (dane wejściowe) 2. Wyniki (dane wyjściowe)

ETAPY ROZWIĄZYWANIA ZADAŃ 1. Określenie specyfikacji zadania: Dane (dane wejściowe) 2. Wyniki (dane wyjściowe) Określamy dane wejściowe, wyniki, podajemy ich typ (l. rzeczywiste, całkowite itp. ) 1. 2. Zbadanie, czy analizowany problem ma rozwiązanie oraz wybór algorytmu. Istnieje wiele sposobów wykonania danego zadania, z czego wynika, że można skonstruować wiele algorytmów rozwiązujących dany problem.

ETAPY ROZWIĄZYWANIA ZADAŃ 3. Zapisanie algorytmu w wybranej postaci (notacji) § § § 4.

ETAPY ROZWIĄZYWANIA ZADAŃ 3. Zapisanie algorytmu w wybranej postaci (notacji) § § § 4. Opis słowny Lista kroków Pseudokod Schemat blokowy Drzewo algorytmu Program Analiza poprawności (poprawność alg. ) Algorytm jest poprawny, jeśli dla każdych danych wejściowych jest skończony, a wyniki są poprawne – zgodne ze specyfikacją zadania.

ETAPY ROZWIĄZYWANIA ZADAŃ 5. Wykonanie obliczeń na komputerze (testowanie programu) Testowanie programu, który jest

ETAPY ROZWIĄZYWANIA ZADAŃ 5. Wykonanie obliczeń na komputerze (testowanie programu) Testowanie programu, który jest implementacją algorytmu, dla różnych danych. Algorytm powinien działać dla dowolnych danych wejściowych dając poprawne wyniki. 6. Analiza własności wybranego algorytmu Ocena efektywności przyjętego rozwiązania, złożoności obliczeniowej (czasowej i pamięciowej) oraz błędów zaokrągleń wynikających z obliczeń na liczbach przybliżonych.

SPOSOBY REPREZENTOWANIA ALGORYTMÓW Lista kroków n Schemat blokowy n Drzewo algorytmu n Program w

SPOSOBY REPREZENTOWANIA ALGORYTMÓW Lista kroków n Schemat blokowy n Drzewo algorytmu n Program w języku programowania n

Algorytm w postaci Listy kroków Lista kroków jest opisem - instrukcją wykonania czynności opisanych

Algorytm w postaci Listy kroków Lista kroków jest opisem - instrukcją wykonania czynności opisanych kolejno w punktach. Przykład. Skonstruuj algorytm rozwiązujący równanie liniowe ax+b=0. Dane: a, b dowolne liczby całkowite. Wynik: Określenie wyniku czy jest 1 rozwiązanie – wyznaczenie x – lub nie ma rozwiązania bądź jest nieskończenie wiele rozwiązań. 1. Rozpocznij algorytm. 2. Wczytaj (podaj lub wprowadź) dwie dowolne liczby całkowite a, b. 3. Jeżeli a<>0, to oblicz x=-b/a, wypisz wynik x i przejdź do kroku 6; w przeciwnym razie przejdź do kroku 4. 4. Jeżeli b=0, to wypisz: „Nieskończenie wiele rozwiązań”, w przeciwnym razie wypisz: „Brak rozwiązania”. 5. Zakończ algorytm.

Algorytm w postaci Listy kroków Przykład. Skonstruuj algorytm rozwiązujący równanie liniowe ax+b=0. Dane: a,

Algorytm w postaci Listy kroków Przykład. Skonstruuj algorytm rozwiązujący równanie liniowe ax+b=0. Dane: a, b - dowolne liczby całkowite. Wynik: Określenie wyniku: czy jest 1 rozwiązanie, wyznaczenie x lub nie ma rozwiązania bądź jest nieskończenie wiele rozwiązań. 1. Rozpocznij algorytm. 2. Wczytaj (podaj lub wprowadź) dwie dowolne liczby całkowite a, b. 3. Jeżeli a<>0, to oblicz x=-b/a, wypisz wynik x i przejdź do kroku 6; w przeciwnym razie przejdź do kroku 4. 4. Jeżeli b=0, to wypisz: „Nieskończenie wiele rozwiązań”, w przeciwnym razie wypisz: „Brak rozwiązania”. 5. Zakończ algorytm.

Algorytm w postaci Schematu Blokowego Schemat blokowy jest graficzną reprezentacją słownego zapisu algorytmu.

Algorytm w postaci Schematu Blokowego Schemat blokowy jest graficzną reprezentacją słownego zapisu algorytmu.

Algorytm w postaci Drzewa Algorytmu

Algorytm w postaci Drzewa Algorytmu

Algorytm przedstawiony w Języku Programowania czyli ciąg instrukcji określonego języka programowania.

Algorytm przedstawiony w Języku Programowania czyli ciąg instrukcji określonego języka programowania.

Algorytm liniowy algorytm składający się z ciągu instrukcji, które są wykonywane jedna po drugiej

Algorytm liniowy algorytm składający się z ciągu instrukcji, które są wykonywane jedna po drugiej w kolejności, jaka wynika z ich następstwa w zapisie. Nazywany jest również algorytmem sekwencyjnym. Realizuje jeden ciąg działań sekwencyjną (blok po bloku). Cechy algorytmu liniowego: • nie sprawdza się żadnych warunków • nie przemieszcza się w inne niż kolejne miejsca algorytmu • nie wraca się do wcześniejszych punktów lub bloków algorytmu.

Algorytm warunkowy Algorytm z warunkami charakteryzuje się realizacją kilku ciągów działań, występowaniem sytuacji warunkowych

Algorytm warunkowy Algorytm z warunkami charakteryzuje się realizacją kilku ciągów działań, występowaniem sytuacji warunkowych (jednej lub więcej). Ich wynik decyduje o wyborze danego ciągu działań. Prezentowanie algorytmu z warunkami w schemacie blokowym jest bardziej przejrzyste niż w liście kroków, lepiej widoczne są przejścia w zależności od spełnienia bądź niespełnienia warunku.

Lista kroków Specyfikacja: n Dane n Wynik n Lista kroków (instrukcji) algorytm na obliczenie

Lista kroków Specyfikacja: n Dane n Wynik n Lista kroków (instrukcji) algorytm na obliczenie sumy dwóch liczb Dane: a, b dowolne liczby całkowite. Wynik: s – suma dwóch liczb obliczona ze wzoru s=a+b. Krok 1. rozpocznij algorytm. Krok 2. Wczytaj (podaj lub wprowadź) dwie dowolne liczby całkowite a, b. Krok 3. Oblicz sumę ze wzoru s=a+b. Krok 4. Wypisz wynik sumy s. Krok 5. Zakończ algorytm.

Schemat blokowy – Bloki graniczne n Skrzynka START ma tylko jedno połączenie wychodzące a

Schemat blokowy – Bloki graniczne n Skrzynka START ma tylko jedno połączenie wychodzące a skrzynka STOP tylko jedno połączenie dochodzące. n Wewnątrz skrzynki umieszcza się napis START, POCZĄTEK, KONIEC, STOP. n Schemat może mieć tylko jedną skrzynkę START oraz jedną skrzynkę STOP. START STOP

Schemat blokowy – blok Wejścia-Wyjścia WE / WY n Skrzynka odpowiada za wprowadzanie danych

Schemat blokowy – blok Wejścia-Wyjścia WE / WY n Skrzynka odpowiada za wprowadzanie danych i wyprowadzanie, wyświetlanie wyników i komunikatów. n Blok ma jedno połączenie na wejście i jedno na wyjście n Wyświetlenie danych tekstowych obejmujemy cudzysłowem „podałeś złą daną”

Schemat blokowy – blok operacyjny x=10 n Skrzynka zawiera operacje, działanie (jedno lub więcej)

Schemat blokowy – blok operacyjny x=10 n Skrzynka zawiera operacje, działanie (jedno lub więcej) najczęściej arytmetyczne (oraz przypisanie wartości). n Blok ma jedno połączenie na wejście i jedno na wyjście

Schemat blokowy – blok warunkowy a>0 T n Inaczej blok warunkowy n Skrzynka określa

Schemat blokowy – blok warunkowy a>0 T n Inaczej blok warunkowy n Skrzynka określa wybór jednej z dwóch możliwych dróg działania n Gdy warunek (test logiczny) jest prawdziwy, idziemy drogą na T (Tak), w przeciwnym razie idziemy drogą Nie (gałąź nieoznaczona).

Schemat blokowy – algorytm liniowy Schemat blokowy na obliczenie iloczynu dwóch liczb. Uwaga! Zmienne

Schemat blokowy – algorytm liniowy Schemat blokowy na obliczenie iloczynu dwóch liczb. Uwaga! Zmienne oddzielamy znakiem przecinka Blok wczytania można błędnie zinterpretować

Schemat blokowy – algorytm warunkowy algorytm rozwiązujący równanie liniowe ax+b=0

Schemat blokowy – algorytm warunkowy algorytm rozwiązujący równanie liniowe ax+b=0

Koniec

Koniec