עמוד:120

3 . 4 תכנות " מצב-חסר " מהו תכנות " מצב-חסר " ?( S tateless P rogramming ) בגרסת המשחק האחרונה שכתבנו , ( Game 3 . aspx ) משתמש שזכה בניקוד גבוה הופנה לדף בונוס אשר הציג הודעה למשתמש . עם זאת , דף הבונוס לא הציג למשתמש לא את מספר הנקודות שבהן זכה ואף לא את שמו . לפיכך , נרצה להציג למשתמש המגיע לדף הבונוס את שמו ואת הניקוד שבו זכה . נוסיף לדף Bonus . aspx את המשפט : Response . Write ( name + " " + points ) הניסיון לראות את הדף הזה בדפדפן יגרום שגיאה שכן המשתנים name וpoints- הוגדרו בדף אחר , והדף Bonus . aspx אינו מכיר אותם . יתרה מכך , גם הדף שבו הוגדרו הנתונים אינו זוכר את ערכם בזמן הטעינה מחדש . לדוגמה , אם נרצה לשנות את המשחק כך שהמשתמש יוכל לשחק כמה פעמים ולצבור את הניקוד שבו זכה , נזדקק למשתנה נוסף כדי לסכם את הזכיות . נכתוב אפוא דף בשם Game 3 a . aspx הדומה לדף , Game 3 . aspx ובו נגדיר משתנה שלם בשם sum וכן משפט לצבירת הניקוד ב- : sum sum += points ; בחלק התצוגה נציג את ערך המשתנה sum במקום את ערכו של : points " + " " + name ); % > נקודות " + sum + " זכית בהגרלה האחרונה < % R esponse . Write ( " כתבו והריצו את הדף Game 3 a . aspx ולחצו על הכפתור ' נסו מזלכם ' כמה פעמים ; בכל פעם הקלידו שם בתיבת הטקסט כך שבכל לחיצה תזכו בשתי נקודות לכל הפחות . שאלה למחשבה האם הניקוד מחושב נכון ? אם לא , מהי הסיבה לכך ? בעת הרצת הדף , המשתנה sum אינו צובר את הנקודות , אלא שומר אותן להגרלה הנוכחית בלבד , בדיוק כמו . points מדוע הדבר קורה ?

מטח : המרכז לטכנולוגיה חינוכית


לצפייה מיטבית ורציפה בכותר