poniedziałek, 11 czerwca 2012


 Specyfikacja problemu algorytmicznego 

Wiesz już, co to jest algorytm, jakie wymogi powinien spełniać i jak go zapisać.
Brakuje jeszcze jednego czynnika, aby zadanie, które chcesz rozwiązać za pomocą algorytmu,
było przedstawione w pełni precyzyjnie. Jeśli bowiem zamierzasz napisać program, w którym
zastosujesz utworzony przez siebie algorytm, to musisz wiedzieć, jakiego typu są dane
wejściowe, wyniki, czyli dane wyjścia itp. Wszystkie te informacje powinny zostać
umieszczone w specyfikacji problemu algorytmicznego.
Definicja
Specyfikacją problemu algorytmicznego nazywamy dokładny opis problemu
algorytmicznego, który ma zostać rozwiązany, oraz podanie danych wejściowych i
danych wyjściowych wraz z ich typami.
Najczęściej specyfikacja składa się z opisu danych wejściowych wraz ze wszystkimi
warunkami, jakie mają one spełniać, oraz danych wyjściowych (wyników) z uwzględnieniem
warunków, jakie mają spełniać i ich związku z danymi wejściowymi. Pokażmy to na
przykładzie.
Specyfikacja problemu algorytmicznego 
Problem algorytmiczny: Obliczanie potęgi liczby naturalnej o wykładniku
naturalnym
Dane wejściowe:   a ∈ N - podstawa potęgi,  b∈ N - wykładnik potęgi
Dane wyjściowe:   w∈ N - wartość a
b
Dane w algorytmie są najczęściej przedstawiane za pomocą liter lub dłuŜszych nazw,
które nazywamy zmiennymi.
Definicja
Zmienną nazywamy obiekt występujący w algorytmie, określony przez nazwę i
służący do zapamiętywania pewnych danych.
Typy zmiennych
Jeśli używamy w algorytmie zmiennej, musimy dokładnie określić, jakiego rodzaju
wartości może ona przechowywać - mówimy, że określamy tak zwany typ zmiennej. Mogą
to być liczby całkowite, liczby rzeczywiste, litery, znaki klawiaturowe. Różne typy będziemy
omawiać w kolejnych rozdziałach naszych rozważań.
W czasie działania algorytmu można swobodnie zmieniać wartość przypisaną
zmiennej w zakresie jej typu.
Zmienna pomocnicza jest zmienną wprowadzoną do zapisu algorytmu w celu
umożliwienia jego realizacji. Zmienne pomocnicze służą w algorytmie do pamiętania danych
przejściowych, czyli danych potrzebnych do działania algorytmu, ale niebędących danymi
wejściowymi ani wynikami. Na przykład w algorytmie obliczającym średnią arytmetyczną
wielu liczb potrzebujemy dwóch zmiennych pomocniczych - jednej do zapamiętywania ilości
podanych liczb, drugiej zaś do zapamiętywania sumy podanych liczb.
Stałe w algorytmie
Prócz zmiennych w algorytmie możemy używać stałych. Mogą to być wartości
podane wprost, na przykład liczba 35, albo wartości reprezentowane przez nazwy - podobnie
jak zmienne. Wartość stałej w algorytmie nie może ulec zmianie, na przykład: używamy stałej
JT mającej wartość 3,14 i oczywiście zależy nam, aby ta wartość nie została przypadkowo
zmieniona.
Bezpośrednio po specyfikacji należy umieścić zapis algorytmu - wybór metody zapisu
należy do ciebie. My preferujemy zapis za pomocą schematu blokowego, jako najbardziej 2
czytelny dla odbiorcy. Jeśli więc do powyższej specyfikacji dodasz zapis algorytmu
sporządzony w postaci na przykład schematu blokowego, to dokumentacja słuŜąca
rozwiązaniu problemu byłaby niemal pełna. Należy bowiem jeszcze przeprowadzić ocenę
poprawności algorytmu, o czym będzie mowa w dalszej części tego rozdziału.

8 komentarzy: