1 מבוא למדעי המחשב מושגי יסוד. 2 אלפבית תווים המותרים בשימוש בתכניות C: אותיות לטיניות קטנות : a,b,c, …,z אותיות לטיניות גדולות : A,B, C, …,Z ספרות :

Slides:



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

מבוא למדעי המחשב לתעשייה וניהול
מבוא כללי למדעי המחשב תרגול 1. כתיבת התוכנה כתיבת התוכנית עצמה נעשית ע " י כתיבת קובץ טקסט רגיל אשר תוכנו מקיים את כללי שפת C כתיבת התוכנית עצמה נעשית.
מבוא למדעי המחשב תרגול 2 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מבוא כללי למדעי המחשב שיעור שני: שימוש במשתנים.
1 מבוא למדעי המחשב משתנים. 2  סוגי משתנים בשפת C  ההבדלים בין סוגי המשתנים השונים.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
תכנות תרגול 6 שבוע : חישוב e זוהי הנוסחא לחישוב e נראה כיצד לתרגם אותה לפונקציה n n.
תכנות תרגול 4 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
תכנות תרגול 2 שבוע : שבוע שעבר כתבו תוכנית המגדירה שלושה משתנים מאתחלת אותם ל 1 2 ו 3 ומדפיסה את המכפלה שלהם את ההפרש שלהם ואת הסכום שלהם.
סוגי מידע / משתנים ד " ר אבי רוזנפלד. סוגאורךטווח Boolean1 Bit0,1 Byte1 byte0-255 Char 2 bytes תו Decimal16 bytes0 through +/-79,228,162,514,264,337,593,543,950,335.
מבוא לשפת C חידות ונקודות חשובות נכתב על-ידי יורי פקלני. © כל הזכויות שמורות לטכניון – מכון טכנולוגי לישראל.
11 Introduction to Programming in 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 מבוא למדעי המחשב ביטויים. 2 ביטויים expressions ביטויים (expressions) הינם יצורים תחביריים בעלי טיפוס וערך. הגדרה אינדוקטיבית של ביטויים : קבועים הם.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
שיעור שישי: מערכים ופונקציות
מבוא כללי למדעי המחשב שיעור שלישי: בקרת זרימה.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
מבוא למדעי המחשב מחרוזות, מצביעים וכתובות
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site : T.A. :Emilia Katz.
תכנות תרגול 6 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
#include void main() { int i; char c; char st1[]="abcd"; for (i=-128;i
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
מבוא כללי למדעי המחשב תרגול 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;
עקרון ההכלה וההדחה.
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב' Templates תבניות.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
Last time on Clang משתנה: "פתק" המשמש את המחשב לשמירת מידע. לכל משתנה יש שם וטיפוס כללים לשמות משתנים –חייבים להכיל רק אותיות, מספרים ו '_' –חייבים להתחיל.
תחשיב היחסים (הפרדיקטים)
תרגול 2: ייצוג מספרים - המשך
מבוא למדעי המחשב שפת c
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
מבוא למדעי המחשב תרגול 9 – מערכים ומחרוזות, תרגילי חזרה שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מבוא למדעי המחשב תרגול 5 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
Sscanf example #include int main () { char sentence []="Rudolph is 12 years old"; char str [20]; int i; sscanf (sentence,"%s %*s %d",str,&i); printf ("%s.
1 תרגול 2 – מבוא לתכנות JAVA. היום בתרגול : 2  משתנים וטיפוסים  אופרטורים  פונקציות מתמטיות מהמחלקה Math  המרת טיפוסים  תנאים  Debugger.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
1 המרכז להוראת המדעים © האוניברסיטה העברית בירושלים עוברים לג ' אווה.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
1 מבוא למחשב שפת C תרגילי חזרה. 2 תרגיל 1 : מחשבון קלט : תרגיל חשבוני המורכב ממספרים שלמים עם פעולות חשבוניות ביניהם. התרגיל מסתיים ב =. אפשריים רווחים.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 12. ספריות.
תוכנה 1 תרגול 2: טיפוסי שפה, מחרוזות, מערכים ושגיאות.
Programming Pointers. נדגים היום בעזרת מצביעים העברת משתנים לפונקציה שמשנה אותם  פונקציה שמקבלת מצביעים לסמן תא בזיכרון  פונקציה שמחזירה מצביע מערך.
מחרוזות – הטיפוס String
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
מבוא למדעי המחשב לתעשייה וניהול
Operators Overloading
מבוא למדעי המחשב סיבוכיות.
פרטים נוספים בסילבוס של הקורס
אבני היסוד של תוכנית ב- JAVA
מבוא למדעי המחשב – סמסטר א' תשע"ב
שיעור חמישי: מערכים ומחרוזות
מצביעים קרן כליף.
SQL בסיסי – הגדרה אינדוקטיבית
שיעור שישי: מחרוזות, מצביעים
מודל חישוב בסיסי שיעור 1.
תיכון אהל שם, רמת גן קורס PHP – הרצאה מס' 10
עקרונות בסיסיים בתכנות Visual Basic
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
Presentation transcript:

