Www.cs.tau.ac.il/courses/cs4math/09b מבוא כללי למדעי המחשב שיעור שני: שימוש במשתנים.

Slides:



Advertisements
Similar presentations
ממיבחניםC שאלות ++.
Advertisements

מבוא למדעי המחשב לתעשייה וניהול
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
מבוא כללי למדעי המחשב שיעור 1
מבוא כללי למדעי המחשב תרגול 1. כתיבת התוכנה כתיבת התוכנית עצמה נעשית ע " י כתיבת קובץ טקסט רגיל אשר תוכנו מקיים את כללי שפת C כתיבת התוכנית עצמה נעשית.
מבוא למדעי המחשב תרגול 2 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
תכנות תרגול 6 שבוע : חישוב e זוהי הנוסחא לחישוב e נראה כיצד לתרגם אותה לפונקציה n n.
תרגול 5 רקורסיות. רקורסיה קריאה של פונקציה לעצמה –באופן ישיר או באופן עקיף היתרון : תכנות של דברים מסובכים נעשה ברור ונוח יותר, מכיוון שזו למעשה צורת.
1 מבוא למדעי המחשב תרגול מספר 2. 2 בשיעור הקודם... הגדרות שפת מחשב, שפה עילית, קומפיילר, תוכנית בשפת C, קובץ הרצה קובץ (טקסט) המכיל תוכנית בשפת C (hello.c)
תכנות תרגול 4 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
תכנות תרגול 2 שבוע : שבוע שעבר כתבו תוכנית המגדירה שלושה משתנים מאתחלת אותם ל 1 2 ו 3 ומדפיסה את המכפלה שלהם את ההפרש שלהם ואת הסכום שלהם.
מבוא לשפת C חידות ונקודות חשובות נכתב על-ידי יורי פקלני. © כל הזכויות שמורות לטכניון – מכון טכנולוגי לישראל.
מבוא למדעי המחשב תרגול 8 - מחרוזות שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מבוא למדעי המחשב תרגול מספר 3.
1 מבוא למדעי המחשב מושגי יסוד. 2 אלפבית תווים המותרים בשימוש בתכניות C: אותיות לטיניות קטנות : a,b,c, …,z אותיות לטיניות גדולות : A,B, C, …,Z ספרות :
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
מבוא למדעי המחשב © אריק פרידמן 1 מצביעים כמערכים דוגמה.
1 מבוא למדעי המחשב ביטויים. 2 ביטויים expressions ביטויים (expressions) הינם יצורים תחביריים בעלי טיפוס וערך. הגדרה אינדוקטיבית של ביטויים : קבועים הם.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
שיעור שישי: מערכים ופונקציות
מבוא כללי למדעי המחשב שיעור שלישי: בקרת זרימה.
שיעור ראשון: מבוא לתכנות
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
מבוא למדעי המחשב מחרוזות, מצביעים וכתובות
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
תכנות תרגול 6 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
תכנות תרגול 2 שבוע : צור קשר מתרגל – שי גוטנר, ביה " ס למדעי המחשב. מתרגל – שי גוטנר, ביה " ס למדעי המחשב. דואר אלקטרוני : דואר.
תכנות תרגול 3 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
מבוא כללי למדעי המחשב תרגול 3. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
קורס תכנות – סימסטר ב ' תשס " ח שיעור שישי: מערכים
תכנות תרגול 5 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
תכנות תרגול 4 שבוע : לולאות for לולאות for for (counter=1 ;counter
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב' Templates תבניות.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
Last time on Clang משתנה: "פתק" המשמש את המחשב לשמירת מידע. לכל משתנה יש שם וטיפוס כללים לשמות משתנים –חייבים להכיל רק אותיות, מספרים ו '_' –חייבים להתחיל.
מבוא לשפת C תרגול 4: ביטויים לוגיים ומשפטי תנאי מבוסס על השקפים שחוברו ע"י שי ארצי, גיתית רוקשטיין, איתן אביאור וסאהר אסמיר עבור הקורס "מבוא למדעי המחשב"
1 מבוא למדעי המחשב מושגי יסוד. 2 אלפבית תווים המותרים בשימוש בתכניות C: אותיות לטיניות קטנות : a,b,c, …,z אותיות לטיניות גדולות : A,B, C, …,Z ספרות :
מבוא למדעי המחשב שפת c
מבוא כללי למדעי המחשב הקצאת זיכרון דינאמית
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
תכנות תרגול 1 שבוע : צור קשר מתרגל – ליעם רודיטי, ביה " ס למדעי המחשב. מתרגל – ליעם רודיטי, ביה " ס למדעי המחשב. דואר אלקטרוני :
Structure. מה לומדים היום ? דרך לבנות מבנה נתונים בסיסי – Structure מייצר " טיפוס " חדש מתאים כאשר רוצים לאגד כמה משתנים יחד דוגמאות : עובד : שם, טלפון,
Practice session 3 תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי ) שיטות חישוב : Applicative & Normal Evaluation Partial Evaluation.
1 המרכז להוראת המדעים © האוניברסיטה העברית בירושלים עוברים לג ' אווה.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
Practice session 3.  תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי )  שיטות חישוב : Applicative & Normal Evaluation.
1 מבוא למחשב שפת C תרגילי חזרה. 2 תרגיל 1 : מחשבון קלט : תרגיל חשבוני המורכב ממספרים שלמים עם פעולות חשבוניות ביניהם. התרגיל מסתיים ב =. אפשריים רווחים.
תכנות מכוון עצמים ושפת ++C וויסאם חלילי. TODAY TOPICS: 1. Function Overloading & Default Parameters 2. Arguments By Reference 3. Multiple #include’s 4.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Programming Arrays.
מבוא למדעי המחשב סיבוכיות.
אבני היסוד של תוכנית ב- JAVA
קלט/פלט, משתנים.
SQL בסיסי – הגדרה אינדוקטיבית
היכרות עם שפת התכנות JAVA
מבוא כללי למדעי המחשב פונקציות
ניתוח מערכות מידע תכנות ב C#
מבוא כללי למדעי המחשב תרגול 4
מודל חישוב בסיסי שיעור 1.
מבוא כללי למדעי המחשב שיעור 2
סוגי משתנים קרן כליף.
קורס תכנות שיעור ראשון: מבוא.
עקרונות בסיסיים בתכנות Visual Basic
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
Presentation transcript:

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

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

