עבור לתוכן

איך אני עובד עם הפונקציה/פקודה "RANDOM" בפאסקל ?

Featured Replies

פורסם

חודש טוב וחנוכה שמח לכולם,

מישהו יכול להסביר לי בבקשה איך אני עובד על הפקודה RANDOM בPASCAL ?

לדוגמא אני רוצה שיבחד מס' אקראי בין 1-10, איך אני כותב את זה בשפת פאסקל ?

תודה מראש לעוזרים :xyxthumbs:

פורסם

אם אתה רוצה שA יהיה מספר אקראי בין 1-9 אז אתה כותב

a:=random(10);

פורסם

אני חושב שצריך להגדיר לפניי:

randomize

פורסם

קודם כל בראש התוכנית שלך צריך להיות כתוב הפקודה:

RANDOMIZE;

אם לא תעשה את זה תקבל תמיד אותו מספר

עכשיו הנוסחא היא כך

A:=RANDOM(מספר גדול-מספר קטן+1)+מספר קטן

פורסם
  • מחבר

תודה רבה על העזרה. :xyxthumbs:

נשארה לי רק שאלה קטנה שלא הצלחתי להבין איך עושים את זה:

אם אני רוצה שיכנס לA מס' אקראי אבל מתוך רשימה שאני מביא לו, לדוגמא: 1,57,282,4421,8483- שמתוך אלו הוא יבחר אחד, איך אני עושה אז זה ?

עכשיו הנוסחא היא כך

A:=RANDOM(מספר גדול-מספר קטן+1)+מספר קטן

לא ממש הבנתי מה עשית פה :P

:hi:

פורסם

אתה שם אותם במערך ועושה רנדום לאינדקס.

הוא התכוון ל

A:=RANDOM(C-B+1)+B

ואז A יקבל ערך בין B ל C.(אבל למה +1? זה לא מובן לי)

פורסם
  • מחבר

אפשר לעשות אז זה בלי מערכים ? (המס' הם: 10,20,30,40,50).

ולמה שהוא יתן את הערך בין B לC ? (לא ממש הבנתי את זה).

:hi:

פורסם

אם הם סדרתיים לדוגמא 10 20 30 40 50 או 2 4 8 16 32

אז כן לדוגמא מ10 עד 50 בקפיצות של 10

אז זה ככה:

a:=random(((5-1+1)+1)*10)

וה+1 זה כיוון שאם תיתן לו A:=RANDOM(10) אז הוא יתן לך מספרים מ0 עד 9

פורסם
  • מחבר

a:=random(((5-1+1)+1)*10)

זה לא נכון :-\

פורסם

אופס ה כפול 10 זה מחוץ לרנדום

אז זה ככה:

a:=random((5-1+1)+1)*10

פורסם
  • מחבר

תודה רבה!

זה עובד  ;)

עכשיו, אתה יכול להסביר לי בבקשה מה זה כל הסיבוך שבסוגריים ?  :-[

עריכה-

הבנתי את זה:

random (6) *10

אבל למה כל הסיבוך בפנים ?

פורסם

תקשיב אם אתה רוצה לדוגמא שזה יבחר לך מספר אקראי בין 10 ל 50 לדוגמא

וזה לא יבחר לך את אותו המספר אז אתה רושם בתיחלת הפונקציה

randomize;

זה כדי שלא יבחר לך את אותו המספר

פורסם
  • מחבר

תודה, אבל אמרו את זה כבר :-X

קודם כל בראש התוכנית שלך צריך להיות כתוב הפקודה:

RANDOMIZE;

אם לא תעשה את זה תקבל תמיד אותו מספר

מישהו יכול להסביר לי את זה :

a:=random((5-1+1)+1)*10

למה לא פשוט: ? (וזה עובד)

random (6) *10 

פורסם

אם משתמשים ב

random(6) * 10

יש אפשרות שיתקבל 0...

random(6) ייתן מספרים בין 0-6, אז בשביל לקבל מספרים מהקבוצה 10,20,30,40,50 צריך לרשום:


(Random(5)+1) * 10

פורסם
  • מחבר

תודה רבה לך, ולכל מי שעזר לי!!!

:xyxthumbs:

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים