360 likes | 863 Views
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.
E N D
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.