תזכורת: תוכנית ראשונה בשפת C #include int main() { printf(“Hello World\n”); return 0; } מאפשר שימוש בפעולות קלט/פלט מתוך stdio.h שורה קבועה, שמשמעותה העברת הערך 0 למערכת ההפעלה (מסמן סיום תקין) מדפיס Hello World ועובר לשורה הבאה שורה קבועה שבה מתחיל ביצוע התוכנית

תזכורת: דוגמא לחישוב מספר השניות ביממה #include int main() { int seconds, hours, minutes; hours = 24; minutes = 60; seconds = hours * minutes * 60 ; printf(“Number of seconds is %d\n”, seconds); return 0; } הגדרת משתנים בזיכרון השמת ערכים בתוכם חישוב מכפלה הדפסת התוצאה Number of seconds is 86400

תוכנית שנייה - זיכרון minuteshours 24 תמונת הזיכרון לאחר ; seconds = hours * minutes * seconds

נושאי השיעור היום מה זה משתנה מה זה משתנה הגדרת משתנים והשמת ערכים לתוכם הגדרת משתנים והשמת ערכים לתוכם סוגי משתנים בשפת C סוגי משתנים בשפת C קריאה והדפסה של ערכי משתנים (קלט/פלט) קריאה והדפסה של ערכי משתנים (קלט/פלט) פעולות שניתן לבצע על משתנים פעולות שניתן לבצע על משתנים

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

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

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

בדוגמא מהשבוע שעבר: #include int main() { int seconds, hours, minutes; hours = 24; minutes = 60; seconds = hours * minutes * 60 ; printf(“Number of seconds is %d\n”, seconds); return 0; } הגדרת שמות המשתנים וסוגם השמת ערכים במשתנים ופעולות עליהם

תוכנית חישוב השניות ביממה - זיכרון secondsminuteshours תמונת הזיכרון לאחר הגדרת המשתנים עם ערך התחלתי 2460

