Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- ## Zadanie 10
- ## Imie i nazwisko: Grzegorz Klauza
- ## Czas pracy nad zadaniem: 50m
- def wartosc_wielomianu(wielo, x):
- """
- Oblicza wartosc wielomianu w zadanym punkcie x. Zwraca ta wartosc.
- """
- s=0.0
- p=0
- for i in range (0,len(wielo)):
- s+=wielo[i]*(x**p)
- p+=1
- return s
- def pochodna_wielomianu(wielo):
- pochodna=[]
- for i in range (1,len(wielo)):
- pochodna.append(wielo[i]*i)
- if pochodna.count(0.0)==len(pochodna):
- for i in range (1,len(pochodna)):
- pochodna.remove(0.0)
- return pochodna
- def oblicz_pierwiastek(wielo,x,e):
- """
- oblicza pierwiastek wileomianu z dokładnością e
- """
- i=0
- s=wartosc_wielomianu(wielo, x[0])
- while abs(0-s)>e:
- i+=1
- x.append(x[i-1]-(wartosc_wielomianu(wielo, x[i-1])/wartosc_wielomianu(pochodna_wielomianu(wielo), x[i-1])))
- s=wartosc_wielomianu(wielo, x[i])
- pierwiastek=(x[i],i)
- return pierwiastek
- wielo = (0.0, 0.0, 17.5, 3.0, 1.0)
- x=[]
- x.append(float(raw_input('zgadnij x: ')))
- e=float(raw_input('podaj epsilon: '))
- print oblicz_pierwiastek(wielo,x,e)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement