Treści zawarte w tym materiale wykraczają poza podstawę programową dla klas IV - VI szkoły podstawowej. 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 go w języku Scratch, to zachęcamy cię do zapoznania się z tym materiałem.
Do zrozumienia niniejszego materiału potrzebna jest znajomość liczb naturalnych i całkowitych, ułamków zwykłych i dziesiętnych oraz wiedza na temat środowiska języka Scratch. Wszystkie te informacje oraz wiele innych możesz znaleźć w dostępnych materiałach.
Aby zrozumieć poruszane w tym materiale zagadnienia, przypomnij sobie:
W poniższym materiale stworzymy interaktywną grę, która pomaga zrozumieć koncepcję ułamków zwykłych.
Algorytm Euklidesa służy do wyznaczania największego wspólnego dzielnika dwóch liczb naturalnych. W tym materiale pokażemy jego zastosowanie do skracania ułamków zwykłych
ROsptnqm7Hn6G
Na filmie pokazano aplikację, która służy do graficznego przedstawienia ułamka zwykłego. Najpierw duszek losuje mianownik i licznik ułamka oraz przedstawia go w postaci figury podzielonej na zamalowane i niezamalowane kwadraty (możesz zaproponować własną reprezentację graficzną ułamka, np. w postaci kawałków pizzy). Następnie prosi o podanie licznika i mianownika ułamka, czyli informacji, jaka część figury jest zamalowana. W kolejnym kroku sprawdza poprawność odpowiedzi.
Duszek przedstawia graficznie ułamek
Rozpocznij od rozplanowania sceny. Pamiętaj, że jej rozmiar to na pikseli.
2
Ćwiczenie 1
Zastanów się, jaką przyjąć długość boku pojedynczego kwadratu, ile ich umieścić w jednym wierszu, ile maksymalnie wierszy zmieści się na scenie, aby zostało wolne miejsce dla duszka wyświetlającego komunikaty. Ustal na tej podstawie zakres losowania mianownika i licznika ułamka.
R15JD6qRZiXxs
Scena w programie Scratch ma 480 pikseli szerokości i 360 pikseli wysokości. Weź pod uwagę jej wymiary podczas planowania długości boku pojedynczego kwadratu i innych niezbędnych komponentów.
Przykładowe rozplanowanie sceny: długość boku kwadratu wynosi pikseli, górną połowę sceny przeznaczamy na reprezentację ułamka, dolną dla duszka zadającego pytanie i podającego informację o poprawności udzielonej odpowiedzi. Pozostawiając odstępy od krawędzi sceny o szerokości pikseli można maksymalnie narysować kwadraty ( rzędy po kwadratów). Duszek może więc losować mianownik w zakresie od do maksymalnej liczby kwadratów (czyli ), a licznik od do wylosowanej wartości mianownika minus .
2
Ćwiczenie 2
Zastanów się, w jaki sposób duszek narysuje kwadraty na scenie. Wymyślone rozwiązanie zapisz w poniższym notesie.
R1IP7ePHXdwxo
Jeden z kwadratów może być niezamalowany, natomiast drugi - zamalowany. Narysowanie pierwszego z nich nie powinno sprawić problemu, ponieważ zostało opisane w poprzednich materiałach dotyczących wykorzystania Scratcha. Jak poradzić sobie z zamalowanym kwadratem?
Scratch dostarcza wielu poleceń do efektów graficznych, zatem duszek może rysować kwadraty.
Niezamalowany kwadrat
RYAP0h936SORF
Zamalowany kwadrat
Niestety, nie ma jednak polecenia pozwalającego na zamalowanie figur ani rysowanie zamalowanych figur. Brak tej funkcjonalności można obejść poprzez stworzenie zamalowanego kwadratu z odpowiedniej liczby odcinków, choć jest to rozwiązanie mało wygodne i powolne.
RKQtck1IVstYJ
2
Ćwiczenie 3
Narysuj w edytorze graficznym dwa kwadraty o długości boku np. , jeden zamalowany, drugi przezroczysty.
RCpruyxTkXIOH
Jeśli korzystasz z edytora graficznego Scratcha, dodaj nowego duszka i narysuj jego dwa kostiumy. Jeśli z innego edytora, utwórz nowego duszka i wczytaj dwa kostiumy z plików graficznych. Pamiętaj, żeby sprawdzić punkt zaczepienia. Oba kostiumy powinny mieć go w tym samym miejscu, najlepiej w środku kwadratu lub w jego lewym górnym rogu.
Poniżej znajdują się dwa kwadraty, które można wykorzystać w projekcie.
R2PirXu3OLHAS
R10cJeOfnr5sN
Ćwiczenie 3
W projekcie będą więc występowały dwa duszki:
Ukryty duszek – kwadrat, którego zadaniem będzie (np. po kliknięciu w zieloną flagę) wylosowanie mianownika i licznika oraz przygotowanie zadania na scenie, czyli przystemplowanie odpowiedniej liczby kwadratów zgodnie z wylosowanymi wartościami.
Kotek (lub inna dowolnie przez ciebie wybrana postać), którego zadaniem będzie poproszenie o podanie odpowiedzi oraz sprawdzenie jej poprawności.
1
Ćwiczenie 4
Ułóż w programie Scratch algorytm dla duszka reprezentowanego przez kwadrat. Skrypt ma wylosować dwie wartości dla zmiennych licznik i mianownik (wykorzystaj obliczenia wykonane w pierwszym ćwiczeniu). Następnie, skrypt powinien narysować tyle pustych kwadratów, ile wynosi różnica zmiennych mianownik - licznik oraz tyle pełnych kwadratów, ile wynosi zmienna licznik.
Wylosowany licznik i mianownik oraz podane wartości jako odpowiedzi musisz zapamiętać. Utwórz więc w projekcie cztery zmienne liczbowe (dostępne dla obu duszków) do przechowywania tych wartości.
Do stworzenia algorytmu możesz wykorzystać zapisane pliki graficzne z poprzedniego ćwiczenia lub posłużyć się metodami zaproponowanymi w ćwiczeniu 2. i narysować kwadraty - zamalowany i niezamalowany.
W naszym rozwiązaniu wykorzystamy obrazy duszków zapisane w plikach graficznych. Aby zaimportować do programu Scratch kostiumy zapisane w plikach należy:
Wejść w ustawienia kostiumów w programie Scratch.
Zaimportować kostiumy z dysku.
Ustawić czytelne nazwy kostiumów tak, aby były łatwe do odróżnienia podczas tworzenia skryptu.
Przykładowy algorytm stworzony w programie Scratch. Zakładamy, że punkt zaczepienia znajduje się w lewym górnym rogu kwadratu, oraz że długość boku kwadratu wynosi .
R7MPwImk136YB
Rl787N8J8fLUo
Ćwiczenie 4
Duszek sprawdza odpowiedź
Drugi duszek powinien poprosić o podanie odpowiedzi (licznik i mianownik ułamka określającego, jaka część figury jest zamalowana) oraz sprawdzić jej poprawność. Podane wartości trzeba zapamiętać w zmiennych o czytelnych nazwach, np. licznik_odp, mianownik_odp.
2
Ćwiczenie 5
Jak sprawdzić poprawność odpowiedzi udzielonej przez gracza? Czy porównanie wylosowanych wartości licznika i mianownika ułamka z wczytanymi wartościami wystarczy? Odpowiedź zapisz w poniższym notatniku.
RuS3mExMlsQk0
Uwzględnij skracanie ułamków. Te ułamki są sobie równe: , ale to nie znaczy, że wartości ich liczników oraz mianowników są takie same.
Aby sprawdzić poprawność odpowiedzi, nie wystarczy samo porównanie wartości licznika i mianownika ułamka z odpowiedziami użytkownika. Trzeba wziąć pod uwagę, że dany ułamek może być przedstawiony na kilka różnych sposobów, np. ułamki: , , . Rozwiązaniem, może być porównanie wartości ułamków np. ułamek ma wartość 0.5 oraz ułamek również ma wartość 0.5.
Należy przedstawić odpowiedź użytkownika i wylosowany ułamek w ten sam sposób.
RGYgA9SzTqqEw
2
Ćwiczenie 6
Spróbuj sformułować warunek logiczny, który będzie uwzględniać redukcję ułamka (skracanie). Wynikiem będzie prawda, jeżeli wartość wynosi tyle samo co, podany w odpowiedzi licznik podzielony przez podany w odpowiedzi mianownik, w przeciwnym wypadku wynikiem ma być fałsz. Odpowiedź zapisz poniżej.
RdAL8XSHaLG5t
Spróbuj skrócić ułamek do wartości . Zastosuj blok z zakładki Wyrażenia z operatorem „=” podczas tworzenia rozwiązania do tego zadania.
Należy podzielić licznik przez mianownik i sprawdzić, czy końcowa wartość wynosi tyle samo co, podany w odpowiedzi licznik podzielony przez podany w odpowiedzi mianownik.
RZ0mWx2AcDEzL
R5G9unklbn1Qy
Ćwiczenie 6
1
Ćwiczenie 7
Zapisz w liście kroków algorytm dla duszka sprawdzającego odpowiedź.
ROhhJhjOFy1Vq
Ułóż w programie Scratch skrypt dla duszka sprawdzającego odpowiedź zgodnie z listą kroków powyżej. Pamiętaj o warunku logicznym z poprzedniego ćwiczenia.
Dodaj do sceny drugiego duszka, np. kota, który będzie pytał użytkownika o rozwiązanie.
Niech duszek zacznie od zapytania użytkownika, jaka część figury jest zamalowana i zapisze podane odpowiedzi do zmiennych. Następnie w zależności od tego, czy wartość ilorazu podanego licznika i mianownika jest równa z wartością ilorazu licznika i mianownika z odpowiedzi, ma zwrócić odpowiedni komunikat.
Przykładowa lista kroków:
Zapytaj jaka część figury jest zamalowana.
Odpowiedzi zapisz w zmiennych licznik_odp i mianownik_odp.
Jeżeli to: 3.1. Pogratuluj poprawnej odpowiedzi. w przeciwnym przypadku: 3.2. Poinformuj, że podana odpowiedź jest niepoprawna.
Zatrzymaj działanie skryptu.
Przykładowy skrypt w programie Scratch:
RyHpIIAN133qC
RYECq24q9EL7H
Ćwiczenie 7
Przetestuj działanie programu. Zastanów się, czy i jak można jeszcze poprawić sprawdzanie odpowiedzi. Czy uzasadnione jest wyświetlanie komunikatu „Brawo, to jest poprawna odpowiedź!”, kiedy grający poda prawidłowo wartość ułamka, ale go nie skróci? Może lepiej w takiej sytuacji wyświetlić komunikat np. „Dobrze, ale ten ułamek można jeszcze skrócić...”. Czy potrafisz sformułować taki warunek i poprawić skrypty?
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).
Ważne!
Do badania podzielności możesz wykorzystać operację arytmetyczną moduloiuak7gU6CL_d715e232modulo, czyli resztę z dzielenia dwóch liczb całkowitych. Operacja modulo zwraca resztę z dzielenia jednej liczby przez drugą i oznacza jest symbolem lub skrótem stawianym między dwoma liczbami.
Wykorzystanie wersji algorytmu Euklidesa z operacją arytmetyczną modulo znacznie zredukuje liczbę wykonywanych operacji.
Przykłady operacji modulo (obliczania reszty z dzielenia)
Przykład 1:
Wynikiem ( lub ) będzie , ponieważ dzielone przez to , a reszty zostaje .
Aby to sprawdzić, można wykonać operacje , a następnie , co odpowiada również .
Czyli w ostatecznym zapisie .
Przykład 2:
Wynikiem ( lub ) będzie , ponieważ dzielone przez to , a reszty zostaje .
Aby to sprawdzić, można wykonać operacje .
Czyli w ostatecznym zapisie .
2
Ćwiczenie 8
Korzystając z dołączonych materiałów omawiających algorytm Euklidesa, przygotuj krótką prezentacjęPOBu79p1Pprezentację na temat Euklidesa, jego dzieł i omawianego algorytmu.
Euklides - pochodzenie (najczęściej przyjmuje się, że pochodził z Grecji), wiek w jakim żył (IV i III wiek p.n.e., przypuszcza się, że urodził się koło 365 r. p.n.e., a zmarł około 270 r. p.n.e.)
Euklides - ważne wydarzenia z życia (pobierał nauki w Akademii Platońskiej w Atenach; większość życia spędził w Aleksandrii, gdzie nauczał we własnej szkole matematyki; prawdopodobnie był zwierzchnikiem Biblioteki Aleksandryjskiej; napisał wiele prac związanych z matematyką, w tym „Elementy”, jedno z najważniejszych i najczęściej drukowanych dzieł matematycznych w historii)
(opcjonalne) Euklides - ciekawostki
Algorytm wyznaczania NWD - wstęp
Algorytm Euklidesa z odejmowaniem
Algorytm Euklidesa z dzieleniem
Bibliografia i przypisy
Slajd końcowy
Prezentacja powinna zawierać podstawowe informacje o samym matematyku (skąd jest, w jakim wieku żył, najważniejsze wydarzenia w jego życiu), jego dziele (kiedy powstało i co obejmuje swoimi zagadnieniami) oraz algorytmie, który pozwala na wyznaczanie największego wspólnego dzielnika (sposoby implementacji algorytmu oraz jego zastosowania w życiu codziennym).
Ważne!
Planując prezentację pamiętaj o zastosowaniu zasady 5 plus minus 2, która mówi, aby prezentując na stronie jakąkolwiek informację, najlepiej zastosować nie mniej niż 3 i nie więcej niż 7 elementów. Ma to na celu uniknięcie przytłaczania odbiorcy zbyt dużą liczbą opcji.
Mając potrzebną wiedzę łatwo odpowiesz na pytanie, co trzeba zrobić, aby skrócić ułamek. Wystarczy znaleźć największą liczbę naturalną taką, która dzieli bez reszty zarówno licznik jak i mianownik ułamka, następnie podzielić licznik i mianownik przez ten dzielnik. Taką liczbę nazywamy największym wspólnym dzielnikiem i oznaczamy NWD.
Powyżej znajdują się linki do materiałów przedstawiających zasady działania algorytmu. Przykład poniżej pozwoli ci lepiej zrozumieć jego praktyczne zastosowanie.
Przykład obliczenia NWD dla liczb i , algorytmem Euklidesa z zastosowaniem operacji odejmowania.
Tabela z przykładem obliczania NWD dla 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
1
Ćwiczenie 9
Zapisz w postaci listy kroków algorytm Euklidesa znajdowania największego wspólnego dzielnika dwóch liczb całkowitych dodatnich (z wykorzystaniem odejmowania).
RJQvdvNE3CZnR
Dokładnie prześledź przykład działania algorytmu znajdujący się nad ćwiczeniem.
Na początku sprawdź, czy podane dwie liczby są sobie równe. Jeśli tak, to ich największym wspólnym dzielnikiem będzie dowolna z tych liczb.
Zauważ, że w algorytmie Euklidesa z zastosowaniem operacji odejmowania, operację tą wykonujemy zawsze w kolumnie po stronie większej liczby. Musimy więc w każdym kroku porównywać wartości dwóch liczb, a większa liczba zostaje zastąpiona wynikiem operacji odejmowania.
Zawsze odejmujemy liczbę mniejszą od większej.
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ść .
Zwróć uwagę, że jeżeli jedna liczba jest dużo większa od drugiej, to wielokrotnie będzie następowało odejmowanie od niej tej samej mniejszej liczby. Takie wielokrotne odejmowanie można zastąpić operacją modulo z wykorzystaniem reszty z dzielenia. Na przykład dla i otrzymujemy:
Tabela z obliczeniami NWD dla liczb 256 i 48 z zastosowaniem operacji odejmowania.
a
b
256
48
256 - 48 = 208
48
208 - 48 = 160
48
160 - 48 = 112
48
112 - 48 = 64
48
64 - 48 = 16
48
16
48 - 16 = 32
16
32 - 16 = 16
16
16
Rozwiązanie z wykorzystaniem modulo (wersja z dwoma zmiennymi)
a
b
256
48
256 : 48 = 5 reszta 16
(256 mod 48 = 16)
48
16
48 : 16 = 3 reszta 0
48 mod 16 = 0
Zwróć uwagę, że zastępując odejmowanie operacją reszty z dzielenia zmienia się warunek końca powtarzania: jedna z wartości musi osiągnąć wartość .
Teraz zapoznaj się z innym zapisem:
Rozwiązanie z wykorzystaniem modulo (wersja ze trzema zmiennymi)
a
operator
b
równa się
wynik (reszta)
256
mod
48
=
16
48
mod
16
=
0
Operator mod oznacza operację wyznaczania reszty z dzielenia.
Wróćmy do przykładu obliczenia NWD dla liczb oraz i rozwiążmy go algorytmem Euklidesa z wykorzystaniem reszty z dzielenia (zastosowaniem operacji modulo). Na początek zapiszmy to w dwóch kolumnach, podobnie jak przy odejmowaniu.
Tabela z przykładem obliczania NWD dla liczb 76 i 48 z resztą dzielenia (wersja z dwoma zmiennymi)
a
b
76
48
76 : 48 = 1 reszta 28
(76 mod 48 = 28)
48
28
48 : 28 = 1 reszta 20
(48 mod 28 = 20)
28 : 20 = 1 reszta 8
(28 mod 20 = 8)
20
8
20 : 8 = 2 reszta 4
(20 mod 8 = 4)
8 : 4 = 2 reszta 0
(8 mod 4 = 0)
4
Rozwiązanie z wykorzystaniem modulo (wersja ze trzema zmiennymi)
a
operator
b
równa się
wynik (reszta)
76
mod
48
=
28
48
mod
28
=
20
28
mod
20
=
8
20
mod
8
=
4
8
mod
4
=
0
1
Ćwiczenie 10
Zapisz w postaci listy kroków algorytm Euklidesa znajdowania największego wspólnego dzielnika dwóch liczb całkowitych dodatnich (z wykorzystaniem reszty z dzielenia). Zapisz dwa sposoby:
z dwoma zmiennymi a, b i z instrukcją warunkową podobną, jak w przypadku algorytmu Euklidesa z odejmowaniem ,
wersję ze zmienną pomocniczą reszta.
Odpowiedź możesz umieścić w poniższym notatniku.
ROmBXBss4w38a
Dokładnie prześledź przykłady działania algorytmu znajdujące się nad ćwiczeniem.
Sposób 1 - dwie zmienne:
Warunkiem końca algorytmu jest, że jedna z wartości musi osiągnąć wartość 0.
Najpierw należy porównać dwie liczby, większą z nich należy zastąpić resztą z dzielenia liczby a przez liczbę b. Największym wspólnym dzielnikiem będzie wówczas suma dwóch zmiennych.
Sposób 2 - zmienna pomocnicza:
Warunkiem końca algorytmu jest, że b musi osiągnąć wartość 0.
Pomocniczą zmienną w drugim sposobie jest reszta, której należy przypisać wynik reszty z dzielenia liczby a przez liczbę b. Wówczas większa wartość będzie przyjmować wartość mniejszej, a mniejsza wartość reszty.
Zauważ, że nie trzeba porównywać tutaj obu liczb, gdyż w przypadku podania liczby b, większej od a - wykonamy tylko jedną dodatkową iterację pętli.
Specyfikacja problemu:
Dane: i – liczby całkowite dodatnie.
Wynik: – największy wspólny dzielnik liczb i .
Powtarzaj, aż lub : 1.1. Jeżeli to: ⠀ 1.1.1. Przypisz a wartość . w przeciwnym przypadku: ⠀ 1.1.2. Przypisz wartość .
Przypisz wartość .
Wprowadzając pomocniczą zmienną można zapisać algorytm trochę prościej, bez użycia instrukcji warunkowej.
Powtarzaj aż . 1.1. Przypisz zmiennej wartość . 1.2. Przypisz wartość . 1.3. Przypisz wartość .
Przypisz wartość .
2
Ćwiczenie 11
Znasz już kilka algorytmów znajdowania największego wspólnego dzielnika. Zastanów się i ewentualnie przedyskutuj z kolegami i koleżankami, który z nich wykona mniej powtórzeń.
Prześledź działanie obu algorytmów krok po kroku dla przykładowych liczb i spróbuj wyciągnąć wnioski.
Efektywniejszym algorytmem znajdowania największego wspólnego dzielnika, będzie algorytm wykorzystujący operację reszty z dzielenia. Wykona on mniej operacji, ponieważ wielokrotne odejmowanie tej samej liczby zostanie zastąpione operacją reszty z dzielenia. Dzięki operacji reszty z dzielenia odejmiemy wszystkie wielokrotności mniejszej liczby naraz. Korzystając z operacji obliczania reszty z dzielenia, wielokrotne operacje odejmowania zostaną wykonane w jednej instrukcji.
3
Ćwiczenie 12
Stwórz własny blok z dwoma parametrami liczbowymi, który będzie realizował jeden z algorytmów wyliczania największego wspólnego dzielnika.
Informacje na temat tworzenia własnych bloków znajdziesz w materiale Projektowanie automatu biletowego w programie ScratchDZP9YtLoFProjektowanie automatu biletowego w programie Scratch. Zostało to wyjaśnione w ćwiczeniu 17.
Często bardziej złożony problem warto podzielić na podproblemy i zapisać je w postaci oddzielnych bloków. Poniższa instrukcja pokaże ci, jak stworzyć własny blok w programie Scratch.
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.
Ważne!
Parametry potrzebne są w przypadku, kiedy chcesz podawać z zewnątrz dane dotyczące, np. długości boku kwadratu, który ma zostać narysowany przy pomocy bloku Kwadrat.
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ę algorytm wykorzystujący operację odejmowania.
R1GYEMGDpy6iU
Poniżej znajduje się algorytm wykorzystujący operację reszty z dzielenia.
RJOawIPc93MPv
R9KwdJowPRZOP
Ćwiczenie 12
iuak7gU6CL_d715e232
RDlp8Mzh7NbQz
Przykład skryptu, który korzysta z bloku reszta z dzielenia.
R1G6P61YPHlbN
Modyfikujemy program
Modyfikacja projektu będzie polegała na tym, aby rozpoznawać trzy stany:
Grający udzielił poprawnej odpowiedzi ze skróconym ułamkiem.
Grający udzielił poprawnej odpowiedzi co do wartości ułamka, ale go nie skrócił.
Grający udzielił błędnej odpowiedzi.
Czy grający udzielił prawidłowej odpowiedzi sprawdzisz używając tego samego warunku, co dotychczas.
R5uiKekjSs30N
Jeśli warunek przyjmuje wartość prawda, należy rozstrzygnąć, korzystając z bloku obliczającego NWD, czy wyświetlić „Brawo, to jest poprawna odpowiedź!!” (stan 1), czy „Dobrze, ale można skrócić ułamek...” (stan 2).
3
Ćwiczenie 13
Sformułuj warunek logiczny sprawdzający, czy grający podał jako odpowiedź skrócony ułamek i popraw skrypt.
RusMAP2wAvfnc
Należy obliczyć NWD dla wylosowanych wartości licznika i mianownika, a następnie wykorzystać wynik w warunku logicznym do sprawdzenia, czy podane jako odpowiedzi wartości są równe skróconemu ułamkowi.
Poprawiony skrypt:
RAa4Un02WNvKu
R1Py4slZ5I5ld
Ćwiczenie 13
Zadanie uzupełniające
3
Ćwiczenie 14
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, którymi można wypełnić prostokąt, jak również długość ich boku.
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 oraz długość boku pojedynczego kwadratu
Przykład: prostokąt o długości i . Minimalna liczba kwadratów wynosi (długość boku kwadratu wynosi ).
R1LOfqpvCnhAn
Zacznij od zapytania użytkownika o wysokość i szerokość prostokąta, następnie korzystając z algorytmu Euklidesa oblicz NWD otrzymanych wartości. Oblicz ile kwadratów pomieści prostokąt o zadanej wysokości oraz szerokości, wykonując dzielenie iloczynu wartości wysokości oraz szerokości prostokąta przez obliczoną wartość NWD. Następnie korzystając z obliczonych danych zapisz końcową odpowiedź.