טכני מחשבון בסיסים 1219
=====================
הבדיקה כללה פתרון תרגילים(ולא מעטים) בנושא.
כל התשובות הנכונות נמצא והתאימו לתוצאות החשבון.
(התשובות הנכונות=מיני עשרות רבות של שאלות ויותר נמצא בקובץ ורק שגיאת דפוס קלה (DD6D)).
@@@@@לציין שאותו קובץ התרגילים מושקע בנתינה כבכישרון ובטעם כוביידע רב, קובץ מעולה ולדעתי, לציין כישנם ועוד.
לעניין מחשבון הבסיסים:
גם שאינו כולל קלט של מספרי שבר(אלא ורק בתוצאות חלוקה),
יכול לשמש כלי עזר גם בתחום זה, כנוסף גם כלי המחשבון המדוייק.
small example: (0.1A2)16 = 1/16^1 + 10/16^2 + 2/16^3 (in Base 10)
לציין גם שהחומר הלימודי מעניין מעשיר מרתק ומשולב בהגיון, כרק ולמשל:
הבנת הקשר בין הבסיסים [2] [8] ו [16] תיתכן ותביא לדרך קלה יותר גם בהסבת חלקי השבר.
small as start idea: 1/2=4/8=8/16 , 1/4=2/8=4/16 , 1/8=2/16
גם שאינו כולל במפורש את נושא המשלים (ל-1 ל-2):
המחשבון מהווה כלי עזר לכך, ויחד עם הבנה עקרונית של החומר הלימודי:
מגבלת הבתים, או וגם: [Not] או וגם [+-] או וגם חיסור[-] מ-המשלים (כהוספת 01 בתחילה ובאין מגבלת בתים) ..
(מחשבה אישית: למה להשלים בעוד נניח 2 פעולות נוספות??: כשהמרצות והמרצים להעביר ללמד: והחשיבות ואת העקרונות להבין)
אותרה גם (מראית של) בעיה בחלוקה עם שארית:
================================
מראית של, כי:
זה עובד טוב ראוי, החלוקה נערכת לפי בסיס עשרוני,
לכן תוצאות אין סופיות בבסיס 10, כמו תוצאת חלוקת 1 ב 3,
יכולות להימצא כתוצאות מוחלטות בבסיסים אחרים, כמו בבסיס [3] [6] [9] .. [12]
למשל, 1 חלקי 3 בבסיס 10 = 0.333333
אם מתבקשת תוצאה בבסיס [3] התשובה המדוייקת לכך = 0.1
המחשבון נותן תוצאה קרובה ביותר:0.0222.... עם זאת לא את המדויקת.
(מקרים שכאלו משולים מעשית לאי דיוק של: 0.000000....1 ובלבד).
לציין גם שבבסיס [12] נמצא ויתגלו בתוצאה גם 'זנבות' ''''אתיים'''' נוספים.
סיכום ולהבנתי שכותב:
נראה שהמחשבון עקרונית כבר טוב וראוי לשימוש.
####: כהתחושה והמחשבה הבהירה שנראה גם שצריך((אני)) להמשיך עוד להעמיק ולבדוק, כתיקון כאמור ולשקול.
תיקון פונקצית Right למשל ובקובץ Vb2Js.js
============================
כאמור נמצא שבמקרים מסויימים אינה תואמת במדוייק למענה כמו ב: VB6
נבדק ונראה שאין הפעלה מעשית בכלי האתר שיתנו ביטוי לחוסר התאמה זאת.
פשוט היה לתקן את הפונקציה מיידית, ונמצא נכון יותר להשאיר זאת לשיפוטכם/ן: טווח זמן לתיקון.
מסקנתי האישית שכותב, ועוד:
נראה שהמחשבון עקרונית טוב וראוי לשימוש. להידחות גם לעוד 2-3 שבועות נוספים, עם זאת חוסר דרוג זאת החמצה כי יכול לשמש כבר ככלי חישובי ראוי וגם כעזר לנוסף, באין מהותי ואחר יש להשלים כעת עם החוסר שנמצא: ומכאן שכבר מוזמנות מוזמנים כבר כעת לעומק ולבדוק. לציין שעם כתיבת זה כבר יש מחשבה לפתרון גם ולזה, ככבר וגם התחיל פיתוח של אם רק קטן כנוסף כתוסף קשור נושא כללי זה.
ואם יש רצון לתקן או להעיר לדברים ובבקשה: ונא לשלוח לדף המשוב
( 15.12.2019 עורך האתר: איתן בוקס).
נוסף ב 25/12/2019:
דיוק שבר בסיס
===================
דיוק מספר שבר של בסיס,
נבנה עם פונקצית עיגול ייעודית חדשה(ו 4 קשורות).
ניתן לראות תוצאות במחשבון בחלק 2). מבסיס לבסיס:
ולמשל , מחלקים 1 ב 3 :
ובשדה [לבסיס] מריצים ובודקים לבסיסים המבוקשים, שבין [2] ל [16]. [נוסף ולשם השוואה]
שיטת דיוק העיגול
------------------------
אם בבסיס[10] כל 0.5 ושמעליו יעוגל מעלה ל 1.
ואם בבסיס [16] כל 0.8 ושמעליו יעוגל מעלה ל 1.
ומה עם בסיסים אי זוגיים: [3] [5]...[15] מה כאן ספרת-רף לעיגול?:
בבסיס [5] למשל, לא 0.2 וגם לא 0.3 הם חצי/החציון המדוייק.
ונראה שמקרי עיגול יכולים גם להוביל ועד לספרת השבר האחרונה :::
בסיס אי זוגי, למשל כדוגמת שברים ב-בסיס [5]:
0.1 : יעוגל מטה
0.3 0.4 יעוגלו מעלה.
ו 0.2 בבסיס [5] למה בדיוק לעגל?: כי:
(0.22)5 קטן מחצי ו (0.23)5 גדול מחצי.
ובמקרים אלו זאת בדיוק השיטה:
1. נמשיל רף לחציון = (הבסיס +1)/2 במקרה [5] זה (5+1)/2 = 3.
2. אם הספרה שלעיגול קטנה ב-1 מרף לחציון נביט גם בספרה שאחריה
ואם גם זאת שלאחריה זהה כקטנה ב-1 מרף לחציון הבדיקה תימשך .. ...,
תימשך ועד לספרה שאחרת, ואין כזאת: ועד אפילו לספרה אחרונה. ולמשל:
(0.22)5 קטן מחצי: יעוגל ל 0.
(0.23)5 גדול מחצי: יעוגל ל 1.
(0.2222)5 קטן מחצי: יעוגל ל 0.
(0.2223)5 גדול מחצי: יעוגל ל 1.
(0.22)5 , בעשרוני = 2 חלקי 5^1 + 2 חלקי 5^2 = 2/5 + 2/25 = 12/25 = 0.48
(0.23)5 , בעשרוני = 2 חלקי 5^1 + 3 חלקי 5^2 = 2/5 + 3/25 = 13/25 = 0.52
(0.2222)5 = 2/5 + 2/25 + 2/125 + 2/625 = 312/625
(0.2223)5 = 2/5 + 2/25 + 2/125 + 3/625 = 313/625
פונקצית דיוק שבמחשבון פועלת לפי עקרון זה.
והפונקציה שקשורה בחילוק מביאה ורק לתוצאה סבירה למדוייקת.
ואם כבר, גם כבר קרוב להמחשת עקרון
ההסבה לבסיס [10] של מספר שבר בסיס:
(0.4223)5 = 4/5 + 2/25 + 2/125 + 3/625
(0.3054)6 = 3/6 + 0/36 + 5/216 + 4/1296
(0.3054)10 = 3/10 + 0/100 + 5/1000 + 4/10000
וכאן לי זאת שכותב, הקרוב שמעל, נראה כבר טיפה כיותר ומוכר.
תיקון פונקצית St_Nz החדשה
=======================
היה רשום: if (pr == "")
כך שאם שולחים פרמטר מספרי(pr) בערך של 0 התשובה: true
והכוונה היא שגם ערך 0 (כ-1 כ-2 וכו...) יביאו לתשובה של: false
לכן if (pr == "") שגוי עקרונית לבדיקת ערך שיתכן שנשלח מתבנית נומרית,
כי יש חריג מספרי נומרי, הערך 0 , שעונה אחרת מהתשובה הכללית כהמצופה
ובמקום זאת מוחלף ומתוקן ל : if (Len(pr) == 0)
למשל בחינה בדרך(פשוטה) ואחרת:
alert(0 == "") = true
alert(Len(0) == "") = false
נראה שרק במקרה של 0 נומרי(מספרי), במקרים נומרים אחרים:
alert(1 == "") = false
alert(2 == "") = false
alert(10 == "") = false
ובמקרים 'אלפא נומרים':
alert("0" == "") = false
(תוקן גם אם רק ונדמה שאין מקרים פרטיים לשליחת 0)
(גם ומעשית התיקון היחיד שנערך בקובץ htm של המחשבון).
וממש לא משנה כי תיקון זה נכון וחשוב גם יתכן ולמחשבון נוכחי כראשוני לא או שכן מתבקש.
פונקצית St_Diuk_Base_10From_Dp
============================
פונקציה שאחראית למעבר שבר עשרוני לבסיס.
קודם כמשתמע הוסף לה קשר לפונקצית הדיוק החדשה.
בנוסף נמצא להרחיב את פס השבר ולשם הגברת הדיוק.
(פונקציה יחידה שתוקנה בקובץ js ומלבד אלו החדשות שנוספו).
שנותר לשמר את שיצא בתחילה כלמי שרוצה (גם לבדיקתם של דברים).
ואם במקרה של צורך בתוספות או גם בתיקונים, יוסף יתוקן בגירסתו הנוכחית.
כעם רק ושוב: ויש רצון לתקן או להעיר לדברים ובבקשה: ונא לשלוח לדף המשוב
בברכה.