Obliczanie liczby pi metodą Monte Carlo w Pythonie

Algorytm rozwiązywania równania liniowego

 

Schemat algorytmu obliczania liczby pi metodą Monte Carlo

import random
random.seed()
n = int(input('n = '))
k = 0
for j in range(n):
    x = random.random()
    y = random.random()
    if x * x + y * y <= 1:
        k += 1
p = 4 * k / n
print("pi =", p)

 

 

 

Konfiguracja i Wejście danych

  • Kod: import random oraz random.seed()
    • Schemat: Krok 1 (START). Te linie odpowiadają za przygotowanie środowiska poprzez zaimportowanie modułu losującego i inicjalizację generatora liczb losowych, co jest częścią rozpoczęcia programu.
  • Kod: n = int(input('n = '))
    • Schemat: Krok 2 (Czytaj: n). Program pobiera od użytkownika liczbę całkowitą n (całkowita liczba losowanych punktów) i przechowuje ją w zmiennej.

Inicjalizacja i Pętla Główna

  • Kod: k = 0
    • Schemat: Krok 3 (część pierwsza: k:=0). Zmienna k (licznik punktów trafionych w koło) jest zerowana.
  • Kod: for j in range(n):
    • Ta pętla for w Pythonie wykonuje się dokładnie n razy. Logicznie odpowiada ona za kontrolę iteracji:
      • Krok 3 (część druga: i:=1): Pętla rozpoczyna się od pierwszej iteracji.
      • Krok 7 (i:=i+1): Pętla automatycznie zwiększa licznik i przechodzi do następnej iteracji.
      • Krok 8 (Decyzja: i≤n): Pętla automatycznie kończy działanie po wykonaniu n powtórzeń.

Symulacja (Wewnątrz Pętli)

  • Kod: x = random.random()
  • Kod: y = random.random()
    • Schemat: Krok 4 (x:=random,y:=random). W każdej iteracji losowane są dwie współrzędne (x,y) z przedziału od 0.0 do 1.0, symulując położenie punktu w ćwiartce kwadratu jednostkowego.
  • Kod: if x * x + y * y <= 1:
    • Schemat: Krok 5 (Decyzja: x2+y2≤1). Sprawdzany jest warunek, czy wylosowany punkt leży wewnątrz koła o promieniu r=1 (odległość od środka ≤1).
  • Kod: k += 1
    • Schemat: Krok 6 (k:=k+1). Ta instrukcja wykonuje się tylko wtedy, gdy warunek z kroku 5 jest prawdziwy (punkt trafił w koło).

Wynik

  • Kod: p = 4 * k / n
    • Schemat: Krok 9 (p:=4∗k/n). Obliczenie przybliżonej wartości liczby Pi. Stosunek trafień (k) do liczby prób (n) jest mnożony przez 4 (ponieważ pole ćwiartki koła ma się do pola kwadratu jednostkowego jak π/4).
  • Kod: print("pi =", p)
    • Schemat: Krok 10 (Pisz: p). Wyświetlenie obliczonej wartości Pi na ekranie.
  • Koniec Skryptu
    • Schemat: Krok 11 (STOP). Zakończenie działania programu.