ALGORYTMY
ALGORYTM (w potocznym rozumieniu), to jednoznaczny formalny przepis (recepta) postępowania. Nie wymaga się przy tym rozumienia treści rozwiązywanego zagadnienia, wystarczy tylko ściśle wypełnić podane w opisie wskazówki.
Specyfikacja zadania Aby rozwiązać dowolny problem (zadanie), nie tylko z informatyki, trzeba go wcześniej poprawnie sformułować oraz ustalić dane i określić cel, czyli wyniki. Następnie zastanowić się nad sposobem jego rozwiązania, czyli algorytmem, a także wyborem odpowiedniego narzędzia, np. programu komputerowego, który to ułatwi.
Specyfikacja zadania SPECYFIKACJA ZADANIA, to opisanie zadania, czyli przedstawienie związku, jaki zachodzi między danymi a wynikami.
Przykłady algorytmów przepisy kulinarne instrukcje obsługi i montażu procedury ewakuacyjne instrukcje przeprowadzenia doświadczeń, np. chemicznych instrukcje wykonywania obliczeń matematycznych, np. znajdowanie NWD lub NWW liczb naturalnych.
Definicja algorytmu ALGORYTMEM nazywamy opis obiektów łącznie z opisem czynności, które należy wykonać w ściśle określonej kolejności na tych obiektach, aby w skończonej liczbie kroków rozwiązywać zadanie.
Cechy algorytmu SKOŃCZONOŚĆ – musi on obrazować rozwiązanie zagadnienia za pomocą skończonej liczby kroków OKREŚLONOŚĆ – każdy krok powinien być określony jednoznacznie i we wszystkich możliwych przypadkach EFEKTYWNOŚĆ – wszystkie operacje powinny być dostatecznie proste WEJŚCIE – powinien on posiadać pewną liczbie danych wejściowych umożliwiających zapoczątkowanie go WYJŚCIE – powinien posiadać jedną lub więcej danych wyjściowych (wynik przeprowadzonych operacji)
Metody zapisywania algorytmów zapis w języku naturalnym (opis słowny) zapis w postaci listy kroków schematy blokowe lub sieci działań w językach formalnych (w postaci pseudokodu lub programów komputerowych)
Opis słowny algorytmu Opis słowny algorytmu składa się z opisu: obiektów, na których działa algorytm (co nazywamy DEKLARACJĄ) działania (czynności) algorytmu (co nazywamy OPISEM INSTRUKCJI)
Lista kroków Zapis algorytmu w postaci listy kroków polega na podaniu kolejno wykonanych operacji, składających się na rozwiązanie problemu.
Schematy blokowe Schemat blokowy algorytmu jest graficznym przedstawieniem słownego zapisu algorytmu. W schemacie blokowym poszczególne operacje przedstawione są za pomocą odpowiednio połączonych skrzynek (klocków, bloków). Połączenia określają kolejność i sposób wykonywania operacji realizujących dany algorytm.
Skrzynki schematów blokowych Skrzynki graniczne i łącznikowe start A A stop
Skrzynki schematów blokowych Skrzynki wprowadzania danych i wyprowadzania wyników czytaj a, b, c pisz x, y, z
Skrzynki schematów blokowych Skrzynki operacyjne (zwykle z operacją przypisania) delta := b*b-4*a*c
Skrzynki schematów blokowych Skrzynki warunkowe – selekcje (sprawdzenie wyników) warunek NIE TAK
Etapy rozwiązywania problemów Sformułowanie zadania. Określenie danych wejściowych. Ustalenie celu, czyli wyniku. Określenie metody rozwiązania, czyli wybór algorytmu. Przedstawienie algorytmu w postaci: opisu słownego lub listy kroków, lub schematu blokowego, lub programu w wybranym języku oprogramowania. Analiza poprawności rozwiązania. Testowanie rozwiązania dla różnych danych – ocena efektywności przyjętej metody.
Przykład – przygotowanie kawy DEKLARACJA: kawa, woda, cukier, śmietanka OPIS SŁOWNY: przygotowanie składników zagotowanie wody wsypanie kawy do filiżanki (2 łyżeczki) zalanie kawy gorącą wodą dodanie cukru (2 łyżeczki) dodanie śmietanki pomieszanie
Przykład - przygotowanie kawy LISTA KROKÓW: start przygotuj składniki wsyp kawę do filiżanki zagotuj wodę (2 minuty) jeśli mam gorącą wodę przejdź do kroku 6, jeśli nie przejdź do 4 zalej kawę gorącą wodą dodaj cukier, jeśli nie słodzisz przejdź do kroku 8 dodaj śmietankę, jeśli bez śmietanki przejdź do kroku 9 pomieszaj stop
Przykład – przygotowanie kawy SCHEMAT BLOKOWY start A zagotuj wodę (2 minuty) weź kawę, wodę, cukier, śmietankę Czy woda jest gorąca? NIE wsyp kawę do filiżanki A TAK B
B zalej kawę gorącą wodą Lubisz słodką kawę? TAK wsyp cukier NIE C
C Pijesz ze śmietanką? TAK dodaj śmietankę NIE pomieszaj stop
ĆWICZENIE DLA WAS Sporządź: słowny opis (obiektów i działań) listę kroków schemat blokowy gr. I - smażenia jajecznicy gr. II - gotowania budyniu gr. III - przygotowania się do snu gr. IV - wyjścia w deszczową pogodę
Algorytmy informatyczne Przykład specyfikacji zadania i listy kroków algorytmu Zadanie: Przedstaw w postaci listy kroków algorytm obliczania pola trójkąta. Dane: dowolne liczby rzeczywiste dodatnie: a, h (a – długość boku trójkąta, h – długość wysokości trójkąta opuszczonej na ten bok). Wynik: wartość pola trójkąta: P.
Algorytmy informatyczne Zacznij algorytm. Wprowadź wartość boku a i wysokości h. Zmiennej P przypisz wartość wyrażenia: P := ½ a h. Wyprowadź wynik: P. Zakończ algorytm.
ĆWICZENIE DLA WAS (zapisujemy algorytm w postaci listy kroków) Zapisz specyfikację zadania i listę kroków algorytmu obliczenia: gr. I - pola trapezu gr. II - pola równoległoboku gr. III - pola rombu
ĆWICZENIE DLA WAS (budujemy schemat blokowy) Narysuj i opisz schemat blokowy algorytmu rozwiązującego zadanie: Obliczanie rozwiązań równania kwadratowego ax2 + bx + c = 0, gdy dane są współczynniki a, b, c.
Dziękuję za uwagę