Opracowała: Elżbieta Fedko ALGORYTMY Opracowała: Elżbieta Fedko
Definicja Algorytmu Algorytm Jest to zestaw zadań, których rozwiązanie prowadzi do osiągnięcia określonego celu.
Warunki dla algorytmu: Dyskretność – algorytm powinien się składać z podstawowych, jasno określonych kroków; elementy bardziej złożone należy przedstawić w oddzielnym algorytmie; Uniwersalność – rozwiązanie algorytmu powinno obejmować pewien zestaw problemów, a nie tylko jeden szczególny przypadek;
Warunki dla algorytmu c.d.: Jednoznaczność – konstrukcja algorytmu musie jednoznacznie określać, które z jego podstawowych elementów mają zostać wykonane; Efektywność – wynik algorytmu powinien zamknąć się w skończonej liczbie określonych kroków; w przypadku braku rozwiązania lub gdy rozwiązania nie uzyskamy w określonym czasie, algorytm musi mieć sprecyzowane warunki zakończenia lub przerwania pracy
Specyfikacja algorytmu: Definicja danych wejściowych - określa ona jakie informacje potrzebne są algorytmowi do znalezienia rozwiązania. Np. dla równania liniowego ax + b = c algorytm potrzebuje współczynników a, b i c do znalezienia rozwiązania. W definicji podajemy również ograniczenia dla danych wejściowych, jeśli takowe istnieją. Np. w powyższym przykładzie liczby a, b i c mogą być dowolne, z zastrzeżeniem, iż a jest różne od 0. Definicja danych wyjściowych - określa efekt pracy algorytmu, czyli co jest jego wynikiem, co otrzymamy po zastosowaniu algorytmu dla danych wejściowych. Np. dla powyższego równania liniowego ax + b = c, wynikiem będzie wartość x, która po wstawieniu do równania spełnia je. Definicja danych pomocniczych - ta część nie jest obowiązkowa, jednakże znacząco ułatwia implementację algorytmu definiując pomocnicze struktury danych, które są niezbędne w trakcie przetwarzania przez algorytm danych wejściowych.
Sposoby zapisu: Opis słowny; Lista kroków; Pseudokod, pseudojęzyk; Schemat blokowy; Drzewo algorytmu; Dowolny język programowania.
Opis słowny: Opis słowny algorytmu to przedstawienie rozwiązania problemu za pomocą słów. Ćwiczenie nr 1: Przedstaw za pomocą opisu słownego algorytm włączania komputera.
Lista kroków: Lista kroków algorytmu to przedstawienie algorytmu w kolejnych punktach prowadzących do rozwiązania problemu Ćwiczenie nr 2: Przedstaw w postaci listy kroków algorytm dzielenia dwóch liczb a i b.
Pseudojęzyk: (ang. pseudolanguage, pseudocode) — uproszczona notacja algorytmiczna, zbliżona do któregoś z popularnych języków programowania, stosowana np. w publikacjach. Ćwiczenie nr.3 Przedstaw algorytm obliczania pola kwadratu w postaci pseudokodu.
Schemat blokowy: graficzny zapis algorytmu rozwiązania zadania, przedstawiający opis i kolejność wykonywania czynności realizujących dany algorytm. Ćwiczenie 4. Przedstaw w postaci schematu blokowego sumowanie dwóch dowolnych liczb.
Przykład schematu blokowego: Przykład algorytmu, sumującego 2 liczby Przykład algorytmu, wybierającego najmniejszą z 2 liczb
Drzewo algorytmu: W schemacie drzewa wyróżniamy elementy: Korzeń drzewa Wierzchołki pośrednie (węzeł) Wierzchołki końcowe (liść)
Drzewo algorytmu ćwiczenie: Sprawdź poprawność algorytmu porządkowania trzech liczb zapisanego w postaci drzewa, wykonując ten algorytm dla kilku trójek liczb, np. a = 3, b = 1, c = 4; a = 4, b = 3, c = 1; a = 4, b = 3, c = 1; a = 1, b = 2, c = 3;
podsumowanie Dziękuję za uwagę.