Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałLudwika Pietraszewski Został zmieniony 11 lat temu
1
Materiały pochodzą z Platformy Edukacyjnej Portalu www.szkolnictwo.pl
Wszelkie treści i zasoby edukacyjne publikowane na łamach Portalu mogą być wykorzystywane przez jego Użytkowników wyłącznie w zakresie własnego użytku osobistego oraz do użytku w szkołach podczas zajęć dydaktycznych. Kopiowanie, wprowadzanie zmian, przesyłanie, publiczne odtwarzanie i wszelkie wykorzystywanie tych treści do celów komercyjnych jest niedozwolone. Plik można dowolnie modernizować na potrzeby własne oraz do wykorzystania w szkołach podczas zajęć dydaktycznych.
2
Iteracja – algorytmy iteracyjne
3
Definicja Iteracja jest jednym z najważniejszych narzędzi zarówno praktycznego, jak i teoretycznego badania problemów liniowych i nieliniowych. Iteracja (z łacińskiego "iteratio", powtarzanie), czyli kolejne przybliżanie, oznacza powtarzanie pewnej wzorcowej czynności lub procesu. Iteracja w tym sensie występuje wtedy, gdy wielokrotnie stosuje się jakiś proces numeryczny - być może bardzo złożony i zawierający wiele przykładów użycia iteracji w węższym sensie - po to, aby stopniowo ulepszać wcześniejsze wyniki.
4
Definicja W informatyce iteracja to czynność powtarzania (najczęściej wielokrotnego) tej samej instrukcji (albo wielu instrukcji) w pętli. Mianem iteracji określa się także operacje wykonywane wewnątrz takiej pętli. W odróżnieniu od rekurencji, która działa "od góry", iteracja do obliczenia n+1-szej wartości wykorzystuje poprzednią, n-tą iterację. Rekurencja dla obliczenia n-tej wartości potrzebuje zejścia aż do pierwszej wartości. Występowanie iteracji jest cechą charakterystyczną wielu algorytmów. W większości języków programowania istnieje co najmniej kilka instrukcji iteracyjnych. Najważniejsze z nich to instrukcje FOR, WHILE i REPEAT (w języku C DO-WHILE).
5
Definicja W obliczeniach iteracyjnych musimy mieć pewność, że:
żaden element zbioru nie został pominięty przez algorytm obliczenia nie będą powtarzać się w nieskończoność Aby zagwarantować spełnienie powyższych warunków należy określić ile elementów zawiera analizowany zbiór – jaka jest jego moc. Można wyróżnić dwie metody określania mocy zbioru: poprzez podanie na początku ile elementów zawiera zbiór poprzez umieszczenie na końcu zbioru dodatkowego wyróżnionego elementu, tzw. wartownika
6
Podział iteracji Iteracje możemy podzielić na dwa rodzaje:
iteracje ograniczone – kiedy wiemy od razu ile razy pewne czynności będą powtarzane. Stosowane są jeżeli zbiór jest określony poprzez podanie jego liczebności. Iteracje te odbywają się według schematu: powtórz operacje A dokładnie n – razy iteracje warunkowe (nieograniczone) – kiedy nie wiemy „z góry” ile razy pewne czynności będą powtarzane. Stosowane są jeżeli określenie końca zbioru odbywa się poprzez wartownika. Schemat według którego odbywają się iteracje wygląda następująco: dopóki spełniony jest warunek Q wykonuj operacje A powtarzaj operacje A, aż zostanie spełniony warunek Q
7
Iteracja ograniczona powtórz operacje A dokładnie n – razy
Poniżej przedstawione zostaną formy zapisu w różnych językach programowania. Pascal FOR n:=w_p TO w_k DO instrukcja C, C++, Java FOR (i:= w_p; i<= w_k; i=i+1) instrukcja Matlab FOR i= w_p:w_k instrukcje END Cechami charakterystycznymi są: instrukcja nie wykona się, gdy w_p > w_k instrukcja jest wykonywana dokładnie w_p – w _k +1 razy Iteracja ograniczona posiada implementacje we wszystkich językach programowania Oznaczenia: warunek początkowy – w_p warunek końcowy – w_k i:=w_p i:=i+1 instrukcja i<=w_k NIE TAK
8
dopóki spełniony jest warunek Q wykonuj operacje A
Iteracje warunkowe dopóki spełniony jest warunek Q wykonuj operacje A Poniżej przedstawione zostaną formy zapisu w różnych językach programowania. Pascal WHILE warunek DO instrukcja C, C++, Java WHILE (warunek) instrukcja DO Instrukcja WHILE (warunek) Matlab WHILE warunek) instrukcje END Cechami charakterystycznymi są: warunek sprawdzany jest na początku* instrukcja może nie wykonać się ani razu* pętla powtarza się gdy warunek jest spełniony (wyjście z pętli w wyniku niespełnienia warunku końcowego) Warunek sprawdzany na końcu; instrukcja wykona się co najmniej jeden raz. Dla tego przypadku inny schemat blokowy niż na rysunku poniżej. * instrukcja () warunek NIE TAK
9
powtarzaj operacje A, aż zostanie spełniony warunek Q
Iteracje warunkowe powtarzaj operacje A, aż zostanie spełniony warunek Q Poniżej przedstawione zostaną formy zapisu w różnych językach programowania. Pascal REPEAT instrukcje UNIL warunek C, C++, Java Brak Matlab Cechami charakterystycznymi są: warunek sprawdzany jest na końcu instrukcje wykonują się co najmniej raz pętla powtarza się gdy warunek jest niespełniony (wyjście z pętli następuje po spełnieniu warunku końcowego) instrukcje warunek NIE TAK
10
Iteracyjne obliczanie silni
Algorytmy, które obliczają silnie liczby naturalnej mogą mieć różną postać. Przedstawione rozwiązanie opiera sie na wykorzystaniu pętli (rozwiązanie iteracyjne). Według matematycznej definicji silnia liczby naturalnej n, oznaczana symbolem n! jest to iloczyn: n! = 1*2*3*4*…*(n-1)*n, dla n>0 i z definicji: 0! = 1 Algorytm obliczania silni liczby naturalnej N Dane: liczba naturalna N Szukane: wartość silni liczby N silnia_N Zmienne pomocnicze: licznik i
11
Iteracyjne obliczanie silni
START Lista kroków K01: Start algorytmu K02:Wczytaj liczbę N K03: Przypisz: silnia_N := 1 oraz i := N K04: Jeśli i ≥ 1 wyświetl wartość: silnia_N (Koniec algorytmu) K05: Przypisz: silnia_N := silnia_N * i K06: Przypisz: i := i – 1 i przejdź do K04 K07: Koniec algorytmu Podaj N silnia_N:=1 i:=1 i≥1 Wyświetl silnia_ N silnia_N := silnia_N * i i := i – 1 STOP
12
Fraktale a iteracje Iteracje mają szerokie zastosowanie przy tworzeniu fraktali. Przykładem mogą być zbiory Julii. W zależności od "punktu startu" możemy w wyniku iteracji otrzymać ciąg, który będzie bądź nieograniczony (jego elementy opuszczą każdy okrąg ze środkiem w centrum układu współrzędnych) bądź też będzie ograniczony (czyli taki, dla którego istnieje okrąg - o środku w centrum układu współrzędnych - jakiego elementy ciągu nigdy nie opuszczą). Zbiory takich "punktów startu" w obu przypadkach nazywa się odpowiednio zbiorem uciekinierów lub zbiorem więźniów. Oba te zbiory są niepuste i dopełniające się na płaszczyźnie zespolonej, zatem istnieje tylko jedna - wspólna - ich granica. Przedstawiony przykład dotyczy zbioru rzędu drugiego (gdyż iterowany został wielomian stopnia drugiego).
13
Systemy pomiarowe jako systemy iteracyjne
Nie zdajemy sobie sprawy z tego że iteracje są wokół nas. Np. odmierzając kawałek materiału, szklankę mleka... Mechanizm pomiaru - mechanizm ustalający w danym stanie dokonywania pomiaru wystąpienie kolejnej jednostki pomiaru. Włączenie mechanizmu pomiaru za każdym razem powiększa na skali pomiaru wynik pomiaru o następną jednostkę. Nie wystąpienie następnej jednostki pomiaru oznacza jego zakończenie. Pomiar jest więc iterowaniem jednostek pomiaru. Złożenie jednostek pomiaru - wynik skończonej ilości niezależnych pomiarów, np. jednostka miary pola powierzchni cm2 = cm*cm, jednostka siły N = kg* m /s. Wielkości są niezależne, gdy nie mogą się wzajemnie określać tak, aby do wyznaczenia którejś jednostki wystarczał pomiar pozostałych jednostek. Zbór niezależnych wielkości wymiarowych wraz z operacjami i relacjami tworzy przestrzeń wymiarową. Jest ona systemem iteracyjnym. Klasa wszystkich izomorficznych podprzestrzeni tej przestrzeni jest iteracją. Wielkości określone przez operacje nazywamy ekstensjonalnymi, a określone przez relacje - intensjonalnymi. We współczesnej fizyce iteracjami w przestrzeniach wymiarowych są liczby rzeczywiste. Złożenie wielkości ekstensjonalnej z intesjonalną jest wielkością energii
14
Projektowanie parkietów, posadzek
Iteracje wykorzystywane są także wykorzystywane do projektowania parkietów czy posadzek. Problem ten, dla przypadku płytek w kształcie wielokątów foremnych, jest już znany od czasów starożtnych. Całą płaszczyznę dzieli się na stykające się w wierzchołkach wielokąty foremne, tak aby w każdym wierzchołku stykały się wszystkie przystające do wybranych wielokąty. Ponieważ wielokąt o n bokach posiada kąt o mierze (n - 2) * 1800/ n, a suma miar wszystkich połączonych w wierzchołku kątów wynosi 3600, stąd przykładowo dla trzech wielokątów (o ilości boków n1, n2, n3) mamy warunek a dla czterech wielokątów (o ilości boków n1, n2, n3 ,n4) Przykładowe projekty parkietów zostaną przedstawione na kolejnych slajdach. Można je zrealizować w edytorach grafiki (np. Power Point).
15
Projektowanie parkietów, posadzek
16
Iteracja a sztuka Iteracja jest także wykorzystywana w sztuce. Wspaniałym przykładem jest twórczość holenderskiego malarza i grafika Mauritsa Cornelisa Eschera (1898 – 1972). Światową sławę zdobył jako autor grafik, w których - często z inspiracje czerpał z matematyki. Formy przestrzenne były ukazywane w sposób sprzeczny z doświadczeniem wzrokowym – w tym celu często wykorzystywał iteracje.
17
Iteracyjne ujęcie liczb pitagorejskich
W tym przykładzie zostanie pokazane w jaki sposób możliwe jest przedstawienie liczb w postaci graficznej. Na kolejnej planszy przedstawione zostaną dwa sposoby budowania liczb wielokątnych. Pierwszy to dodanie ciągu podstawowego (wyjściowego) – od lewej do prawej w każdym wierszu. Zwiększa to liczbę paciorków w każdym boku. Dodanie trójkątów – od góry w dół strony w każdej kolumnie – zwiększa liczbę boków. Po dodaniu żółtych trójkątów otrzymamy większe trójkąty, natomiast po dodaniu zielonych trójkątów otrzymamy kwadraty. W wyniku dołączenia niebieskich trójkątów otrzymamy pięciokąty, fioletowych – sześciokąty – i tak dalej. Możemy otrzymać postaci trójwymiarowe jak np. liczby gwiaździste ośmioramienne.
18
Iteracyjne ujęcie liczb pitagorejskich
19
Iteracyjne ujęcie liczb pitagorejskich
Liczby gwiaździste ośmioramienne
20
Bibliografia Thomas H. Cormen, Leiserson C. E., Rivest R. L.: Wprowadzenie do algorytmów, WNT 2001 Wirth N. : Algorytmy + struktury danych = program, WNT, Warszawa 2002 Sysło M.: Algorytmy, WSiP, Warszawa 1997 Wróblewski P.: Algorytmy, struktury danych i techniki programowania, Wyd. Helion, 2003 J. H. Conway, R. K. Guy, Księga liczb, WNT, Warszawa 1999
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.