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

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

ממיבחניםC שאלות ++.
מבוא למדעי המחשב לתעשייה וניהול
מכונת מצבים תרגול מס' 4 Moshe Malka.
מתמטיקה בדידה תרגול 3.
מבוא למדעי המחשב תרגול 2 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
1 תרגול 4 – פונקציות מבוא למדעי המחשב/מבוא לתכנות מערכות – סמסטר א' תשע"א.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
תכנות תרגול 4 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
תכנות תרגול 2 שבוע : שבוע שעבר כתבו תוכנית המגדירה שלושה משתנים מאתחלת אותם ל 1 2 ו 3 ומדפיסה את המכפלה שלהם את ההפרש שלהם ואת הסכום שלהם.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
מבוא לשפת C חידות ונקודות חשובות נכתב על-ידי יורי פקלני. © כל הזכויות שמורות לטכניון – מכון טכנולוגי לישראל.
מבוא למדעי המחשב תרגול 8 - מחרוזות שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מבוא למדעי המחשב תרגול מספר 3.
1 מבוא למדעי המחשב מושגי יסוד. 2 אלפבית תווים המותרים בשימוש בתכניות C: אותיות לטיניות קטנות : a,b,c, …,z אותיות לטיניות גדולות : A,B, C, …,Z ספרות :
סמינר במדעי המחשב 3 עודד פרץ משפט הנורמליזציה החזקה.
מבוא למדעי המחשב תרגול 4 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מבוא למדעי המחשב © אריק פרידמן 1 מצביעים כמערכים דוגמה.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
מבוא כללי למדעי המחשב שיעור שלישי: בקרת זרימה.
מבוא למדעי המחשב תרגול מספר 4. בפעם הקודמת... מזהים טיפוסים טווח ייצוג קבועים.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
מבני בקרה מבוא לתכנות למנע " ס - שבוע מספר 3 - מאיר קומר - סמסטר ב ' - תשס " ו הסתעפות “ אם השמאל ואימנה ואם הימין ואשמאילה ”
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site : T.A. :Emilia Katz.
מבוא כללי למדעי המחשב תרגול 3. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
קורס תכנות – סימסטר ב ' תשס " ח שיעור שישי: מערכים
הקיבול איננו תלוי במטען ובפוטנציאל
מבוא למדעי המחשב תרגול מספר.
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
תחשיב הפסוקים חלק ד'. תורת ההיסק של תחשיב הפסוקים.
רגרסיה קו רגרסיה הוא קו תיאורטי המאפשר לנו לבחון את השפעתו של משתנה מנבא אחד (או יותר) על המשתנה התלוי: במילים אחרות, מודל רגרסיה עוזר לנו לנבא על פי משתנה.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
עקרון ההכלה וההדחה.
יחס סדר חלקי.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
Last time on Clang משתנה: "פתק" המשמש את המחשב לשמירת מידע. לכל משתנה יש שם וטיפוס כללים לשמות משתנים –חייבים להכיל רק אותיות, מספרים ו '_' –חייבים להתחיל.
תחשיב היחסים (הפרדיקטים)
תרגול 5: ביטויים לוגיים ומשפטי תנאי (חזרה והרחבה)
1 compute תנאים פשוטים בעזרת compute לוגי לדוגמא: compute q1 = w > 80. Freq var = q1.
מבוא לשפת C תרגול 4: ביטויים לוגיים ומשפטי תנאי מבוסס על השקפים שחוברו ע"י שי ארצי, גיתית רוקשטיין, איתן אביאור וסאהר אסמיר עבור הקורס "מבוא למדעי המחשב"
1 מבוא למדעי המחשב מושגי יסוד. 2 אלפבית תווים המותרים בשימוש בתכניות C: אותיות לטיניות קטנות : a,b,c, …,z אותיות לטיניות גדולות : A,B, C, …,Z ספרות :
תרגול 2: ייצוג מספרים - המשך
מתמטיקה בדידה תרגול 2.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
מבוא למדעי המחשב תרגול מספר 4. בפעם הקודמת... מזהים טיפוסים טווח ייצוג קבועים.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
1 מבוא למדעי המחשב רקורסיה. 2 רקורסיה היא שיטה לפתרון בעיות המבוססת על העיקרון העומד ביסוד אינדוקציה מתמטית: אם ידועה הדרך לפתור בעיה עבור המקרים הבסיסיים.
1 תרגול 2 – מבוא לתכנות JAVA. היום בתרגול : 2  משתנים וטיפוסים  אופרטורים  פונקציות מתמטיות מהמחלקה Math  המרת טיפוסים  תנאים  Debugger.
1 המרכז להוראת המדעים © האוניברסיטה העברית בירושלים עוברים לג ' אווה.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
הרצאה 3 מבוא למדעי המחשב לתעשייה וניהול הודעות : הודעות : או דרך moodle – ושם לפנות ל : אתר מכון טל החומר.
מהי אפיסתזה ? Epistasis come from the Greek –Epistasis come from the Greek – –“epi” means “upon” (מעל) –“histani” means “to place” (לעמוד) So it means.
1 תרגול 11: Design Patterns ומחלקות פנימיות אסף זריצקי ומתי שמרת 1 תוכנה 1.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Operators Overloading
מבוא למדעי המחשב סיבוכיות.
תוכנה 1 בשפת Java שיעור מספר 1: "שלום עולם"
מצביעים קרן כליף.
SQL בסיסי – הגדרה אינדוקטיבית
תירגול 14: מבני נתונים דינאמיים
הרצאה 3: משפטים, תנאים ולולאות
פעולות אריתמטיות משפטי תנאי
מבוא כללי למדעי המחשב שיעור 2
סוגי משתנים קרן כליף.
Programming in C תרגול Introduction to C - Fall Amir Menczel.
תרגול Introduction to C - Fall Amir Menczel.
תירגול 8:מצביעים והקצאה דינאמית
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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