Rozwiązywanie problemów za pomocą algorytmów

Transkrypt

Rozwiązywanie problemów za pomocą algorytmów
Rozwiązywanie problemów
za pomocą algorytmów
zawartość rozdziału:
4.1.
4.2.
4.3.
4.4.
Co to jest algorytm?
Schemat blokowy algorytmu
Algorytmy liniowe i rozgałęzione
Laboratorium informatyki, czyli
algorytm w komputerze
4.1. Co to jest algorytm?
4.1.1. Wprowadzenie
Większość zadań (problemów), z jakimi się spotykamy, staramy się rozwiązywać według planu czy określonej metody działania. Rozwiązując np. zadanie rachunkowe z fizyki,
postępujemy według określonego przepisu (szablonu). Najpierw zwykle w zeszycie lub na
tablicy wypisujemy te wielkości, które są podane w zadaniu. Następnie zastanawiamy się,
co możemy obliczyć i z jakich zależności (praw) skorzystamy przy tych obliczeniach. Wreszcie przystępujemy do przeprowadzenia obliczeń, po których zakończeniu otrzymujemy
wynik. Z jakiegoś planu działań korzystamy również, gdy np. wybieramy się z kolegami do
kina. Zazwyczaj zanim pójdziemy na seans, podejmujemy decyzję, na jaki film się wybierzemy i do którego kina. Musimy także ustalić, w jaki sposób tam dotrzemy: pieszo, autobusem, a może zawiezie nas tata kolegi?
Niezależnie od przedstawionego rodzaju zadania, przy każdym z nich, aby je rozwiązać czy zrealizować, musimy wiedzieć, co ma być jego wynikiem. Niektóre z zadań, z którymi się spotykamy w szkole, w domu i na ulicy, mogą być wykonane według określonego
przepisu, w określonej liczbie kroków. Co więcej, za każdym razem dają ten sam wynik.
Jeśli wiemy, w jaki sposób np. zaprogramować magnetowid, to wykonując wymagane czynności, w ustalonej kolejności zaprogramujemy go. Przepis, który umożliwia wykonanie zadania w taki sposób, jest nazywany algorytmem.
Algorytm (algorithm) – sposób (w postaci ściśle określonych reguł i metod) na rozwiązanie określonego zadania w skończonej liczbie kroków.
Ilość kroków algorytmu zależy od tego, jak złożony jest problem, którego on dotyczy.
Zawsze jednak liczba tych kroków będzie liczbą skończoną. Poprawnie stworzony algorytm zapewnia uzyskanie oczekiwanego wyniku pod warunkiem, że użyliśmy poprawnych
danych dla konkretnego zadania. Umożliwia uzyskanie tego samego wyniku dla tych samych danych.
Algorytmy mogą pomóc w rozwiązaniu wielu problemów z wielu dziedzin, jednak nie
zawsze. Niektóre z zadań mogą być wykonywane według tego samego planu, ale ich wynik może być odmienny. Na przykład możemy za każdym razem wypełniać kupon totolotka
Rozdział
4
Rozwiązywanie problemów za pomocą algorytmów
4.3.2. Algorytm rozgałęziony
W wielu sytuacjach przy rozwiązywaniu danego problemu konieczne jest sprawdzenie
warunku, na podstawie którego można ocenić, czy np. dane użyte do obliczeń są poprawne. Jeśli rozwiązanie takiego problemu jest przedstawiane za pomocą algorytmu, to także
w nim musi zostać uwzględnione sprawdzanie odpowiedniego warunku. W zależności od
wyniku sprawdzenia warunku wykonywane mogą być różne kroki algorytmu. Algorytmy tego
typu są nazywane algorytmami rozgałęzionymi. Posiadają one zwykle bardziej rozbudowaną strukturę niż algorytmy liniowe. Poniższy przykład przedstawia algorytm obliczania
pierwiastka kwadratowego z liczby nieujemnej.
Przykład 4.3.1. Algorytm obliczania pierwiastka kwadratowego
1. Pierwszym krokiem algorytmu jest wczytanie liczby, której pierwiastek kwadratowy będzie obliczany. Liczba ta będzie reprezentowana przez zmienną Liczba.
2. W następnej kolejności jest sprawdzany warunek, czy liczba jest liczbą ujemną
( Liczba<0). Sprawdzenie tego warunku jest konieczne, ponieważ jak wiemy, nie istnieje pierwiastek z liczby ujemnej.
3. Jeśli wynikiem sprawdzenia warunku jest Tak, to obliczenie pierwiastka jest niemożliwe. Wówczas, zgodnie ze schematem blokowym (rysunek 4.5), następuje podanie informacji o niewłaściwej liczbie i zakończenie działań algorytmu.
4. Jeśli wynikiem sprawdzenia jest Nie, zostaje obliczony pierwiastek kwadratowy z liczby. Jego wartość zostaje przypisana do zmiennej Pierwiastek.
5. Po obliczeniu pierwiastka zostaje podana jego wartość i rozwiązanie zadania dobiega
końca.
Rys. 4.5. Schemat blokowy algorytmu obliczania pierwiastka z przykładu 4.3.1
Rozwiązywanie problemów za pomocą algorytmów
Program ELI rozpoznaje jedynie nazwy funkcji pisane małą literą, tak jak nazwy podane w tabeli
4.4. Pamiętaj o tym, gdy będziesz korzystał z funkcji.
Przykład 4.4.3. Algorytm obliczania pierwiastka kwadratowego
1. W programie ELI otwórz nowy projekt i zapisz go pod nazwą pierw. Planszę projektu
zapisz jako plpierw.
2. Na planszy utwórz konstrukcję algorytmu według rysunku 4.19.
Rys. 4.19. Algorytm z przykładu 4.4.3
3. Teraz wpisz do podanych klocków komentarze i użyj odpowiednich zmiennych:
l Klocek Początek algorytmu – jako treść komunikatu początkowego wpisz. Algo-
rytm obliczania pierwiastka kwadratowego. Aby kontynuowaæ,
naciœnij przycisk OK.
l Klocek Wprowadzenie danej – wpisz tekst Podaj liczbê, której pierwiastek chcesz obliczyæ. Jako zmiennej użyj zmiennej o nazwie Liczba.
l Klocek Sprawdzenie warunku – W oknie Sprawdzenie warunku wpisz następujący
warunek: Liczba<0 (rysunek 4.20).
Rys. 4.20. Okno Sprawdzenie warunku
l Klocek Wyprowadzenie wyniku (z lewej) – Wpisz tekst Nie istnieje pierwiastek z liczby:. W polu wyrażenie wpisz Liczba.
l Klocek Wykonanie obliczeń – Na liście wykonania wpisz następującą instrukcję przypisania: Pierwiastek:=sqrt(Liczba)
l Klocek Wyprowadzenie wyniku (z prawej) – Wpisz tekst Pierwiastek z podanej
liczby wynosi:. W polu Wyrażenie wpisz Pierwiastek.
l Klocek Koniec algorytmu – jako treść komunikatu końcowego wpisz: Wykonywanie
algorytmu zosta³o zakoñczone. Aby kontynuowaæ, naciœnij jeden
z przycisków poni¿ej.
4. Wykonaj symulację działania algorytmu.
5. Zachowaj plik projektu i plik planszy. Wykorzystasz je także w ćwiczeniu 4.4.4.