WPROWADZENIE DO ALGORYTMÓW Tadeusz Graczyk dla 1i
NA POCZĄTKU JEST PROBLEM…
Komputer umożliwia rozwiązywanie problemów, wykonując programy komputerowe.
ALGORYTM uporządkowany i uściślony sposób rozwiązywania problemu, zawierający szczegółowy opis wykonywanych czynności.
OD PROBLEMU DO PROGRAMU
wyb贸r
zapis
WIĘC…
Wybór algorytmu lub jego sformułowanie powinny być zawsze podporządkowane problemowi, który ma być rozwiązany.
PROGRAM KOMPUTEROWY jest realizacją wybranego wcześniej algorytmu lub wielu algorytmów. Inna definicja logicznie uporządkowany ciąg instrukcji języka programowania realizujący algorytm.
ZALEŻNOŚĆ MIĘDZY PROGRAMEM A ALGORYTMEM
wykonuje
realizuje
DANE I WYNIKI – OKREŚLENIE SPECYFIKACJI PROBLEMU (ZADANIA)
SPECYFIKACJA ZADANIA szczegółowy opis zadania, w którym wymienia się dane wejściowe i wyniki oraz warunki, jakie muszą spełniać, określa się więc związek między danymi a wynikami.
PRZYKŁAD 1
Oblicz wartość bezwzględną dowolnej liczby rzeczywistej.
Dane: dowolna liczba rzeczywista a. Wynik: wartość bezwzględna liczby a równa w.
PRZYKŁAD 2
Uporządkuj rosnąco (od A do Z) zbiór nazwisk i imion uczniów klas pierwszych swojej szkoły.
Dane: nieuporządkowany zbiór nazwisk i imion uczniów klas pierwszych. Wynik: uporządkowany zbiór nazwisk i imion uczniów klas pierwszych.
PRZYKŁAD 3
Sprawdź, czy dany wyraz (ciąg znaków składających się z liter) jest palindromem.
Dane: dowolny wyraz. Wynik: określenie „tak”, jeżeli wyraz jest palindromem, „nie” – w przeciwnym przypadku.
JAK PREZENTUJEMY ALGORYTMY ?
Opis słowny Lista kroków Drzewo algorytmu Schemat blokowy Zapis w postaci programu
OPIS SŁOWNY ALGORYTMU Po wczytaniu danych wejściowych a i b porównaj wprowadzone liczby. Jeżeli a<b, to min=a. Wyprowadź wynik. Jeżeli a>=b, to sprawdź, czy b<a. Jeśli tak, to min=b. Wyprowadź wynik. W przeciwnym wypadku min=a=b. Wyprowadź wynik.
LISTA KROKÓW
Lista kroków to przedstawienie algorytmu w kolejnych punktach (krokach). Każdy punkt takiej listy zawiera opis wykonywanej czynności.
LISTA KROKÓW Dane: Dowolne liczby całkowite a i b. Wyniki: Wartość minimalna: min.
Krok 1: Wprowadź dwie liczby całkowite a i b. Krok 2: Jeżeli a<b, to podstaw min=a, wyprowadź wynik min=a. Przejdź do kroku 5. W przeciwnym wypadku przejdź do kroku 3. Krok 3: Sprawdź czy b<a. Jeśli tak, to podstaw min=b, wyprowadź wynik min=b. Przejdź do kroku 5. W przeciwnym wypadku przejdź do kroku 4. Krok 4: Wyprowadź wynik min=a=b. Przejdź do kroku 5. Krok 5: Zakończ algorytm.
DRZEWO ALGORYTMU
SCHEMAT BLOKOWY
KILKA PRZYKŁADÓW
PRZYKŁAD
Przedstaw w postaci listy kroków algorytm obliczania średniej arytmetycznej trzech dowolnych liczb rzeczywistych.
Dane: dowolne liczby rzeczywiste: a, b, c Wynik: wartość średniej arytmetycznej liczb a, b, c równa Sr.
LISTA KROKÓW 1. 2. 3. 4. 5. 6.
Zacznij algorytm. Wprowadź wartości trzech liczb: a, b, c. Oblicz wartość wyrażenia : S:=a+b+c. Oblicz wartość wyrażenia: Sr:= s/3. Wyprowadź wynik: Sr. Zakończ algorytm.
JESZCZE JEDEN PRZYKŁAD
Przedstaw w postaci listy kroków algorytm obliczania wartości bezwzględnej dowolnej liczby rzeczywistej.
Dane: dowolna liczba rzeczywista: a. Wynik: wartość bezwzględna liczby a równa w.
LISTA KROKÓW 1. 2. 3. 4. 5.
Zacznij algorytm. Wprowadź wartość liczby a. Jeśli a>=0, to w:=a. W przeciwnym wypadku w:=-a. Wyprowadź wynik: w. Zakończ algorytm.
ZADANIA DLA WAS
Przedstaw specyfikację zadania oraz zapisz w postaci listy kroków algorytm obliczania pola trapezu.
Przedstaw specyfikację zadania oraz zapisz w postaci listy kroków algorytm obliczania pola i obwodu prostokąta.
PODSUMUJMY Komputery wykonują programy komputerowe, a programy realizują algorytmy. Algorytm to dokładny przepis podający sposób rozwiązania określonego zadania w skończonej liczbie kroków. Algorytm zapisany w języku programowania jest programem. Algorytm może być prezentowany w postaci: opisu słownego, listy kroków, drzewa, schematu blokowego i programu.
ZADANIA AL-01
Napisz specyfikację zadania i przedstaw w postaci listy kroków algorytm obliczania średniej geometrycznej trzech dowolnych liczb rzeczywistych. Napisz specyfikację zadania i przedstaw w postaci listy kroków algorytm znajdowania p% liczby a. Napisz specyfikację zadania i przedstaw w postaci listy kroków rozwiązanie zadania: jaki procent liczby a stanowi liczba b? Napisz specyfikację zadania i przedstaw w postaci listy kroków algorytm obliczania drogi przebytej w czasie t przez pojazd, poruszający się ze średnią prędkością V.