Obrazy rekurencyjne. Zastosowanie rekurencji w algorytmice. AUTOR: Martin Śniegoń
|
|
- Krzysztof Borowski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Obrazy rekurencyjne Zastosowanie rekurencji w algorytmice AUTOR: Martin Śniegoń
2 Zdolność procedury/funkcji do wywoływania samej siebie Podstawowa i jedna z najważniejszych technik programistycznych Umożliwia rozkładanie problemów większych na mniejsze, w analogiczny sposób Jasno określone warunki zakończenia funkcji rekurencyjnej Dlaczego rekurencja?
3 Krótszy i bardziej przejrzysty zapis kodu źródłowego na wszystkich etapach rozwoju aplikacji Ułatwione dowodzenie poprawności algorytmu, a także obliczanie złożoności Zminimalizowane ryzyko popełnienia błędu podczas konstruowania algorytmu Zalety rekurencji
4 Ryzyko braku optymalnego rozwiązania problemu algorytmicznego (np. niewłaściwie zastosowana rekurencja znacząco podnosi złożoność algorytmu) Błędy programistyczne podczas określania warunków zakończenia rekurencji Brak wsparcia sprzętowego w typowych językach programistycznych (wyjątkiem są języki funkcyjne typu Haskell, F#) Czy rekurencja ma wady?
5 Zasada zastępowania rekurencji iteracją, gdzie tylko jest to możliwe Wielokrotne wywołanie, a kwestia przepełnienia stosu Brak obliczeń częściowych (problem przechowywania danych) Zmiana środowiska programistycznego celem poprawy wydajności Rozwiązywanie problemów związanych z rekursją
6 Względnie prosty schemat generowania grafiki, a także mniejszy rozmiar obrazu Możliwość ustalenia za pomocą dodatkowej zmiennej dokładności wyświetlanej ilustracji (im większa liczba wywołań funkcji rekurencyjnej, tym dokładniejszy obraz) Łatwe wykrywanie kolizji, a także punktów należących do obrazu Zalety obrazów rekurencyjnych
7 Uzyskiwanie nietypowych, realnych kształtów, figur czy obiektów Niejednolite elementy graficzne Tylko samopodobne, powtarzające się fragmenty Problemy z projektowaniem algorytmów tworzących skomplikowane ilustracje Ograniczenia obrazów tworzonych rekurencyjnie
8 Definicja (brak ścisłego określenia) Zbiór minimum kilku następujących cech: Nietrywialna struktura w dowolnej skali Względnie prosta reguła powstawania (rek.) Samopodobieństwo (niekoniecznie dokładne) Wymiar Hausdorfa > wymiar topograficzny Naturalny wygląd (często poszarpany) Struktura trudna do opisania w geometrii euklidesowej Czym jest fraktal?
9 Atraktory IFS (iterated function system), czyli fraktale generowane za pomocą odpowiednich funkcji rekurencyjnychiterowanych (możliwość określenia ilości kroków do wykonania) Zbiory i funkcje określone na liczbach zespolonych (typowe przykłady to zbiór Julii i Mandelbrota) Powstawanie fraktali
10 Przykładowe fraktale (mat.)
11 Przykładowe fraktale (grafika)
12 Przykładowe fraktale (świat)
13 Konstrukcja W kroku pierwszym ustalamy wymiary (współrzędne wierzchołków trójkąta równobocznego) figury Następnie wyliczamy środki wszystkich boków Trójkąt zbudowany na środkach tych boków kolorujemy na ustaloną barwę Dla pozostałych trzech trójkątów wywołujemy funkcje rekurencyjne Dodatkowa zmienna przekazywana jako parametr określa ilość kroków rekurencji Trójkąt Sierpińskiego
14 Uszczelka Sierpińskiego (ilustracja)
15 Konstrukcja W pierwszym kroku określamy kwadrat i jego wierzchołki za pomocą współrzędnych Kolejno każdy bok dzielimy na 3 równe części, w taki sposób, że środkowy kwadrat jest kolorowany Dla pozostałych 8 kwadratów wywołujemy rekurencyjnie tę samą funkcję podziału i kolorowania W implementacji musimy pamiętać o określeniu liczby wywołań rekursji (często warunki brzegowe są określane wg widoczności obrazu i dopasowywane do rozdzielczości) Dywan Sierpińskiego
16 Dywan Sierpińskiego
17 WZÓR (wymiar fraktalny): Uproszczony model n * s r = 1, gdzie n oznacza liczbę wywołań rekurencyjnych (liczba atraktorów obrazu głównego), s oznacza skalę podobieństwa kolejnego atraktora w stosunku do poprzednika, a r jest szukanym wymiarem Udowodnić można, że wymiar fraktalny dywanu Sierpińskiego wynosi ok. 1,8928 Pole dywanu (a także innych prostych figur, w których wycinane są pewne elementy w sposób regularny) wynosi 0 Dywan Sierpińskiego (obliczenia)
18 Ciekawostkę stanowi również odmienna strategia generowania figur rekurencyjnych, tzw. gra w chaos Polega ona na losowym wybieraniu odpowiednich punktów i łączeniu ich w taki sposób, aby powstał fraktal Trójkąt Sierpińskiego można otrzymać w ten sposób, a początkowe punkty są losowane zamiast definiowane (trójkąt nie musi być równoboczny) Gra w chaos
19 Kluczowym elementem płatku Kocha jest połączenie trzech odcinków (w kolejnych krokach krzywych) w trójkąt równoboczny, który stanowi podstawę płatka (im więcej kroków tym bardziej przypomina płatek śniegu) Każdy krok oznacza zmniejszenie pojedynczego odcinka w skali 1/3 w stosunku do poprzedniego kroku Krzywa i płatek Kocha
20 Krzywa Kocha
21 Chcąc wykonać krzywą Kocha należy zadbać o wykonanie odpowiedniej sekwencji wywołań rekurencyjnych Rysowanie odbywa się w najniższej wywołanej funkcji rekurencyjnej Obroty są wykonywane w każdym wywołaniu rekursywnym Alternatywny sposób generowania płatku Kocha za pomocą trójkątów równobocznych nie stanowi optymalnego rozwiązania Krzywa Kocha - generowanie
22 Kolejne kroki tworzenia krzywej Sierpińskiego Warto zwrócić uwagę na powtarzający się schemat: -Krzywa tworzy zamknięty zbiór punktów na płaszczyźnie - Domknięcia występują zawsze w tych samych miejscach (narożniki: góra po prawej, dół po prawej, dół po lewej, góra po lewej) - Rysowanie odbywa się wg kolejności narożników, które rysowane są tylko w głównym wywołaniu procedury Krzywa Sierpińskiego
23 Warto zwrócić uwagę na 4 kawałki powtarzające się podczas rysowania: Oznaczmy jako A Oznaczmy jako C Oznaczmy jako B Oznaczmy jako D Krzywa Sierpińskiego
24 Figura: An Bn Cn Dn Powyższe strzałki oznaczają domknięcia Elementy An, Bn, Cn i Dn oznaczają odpowiednio fragmenty rysunku wykonane z dokładnością do n kroków: górnej, prawej, dolnej i lewej części Należy zdefiniować rekurencyjnie An, Bn, Cn i Dn, aby krzywa mogła powstać Krzywa Sierpińskiego (algorytm)
25 An = An-1 Bn-1 Dn-1 An-1 Bn = Bn-1 Cn-1 An-1 Bn-1 Cn = Cn-1 Dn-1 Bn-1 Cn-1 Dn = Dn-1 An-1 Cn-1 Dn-1 Zauważyć należy, iż długość odcinków, z których składa się krzywa określamy na początku lub uzależniamy od liczby kroków rekurencji Rysowanie zaczyna się od górnej lewej strony, a nie od środka! Krzywa Sierpińskiego (def. rek.)
26 Krzywa Hilberta
27 Krzywa składa się z 4 fragmentów (niedomkniętych kwadratów, odpowiednio obróconych względem pustego boku) Aby otrzymać kolejny krok rekurencyjny należy skleić powyższe 4 fragmenty w 3 miejscach (łączenie następuje zawsze po lewej stronie, u góry i po prawej) Ciekawostkę stanowi fakt, że krzywa Hilberta wypełnia całą powierzchnię po n- krokach Krzywa Hilberta (budowa)
28 Krzywa Hilberta (obserwacje)
29 Krzywa Hilberta (schemat)
30 Zgodnie z ustalonym porządkiem łączenia (można wybrać inną kolejność i zmodyfikować nieznacznie algorytm): Zaczynamy rysowanie figury Cn, po którym następuje łączenie w górę z kolejnym elementem krzywej Bn, po którym następuje łączenie w prawo Bn, po którym następuje łączenie w dół An, które kończy rysowanie W kolejnych krokach rekurencyjnych dochodzi element Dn (wstawiany w odpowiednie miejsce, schemat powstał w oparciu 3 kroki r.) Krzywa Hilberta (rysowanie)
31 Program KrzyweHilberta () Const n = 5; h = 100; Var i, h, x, y, x0, y0; procedure A(i) if i>0 then begin D(i-1); x:=x - h; A(i-1); y:=y - h; A(i-1); x:=x + h; B(i-1); end procedure B(i) if i>0 then begin C(i-1); y:=y + h; B(i-1); x:=x + h; B(i-1); y:=y h; A(i-1); end procedure C(i) if i>0 then begin B(i-1); x:=x + h; C(i-1); y:=y + h; C(i-1); x:=x h; D(i-1); end procedure D(i) if i>0 then begin A(i-1); y:=y - h; D(i-1); x:=x - h; D(i-1); y:=y + h; C(i-1); end begin i := 0; h:= h0; x0 := h/2; y0 := x0; repeat i := i + 1; h := h/2; x0 := x0 - h/2; y0 := y0 - h/2; x := x0; y := y0; UstawPioro(x,y); B(i); until i = n; end Krzywa Hilberta (kod źródłowy)
32 W kodzie źródłowym rysujemy n- początkowych krzywych Hilberta Poza zaprogramowaniem wywołań rekurencyjnych, należy zwrócić uwagę na początek rysowania (ustawienie kursora w początkowym położeniu, aby w trakcie rysowania nie wyjść poza ustalony obszar) Funkcja UstawPioro rozpoczyna rysowanie, a pisak porusza się zgodnie z wytycznymi w poszczególnych procedurach po osi X i Y Krzywa Hilberta (komentarz)
33 Istnieją alternatywne algorytmy tworzenia tych samych lub podobnych fraktali (najczęściej wybiera się optymalny) Z definicji fraktale są nieskończone, ale na potrzeby algorytmów zawsze określa się moment stopu (określone n, albo rozmiar najmniejszej części) Złożoność obliczeniowa podanych przykładów jest rzędu wykładniczego (z tego powodu nie wykonuje się bardzo wielu kroków rekurencyjnych) Podsumowanie
34 W wielu algorytmach tworzących fraktale wykorzystuje się metodę gry w chaos Powyższa technika pozwala na szersze zastosowanie iteracji i otrzymanie zadowalających rezultatów przy stosunkowo niewielkiej liczbie obliczeń (zalecane zwłaszcza dla bardzo rozbudowanych i nietypowych fraktali) Większość fraktali ma wymiar podobieństwa (fraktalny) z przedziału (1;2). Wymiar ten jest zawsze >0 Podsumowanie c.d.
35 Podziękowania DZIĘKUJĘ ZA UWAGĘ!
FRAKTALE I SAMOPODOBIEŃSTWO
FRAKTALE I SAMOPODOBIEŃSTWO Mariusz Gromada marzec 2003 mariusz.gromada@wp.pl http://multifraktal.net 1 Wstęp Fraktalem nazywamy każdy zbiór, dla którego wymiar Hausdorffa-Besicovitcha (tzw. wymiar fraktalny)
Projekt współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Społecznego
Wstęp Rekurencja jest to wywołanie podprogramu (procedury) samej przez siebie. W logo zapis rekurencji będzie wyglądał następująco: oto nazwa_funkcji czynności_wykonywane_przez_procedurę nazwa_funkcji
Zadania domowe. Ćwiczenie 2. Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL
Zadania domowe Ćwiczenie 2 Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL Zadanie 2.1 Fraktal plazmowy (Plasma fractal) Kwadrat należy pokryć prostokątną siatką 2 n
Fraktale deterministyczne i stochastyczne. Katarzyna Weron Katedra Fizyki Teoretycznej
Fraktale deterministyczne i stochastyczne Katarzyna Weron Katedra Fizyki Teoretycznej Szare i Zielone Scena z Fausta Goethego (1749-1832), Mefistofeles do doktora (2038-2039): Wszelka, mój bracie, teoria
samopodobnym nieskończenie subtelny
Fraktale Co to jest fraktal? Według definicji potocznej fraktal jest obiektem samopodobnym tzn. takim, którego części są podobne do całości lub nieskończenie subtelny czyli taki, który ukazuje subtelne
Modele i symulacje - Scratch i Excel
Instytut Matematyki Uniwersytet Gdański Literatura P. Szlagowski, Programowanie wizualne scratch 2.0 SCRATCH jest językiem programowania, w którym możesz stworzyć własne interaktywne historyjki, animacje,
Grafika Komputerowa Materiały Laboratoryjne
Grafika Komputerowa Materiały Laboratoryjne Laboratorium 6 Processing c.d. Wstęp Laboratorium 6 poszerza zagadnienie generowania i przetwarzania obrazów z wykorzystaniem języka Processing 2, dedykowanego
Gra w chaos i sekwencje DNA
Jest to tekst związany z odczytem wygłoszonym na XLIX Szkole Matematyki Poglądowej, Wyjątki, Nadarzyn, sierpień 2012. Gra w chaos i sekwencje DNA Magdalena NOWAK, Kielce Nasza opowieść rozgrywa się w krainie
Systemy Lindenmayera (L-systemy)
Systemy Lindenmayera (L-systemy) L-systemy Zastosowania: Generowanie fraktali Modelowanie roślin L-systemy Fraktale (łac. fractus złamany, cząstkowy) cechy samopodobieństwa Krzywa Kocha (płatek śniegu)
FRAKTALE. nie tworzą się z przypadku. Są tworzone naturalnie przez otaczającą nas przyrodę, bądź za pomocą
Małgorzata Mielniczuk FRAKTALE Poniższy referat będzie traktować o fraktalach, majestatycznych wzorach, których kręte linie nie tworzą się z przypadku. Są tworzone naturalnie przez otaczającą nas przyrodę,
INTERAKTYWNA KOMUNIKACJA WIZUALNA. Systemy Lindenmayera (L-systemy)
INTERAKTYWNA KOMUNIKACJA WIZUALNA Systemy Lindenmayera () Zastosowania: Generowanie fraktali Modelowanie roślin Fraktale (łac. fractus złamany, cząstkowy) cechy samopodobieństwa Krzywa Kocha (płatek śniegu)
Rekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów.
Rekurencja Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów. Zgodnie ze znaczeniem informatycznym algorytm rekurencyjny to taki który korzysta z samego
Pracę wykonali: -Bryjak Mateusz -Chudziak Paweł -Palacz Angelika -Skorwider Dariusz
Pracę wykonali: -Bryjak Mateusz -Chudziak Paweł -Palacz Angelika -Skorwider Dariusz Symetria osiowa- przekształcenie płaszczyzny względem pewnej prostej, jest ona osią symetrii. Każdemu punktowi A przyporządkowujemy
START. Wprowadź (v, t) S:=v*t. Wyprowadź (S) KONIEC
GRUPA I Co to jest algorytm, a czym jest program komputerowy? Algorytm: uporządkowany i uściślony sposób rozwiązywania problemu, zawierający szczegółowy opis wykonywanych czynności. Program komputerowy:
Fraktale wokół nas. Leszek Rudak Uniwersytet Warszawski. informatyka +
Fraktale wokół nas Leszek Rudak Uniwersytet Warszawski informatyka + 1 Podobieństwo figur informatyka + 2 Figury podobne Figury są podobne gdy proporcjonalnie zwiększając lub zmniejszając jedną z nich
REKURENCJA W JĘZYKU HASKELL. Autor: Walczak Michał
REKURENCJA W JĘZYKU HASKELL Autor: Walczak Michał CZYM JEST REKURENCJA? Rekurencja zwana rekursją, polega na wywołaniu przez funkcję samej siebie. Algorytmy rekurencyjne zastępują w pewnym sensie iteracje.
Rekurencja (rekursja)
Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)
Algorytm selekcji Hoare a. Łukasz Miemus
Algorytm selekcji Hoare a Łukasz Miemus 1 lutego 2006 Rozdział 1 O algorytmie 1.1 Problem Mamy tablicę A[N] różnych elementów i zmienną int K, takie że 1 K N. Oczekiwane rozwiązanie to określenie K-tego
Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 13 Rekurencja 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Rekurencja - pojęcie 2 Rekurencja - pojęcie Rekurencja (rekursja) wywołanie
Obliczenia iteracyjne
Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej
Podręcznik. Przykład 1: Wyborcy
MODELOWANIE RZECZYWISTOŚCI Daniel Wójcik Instytut Biologii Doświadczalnej PAN d.wojcik@nencki.gov.pl tel. 5892 424 http://www.neuroinf.pl/members/danek/swps/ Iwo Białynicki-Birula Iwona Białynicka-Birula
Zadanie 1. Algorytmika ćwiczenia
Zadanie 1 Algorytmika ćwiczenia Zadanie 2 Zadanie 3 Zadanie 4 Zadanie 5 Zadanie 6 Zadanie 7 Wiązka zadań Ułamki dwójkowe W systemach pozycyjnych o podstawie innej niż 10 można zapisywać nie tylko liczby
Wykład 8. Rekurencja. Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. L. Peter Deutsch
Wykład 8 Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. Smok podsuszony zmok (patrz: Zmok). Zmok zmoczony smok (patrz: Smok). L. Peter Deutsch Stanisław Lem Wizja lokalna J. Cichoń, P. Kobylański
Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel
Wstęp do programowania Listy Piotr Chrząstowski-Wachtel Do czego stosujemy listy? Listy stosuje się wszędzie tam, gdzie występuje duży rozrzut w możliwym rozmiarze danych, np. w reprezentacji grafów jeśli
Strategia "dziel i zwyciężaj"
Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania
Wstęp do programowania. Drzewa podstawowe techniki. Piotr Chrząstowski-Wachtel
Wstęp do programowania Drzewa podstawowe techniki Piotr Chrząstowski-Wachtel Drzewa wyszukiwań Drzewa często służą do przechowywania informacji. Jeśli uda sie nam stworzyć drzewo o niewielkiej wysokości
Zbiór Cantora. Diabelskie schody.
Zbiór Cantora. Diabelskie schody. Autor: Norbert Miękina Zespół Szkół nr 3 im. ks. prof. Józefa Tischnera ul. Krakowska 20 32-700 Bochnia tel. 14 612-27-79 Opiekun: mgr Barbara Góra 1 W matematyce sztuka
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj
WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku
WYKŁ 3 WYPŁNINI OSZRÓW. Wypełnianie wieloboku Zasada parzystości: Prosta, która nie przechodzi przez wierzchołek przecina wielobok parzystą ilość razy. Plan wykładu: Wypełnianie wieloboku Wypełnianie konturu
Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,
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.
Paradygmaty programowania
Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów
Algorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
ECDL Podstawy programowania Sylabus - wersja 1.0
ECDL Podstawy programowania Sylabus - wersja 1.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu Podstawy programowania. Sylabus opisuje, poprzez efekty uczenia się, zakres wiedzy
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Julia 4D - raytracing
i przykładowa implementacja w asemblerze Politechnika Śląska Instytut Informatyki 27 sierpnia 2009 A teraz... 1 Fraktale Julia Przykłady Wstęp teoretyczny Rendering za pomocą śledzenia promieni 2 Implementacja
Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl
System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy
Algorytmy i Struktury Danych
POLITECHNIKA KRAKOWSKA WYDZIAŁ INŻYNIERII ELEKTRYCZNEJ i KOMPUTEROWEJ Katedra Automatyki i Technik Informacyjnych Algorytmy i Struktury Danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew
Definicja. Ciąg wejściowy: Funkcja uporządkowująca: Sortowanie polega na: a 1, a 2,, a n-1, a n. f(a 1 ) f(a 2 ) f(a n )
SORTOWANIE 1 SORTOWANIE Proces ustawiania zbioru elementów w określonym porządku. Stosuje się w celu ułatwienia późniejszego wyszukiwania elementów sortowanego zbioru. 2 Definicja Ciąg wejściowy: a 1,
Programowanie w VB Proste algorytmy sortowania
Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich
3.27pt. Algorytmy i programowanie ze Scratchem
3.27pt Instytut Matematyki Uniwersytet Gdański Literatura P. Szlagowski, Programowanie wizualne scratch 2.0 SCRATCH jest językiem programowania, w którym możesz stworzyć własne interaktywne historyjki,
Technologia informacyjna Algorytm Janusz Uriasz
Technologia informacyjna Algorytm Janusz Uriasz Algorytm Algorytm - (łac. algorithmus); ścisły przepis realizacji działań w określonym porządku, system operacji, reguła komponowania operacji, sposób postępowania.
Sortowanie przez scalanie
Sortowanie przez scalanie Wykład 2 12 marca 2019 (Wykład 2) Sortowanie przez scalanie 12 marca 2019 1 / 17 Outline 1 Metoda dziel i zwyciężaj 2 Scalanie Niezmiennik pętli - poprawność algorytmu 3 Sortowanie
Języki formalne i automaty Ćwiczenia 5
Języki formalne i automaty Ćwiczenia 5 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 L-systemy... 2 Grafika żółwia... 2 Bibliografia... 5 Zadania... 6 Zadania na 3.0... 6 Zadania
Przedmiotowy Konkurs Informatyczny LOGIA powołany przez Mazowieckiego Kuratora Oświaty
Zadanie Ogniwa minilogia 16 (2017/18), etap 3 Treść zadania Napisz dwuparametrową procedurę/funkcję ogniwa, po wywołaniu której na środku ekranu powstanie rysunek łańcuszka złożonego z dwukolorowych ogniw
TEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie
Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1
Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1 Etapy rozwiązywania problemu PROBLEM wybór metody rozwiązania ALGORYTM 1.
Technologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 6 Podstawy programowania 2 Temat: Funkcje i procedury rekurencyjne Przygotował: mgr inż. Tomasz Michno Wstęp teoretyczny Rekurencja (inaczej nazywana rekursją, ang. recursion)
2.1. Duszek w labiryncie
https://app.wsipnet.pl/podreczniki/strona/38741 2.1. Duszek w labiryncie DOWIESZ SIĘ, JAK sterować duszkiem, stosować pętlę zawsze, wykorzystywać blok warunkowy jeżeli. Sterowanie żółwiem, duszkiem lub
Zaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)
PROPOZYCJA ZASTOSOWANIA WYMIARU PUDEŁKOWEGO DO OCENY ODKSZTAŁCEŃ PRZEBIEGÓW ELEKTROENERGETYCZNYCH
Prace Naukowe Instytutu Maszyn, Napędów i Pomiarów Elektrycznych Nr 56 Politechniki Wrocławskiej Nr 56 Studia i Materiały Nr 24 2004 Krzysztof PODLEJSKI *, Sławomir KUPRAS wymiar fraktalny, jakość energii
która metoda jest najlepsza
która metoda jest najlepsza dr inż. Marek Żabka Instytut Matematyki Wydział Matematyki Stosowanej Politechnika Śląska 20 września 2012r Nowa metoda tworzenia grafiki na stronie internetowej: element,,canvas
Algorytmy i struktury danych. Wykład 4
Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych
Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW-4014-87/99
Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW-4014-87/99 Techniki algorytmiczne realizowane przy pomocy grafiki żółwia w programie ELI 2,0. Przedmiot: Informatyka
Wykład 3. Metoda dziel i zwyciężaj
Wykład 3 Metoda dziel i zwyciężaj 1 Wprowadzenie Technika konstrukcji algorytmów dziel i zwyciężaj. przykładowe problemy: Wypełnianie planszy Poszukiwanie (binarne) Sortowanie (sortowanie przez łączenie
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne
Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na
narzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania.
Elementy programu Paint Aby otworzyć program Paint, należy kliknąć przycisk Start i Paint., Wszystkie programy, Akcesoria Po uruchomieniu programu Paint jest wyświetlane okno, które jest w większej części
Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:
Rekurencje Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: T(n) = Θ(1) (dla n = 1) T(n) = 2 T(n/2) + Θ(n) (dla n
Podstawy Informatyki. Metalurgia, I rok. Rekurencja. skomplikowane zadanie. Rekurencja
Podstawy Informatyki Metalurgia, I rok Rekurencja z łacińskiego oznacza to przybiec z powrotem - osiągniesz rzecz wielką, jeśli zawrócisz po to, by osiągnąć rzeczy małe Małe dziecko otrzymuje polecenie
Podstawy Informatyki. Metalurgia, I rok. Wykład 5 Rekurencja
Podstawy Informatyki Metalurgia, I rok Wykład 5 Rekurencja Rekurencja z łacińskiego oznacza to przybiec z powrotem - osiągniesz rzecz wielką, jeśli zawrócisz po to, by osiągnąć rzeczy małe Przykład: Małe
Rekurencja/rekursja. Iluzja istnienia wielu kopii tego samego algorytmu (aktywacji) Tylko jedna aktywacja jest aktywna w danej chwili
rekurencja 1 Rekurencja/rekursja Alternatywny dla pętli sposób powtarzania pewnych czynności; kolejny etap podzadanie poprzedniego Rekursja może być zamieniona na iteracje Cechy rekurencji Rozłożenie problemu
Wykład 4: Fraktale deterministyczne i stochastyczne
Wykład 4: Fraktale deterministycne i stochastycne Fiyka komputerowa 005 Kataryna Weron, kweron@ift.uni.wroc.pl Co to jest fraktal? Złożona budowa dowolnie mały jego fragment jest równie skomplikowany jak
Całkowanie numeryczne
Całkowanie numeryczne Nie zawsze możliwe jest wyznaczenie analitycznego wzoru będącego wynikiem całkowania danej funkcji f(x). Praktycznie zawsze możne jednak wyznaczyć całkę oznaczoną funkcji przy podanych
Następnie zdefiniujemy utworzony szkic jako blok, wybieramy zatem jak poniżej
Zadanie 1 Wykorzystanie opcji Blok, Podziel oraz Zmierz Funkcja Blok umożliwia zdefiniowanie dowolnego złożonego elementu rysunkowego jako nowy blok a następnie wykorzystanie go wielokrotnie w tworzonym
Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel
Wstęp do programowania Procedury i funkcje Piotr Chrząstowski-Wachtel Po co procedury i funkcje? Gdyby jakis tyran zabronił korzystać z procedur lub funkcji, to informatyka by upadła! Procedury i funkcje
Wstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline Procedury wyższych rzędów 1 Procedury wyższych rzędów jako abstrakcje konstrukcji programistycznych Intuicje Procedury wyższych rzędów
I. Funkcja kwadratowa
Pojęcia, wymagania i przykładowe zadania na egzamin poprawkowy w roku szkolnym 2018/2019 w CKZiU nr 3 Ekonomik w Zielonej Górze KLASA III fl POZIOM PODSTAWOWY I. Funkcja kwadratowa narysować wykres funkcji
ALGORYTMY I STRUKTURY DANYCH
KATEDRASYSTEMÓWOBLICZENIOWYCH ALGORYTMY I STRUKTURY DANYCH 1.Rekurencja Rekurencja inaczej rekursja (ang. recursion) to wywołanie z poziomu metody jej samej. Programowanie z wykorzytaniem rekurencji pozwala
Metody Kompilacji Wykład 7 Analiza Syntaktyczna
Metody Kompilacji Wykład 7 Analiza Syntaktyczna Parsowanie Parsowanie jest to proces określenia jak ciąg terminali może być generowany przez gramatykę. Włodzimierz Bielecki WI ZUT 2/57 Parsowanie Dla każdej
Wprowadzenie do rysowania w 3D. Praca w środowisku 3D
Wprowadzenie do rysowania w 3D 13 Praca w środowisku 3D Pierwszym krokiem niezbędnym do rozpoczęcia pracy w środowisku 3D programu AutoCad 2010 jest wybór odpowiedniego obszaru roboczego. Można tego dokonać
Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują
1. A 2. A 3. B 4. B 5. C 6. B 7. B 8. D 9. A 10. D 11. C 12. D 13. B 14. D 15. C 16. C 17. C 18. B 19. D 20. C 21. C 22. D 23. D 24. A 25.
1. A 2. A 3. B 4. B 5. C 6. B 7. B 8. D 9. A 10. D 11. C 12. D 13. B 14. D 15. C 16. C 17. C 18. B 19. D 20. C 21. C 22. D 23. D 24. A 25. A Najłatwiejszym sposobem jest rozpatrzenie wszystkich odpowiedzi
Algorytmy i struktury danych. wykład 2
Plan wykładu: Pojęcie algorytmu. Projektowanie wstępujące i zstępujące. Rekurencja. Pojęcie algorytmu Pojęcie algorytmu Algorytm skończony zbiór operacji, koniecznych do wykonania zadania z pewnej klasy
EGZAMIN MATURALNY W ROKU SZKOLNYM 2014/2015
EGZAMIN MATURALNY W ROKU SZKOLNYM 0/0 FORMUŁA OD 0 ( NOWA MATURA ) MATEMATYKA POZIOM PODSTAWOWY ZASADY OCENIANIA ROZWIĄZAŃ ZADAŃ ARKUSZ MMA-P CZERWIEC 0 Egzamin maturalny z matematyki nowa formuła Klucz
Obliczenia na stosie. Wykład 9. Obliczenia na stosie. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303
Wykład 9 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303 stos i operacje na stosie odwrotna notacja polska języki oparte na ONP przykłady programów J. Cichoń, P. Kobylański Wstęp
Programowanie w Baltie klasa VII
Programowanie w Baltie klasa VII Zadania z podręcznika strona 127 i 128 Zadanie 1/127 Zadanie 2/127 Zadanie 3/127 Zadanie 4/127 Zadanie 5/127 Zadanie 6/127 Ten sposób pisania programu nie ma sensu!!!.
Algorytmika i pseudoprogramowanie
Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry
Reprezentacja i analiza obszarów
Cechy kształtu Topologiczne Geometryczne spójność liczba otworów liczba Eulera szkielet obwód pole powierzchni środek cięŝkości ułoŝenie przestrzenne momenty wyŝszych rzędów promienie max-min centryczność
Fraktale. i Rachunek Prawdopodobieństwa
Fraktale i Rachunek Prawdopodobieństwa Przyjrzyjmy się poniższemu rysunkowi, przedstawiającemu coś,, co kształtem tem przypomina drzewo o bardzo regularnej strukturze W jaki sposób b najłatwiej atwiej
Voter model on Sierpiński fractals Model głosujący na fraktalach Sierpińskiego
Voter model on Sierpiński fractals Model głosujący na fraktalach Sierpińskiego Krzysztof Suchecki Janusz A. Hołyst Wydział Fizyki Politechniki Warszawskiej Plan Model głosujący : definicja i własności
Optymalizacja ciągła
Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej
Programowanie dynamiczne cz. 2
Programowanie dynamiczne cz. 2 Wykład 7 16 kwietnia 2019 (Wykład 7) Programowanie dynamiczne cz. 2 16 kwietnia 2019 1 / 19 Outline 1 Mnożenie ciągu macierzy Konstruowanie optymalnego rozwiązania 2 Podstawy
6. Pętle while. Przykłady
6. Pętle while Przykłady 6.1. Napisz program, który, bez użycia rekurencji, wypisze na ekran liczby naturalne od pewnego danego n do 0 włącznie, w kolejności malejącej, po jednej liczbie na linię. Uwaga!
Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy
Informatyka wprowadze do algorytmów (II) dr hab. inż. Mikołaj Morzy plan wykładu cechy algorytmów sposoby zapisu algorytmów klasyfikacja algorytmów przykłady algorytmów sumowa przeszukiwa ciągu liczb sortowa
Podstawy Informatyki. Inżynieria Ciepła, I rok. Iteracja warunkowadopóki(while) Blok instrukcji. Pascal: begin instrukcja1; C: { end;
Podstawy Informatyki Inżyria Ciepła, I rok Wykład 8 Algorytmy, cd Instrukcja decyzyjna wybierz Zda wybierz służy do wyboru jednej z kilku możliwości Ma ono postać: wybierz przełącznik z wartość_1: zda_1
Przykład 1 wałek MegaCAD 2005 2D przykład 1 Jest to prosty rysunek wałka z wymiarowaniem. Założenia: 1) Rysunek z branży mechanicznej; 2) Opracowanie w odpowiednim systemie warstw i grup; Wykonanie 1)
Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.
Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:
Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD
Wizualne systemy programowania Wykład 11 Grafika 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Grafika GDI+ GDI+ - Graphics Device Interface jeden z trzech podstawowych komponentów
Scenariusz lekcji Ozobot w klasie: Ciąg Fibonacciego
Scenariusz lekcji Ozobot w klasie: Ciąg Fibonacciego Opracowanie scenariusza: Richard Born Adaptacja scenariusza na język polski: mgr Piotr Szlagor Tematyka: Informatyka, Matematyka, Rekurencja, Fibonacci,
Algorytmy i struktury danych.
Algorytmy i struktury danych. Wykład 4 Krzysztof M. Ocetkiewicz Krzysztof.Ocetkiewicz@eti.pg.gda.pl Katedra Algorytmów i Modelowania Systemów, WETI, PG Problem plecakowy mamy plecak o określonej pojemności
Wymagania z matematyki na poszczególne stopnie szkolne w klasie trzeciej gimnazjum
Wymagania z matematyki na poszczególne stopnie szkolne w klasie trzeciej gimnazjum I LICZBY I WYRAŻENIA ALGEBRAICZNE podawanie przykładów liczb naturalnych, całkowitych, wymiernych i niewymiernych; porównywanie
Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej
Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej Spis treści Autor: Marcin Orchel Algorytmika...2 Algorytmika w gimnazjum...2 Algorytmika w liceum...2 Język programowania w
Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje
Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje
PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW
PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW http://metodycy.torun.pl/ m.informatyka@metodycy.torun.pl 1. Wprowadzenie do Pythona podstawowe informacje Python to język programowania wysokiego poziomu,
Wstęp do Programowania potok funkcyjny
i programowanie dynamiczne Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 i programowanie dynamiczne Outline 1 i programowanie dynamiczne i programowanie dynamiczne Rekurencyjny zapis rozwiązania
Reprezentacja i analiza obszarów
Cechy kształtu Topologiczne Geometryczne spójność liczba otworów liczba Eulera szkielet obwód pole powierzchni środek ciężkości ułożenie przestrzenne momenty wyższych rzędów promienie max-min centryczność
Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 9 Rekurencja
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 9 Rekurencja Rekurencja z łacińskiego oznacza to przybiec z powrotem - osiągniesz rzecz wielką, jeśli zawrócisz po to, by osiągnąć rzeczy małe Przykład:
Logo Komeniusz. Gimnazjum w Tęgoborzy. Mgr Zofia Czech
Logo Komeniusz Gimnazjum w Tęgoborzy Mgr Zofia Czech to język strukturalny, umożliwiający dzielenie algorytmu na wyraźnie wyodrębnione problemy, których rozwiązanie opisuje się za pomocą procedur (tzn.
Plan prezentacji. Cechy charakterystyczne fraktali Zastosowanie fraktali Wymiar fraktalny D. Iteracyjny system funkcji (IFS)
Fraktale Plan prezentacji Wprowadzenie Cechy charakterystyczne fraktali Zastosowanie fraktali Wymiar fraktalny D Klasyczne fraktale Iteracyjny system funkcji (IFS) L-system Zbiory Julii i Mandelbrota Ruchy