Wstęp do
Wstęp do
interpretacji
interpretacji
algorytmów
algorytmów
Algorytm:
Algorytm:
►
Schemat mechanicznego rozwiązywania
Schemat mechanicznego rozwiązywania
zadania określonego typu.
zadania określonego typu.
►
Zbiór reguł postępowania, dzięki któremu
Zbiór reguł postępowania, dzięki któremu
na podstawie informacji wejściowych
na podstawie informacji wejściowych
(danych) uzyskasz zamierzony efekt w
(danych) uzyskasz zamierzony efekt w
postaci oczekiwanych wyników.
postaci oczekiwanych wyników.
►
Sposób rozwiązywania zadania
Sposób rozwiązywania zadania
(problemu) z wykorzystaniem narzędzi
(problemu) z wykorzystaniem narzędzi
informatycznych.
informatycznych.
Cechy dobrego algorytmu
Cechy dobrego algorytmu
►
Poprawność
Poprawność
– algorytm powinien
– algorytm powinien
zwracać prawidłowe wyniki dla
zwracać prawidłowe wyniki dla
każdego zestawu poprawnych danych.
każdego zestawu poprawnych danych.
►
Skończoność
Skończoność
– rozwiązanie zadania
– rozwiązanie zadania
musi być możliwe dla dowolnego
musi być możliwe dla dowolnego
zestawu danych w skończonej liczbie
zestawu danych w skończonej liczbie
kroków.
kroków.
Cechy dobrego algorytmu
Cechy dobrego algorytmu
Dobre algorytmy powinny
Dobre algorytmy powinny
cechować:
cechować:
►
Jednoznaczność –
Jednoznaczność –
algorytm
algorytm
powinien zwracać te same wyniki dla
powinien zwracać te same wyniki dla
zestawów takich samych danych
zestawów takich samych danych
wejściowych.
wejściowych.
►
Sprawność
Sprawność
– ta cecha określa, jak
– ta cecha określa, jak
zachowuje się algorytm zarówno pod
zachowuje się algorytm zarówno pod
względem szybkości działania, jak
względem szybkości działania, jak
i optymalnego wykorzystania zasobów
i optymalnego wykorzystania zasobów
komputera, w szczególności jego
komputera, w szczególności jego
pamięci operacyjnej.
pamięci operacyjnej.
Cechy dobrego algorytmu
Cechy dobrego algorytmu
Lista kroków
Lista kroków
najprostszy, a jednocześnie
najprostszy, a jednocześnie
najbardziej naturalny sposób
najbardziej naturalny sposób
zapisu algorytmu
zapisu algorytmu
Przykład listy kroków:
Przykład listy kroków:
Krok 1: Wczytaj współczynniki
Krok 1: Wczytaj współczynniki
a
a
,
,
b
b
,
,
c
c
równania.
równania.
Krok 2: Jeśli
Krok 2: Jeśli
a
a
= 0, pisz komentarz: „To nie jest
= 0, pisz komentarz: „To nie jest
równanie kwadratowe” i przejdź do kroku 7.
równanie kwadratowe” i przejdź do kroku 7.
Krok 3: Oblicz wyróżnik (
Krok 3: Oblicz wyróżnik (
delta)
delta)
według wzoru:
według wzoru:
=
=
b
b
2
2
– 4
– 4
ac
ac
.
.
Krok 4: Jeśli
Krok 4: Jeśli
> 0, oblicz
> 0, oblicz
x
x
1
1
oraz
oraz
x
x
2
2
i zapisz ich
i zapisz ich
wartości.
wartości.
Krok 5: Jeśli
Krok 5: Jeśli
= 0, oblicz
= 0, oblicz
x
x
i zapisz jego wartość.
i zapisz jego wartość.
Krok 6: Jeśli
Krok 6: Jeśli
< 0, pisz komentarz „Brak rozwiązań
< 0, pisz komentarz „Brak rozwiązań
w zbiorze liczb rzeczywistych”.
w zbiorze liczb rzeczywistych”.
Krok 7: Koniec.
Krok 7: Koniec.
Specyfikacja problemu
Specyfikacja problemu
algorytmicznego:
algorytmicznego:
►
Opis zmiennych, których zadaniem jest
Opis zmiennych, których zadaniem jest
przechowywanie wartości, m. in.
przechowywanie wartości, m. in.
liczbowych logicznych bądź
liczbowych logicznych bądź
tekstowych.
tekstowych.
Schemat blokowy
Schemat blokowy
(siec działań):
(siec działań):
►
Graficzny sposób zapisu algorytmu,
Graficzny sposób zapisu algorytmu,
gdzie za pomocą ściśle określonych
gdzie za pomocą ściśle określonych
figur geometrycznych, powiązanych
figur geometrycznych, powiązanych
trwale z określonymi typami instrukcji
trwale z określonymi typami instrukcji
oraz połączeń, można czytelnie
oraz połączeń, można czytelnie
zilustrować relacje między elementami
zilustrować relacje między elementami
algorytmu.
algorytmu.
Zbiór symboli graficznych
Zbiór symboli graficznych
stosowanych w sieciach
stosowanych w sieciach
działań:
działań:
►
Początek
Początek
oznaczenie miejsca
oznaczenie miejsca
rozpoczęcia
rozpoczęcia
działania algorytmu
działania algorytmu
Zbiór symboli graficznych
Zbiór symboli graficznych
stosowanych w sieciach
stosowanych w sieciach
działań:
działań:
►
Koniec
Koniec
oznaczenie miejsca
oznaczenie miejsca
zakończenia
zakończenia
działania algorytmu
działania algorytmu
Zbiór symboli graficznych
Zbiór symboli graficznych
stosowanych w sieciach
stosowanych w sieciach
działań:
działań:
►
Wejście-
Wejście-
wyjście
wyjście
wprowadzanie lub
wprowadzanie lub
wyprowadzanie
wyprowadzanie
danych
danych
Zbiór symboli graficznych
Zbiór symboli graficznych
stosowanych w sieciach
stosowanych w sieciach
działań:
działań:
►
Przetwarzanie
Przetwarzanie
operacja, w wyniku
operacja, w wyniku
której zmienia się
której zmienia się
wartość informacji
wartość informacji
Zbiór symboli graficznych
Zbiór symboli graficznych
stosowanych w sieciach
stosowanych w sieciach
działań:
działań:
►
Decyzja
Decyzja
operacja
operacja
umożliwiająca wybór
umożliwiająca wybór
jednej z
jednej z
alternatywnych dróg
alternatywnych dróg
działania
działania
Zbiór symboli graficznych
Zbiór symboli graficznych
stosowanych w sieciach
stosowanych w sieciach
działań:
działań:
►
Droga
Droga
przepływu
przepływu
danych we
danych we
wskazanym
wskazanym
kierunku
kierunku
wskazanie kierunku
wskazanie kierunku
przepływu danych
przepływu danych
Zbiór symboli graficznych
Zbiór symboli graficznych
stosowanych w sieciach
stosowanych w sieciach
działań:
działań:
►
Łączenie
Łączenie
łączenie dróg
łączenie dróg
przepływu danych
przepływu danych
Zbiór symboli graficznych
Zbiór symboli graficznych
stosowanych w sieciach
stosowanych w sieciach
działań:
działań:
►
Skrzyżowanie
Skrzyżowanie
skrzyżowania dróg
skrzyżowania dróg
przepływu danych
przepływu danych
bez powiązania
bez powiązania
między nimi
między nimi
►
w schemacie blokowym może
w schemacie blokowym może
znajdować się tylko jeden blok
znajdować się tylko jeden blok
oznaczający początek i jeden blok
oznaczający początek i jeden blok
oznaczający koniec działania algorytmu;
oznaczający koniec działania algorytmu;
►
z każdego bloku powinna istnieć droga
z każdego bloku powinna istnieć droga
prowadząca do bloku końcowego;
prowadząca do bloku końcowego;
►
z każdego bloku powinna istnieć droga
z każdego bloku powinna istnieć droga
prowadząca do bloku oznaczającego
prowadząca do bloku oznaczającego
początek algorytmu;
początek algorytmu;
Zasady projektowania
Zasady projektowania
schematów blokowych:
schematów blokowych:
Zasady projektowania
Zasady projektowania
schematów blokowych:
schematów blokowych:
►
wszystkie bloki powinny mieć odpowiednią
wszystkie bloki powinny mieć odpowiednią
liczbę wejść i wyjść;
liczbę wejść i wyjść;
►
każdej czynności musi być przyporządkowany
każdej czynności musi być przyporządkowany
blok opisany ściśle określoną figurą
blok opisany ściśle określoną figurą
geometryczną;
geometryczną;
►
wewnątrz każdego bloku należy umieścić
wewnątrz każdego bloku należy umieścić
definicję czynności realizowaną w trakcie
definicję czynności realizowaną w trakcie
działania algorytmu;
działania algorytmu;
►
każda z linii wyznaczających relacje między
każda z linii wyznaczających relacje między
blokami powinna mieć początek na bloku, a
blokami powinna mieć początek na bloku, a
koniec na innym bloku lub linii, z którą się łączy;
koniec na innym bloku lub linii, z którą się łączy;
Pętla:
Pętla:
►
Umożliwia wielokrotne wykonywanie
Umożliwia wielokrotne wykonywanie
dla różnych danych takich samych
dla różnych danych takich samych
czynności
czynności
Przykład
Przykład
pętli:
pętli:
Pętle zagnieżdżone:
Pętle zagnieżdżone:
►
Są to pętle realizowane wewnątrz
Są to pętle realizowane wewnątrz
innej pętli
innej pętli
Przykład pętli
Przykład pętli
zagnieżdżonyc
zagnieżdżonyc
h:
h: