הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   אחוזים (https://hosts.co.il/forums/showthread.php?t=58666)

sagi.av 03-01-08 22:29

אחוזים
 
אני מעוניין לבנות תוכנית עם יחסי הצלחה
לדוגמא:
30% שהתוצאה שתוצג על המסך תהיה 1 ו70% שהתוצאה תהיה 0
איך אני עושה את זה?

BlueNosE 03-01-08 22:33

נגיד בPHP
PHP קוד:

if (rand (110) <= 7) echo 0; else echo 1

ובגלל שבכל שפה יש RAND, אתה רק צריך למצוא את המקביל שלה בשפה שאתה רוצה.

Kfir.G 06-01-08 00:12

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 597559)
נגיד בPHP
PHP קוד:

if (rand (110) <= 7) echo 0; else echo 1

ובגלל שבכל שפה יש RAND, אתה רק צריך למצוא את המקביל שלה בשפה שאתה רוצה.

לא בטוח אם ידעת את זה או לא אבל מה שנתת רחוק מלהיות 70% יש אחוז קטן מאוד שבאמת תקבל 10 או 1 (אין לי חשק להסביר למה ;P) לכן עדיף לעשות בין 1 ל12 ולהתעלם מ1 ו12 וככה תקבל (עדיין לא מושלם אבל יותר טוב) את האחוזים כמו שרצית :)

BlueNosE 06-01-08 08:07

ציטוט:

נכתב במקור על ידי kfir_dnd (פרסם 598151)
לא בטוח אם ידעת את זה או לא אבל מה שנתת רחוק מלהיות 70% יש אחוז קטן מאוד שבאמת תקבל 10 או 1 (אין לי חשק להסביר למה ;P) לכן עדיף לעשות בין 1 ל12 ולהתעלם מ1 ו12 וככה תקבל (עדיין לא מושלם אבל יותר טוב) את האחוזים כמו שרצית :)

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

Kfir.G 06-01-08 17:17

ציטוט:

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

זה לא רק בPHP זה בכלליות האלגוריתם של הRandom לדוגמה בJAVA עושים את אותו הדבר ככה
(int)(Math.random()*(max-min)+1);
עכשיו עד כמה שאני יודע PHP כתובה בשפת C אז הנה הסבר קליל איך להשיג מספר רנדומלי בC
http://www.thinkage.ca/english/gcos/.../lib/rand.html
עכשיו מה על מה שבעצם קורה אתה יכול לקרוא כאן
http://en.wikipedia.org/wiki/Pseudor...mber_generator
עכשיו אני אמשיך כאילו שקראת את הקטע ששלחתי פה שורה מעל ;P בגלל שבעצם בתיכנות הכל קבוע אין באמת מספר רנדומלי אלא מספרים שהם לכאורה רנדומליים אבל תלויים בדברים שונים (בהרבה מן השפות הRandom מבוסס על השעה במערכת תתקע את השעון ותראה שהRandom תמיד קבוע)

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

כפיר

נ.ב:
מה לעשות זה מה שללמוד אסמבלר עושה לאנשים (100 בבגרות באסמבלר ;P)


כל הזמנים הם GMT +2. הזמן כעת הוא 21:53.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