הגדרת משתנים: טיפוסים בסיסיים int – מספר שלם (הטווח האפשרי הוא בין לבין 2 31 ). int – מספר שלם (הטווח האפשרי הוא בין לבין 2 31 ). float – מספר ממשי (הטווח הוא בערך עד ±, השבר הכי קטן שניתן לייצג הוא בערך ±). דיוק של 6 ספרות. float – מספר ממשי (הטווח הוא בערך עד ±, השבר הכי קטן שניתן לייצג הוא בערך ±). דיוק של 6 ספרות. double - מספר ממשי (משתמש במקום כפול בזיכרון). הטווח הוא בערך עד ±. השבר הכי קטן שניתן לייצג הוא בערך דיוק של 15 ספרות. double - מספר ממשי (משתמש במקום כפול בזיכרון). הטווח הוא בערך עד ±. השבר הכי קטן שניתן לייצג הוא בערך דיוק של 15 ספרות. char – תו בודד (כל סימן שיש במחשב, למשל ‘a’ או '?'). char – תו בודד (כל סימן שיש במחשב, למשל ‘a’ או '?'). - יתכנו הבדלים בטווחים בין סוגי מחשבים וקומפיילרים.

דוגמאות להגדרות משתנים  char c;  int i;  float the_max_percent;  double average;  הגדרה עם השמת ערך התחלתי: char c=‘A’; int sum=0; התו ‘A' מוכנס למשתנה בשם c ‘A’ c

הגדרת משתנים: שמות מותרים שם משתנה יכול לכלול אותיות אנגליות, ספרות, וקו תחתון. שם משתנה יכול לכלול אותיות אנגליות, ספרות, וקו תחתון. התו הראשון בשם לא יכול להיות סיפרה. התו הראשון בשם לא יכול להיות סיפרה. יש הבדל בין אות גדולה לאות קטנה (case-sensitive). כלומר a ו- A הם שמות שונים. יש הבדל בין אות גדולה לאות קטנה (case-sensitive). כלומר a ו- A הם שמות שונים. Counter, new_sum, total1. Counter, new_sum, total1. percent%, 2counter, new-sum. percent%, 2counter, new-sum. הערה: כדאי מאוד לתת למשתנים שמות בעלי משמעות. הערה: כדאי מאוד לתת למשתנים שמות בעלי משמעות. מותר: אסור:

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

פלט (הדפסה) של ערכי משתנים הכרנו את הפונקציה printf שמאפשרת הדפסה של ערך המשתנה למסך. למשל: הכרנו את הפונקציה printf שמאפשרת הדפסה של ערך המשתנה למסך. למשל: ; printf(“The sum is %d”, sum) ; printf(“The sum is %d”, sum) הצירוף %d מציין שכאן יודפס תוכן של משתנה, ומתאים לסוג המשתנה שאותו מדפיסים (%d מתאים ל-int). הצירוף %d מציין שכאן יודפס תוכן של משתנה, ומתאים לסוג המשתנה שאותו מדפיסים (%d מתאים ל-int). ה- %d עצמו לא מודפס. ה- %d עצמו לא מודפס. שם המשתנה שיודפס כאן מופיע לאחר הגרשיים, מופרד בפסיק. שם המשתנה שיודפס כאן מופיע לאחר הגרשיים, מופרד בפסיק. לכל סוג משתנה יש סימון הדפסה אחר, כמפורט בשקף הבא. לכל סוג משתנה יש סימון הדפסה אחר, כמפורט בשקף הבא.

פורמטי הדפסה נפוצים %d – int (בבסיס 10 כרגיל) %d – int (בבסיס 10 כרגיל) char - %c char - %c float, double - %f (הצגה עם נקודה עשרונית 21.54) float, double - %f (הצגה עם נקודה עשרונית 21.54) %e (הצגה עם מעריך e ) %e (הצגה עם מעריך e ) %g (נבחרת ההצגה היותר ברורה) %g (נבחרת ההצגה היותר ברורה) כדי להדפיס את הסימן %, נכתוב printf(“%”); כדי להדפיס את הסימן %, נכתוב printf(“%”);

דוגמא: כפל של שני מספרים ממשיים #include #include int main() { double a,b,c; a = 2.51; b = 2; c = a*b; printf("The product is %g\n", c); return 0; } הפלט: 5.02 The product is

הדפסת כמה משתנים באותה פקודה #include #include int main() { double a,b,c; a = 2.51; b = 2; c = a*b; printf(“%g * %g = %g\n", a,b,c); return 0; } הפלט: * 2 =

מותרות פעולות בפקודת ההדפסה #include #include int main() { double a,b; a = 2.51; b = 2; printf(“%g * %g = %g\n", a,b,a*b); return 0; } הפלט: * 2 =

