Algorytmy
algorytmami mamy do czynienia, często w życiu codziennym. Algorytm – zestaw ściśle określonych czynności prowadzących do wykonania zadania algorytmami mamy do czynienia, często w życiu codziennym. Przykładowym algorytmem może być, przepis na przyrządzenie zupki chińskiej: Przygotuj wodę Wsyp zupkę do naczynia Dosyp przyprawy Zalej zupkę wodą Czkaj trzy minuty Powyższy przepis składa się z podstawowych czynności uporządkowanych w kolejności ich wykonywania. Należy zauważyć, iż kolejność jest bardzo ważna w tym przepisie. Nie uda się przygotować zupki jeżeli najpierw poczeka się trzy minuty, następnie doleje wody, przygotuje się ją, wsypie przyprawy, a na koniec całość wleje do naczynia.
Algorytm zapisujący operacje do wykonania Może zostać zapisany w różny sposób : Zapis słowny Lista kroków do wykonania Pseudokod Drzewo algorytmu Schemat blokowy
Spróbujmy stworzyć algorytm obliczania pola trójkąta a x h P= -------- 2 Zapis słowny Dane wejściowe : a – postawa trójkąta wysokość trójkąta Dane wyjściowe : pole trójkąta P Oblicz pole trójkąta jako iloczyn podstawy i wysokości i podziel przez2
Lista kroków do wykonania Krok 1 – wczytaj dane wejściowe Krok 2 – oblicz wynik pola pole ->axh/2 Krok 3 – wyświetl wynik Krok 4 – zakończ INPUT a, h P=axh/2 OUTPUT P Exit Pseudokos
Ćwiczenie Podaj przykład prostego algorytmu: oblicz objętość prostopadłościanu o krawędziach długości: a,b, i wysokości h Wzór axbxh
Lista kroków do wykonania Dane wejściowe: krawędzie a,b, wysokość h Dane wyjściowe: objętość O Oblicz objętość prostopadłościanu jako iloczyn krawędzi axb i wysokości h Lista kroków do wykonania Krok 1 – wczytaj dane wejściowe Krok 2 – oblicz objętość axbxc Krok 3 – wyświetl wynik Krok 4 – zakończ PSEUDOKOD INPUT a,b,h O=AXBXC OUTPUT O EXIT
Podstawowe symbole stosowane w schematach blokowych Linia przepływu (połączenie) — przedstawiana jest w postaci linii zakończonej strzałką, która wskazuje kierunek przemieszczania się po schemacie. Blok początku (startowy) — wskazuje miejsce rozpoczęcia algorytmu. Na schemacie występuje tylko jedna klatka startowa. Schematy blokowe podprogramów, oprócz komendy START, mogą zawierać nazwę realizowanej funkcji lub procedury. Blok końcowy — wskazuje miejsce zakończenia algorytmu. Aby ułatwić rysowanie, przyjęło się, że na schemacie może znajdować się kilka takich skrzynek. Schematy blokowe podprogramów, oprócz komendy STOP, mogą zawierać nazwę kończonej funkcji lub procedury.
Blok wykonawczy (instrukcyjny, poleceń) — zawiera polecenie, które należy wykonać, Instrukcją (operacją) może być podstawienie, operacja arytmetyczna, wprowadzenie danej. Blok warunkowy (porównujący, komparator) — sprawdza umieszczony w nim warunek Z bloku wychodzą dwa połączenia. Najczęściej oznaczane są: T — tak, co oznacza, że warunek został spełniony; N — nie, warunek nie został spełniony.
Blok wejścia-wyjścia — poprzez ten blok wprowadzane są dane i wyprowadzane są wyniki. Blok posiada jedno połączenie wejściowe i jednowyjściowe.. Bloki łącznikowe (stronicowe i międzystronicowe) — stosowane są wtedy, gdy zachodzi konieczność kontynuowania rysunku w innym miejscu kartki lub na kolejnej stronie. Urwany fragment schematu kończy się blokiem takim jak u góry, po lewej na rysunku obok. Miejsce kontynuacji przerwanego schematu oznacza się za pomocą bloku o kształcie takim jak u dołu, po prawej. Numer we wnętrzu koła oznacza, które miejsca we fragmentach należy łączyć. Blok komentarza — umieszcza się w nim opisy niezbędne do zrozumienia kolejnych poleceń w algorytmie.
Algorytm pola trójkąta start Wczytaj a,h P=axh/2 wyświetl P stop
Cwiczenie Przedstaw w formie schematu blokowego algorytm, który pozwala obliczać koszt rozmowy z telefonu komórkowego. Załóż, że: znany jest czas trwania rozmowy w sekundach, operator pobiera 1 zł za każdą rozpoczętą minutę rozmowy.
Schemat blokowy Schemat blokowy to plan algorytmu przedstawiony w formie graficznej Struktury elementów zwanych blokami. Bloki, zwane również klatkami lub skrzynkami, są uporządkowane zależnie od ich zawartości oczekiwań programisty. Każdy blok zawiera informację o operacji, która ma być w nim wykonana. Pomiędzy blokami znajdują się połączenia, inaczej linie przepływu (linia ciągła zakończona strzałką), określające kolejność wykonywania klatek schematu. Linia ze strzałką w kierunku bloku oznacza informację wejściową, linia ze strzałką skierowaną na zewnątrz bloku oznacza informację wyjściową (wynik).
Klasyfikacja algorytmów ze względu na sposób wykonywania operacji Sekwencyjne – operacje są wykonywane w kolejności jakiej są opisywane Interakcyjne niektóre kroki są powtarzane az do spełnienia wymaganego warunku Rekurencyjne („wywołanie samego siebie”) to sposób wykonywania obliczeń, polegający na tym, że wydzielony podprogram wywołuje siebie samego.
DRZEWO ALGORYTMU Algorytm można przedstawić graficznie. Korzeń – wierzchołek początek algorytmu Gałęzie- wierzchołki pośrednie, które reprezentują określoną operację Liście – wierzchołki końcowe reprezentują wyniki