מספרים אקראיים – חלק א'
<% 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 פעם אחת בתחילתו.
|
|
והתוצאה:
<%
Randomize
Response.Write Rnd & "
"
Response.Write Rnd & "
"
%>
(אם נרענן את העמוד, נראה כיצד התוצאה משתנה)
הפקת מספר שלם אקראי בטווח מסויים
לפעמים אנו צריכים מספר שלם אקראי בטווח מסויים, למשל, בין 1 ל- 10. את זאת ניתן לעשות ע"י הנוסחה:
|
|
נוסחה זו תחזיר לנו מספר שלם אקראי בין MinVal ו- MaxVal.
ניתן לשכלל זאת ולבנות פונקציה אשר תקבל את הטווח ותחזיר לנו מספר שלם באותו הטווח:
|
|
לפונקציה אנו נקרא כך:
|
|
והתוצאה:
<%
Randomize
Response.Write GetRandomNumber(10,99) & "
"
Response.Write GetRandomNumber(0,10) & "
"
Response.Write GetRandomNumber(3,9) & "
"
%>
(אם נרענן את העמוד, נראה כיצד התוצאה משתנה)
בחלק השני
של המאמר, נראה דוגמאות להפקת סדרה של מספרים אקראיים שאינם חוזרים על עצמם, ופונקציה המפיקה סיסמא אקראית המורכבת מאותיות ומספרים בלבד.
תגובות בפייסבוק