וובמאסטר - תיכנות ובניית אתרים

מספרים אקראיים - חלק א'

entry/‏ 23 אפריל, 2002
F+
F-
<% Function GetRandomNumber(MinVal,MaxVal) GetRandomNumber= Int(((MaxVal-MinVal+1) * Rnd) + MinVal) End Function %> לעיתים אנו נתקלים בצורך לחולל מספרים אקראיים למטרות שונות. אנו עושים זאת באמצעות הפונקציה Rnd של VBScript.



איך פועלת הפונקציה?

הפונקציה Rnd מחזירה לנו מספר עשרוני אקראי בין 0 ל-1.
דרך הקריאה לפונקציה היא

Rnd[(number)]

כש- number הוא פרמטר אופציונאלי. אם הוא לא מסופק, הפונקציה תחזיר את המספר האקראי הבא בסדרה. הערכים ש-number יכול לקבל:
  • >0 הפונקציה Rnd תחזיר כל פעם את אותו מספר
  • <0 הפונקציה Rnd תחזיר את המספר האקראי הבא בסדרה
  • =0 הפונקציה Rnd תחזיר את המספר האחרון שהיא הפיקה

על מנת שהפונקציה באמת תחזיר לנו מספר אקראי שונה בכל פעם, אני צריכים לקרוא לפונקציה Randomize לפני הקריאה ל-Rnd.
אם אנו קוראים ל-Rnd כמה פעמים באותו הדף, מספיק לקרוא ל-Randomize פעם אחת בתחילתו.

1
2
3
4
5  
<%
Randomize
Response.Write Rnd & "<BR>"
Response.Write Rnd & "<BR>"
%>


והתוצאה:

<% Randomize Response.Write Rnd & "
" Response.Write Rnd & "
" %>


(אם נרענן את העמוד, נראה כיצד התוצאה משתנה)




הפקת מספר שלם אקראי בטווח מסויים

לפעמים אנו צריכים מספר שלם אקראי בטווח מסויים, למשל, בין 1 ל- 10. את זאת ניתן לעשות ע"י הנוסחה:

1
2
3  
<%
Random_Number = Int(((MaxVal-MinVal+1) * Rnd) + MinVal)
%>


נוסחה זו תחזיר לנו מספר שלם אקראי בין MinVal ו- MaxVal.
ניתן לשכלל זאת ולבנות פונקציה אשר תקבל את הטווח ותחזיר לנו מספר שלם באותו הטווח:

1
2
3
4
5  
<%
Function GetRandomNumber(MinVal,MaxVal)
    GetRandomNumber= Int(((MaxVal-MinVal+1) * Rnd) + MinVal)
End Function
%>


לפונקציה אנו נקרא כך:

1
2
3
4
5
6  
<%
Randomize
Response.Write GetRandomNumber(10,99) & "<BR>"
Response.Write GetRandomNumber(0,10) & "<BR>"
Response.Write GetRandomNumber(3,9) & "<BR>"
%>


והתוצאה:

<% Randomize Response.Write GetRandomNumber(10,99) & "
" Response.Write GetRandomNumber(0,10) & "
" Response.Write GetRandomNumber(3,9) & "
" %>


(אם נרענן את העמוד, נראה כיצד התוצאה משתנה)

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

entry

סטודיו לבניית אתרים שהוקם בינואר 2005
תגיות: ASP‏  /  אקראי‏  /  random‏  /  rnd‏  

תגובות בפייסבוק

תגובות למאמר



תגיות פופולאריות

X
הצטרף לעמוד שלנו בפייסבוק להישאר מעודכן!
וובמאסטר © כל הזכויות שמורות