top of page

הגדרת משתנים

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

תוכנת מחשב משתמשת במשתנים (VARIABLES) כדי לאחסן את המידע. משתנים הם כמו מגירות בארונית. בכל מגירה אני מאחסן משהו אחר. אם שמתי במגירה ה-3 מלמעלה את האוזניות של הסמרטפון שלי, ברגע שארצה להשתמש באוזניות, אגש למגירה ה-3 מלמעלה ואקח את האוזניות ואאזין למוזיקה.

משתנים בתכנות יכולים לשמור כל מיני סוגים של מידע: ערכים מספרים, אותיות, מילים, ערכים לוגיים (אמת, שקר) ועוד. 

בתחילת התוכנית אנחנו מגדירים את המשתנים שנעשה בהם שימוש בתוכנית. הגדרת משתנה כוללת: שם למשתנה, סוג המשתנה, ערך התחלתי למשתנה (לא הכרחי).

שם המשתנה: זהו שם שנעשה בו שימוש בתוכנית כדי לאחסן מידע במשתנה או כדי לשלוף את הערך המאוחסן בו. שם המשתנה יכול להיות מורכב מאותיות באנגלית (גם גדולות וגם קטנות), ספרות (0-9), סימנים מיוחדים (קו תחתי _).

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

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

בשלב ראשון נדבר על שמירת ערכים מספריים בתוך משתנים. ההבחנה הראשונה נעשית בין מספרים שלמים לבין מספרים עשרוניים. מספרים שלמים נקראים באנגלית INTEGER, ומכאן ההגדרה של סוג משתנה המכיל ערכים מספריים שלמים היא : INT. כדי לחסוך בזכרון עבודה של הבקר או המחשב, חילקו את עולם המספרים השלמים לשתי קבוצות. קבוצה ראשונה מכילה את כל המספרים השלמים בתחום: 32768- (מינוס) ועד 32767 (פלוס). משתנה כזה תופס מקום בזכרון של 16 BIT (או 2 BYTE). מספרים גדולים יותר מהתחום הזה נקראים מסוג: LONG

בתמונה הבאה רואים דוגמא להגדרת משתנה מסוג INT בתוך פונקציית SETUP

אתחול המשתנה: ישנם מצבים בהם אנחנו רוצים לקבוע ערך התחלתי שישמר במשתנה כדי שהתוכנית תעשה שימוש בערך זה. האתחול יעשה בהתאם לסוג המשתנה, כלומר למשתנה מסוג מספר שלם נשים ערך התחלתי שהוא מספר שלם. בתמונה למעלה ניתן לראות את המשתנה COUNTER שמקבל ערך התחלתי 0 (אפס).

תרגיל דוגמא:

כתבו תוכנית אשר מגדירה משתנה מסוג INT בשם sensorvalue, מאתחלת אותו לערך כלשהוא לבחירתכם, ומדפיסה את ערכו על המסך.

פתרון:

נגדיר בתוך פונקציה SETUP את המשתנה ונאתחל אותו לערך 257 (סתם ערך שבחרתי).

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

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

תרגיל דוגמא:

שנו את התוכנית הקודמת כך תדפיס גם את ערך ריבוע המשתנה: A*A.

פתרון:

כדי לחשב ביטויים מתמטיים בתוכנה אנחנו יכולים להשתמש בסימנים המוכרים:

חיבור +

חיסור -

כפל * 

חילוק /

כדי להדפיס את ריבוע ערך המשתנה נוסיף שורה לתוכנית כפי שמופיע בתמונה:

שימו לב: ערך המשתנה הוקטן ל-27 מאחר ותוצאת חיבור 257*257 חורגת מתחום הערכים של INT

 הצגנו שני מספרים אבל לא ברור מה כל מספר מייצר, ולכן נשנה את התוכנית כך שיופיע טקסט לפני הערך שמסביר מה מוצג. כדי לעשות כן, נוסיף לפני כל שורה בה אנו מדפיסים ערך, שורת הדפסה נוספת המדפיסה את הטקסט: "=A"  או  "=A*A"

bottom of page