Download Code in Python 2.7.5 disini: 2014 03 28 PR2 SCL graphic Antonius Ivan
# Program to approximate pi value with GUI
# Antonius Ivan / 1601215140 / 04 PAW
from graphics import *
import math
def main():
win = GraphWin(“Approximation Pi”, 500, 350)
win.setBackground(‘blue’)
# interface
Text(Point(160,40), “Total First terms approximation pi: “).draw(win)
Text(Point(110,225), “Approximation : “).draw(win)
Text(Point(110,250), “True Value : “).draw(win)
Text(Point(110,275), “True Error : “).draw(win)
Text(Point(110,300), “Relative Error : “).draw(win)
Text(Point(110,325), “Percent Relative Error : “).draw(win)
input = Entry(Point(250,80), 5)
input.setText(“0″)
input.draw(win)
button = Text(Point(250,150),”Approximate”)
button.setStyle(“bold”)
circ = Circle(Point(250,150), 53)
circ.setFill(“lightblue”)
circ.draw(win)
button.draw(win)
output1 = Text(Point(250,225),””)
output2 = Text(Point(250,250),””)
output3 = Text(Point(250,275),””)
output4 = Text(Point(250,300),””)
output5 = Text(Point(254,325),””)
output1.draw(win)
output2.draw(win)
output3.draw(win)
output4.draw(win)
output5.draw(win)
win.getMouse()
# calculate input
trueValue = math.pi
def pi(n):
apx = 0.0
for i in range(n):
apx += ((-1)**i)*4./((2*i)+1)
return apx
approx = pi(eval(input.getText()))
trueError = trueValue – approx
rE = trueError/trueValue
pRE = rE*100
# output
output1.setText(“%0.10f” %approx)
output2.setText(“%0.10f” %trueValue)
output3.setText(“%0.10f” %trueError)
output4.setText(“%0.10f” %rE)
output5.setText(“%0.10f%%” %pRE)
button.setText(“Quit”)
win.getMouse()
win.close()
main()