ALG8

ALG8



18 Rozdziali. Zanim wystartujemy

dopóki a>0 wykonuj;

podstaw za c resztę z dzielenia a przez b;

podstaw za b liczbę a;

podstaw za a liczbę c;

podstaw za ies liczbę b;

rezultat: res.

Oczywiście Euklides nie proponował swojego algorytmu dokładnie w ten sposób (w miejsce funkcji reszty z dzielenia stosowane były sukcesywne odejmowania), ale jego pomysł można zapisać w powyższy sposób bez szkody dla wyniku, który w każdym przypadku będzie taki sam. Nie jest to oczywiście jedyny algorytm, z którym mieliśmy w swoim życiu do czynienia. Każdy z nas z pewnością umie zaparzyć kawę:

•    włączyć gaz;

•    zagotować niezbędną ilość wody;

•    wsypać zmieloną kawę do szklanki;

•    zalać kawę wrzącą wodą;

•    osłodzić do smaku;

•    poczekać, aż odpowiednio naciągnie...

Powyższy przepis działa, ale zawiera kilka słabych punktów: co to znaczy „odpo wiednia ilość wody”? Co dokładnie oznacza stwierdzenie „osłodzić do smaku”? Przepis przygotowania kawy ma cechy algorytmu (rozumianego w sensie zacytowanych wyżej definicji słownikowych), ale brak mu precyzji niezbędnej do wpisania go do jakiejś maszyny, tak aby w każdej sytuacji umiała ona sobie poradzić z poleceniem „przygotuj mi małą kawę”. (Np. jak w praktyce określić warunek, że kawa „odpowiednio naciągnęła”?).

Jakie w związku z tym cechy powinny być przypisane algorytmowi rozumianemu w kontekście informatycznym? Dyskusję na ten temat można by prowadzić dość długo, ale przyjmując pewne uproszczenia można zadowolić się następującymi wymogami:

Każdy algorytm:

•    posiada dane wejściowe (w ilości większej lub równej zero) pochodzące z dobrze zdefiniowanego zbioru (np. algorytm Euklidesa operuje na dwóch liczbach całkowitych);

•    produkuje pewien wynik (niekoniecznie numeryczny);

•    jest precyzy jnie zdefiniowany (każdy krok algorytmu musi być jednoznacznie określony);


Wyszukiwarka

Podobne podstrony:
18. Rozdział. Zanim wystartujemy dopóki a>0 wykonuj; podstaw za c reszto z dzielenia a przez b; p
ALG0 20 Rozdział 1. Zanim wystartujemy (Na marginesie warto dodać, że przedsiębiorstwo Hollcritha
ALG2 22 Rozdział 1. Zanim wystartujemy programowania nic znikły bynajmniej z horyzontu: Dijkstra, H
ALG4 24 Rozdział 1. Zanim wystartujemy Aby zaradzić zaanonsowanym wyżej problemom, przyjęło się zwy
ALG6 26 RozdziaH. Zanim wystartujemy 1.5 metody niezmienników (zwanej niekiedy metodą Floyda). Mają
ET8 18 Rozdział 1. Ekonomika turystyki w systemie nauk ekonomicznych W praktyce odnosi się więc do
ALG8 48 Rozdział 2. Rekurencja W celu dokładniejszego przeanalizowania algorytmu posłużymy się kilk
ALG8 68 Rozdział 3. Analiza sprawności algorytmów3.6. Nowe zadanie: uprościć obliczenia! Nic sposób
ALG8 78___Rozdział 3 Analiza sprawności algorytmówZad. 3-4 Proszę rozwiązać następujące równanie
ALG8 88 Rozdział 4. Algorytmy sortowania Jest chyba dość oczywiste, że wywołania rekurencyjne zatrz
ALG 8 98 Rozdział 5. Struktury danych W następnych paragrafach zostaną przedstawione wszystkie metod
ALG8 108__Rozdział 5. Struktury danych5.1.3.Listy jednokierunkowe - teoria i rzeczywistość Oprócz p
ALG8 118 Rozdział 5. Struktury danych if(pŁzed==NULL) // wstawiamy na początek listy ( inf_ptr[nr].
ALG8 128 Rozdział 5. Struktury dam i W zależności od konkretnych potrzeb można element /> fizycz
ALG8 138 Rozdział 5. Struktury danych • „prawy” potomek /-tego węzła jest „schowany” pod indeksem 2

więcej podobnych podstron