Algorytmy

Transkrypt

Algorytmy
wprowadzenie
Co to jest algorytm?
• przepis prowadzący do rozwiązania
zadania, problemu,
– w przepisie tym podaje się opis czynności,
które trzeba wykonać, oraz dane, dla których
algorytm będzie określony.
Co w takim przepisie moŜe się
znaleźć?
• moŜe być to np. przypisanie zmiennej
określonej wartości (np. za x podstaw 3),
• wyświetlenie w danym momencie wyniku
obliczeń,
• pobranie danych z dostępnej bazy
danych.
• Mówimy, Ŝe podajemy instrukcje lub Ŝe
będzie wykonana operacja.
• dane (stałe, zmienne, parametry), które są
przetwarzane za pomocą instrukcji,
nazywamy obiektami.
– wyróŜnia się wiele obiektów - mogą to być
liczby naturalne, rzeczywiste, znaki, słowa.
• Rozwiązanie dowolnego problemu polega
na wykonaniu w określonej kolejności akcji
na obiektach.
• Zbiór tych akcji nazywamy algorytmem.
Jakie mogą być rodzaje
algorytmów?
•
•
•
iteracyjne - rodzaj algorytmu i programu,
w których wielokrotnie wykonuje się pewne
instrukcje, dopóki nie zostanie spełniony
określony warunek,
rekurencyjne - takie procedury, które
w swojej definicji posiadają wywołanie
samej siebie,
sekwencyjne - instrukcje wykonywane są
w porządku, w jakim zostały wprowadzone.
W jaki sposób moŜna
przedstawić algorytm?
• opis słowny, np.
– po lekcjach pójdę do kiosku i kupię gazetę,
– podyktowanie przez telefon przepisu na
zaparzenie herbaty,
– wyjaśnianie koledze, jak naleŜy rozwiązać
zadanie z matematyki.
• widoczna kolejność przewidywalnych
działań (opisy algorytmiczne).
W jaki sposób moŜna
przedstawić algorytm – c.d.?
• zapis algorytmu za pomocą schematu
blokowego.
– tzw. skrzynki - graficzny sposób
przedstawienia czynności wykonywanych
przez komputer.
– skrzynki te łączone są za pomocą strzałek
(kolejność wykonywania akcji).
Skrzynki START i STOP
START
STOP
•wskazują początek i koniec kaŜdego
algorytmu.
•ze skrzynki START wychodzi tylko
jedna droga,
•do skrzynki STOP wchodzi co najmniej
jedno połączenie.
skrzynka instrukcyjna
INSTRUKCJA
•w skrzynce instrukcyjnej umieszcza się
polecenia do wykonania (instrukcje)
•podstawienie, obliczenie wprowadzenie
wartości.
Skrzynka warunkowa
T
WARUNEK
N
•w skrzynce warunkowej umieszcza się warunek, który
decyduje o wyborze dalszej drogi postępowania,
•ze skrzynki wychodzą dwa połączenia:
•TAK (wybierane, gdy warunek jest spełniony),
•NIE (gdy warunek nie jest spełniony).
Skrzynka wejścia / wyjścia
WE / WY
•w skrzynce wejścia/wyjścia umieszcza się
wprowadzane dane lub wyprowadzane wyniki,
•ze skrzynki wychodzi tylko jedno połączenie.
Przykład 1
„chcę wyjść z domu i w zaleŜności
od pogody wezmę parasol lub nie”
Opis słowny:
– przed wyjściem z domu sprawdzam jaka jest
pogoda: jeŜeli pada, zabieram parasol i wychodzę,
jeśli nie pada, wychodzę.
Opis za pomocą schematu blokowego:
skrzynka warunkowa (tok
dalszego postępowania zaleŜy od
dokonanego wyboru)
Przykład 2
„przeczytaj wiersz 3 razy”
Opis słowny:
– START
– Przeczytaj wiersz pierwszy raz.
– Przeczytaj wiersz drugi raz.
– Przeczytaj wiersz trzeci raz.
– STOP
Opis za pomocą schematu blokowego:
A
B
Przykład 3:
„Dopóki jest czerwone światło dla
pieszych, stój i czekaj”
Opis słowny działania algorytmu:
•
START
Stój.
•
Czy świeci się czerwone światło na przejściu dla
pieszych?
a) jeśli tak, przejdź do kroku 1,
b) jeśli nie, przejdź do kroku 3.
•
MoŜesz przejść przez ulicę, zachowując ostroŜność.
STOP
Opis za pomocą schematu blokowego:
Zadania:
1. Twoim zadaniem będzie znalezienie
przykładów zachowań algorytmicznych
w Ŝyciu codziennym, które moŜna
zapisać jako iteracje.
2. Zbuduj algorytm, za pomocą, którego
moŜna obliczyć drugą i trzecią potęgę
danej liczby.
rozwiązanie
Rozwiązanie:
• BUDOWA ALGORYTMU:
START
• - podaj liczbę a,
- oblicz kwadrat liczby a,
- oblicz sześcian liczby a,
- podaj wartość kwadratu liczby a,
- podaj sześcian liczby a.
• STOP
powrót
Problemy do samodzielnego
rozwiązania:
• Na podstawie zadania 2 zbuduj algorytm obliczający
kolejne potęgi podanej liczby (np. czwartą i piątą).
• Zapisz algorytm opisujący postępowanie przy
poszukiwaniu pomyślanej liczby (z podanego zakresu
w moŜliwie najmniejszej liczbie prób).
• Zapisz algorytm obliczający sumę pięciu liczb.
Problemy do samodzielnego
rozwiązania c.d.:
• Zapisz algorytm obliczania średniej z pięciu liczb.
• Zapisz algorytm obliczania średniej ocen ze świadectwa
szkolnego.
• Podaj algorytm obliczania pola figur płaskich:
a) kwadratu,
b) prostokąta,
c) dowolnego trójkąta,
d) trapezu,