1 מבוא למדעי המחשב מושגי יסוד

2 אלפבית תווים המותרים בשימוש בתכניות C: אותיות לטיניות קטנות : a,b,c, …,z אותיות לטיניות גדולות : A,B, C, …,Z ספרות : 0,1,2, …,9 רווחים : רווח, tab, enter וכו ' סימנים אחרים : +, -, *, /, =, (, ), [, ], {, }, ’, ”, #, %, &, _, !, ?, \,, ~, ^, |,., …

3 מזהים identifiers מזהים הם שמות - המילים שברצוננו לבטא בשפת C מזהים יכולים לכלול אותיות, ספרות ואת הסימן _ מזהים מתחילים באות ( או ב - _) ה - case משמעותי :aBC≠abC האורך אינו מוגבל אך רק 31 התווים הראשונים הם משמעותיים מוסכמה : אותיות קטנות למשתנים וגדולות לקבועים שני סוגי מזהים : 1. מזהים כלליים : שמות ( של משתנים, פונקציות וכו ') 2. מילים שמורות : מילים בעלות משמעות מיוחדת בשפת C. מציינות הוראות (for, while, … ), סוגי טיפוסים (int, double, … ) וכו '. לא ניתן השתמש במילים שמורות כשמות ( גורר טעות קומפילציה ).

4 טיפוסי נתונים נתונים הם האובייקטים שתוכניות C עובדות עליהם ( תכניות מחשב מעבדות נתונים ). הנתונים במחשב הם מספרים המיוצגים בספרות בינאריות. bit ( ביט ) – ספרה על בסיס 2 (0 או 1). באמצעות n ביטים ניתן לייצג ערכים שונים זה מזה. byte ( בית ) – 8 ביטים ( 256 אפשרויות ). word ( מילה ) – בין 4 ל - 8 בתים ( תלוי מחשב ). בתאי הזיכרון ניתן לשמור נתונים. התאים רצופים ולכל byte יש כתובת משלו. שפות מחשב שונות מאפשרות למתכנת גמישות בהגדרת טיפוסי נתונים מורכבים יותר ממספרים – טיפוסי הנתונים הפרימיטיביים ששפת מחשב מגדירה שונים משפה לשפה.

5 טיפוסי נתונים בשפת C (data types) ייצוג מספרים : שלמים (int) ממשיים (double, float) ייצוג טקסט : תווים (char) מחרוזות

6 (1 ) תווים characters מיוצגים במחשב ע " י byte אחד בדיוק (= 8 סיביות ) => יש 256 תווים שונים. התווים מיוצגים בזיכרון ע " י מספרים – ישנם תקנים הקובעים ערך מספרי לכל תו. התקן הנפוץ – תקן ASCII: מייחס לכל תו מספר בין 0 ל האותיות הקטנות מיוצגות ע " י מספרים רציפים. כנ " ל לגבי האותיות הגדולות והספרות. שפת C מייצגת תווים בזיכרון ע " י שמירת ערך מספרי עפ " י תקן כלשהוא. תווים הניתנים להדפסה : 9,a,z,A,$, … תווים שאינם ניתנים להדפסה : תו המציין סוף קובץ, התו הריק...

7 ציון תווים בשפת C בין גרשיים - הצורה המודפסת של התו ( אם הוא ניתן להדפסה ): ‘ A ’, ‘ 3 ’, ‘ * ’ ע " י המספר האוקטלי של התו ( בבסיס 8): ‘ \007 ’ – התו שערכו המספרי 7 עפ " י טבלת ה - ASCII, בבסיס אוקטלי. ע " י המספר ההקסדצימלי של התו ( בבסיס 16): ‘ \xFF ’ כאשר x מיצג הקסדצימלי. ייצוג הערכים המספריים עפ " י טבלת ה - ASCII בבסיס הקסדצימלי. ייצוג ע " י המספר ההקסדצימלי והאוקטלי מאפשר לייצג גם תווים שאינם ניתנים להדפסה.

8 ציון תווים בשפת C - דוגמא התו A ערך מספרי לפי תקן ASCII65 בין גרשיים 'A''A' ייצוג אוקטלי '101\' ייצוג הקסדצימלי '41x\'

9 (2 ) מספרים שלמים integers תופס מספר קבוע ≥ 2 של בתים בזיכרון (לפחות 16 סיביות) – לכל הפחות 65,536 מספרים שונים. 8 bit7 bitsign 8 bit 0 – חיובי 1 - שלילי

10 ציון מספרים שלמים בסיס דצימלי62 בסיס אוקטלי: מתחיל ב בסיס הקסדצימלי: מתחיל ב- 0x או 0X0X3E

11 ייצוג מספרים שלמים מספר שלם – int מספר שלם ארוך – long int: תופס לפחות 4 בתים ציון כמו מספרים שלמים רק בתוספת l או L בסוף מספר שלם קצר – short int

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

13 (3 ) מספרים ממשיים float, double ייצוג בשיטת הנקודה הצפה: סימן ( מספיקה סיבית אחת ) בסיס מעריך

14 מספרים ממשיים float, double שפת C תומכת ב- 3 טיפוסי נתונים למספרים ממשיים (בהתאם לתחום ולדיוק הדרושים): double – דיוק של לפחות 10 ספרות אחרי הנקודה העשרונית ותחום מספרים של עד. float – דיוק של לפחות 5 ספרות אחרי הנקודה העשרונית ותחום מספרים של עד. long double – דיוק של לפחות כמו double ואולי יותר. הממדים המדויקים הם תלויי מימוש והשפה אינה מתחייבת לגביהם.

15 ציון מספרים ממשיים בשפת C מספר ממשי יכלול חלק שלם וחלק שבור, מופרדים בנקודה עשרונית. לאחר החלק השבור תבוא האות e או E ולאחריה המעריך, עם או בלי סימן. בסוף המעריך יכולות לבוא האותיות F,f לציון float או L,l לציון double. החלק השלם או החלק השבור יכולים להיות מושמטים, אך לא שניהם. הנקודה העשרונית או ה- e והמעריך (אך לא שניהם) יכולים להיות מושמטים. דוגמא: דרכים שונות לציון המספר : f e1L e E e3

16 (4 ) מחרוזות strings מחרוזות הן סדרות של תווים. ציון מחרוזת: ע"י סדרה של תווים בין מרכאות כפולות. דוגמא:“hello world” “”(המחרוזת הריקה) ייצוג מחרוזת: סדרה רציפה של תווים שבסופה התו '0\' אין הגבלה על אורך מחרוזת, אך יש לסרוק אותה עד סופה כדי לדעת מה אורכה. helloworld ‘ \0 ’

17 הפונקציה sizeof הפונקציה sizeof מקבלת כפרמטר אובייקט או טיפוס ומחזירה את גודלו במספר הבתים שמשמשים לאחסונו בזיכרון. # include int main( ) { printf( “ The size of a char is %d.\n ”, sizeof(char)); printf( “ The size of an int is %d.\n ”, sizeof(int)); printf( “ The size of a long int is %d.\n ”, sizeof(long)); printf( “ The size of a short int is %d.\n ”, sizeof(short)); printf( “ The size of a double is %d.\n ”, sizeof(double)); printf( “ The size of a float is %d.\n ”, sizeof(float)); printf( “ The size of a long double is %d.\n ”, sizeof(long double)); return 0; }

18 הפונקציה sizeof פלט התכנית: The size of a char is 1. The size of an int is 4. The size of a long int is 4. The size of a short int is 2. The size of a float is 4. The size of a double is 8. The size of a long double is 12. תלוי בסביבת העבודה

19 הפונקציה sizeof שאלה: מה יהיה פלט התכנית הבאה: # include int main( ) { printf( “ %d\n ”, sizeof( “ string ” )); return 0; }

20 הפונקציה sizeof שאלה: מה יהיה פלט התכנית הבאה: # include int main( ) { printf( “ %d\n ”, sizeof( “” )); return 0; }

21 הגדרת משתנים משתנים – שמות סימבוליים לתאים בזיכרון. אם תכנית משתמשת במשתנה עליה להגדיר אותו: int num; מטרת הגדרה (definition) של משתנה: 1. קביעת טיפוס המשתנה (אילו ערכים הוא יוכל לקבל, אילו פעולות ניתן יהיה לבצע עליו). 2. הקצאת מקום מספיק בזיכרון עבור משתנה זה. הטיפוס שנקבע עבור משתנה נשאר קבוע במהלך כל חיי התכנית, והמקום שיוקצה עבורו יישאר קבוע אף הוא. הגדרת משתנה מטיפוס int בשם num

22 תחביר הגדרת משתנים הגדרה כוללת שם של טיפוס, ולאחריו רשימה של שמות משתנים, אחד או יותר, מופרדים בפסיקים זה מזה. בסוף הרשימה יבוא הסימן נקודה-פסיק (;): int lower, upper, step; char c; זה שקול ל: int lower; /* lower range of numbers*/ int upper; /* upper range of numbers*/ int step; char c; מאפשר לכתוב הערות ( כל מה שנמצא בין /* לבין */) - הקומפיילר מתעלם לחלוטין מהערות. כתיבה קומפקטית

23 תחביר הגדרת משתנים כאשר מגדירים משתנים ניתן לאתחל אותם (וניתן לאתחל מספר משתנים בהגדרה אחת): char one=‘1’; int i=0; double x=2.4, y=3.5, z; ערך משתנה עשוי להשתנות במהלך ביצוע התכנית. בהגדרה של משתנה ניתן להוסיף const לפני שם הטיפוס ולקבוע בכך שהערך אסור שישתנה: const int num=2; מה יקרה אם כן ננסה לשנות ערך זה? תלוי מימוש! (שפת C לא מבטיחה כלום).