1. Algorytm:

  1. Algorytm to formalny przepis na rozwiązanie określonego problemu lub na osiągnięcie celu

  2. Zdefiniowany zwykle w postaci procedury „krok po kroku”

  3. Ma przeprowadzić z pewnego stanu początkowego do pożądanego stanu końcowego

  1. Nazwa „algorytm”:

  1. Na część uczonego arabskiego z przełomu VIII i IX w.

  2. Uczony nazywał się Abu Abdullah Mohammad bin Musa Al.-Chawarizmi

  3. W Europie używano zniekształconej wersji jego nazwiska Algorytm

  1. Cechy algorytmu:

  1. Stanowi procedurę (ciąg jasno zdefiniowanych działań)

  2. Posiada następujące atrybuty:

- jest ogólny

- jest ograniczony (skończony) w czasie

- jest zdeterminowany

  1. Zapisywanie:

  1. Wykorzystując język naturalny

  2. Wykorzystując język formalny:

- język programowania

- wyrażenie rekurencyjne (wykorzystanie poprzedniego wyniku do obliczenia kolejnego

N=1 liczba naturalna

N=N+1 liczba naturalna

- schemat blokowy:

* graficzny język zapisu algorytmów

* wykorzystuje dwa typy elementów

+ bloki (operatory) określają działania

+ skierowane linie (strzałki) - określają kolejność działań

  1. Zasady:

  1. 0x08 graphic
    Każdy schemat posiada jeden (tylko jeden) blok początkowy

  1. Każdy schemat posiada jeden (tylko jeden) blok końcowy

0x08 graphic

  1. Różne schematy mogą się łączyć poprzez blok podprogramu

0x08 graphic
0x08 graphic
0x08 graphic

  1. Podstawowy blok przetwarzania (od środka wpisujemy rodzaj wykonywanej czynności

0x08 graphic

  1. Blok decyzyjny lub badania warunku (od środka wpisujemy analizowany warunek

0x08 graphic

T N

  1. Bloki:

  1. Każdy blok ma tylko jedno wyjście, za wyjątkiem:

- bloku STOP (nie ma wyjścia)

- bloku decyzyjnego (2 wyjścia)

  1. Każdy blok może mieć dowolnie dużo wejść, za wyjątkiem:

- bloku START (nie ma wejść)

  1. Analiza:

  1. Omówiony zostanie algorytm porządkowania zbioru elementów (sortowanie)

  2. Najpierw przedstawiony będzie opis w języku naturalnym

  3. Na podstawie tego opisu powstanie zapis formalny w postaci schematu blokowego

  1. Jaki jest ciąg działań:

  1. Rozkładamy elementy obok siebie

  2. Zaczynamy analizować od początku

  3. Porównujemy kolejne pary aż do ostatniej:

- gdy para w dobrym porządku, nic nie robimy

- gdy para w złym porządku:

* zamieniamy elementy

* zapamiętujemy fakt zmiany

  1. Gdy osiągniemy ostatni element:

- gdy była zamiana, zaczynamy analizę od początku

- gdy nie było zamiany, elementy są posortowane

  1. 0x08 graphic
    Schemat:

(1)

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
T N

0x08 graphic
P - para w dobrym porządku

O - ostatnia karta

0x08 graphic
Z - zamiana miała miejsce

N T

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
N T

Algorytm cykliczny

(2) Odgadnięcie wybranej karty z talii przy minimalnej liczbie pytań:

- wybór jednego elementu z 52

- zadajemy pytania, na które odpowiedź jest TAK/NIE

- ile musimy zadać pytań

- musimy zadać 6 pytań

Jakie pytania należy zadawać ?

- pytania powinny być mądre

- na mądre pytania nie ma złej odpowiedzi

0x08 graphic

0x08 graphic
T N 0x08 graphic
KO - kolor

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
T N T N

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

Algorytm liniowy

  1. Wnioski:

Język schematów blokowych daje prosty i jednoznaczny opis działań

Przy tworzeniu algorytmów trzeba uważać, aby uwzględnić wszystkie sytuacje

Trzeba zadawać mądre pytania

ALGORYTMY

1

START

STOP

START

P

Zamień

Ustaw Z

Idź do następnej pary

Idź na początek

Usuń Z

Z

O

STOP

START

KO - czarny

KO - kier

KO - pik

KO - trefl

KO - piki

KO - karo

KO - kiery

Wybór karty

STOP