תכנות - שיעור 22 11/December/2005    

קצת מתמטיקה

דברנו על פעולות חשבון פשוטות, ומעט על כמה הם מסתבכות.

חיבור (addition, sum)

נניח שאנו יודעים למצוא עוקב של מספר, כלומר בהינתן lteq1.png לחשב את lteq2.png באפן טבעי נוכל לחשב עתה את
lteq3.png
וכך מגדירים את
lteq4.png
ואפשר להבחין כי
lteq5.png

אם ידוע כי

lteq6.png
אז
lteq7.png

כפל (multiplication, product)

מצוידים בידע לחבר, אנו יודעים לחשב את
lteq8.png
וכך מגדירים את
lteq9.png
ואפשר להבחין כי
lteq10.png

אם ידוע כי

lteq11.png
אז
lteq12.png

חזקה (power, exponent)

מצוידים ביכולת להכפיל, אנו יודעים לחשב את
lteq13.png
וכך מגדירים את
lteq14.png
בניגוד לחבור ולכפל, אין סימטריה דומה בפעולת החזקה. בדרך כלל
lteq15.png
וגם הפעולות ההפכיות מסובכות יותר.

אם ידוע כי

lteq16.png
אז
lteq17.png


Python - יכולות נוספות

ראינו איך ניתן ב-Python לבצע את הדברים הבאים: בפתרון הניתן כאן למטה לתרגיל קודם, תוכלו לראות שמוש בשתי היכולות האחרונות.

תרגילים

  1. נא להשלים את התרגילים של השעור הקודם . רצוי לפני שאתם מציצים בפתרון המוצע למטה.
  2. כתבו תכנית ובה פונקציה שמקבלת מספר שלם כפרמטר
    isPrime(n)
    ומחזירה True אם המספר הינו ראשוני ומחזירה False אחרת. התכנית תקרא לפונציה עבור כל המספרים שנתנים בשורת הפקודה, ותדפיס את "פסק הדין".

פתרונות לתרגילים קודמים

להלן פתרונות לתרגילים שניתנו בשעור קודם . פתרון לחשוב שורש ממשי , פתרון לחשוב החלק השלם של שורש ממספר שלם ופתרון לבדיקה אם מספרים הנם רבועים .


חזרה לעמוד האם