You are on page 1of 20

Pojęcie algorytmu

1
Pojęcie algorytmu
 Codziennie wykonując jakieś zadania
często nie zamyślamy się w jakiej
kolejności i jakie zadania wykonujemy.
 Zastanawiamy się nad tym dopiero, gdy
zachodzi potrzeba polecić jakieś zadanie
innej osobie. Formujemy spis poleceń i
wystawiamy ich kolejność czyli tworzymy
 Algorytm – jest to ciąg wskazanych zadań,
które mają być wykonane, aby otrzymać
oczekiwany rezultat.
2
Przykład
Najczęściej rano:
1. Pobudka.
2. Gimnastyka.
3. Umyć się.
4. Ubrać się.
5. Zjeść śniadanie.
6. Wyczyścić zęby.
7. Iść do szkoły.
 Konsekwetne porządkowanie poleceń w
zasadzie i jest algorytmem.

3
Pojęcie algorytmu
 Algorytm – są to zrozumiałe i dokładne
polecenia, jak i w jakiej kolejności
wykonać ustalone działania, aby osiągnąć
wyznaczony cel lub rozwiązać konkretne
zadanie.
 Inaczej algorytm – to zbiór prawideł, które
wskazują, jak z jednych danych otrzymać
inne.
 Działania opisane przez algorytm są
przeznaczone wykonawcom.
4
Zadanie z VIII wieku.
Człowiek chce przewieźć na drugi brzeg rzeki
owcę, kapustę i wilka. Są ustalone takie zasady:
 Do łódki mieści się tylko człowiek i z nim - tylko
owca, albo kapusta albo wilk.
 Wilk nie może zostać sam z owcą;
 Owca nie może zostać sama z kapustą;
 W obecności człowieka mogą być wszyscy razem.

Jak człowiek przewiózł wszystkich na drugi brzeg


rzeki?

5
6
Historia algorytmu
 Pojęcie algorytmu jest znane już przed
tysiącem lat. Słowo “algorytm” pochodzi
od IX w. arabskiego matematika ir
astronoma Mohamedo ibn Musos al
Chorezmio (po łacinie Algorithmi).
 Dość długo pojęcie algorytmu używali
tylko matematycy, dlatego często te
pojęcie kojarzy się z wykonywaniem zadań
matematycznych.
 Dopiero w XX w. powstała nowa
dyscyplina matematyczna – teoria 7

algorytmów, kóra analizowałą algorytmy.


Sito Eratostena

8
Algorytmy w informatyce
 Po wynalezieniu komputera, algorytm stał
się bardziej istotny.
 Spotykamy się z nimi przy automatyzacji
pracy człowieka. Jeżeli możemy
kategorycznie określić jakieś zadanie
konkretnym algorytmem, więc można
polecić wykonanie takiego zadania
maszynie lub robotu.

9
Algorytmy w informatyce
 Bardzo ważne znaczenie ma algorytm w
informatyce. Przypomnijmy, że
informatyka – to nauka o przekazywaniu,
przechowywaniu a szczegóglnie o
przetwarzaniu informacji przy użyciu
komputera.
 Jak przetwarzać informację? Jak wykonać
działania z informacją (danymi)?
 Dlatego są tworzone zasady (prawidła),
nazywane algorytmami.
10
Rodzaje danych

Dane
Dane końcowe
początkowe ALGORYTM
(wyniki)
(argumenty)

11
Rodzaje danych
 Dane znane przed wykonaniem algorytmu
nazywane są danymi początkowymi lub
argumentami.
 Dane, które wynikają z wykonania
algorytmu, nazywane są danymi
końcowymi lub wynikami.

12
Przykład(1)
 Na przykład w algorytmie parzenia kawy
danymi początkowymi będą woda i kawa,
a danymi końcowymi będzie filiżanka
zaparzonej kawy.

13
Przykład(2)
 Aby obliczyć długość okręgu, gdy znany
jest jego promień, moglibyśmy użyć
następującego algorytmu.
◼ Zaznaczyć promień literką R.
◼ Promień R pomnożyć na liczbę  ir otrzymany
iloczyn zaznaczyć literką C: C=R.
◼ Przemnożyć otrzymany iloczyn przez 2, wynik
– długość okręgu – zaznaczyć literką L: L=2C.

14
Rodzaje danych
 Algorytm może również zawierać takie
dane, które nie są ani argumentami, ani
wynikami. Takie dane nazywane są
danymi dodatkowymi lub pośrednimi.
W algorytmie obliczania długości okręgu
danymi pośrednimi jest C.
 Liczba  jest znaną stałą wielkością, jej
wartość nigdy się nie zmienia. Takie dane
nazywane są stałymi (konstanty).

15
Własności algorytmu
 DYSKRETNOŚĆ. Ostateczna kolejność kroków. Dopiero
po wykonaniu jednego kroku przechodzi się do następnego.
 ZROZUMIAŁOŚĆ. Wszystkie działania opisane przez
algorytm muszą być jednoznacznie zrozumiane przez każdego
wykonawcę.
 WYDAJNOŚĆ. Po wykonaniu skończonej liczby kroków
algorytmu uzyskano wynik. Jednym z możliwych wyników jest
brak rozwiązania.
 SKOŃCZONOŚĆ. Wynik otrzymujemy po wykonaniu
skończonej liczby kroków algorytmu.
 UNIWERSALNOŚĆ. Opracowany algorytm nadaje się
do rozwiązywania wszystkich tego typu problemów: dla każdego
zestawu danych początkowych uzyskuje się poprawny wynik.16
Co decyduje o strukturze programu?
Język programowania.
 PROGRAM. Algorytm napisany w jakimś języku
programowania.
 PROGRAMOWANIE STRUKTURALNE.
Technologia programowania polegająca na
podziale zadania na części, gdzie każda część jest
programowana jako osobne zadanie.
 ŚRODOWISKO PROGRAMOWANIA. Zestaw
narzędzi sprzętowych i programowych do
opracowywania nowych narzędzi programowych.
 KOMPILATOR. Program, który tłumaczy
napisany tekst programu na język czytelny dla
komputera. Jeśli zostaną znalezione błędy,
tłumaczenie jest zatrzymywane. 17
Etapy planu rozwoju programu (1)
1. Analiza danych początkowych i
wyników.
◼ Wyjaśnia się, ile jest danych początkowych i
wyników, jakie są ich rodzaje, jak je
prezentować.
2. Pomysł na rozwiązanie problemu.
◼ Wymyśla się sposób rozwiązania problemu.
Sprawdza się, czy jest poprawny, rozumując:
musimy uzyskać poprawne wyniki ze
wszystkich początkowych zbiorów danych.

18
Etapy planu rozwoju programu (2)
3. Wybór zmiennych do
przechowywania danych
początkowych i wyników.
◼ Zakres, struktura, algorytm i implementacja
programu zależą od odpowiednio dobranych
zmiennych.
4. Stworzenie algorytmu.
◼ Realizacja idei rozwiązania problemu.
Najczęściej używane są algorytmy
matematyczne.

19
Etapy planu rozwoju programu (3)
5. Pisanie programu.
◼ Zapisanie stworzonego algorytmu w wybranym
języku programowania.
6. Testowanie.
◼ Wykonanie opracowanego programu z różnymi
początkowymi zestawami danych. Jeśli
program jest poprawny, zawsze powinniśmy
uzyskiwać prawidłowe wyniki.

20

You might also like