Professional Documents
Culture Documents
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.
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
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