Download presentation
Presentation is loading. Please wait.
1
תכנות מרצה : עדי אבידור
2
מטרת הקורס לימוד שפת תכנות שימוש בתכנות לפתרון בעיות תכנות מובנה
3
מה נלמד ? שפת C
4
אתר הקורס http://www.cs.tau.ac.il/~adi/cprog06B
5
הציון בקורס 20% - תרגילי - בית20% - תרגילי - בית ההכנה וההגשה ביחידים ההכנה וההגשה ביחידים 80% - בחינת גמר80% - בחינת גמר ציון המעבר הוא 60 ( גם בבחינה וגם בציון הסופי ) ציון המעבר הוא 60 ( גם בבחינה וגם בציון הסופי )
6
סילבוס הכרת המחשב הכרת המחשב מבנה תוכנית בשפת C מבנה תוכנית בשפת C היכרות עם סביבת העבודה התכנותית היכרות עם סביבת העבודה התכנותית טיפוסי נתונים בסיסים טיפוסי נתונים בסיסים קליטת נתונים והצגתם קליטת נתונים והצגתם פעולות אריתמטיות ב C פעולות אריתמטיות ב C פעולות לוגיות ב C פעולות לוגיות ב C משפטי תנאי – if else משפטי תנאי – if else לולאות – while,do while,for לולאות – while,do while,for פונקציות ושימוש בהן פונקציות ושימוש בהן רקורסיה רקורסיה מערכים מערכים מיונים ויעילותם מיונים ויעילותם מחרוזות מחרוזות מצביעים מצביעים הגדרת טיפוסי נתונים על ידי המתכנת – structures הגדרת טיפוסי נתונים על ידי המתכנת – structures הקצאת זיכרון דינאמית הקצאת זיכרון דינאמית רשימות מקושרות רשימות מקושרות
7
ספרים “C How to program” / Deitel and Deitel “C How to program” / Deitel and Deitel “The C Programming Language” / Kernighan and Ritchie (2 nd Edition) “A Book on C” / Kelley and Pohl “A Book on C” / Kelley and Pohl
8
היום : מבוא לתכנות מבנה המחשב מבנה המחשב מערכת הפעלה מערכת הפעלה שפות תכנות שפות תכנות מבוא לשפת C מבוא לשפת C תוכנית המדפיסה טקסט תוכנית המדפיסה טקסט תוכנית המחברת שני מספרים תוכנית המחברת שני מספרים
9
מבוא לתכנות
10
עם מחשב אפשר... עם מחשב אפשר... לשחק שחמט / ברידג '/ שש - בש /... לשחק שחמט / ברידג '/ שש - בש /... לעשות חישובים מתמטיים לעשות חישובים מתמטיים לראות סרטים לראות סרטים לגלוש באינטרנט לגלוש באינטרנט להשמיע מוזיקה להשמיע מוזיקה לשלוח דואר - אלקטרוני לשלוח דואר - אלקטרוני להכין סרטי אנימציה להכין סרטי אנימציה לבצע עיבוד - תמלילים לבצע עיבוד - תמלילים להכין מצגות להכין מצגות........
11
מחשב נמצא ב... מחשב נמצא ב... כספומט כספומט טלפון סלולארי טלפון סלולארי ממיר טלוויזיה ממיר טלוויזיה DVD DVD מענה קולי מענה קולי מכונות - חטיפים מכונות - חטיפים מכוניות מכוניות מטוסים מטוסים לוויינים לוויינים......
12
חלקים עיקריים של מחשב אישי מסך מסך מדפסת מדפסת רמקולים רמקולים מקלדת מקלדת עכבר עכבר סורק סורק כונן תקליטורים כונן תקליטורים כונן דיסקטים כונן דיסקטים דיסק - קשיח דיסק - קשיח אמצעי פלט אמצעי קלט/פלט אמצעי קלט "המוח" של המחשב זיכרון זיכרון מעבד מעבד
13
מבנה המחשב Processor Input Output Memory
14
הרעיון כל כלמידע ניתן לייצוג ניתן לייצוג על ידי על ידי רצף של 0- ים ו 1 ות רצף של 0- ים ו 1 ות
15
מידע מספרים מספרים תמונה תמונה קול קול וידאו וידאו טקסט טקסט דפי אינטרנט דפי אינטרנט
16
מבנה המחשב Processor Input Output Memory
17
יחידת המידע הבסיסית ביט
18
" המוח " המעבד (CPU): אוסף של רכיבים אלקטרוניים זעירים פעולות בסיסיות על מספרים: חיבור, חיסור, כפל, חילוק, שמירת מספר בזיכרון, קריאת מספר מהזיכרון, השוואת מספרים... מיליארדי פעולות בשנייה
19
" המוח " הזיכרון: אוסף של מיליוני או מיליארדי רכיבים אלקטרוניים זעירים כל תא בזיכרון נקרא בייט (Byte) בייט אחד = 8 ביטים
20
איך עובד מחשב ? כדי להשתמש במחשב צריך לתת לו את סדרת הפעולות שרוצים שהוא יבצע כדי להשתמש במחשב צריך לתת לו את סדרת הפעולות שרוצים שהוא יבצע סדרת פעולות נקראת " תוכנית מחשב " סדרת פעולות נקראת " תוכנית מחשב " התוכנית צריכה להיות בשפה שהמחשב מבין התוכנית צריכה להיות בשפה שהמחשב מבין שפה זו נקראת שפת מכונה שפה זו נקראת שפת מכונה
21
שפת מכונה ההוראות מיוצגות ע " י ביטים ההוראות מיוצגות ע " י ביטים כלומר רצף של 0/1- ים יהווה הוראה כלומר רצף של 0/1- ים יהווה הוראה לדוגמא 10101110 לדוגמא 10101110
22
מערכת ההפעלה תוכנההמנהלת את את משאבי המחשב מעבד, זכרון, דיסק, מסך, מקלדת, CD, USB,...
23
ומה איתנו ? הדבר העיקרי שנלמד בקורס הוא ליצור תוכנות מחשב הדבר העיקרי שנלמד בקורס הוא ליצור תוכנות מחשב לצורך זה נלמד שפה שתאפשר לנו לתת למחשב הוראות לביצוע : שפת C לצורך זה נלמד שפה שתאפשר לנו לתת למחשב הוראות לביצוע : שפת C
24
שפות תכנות איך מתקשרים עם המחשב כדי ליצור תוכנה חדשה כדי ליצור תוכנה חדשה
25
שפת מכונה ההוראות מיוצגות ע " י ביטים ההוראות מיוצגות ע " י ביטים כל מעבד מכיר אך ורק את שפת המכונה שלו, לכן יתכנו שפות מכונה שונות למעבדים שונים כל מעבד מכיר אך ורק את שפת המכונה שלו, לכן יתכנו שפות מכונה שונות למעבדים שונים
26
שפת אסמבלר שפה בסיסית בעלת פקודות פשוטות באנגלית (MOV,PUSH,POP) שפה בסיסית בעלת פקודות פשוטות באנגלית (MOV,PUSH,POP) 4 MOV R2 4 ADD R1 R2 MOV R1 2 R2R2R1R1 2 AX 6
27
שפה עילית Fortran, פסקל, בייסיק, C, ++C Fortran, פסקל, בייסיק, C, ++C השפות מזכירות אנגלית השפות מזכירות אנגלית משתמשות בסימנים מתמטיים משתמשות בסימנים מתמטיים נדרש קומפיילר ( מהדר ) בכדי לתרגמן לשפת מכונה נדרש קומפיילר ( מהדר ) בכדי לתרגמן לשפת מכונה R1 = 2 R2 = 4 AX = R1 + R2
28
היום : מבוא לתכנות מבנה המחשב מבנה המחשב מערכת הפעלה מערכת הפעלה שפות תכנות שפות תכנות מבוא לשפת C מבוא לשפת C תוכנית המדפיסה טקסט תוכנית המדפיסה טקסט תוכנית המחברת שני מספרים תוכנית המחברת שני מספרים
29
מבוא לשפת C
30
שפת C יתרונות יתרונות שפה פרוצדוראלית – מאפשרת הגדרת הוראות חדשות (" פונקציות ") שפה פרוצדוראלית – מאפשרת הגדרת הוראות חדשות (" פונקציות ") מודולרית – מאפשרת שימוש חוזר בחלקים של תוכניות מודולרית – מאפשרת שימוש חוזר בחלקים של תוכניות תאימות למחשבים שונים תאימות למחשבים שונים שפה יעילה ( מהירות ביצוע ) שפה יעילה ( מהירות ביצוע ) ניתן לעשות " הכל " ניתן לעשות " הכל " מינימליסטית מינימליסטית חסרונות חסרונות מינימליסטית מינימליסטית ניתן לעשות " הכל " ניתן לעשות " הכל "
31
תוכנית ראשונה
32
תוכנית ראשונה הדפס Smile :-)
33
תוכנית ראשונה #include #include void main() { printf (“Smile :-)\n"); }
34
#include #include void main() { printf (“Smile :-)\n"); } גוף התוכנית קריאה לפונקציה אשר מדפיסה את הטקסט: Smile :-) תוכנית ראשונה
35
פונקצית ההדפסה שם הפונקציה לא מודפס!. בשורה חדשה! הסימן \n לא מודפס!. הוא מסמן לרדת שורה כלומר התו הבא שיודפס ע"י התוכנית יודפס בשורה חדשה! הטקסט להדפסה (מופיע בין גרשיים) printf (“Smile :-)\n");
36
תוכנית ראשונה #include #include void main() { printf (“Smile :-)\n"); } למה זה משמש ? פונקציה פקודה הגדרת הפונקציה ההדפסה מתבצעת ע"י פונקציה של שפת C לא פקודה ולכן צריך להגיד לתוכנית איפה נמצאת הגדרת הפונקציה שבה נשתמש.
37
תוכנית ראשונה – שורה 1 #include void main() { printf(“Smile :-)\n”); } include - מאפשר שימוש בפונקציות המוגדרות בספרייה קיימת.
38
תוכנית ראשונה – שורה 1 #include void main() { printf(“Hello World\n”); } stdio.h ספרייה המטפלת בקלט / פלט (standard Input/Output)
39
תוכנית ראשונה – שורה 2 #include void main() { printf(“Smile :-)\n”); } main היא פונקציה. זאת השורה הראשונה של הפונקציה. ה -( ) מציינות פונקציה
40
תוכנית ראשונה – שורה 2 #include void main() { printf(“Smile :-)\n”); } כל תוכנית C מכילה פונקצית main. זוהי נקודת הכניסה לכל תוכנית
41
תוכנית ראשונה – שורה 3+6 #include void main() { printf(“Smile :-)\n”); } חייבים להופיע אחרי שם הפונקציה מייצגים בלוק של פקודות סוגריים מסולסלים תוחמים את גוף הפונ '.
42
תוכנית ראשונה – שורה 4 #include void main() { printf(“Smile :-)\n”); } המשפט יוצר קריאה לפונקציה printf הסוגריים מצביעים על פונ '
43
תוכנית ראשונה – שורה 4 #include void main() { printf(“Smile :-)\n”); } printf נמצאת ב -stdio.h והיא מדפיסה על המסך הסוגריים מצביעים על פונ '
44
תוכנית ראשונה – שורה 4 #include void main() { printf(“Smile :-)\n”); } המחרוזת היא הארגומנט לפונ ' מחרוזת היא אוסף תווים בין “…” \n- מסמל ירידת שורה
45
תוכנית ראשונה – שורה 4 #include void main() { printf(“Smile :-)\n”); } ; - מסמל סוף פקודה ב -C אם נשכח נקבל שגיאת קומפילציה
46
תוכנית שנייה
47
תוכנית שנייה חיבור שני מספרים
48
תוכנית שנייה - פלט Enter an integer 5 7 5+ 7 = 12
49
תוכנית שנייה - תוכנית הקולטת שני מספרים ומחשבת את סכומם # include void 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(“%d + %d = %d\n”, a, b, sum); }
50
תוכנית שנייה # include void main() { int a, b, sum; …… } a,b,sum הם שמות של משתנים (variables) משתנה הוא מקום בזיכרון שבו ניתן לאחסן ערך. בתוכנית זאת כל המשתנים מסוג int (מספר שלם)
51
תוכנית שנייה - זיכרון absum תמונת הזיכרון לאחר הגדרת המשתנים
52
תוכנית C שנייה - זיכרון absum 5 תמונת הזיכרון לאחר scanf(“%d”, &a);
53
תוכנית שנייה - זיכרון absum 57 תמונת הזיכרון לאחר scanf(“%d”, &b);
54
תוכנית שנייה - זיכרון absum 57 תמונת הזיכרון לאחר sum = a + b; 12
55
תוכנית שנייה # include void main() { …. printf(“Enter an integer\n”); … } מכניסים הוראה למשתמש להכניס מספר
56
תוכנית שנייה # include void main() { … printf(“Enter an integer\n”); scanf(“%d”, &a); … } פקודת ה -scanf היא פקודת הקלט הארגומנטים ל -:scanf מחרוזת כתובות של משתנים
57
תוכנית שנייה scanf(“%d”, &a); המחרוזת מציינת מהו פורמט הקלט שעל המשתמש להכניס %d מסמל שאנו מצפים למשתנה מסוג int &a מציין שהמספר יוכנס לתוך המשתנה a( נרחיב בנושא זה מאוחר יותר )
58
תוכנית שנייה – פעולות אריתמטיות sum = a + b; sum = a + b; מתבצע השמה לתוך המשתנה sum ( המשתנה בצד השמאלי ) לאחר שמתבצעת הפעולה באגף שמאל מתבצע השמה לתוך המשתנה sum ( המשתנה בצד השמאלי ) לאחר שמתבצעת הפעולה באגף שמאל פעולת החיבור מיוצגת בצורה סטנדרטית "+" פעולת החיבור מיוצגת בצורה סטנדרטית "+"
59
סיכום מבוא לתכנות מבנה בסיסי של תוכנית C printf/scanf משתנים
60
בהצלחה !!!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.