המצגת נטענת. אנא המתן

המצגת נטענת. אנא המתן

רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

מצגות קשורות


מצגת בנושא: "רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©"— תמליל מצגת:

1 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
מבוא למדעי המחשב הרצאה מספר 4: משתנים, טיפוסים, ביטויים ואופרטורים מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
משתנים תא זיכרון שניתן לו שם (מזהה) נקרא משתנה כתיבה למשתנה מתבצעת ע”י סימן = (אופרטור השמה( למשל: base_grade=91; final_grade=base_grade+4; משתנה – כי ערכו יכול להשתנות במהלך ריצת התוכנית לצייר על הלוח מבנה זיכרון להראות שתוכן התא משתנה מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

3 טיפוסי משתנים וקבועים בשפת c
יש להגדיר משתנים לפני שמשתמשים בהם ההגדרה הינה הוראה לקומפיילר: להקצות תא בזיכרון בגודל המתאים לקרוא לתא בשם הנתון לפרש ולהתייחס אל תוכן התא לפי הטיפוס הנתון ניתן לאתחל את התא int num, sum; double weight = 0.0; char digit = '4'; יש שפות שבהן לא צריך להגדיר משתנה לפני השימוש בשפת c הגדרת המשתנים נעשית בתחילת התוכנית להדגיש שבשפת c הקצאת תא משתנה אינה מאתחלת אותו. לתת דוגמא שניתן לבצע % רק על שלמים דגשים: ניתן להקצות (ולאתחל) כמה משתנים מאותו סוג במשפט אחד. האתחול יכול לכלול ביטויים אריתמטיים ומשתנים אחרים לא יודעים אם מותר? מנסים! מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

4 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
הטיפוסים השלמים הטיפוסים השלמים נבדלים זה מזה בגודל התא – כלומר כמות הביטים (הספרות בינאריות) הטיפוס הבסיסי הינו int גודל תא מסוג int תלוי במחשב ובמערכת ההפעלה. כיום בד”כ גודלו 4 בתים (32 סיביות) מה תחום המספרים שאפשר לייצג באמצעות תא מסוג int ? איך מייצגים מספרים שלמים? הטיפוס הבסיסי int – כלומר כל קבוע שלם הינו מטיפוס int אלא אם כן מצוין אחרת. להסביר על הלוח מהו תחום המספרים שאותו ניתן לייצג באמצעות int מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

5 הטיפוסים השלמים (המשך)
טיפוסים שלמים נוספים: 1 byte =char ≤ short ≤ int ≤ long ≤ long long מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

6 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
ייצוג תווים מכיוון שלא ניתן לשמור תווים בזיכרון אלא מספרים (למעשה מספרים בינאריים) נייצג כל תו באמצעות מספר שלם. למשל: התו ‘a’ ייוצג ע”י המספר 97, התו '1' ייוצג ע”י המספר 49, וכו' יישנן מספר טבלאות לייצוג תווים. בשפת C משתמשים בדרך כלל בטבלת ASCII שבה 128 ערכים כדי לייצג תווים אנו זקוקים לבית בודד (משתנה מסוג char) לציין שיש טבלה מורחבת שבה 255 ערכים הטבלה מייצגת את כל תווי המקלדת ועוד מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

7 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
טבלת ה-ASCII להראות אתחול משתנים ע”י שלמים כאשר הערך מייצג תן מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

8 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
ייצוג תווים (המשך) כיצד מדפיסים תווים? הדגל %d מדפיס את הערך העשרוני בתא הדגל %c מדפיס את התו המיוצג בתוכן התא char c; c=97; printf(“%d\n”, c+2); printf(“%c\n”, c); printf(“%c\n”, c+3); מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

9 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
ייצוג תווים (המשך( כיצד ניתן לאתחל תווים ללא צורך לזכור את טבלת ה- ASCII? הקומפיילר יודע לבצע את ההמרה באופן אוטומטי char c; int d; d='c' c='a'; printf(“%d\n”, c+d); printf(“%c\n”, c+5); c=c+3; printf(“%c\n”, c); להסביר שהקומפיילר יודע לבצע את ההמרה. כאשר תו מוקף בגרש בודד הקומפיילר ממיר את התו לערכו בטבלה ה-ASCII להסביר שלא צריך לזכור את הטבלה למעט: כל האותיות הקטנות רצופות כל הספרות רצופות מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

10 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
ייצוג תווים (המשך) התו ‘\n’ - ערכו בטבלה הוא 10 - מייצג שורה חדשה char c; c='\n'; printf(“%d”, c); printf(“%c\n”, c); מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

11 הטיפוסים הממשיים מאפשרים לייצג מספרים ממשיים הטיפוס הבסיסי הינו double
גודלו הוא בדר”כ 8 בתים טיפוסים ממשיים נוספים float ≤ double ≤ long double גם כאן הטיפוסים השונים נבדלים זה מזה בגודל ותחום הייצוג מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

12 ייצוג מספרים ממשיים בשיטת הנקודה הצפה (floating point)
מספר הערכים השונים אותם ניתן לייצג הוא סופי ותלוי בגודל המשתנה ייצוג שלמים: - כל ערך מייצג מספר שלם - המרחק בין שני מספרים עוקבים הוא קבוע ושווה ל-1 להראות דוגמא לייצוג שלמים דרך ראשונה: מרחקים שונים בין שני מספרים, למשל 0.1 יתרון: מאפשר ייצוג ממשיים בקלות. חסרון לא ניתן לייצג מספרים גדולים, או מאוד קטנים. ברגע שקבענו את הרזולוציה הגבלנו את הייצוג מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

13 ייצוג מספרים ממשיים בשיטת הנקודה הצפה (המשך)
כל מספר מיוצג ע”י שני מספרים שלמים: - גודל - אקספוננט למשל המספר 1.23 ייוצג ע"י שני שלמים 2-, באופן הבא: הגודל של המספר מכונה mantissa ומסומן ע”י האות m האקספוננט (שנקרא exponent)מסומן ע”י האות e שיטה שנייה: הרזולוציה יכולה להשתנות באופן דינאמי. איך? חלק מהספרות ייקבעו את הרזולוציה. מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

14 ייצוג מספרים ממשיים בשיטת הנקודה הצפה (המשך)
במחשב מחולק תא הזיכרון לשני חלקים חלק אחד משמש לייצוג הגודל החלק השני משמש לייצוג האקספוננט החלוקה אינה ניתנת לשינוי דוגמא: 12 bits 4 bits mantissa exponent מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

15 ייצוג מספרים ממשיים בשיטת הנקודה הצפה (המשך)
יתרונות: ניתן לייצג טווח מספרים גדול (ע”י שינוי ערך האקספוננט) - טווח ייצוג של double תלוי בקומפיילר ב visual: ב gcc: חסרון: קשה לבצע פעולות חשבוניות - כיום מתבצעות פעולות במספרים ממשיים באמצעות יחידה ייעודית - floating point unit האם ניתן לייצג את כל המספרים הממשיים? להסביר שמעגלים ערכים ממשיים לערך הקרוב ביותר דוגמאות על הלוח לחוסר דיוק עבור: 1/3 1/3+1/3+1/3 שני החסרונות האחרונים מסבירים למה לא כדאי תמיד להשתמש בטיפוס ממשי. בנוסף יש פעולות שמותרות רק על שלמים למשל % לתת דוגמא של לולאת for עם ממשיים קבועים שלמים וקבועים ממשיים מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

16 ביטויים (expressions)
צירוף בעל משמעות של קבועים משתנים ואופרטורים לדוגמא: כל ביטוי מחזיר ערך כל ביטוי הוא מטיפוס מסוים אופרטורים יכולים להיות אונאריים, בינאריים או טרינאריים 7 x x=3+y x>0 x++ מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

17 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
ביטויים אריתמטיים רשימת אופרטורים חלקית: + - * / % דוגמאות: טיפוס ערך מוחזר ביטוי 1+2*3 (1+2)*3 1-(2+3) 1.0/2.0*3 1/2*3 12%5 12.0%5.0 1.0*2+3 הערך המוחזר הוא “התוצאה” של הביטוי הטיפוס הוא סוג הקבועים והמשתנים שמשתתפים בו להסביר איך ביטוי משוערך: כל ביטוי מורכב מהרבה ביטויים קטנים. מחשבים ביטוי אחרי ביטוי לפי כללי סדר: קודם כפל וחילוק לאחר מכן חיבור וחיסור, סוגריים קודמים לכל (יש ספק? שימו סוגריים). כל ביטוי מחזיר ערך שמשמש את הביטוי הבא. לכל ביטוי יש טיפוס שהוא סוג הטיפוסים שמרכיבים את הביטוי. להתמקד על חילוק בשלמים. מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

18 המרה אוטומטית בין טיפוסים
ביטויים מחושבים תמיד על ערכים מאותו טיפוס אם בביטוי מעורבים ערכים (משתנים או קבועים) מטיפוסים שונים מתבצעת המרה אוטומטית של הערכים לטיפוס הכללי יותר: char → short → int → long → float → double ההמרה מתבצעת רק לצורך החישוב ואינה משנה את תוכן המשתנים בזיכרון דוגמאות: בד”כ נתמקד בהמרות משלמים לממשיים 7+2.5 1/2*3 1/2*3.0 1.0/2*3 מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

19 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
אופרטור השמה מעתיקה את הערך המוחזר מהביטוי הימני אל תא הזיכרון שבצד השמאלי כמו כל ביטוי גם ביטוי השמה מחזיר ערך (הערך שהוצב בתא) ויש לו טיפוס (הטיפוס של התא). סדר פעולות: קודם מחשבים את הביטוי שבצד ימין ולאחר מכן מבצעים השמות מימין לשמאל המרה אוטומטית בין טיפוסים: ממירים לתא אליו מבצעים השמה לכל סעיף לתת דוגמא: int x, y=3; x=2+y; 2+(x=4+5) int x; double y; y=x=1.0/2 x=y=1.0/2 מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

20 אופרטורים אריתמטים (חשבוניים) נוספים
אופרטור השמה מקוצר האופרטור x++ x=x+3 x+=3 y=y*(2+3) y*=(2+3) אופרטור מקוצר משלב השמה ופעולה חשבונית. קיים לכל אופרטור בינארי ההבדל בין ++x x++ קיים גם x-- קיימים עוד אופרטורים (לא למדנו את כולם) x=x+1 x+=1 x++ y=y-1 y-=1 y-- מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

21 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
דוגמא מסכמת int x, z = 9; double y; 9 9 5 45 y = x = 4 + z++ * 5 / (2 + 7) מה הערך של z? 9 9 9 מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

22 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
טבלת קדימויות (חלקית) סדר אופרטור סוג משמאל לימין ( ) סוגריים מימין לשמאל פעולות אונאריות * / % כפל חילוק מודולו + - חיבור חיסור = += *= /= %= השמה קדימות מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

23 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
דוגמא: המרת טמפרטורה לכתוב קוד שגוי: חלוקה בשלמים. לתקן במספר אופנים להשתמש ב-define מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

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

25 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
ביטויים וערכי אמת בשפת C: - ערך אמת הוא מספר שלם שונה מאפס - ערך שקר הוא המספר השלם אפס דוגמאות: מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

26 ביטויים לוגיים ביטויים לוגיים מחזירים : 0 (אם הביטוי הוא שקרי) או 1 (אם הביטוי הוא אמת) ניתן להתייחס אל הטיפוס של ביטוי לוגי כ int אופרטורי ההשוואה: == < <= > >= != מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

27 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
אופרטורי השוואה דוגמאות ערך לוגי ערך שלם ביטוי False a==b b==a True 1 b!=a 5 a=b b=a 0<b<8 0<a<8 אסוציאטיביות היא משמאל לימין. איך בונים ביטוי לוגי מורכב? מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

28 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
להסביר ולתת דוגמאות x=1; x=!!x 5 && 3 0 && x=3 אופרטורים לוגיים מאפשרים ליצור ביטויים לוגיים מורכבים למשל b<8 וגם b>0 האופרטורים הלוגיים: משמעות אופרטור and && or || not ! מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

29 אופרטורים לוגיים האסוציאטיביות היא משמאל לימין.
אופרטורי השוואה קודמים לאופרטורים לוגיים חישוב ביטוי לוגי נעצר ברגע שערך הביטוי אינו ניתן לשינוי pass = (exam > 55) && (misses <= 3 || good_reason); X=4 Y=4 X<3 && y<7 X<3 && (y=y+1)<7 X<3 || (y=y+1)<7 אם הציון נמוך מ-56 לא ממשיכים בבדיקה אם הציון גבוה מ-55 ויש פחות מ-4 חיסורים, לא בודקים אם יש סיבה טובה מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

30 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
האופרטור sizeof מחזיר את גודלו (בבתים) של משתנה או טיפוס מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

31 המרת טיפוסים מפורשת (casting)
ניתן (לצורך שיערוך של ביטוי) להמיר את הטיפוס של משתנה או קבוע ההמרה הינה רק לצורך החישוב ואינה משנה את תוכן התא בזיכרון int y=4, x=5; double z; z = (double)y/x; לתת דוגמאות Int X= 3/2; Int X = (double)3/2; Int X = (double)(3/2); להסביר שהמרה יכולה לשנות את הערך. למשל: (int)5.0 יכול להחזיר 4 ולא 5 מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

32 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
statements משפט ביטוי - ביטוי שמסתיים ב- ; משפט ריק - מורכב רק מ-; משפט מורכב (נקרא גם בלוק) - רצף של משפטים (פשוטים או מורכבים) שמוקפים בסוגריים מסולסלים { } מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

33 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
סיכום משתנים - הגדרה ואתחול - טיפוסים: שלמים, ממשיים, תווים ביטויים אריתמטיים - המרה בין טיפוסים - השמה ביטויים לוגיים משפטים משתנים צריך להגדיר ולאתחל לפניהשימוש מבוא למדעי המחשב הרצאה מספר 2 רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©


הורד את "ppt "רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©

מצגות קשורות


מודעות Google