Modele i symulacje - Scratch i Excelakarpowi/Scratch.pdf · Scratch - algorytmy rekurencyjne Od...

21
Modele i symulacje - Scratch i Excel Adrian Karpowicz Instytut Matematyki Uniwersytet Gda ´ nski Adrian Karpowicz Modele i symulacje - Scratch i Excel

Transcript of Modele i symulacje - Scratch i Excelakarpowi/Scratch.pdf · Scratch - algorytmy rekurencyjne Od...

Modele i symulacje - Scratch i Excel

Adrian Karpowicz

Instytut MatematykiUniwersytet Gdanski

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Literatura

P. Szlagowski, Programowanie wizualne scratch 2.0SCRATCH jest jezykiem programowania, w którymmozesz stworzyc własne interaktywne historyjki, animacje,gry i muzyke.Aby zaczac pracowac ze Scratchem nalezy zarejstrowacsie na stronie: scratch.mit.edu/. A nastepnie przejsc dozakładki stwórz.

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Literatura

P. Szlagowski, Programowanie wizualne scratch 2.0SCRATCH jest jezykiem programowania, w którymmozesz stworzyc własne interaktywne historyjki, animacje,gry i muzyke.Aby zaczac pracowac ze Scratchem nalezy zarejstrowacsie na stronie: scratch.mit.edu/. A nastepnie przejsc dozakładki stwórz.

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Literatura

P. Szlagowski, Programowanie wizualne scratch 2.0SCRATCH jest jezykiem programowania, w którymmozesz stworzyc własne interaktywne historyjki, animacje,gry i muzyke.Aby zaczac pracowac ze Scratchem nalezy zarejstrowacsie na stronie: scratch.mit.edu/. A nastepnie przejsc dozakładki stwórz.

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Scratch–rysowanie figur

Ponizsze zadania nalezy wykonac w programie Scratch.

Zadanie 1 Narysuj kwadrat. Zrób to na dwa rózne sposoby.Czym te sposoby sie róznia ?

Zadanie 2 Narysuj trójkat równoboczny za pomoca algorytmuliniowego a nastepnie iteracyjnego.

Zadanie 3 Narysuj szesciokat foremny.

Zadanie 4 Narysuj okrag.

Zadanie 5 Narysuj dowolna rzecz.

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Scratch - zmienne i listy

Zadanie 6 Napisac program, który po podaniu przeduzytkownika długosci boku kwadratu bedzie obliczał jego pole.

Zadanie 7 Napisac program, który po podaniu przeduzytkownika długosci boków prostokata bedzie obliczał jegopole.

Zmienne i listy słuza w Scratchu (w innych programachrówniez) do przechowywania danych. Zmienne mozemytraktowac jako pojemnik, który umozliwia przechowywac rózneprzedmioty (liczby i tekst). Mozna je wypisywac, porównywaclub dokonywac na nich operacji matematycznych. Listy tonarzedzie słuzace do przechowywania wielu danych w jednymmiejscu. Mozna patrzec na nie jak na zmienna, która zawiera wsobie wiele innych zmiennych.Uwaga: Aby ukryc zmienne lub listy w programie wystarczy jeodhaczyc.

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Scratch - algorytmy rekurencyjne

Od wersji 2.0, Scratch pozwala na tworzenie własnychbloczków. Tworzenie nowych bloczków mozna utozsamiac zprocedurami (inaczej funkcja lub podprogram) w innychjezykach programowania. Procedura to wydzielona czescprogramu wykonujaca jakies operacje. Procedury stosuje sie,aby uproscic program główny i zwiekszyc czytelnosc kodu.

Zadanie 8Stwórz bloczek rysujacy kwadrat o zadanej przez uzytkownikadługosci boku. Kwadrat ma byc zamalowany w srodku. W tymcelu wybierz zakładke wiecej bloków. Nie zapomnij przydefiniowaniu bloczku dodac parametru liczbowego. Abywypełnic kwadrat kolorem nalezy rysowac coraz to mniejszekwadraty. Dodaj program rysujacy kwadrat, który bedziekorzystał ze zdefiniowanego bloczku.

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Scratch - algorytmy

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Scratch - algorytmy

Uwaga: W celu zdefiniowania bloczku rysujacego zamalowanykwadrat uzylismy algorytmu rekurencyjnego (wystepuje tuodwołanie procedury do samej siebie).

Poprawnie działajaca procedura rekurencyjna powinnazawierac instrukcje jezeli. Przykładem zadan w którychwykorzystuje sie algorytmy rekurencyjne moze byc rysowaniespiral, czy fraktali.

