Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 מבוא למדעי המחשב ביטויים. 2 ביטויים expressions ביטויים (expressions) הינם יצורים תחביריים בעלי טיפוס וערך. הגדרה אינדוקטיבית של ביטויים : קבועים הם.

Similar presentations


Presentation on theme: "1 מבוא למדעי המחשב ביטויים. 2 ביטויים expressions ביטויים (expressions) הינם יצורים תחביריים בעלי טיפוס וערך. הגדרה אינדוקטיבית של ביטויים : קבועים הם."— Presentation transcript:

1 1 מבוא למדעי המחשב ביטויים

2 2 ביטויים expressions ביטויים (expressions) הינם יצורים תחביריים בעלי טיפוס וערך. הגדרה אינדוקטיבית של ביטויים : קבועים הם ביטויים. למשל : 3, ‘ 3 ’, “ 3 ”, 3.0 משתנים הם ביטויים. הטיפוס הוא טיפוס המשתנה והערך הינו הערך המאוחסן בכתובת הזיכרון שהמשתנה הוא שמה הסימבולי. למשל : x, num, i, sum ביטויים מורכבים מתקבלים מביטויים פשוטים יותר ע " י הפעלת אופרטורים. string int char double

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

4 4 אופרטורים עבור כל אופרטור יש להגדיר : תחביר ( אופן הכתיבה ). המספר והטיפוס של האופרנדים שהוא פועל עליהם. טיפוס התוצאה. משמעות. שערוך ( חישוב ערך ) של ביטוי פשוט / פרימיטיבי ← קל שערוך ביטוי מורכב ← כללי קדימויות (precedence), אסוציאטיביות דוגמא : כפל קודם לחיבור. ניתן לשנות סדרי קדימויות ע " י שימוש בסוגריים.

5 5 אופרטורים אריתמטיים אופרטורים אריתמטיים פועלים על מספרים ( שלמים וממשיים ). האופרטורים האריתמטיים : +, -, *, /, % חיבור חיסורכפל אם האופרנדים ממשיים : חילוק אם האופרנדים שלמים : מחזיר את הערך השלם של החלוקה ( כיוון הקיצוץ של החלק השבור הוא תלוי מימוש אם אחד האופרנדים שלילי ) מחזיר את שארית החלוקה של האופרנד השמאלי שלו בימני. מוגדר רק עבור מספרים שלמים. סימן התוצאה אינו מוגדר בשפה אם אחד האופרנדים שלילי.

6 6 אופרטורים אריתמטיים - דוגמאות 15/3 1.6675.0/3.0 -1 או - 2-5/3 25%3 2 או - 2-5%3 ביטוי לא חוקי 5.0%3

7 7 אופרטורים אריתמטיים הערה חשובה : מכיוון שתווים הם למעשה מספרים שלמים, כל האופרטורים שלעיל יכולים לפעול גם על תווים. למשל : ‘ C ’ - ’ A ’ בתקן ASCII מתקיים : ‘ C ’ – ‘ A ’ = ‘ c ’ – ‘ a ’ = 2

8 8 אופרטורי יחס משמשים להשוואה בין מספרים ( שלמים וממשיים ). אופרטורי היחס :, >=, <=, !=, == טיפוס התוצאה : 0 – היחס אינו מתקיים ( שקר ) 1 – היחס מתקיים ( אמת ) בדיקה של ערך אמת בודקת רק האם הוא שווה לאפס או שונה מאפס. ' שונה מ -' יחס השוויון

