Transcript algorytmika

algorytmika
1
Od problemu do programu
problem
wy
bó
r
algorytm
za
pis
program
2
Zależność między programem a
algorytmem
komputer
wy
ko
nuj
e
Program
komputerowy
rea
lizu
je
algorytm
3
Definicje
• Algorytm to uporządkowany i uściślony sposób
rozwiązywania problemu, zawierający
szczegółowy opis wykonywanych czynności
• Program komputerowy to logicznie
uporządkowany ciąg instrukcji języka
programowania, realizujący algorytm
• Specyfikacja zadania – szczegółowy opis
zadania, w którym wymieniane są dane
wejściowe i wyniki oraz warunki jakie muszą
spełniać, określa się więc związek między
danymi a wynikami
4
Definicje
• Algorytmy, które wykonują działania
matematyczne na danych liczbowych,
nazywamy algorytmami numerycznymi.
• Algorytmika, to dział informatyki zajmujący
się różnymi aspektami tworzenia i
analizowania algorytmów
5
Etapy konstruowania algorytmu:
• sformułowanie zadania – ustalamy jaki problem
ma rozwiązać algorytm;
• określenie danych wejściowych, ich typu;
• określenie wyniku i sposobu jego prezentacji;
• ustalenie metody wykonania zadania;
• zapisanie algorytmu za pomocą wybranej
metody;
• analiza poprawności rozwiązania;
• testowanie rozwiązania dla różnych danych;
• ocena skuteczności algorytmu;
6
Cechy dobrego algorytmu
• Poprawność- algorytm powinien zwracać
prawidłowe wyniki dla każdego zestawu
poprawnych danych.
• Skończoność- rozwiązanie zadania musi być
możliwe dla dowolnego zestawu danych w
skończonej liczbie kroków.
• Jednoznaczność- algorytm powinien zwracać te
same wyniki dla zestawu takich samych danych
wejściowych.
• Sprawność- szybkość działania i optymalne
wykorzystanie zasobów komputera
7
Sposoby zapisu, prezentacji
algorytmów
•
•
•
•
•
•
•
wypowiedź ustna
lista kroków
pseudojęzyk (pseudokod)
schemat blokowy
drzewo algorytmu
prezentacja w programach użytkowych
zapis w języku programowania
8
Specyfikacja zadania
• Problem: oblicz średnia arytmetyczna trzech
dowolnych liczb rzeczywistych.
• Dane: trzy dowolne liczby rzeczywiste A, B, C
• Wynik: wartość średniej arytmetycznej liczb
A, B, C, równa SR
9
Algorytm w postaci listy kroków - oblicza średnią
arytmetyczną trzech dowolnych liczb rzeczywistych
•
•
1.
2.
3.
4.
5.
6.
Dane: dowolne liczby rzeczywiste A, B, C
Wynik: wartość średniej arytmetycznej liczb A, B, C równa SR
Zacznij algorytm
Wprowadź wartość trzech liczb A, B, C
Zmiennej S przypisz wartość wyrażenia a+b+c -> S:=A+B+C
Zmiennej SR przypisz wartość wyrażenia s/3 -> SR:=S/3
Wyprowadź wynik: SR
Zakończ algorytm
10
Graficzna prezentacja algorytmu schemat blokowy
11
Graficzna prezentacja algorytmu schemat blokowy
12
Zasady przedstawiania algorytmów w
postaci schematu blokowego
Ogólne zasady budowania schematów blokowych nie zależą od kształtu
tworzących je bloków ani od narzędzi stosowanych do ich konstrukcji.
1. Operacje algorytmu należy umieszczać w odpowiednich blokach.
2. Każdy schemat blokowy ma jeden blok startowy, natomiast bloków
zakończenia algorytmu może być kilka.
3. Wszystkie bloki muszą być ze sobą połączone (nie może być „przerw" w
schemacie). Każde połączenie jest zaczepione do danego bloku i
dochodzi do następnego bloku lub innego połączenia.
4. Kolejność wykonywania operacji wyznaczają połączenia między blokami.
5. Do każdego bloku wchodzi jedno połączenie (oprócz bloku początku) i
jedno wychodzi (oprócz bloku warunku, z którego wychodzą dwa
połączenia, oraz bloku zakończenia algorytmu, z którego nie wychodzi już
żadne połączenie).
13
Algorytm obliczania średniej arytmetycznej
trzech dowolnych liczb rzeczywistych.
14
Przykład algorytmu liniowego
15
Algorytm liniowy, algorytm z
warunkami
• Algorytm liniowy realizuje jeden ciąg działań,
czynności wykonywane są po kolei
• W algorytmie z warunkami może wystąpić
kilka alternatywnych ciągów działań. Wybór
jednego z nich zależy od spełnienia (lub
niespełnienia) warunku
16