arrow_back Powrót do aplikacji

Ułamek okresowy

WPROWADZENIE

Aby zamienić ułamek zwykły na dziesiętny, można na przykład:

  • rozszerzyć mianownik do 10, 100, 1000, itd.:

$\frac{1}{4}=\frac{25}{100}=0,25$

$\frac{7}{8}=\frac{875}{1000}=0,875$

$\frac{3}{5}=\frac{6}{10}=0,6$

  • podzielić licznik przez mianownik
Tu ma być grafika: https://mat.przemek.edu.pl/wp-content/uploads/2024/08/image-3.png

Są jednak ułamki zwykłe, których:

  • dzielenie licznika przez mianownik nie ma końca
  • nie da się rozszerzyć mianownika do 10, 100, 1000 …, 

PRZYKŁAD

Ułamek $\frac{2}{11}$ po podzieleniu licznika przez mianownik ma postać: 0,1818181818…

O takich ułamkach mówimy, że:

  • mają rozwinięcie dziesiętne nieskończone,
  • oraz okresem tego rozwinięcia jest powtarzająca się sekwencja cyfr – w przykładzie powyżej okresem jest (18)

KOD W JĘZYKU PYTHON

Zobacz w Google Colaboratory


JAK DZIAŁA PROGRAM?

  1. Program definiuje funkcję „zamien„, która przyjmuje argument „ulamek_zwykly” w postaci stringa, np. „2/3”.
  2. Funkcja „zamien” przetwarza string „ulamek_zwykly” na dwie zmienne „licznik” i „mianownik” typu int, używając metody „split()” do rozdzielenia licznika i mianownika, a następnie konwertując je na typ int za pomocą funkcji „int()”.
  3. Następnie oblicza wartość ułamka „ulamek” poprzez podzielenie „licznika” przez „mianownik”. Dalej, oblicza resztę z dzielenia „licznika” przez „mianownik” za pomocą operatora modulo „%” i przypisuje ją do zmiennej „reszta”.
  4. Funkcja inicjuje pusty słownik „reszty_pokaz” i pustą listę „rozwiniecie„.
  5. W pętli while … dopóki „reszta” nie znajduje się w „reszty_pokaz”, program dodaje resztę do słownika „reszty_pokaz” jako klucz, a długość listy „rozwiniecie” jako wartość. 
  6. Następnie dodaje cyfrę przed przecinkiem wynikającej z dzielenia 10 razy „reszta” przez „mianownik” do listy „rozwiniecie” i oblicza nową wartość „reszta”.
  7. Jeśli „reszta” znajduje się już w „reszty_pokaz”, program oblicza długość okresu, liczbę cyfr w okresie oraz ciąg cyfr okresu, a następnie zwraca ułamek wraz z informacją o okresie, liczbie cyfr w okresie i samym okresie.
  8. Jeśli „reszta” wynosi 0, program zwraca tylko wartość ułamka.
  9. Program prosi użytkownika o wprowadzenie ułamka zwykłego i przypisuje go do zmiennej „ulamek_zwykly”.
  10. Program wywołuje funkcję „zamien” z argumentem „ulamek_zwykly” i przypisuje wynik do zmiennej „ulamek”.
  11. Program wyświetla wynik, czyli ułamek wraz z informacją o okresie (jeśli istnieje) i liczbie cyfr w okresie.
arrow_back Powrót do aplikacji