Zrzut ekranu z programu Scratch, przedstawiający dostępne operatory arytmetyczne i niektóre funkcje np. podłoga, sufit, pierwiastek kwadratowy
Zrzut ekranu z programu Scratch, przedstawiający dostępne operatory arytmetyczne i niektóre funkcje np. podłoga, sufit, pierwiastek kwadratowy
Działania matematyczne w Scratch
Zasoby własne ZPE
bg‑gray4
Treści zawarte w tym e‑materiale wykraczają poza podstawę programową dla klas IV‑VI. Jeśli jednak:
chcesz dowiedzieć się więcej i poznać algorytm Euklidesa, który służy do obliczania NWD (największego wspólnego dzielnika) dwóch liczb naturalnych, wraz z przykładami wykorzystania,
zachęcamy Cię do zapoznania się z tym e‑materiałem.
Algorytm Euklidesa - wersja z odejmowaniem
Algorytm Euklidesa to metoda obliczania największego wspólnego dzielnika (NWD) dwóch liczb naturalnych. Algorytm ten opiera się na właściwościach reszty z dzielenia, czyli na tym, że reszta z dzielenia jednej liczby przez drugą jest mniejsza od drugiej liczby. Istnieją dwie główne wersje algorytmu: wersja z odejmowaniem i wersja z resztą dzielenia (modulo).
Polecenie 1
Zapoznaj się z algorytmem Euklidesa i przykładem obliczenia NWD liczb i , algorytmem Euklidesa z zastosowaniem operacji odejmowania.
Specyfikacja problemu: Dane: i – liczby całkowite dodatnie. Wynik: – największy wspólny dzielnik liczb i .
Powtarzaj aż . 1.1. Jeżeli to: ⠀ 1.1.1. Przypisz wartość różnicy , w przeciwnym przypadku: ⠀ 1.1.2. Przypisz wartość różnicy .
Przypisz wartość .
Tabela z przykładem obliczania NWD liczb 76 i 48
a
b
76
48
76 - 48 = 28
48
28
48 - 28 = 20
28 - 20 = 8
20
8
20 - 8 = 12
8
12 - 8 = 4
8 - 4 = 4
4
Ćwiczenie 1
Stwórz własny blok z dwoma parametrami liczbowymi, który będzie realizował algorytm wyliczania największego wspólnego dzielnika dwóch liczb.
W celu utworzenia nowego bloku należy przejść do kategorii Moje bloki.
Następnie naciśnij przycisk Utwórz blok, w polu edycyjnym wpisz jego nazwę. Jeżeli chcesz aby blok miał dodatkowe parametry, zdecyduj czy są one wartościami liczbowymi lub tekstem (dodać je możesz za pomocą przycisku Dodaj dane wejściowe: liczba lub tekst), czy może są one wartościami logicznymi prawda lub fałsz (wtedy wybierz przycisk Dodaj dane wejściowe: Boolean). Po dodaniu odpowiedniej liczby parametrów zatwierdź tworzenie bloku przyciskiem OK.
W obszarze skryptów pojawi się nowy blok, pod który można podczepić inne bloki realizujące rozwiązywany podproblem.
Jeżeli chcesz edytować utworzony blok, dodając np. nowe parametry, kliknij w niego prawym przyciskiem myszy i wybierz z menu kontekstowego przycisk Edytuj.
Poniżej znajduje się przykładowy skrypt.
R1GYEMGDpy6iU
Skrypt rozpoczyna się blokiem definiuj NWD a b. Następnie dołączony jest blok ustaw nwd_a na a, po którym dodano ustaw nwd_b na b. Czwartym z kolei blokiem jest blok pętli powtarzaj, aż nwd_a równa się nwd_b. W tym zamieszczono blok z pętlą jeżeli nwd_a jest większe od nwd_b, toustaw nwd_a na nwd_a odjąć nwd_b. W przeciwnym razie ustaw nwd_a na nwd_b odjąć nwd_a. Poza pętlami umieszczono blok ustaw wynik na nwd_a, dalej powiedz wynik. Na końcu skryptu znajduje się blok zatrzymaj ten skrypt.
Przykładowe rozwiązanie – skrypt Scratch
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
R9KwdJowPRZOP
Ćwiczenie 1
W jakiej kategorii znajduje się opcja, która umożliwia utworzenie nowego bloku? Możliwe odpowiedzi: 1. Czujniki, 2. Zdarzenia, 3. Wyrażenia, 4. Moje bloki
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Ćwiczenie 2
Przygotuj skrypt, w którym duszek poprosi o podanie wymiarów prostokąta, tj. szerokości i wysokości. Następnie duszek powinien zwrócić obliczoną minimalną liczbę kwadratów, jak również ich wielkość.
Specyfikacja problemu: Dane: Prostokąt o szerokości i wysokości . Wynik: Minimalna liczba takich samych kwadratów, którymi można wypełnić prostokąt.
Przykład: prostokąt o długości i . Minimalna liczba kwadratów wynosi (długość boku kwadratu wynosi ).
R1LOfqpvCnhAn
Zrzut ekranu przedstawia prostokąt wypełniony kwadratami. Zawiera trzy rzędy po pięć kwadratów.
Prostokąt o wymiarach
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Wykorzystaj wcześniej zdefinowane blok obliczania NWD algorytmem Euklidesa.
Przykładowy skrypt:
R1Vcpc4CpKAhZ
Skrypt przedstawia przykładowe rozwiązanie zadania w języku Scratch. Zaczyna się od bloku kiedy kliknięto zieloną flagę z dołączonym blokiem zapytaj Podaj szerokość prostokąta i czekaj. Następnie dołączono blok ustaw S na odpowiedź. Następnym blokiem jest zapytaj Podaj wysokość prostokąta i czekaj z następującym po nim blokiem ustaw W na odpowiedź. Kolejny blok to NWD S W. Następnie dołączono blok ustaw ile_kwadratów_szerokość na S przez nwd_a i występujący po nim ustaw ile_kwadratów_wysokość na W przez nwd_a. Przedostatnim blokiem jest akcja powiedz połącz Minimalna liczba kwadratów wynosi i połącz ile_kwadratów_szerokość razy ile_kwadratów_wysokość i połącz długość boku kwadratu wynosi i nwd_a, natomiast ostatni blok to zatrzymaj ten skrypt.
Przykładowe rozwiązanie zadania
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
RGXXryHbvMKWX
Ćwiczenie 2
Jak nazywa się kategoria w której możesz znaleźć bloki związane z kontrolowaniem skryptów pod pewnymi warunkami? Możliwe odpowiedzi: 1. Ruch, 2. Zdarzenia, 3. Wyrażenia, 4. Kontrola
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Poniżej znajduje się pole tekstowe przeznaczone do zapisywania notatek. Możesz w nim zapisać wszystkie informacje, które uważasz za potrzebne.
RODPNT7o0mXlx
Pole tekstowe do zapisywania odpowiedzi i notatek.