Zadanie 9 Narysowac spirale w kształcie szesciokataforemnego zaczynajac od najdłuzszego odcinka. Kazdy kolejnyodcinek ma byc krótszy o 1. W procedurze parametrem ma bycdługosc najdłuzszego odcinka, czyli uzytkownik programupodaje długosc najdłuzszego odcinka spirali.

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Zadanie 10 Zmodyfikowac powyzsza procedure w ten sposób,aby rysowanie spirali zaczynało sie od srodka spirali. Wkazdym kolejnym ruchu niech długosc boku zwieksza sie o 5.W procedurze parametrami maja byc długosc najkrótszegoboku spirali i liczba odcinków z ilu składa sie spirala.

Zadanie 11 Zastanowic sie nad algorytmami rysujacymi spiralew innym kształcie niz szesciokat foremny.

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Scratch - algorytmy

Zadanie 12a) Wpisz procedure rysujaca krzywa Kocha (podana na

kolejnym slajdzie).b) Wywołaj: Krzywa Kocha 0 100, Krzywa Kocha 1 100,

Krzywa Kocha 2 100, Krzywa Kocha 3 100, KrzywaKocha 4 100.

c) Opisz na czym polega działanie tej procedury.

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Scratch - algorytmy

Zadanie 12a) Wpisz procedure rysujaca krzywa Kocha (podana na

kolejnym slajdzie).b) Wywołaj: Krzywa Kocha 0 100, Krzywa Kocha 1 100,

Krzywa Kocha 2 100, Krzywa Kocha 3 100, KrzywaKocha 4 100.

c) Opisz na czym polega działanie tej procedury.

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Scratch - algorytmy

Zadanie 12a) Wpisz procedure rysujaca krzywa Kocha (podana na

kolejnym slajdzie).b) Wywołaj: Krzywa Kocha 0 100, Krzywa Kocha 1 100,

Krzywa Kocha 2 100, Krzywa Kocha 3 100, KrzywaKocha 4 100.

c) Opisz na czym polega działanie tej procedury.

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Scratch - algorytmy

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Scratch - algorytmy

Fraktale to obiekty geometryczne o złozonej budowie,nazywane obiektami samobodobnymi, gdyz ich drobnefragmenty sa podobne do całej figury. Fraktale odkrył i nazwałmatematyk i informatyk Benoit Mandelbrot w 1975 roku (wczasniej obiekty fraktalne były równiez znane, ale to dopieroMandelbrot zapoczatkował scisłe badania nad fraktalami).

W 1904 roku szwedzki matematyk Helge von Kochskonstrułował figure, która z wygladu przypomina płateksniegu. Nazwał ja sniezynka Kocha lub płatkiem Kocha, ajego brzeg krzywa Kocha.

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Scratch - algorytmy

Etapy budowy krzywej Kocha:1) Podział odcinka o długosci l na trzy równe czesci izastapienie srodkowej czesci dwoma odcinkami – kazdy odługosci l

3 i nachyleniu wzgledem odcinka o 60◦. (zobaczrysunek)2) Kazdy z czterech odcinków ponownie zostanie podziely na 3czesci, a srodkowa znów zastapimy dwoma odcinkami tak jakw kroku 1.3) Kazdy z szesnastu odcinków zostanie podziely na 3 czesci,a srodkowa znów zastapimy dwoma odcinkami tak jak w kroku1 itd.

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Scratch - algorytmy

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Scratch - algorytmy

Zadanie 13a) Wyznacz długosc krzywej Kocha na 1-szym, 2-gim i k -tym

etapie jej rysowania. Jaka jest długosc krzywej Kocha?b) W oparciu o algorytm rysujacy krzywa Kocha narysuj

płatek Kocha.c) Jaka jest obwód płatka Kocha? Czy pole płatka Kocha jest

ograniczone?

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Scratch - algorytmy

Zadanie 13a) Wyznacz długosc krzywej Kocha na 1-szym, 2-gim i k -tym

etapie jej rysowania. Jaka jest długosc krzywej Kocha?b) W oparciu o algorytm rysujacy krzywa Kocha narysuj

płatek Kocha.c) Jaka jest obwód płatka Kocha? Czy pole płatka Kocha jest

ograniczone?

Adrian Karpowicz Modele i symulacje - Scratch i Excel

Scratch - algorytmy

Zadanie 13a) Wyznacz długosc krzywej Kocha na 1-szym, 2-gim i k -tym

etapie jej rysowania. Jaka jest długosc krzywej Kocha?b) W oparciu o algorytm rysujacy krzywa Kocha narysuj

płatek Kocha.c) Jaka jest obwód płatka Kocha? Czy pole płatka Kocha jest

ograniczone?

Adrian Karpowicz Modele i symulacje - Scratch i Excel