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, gry i muzykę. Aby zaczać pracować ze Scratchem należy zarejstrować się na stronie: scratch.mit.edu/. A następnie przejść do zakładki stwórz.
Literatura P. Szlagowski, Programowanie wizualne scratch 2.0 SCRATCH jest językiem programowania, w którym możesz stworzyć własne interaktywne historyjki, animacje, gry i muzykę. Aby zaczać pracować ze Scratchem należy zarejstrować się na stronie: scratch.mit.edu/. A następnie przejść do zakładki stwórz.
Literatura P. Szlagowski, Programowanie wizualne scratch 2.0 SCRATCH jest językiem programowania, w którym możesz stworzyć własne interaktywne historyjki, animacje, gry i muzykę. Aby zaczać pracować ze Scratchem należy zarejstrować się na stronie: scratch.mit.edu/. A następnie przejść do zakładki stwórz.
Scratch rysowanie figur Poniższe zadania należy wykonać w programie Scratch. Zadanie 1 Narysuj kwadrat. Zrób to na dwa różne sposoby. Czym te sposoby się różnia? Zadanie 2 Narysuj trójkat równoboczny za pomoca algorytmu liniowego a następnie iteracyjnego. Zadanie 3 Narysuj szęściokat foremny. Zadanie 4 Narysuj okrag. Zadanie 5 Narysuj gwiazdę sześcioramienna.
Scratch - zmienne i listy Zadanie 6 Napisać program, który po podaniu przed użytkownika długości boku kwadratu będzie obliczał jego pole. Zadanie 7 Napisać program, który po podaniu przed użytkownika długości boków prostokata będzie obliczał jego pole. Zmienne i listy służa w Scratchu (w innych programach również) do przechowywania danych. Zmienne możemy traktować jako pojemnik, który umożliwia przechowywać różne przedmioty (liczby i tekst). Można je wypisywać, porównywać lub dokonywać na nich operacji matematycznych. Listy to narzędzie służace do przechowywania wielu danych w jednym miejscu. Można patrzeć na nie jak na zmienna, która zawiera w sobie wiele innych zmiennych. Uwaga: Aby ukryć zmienne lub listy w programie wystarczy je odhaczyć.
Arkusz kalkulacyjny W arkuszu kalkulacyjnym znamy trzy rodzaje adresowania komórek adresowanie względne (np. A1), adresowanie bezwzględne (np. $A$1) oraz adresowanie mieszane (np. $A1, czy A$1). Zad 8Wprowadź dane do tabeli arkusza i policz, ile Zuzia zapłaciła za zakupy. Plik zapisz pod nazwa zakupy.
Arkusz kalkulacyjny Zad 9 W tabeli przedstawiono dzisiejsze zakupy Adama, który na każdy produkt uzyskał rabat w wysokości 12%. Uzupełnij tabele używajac adresowania względnego i bezwzględnego.
Arkusz kalkulacyjny Zad. 10 Używajac adresowania mieszanego uzupełnij tabele z tabliczka mnożenia w arkuszu kalkulacyjnym. W jaki sposób arkusz kalkulacyjny pomaga nam wypisać wszystkie liczby od 1 do 10?
Arkusz kalkulacyjny Jedna podstawowych funkcji logicznych jest funkcja JEŻELI. Zad. 11Sporzadź tabele w której w pierwszej kolumnie będa nazwy dziesięciu miast i wsi leżacych w Twoim województwie. W drugiej kolumnie ma być wpisana liczba mieszkańców tych miejscowości. Użyj funkcji JEŻELI, aby w trzeciej kolumnie wpisać TAK jeśli miejscowość ma powyżej 50 tyś. mieszkańców lub NIE w przeciwnym wypadku. Oczywiście funkcje JEŻELI można też wykorzystywać do badania bardziej zaawansowanych problemów. Zad. 12 Zaprojektuj arkusz kalkulacyjny w którym po wpisaniu długości trzech odcinków będzie wyświetlana informacja, czy z tych odcinków da się zbudować trójkat.
Arkusz kalkulacyjny Arkusz kalkulacyjny może być również wykorzystany do graficznej prezentacji danych liczbowych. Zad. 13 Sporzadź w arkuszu kalkulacyjnym tabelę przedstawiajac a liczbę mieszkańców każdego kontynentu. Dane z tabeli przedstaw w postaci diagramu słupkowego oraz kołowego. Nie zapomnij dać odpowiedni tytuł diagramowi.
Scratch - algorytmy deterministyczne i stochastyczne Zadanie 14 Stwórz arkusz kalkulacyjny w którym zapomoca metody Newtona będzie obliczana przybliżona wartość a, gdzie a > 0 (zob. obraz na kolejnym slajdzie).
Arkusz z zadania 14
Kolejne liczby ciagu Fibonacciego wyznaczamy ze wzoru F n = F n 1 + F n 2, F 1 = F 2 = 1. Ciag x n = F n+1 (n 1) jest zbieżny do liczby 1+ 5 2 = (1 + 5 0.5 )/2 (im większe jest n tym x n jest bliższe 1+ 5 2 ) Zadanie Wyznaczyć w arkuszu kalkulacyjnym 30 kolejnych liczb Fibonacciego, 29 kolejnych wyrazów ciagu x n oraz bład bezwzględny i względny z jakim x n przybliża 1+ 5 2. Bład bezwzględny różnica pomiędzy wartościa przybliżona x n a wartościa rzeczywista 1+ 5 2. Bład względny iloraz błędu bezwzględnego i wartości dokładnej 1+ 5 2. F n
Scratch - algorytmy rekurencyjne Od wersji 2.0, Scratch pozwala na tworzenie własnych bloczków. Tworzenie nowych bloczków można utożsamiać z procedurami (inaczej funkcja lub podprogram) w innych językach programowania. Procedura to wydzielona część programu wykonujaca jakieś operacje. Procedury stosuje się, aby uprościć program główny i zwiększyć czytelność kodu. Zadanie 15 Stwórz bloczek rysujacy kwadrat o zadanej przez użytkownika długości boku. Kwadrat ma być zamalowany w środku. W tym celu wybierz zakładkę więcej bloków. Nie zapomnij przy definiowaniu bloczku dodać parametru liczbowego. Aby wypełnić kwadrat kolorem należy rysować coraz to mniejsze kwadraty. Dodaj program rysujacy kwadrat, który będzie korzystał ze zdefiniowanego bloczku.
Scratch - algorytmy
Scratch - algorytmy Uwaga: W celu zdefiniowania bloczku rysujacego zamalowany kwadrat użyliśmy algorytmu rekurencyjnego (występuje tu odwołanie procedury do samej siebie). Poprawnie działajaca procedura rekurencyjna powinna zawierać instrukcję jeżeli. Przykładem zadań w których wykorzystuje się algorytmy rekurencyjne może być rysowanie spiral, czy fraktali. Zadanie 16 Narysować spirale w kształcie sześciokata foremnego zaczynajac od najdłuższego odcinka. Każdy kolejny odcinek ma być krótszy o 1. W procedurze parametrem ma być długość najdłuższego odcinka, czyli użytkownik programu podaje długość najdłuższego odcinka spirali.
Zadanie 17 Zmodyfikować powyższa procedurę w ten sposób, aby rysowanie spirali zaczynało się od środka spirali. W każdym kolejnym ruchu niech długość boku zwiększa się o 5. W procedurze parametrami maja być długość najkrótszego boku spirali i liczba odcinków z ilu składa się spirala. Zadanie 18 Zastanowić się nad algorytmami rysujacymi spirale w innym kształcie niż sześciokat foremny.
Scratch - algorytmy Zadanie 19 a) Wpisz procedurę rysujac a 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, Krzywa Kocha 4 100. c) Opisz na czym polega działanie tej procedury.
Scratch - algorytmy Zadanie 19 a) Wpisz procedurę rysujac a 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, Krzywa Kocha 4 100. c) Opisz na czym polega działanie tej procedury.
Scratch - algorytmy Zadanie 19 a) Wpisz procedurę rysujac a 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, Krzywa Kocha 4 100. c) Opisz na czym polega działanie tej procedury.
Scratch - algorytmy
Scratch - algorytmy Fraktale to obiekty geometryczne o złożonej budowie, nazywane obiektami samobodobnymi, gdyż ich drobne fragmenty sa podobne do całej figury. Fraktale odkrył i nazwał matematyk i informatyk Benoit Mandelbrot w 1975 roku (w czaśniej obiekty fraktalne były również znane, ale to dopiero Mandelbrot zapoczatkował ścisłe badania nad fraktalami). W 1904 roku szwedzki matematyk Helge von Koch skonstrułował figurę, która z wygladu przypomina płatek śniegu. Nazwał ja śnieżynka Kocha lub płatkiem Kocha, a jego brzeg krzywa Kocha.
Scratch - algorytmy Etapy budowy krzywej Kocha: 1) Podział odcinka o długości l na trzy równe części i zastapienie środkowej części dwoma odcinkami każdy o l długości 3 i nachyleniu względem odcinka o 60. (zobacz rysunek) 2) Każdy z czterech odcinków ponownie zostanie podziely na 3 części, a środkowa znów zastapimy dwoma odcinkami tak jak w kroku 1. 3) Każdy z szesnastu odcinków zostanie podziely na 3 części, a środkowa znów zastapimy dwoma odcinkami tak jak w kroku 1 itd.
Scratch - algorytmy
Scratch - algorytmy Zadanie 20 a) Wyznacz długość krzywej Kocha na 1-szym, 2-gim i k-tym etapie jej rysowania. Jaka jest długość 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?
Scratch - algorytmy Zadanie 20 a) Wyznacz długość krzywej Kocha na 1-szym, 2-gim i k-tym etapie jej rysowania. Jaka jest długość 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?
Scratch - algorytmy Zadanie 20 a) Wyznacz długość krzywej Kocha na 1-szym, 2-gim i k-tym etapie jej rysowania. Jaka jest długość 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?
Trójkata Sierpińskiego Kolejny ciekawy fraktal został skonstrułowany przez wybitnego polskiego matematyka Wacława Sierpińskiego (stad nazwa trójkat Sierpińskiego). Konstrukcja trójkara Sierpińskiego, nazywana również uszczelka Sierpińskiego, została opracowania w 1915 roku, jeszcze przed wprowadzeniem samego pojęcia fraktali. Etapy powstawania trójkata Sierpińskiego: 1) Rysujemy trójkat równoboczny. (zobacz rysunek) 2) Dzielimy każdy bok trójkata na pół i łaczymy boki trójkata (w efekcie otrzymujemy 4 mniejsze trójkaty). 3) Pomijamy środkowy trójkat, a w każdym z trzech pozostałych trójkatów dzilimy boki na pół i łaczymy środki, aby powstały kolejne trójkaty itd.
Trójkata Sierpińskiego
Fraktale z arkuszem kalkulacyjnym gra w chaos Fraktale możemy również otrzymać w sposób wydawałoby się, zupełnie nieoczekiwany jako wynik losowego eksperymentu gry w chaos. Gra w chaos polega na tym, że startujemy z pewnego punktu x 0 i wyznaczamy jego kolejne iteracje za pomoca wzoru x n+1 = f m (x n ), gdzie f m jest jedna z funkcji iterowanych, wybierana niezależnie i losowo dla każdej iteracji.
Fraktale z arkuszem kalkulacyjnym gra w chaos Zasady gry w chaos dla trójkata Sierpińskiego Wybieramy trzy punkty na płaszczyznie i oznaczamy je numerami 1, 2, i 3. Sa to tzw. punkty bazowe. Następnie wybieramy jeszcze jeden punkt tzw. punkt wiodacy. Krok 1 Losujemy jedna z trzech liczb będacych numerami punktów bazowych. Jeśli otrzymamy np. liczbę 3, wyznaczamy odcinek pomiędzy punktem wiodacym a punktem bazowym o numerze 3 i znajdujemy jego środek (zaznaczamy ten punkt). Punkt ten będzie teraz nowym punktem wiodacym. Krok 2 Znów losujemy jedna z liczb 1, 2 lub 3 i, postęstępujac jak w poprzednim kroku, wyznaczamy kolejny punkt wiodacy itd. Zadanie 21 Przeprowadź na kartce kilka pierwszych kroków gry w chaos. Przyjrzyj się efektom.
Fraktale z arkuszem kalkulacyjnym gra w chaos Zadanie 22 Przeprowadź w arkuszu kalkulacyjnym symulacje gry w chaos dla 100, 1000, 3000 i 5000 punktów (należy na wykresie zmiejszyć wymiary punktów). Jako punkty bazowe wybierz ( 1; 0), (1; 0) i (0; 1, 5). Jako pierwszy punkt bazowy wybierz jeden z wylosowanych punktów bazowych. Przykładowy arkusz znajduje się na kolejnym slajdzie. LOS.ZAKR(zakres) losujeje liczbę z podanego zakresu np. LOS.ZAKR(1;3) podaje wylosowana liczbę z zakresu od 1 do 3. INDEKS(zakres;numer z zakresu) funkcja ta podaje punkt o podanym numerze z zakresu np. INDEKS(B1:B3;A6) wskasuje zawartość komórki z zakresu od B1 do B3, której komórki został podany w A6. Uwaga: Obraz dla każdej liczby punktów należy zapisać w osobnym pliku.
Fraktale z arkuszem kalkulacyjnym gra w chaos
Fraktale z arkuszem kalkulacyjnym gra w chaos
Fraktale z arkuszem kalkulacyjnym gra w chaos Zadanie 23 Sprawdź co się stanie przy zmianie punktów bazowych w zadaniu 20. Co się stanie jeśli jako pierwszy punkt wiodacy wybierzemy dowolny punkt poza trójkatem?
Pisane własnej Scratchu Zadanie 24 Stwórz grę podobna do gry przedstawionej na ćwiczeniach.
Zadanie 25 Korzystajac z arkusza kalkulacyjnego I) Wyznaczyć, z dokładnościa do 4 miejsc po przecinku, sumy II) III) a) 1 + 1 2 + 1 3 + + 1 199 + 1 200 b) 1 3 + 4 6 + 7 9 + 298 300. Wyznaczyć średnia arytmetyczna liczb a) 1, 9, 25,..., 2401, 2601 b) 1, 4, 9, 16,..., 2401, 2500. Naszkicować wykresy krzywych a) y = 6x x 2 + 1 dla x [ 3, 3] b) y = x 3 x dla x [ 1, 2]. Wskazówka: Wykonaj tablicowanie funkcji. Wybierz wykres liniowy. Zaznacz opcje Tylko linie i Wygładz linie.
Zadanie 25 Korzystajac z arkusza kalkulacyjnego I) Wyznaczyć, z dokładnościa do 4 miejsc po przecinku, sumy II) III) a) 1 + 1 2 + 1 3 + + 1 199 + 1 200 b) 1 3 + 4 6 + 7 9 + 298 300. Wyznaczyć średnia arytmetyczna liczb a) 1, 9, 25,..., 2401, 2601 b) 1, 4, 9, 16,..., 2401, 2500. Naszkicować wykresy krzywych a) y = 6x x 2 + 1 dla x [ 3, 3] b) y = x 3 x dla x [ 1, 2]. Wskazówka: Wykonaj tablicowanie funkcji. Wybierz wykres liniowy. Zaznacz opcje Tylko linie i Wygładz linie.
Zadanie 25 Korzystajac z arkusza kalkulacyjnego I) Wyznaczyć, z dokładnościa do 4 miejsc po przecinku, sumy II) III) a) 1 + 1 2 + 1 3 + + 1 199 + 1 200 b) 1 3 + 4 6 + 7 9 + 298 300. Wyznaczyć średnia arytmetyczna liczb a) 1, 9, 25,..., 2401, 2601 b) 1, 4, 9, 16,..., 2401, 2500. Naszkicować wykresy krzywych a) y = 6x x 2 + 1 dla x [ 3, 3] b) y = x 3 x dla x [ 1, 2]. Wskazówka: Wykonaj tablicowanie funkcji. Wybierz wykres liniowy. Zaznacz opcje Tylko linie i Wygładz linie.
Zadanie 26 Pracodawca zatrudniajac pracownika do wykonania pewnej pracy, która należy wykonać w ciagu 10 dni, zaproponował dwa rodzaje umowy: Umowa I: Pierwszego dnia pracownik ma otrzymał 30 złotych, a w każdym następnym dniu, do pracy z dnia poprzedniego, pracodawca będzie dopłacał mu 10% płacy z pierwszego dnia. Umowa II: Pierwszego dnia pracownik miałby otrzymał 2% tego, co pierwszego dnia w Umowie I, a za każdy następny dzień dwa razy więcej. Która z zaproponowanych umów pracownik powinien wybrać? W celu wyjaśnienia tego zagadnienia, utwórz odpowiedni arkusz kalkulacyjny, a następnie podaj odpowiedż.
Zadanie 27 Przygotuj arkusz, który po wprowadzeniu do niego dwóch liczb a i b, będzie podawał a) Czy liczba a jest podzielna przez liczbe b. b) Czy suma liczb a + b jest liczba nieparzysta. Wskazówka: Użyj funkcji MOD(liczba; dzielnik) i JEŻELI(test logiczny; wartość jeśli prawda; wartość jeśli fałsz).
Zadanie 27 Przygotuj arkusz, który po wprowadzeniu do niego dwóch liczb a i b, będzie podawał a) Czy liczba a jest podzielna przez liczbe b. b) Czy suma liczb a + b jest liczba nieparzysta. Wskazówka: Użyj funkcji MOD(liczba; dzielnik) i JEŻELI(test logiczny; wartość jeśli prawda; wartość jeśli fałsz).
Zadanie 28 Przygotuj arkusz, w którym liczba naturalna z przedziału od 1 do 65535 przedstawiona zostanie w zapisie dwójkowym. Wzór arkusza zostanie przedstawiony na ekranie. Wykorzystaj możliwość ukrywania wierszy badż kolumn w arkuszu. Wskazówka: Użyj funkcji MOD(liczba; dzielnik) i QUOTIENT(liczba; dzielnik).
Zadanie 29 Przygotuj arkusz który będzie podawał jaka jest cyfra jedności, dziesiatek, setek i tysięcy dla wprowadzonej liczby naturalnej z przedziału od 1 do 9999. A następnie będzie sprawdzał, czy suma cyfr danej liczby jest podzielna przez inna wprowadzona liczbę. Wzór arkusza zostanie podany na ekranie. Wskazówka: Użyj funkcji LICZBA.CAŁK(liczba), SUMA(liczba1; liczba2;... ),MOD(liczba; dzielnik) i JEŻELI(test logiczny; wartość jeśli prawda; wartość jeśli fałsz).