שאלה

AeroPeek

New member
שאלה

במסגרת הלימודים בבית הספר, אני צריך לכתוב פרוייקט באסמבלר. המורה נתנה לי רעיון לפרוייקט שדי חביב עליי, ואני רוצהלעשות אותו דווקא. המשימה שלי היא לכתוב תוכנית שהמשתמש יזין מספר מסויים (נגיד 25) והתוכנית מגרילה מספר בטווח של 0 עד 25. מכיוון שלא למדנו את זה עדיין בבית ספר, המורה נתנה לי טיפ כדי שאגגל איתו (למרות שלא מצאתי משהו מיוחד
), התוכנית צריכה להשתמש ב timer של המעבד. (? huh ?) בכל מקרה, אשמח אם מישהו יוכל להפנות אותי למקורות המתאימים כדי שאוכל לקרוא בנושא, להבין איך משתמשים ב timer של המעבד וכו'.
מראש
 

Jaguar7

New member
הוא בטח מתכווןל clock ticks

אין לי נסיון יותר מדי מעמיק באסמבלי אבל צרפתי משהו שמצאתי בגוגל, תוציא מזה את הקטע שאתה צריך.
 

AeroPeek

New member
היא.. לא הוא ../images/Emo8.gif

ו.. אני יותר מחפש מידע בנושא, ולא קוד מוכן שאני אעתיק
בכל מקרה, אני אעיין בזה!
 

Jaguar7

New member
להעתיק? לא ממש...

אם תסתכל זה לא בדיוק מה שאתה צריך, אבל מראים שם איך משיגים את ה tick count. זה לא מספיק כדי להפוך את זה ליוצר מספרים רנדומלי. אתה יכול נגיד לעשות ככה: rand=tickcount+13574697/768*465-9975 MOD max כך ש max הוא המספר הכי גבוה. אם אתה רוצה משהו רציני יותר חפש בגוגל על רנדומיזציה.
 

AeroPeek

New member
../images/Emo51.gif

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

zbobo

New member
גם לי יש פרויקט

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

DecayCell

New member
למיטב ידיעתי לא נותנים טבלאות

כשאני עשיתי את היחידה הזו (בסוף השנה שעברה) ביקשו מאיתנו לשנות משהו בדרך הפעולה של התוכנית, ולאחר מכן הבוחנת בדקה שזה עובד ושאלה מספר שאלות ידע כללי (על החומר, כמובן
) ושאלות על התוכנית עצמה.
 
אני לא בטוח שלזה התכוונת...

אבל באופן כללי, כדי להגריל מספר אקראי, אתה אכן צריך להשתמש *בפונקציה* המחזירה מספר "אקראי". העניין הוא שהמספר הוא, מה שנקרא פסאודו-אקראי (=כאילו אקראי). הוא לא באמת אקראי, כי אתה צריך להסביר למחשב שאתה מעוניין להכניס ל"הגרלה" של המספר אלמנט שהוא אקראי/משתנה. בלי אלמנט כזה, המספר לא יהיה אקראי כלל וכלל. למעשה, כל פעם שתריץ את התוכנית שלך, היא תגריל את אותו רצף מספרים. האלמנט שמקובל להכניס להגרלה הזו, הוא ה-TIMER של המחשב. גם בשביל זה יש פונקציות קיימות. ב-C, הפונקציות הן TIME ו-SRAND ואתה מוזמן לקרוא עליהן. שוב, אני מקווה שהבנתי מה בדיוק רצית..
 
למעלה