#include #include int main() { printf("The product is %g\n",2.51*2); return 0; } הפלט: 5.02 The product is אפשר גם להדפיס כך מספרים

עיגול בהדפסת ממשיים כשמדפיסים ערך ממשי ניתן לציין את מספר הספרות שיודפסו אחרי הנקודה. למשל: %.4f. כשמדפיסים ערך ממשי ניתן לציין את מספר הספרות שיודפסו אחרי הנקודה. למשל: %.4f. במידת הצורך יתבצע עיגול. למשל: במידת הצורך יתבצע עיגול. למשל: printf(“%.2f”, ); printf(“%.2f”, );

(תו)char פירוט על הטיפוס (תו)char פירוט על הטיפוס אמרנו שהמחשב עובד רק עם מספרים, אבל הטיפוס char מאפשר לשמור בזיכרון אותיות, סימנים, וכו'. גם תווים מיוצגים במחשב כמספרים. אמרנו שהמחשב עובד רק עם מספרים, אבל הטיפוס char מאפשר לשמור בזיכרון אותיות, סימנים, וכו'. גם תווים מיוצגים במחשב כמספרים. יש לקומפיילר טבלה של 256 תווים אפשריים (שנקראת "טבלת ASCII"). כדי לייצג תו, הקומפיילר משתמש במספר הסידורי של התו הזה בטבלה. יש לקומפיילר טבלה של 256 תווים אפשריים (שנקראת "טבלת ASCII"). כדי לייצג תו, הקומפיילר משתמש במספר הסידורי של התו הזה בטבלה. למשל האותיות 'A’ - ’Z’ נמצאות בטבלה לפי הסדר במקומות 65-90, האותיות 'a’ - ’z’ לפי הסדר במקומות , והספרות '9' – '0' לפי הסדר במקומות בטבלה. למשל האותיות 'A’ - ’Z’ נמצאות בטבלה לפי הסדר במקומות 65-90, האותיות 'a’ - ’z’ לפי הסדר במקומות , והספרות '9' – '0' לפי הסדר במקומות בטבלה. למשל char c=‘A’; מתורגם ע"י הקומפיילר ל- char c=65; למשל char c=‘A’; מתורגם ע"י הקומפיילר ל- char c=65; כל הסימנים שיש במחשב, כולל רווח, ירידת-שורה, וכו' נמצאים בטבלה. (התו רווח מסומן על-ידי ' ' התו ירידת-שורה '\n' ). כל הסימנים שיש במחשב, כולל רווח, ירידת-שורה, וכו' נמצאים בטבלה. (התו רווח מסומן על-ידי ' ' התו ירידת-שורה '\n' ).

char פירוט על הטיפוס char פירוט על הטיפוס כיוון שתווים מתורגמים למספרים, אפשר גם לעשות עליהם פעולות חשבון. כיוון שתווים מתורגמים למספרים, אפשר גם לעשות עליהם פעולות חשבון. למשל ‘a’+1 זה ‘b’. למשל ‘a’+1 זה ‘b’. ‘8’+1 זה '9'. ‘8’+1 זה '9'.

תווים מיוצגים כמספרים - דוגמא #include<stdio.h> int main() { char i = ‘A'; printf(“i as a character is: %c\n", i); printf("i as an integer is: %d\n", i); printf("The character after %c is: %c\n", i, i+1); return 0; } i as a character is: A i as an integer is: 65 The character after A is: B זה כמו char i=65; פורמט ההדפסה קובע אם להדפיס כתו או כמספר

קלט של ערכי משתנים בד"כ נרצה שהתוכנית תעבוד על קלט שמכניס המשתמש. בד"כ נרצה שהתוכנית תעבוד על קלט שמכניס המשתמש. בדומה לפונקציה printf, קיימת הפונקציה scanf שקולטת ערך מהמשתמש לתוך משתנה. למשל קלט של שלם וממשי (בהנחה שהמשתנים האלה כבר הוגדרו כ- int ו- float): בדומה לפונקציה printf, קיימת הפונקציה scanf שקולטת ערך מהמשתמש לתוך משתנה. למשל קלט של שלם וממשי (בהנחה שהמשתנים האלה כבר הוגדרו כ- int ו- float): scanf(“%d %f”, &student_num, &average); המחשב ממתין לקלט, ומכניס אותו למשתנים שרשומים. המחשב ממתין לקלט, ומכניס אותו למשתנים שרשומים. אחרי הקשת הקלט על המשתמש להקיש Enter. אחרי הקשת הקלט על המשתמש להקיש Enter. סימוני הקלט זהים לסימוני ההדפסה ב- printf, למעט זה שב- double צריך לכתוב: %lf סימוני הקלט זהים לסימוני ההדפסה ב- printf, למעט זה שב- double צריך לכתוב: %lf

