200 likes | 364 Views
כתיבת התוכנה. כתיבת התוכנית עצמה נעשית ע"י כתיבת קובץ טקסט רגיל אשר תוכנו מקיים את כללי שפת C ניתן לחשוב על כך כמו על כתיבת מסמך באנגלית. זה נעשה ע"י כתיבת קובץ טקסט שמקיים את כללי השפה האנגלית. הבנת התוכנה.
E N D
כתיבת התוכנה • כתיבת התוכנית עצמה נעשית ע"י כתיבת קובץ טקסט רגיל אשר תוכנו מקיים את כללי שפת C ניתן לחשוב על כך כמו על כתיבת מסמך באנגלית. זה נעשה ע"י כתיבת קובץ טקסט שמקיים את כללי השפה האנגלית.
הבנת התוכנה • כדי שהמחשב ידע להבין את מה שכתבנו ישנו כלי שמתרגם את שפת C לשפת המחשב הבסיסית כלי זה הוא המהדר (compiler ) של שפת C. ניתן לחשוב על זה כמו על המסמך שלנו באנגלית שמתורגם עבור אדם ששפתו היחידה היא עברית
סביבת העבודה • סביבת העבודה Visual C++ נותנת לנו את האפשרות לכתוב תוכנה בשפת C באמצעותeditorנוח שמאפשר לנו לכתוב את הטקסט של C • בנוסף היא מספקת לנו את המהדר שיתרגם את הקוד שלנו לקובץ שהמחשב ידע להפעיל – קבצים אלו נקראים קבצי הפעלה ( executable)
עבודה עם סביבת העבודה • יצירת פרויקט ומיקומו בספריה מתאימה מספר שלבים • יצירת קובץ לכתיבת הקוד • כתיבת הקוד • תרגומו באמצעות המהדר • הרצה ובדיקה שאכן מה שרצינו קורה!!!
התוכנית הראשונה #include <stdio.h> int main() { printf ("Hello World!!!\n"); return 0; } hello.c hello.exe
התוכנית הראשונה #include <stdio.h> int main() { printf ("Hello World!!!\n"); return 0; } מעטפת התוכנית הסוגרים המסולסלים פותחים קטע של קוד. כאן נפתח קטע הקוד הראשי של התוכנית.
התוכנית הראשונה #include <stdio.h> int main() { printf ("Hello World!!!\n"); return 0; } גוף התוכנית קריאה לפונקציה אשר מדפיסה את הטקסט: Hello World!!!
פונקצית ההדפסה printf("Hello World!!!\n"); שם הפונקציה הטקסט להדפסה (מופיע בין גרשיים) הסימן \nלא מודפס!. הוא מסמן לרדת שורה כלומר התו הבא שיודפס ע"י התוכנית יודפס בשורה חדשה!
התוכנית הראשונה #include <stdio.h> int main() { printf ("Hello World!!!\n"); return 0; } למה זה משמש ? ההדפסה מתבצעת ע"יפונקציהשל שפת C (לא פקודה)ולכן צריך להגיד לתוכנית איפה נמצאת הגדרת הפונקציה שבה נשתמש.
תרגיל 1 כתבו תוכנית המדפיסה את שמכם למסך כך שהשם הפרטי יופיע בשורה הראשונה ושם המשפחה בשורה השנייה.
פתרון תרגיל 1 #include <stdio.h> int main() { printf (“Sonny\nBen-Shimon\n"); return 0; }
הגדרת משתנים הגדרנו כאן שלושה משתנים x , y , z #include <stdio.h> int main() { int x,y; int z=0; return 0; } • כללי הגדרת משתנים: • לפני שם המשתנה נציין את סוגו (type) בדוגמאהסוג הוא int שזה מספר שלם • ניתן להגדיר מספר משתנים בשורה כולם מאותוהסוג מופרדים בפסיק. • ניתן לאתחל משתנה מיד בשורת ההגדרה שלו (כמו שעשינו עם z) • ניתן להגדיר משתנים רק לאחר פתיחת סוגרים מסולסלים
הדפסת משתנים ופעולות חשבון • הפעולות בתוכנית: • כפל * • חילוק / • שארית % #include <stdio.h> int main() { int x,y; int z; x=3; y=7; z = x*y; printf ("z=%d\n",z); printf ("y/x=%d\n",y/x); printf ("y%%x=%d\n",y%x); return 0; } פלט: z=21 y/x=2 y%x=1
פונקצית ההדפסה- הדפסת משתנה printf ("z=%d\n",z); שם הפונקציה הטקסט להדפסה (מופיע בין גרשיים) המשתנה לשילוב במקום %d הסימן %dלא מודפס!הוא מסמן לפונקצית ההדפסה שכאן צריך לשלב ערך של משתנה שיגיע מאוחר יותר לאחר הגרשיים
תרגיל 2 כתבו תוכנית המגדירה שלושה משתנים מאתחלת אותם ל 1 2 ו 3 ומדפיסה את המכפלה שלהם את ההפרש שלהם ואת הסכום שלהם.
פתרון תרגיל 2 #include <stdio.h> int main() { int x,y,z; x=1; y=2; z=3; printf ("x*y*z=%d\n",x*y*z); printf ("x+y+z=%d\n",x+y+z); printf ("x-y-z=%d\n",x-y-z); return 0; } נשים לב שפונקצית ההדפסה מקבלת ערך של ביטוי מתמטי ומדפיסה את ערכו
קליטת ערכים למשתנים מהמשתמש #include <stdio.h> int main() { int num, num1; printf("Enter two positive numbers\n"); scanf("%d%d", &num, &num1); return 0; } הוראה למשתמש קליטת הערכים
פונקצית הקליטה scanf("%d%d", &num, &num1); אופי הקלט (מופיע בין גרשיים) הקלט יכנס למשתנים num num1ו- שם הפונקציה מה פשר הסימן & ?
תרגיל 3 כתבו תוכנית הקולטת שני מספרים מהמשתמש ומדפיסה את ההפרש שלהם ואת המנה שלהם.
פתרון תרגיל 3 #include <stdio.h> int main() { int num, num1, s,q; printf("Enter two positive numbers\n"); scanf("%d%d", &num, &num1); s = num - num1; printf("subtraction of %d from %d is %d\n", num1, num, s); q = num / num1; printf("quotient of %d and %d is %d\n", num, num1, q); return 0; } הוראה למשתמש קליטת הערכים