שאלה - פעולת חשבון

  • פותח הנושא ikki
  • פורסם בתאריך

ikki

New member
שאלה - פעולת חשבון

שאלתי כבר כמה אנשים שמבנים ב php, ואף אחד לא ידע... טוב אז ככה, יש לי שבר ואני רוצה לצמצם אותו... מישהוא יודע איך?... בתודה, Ikki
 

hpman28

New member
מוזר

אני לא יודע את מי שאלת, אבל זה מאוד בסיסי הפונקציות שאתה מבקש:
$int = round($double)​
יחזיר לך את המספר השלם הכי קרוב, לפי המספר. לדוגמא, 7.7 יחזיר לך 8 ו- 7.4 יחזיר לך 7. ו:
$int = floor($double);​
יחזיר לך את המספר השלם התחתון. לדוגמא : 7.7 יחזיר לך 7
 

Secret0ne

New member
הוא לא התכוון לעגל תמספר הוא התכון

לצמצם שבר למשל 2/4 למרות שבעצם אם עושים את פעולת החילוק זה יחזיר חצי.. לא הבנתי מה אפשר לצמצם? אם אתה רוצה משהו שישאיר את זה כשבר תעשה פונקציה שעוברת על המונה והמכנה ובודקת במה שניהם מתחלקים ללא שארית עד שזה לא יימצא יותר וזהו השבר הסופי.
 

mermaid7

New member
משהו שיכול לעזור

עברתי על פונקציות הספריה ב php ומצאתי שם את הפונקציה : gmp_gcd שמחזירה את המחלק המשותף הגדול ביותר של שני מספרים . כך אם השבר הוא a/b אתה יכול לקבל את המחלק הגדול ביותר שלהם באמצעות הפונקציה .לדוגמא :
$gcd = gmp_gcd(a,b); if (gcd > 1) { $c = $a / $gcd ; $d = $b / $gcd ; } echo "$c"."/"."$d";​
השאלה הזו עוררה בי זכרונות מימי האוניברסיטה , כשניסו להחדיר לנו קצת בינה בענייני אלגברה לינארית (נדמה לי ) ולימדו אותנו את האלגוריתם למציאת מחלק משותף גדול ביותר של אאוקלידס . אם זה מעניין , מצאתי מאמר בנושא שמצורף כאן. דנה.
 

ikki

New member
תודה רבה

תודה רבה לכל התגובות המהירות... אני מניך לא הסברתי את עצמי כראוי. יש לי נגיד שבר של 2/4 . אני צריך לצמצם את סה למספר הכי קטן, שזה יוצא 1/2 . עכשיו השאלה, איך אני עושה את הצימצום שברים ב php?
 

Secret0ne

New member
הסברתי לך!!

אתה כותב פונקציה שעוברת על המונה ועל המכנה בו זמנית ובודק מה מצטמטם בשניהם ללא שארית (כמובן המספרי חילוק יהיו קטנים מהמספרים שאתה מחלק אותם) אפשר עם לולאה עד שלא יהיה אפשר יותר לחלק בלי שארית ואז מציגים מה המספרים וזהו.
 

mermaid7

New member
../images/Emo13.gifחזרה על צמצום שברים

איך מצמצמים שבר חשבונית ? נניח שהשבר מיוצג עי a/b כאשר a מייצג מונה ו b מייצג מכנה. ראשית יש למצא את המחלק המשותף הגבוה ביותר של a ו b. נניח שהמחלק המשותף הגבוה ביותר נמצא ומיוצג ע"י gcd .נייצג את השבר המצומצם ע"י c/d כאשר : c=a/gcd d=b/gcd ולגבי php ,מסתבר שקיימת פונקצית ספריה שמחזירה את המחלק המשותף הגבוה ביותר והיא נקראת gmp_gcd ומומלץ מאוד להשתמש בה.הנה קוד לדוגמא (נשארת עם אותו ייצוג למונה , מכנה ושבר מצומצם ) :
$gcd = gmp_gcd($a,$b); if ($gcd >1) { $c = $a / $gcd; $d = $b / $gcd; } else { $c = $a ; $d = $b; } echo "השבר המצומצם :"; echo $c."/".$d;​
פשוט מוצאים מחלק משותף גבוה ביותר עם פונקצית הספריה gmp_gcd . אם אותו מחלק גבוה מ 1 מחלקים בו ומוצאים את השבר המצומצם ולא , נשארים עם השבר המקורי. מקווה שעכשיו זה מובן, דנה.
 
למעלה