9 9 אופרטורים לוגיים פועלים על ערכי אמת ומחזירים ערכי אמת ( כלומר פועלים על int ומחזירים int). בשפת C: שקר ←0, אמת ← כל ערך שאינו 0 האופרטורים הלוגיים : &&, ||, ! האופרטורים הלוגיים מאפשרים שילוב של בדיקות המגדירות תנאים מורכבים, כאשר הם מצרפים יחד מספר ביטויים. ' וגם ': מחזיר את הערך 1 כאשר 2 האופרנדים שלו אינם 0. מחזיר את הערך 0 בכל מקרה אחר. ' או ': מחזיר את הערך 0 כאשר 2 האופרנדים שלו הם 0. מחזיר את הערך 1 בכל מקרה אחר. שלילה לוגית : אופרטור אונארי מחזיר את הערך 0 כאשר האופרנד הוא 1. מחזיר את הערך 1 כאשר האופרנד הוא 0.

10 10 אופרטורים לוגיים חישוב ביטויים המתקבלים כתוצאה מהפעלת אופרטורים לוגיים בשפת C: הביטויים מחושבים באופן מקוצר : הביטוי משוערך משמאל לימין, עד אשר ניתן לדעת בוודאות את ערכו. מרגע שערך הביטוי נקבע בוודאות, שאר הביטוי אינו משוערך. לשיטה זו יש השלכות חשובות כאשר לביטויים יש השפעות נלוות (side effects).

11 11 אופרטורים לוגיים - דוגמאות 1.( (c >= 0) && (c <= 9) ) 2.( (c >= ‘0’) && (c <= ‘9’) ) 3.( (x <= y) || (x == 0) ) 4.(x==0) שקול ל - (!x)

12 12 אופרטורי השמה (=) הרעיון : הצבת ערך לתוך משתנה. פועל על שני אופרנדים : השמאלי ← ביטוי שערכו כתובת של תא זיכרון (lvalue) ( משתנה ) הימני ← ביטוי שערכו יחליף את התוכן הנוכחי של תא הזיכרון המצוין ע " י האופרנד השמאלי. הערך והטיפוס של אופרטור ההשמה הם של האופרנד הימני. זה מאפשר השמות מרובות בביטוי מורכב. למשל : a = b = c = 5 הביטוי שלעיל משוערך מימין לשמאל ( זוהי האסוציאטיביות של אופרטור ההשמה ). 5 5 5

13 13 אופרטורי השמה משניים המוטיבציה : קיצור כתיבה לביטויים נפוצים. דוגמאות : x=x+2 שקול ל - x+=2 x=x-2 שקול ל - x-=2 x=x*2 שקול ל - x*=2 באופן כללי : אם op הינו אופרטור בינארי אזי e1 = (e1) op (e2) שקול ל - e1 op= e2 הערה ( חשובה ): שימו לב לסוגריים ! למשל : הביטוי x *= y+1 שקול לביטוי x = x(y+1) ולא לביטוי x = x*y +1.

14 14 אופרטורי הגדלה אופרטורים אונאריים מקבלים lvalue אחד ומגדילים או מקטינים את תוכנו באחד. אופרטורי ההגדלה : i++, i--, ++i, --i דוגמא : אם n הוא 5 אזי : x=n++;←n=6, x=5 x=++n;←n=6, x=6 מגדילים את האופרנד באחדמקטינים את האופרנד באחד מחזירים את ערך המשתנה לפני שהוגדל / הוקטן מחזירים את ערך המשתנה לאחר שהוגדל / הוקטן

15 15 אופרטורי הגדלה הערה : אופרטורי הגדלה מקבלים lvalue ( משתנה ). ↓ ביטויים כגון (i + j)++ אינם תקינים תחבירית !

16 16 Side effects דוגמאות : 1.( (x 20) ) 2.( (x==9) || ( (z=y)== 100) ) 3.d = ( (c >= ‘0’) && (c <= ‘9’) )

17 17 What did you mean? ( (x <= 100) && (x=y) ) או (x <= 100) && (x==y)


Download ppt "1 מבוא למדעי המחשב ביטויים. 2 ביטויים expressions ביטויים (expressions) הינם יצורים תחביריים בעלי טיפוס וערך. הגדרה אינדוקטיבית של ביטויים : קבועים הם."

Similar presentations


Ads by Google