Cześć. Wróciłem po dłuższym czasie.... Piszę kod dla brata na zajęcia z Technologi informacyjnych.
Mam wyznaczyć pola prostokąta za pomocą metody Monte Carlo. Użytkownik podaje wymiary prostokąta i inne parametry (XD)
Na początku wydawało mi się to bardzo proste ale po dłurzszej chwili siedząc nad kodem
i zgłębniają wiedzę na temat Monte Carlo za pomocą Chatgpt pomału się poddaje i zaczynam uważać to zadanie za bezsensowne.
Kodzik:
import random
def Monte_Carlo(width_Prost,height_Prost,liczba_Punkty):
punkty_w_Prost=0
for i in range(liczba_Punkty):
x=random.uniform(0,width_Prost)
y=random.uniform(0,height_Prost)
print(f"x: {x}, y: {y}") # Wyświetlenie losowanych punktów
if (0 <= x <= width_Prost) and (0 <= y <= height_Prost):
punkty_w_Prost+=1
proporcja=(punkty_w_Prost / liczba_Punkty) # Stosunek punktów w prostokącie do ogólnej liczby wylosowanych punktów
pole_Prost = width_Prost * height_Prost
przyblizone_Pole = proporcja * pole_Prost
return przyblizone_Pole
for i in range(3):
width_Prost = float(input(f"Podaj długość prostokąta {i+1}: "))
height_Prost = float(input(f"Podaj szerokość prostokąta {i+1}: "))
liczba_Punkty = int(input(f"Podaj liczbę punktów dla prostokąta {i+1}: "))
przyblizone_pole = Monte_Carlo(width_Prost, height_Prost,liczba_Punkty)
print(f"Przybliżone pole prostokąta {i+1}: {przyblizone_pole}")
Ogólnie z tego co się dowiedziałem to Monte Carlo pomaga w tego typu zadaniach podać przybliżoną wartość pola figury poprzez zawężenie obszaru i obliczenie części jego pola (SKOMPLIKOWANEJ FIGURY) nie wiem np gwiazdki albo czegoś takiego:
bo w moim wypadku liczba punktów w prostokącie = liczba wylosowanych punktów czyli ich stosunek to 1 czyli przybliżone pole to rzeczywiste pole.............
A użytkownik ma podać wymiray prostokąta więc i tak znam jego pole....
Proszę o pomoc