Advertisement
matisarnowski

calkowanie

Oct 4th, 2019
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.63 KB | None | 0 0
  1. import math
  2.  
  3. def pola_trapezow(a, b, n):
  4.     wszystkie_pola = 0
  5.     for k in range(n):
  6.         podstawa_dolna = 0
  7.         podstawa_gorna = 0
  8.         j = 0
  9.         odwrocony_stopien = stopien
  10.         while j <= stopien and odwrocony_stopien >= 0:
  11.             podstawa_dolna += tablica_wsp[j] * ((a + k * (b - a) / n) ** odwrocony_stopien)
  12.             podstawa_gorna += tablica_wsp[j] * ((a + (k + 1) * (b - a) / n) ** odwrocony_stopien)
  13.             j += 1
  14.             odwrocony_stopien -= 1
  15.         pole = ((math.fabs(podstawa_dolna + podstawa_gorna)) / 2) * ((b - a)/n)
  16.         wszystkie_pola = wszystkie_pola + pole
  17.    
  18.     return wszystkie_pola
  19.  
  20. print('Policzymy pole figury ograniczonej osią X pod wykresem funkcji, będącej wielomianem stopnia n.')
  21.  
  22. stopien = int(input('Podaj liczbę naturalną będącą stopniem wielomianu pod, którego wykresem policzymy pole: '))
  23.  
  24. print('Teraz podaj kolejno współczynniki: ')
  25.  
  26. tablica_wsp = []
  27. for i in range(stopien + 1):
  28.     wsp = float(input('Podaj współczynnik przy x^' + str(stopien - i) + ' może to być dowolna liczba wymierna. ' ))
  29.     tablica_wsp.append(wsp)
  30.  
  31. print('Teraz podaj w jakim zakresie osi x, chcesz policzyć pole pod wykresem: ')
  32.  
  33. a = int(input('Podaj pierwszą liczbę, musi to być liczba całkowita: '))
  34. b = int(input('Podaj drugą liczbę, musi to być liczba całkowita: '))
  35.  
  36. print('Jak bardzo dokładnie chcesz policzyć pole, wpisz na ile trapezów program ma podzielić pole pod wykresem: ')
  37.  
  38. n = int(input('Podaj liczbę naturalną: '))
  39.  
  40. calka = pola_trapezow(a, b, n)
  41.  
  42. print('Pole figury pod wykresem tej funkcji jest równe: ' + str(calka))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement