מבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 python

Post on 23-Jan-2018

187 Views

Category:

Education

10 Downloads

Preview:

Click to see full reader

TRANSCRIPT

מבוא לתכנות מדעי

6חלק 3שבוע

חישוב שורש

2016Igor Kleiner

חישוב שורש ממספר ממשי

לכתוב תוכנה שמחשבת שורש ממספר ממשי: מטרה•

חישוב שורש ממספר ממשי

לכתוב תוכנה שמחשבת שורש ממספר ממשי: מטרה•

כדי לחשב שורש אנו נעזר באחד מהאלגוריתמים הקיימים לחישוב שורש•

חישוב שורש ממספר ממשי

לכתוב תוכנה שמחשבת שורש ממספר ממשי: מטרה•

כדי לחשב שורש אנו נעזר באחד מהאלגוריתמים הקיימים לחישוב שורש•

• Babylonian Method

en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method

Algorithm of Babylonian Method

1. Given input X

2. Y = some initial guess for square root of X

3. Calculate Z=|Y^2-X|

4. while (Z is not small enough)

5. Y=(Y+X/Y)/2

6. Z=|Y^2-X|

7. print Y

הדגמה לשימוש בשיטה• X=100, Y=1, eps=0.01

• Z=abs(Y^2-100)=99 > eps

• Y=(1+100/1)/2=50.5 Z=2450>eps

• Y=(50.5+100/50.5)/2=26.24 Z=588>eps

• Y=15.025 Z=125.76

• Y=10.84 Z=17.515

• Y=10.03 Z=0.65

• Y=10.00005 Z=0.001056<eps

תרגום אלגוריתם לתוכנה

• http://www.codeskulptor.org/#user42_8QlK9bVtEO_0.py

1. Given input X

2. Y = some initial guess for square root of X

3. Calculate Z=|Y^2-X|

4. while (Z is not small enough)

5. Y=(Y+X/Y)/2

6. Z=|Y^2-X|

7. print Y

תרגום אלגוריתם לתוכנה

• http://www.codeskulptor.org/#user42_8QlK9bVtEO_0.py

1. Given input X

2. Y = some initial guess for square root of X

3. Calculate Z=|Y^2-X|

4. while (Z is not small enough)

5. Y=(Y+X/Y)/2

6. Z=|Y^2-X|

7. print Y

תרגום אלגוריתם לתוכנה

• http://www.codeskulptor.org/#user42_8QlK9bVtEO_8.py

1. Given input X

2. Y = some initial guess for square root of X

3. Calculate Z=|Y^2-X|

4. while (Z is not small enough)

5. Y=(Y+X/Y)/2

6. Z=|Y^2-X|

7. print Y

תרגום אלגוריתם לתוכנה

• http://www.codeskulptor.org/#user42_8QlK9bVtEO_8.py

תרגום אלגוריתם לתוכנה

:שאלות חשובות•?האם האלגוריתם נכון•

?(מהיר)האם האלגוריתם יעיל •

?איך לבדוק נכונות של אלגוריתם•

?איך להשוות בין אלגוריתם אחר לחישוב שורש•

?באיזה אלגוריתם להשתמש•

?איך כותבים אלגוריתם•

•....

:תשובות•קורס אלגוריתמים•

• Igor Kleiner (Hebrew version adaptation 2016)

top related