בולנט - דברים מיוחדים...     פרוטו - בניית אתרים

Israeli ASP Organization

ארגון ה-ASP הישראלי

מאמרים/דוגמאות קוד
קישורים
ספרות
חיפוש כללי:

חפש!
כלליHTMLASPASP.NETSQLמסדי נתוניםJavaScriptXML * XSLDHTML * CSSעיצוב וגרפיקהשרתיםComponentsפרסום ושיווקקידום אתריםקופירייטינגPHP
פרסומת
דף ראשי מדורים דרושים הרשמה למועדון אודותינו צור קשר
מיקום: מאמרים ודוגמאות קוד > ASP > VBScript

פונקציות Div & Mod

Mod

הפונקציה מחזירה את השארית השלמה המתקבלת מחלוקת מספר טבעי אחד במספר טבעי שני
תחביר:

int1 mod int2 19 mod 7 = 5
בגלריית התמונות השתמשנו בפונקציה כדי לבדוק מתי מתחילה שורה ומתי מסתיימת שורה.
בכל שורה יש 3 תמונות, כל תמונה שמספרה מתחלק ב-3 תהיה האחרונה בשורה: 3,6,9,12,15... וכו
לכן שאלנו if i mod PicsInRow = 0 Then Response.Write "</tr>"
באותו אופן בדקנו מתי יש צורך לפתוח שורה חדשה בטבלה
if i mod PicsInRow = 1 Then Response.Write "<tr>"
התמונות 1,4,7,10,13,16... פותחות שורה חדשה בטבלה: מספרן מתחלק במספר התמונות בשורה עם שארית 1

Div

הפונקציה מחזירה את מספר הפעמים שמספר טבעי אחד מתחלק במספר טבעי שני ללא שארית
תחביר:

int1/int2 22 div 5 = 4
ניתן להשתמש בפונקצית mod כדי לקבל את הפונקציה div:
div = (int1 - (int1 mod int2)) / int2
19 div 7 = (19 - (19 mod 7)) / 7 = (19 - 5) / 7 = 14/7 = 2

:ניתן גם ליצור את שתי הפונקציות בדרך רקורסיבית בעזרת פעולת חיסור
div פונקצית

<% Function div_fnc(n, divider) If n < divider Then div_fnc = 0 Exit Function Else div_fnc = 1 + div_fnc(n - divider, divider) End If End Function %>


הפונקציה מקבלת מחולק ומחלק ומחזירה את מספר הפעמים השלמות שהמחלק נמצא במחולק
דוגמא: div_fnc(22, 5) if 22 < 5 Then... לא else div_fnc = 1 + div_fnc(17, 5) אם המחולק אינו קטן מהמחלק אנו מוסיפים 1 למספר הפעמים ומפעילים את הפונקציה על המחולק פחות המחלק
div_fnc(17 ,5) if 17 < 5 לא else div_fnc = 1 + div_fnc(12, 5)
:שוב נפעיל את הפונקציה
div(12, 5) if 12 < 5 לא else div_fnc = 1 + div_fnc(7, 5)
:ושוב נפעיל את הפונקציה
div_fnc(7, 5) if 7 < 5 לא else div_fnc = 1 + div_fnc(2, 5)
:ושוב נפעיל את הפונקציה
div_fnc(2, 5) if 2 < 5 Then כן div_fnc = 0 Exit Function.
המספר 2 אינו מכיל בתוכו את 5 ולכן קיבלנו את הערך 0
כעת נעלה במעלה הפירמידה כדי לחשב מהו div_fnc(22, 5):
div_fnc(7 ,5) = 1 + div_fnc(2, 5) = 1 + 0 = 1 div_fnc(12, 5) = 1 + div_fnc(7, 5) = 1 + 1 = 2 div_fnc(17, 5) = 1 + div_fnc(12, 5) = 1 + 2 = 3 div_fnc(22, 5) = 1 + div_fnc(17, 5) = 1 + 3 = 4 המספר 22 מתחלק ב-5 4 פעמים ללא שארית

:באופן דומה ניתן ליצור את פונקצית mod בדרך רקורסיבית

<% Function mod_fnc(n, divider) If n < divider Then mod_fnc = n Exit Function Else mod_fnc = mod_fnc(n - divider, divider) End If End Function %>

mod_fnc(13, 5) if 13 < 5 לא else mod_fnc = mod_fnc(8, 5) mod_fnc(8, 5) if 8 < 5 לא else mod_fnc = mod_fnc(3, 5) mod_fnc(3, 5) if 3 < 5 כן mod_fnc = 3 Exit function

המחולק קטן מהמחלק ולכן השארית היא המחלק

mod_fnc(13, 5) = mod_fnc(8, 5) = mod_fnc(3, 5) = 3
המספר 13 מתחלק ב-5 עם שארית 3

25 div 6 = div_fnc(25, 6) = 4 25 mod 6 = mod_fnc(25, 6) = 1

         

מחבר: אורי יחיאלירמת קושי: 0  ||  ציון: (6)כל הזכויות שמורות ל-IAO ©

חנות לסטלן  |   מתכונים  |   חגי ישראל  |   פורטל משחקים  |   חנויות מחשבים ו-ציוד הקפי  |   מגזין מסטול לסטלן המצוי  |   קליפרים  |   גידול צמחים פרחים  |   ספא פינוק מושלם