דוגמא: סכום של מספרים מהקלט # include int main() { int a, b, sum; printf(“Enter an integer\n”); scanf(“%d”, &a); printf(“Enter an integer\n”); scanf(“%d”, &b); sum = a + b; printf(“Answer: %d\n”, sum); return 0; } Enter an integer 5 7 Answer: 12 absum 5712

פעולות נפוצות על משתנים נקראות גם "אופרטורים אריתמטיים" נקראות גם "אופרטורים אריתמטיים" סוגריים () סוגריים () השמה = השמה = חיבור + חיבור + חיסור – חיסור – כפל * כפל * חילוק / חילוק / מודולו (שארית) % מודולו (שארית) % מודולו זה השארית בחלוקה של מספרים שלמים. מודולו זה השארית בחלוקה של מספרים שלמים. למשל: 1= 7%2 2 = 8%3. למשל: 1= 7%2 2 = 8%3. סדר הפעולות הוא כמו שמוגדר במתמטיקה. סדר הפעולות הוא כמו שמוגדר במתמטיקה.

#include #include int main() { double cels, fahr; printf("Please enter a fahrenheit temperature:\n"); scanf("%lf",&fahr); cels = 5*(fahr-32)/9; printf("This is equal to %g degrees celsius\n", cels); return 0; } דוגמא: תרגום מפרנהייט לצלזיוס קליטת ערך למשתנה חישוב והדפסת התוצאה הגדרת המשתנים

פעולות – נקודות לתשומת-לב בחלוקת מספרים שלמים תתקבל המנה ללא השארית: בחלוקת מספרים שלמים תתקבל המנה ללא השארית: 3=7/2 3=7/2 אם פעולה נעשית על משתנים מסוגים שונים, המחשב ימיר את כולם לסוג שיש לו טווח/דיוק יותר גדול מביניהם. למשל: 3.5=7/2.0 אם פעולה נעשית על משתנים מסוגים שונים, המחשב ימיר את כולם לסוג שיש לו טווח/דיוק יותר גדול מביניהם. למשל: 3.5=7/2.0 אם נכניס למשתנה ערך גדול מהטווח המקסימלי שלו, נקבל תוצאה שגויה (overflow). לכן כשעובדים עם מספרים גדולים במיוחד יש להשתמש ב- double. אם נכניס למשתנה ערך גדול מהטווח המקסימלי שלו, נקבל תוצאה שגויה (overflow). לכן כשעובדים עם מספרים גדולים במיוחד יש להשתמש ב- double.

פעולות – נקודות לתשומת-לב אם רוצים שהמחשב יתייחס למשתנה באופן חד-פעמי כאילו הוא מטיפוס מדויק יותר, אז ניתן לציין זאת במפורש. זה נקרא casting. אם רוצים שהמחשב יתייחס למשתנה באופן חד-פעמי כאילו הוא מטיפוס מדויק יותר, אז ניתן לציין זאת במפורש. זה נקרא casting. למשל: למשל: int i=1, j=2; printf(“%g”, ((double) i ) / j); והפלט יהיה: 0.5

פעולות – נקודות לתשומת-לב אפשרות נוספת לביצוע חילוק במספרים ממשיים ולא בשלמים היא הכפלה ב- 1.0 בהתחלה (כי אמרנו שהפעולה מתבצעת בהתאם לסוג הכי מדויק של ערך שמשתתף בה): אפשרות נוספת לביצוע חילוק במספרים ממשיים ולא בשלמים היא הכפלה ב- 1.0 בהתחלה (כי אמרנו שהפעולה מתבצעת בהתאם לסוג הכי מדויק של ערך שמשתתף בה): int i=1, j=2; printf(“%g”, 1.0 * i / j); ושוב הפלט יהיה: 0.5 (אופציה נוספת היא כמובן להעביר את הערך של i או של j למשתנה מסוג double לפני החלוקה, ופשוט לחלק משתנה מסוג double).

סיכום ראינו: הגדרת משתנים טיפוסי משתנים בסיסיים פלט וקלט של משתנים ביצוע פעולות על משתנים