מה זה תחביר?
תחביר, כמו בכל שפה (מדוברת או תכנותית), הוא בעצם החוקים שאיתם ניתן לבנות משפטים.
כשמדובר בפיתוח, למשפטים האלה קוראים ביטויים.
בדף זה תוכלו להבין איך בעצם כותבים ביטויים באבשה, ואנסה לרכז את כל המידע הרלוונטי למי שמעוניין להתחיל לכתוב קוד.
חוקי הבסיס
לפני שנתחיל בכל האפשרויות, נגדיר כמה דברים כללים שצריך לשמור עליהם:
- לכל "שורה" בשפה קוראים ביטוי.
- כל תוכן שנכתב אחרי סולמית (#) הוא הערה ולא נחשב כקוד.
- בסוף כל ביטוי יש לכתוב נקודה-פסיק (;).
- הערך המוחזר מכל פעולה הוא ערך הביטוי האחרון שבה (אפרט כאן).
- שפה זו מורכבת רק מביטויים, אין בה הצהרות... בנתיים.
הכלים
- השמה
- או: איך אני שומר מידע?
- תנאים
- או: ואם ביום שלישי לא בא לי?
- פעולות
- או: איך נותנים שם למתכון?
- סיכום
- או: בואו נתפרע.
השמה
משתנה הוא בעצם מקום בזיכרון של המחשב שבו אנחנו שומרים מידע כלשהו. מידע זה יכול להיות מספר, משפט, או שלל סוגי הנתונים הקיימים בשפה.
השמה היא הפעולה שבה מכניסים ערך לתוך משתנה.סוגי משתנים הקיימים באבשה
- דגל (שיכול להיות אמת או שקר)
- מספר
- מחרוזת (רצף אותיות או מילים שסביבם יש מרכאות - לדוגמה : "בננה")
- עוד בעתיד
# משתנה מסוג דגל שרק יכול לקבל 2 ערכים - אמת או שקר.
א = אמת;
# משתנה מסוג מחרוזת.
ב = "מחרוזת";
# משתנה מסוג מספר, יכול להיות או מספר שלם או שבר עשרוני.
ג = 3;
#על משתנים המכילים מספרים ניתן לבצע פעולות חשבוניות
ד = ג + 6; # ד יהיה שווה ל-9
ז = 1;
ח = ז + ד; # ח יהיה שווה ל-10
תנאים
לפעמים נרצה שביטוי כלשהו יקרה רק כשמתקיים תנאי מסויים.
לפעמים פעולה תקרה רק אם יום שלישי, לפעמים ביטוי יהיה רלוונטי רק עם א שווה ל-5.כמה דברים לזכור
- כשבודקים אם משתנה שווה לערך מסויים יש להשתמש בסימן שווה כפולה (==)
- את כל הביטויים שיקרו כשהתנאי מתקיים נקיף בסוגריים מסולסלות (
{}
)- בהשוואה של מספרים ניתן גם לבדוק אם משתנה הוא גדול או קטן ממשתנה אחר (בשימוש בסימנים >,<,>=,<=)
- על כל תנאי ניתן להגדיר מה יקרה אם הוא לא מתקיים (בעזרת שימוש במילה
אחרת
)- ניתן לשמור את התנאים במשתנה מסוג דגל
- עוד בעתיד
# קודם כל נגדיר משתנים שנוכל לעבוד איתם.
א = אמת;
ב = 3;
ג = "בננה";
#בגלל ש-א כבר שווה לדגל, התוכנה תדפיס "אמת!".
אם(א){
הדפס("אמת!");
};
# בגלל שהערך שבמשתנה ב יותר גדול מ-2, יודפס "יותר גדול מ-2!".
אם(ב >= 2){
הדפס("יותר גדול מ-2!");
};
# בגלל שהערך שבמשתנה ג הוא "בננה", יודפס "אין לי תפוח".
אם(ג == "תפוח"){
הדפס("יש לי תפוח!");
}אחרת{
הדפס("אין לי תפוח!");
};
פעולות
לעיתים קרובות נמצא שיש ביטויים (או רצף ביטויים) שחוזרים על עצמם וכדי לחסוך זמן בלכתוב אותם שוב ושוב נוכל להגדיר פעולות.
פעולה היא כמו שם של מתכון. אם נרצה לבקש מחבר שיכין שוקו, בפעם הראשונה נצטרך להסביר לו את כל השלבים בהכנה (להוציא כוס מהארון, להוציא את האבקת שוקו מן המזווה, לקחת כפית, לשפוך את האבקה לכוס וכך כהלאה..), אבל בפעם הבאה שנבקש ממנו הוא כבר יכיר את הפעולה בשם "הכנת שוקו" ולא יצטרך פירוט להוראות.כמה דברים לזכור
- כשנרצה ליצור פעולה חדשה נתחיל בלכתוב את המילה
פעולה
, לאחר מכן נכתוב את שם הפעולה ובסוגריים את המשתנים שהיא תקבל, מופרדים בפסיק.- הפעולה יכולה להשתמש במשתנים המועברים לה ולהחזיר ערך חדש לחלוטין.
- הערך שבביטוי האחרון בפעולה יהיה הערך המוחזר.
- כמו בתנאים, את כל הביטויים ששייכים לפעולה נקיף בסוגריים מסוסלות (
{}
)- כשנרצה להשתמש בפעולה בקוד שלנו, נכתוב את שם הפעולה ואז בסוגריים את המשתנים שנעביר אליה (אם יש כאלה בכלל)
# ראשית, נגדיר פעולה המבצעת חיבור של 2 השתנים שמועברים אליה.
פעולה חיבור(ראשון,שני){
ראשון + שני;
};
#אחרי שהגדרנו את הפעולה, נוכל להשתמש בה כמה שנרצה עם איזה ערכים שנבחר.
חיבור(4,6); #יחזיר 10.
#ניתן להעביר משתנים עם ערך מתאים.
א = 5;
ר = 3;
חיבור(א,ר); #יחזיר 8.
#ניתן גם לשמור את הערך המוחזר במשתנה
מ = חיבור(2,5);
הדפס(מ); #ידפיס 7.
סיכום
עכשיו כשאנחנו כבר שולטים במשתנים, תנאים ופעולות, אנחנו יכולים לשלב את הכל ביחד כדי להשתמש במלוא יכולות השפה(לבנתיים...)
בשביל תרגול ראשוני אתאר כאן פעולה ותנסו לכתוב אותה בעצמכם.נגדיר פעולה בשם חילוק
- הפעולה תקבל 2 משתנים, מונה ומכנה.
- אם המכנה הוא אפס, הפעולה תדפיס "אי אפשר לחלק באפס!" ותחזיר 0.
- בתוך הפעולה ניתן להשתמש בפעולה החשבונית
/
המבצעת חילוק.- כל פעולה ניתן לכתוב באין ספור דרכים. אם הפעולה שלכם שונה מהתשובה שכתובה למטה, תעברו לארגז חול כדי לבדוק את שכתבתם.
מוכנים? הנה התשובה:
פעולה חילוק(מונה,מכנה){
תוצאה = 0;
אם(מכנה == 0){
הדפס("לא ניתן לחלק באפס!")
}אחרת{
תוצאה = מונה / מכנה;
};
תוצאה;
};